emacs-diffs
[Top][All Lists]
Advanced

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

master 6e84add: Preserve point in dired buffers in dired-*-find-file* co


From: Lars Ingebrigtsen
Subject: master 6e84add: Preserve point in dired buffers in dired-*-find-file* commands
Date: Sat, 12 Dec 2020 06:49:26 -0500 (EST)

branch: master
commit 6e84addc51f3817052d852b73f00057a9af5b9c8
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Preserve point in dired buffers in dired-*-find-file* commands
    
    * lisp/dired.el (dired--find-file): New function (bug#28949).
    (dired-find-file): Use it.
    (dired-mouse-find-file): Ditto.
    (dired-find-file-other-window): Ditto.
---
 lisp/dired.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lisp/dired.el b/lisp/dired.el
index 6ad2497..baf99da 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2501,6 +2501,10 @@ directory in another window."
 (defun dired-find-file ()
   "In Dired, visit the file or directory named on this line."
   (interactive)
+  (dired--find-file #'find-file (dired-get-file-for-visit)))
+
+(defun dired--find-file (find-file-function file)
+  "Call FIND-FILE-FUNCTION on FILE, but bind some relevant variables."
   ;; 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)
@@ -2513,7 +2517,7 @@ directory in another window."
          (if dired-auto-revert-buffer
              nil
            switch-to-buffer-preserve-window-point)))
-    (find-file (dired-get-file-for-visit))))
+    (funcall find-file-function file)))
 
 (defun dired-find-alternate-file ()
   "In Dired, visit file or directory on current line via `find-alternate-file'.
@@ -2549,7 +2553,7 @@ respectively."
              (select-window window)
               (funcall find-dir-func file)))
       (select-window window)
-      (funcall find-file-func (file-name-sans-versions file t)))))
+      (dired--find-file find-file-func (file-name-sans-versions file t)))))
 
 (defun dired-mouse-find-file-other-window (event)
   "In Dired, visit the file or directory name you click on in another window."
@@ -2576,7 +2580,7 @@ Otherwise, display it in another buffer."
 (defun dired-find-file-other-window ()
   "In Dired, visit this file or directory in another window."
   (interactive)
-  (find-file-other-window (dired-get-file-for-visit)))
+  (dired--find-file #'find-file-other-window (dired-get-file-for-visit)))
 
 (defun dired-display-file ()
   "In Dired, display this file or directory in another window."



reply via email to

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