Fix editing remote unwriteable file

With the original advice, if we try to find a not writeable file on a
remote machine, the extra tramp prefix would be inserted. As a result,
we actually end up in a blank new file.
This commit is contained in:
toctan 2014-07-30 20:04:38 +08:00
parent 7ece99d281
commit 2f22cb2684

View file

@ -303,11 +303,10 @@ buffer is not visiting a file."
(defadvice ido-find-file (after find-file-sudo activate)
"Find file as root if necessary."
(unless (or (equal major-mode 'dired-mode)
(and (buffer-file-name)
(not (file-exists-p (file-name-directory (buffer-file-name)))))
(and (buffer-file-name)
(file-writable-p buffer-file-name)))
(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))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(defun prelude-start-or-switch-to (function buffer-name)