diff options
Diffstat (limited to 'lisp/minibuffer.el')
-rw-r--r-- | lisp/minibuffer.el | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 556f5d3a564..315f2d369af 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -2125,8 +2125,10 @@ variables.") ;; A better solution would be to make deactivate-mark buffer-local ;; (or to turn it into a list of buffers, ...), but in the mean time, ;; this should do the trick in most cases. - (setq deactivate-mark nil) - (throw 'exit nil)) + (when (innermost-minibuffer-p) + (setq deactivate-mark nil) + (throw 'exit nil)) + (error "%s" "Not in most nested minibuffer")) (defun self-insert-and-exit () "Terminate minibuffer input." @@ -2394,7 +2396,7 @@ The completion method is determined by `completion-at-point-functions'." ;;; Key bindings. (let ((map minibuffer-local-map)) - (define-key map "\C-g" 'abort-recursive-edit) + (define-key map "\C-g" 'abort-minibuffers) (define-key map "\M-<" 'minibuffer-beginning-of-buffer) (define-key map "\r" 'exit-minibuffer) |