When there is more than one xref to jump to, and an *xref* window
appears to help the user choose, the original intent to open a
definition in another window or frame is remembered when the choice to
go to or show a reference is finally made.
* lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
(xref--original-window-intent): New variable.
(xref--original-window): Rename from xref--window and move up
here for clarity.
(xref--show-pos-in-buf): Rewrite. Don't take SELECT arg here.
(xref--show-location): Handle window selection decision here.
(xref--window): Rename to xref--original-window.
(xref-show-location-at-point): Don't attempt window management here.
(xref--show-xrefs): Ensure display-action intent is saved.
* src/lisp.h (GCALIGNMENT): Change it back to a macro
that expands to a literal integer constant, for older GCC.
I had mistakenly thought that only MSVC had the problem.
Problem repored by Eli Zaretskii (Bug#29040#69).
* lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
function to generate the docstring for custom variables derived from
pcomplete-* variables.
(eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
(eshell-cmpl-ignore-case, eshell-cmpl-autolist)
(eshell-cmpl-suffix-list, eshell-cmpl-recexact)
(eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
(eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
(eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
(eshell-command-completion-function, eshell-cmpl-command-name-function)
(eshell-default-completion-function, eshell-cmpl-use-paring): Use it
to set the docstring.
This incorporates:
2017-10-29 timespec: prefer ‘assume’ to ‘assure’
2017-10-27 timespec.h: use "assure" to avoid a spurious warning
2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
* build-aux/config.guess, build-aux/config.sub:
* lib/timespec.h, lib/unistd.in.h:
Copy from Gnulib.
Do not assume that the natural alignment of Lisp objects is a
multiple of GCALIGNMENT. This improves on the portability of the
recent fix for Bug#29040.
* lib-src/make-docfile.c (close_emacs_globals):
* src/buffer.c (buffer_defaults, buffer_local_symbols):
* src/lisp.h (DEFUN):
* src/thread.c (main_thread):
Use GCALIGNED, not alignas (GCALIGNMENT).
* src/alloc.c (COMMON_MULTIPLE):
Move back here from lisp.h, since it is no longer used elsewhere.
* src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
worry about MSVC. Omit no-longer-needed consistency check.
* src/thread.c (THREAD_ALIGNMENT): Remove.
* doc/lispref/frames.texi (Frame Parameters): Mention that
applications have to care about which parameters they want to
get saved and restored by the desktop library.
* lisp/emacs-lisp/derived.el (define-derived-mode):
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
mode hook variable, do not clobber pre-existing docstrings.
These fixes were suggested by Drew Adams.
* src/window.c (Fminibuffer_selected_window): Disambiguate
doc-string.
* doc/lispref/minibuf.texi (Intro to Minibuffers)
(Minibuffer Windows, Recursive Mini, Minibuffer Misc): Avoid
the term "currently active minibuffer window". Disambiguate
documentation of `minibuffer-selected-window'.
* lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
position for BASE is below point-min, scan forward to the end of the current
literal.
(c-determine-limit): Add an extra arm to the final cond form, testing for BASE
being at point-min.
* lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
(tex-chktex-program, tex-chktex-extra-flags): New custom variables.
(latex-mode): Add backend to flymake-diagnostic-functions.
(tex-chktex--process): New variable.
(tex-chktex-command, tex-chktex): New functions.
* src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
* src/thread.c (THREAD_ALIGNMENT): New macro.
(main_thread): Use THREAD_ALIGNMENT to align propertly. (Bug#29040)
* etc/NEWS: Fix markings on several entries, and rearrange others
as needed.
* doc/emacs/programs.texi (Hideshow): Document the new
outline-like bindings.
* doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.