emacs-async
emacs-async copied to clipboard
dired-async broken with remote files
It is working fine with emacs-24.5, didn't try with emacs-25*, here the buffers with async-debug enabled:
With emacs-24.5:
Lisp expression: Tramp: Opening connection for root@dell-14z using sudo...
Opening connection for root@dell-14z using sudo... \
Tramp: Sending command `exec env SHELL=/bin/sh sudo -u root -s -H -p Password:'
Tramp: Waiting for prompts from remote shell...
Waiting for prompts from remote shell... \
Tramp: Sending Password
Decrypting /home/thierry/.authinfo.gpg...0%
Decrypting /home/thierry/.authinfo.gpg...done
[...]
Here with emacs-26:
Lisp expression: Tramp: Opening connection for root@dell-14z using sudo...
Opening connection for root@dell-14z using sudo... \
Tramp: Sending command ‘exec env SHELL=/bin/sh sudo -u root -s -H -p P""a""s""s""w""o""r""d"":’
Tramp: Waiting for prompts from remote shell...
Waiting for prompts from remote shell... \
Tramp: Sending Password
Password for /sudo:root@dell-14z:
Now hanging on password prompt whereas we are never prompted with emacs-24.5
I will try to find what's wrong here though it's hard to debug, if someone can help he is welcome...
Working fine on emacs-25.2, so the bug happen only on emacs-26
Working fine also with scp
method and emacs-26, so I guess it is only a problem with sudo
method.
I didn't try yet multi hop i.e scp+sudo.
I finally found where the bug have been introduced in Emacs Master branch:
164fcc6f26e * Fix Bug#27315
Perhaps somebody can report upstream @jwiegley ?
To reproduce the bug from master emacs, it's easy:
-
enable dired-async-mode
- Copy a local file to "/sudo::/somewhere", the child emacs will hang forever waiting user interaction for password.
As soon as you switch to 5647c4a2c62 (previous commit) it starts to work again.
I finally found a workaround by allowing using the emacs "-q" option instead of "-Q" in async. But IMO this should be fixed upstream in tramp directly (tramp should take care of not breaking external packages).