diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 4e8590989b3..0410e3a0b8d 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -3005,7 +3005,7 @@ minibuffer-visible-completions-map "" (minibuffer-visible-completions-bind #'minibuffer-next-completion) "" (minibuffer-visible-completions-bind #'minibuffer-previous-line-completion) "" (minibuffer-visible-completions-bind #'minibuffer-next-line-completion) - "RET" (minibuffer-visible-completions-bind #'minibuffer-choose-completion) + "RET" (minibuffer-visible-completions-bind #'minibuffer-choose-completion-or-exit) "C-g" (minibuffer-visible-completions-bind #'minibuffer-hide-completions)) @@ -4693,6 +4693,12 @@ minibuffer-choose-completion (let ((completion-use-base-affixes t)) (choose-completion nil no-exit no-quit)))) +(defun minibuffer-choose-completion-or-exit (&optional no-exit no-quit) + (interactive "P") + (condition-case nil + (minibuffer-choose-completion no-exit no-quit) + (error (exit-minibuffer)))) + (defun minibuffer-complete-history () "Complete the minibuffer history as far as possible. Like `minibuffer-complete' but completes on the history items