]> git.eshelyaron.com Git - emacs.git/commitdiff
* ido.el (ido-add-virtual-buffers-to-list): Robustify. (Bug#14552)
authorLeo Liu <sdl.web@gmail.com>
Tue, 9 Jul 2013 05:09:45 +0000 (13:09 +0800)
committerLeo Liu <sdl.web@gmail.com>
Tue, 9 Jul 2013 05:09:45 +0000 (13:09 +0800)
lisp/ChangeLog
lisp/ido.el

index 562f4739f80b3ebd17d89860abe902c900b1945a..83f824edef09731bae4822b8e6d84d78c51509ad 100644 (file)
@@ -3,6 +3,7 @@
        * ido.el (ido-read-directory-name): Handle fallback.
        (ido-read-file-name): Update DIR to ido-current-directory.
        (Bug#1516)
+       (ido-add-virtual-buffers-to-list): Robustify.  (Bug#14552)
 
 2013-07-09  Dmitry Gutov  <dgutov@yandex.ru>
 
index 12af1952cce58808d69b894b5dd689a22d2bca31..22c8a4e65becc78f9730ae35700130bfd9fb010d 100644 (file)
@@ -3461,8 +3461,14 @@ This is to make them appear as if they were \"virtual buffers\"."
   (setq ido-virtual-buffers nil)
   (let (name)
     (dolist (head recentf-list)
-      (and (setq name (file-name-nondirectory head))
-           (null (get-file-buffer head))
+      (setq name (file-name-nondirectory head))
+      ;; In case HEAD is a directory with trailing /.  See bug#14552.
+      (when (equal name "")
+       (setq name (file-name-nondirectory (directory-file-name head))))
+      (when (equal name "")
+       (setq name head))
+      (and (not (equal name ""))
+          (null (get-file-buffer head))
            (not (assoc name ido-virtual-buffers))
            (not (member name ido-temp-list))
            (not (ido-ignore-item-p name ido-ignore-buffers))