summaryrefslogtreecommitdiff
path: root/lisp/dired.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-05-31 21:06:48 +0000
committerKarl Heuer <kwzh@gnu.org>1995-05-31 21:06:48 +0000
commit6103c44e5a46ec815db8b14635157bb4211eeb5b (patch)
tree3864f01726fa3970e52cc001d759c260a3b24f6a /lisp/dired.el
parent1f92d7ef0d5ee72bce421db7e288131f776c8310 (diff)
downloademacs-6103c44e5a46ec815db8b14635157bb4211eeb5b.tar.gz
(dired-find-buffer-nocreate): Ignore dead buffers.
Diffstat (limited to 'lisp/dired.el')
-rw-r--r--lisp/dired.el16
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))