emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

`ido.el' small, but annoying bug


From: Paul Pogonyshev
Subject: `ido.el' small, but annoying bug
Date: Fri, 3 Dec 2004 20:05:53 +0200
User-agent: KMail/1.4.3

Type `C-x b', use left/right arrow to select a different buffer
and then `C-k' to kill it.  With my Emacs (a recent CVS) the
list of buffers disappears, but can be reshown again by e.g.
pressing left/right arrow.

The following smallish patch seems to fix it.  However, `ido.el'
maintainer should certainly review it.


2004-12-03  Paul Pogonyshev  <address@hidden>

        * ido.el (ido-matches): Doc fix.
        (ido-kill-buffer-at-head): Remove the killed buffer from
        `ido-matches' in addition to `ido-cur-list'.
        (ido-delete-file-at-head): Likewise for deleted file.


--- ido.el      24 Nov 2004 21:52:11 +0200      1.45
+++ ido.el      03 Dec 2004 19:59:32 +0200      
@@ -917,7 +917,7 @@ Copied from `icomplete-eoinput'.")
   "The initial string for the users string it is typed in.")
 
 (defvar ido-matches nil
-  "List of files currently matching `ido-text'.")
+  "List of files or buffers currently matching `ido-text'.")
 
 (defvar ido-report-no-match t
   "Report [No Match] when no completions matches ido-text.")
@@ -3218,7 +3218,8 @@ for first matching file."
          ;; buffer couldn't be killed.
          (setq ido-rescan t)
        ;; else buffer was killed so remove name from list.
-       (setq ido-cur-list (delq buf ido-cur-list))))))
+       (setq ido-cur-list (delq buf ido-cur-list)
+             ido-matches  (delq buf ido-matches))))))
 
 ;;; DELETE CURRENT FILE
 (defun ido-delete-file-at-head ()
@@ -3239,7 +3240,8 @@ for first matching file."
          ;; file could not be deleted
          (setq ido-rescan t)
        ;; else file was killed so remove name from list.
-       (setq ido-cur-list (delq (car ido-matches) ido-cur-list))))))
+       (setq ido-cur-list (delq (car ido-matches) ido-cur-list)
+             ido-matches  (cdr ido-matches))))))
 
 
 ;;; VISIT CHOSEN BUFFER





reply via email to

[Prev in Thread] Current Thread [Next in Thread]