> Jean Louis <[hidden email]> writes:
> > (defun sudo (arguments)
> > "Executes list ARGUMENTS with system command `sudo'."
> > (let* ((command (format "sudo su -c -- root -c \"%s\"" (string-join (list arguments))))
> > (return (shell-command-to-string command)))
> > return))
> This could be
(defun sudo (&rest arguments)
"Executes list ARGUMENTS with system command `sudo'."
(let ((default-directory "/sudo::"))
(shell-command-to-string (string-join arguments " "))))
thank you. I will keep it for future considerations. I think it works
slower as it invokes tramp and many other functions in background. Is
there any practical benefit?
I have tried using that function with (sudo "ls") and first I got the
~/tmp directory listing, then in second invokation, I got only "bin"
listing, as it changed to default directory to be /root where I have
My function would not change default-directory to /root -- maybe that
is result of using default-directory, and it remains so maybe for the
rest of tramp session. Try it out, it makes no sense to be changed.