bug#81622: 32.0.50; dired-do-async-shell-command in Tramp sudo dired buffer substitutes Tramp file name

Michael Albinus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email protected]>
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
Filipp Gunbin <[email protected]> writes:

Hi Filipp,

> - touch /tmp/1.txt
>
> - emacs -Q
>
> - Open sudo dired buffer: /sudo::/tmp
>
> - Go to 1.txt and type: & cat SPC RET
>
> - Observe error: "cat: /sudo:root@myhost:/tmp/1.txt: No such file or
>   directory"

Strange, I cannot reproduce. And reading the code, I don't understand
why it behaves like this.

- "&" calls dired-do-async-shell-command.

- There, we see the call of

   (let ((files (dired-get-marked-files t current-prefix-arg nil nil t)))

- The first argument of this function, "t" (LOCALP), means to return a
  list of relative file names. ("1.txt") in this case.

- Therefore, the shell command should be "cat 1.txt &". This should work
  (and does in my test).

Do you have a chance to debug dired-do-async-shell-command? What does
the call of dired-get-marked-files return?

Alternatively, is there a robust scenario to reproduce the problem?

> Thanks.

Best regards, Michael.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.