diff --git a/core/prelude-core.el b/core/prelude-core.el index 94e685a..5243eb8 100644 --- a/core/prelude-core.el +++ b/core/prelude-core.el @@ -302,13 +302,14 @@ buffer is not visiting a file." (ido-read-file-name "Find file(as root): "))) (prelude-find-alternate-file-as-root buffer-file-name))) -(defadvice ido-find-file (after find-file-sudo activate) +(defun prelude-reopen-as-root () "Find file as root if necessary." (unless (or (tramp-tramp-file-p buffer-file-name) (equal major-mode 'dired-mode) (not (file-exists-p (file-name-directory buffer-file-name))) (file-writable-p buffer-file-name)) (prelude-find-alternate-file-as-root buffer-file-name))) +(add-hook 'find-file-hook 'prelude-reopen-as-root) (defun prelude-start-or-switch-to (function buffer-name) "Invoke FUNCTION if there is no buffer with BUFFER-NAME.