1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-25 07:28:20 +00:00

* lisp/minibuffer.el (minibuffer-force-complete-and-exit):

Obey minibuffer-default.

Fixes: debbugs:17545
This commit is contained in:
Stefan Monnier 2014-05-31 22:24:23 -04:00
parent ffa8a2db08
commit 08c0f6266a
2 changed files with 18 additions and 11 deletions

View File

@ -1,5 +1,8 @@
2014-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (minibuffer-force-complete-and-exit):
Obey minibuffer-default (bug#17545).
* progmodes/js.el (js-indent-line): Don't mix columns and chars
(bug#17619).
@ -91,8 +94,8 @@
Todo file, make sure we're in the right mode and the buffer local
variables are set.
(todo-make-categories-list, todo-reset-nondiary-marker)
(todo-reset-done-string, todo-reset-comment-string): After
processing all Todo files, kill the buffers of those files that
(todo-reset-done-string, todo-reset-comment-string):
After processing all Todo files, kill the buffers of those files that
weren't being visited before the processing.
(todo-display-as-todo-file, todo-add-to-buffer-list)
(todo-visit-files-commands): Comment out.
@ -155,8 +158,8 @@
2014-05-21 Dmitry Gutov <dgutov@yandex.ru>
* emacs-lisp/package.el (package--download-one-archive): Use
`write-region' instead of `save-buffer' to avoid running various
* emacs-lisp/package.el (package--download-one-archive):
Use `write-region' instead of `save-buffer' to avoid running various
hooks. (Bug#17155)
(describe-package-1): Same. Insert newline at the end of the
buffer if appropriate.

View File

@ -1222,12 +1222,16 @@ scroll the window of possible completions."
(defun minibuffer-force-complete-and-exit ()
"Complete the minibuffer with first of the matches and exit."
(interactive)
(minibuffer-force-complete)
(completion--complete-and-exit
(minibuffer-prompt-end) (point-max) #'exit-minibuffer
;; If the previous completion completed to an element which fails
;; test-completion, then we shouldn't exit, but that should be rare.
(lambda () (minibuffer-message "Incomplete"))))
(if (and (eq (minibuffer-prompt-end) (point-max))
minibuffer-default)
;; Use the provided default if there's one (bug#17545).
(minibuffer-complete-and-exit)
(minibuffer-force-complete)
(completion--complete-and-exit
(minibuffer-prompt-end) (point-max) #'exit-minibuffer
;; If the previous completion completed to an element which fails
;; test-completion, then we shouldn't exit, but that should be rare.
(lambda () (minibuffer-message "Incomplete")))))
(defun minibuffer-force-complete (&optional start end)
"Complete the minibuffer to an exact match.
@ -1946,7 +1950,7 @@ This respects the wrapper hook `completion-in-region-functions'."
"Keymap activated during `completion-in-region'.")
;; It is difficult to know when to exit completion-in-region-mode (i.e. hide
;; the *Completions*).
;; the *Completions*). Here's how previous packages did it:
;; - lisp-mode: never.
;; - comint: only do it if you hit SPC at the right time.
;; - pcomplete: pop it down on SPC or after some time-delay.