diff options
author | Karl Heuer <kwzh@gnu.org> | 1995-05-31 21:06:48 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1995-05-31 21:06:48 +0000 |
commit | 6103c44e5a46ec815db8b14635157bb4211eeb5b (patch) | |
tree | 3864f01726fa3970e52cc001d759c260a3b24f6a /lisp/dired.el | |
parent | 1f92d7ef0d5ee72bce421db7e288131f776c8310 (diff) | |
download | emacs-6103c44e5a46ec815db8b14635157bb4211eeb5b.tar.gz |
(dired-find-buffer-nocreate): Ignore dead buffers.
Diffstat (limited to 'lisp/dired.el')
-rw-r--r-- | lisp/dired.el | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/dired.el b/lisp/dired.el index 56d5cffb7c2..d049ee706d8 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -459,13 +459,15 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh." (defun dired-find-buffer-nocreate (dirname) (let (found (blist dired-buffers)) ; was (buffer-list) (while blist - (save-excursion - (set-buffer (cdr (car blist))) - (if (and (eq major-mode 'dired-mode) - (equal dired-directory dirname)) - (setq found (cdr (car blist)) - blist nil) - (setq blist (cdr blist))))) + (if (null (buffer-name (cdr (car blist)))) + (setq blist (cdr blist)) + (save-excursion + (set-buffer (cdr (car blist))) + (if (and (eq major-mode 'dired-mode) + (equal dired-directory dirname)) + (setq found (cdr (car blist)) + blist nil) + (setq blist (cdr blist)))))) found)) |