summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2003-02-04 10:40:14 +0000
committerRichard M. Stallman <rms@gnu.org>2003-02-04 10:40:14 +0000
commit7906c044c17790794701749fac2a946b3ca75e72 (patch)
tree77fa7c5e1415eaa743be87afe37e006d91cd40a4 /lisp
parent59759f1f8565143160f7c59c9236ef4f2ddc6ae5 (diff)
downloademacs-7906c044c17790794701749fac2a946b3ca75e72.tar.gz
(find-alternate-file): Handle dired-directory like buffer-file-name.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/files.el6
1 files changed, 6 insertions, 0 deletions
diff --git a/lisp/files.el b/lisp/files.el
index cb1e0156ed3..070db9f3be4 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -940,6 +940,7 @@ If the current buffer now contains an empty file that you just visited
(let ((obuf (current-buffer))
(ofile buffer-file-name)
(onum buffer-file-number)
+ (odir dired-directory)
(otrue buffer-file-truename)
(oname (buffer-name)))
(if (get-buffer " **lose**")
@@ -948,9 +949,13 @@ If the current buffer now contains an empty file that you just visited
(unwind-protect
(progn
(unlock-buffer)
+ ;; This prevents us from finding the same buffer
+ ;; if we specified the same file again.
(setq buffer-file-name nil)
(setq buffer-file-number nil)
(setq buffer-file-truename nil)
+ ;; Likewise for dired buffers.
+ (setq dired-directory nil)
(find-file filename))
(when (eq obuf (current-buffer))
;; This executes if find-file gets an error
@@ -960,6 +965,7 @@ If the current buffer now contains an empty file that you just visited
(setq buffer-file-name ofile)
(setq buffer-file-number onum)
(setq buffer-file-truename otrue)
+ (setq dired-directory odir)
(lock-buffer)
(rename-buffer oname)))
(unless (eq (current-buffer) obuf)