Mercurial > emacs
changeset 53161:779a274d72ed
iswitchb-read-buffer: check that iswitchb-exit is not 'usefirst (set
when user presses RETURN to select buffer) before running:
;; This happens for example if the buffer was chosen with the mouse.
(setq iswitchb-matches (list iswitchb-final-text)))
iswitchb-exit-minibuffer: set iswitchb-exit to 'usefirst.
These changes were made to fix the following bug reported by Markus
Rost and John Wiegley:
Evaluate:
(progn
(iswitchb-mode 1)
(get-buffer-create "12")
(get-buffer-create "1")
(iswitchb-buffer))
You get prompted in the minibuffer. Type "1". The minibuffer shows
iswitch 1{12,1}
Hit RET. You find yourself in buffer "1" instead of "12", as you
would expect from the documentation.
This bug was introduced when iswitchb-read-buffer was updated to allow
user to select items from the *Completions* buffer with the mouse.
author | Stephen Eglen <stephen@gnu.org> |
---|---|
date | Tue, 25 Nov 2003 14:37:44 +0000 |
parents | f71ce92df3cb |
children | 9ef6052ba695 |
files | lisp/iswitchb.el |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/iswitchb.el Tue Nov 25 12:22:08 2003 +0000 +++ b/lisp/iswitchb.el Tue Nov 25 14:37:44 2003 +0000 @@ -610,7 +610,8 @@ nil ;require-match [handled elsewhere] nil ;initial-contents 'iswitchb-history))) - (if (get-buffer iswitchb-final-text) + (if (and (not (eq iswitchb-exit 'usefirst)) + (get-buffer iswitchb-final-text)) ;; This happens for example if the buffer was chosen with the mouse. (setq iswitchb-matches (list iswitchb-final-text))) @@ -712,7 +713,9 @@ (interactive) (if (or (not iswitchb-require-match) (iswitchb-existing-buffer-p)) - (throw 'exit nil))) + (progn + (setq iswitchb-exit 'usefirst) + (throw 'exit nil)))) (defun iswitchb-select-buffer-text () "Select the buffer named by the prompt.