From 12fcd3857dadc93ea2ae35d31cd22d62ab645f12 Mon Sep 17 00:00:00 2001 From: Ralf Beckmann Date: Thu, 14 Nov 2019 20:40:40 +0100 Subject: [PATCH] Avoid superfluous buffers when sudo-editing When invoking 'doom/sudo-this-file', do not keep the old buffer around, since it is most likely no longer needed. --- core/autoload/files.el | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/core/autoload/files.el b/core/autoload/files.el index 9a9b21bfc..d3e183d58 100644 --- a/core/autoload/files.el +++ b/core/autoload/files.el @@ -313,26 +313,26 @@ file if it exists, without confirmation." (`aborted (message "Aborted")) (_ t))) +(defun doom--sudo-file (file) + (let ((host (or (file-remote-p file 'host) "localhost"))) + (concat "/" (when (file-remote-p file) + (concat (file-remote-p file 'method) ":" + (if-let (user (file-remote-p file 'user)) + (concat user "@" host) + host) + "|")) + "sudo:root@" host + ":" (or (file-remote-p file 'localname) + file)))) + ;;;###autoload (defun doom/sudo-find-file (file) "Open FILE as root." (interactive "FOpen file as root: ") - (let* ((host (or (file-remote-p file 'host) "localhost")) - (f (concat "/" (when (file-remote-p file) - (concat (file-remote-p file 'method) ":" - (if-let (user (file-remote-p file 'user)) - (concat user "@" host) - host) - "|")) - "sudo:root@" host - ":" (or (file-remote-p file 'localname) - file)))) - (if (and buffer-file-name (equal file (file-truename buffer-file-name))) - (find-alternate-file f) - (find-file f)))) + (find-file (doom--sudo-file file))) ;;;###autoload (defun doom/sudo-this-file () "Open the current file as root." (interactive) - (doom/sudo-find-file (file-truename buffer-file-name))) + (find-alternate-file (doom--sudo-file buffer-file-name)))