diff options
| author | John Wiegley <johnw@newartisans.com> | 2016-02-03 23:56:08 -0800 |
|---|---|---|
| committer | John Wiegley <johnw@newartisans.com> | 2016-02-03 23:56:08 -0800 |
| commit | 0608bf1c3d91196bcf06a6da96243f0fac119089 (patch) | |
| tree | d79a6c43cd10c681445b75f859545c9f88e41899 /src | |
| parent | 91ab66201cedbcd2e4e8533a7152f6736ad08731 (diff) | |
| parent | ee7399792f865905d393df05c3d4e5ec309aa06c (diff) | |
| download | emacs-0608bf1c3d91196bcf06a6da96243f0fac119089.tar.gz | |
Merge from origin/emacs-25
ee73997 Make erc work better when encountering unknown prefix chars
b99141d Make erc completion case-insensitive again
66c4620 Make complection in erc use consistent casing
8c562b2 Make /QUIT in erc more robust
d93d2c5 Make tracking faces in Emacs work more reliably
af6ab7e Make shr not bug out on images on non-graphical displays
3311f40 Fix bookmark display widths
d90ab1e Fix typo in eww-make-unique-file-name
7f81825 Make it possible to TAB to input fields
a43a1dc Insert complete alt texts when images are disabled
56ed4e1 Allow eww text fields to grow
66b315c Make erc work when subword-mode is switched on
255b68f Fix IMAP doc example
91557f5 Quoting fixes in doc strings and diagnostics
2c0dc9f Fix warning message in hack-local-variables
504696d Etags: yet another improvement in Ruby tags
8784ebf Fix x-popup-menu on TTYs without a mouse
8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
pcase macro
6191003 Use pop-to-buffer-same-window in eww
fe321fd * autogen.sh: Revert all recent changes.
74ebd4a * make-dist: Updates related to nt/.
737193a * make-dist: Add modules/.
3696bf2 * make-dist: Update for super-special file that can't live in etc/.
a4278e2 Fix failure to compile ns-win.el in parallel builds
860da4d Fix names of tags generated for Ruby accessors
f6213ce Fix file-name recognition in 'etags'
e42e662 Change Ruby file names and extensions recognized by 'etags'
58bfb6a More improvements for Ruby support in 'etags'
c04e911 Add --git-config option to autogen.sh
5713466 Fix editing undo changes in eww fields
51362d6 Allow the user more control of popping up the eww window
ee0fbd8 Make eww-browse-url with new-window parameter work again
9c3142d Clean up eww code slightly
cb035f3 Don't insert nil faces in shr
4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
93f2153 Improve the custom type of some user options.
9f60d7e Mark some risky calendar variables.
1d07dcd Highlight two additional SCSS keywords
ee8b466 Recommend enabling integrity-checking in git
e639e10 Some corrections in Elisp manual
d766ca8 Chatter when autogen.sh changes Git configuration
3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
43cb9f8 Omit unnecessary history from Lisp intro
2fbd1da * etc/HISTORY: Add some more history, plus git tags.
c90e1b4 Improve elisp “Security Considerations” doc
cedd7ca autogen.sh now arranges for git to check hashes
86ce76b ; Fix ChangeLog.2 commit ID.
7b1d2b1 Fix (c & 040) typo in emergency escapes
a8273da Fix display of overlay strings with 'display' and 'box' property
fc48106 Fix imap-starttls-open
cdecbed Fix return value of imap-starttls-open
20c7e34 ; * etc/NEWS: Fix renamed command name
98bdbdb Correct reference to DARWIN_OS preprocessor symbol
b250d29 Spelling fix
b920a0e Spelling fixes
93b144b Pacify GCC on C library without glibc API
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile.in | 5 | ||||
| -rw-r--r-- | src/alloc.c | 13 | ||||
| -rw-r--r-- | src/buffer.c | 10 | ||||
| -rw-r--r-- | src/keyboard.c | 4 | ||||
| -rw-r--r-- | src/menu.c | 3 | ||||
| -rw-r--r-- | src/xdisp.c | 13 | ||||
| -rw-r--r-- | src/xwidget.c | 2 |
7 files changed, 37 insertions, 13 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index 150575864da..5f72076dc45 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -505,6 +505,11 @@ $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ $(lispsource)/international/ucs-normalize.elc: | \ $(lispsource)/international/charprop.el +## ns-win.el loads ucs-normalize, so it also needs the above-mentioned +## 2 uni-*.el files to exist. +$(lispsource)/term/ns-win.elc: | \ + $(lispsource)/international/charprop.el + lispintdir = ${lispsource}/international ${lispintdir}/cp51932.el ${lispintdir}/eucjp-ms.el: FORCE ${MAKE} -C ../admin/charsets $(notdir $@) diff --git a/src/alloc.c b/src/alloc.c index b40c1f387cb..f0e9f208ca3 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -1122,10 +1122,17 @@ lisp_free (void *block) /* Use aligned_alloc if it or a simple substitute is available. Address sanitization breaks aligned allocation, as of gcc 4.8.2 and - clang 3.3 anyway. */ + clang 3.3 anyway. Aligned allocation is incompatible with + unexmacosx.c, so don't use it on Darwin. */ -#if ! ADDRESS_SANITIZER -# if defined HYBRID_MALLOC +#if ! ADDRESS_SANITIZER && !defined DARWIN_OS +# if !defined SYSTEM_MALLOC && !defined DOUG_LEA_MALLOC && !defined HYBRID_MALLOC +# define USE_ALIGNED_ALLOC 1 +# ifndef HAVE_ALIGNED_ALLOC +/* Defined in gmalloc.c. */ +void *aligned_alloc (size_t, size_t); +# endif +# elif defined HYBRID_MALLOC # if defined HAVE_ALIGNED_ALLOC || defined HAVE_POSIX_MEMALIGN # define USE_ALIGNED_ALLOC 1 # endif diff --git a/src/buffer.c b/src/buffer.c index 3e410670c54..98b61c350e2 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -2145,16 +2145,16 @@ DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, doc: /* Signal a `buffer-read-only' error if the current buffer is read-only. If the text under POSITION (which defaults to point) has the `inhibit-read-only' text property set, the error will not be raised. */) - (Lisp_Object pos) + (Lisp_Object position) { - if (NILP (pos)) - XSETFASTINT (pos, PT); + if (NILP (position)) + XSETFASTINT (position, PT); else - CHECK_NUMBER (pos); + CHECK_NUMBER (position); if (!NILP (BVAR (current_buffer, read_only)) && NILP (Vinhibit_read_only) - && NILP (Fget_text_property (pos, Qinhibit_read_only, Qnil))) + && NILP (Fget_text_property (position, Qinhibit_read_only, Qnil))) xsignal1 (Qbuffer_read_only, Fcurrent_buffer ()); return Qnil; } diff --git a/src/keyboard.c b/src/keyboard.c index 7e95ad7ad16..baca4b56fb5 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -10304,7 +10304,7 @@ handle_interrupt (bool in_signal_handler) { write_stdout ("Auto-save? (y or n) "); c = read_stdin (); - if ((c & 040) == 'Y') + if (c == 'y' || c == 'Y') { Fdo_auto_save (Qt, Qnil); #ifdef MSDOS @@ -10336,7 +10336,7 @@ handle_interrupt (bool in_signal_handler) write_stdout ("Abort (and dump core)? (y or n) "); #endif c = read_stdin (); - if ((c & ~040) == 'Y') + if (c == 'y' || c == 'Y') emacs_abort (); while (c != '\n') c = read_stdin (); diff --git a/src/menu.c b/src/menu.c index caae228a259..cbddef35754 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1236,6 +1236,9 @@ no quit occurs and `x-popup-menu' returns nil. */) { /* Use the mouse's current position. */ struct frame *new_f = SELECTED_FRAME (); + + XSETFASTINT (x, 0); + XSETFASTINT (y, 0); #ifdef HAVE_X_WINDOWS if (FRAME_X_P (new_f)) { diff --git a/src/xdisp.c b/src/xdisp.c index 78fddd60fc0..8f1e98d99ef 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -7234,14 +7234,23 @@ get_next_display_element (struct it *it) buffer position is stored in the 'position' member of the iteration stack slot below the current one, see handle_single_display_spec. By - contrast, it->current.pos was is not yet updated + contrast, it->current.pos was not yet updated to point to that buffer position; that will happen in pop_it, after we finish displaying the current string. Note that we already checked above that it->sp is positive, so subtracting one from it is safe. */ if (it->from_disp_prop_p) - pos = (it->stack + it->sp - 1)->position; + { + int stackp = it->sp - 1; + + /* Find the stack level with data from buffer. */ + while (stackp >= 0 + && STRINGP ((it->stack + stackp)->string)) + stackp--; + eassert (stackp >= 0); + pos = (it->stack + stackp)->position; + } else INC_TEXT_POS (pos, it->multibyte_p); diff --git a/src/xwidget.c b/src/xwidget.c index 8745416f3db..f436e95d686 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -320,7 +320,7 @@ xwidget_show_view (struct xwidget_view *xv) xv->y + xv->clip_top); } -/* Hide an xvidget view. */ +/* Hide an xwidget view. */ static void xwidget_hide_view (struct xwidget_view *xv) { |
