From d9905d5c6f22ccefe03ee3ae1267a9fdf28fc61a Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 21 Feb 2019 12:09:44 +0100 Subject: [PATCH 1/5] Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192) * doc/misc/tramp.texi (Frequently Asked Questions): Warn about bash 5.0.0 and HISTSIZE=0. (Bug#34192) --- doc/misc/tramp.texi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index bfb6d748f24..633f2d16b6b 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -3410,7 +3410,9 @@ Due to the remote shell saving tilde expansions triggered by @value{tramp} can suppress this behavior with the user option @code{tramp-histfile-override}. When set to @code{t}, environment variable @env{HISTFILE} is unset, and environment variables -@env{HISTFILESIZE} @env{HISTSIZE} are set to 0. +@env{HISTFILESIZE} and @env{HISTSIZE} are set to 0. Don't use this +with @command{bash} 5.0.0. There is a bug in @command{bash} which +lets @command{bash} die. Alternatively, @code{tramp-histfile-override} could be a string. Environment variable @env{HISTFILE} is set to this file name then. Be From 3707ea434f1801f911e51896b987be61b4e4c7c2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 22 Feb 2019 10:12:14 +0200 Subject: [PATCH 2/5] Fix a typo in the doc string of 'regex-opt' * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix example in the doc string. (Bug#34596) --- lisp/emacs-lisp/regexp-opt.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el index 152dca2309d..63786c1508c 100644 --- a/lisp/emacs-lisp/regexp-opt.el +++ b/lisp/emacs-lisp/regexp-opt.el @@ -121,9 +121,9 @@ than that of a simplified version: ((eq paren \\='symbols) \\='(\"\\\\_<\\\\(\" . \"\\\\)\\\\_>\")) ((null paren) \\='(\"\\\\(?:\" . \"\\\\)\")) (t \\='(\"\\\\(\" . \"\\\\)\"))))) - (concat (car paren) + (concat (car parens) (mapconcat \\='regexp-quote strings \"\\\\|\") - (cdr paren))))" + (cdr parens))))" (save-match-data ;; Recurse on the sorted list. (let* ((max-lisp-eval-depth 10000) From 6d46fa961c93d435e70b046ef2c400b81934ace8 Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Fri, 22 Feb 2019 09:53:52 -0500 Subject: [PATCH 3/5] Disable the timerfd interface on Cygwin * configure.ac (emacs_cv_have_timerfd): Set to "no" on Cygwin. --- configure.ac | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index d5e802a961f..097c3bc68af 100644 --- a/configure.ac +++ b/configure.ac @@ -4145,6 +4145,10 @@ AC_SUBST(LIBS_TERMCAP) AC_SUBST(TERMCAP_OBJ) # GNU/Linux-specific timer functions. +# Bug#34618. +if test "$opsys" = "cygwin"; then + emacs_cv_have_timerfd=no +fi AC_CACHE_CHECK([for timerfd interface], [emacs_cv_have_timerfd], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include From c86d41911dad6b3ef799d5cda5778768b2aa3aec Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 23 Feb 2019 10:35:59 +0200 Subject: [PATCH 4/5] ; * src/image.c (imagemagick_load, svg_load): Fix typos in comments. --- src/image.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/image.c b/src/image.c index 2d5a882232f..50515e1a422 100644 --- a/src/image.c +++ b/src/image.c @@ -8941,8 +8941,8 @@ imagemagick_load (struct frame *f, struct image *img) #endif success_p = imagemagick_load_image (f, img, 0, 0, SSDATA (file)); } - /* Else its not a file, its a lisp object. Load the image from a - lisp object rather than a file. */ + /* Else it's not a file, it's a Lisp object. Load the image from a + Lisp object rather than a file. */ else { Lisp_Object data; @@ -9250,8 +9250,8 @@ svg_load (struct frame *f, struct image *img) SSDATA (ENCODE_FILE (file))); xfree (contents); } - /* Else its not a file, its a lisp object. Load the image from a - lisp object rather than a file. */ + /* Else it's not a file, it's a Lisp object. Load the image from a + Lisp object rather than a file. */ else { Lisp_Object data, original_filename; From dee3cdc50415a3fa45c6b043590d99adf47c7c69 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 23 Feb 2019 15:31:15 +0200 Subject: [PATCH 5/5] Minor improvement for docs of completion * doc/lispref/minibuf.texi (Completion Commands) (Completion in Buffers, Programmed Completion): Add to text that references completion tables a cross-reference to where "completion table" is described. (Programmed Completion): Fix the description of 'completion-table-dynamic'. Add more cross-references. --- doc/lispref/minibuf.texi | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 0c0862160bf..796be07ef14 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi @@ -1102,11 +1102,11 @@ different function to completely override the normal behavior of in the minibuffer to do completion. @defvar minibuffer-completion-table -The value of this variable is the completion table used for completion -in the minibuffer. This is the global variable that contains what -@code{completing-read} passes to @code{try-completion}. It is used by -minibuffer completion commands such as -@code{minibuffer-complete-word}. +The value of this variable is the completion table (@pxref{Basic +Completion}) used for completion in the minibuffer. This is the +global variable that contains what @code{completing-read} passes to +@code{try-completion}. It is used by minibuffer completion commands +such as @code{minibuffer-complete-word}. @end defvar @defvar minibuffer-completion-predicate @@ -1764,7 +1764,8 @@ possible match, and ignore the match if the predicate returns @code{nil}. @item -A flag specifying the type of completion operation to perform. This +A flag specifying the type of completion operation to perform; see +@ref{Basic Completion}, for the details of those operations. This flag may be one of the following values. @table @code @@ -1835,17 +1836,26 @@ the same as for @code{display-sort-function}. @defun completion-table-dynamic function &optional switch-buffer This function is a convenient way to write a function that can act as -a programmed completion function. The argument @var{function} should be -a function that takes one argument, a string, and returns an alist of -possible completions of it. It is allowed to ignore the argument and -return a full list of all possible completions. You can think of -@code{completion-table-dynamic} as a transducer between that interface +a programmed completion function. The argument @var{function} should +be a function that takes one argument, a string, and returns a +completion table (@pxref{Basic Completion}) containing all the +possible completions. The table returned by @var{function} can also +include elements that don't match the string argument; they are +automatically filtered out by @code{completion-table-dynamic}. In +particular, @var{function} can ignore its argument and return a full +list of all possible completions. You can think of +@code{completion-table-dynamic} as a transducer between @var{function} and the interface for programmed completion functions. If the optional argument @var{switch-buffer} is non-@code{nil}, and completion is performed in the minibuffer, @var{function} will be called with current buffer set to the buffer from which the minibuffer was entered. + +The return value of @code{completion-table-dynamic} is a function that +can be used as the 2nd argument to @code{try-completion} and +@code{all-completions}. Note that this function will always return +empty metadata and trivial boundaries (@pxref{Programmed Completion}). @end defun @defun completion-table-with-cache function &optional ignore-case @@ -1870,9 +1880,10 @@ Emacs Manual}. This command uses the abnormal hook variable @defvar completion-at-point-functions The value of this abnormal hook should be a list of functions, which -are used to compute a completion table for completing the text at -point. It can be used by major modes to provide mode-specific -completion tables (@pxref{Major Mode Conventions}). +are used to compute a completion table (@pxref{Basic Completion}) for +completing the text at point. It can be used by major modes to +provide mode-specific completion tables (@pxref{Major Mode +Conventions}). When the command @code{completion-at-point} runs, it calls the functions in the list one by one, without any argument. Each function