emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 6b4b13e: Preserve point in Dired windows under 'dir


From: Eli Zaretskii
Subject: [Emacs-diffs] master 6b4b13e: Preserve point in Dired windows under 'dired-auto-revert-buffer'
Date: Sat, 10 Jun 2017 04:23:55 -0400 (EDT)

branch: master
commit 6b4b13eb3868e861df8e52e491214376134baf63
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Preserve point in Dired windows under 'dired-auto-revert-buffer'
    
    * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
    is non-nil, bind switch-to-buffer-preserve-window-point to nil
    while calling find-file.  (Bug#27243)
---
 lisp/dired.el | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lisp/dired.el b/lisp/dired.el
index 8396652..909735a 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2126,7 +2126,16 @@ directory in another window."
   (interactive)
   ;; Bind `find-file-run-dired' so that the command works on directories
   ;; too, independent of the user's setting.
-  (let ((find-file-run-dired t))
+  (let ((find-file-run-dired t)
+        ;; This binding prevents problems with preserving point in
+        ;; windows displaying Dired buffers, because reverting a Dired
+        ;; buffer empties it, which changes the places where the
+        ;; markers used by switch-to-buffer-preserve-window-point
+        ;; point.
+        (switch-to-buffer-preserve-window-point
+         (if dired-auto-revert-buffer
+             nil
+           switch-to-buffer-preserve-window-point)))
     (find-file (dired-get-file-for-visit))))
 
 (defun dired-find-alternate-file ()



reply via email to

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