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:
parent
4ca87463de
commit
0b93ecf42c
1 changed files with 14 additions and 8 deletions
|
@ -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
|
||||
(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")))))
|
||||
(user-error "Cannot determine the file path of the current buffer"))))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/sudo-save-buffer ()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue