From: Stefan Monnier Date: Mon, 5 May 2014 23:54:06 +0000 (-0400) Subject: * lisp/minibuffer.el (completion--try-word-completion): Revert fix for X-Git-Url: https://git.hcoop.net/bpt/emacs.git/commitdiff_plain/bf67c3f7ef0260eaf31ec301f8ba3c87809bd076 * lisp/minibuffer.el (completion--try-word-completion): Revert fix for Bug#15980. Fixes: debbugs:17375 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 043a0c240b..6aabf022b7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-05-05 Stefan Monnier + * minibuffer.el (completion--try-word-completion): Revert fix for + Bug#15980 (bug#17375). + * xt-mouse.el (xterm-mouse--read-event-sequence-1000): (bug#17378) Always store button numbers in the same way in xterm-mouse-last; Don't burp is xterm-mouse-last is not set as expected. diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 87ba8a22e6..929ab3dc32 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -1389,19 +1389,18 @@ appear to be a match." ;; instead, but it was too blunt, leading to situations where SPC ;; was the only insertable char at point but minibuffer-complete-word ;; refused inserting it. - (let* ((exts (mapcar (lambda (str) (propertize str 'completion-try-word t)) - '(" " "-"))) - (before (substring string 0 point)) - (after (substring string point)) - (comps - (delete nil - (mapcar (lambda (ext) - (completion-try-completion - (concat before ext after) - table predicate (1+ point) md)) - exts)))) - (when (and (null (cdr comps)) (consp (car comps))) - (setq comp (car comps))))) + (let ((exts (mapcar (lambda (str) (propertize str 'completion-try-word t)) + '(" " "-"))) + (before (substring string 0 point)) + (after (substring string point)) + tem) + ;; If both " " and "-" lead to completions, prefer " " so SPC behaves + ;; a bit more like a self-inserting key (bug#17375). + (while (and exts (not (consp tem))) + (setq tem (completion-try-completion + (concat before (pop exts) after) + table predicate (1+ point) md))) + (if (consp tem) (setq comp tem)))) ;; Completing a single word is actually more difficult than completing ;; as much as possible, because we first have to find the "current