Mercurial > emacs
diff lisp/iswitchb.el @ 109945:c5974968dea9
Fix buffer-list rename&refresh after after killing a buffer in ido.
* lisp/ido.el: Revert scar's.
(ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh.
Remember the buffers at head, rather than their name.
* lisp/iswitchb.el (iswitchb-kill-buffer): Re-make the list.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 21 Aug 2010 15:35:27 +0200 |
parents | df3df0622e73 |
children | 515d80e174ba 376148b31b5e |
line wrap: on
line diff
--- a/lisp/iswitchb.el Sat Aug 21 11:19:38 2010 +0200 +++ b/lisp/iswitchb.el Sat Aug 21 15:35:27 2010 +0200 @@ -1027,8 +1027,8 @@ (defun iswitchb-kill-buffer () "Kill the buffer at the head of `iswitchb-matches'." (interactive) - (let ( (enable-recursive-minibuffers t) - buf) + (let ((enable-recursive-minibuffers t) + buf) (setq buf (car iswitchb-matches)) ;; check to see if buf is non-nil. @@ -1042,8 +1042,10 @@ (if (get-buffer buf) ;; buffer couldn't be killed. (setq iswitchb-rescan t) - ;; else buffer was killed so remove name from list. - (setq iswitchb-buflist (delq buf iswitchb-buflist))))))) + ;; Else `kill-buffer' succeeds so re-make the buffer list + ;; taking into account packages like uniquify may rename + ;; buffers + (iswitchb-make-buflist iswitchb-default)))))) ;;; VISIT CHOSEN BUFFER (defun iswitchb-visit-buffer (buffer)