summaryrefslogtreecommitdiff
path: root/lisp/iswitchb.el
diff options
context:
space:
mode:
authorStephen Eglen <stephen@gnu.org>2003-11-25 14:45:32 +0000
committerStephen Eglen <stephen@gnu.org>2003-11-25 14:45:32 +0000
commit4dddd07f26ce4fb14adeda46465809e04e2b6cef (patch)
tree664d9e89664c0746cc60fc2e4825c8d18554cb0b /lisp/iswitchb.el
parent00498bfc928ebe82169895fa899785dec5c808e5 (diff)
downloademacs-4dddd07f26ce4fb14adeda46465809e04e2b6cef.tar.gz
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.
Diffstat (limited to 'lisp/iswitchb.el')
-rw-r--r--lisp/iswitchb.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index d8f2a5cb214..51797da5605 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -610,7 +610,8 @@ If REQUIRE-MATCH is non-nil, an existing-buffer must be selected."
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 @@ The result is stored in `iswitchb-common-match-string'."
(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.