mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
fix(lib): sudo-{find,this}-file: disable auto-save
auto-save can trigger processes that hang silently in the background, making those buffers inoperable (hanging Emacs) for the rest of the session, even if they are killed (tramp caches them), so I suppress them solely for these temporary tramp buffers created by doom/sudo-find-file and doom/sudo-this-file.
This commit is contained in:
@ -487,19 +487,25 @@ If FORCE-P, overwrite the destination file if it exists, without confirmation."
|
||||
(defun doom/sudo-find-file (file)
|
||||
"Open FILE as root."
|
||||
(interactive "FOpen file as root: ")
|
||||
(find-file (doom--sudo-file-path (expand-file-name file))))
|
||||
;; HACK: Disable auto-save in temporary tramp buffers because it could trigger
|
||||
;; processes that hang silently in the background, making those buffers
|
||||
;; inoperable for the rest of that session (Tramp caches them).
|
||||
(let ((auto-save-default nil)
|
||||
;; REVIEW: use only these when we drop 28 support
|
||||
(remote-file-name-inhibit-auto-save t)
|
||||
(remote-file-name-inhibit-auto-save-visited t))
|
||||
(find-file (doom--sudo-file-path (expand-file-name file)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/sudo-this-file ()
|
||||
"Open the current file as root."
|
||||
(interactive)
|
||||
(find-file
|
||||
(doom--sudo-file-path
|
||||
(or (buffer-file-name (buffer-base-buffer))
|
||||
(when (or (derived-mode-p 'dired-mode)
|
||||
(derived-mode-p 'wdired-mode))
|
||||
default-directory)
|
||||
(user-error "Cannot determine the file path of the current buffer")))))
|
||||
(doom/sudo-find-file
|
||||
(or (buffer-file-name (buffer-base-buffer))
|
||||
(when (or (derived-mode-p 'dired-mode)
|
||||
(derived-mode-p 'wdired-mode))
|
||||
default-directory)
|
||||
(user-error "Cannot determine the file path of the current buffer"))))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/sudo-save-buffer ()
|
||||
|
Reference in New Issue
Block a user