aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2020-12-12 12:48:53 +0100
committerLars Ingebrigtsen2020-12-12 12:48:53 +0100
commit6e84addc51f3817052d852b73f00057a9af5b9c8 (patch)
tree473e3ffd595d979de671abc0de38e6d0f2154a24
parentf6cafe657402805f21a9651071f9768f92dacc76 (diff)
downloademacs-6e84addc51f3817052d852b73f00057a9af5b9c8.tar.gz
emacs-6e84addc51f3817052d852b73f00057a9af5b9c8.zip
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.
-rw-r--r--lisp/dired.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/dired.el b/lisp/dired.el
index 6ad2497c9a9..baf99da7b48 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2501,6 +2501,10 @@ directory in another window."
2501(defun dired-find-file () 2501(defun dired-find-file ()
2502 "In Dired, visit the file or directory named on this line." 2502 "In Dired, visit the file or directory named on this line."
2503 (interactive) 2503 (interactive)
2504 (dired--find-file #'find-file (dired-get-file-for-visit)))
2505
2506(defun dired--find-file (find-file-function file)
2507 "Call FIND-FILE-FUNCTION on FILE, but bind some relevant variables."
2504 ;; Bind `find-file-run-dired' so that the command works on directories 2508 ;; Bind `find-file-run-dired' so that the command works on directories
2505 ;; too, independent of the user's setting. 2509 ;; too, independent of the user's setting.
2506 (let ((find-file-run-dired t) 2510 (let ((find-file-run-dired t)
@@ -2513,7 +2517,7 @@ directory in another window."
2513 (if dired-auto-revert-buffer 2517 (if dired-auto-revert-buffer
2514 nil 2518 nil
2515 switch-to-buffer-preserve-window-point))) 2519 switch-to-buffer-preserve-window-point)))
2516 (find-file (dired-get-file-for-visit)))) 2520 (funcall find-file-function file)))
2517 2521
2518(defun dired-find-alternate-file () 2522(defun dired-find-alternate-file ()
2519 "In Dired, visit file or directory on current line via `find-alternate-file'. 2523 "In Dired, visit file or directory on current line via `find-alternate-file'.
@@ -2549,7 +2553,7 @@ respectively."
2549 (select-window window) 2553 (select-window window)
2550 (funcall find-dir-func file))) 2554 (funcall find-dir-func file)))
2551 (select-window window) 2555 (select-window window)
2552 (funcall find-file-func (file-name-sans-versions file t))))) 2556 (dired--find-file find-file-func (file-name-sans-versions file t)))))
2553 2557
2554(defun dired-mouse-find-file-other-window (event) 2558(defun dired-mouse-find-file-other-window (event)
2555 "In Dired, visit the file or directory name you click on in another window." 2559 "In Dired, visit the file or directory name you click on in another window."
@@ -2576,7 +2580,7 @@ Otherwise, display it in another buffer."
2576(defun dired-find-file-other-window () 2580(defun dired-find-file-other-window ()
2577 "In Dired, visit this file or directory in another window." 2581 "In Dired, visit this file or directory in another window."
2578 (interactive) 2582 (interactive)
2579 (find-file-other-window (dired-get-file-for-visit))) 2583 (dired--find-file #'find-file-other-window (dired-get-file-for-visit)))
2580 2584
2581(defun dired-display-file () 2585(defun dired-display-file ()
2582 "In Dired, display this file or directory in another window." 2586 "In Dired, display this file or directory in another window."