I originally posted this on the emacs stack exchange (
https://emacs.stackexchange.com/questions/78768/reopen-with-sudo-command-that-works-through-tramp)
but they suggested I try here.

I have tried to define this command:

```
(defun etc-reopen-with-sudo ()
  (interactive)
  (let* ((vec (tramp-dissect-file-name (buffer-file-name (current-buffer))))
       (method (tramp-file-name-method vec))
       (user (tramp-file-name-user vec))
       (host (tramp-file-name-host vec))
       (localname (tramp-file-name-localname vec)))
    (message "localname=%s" localname)
    (find-alternate-file
     (if (tramp-tramp-file-p (buffer-file-name (current-buffer)))
         (concat (format "/%s:%s@%s|sudo::%s" method user host localname))
       (concat "/sudo:root@localhost:" buffer-file-name)))))
```

It worked once... and now ever since mysteriously hangs whenever I try to
use it to open a file with sudo on a remote host with ssh. The idea for
what file string to use for this comes from
https://stackoverflow.com/questions/2177687/open-file-via-ssh-and-sudo-with-emacs
which suggests `/ssh:you@remotehost|sudo:remotehost:/path/to/file` should
work. I'm able to visit files on the host just fine without sudo. Any ideas
what I'm doing wrong here?

Reply via email to