From: Stephen Eglen Date: Tue, 15 Sep 2009 11:38:15 +0000 (+0000) Subject: (iswitchb-read-buffer): When selecting a match from X-Git-Tag: emacs-pretest-23.1.90~1301 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4078fd57bae25df45ab41082275f9c488d49ef2f;p=emacs.git (iswitchb-read-buffer): When selecting a match from the virtual-buffers, use the name of the buffer specified by find-file-noselect, as the match may be a symlink. (This was a problem if the target and the symlink had differet names.) --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5545992e8e2..532c89656c1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2009-09-15 Stephen Eglen + + * iswitchb.el (iswitchb-read-buffer): When selecting a match from + the virtual-buffers, use the name of the buffer specified by + find-file-noselect, as the match may be a symlink. (This was a + problem if the target and the symlink had differet names.) + 2009-09-15 Stefan Monnier * custom.el (custom-initialize-default, custom-initialize-set): CSE. diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index 802b45d23b1..8a800143bd2 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el @@ -657,9 +657,12 @@ the selection process begins. Used by isearchb.el." ;; that file now and act as though that buffer had been selected. (if (and iswitchb-virtual-buffers (not (iswitchb-existing-buffer-p))) - (let ((virt (car iswitchb-virtual-buffers))) - (find-file-noselect (cdr virt)) - (setq iswitchb-matches (list (car virt)) + (let ((virt (car iswitchb-virtual-buffers)) + (new-buf)) + ;; Keep the name of the buffer returned by find-file-noselect, as + ;; the buffer 'virt' could be a symlink to a file of a different name. + (setq new-buf (buffer-name (find-file-noselect (cdr virt)))) + (setq iswitchb-matches (list new-buf) iswitchb-virtual-buffers nil))) ;; Handling the require-match must be done in a better way.