GNU bug report logs -
#47625
28.0.50; dired-do-symlink creates invalid symlinks when using Tramp
Previous Next
Reported by: Filipp Gunbin <fgunbin <at> fastmail.fm>
Date: Tue, 6 Apr 2021 20:30:02 UTC
Severity: normal
Found in version 28.0.50
Fixed in version 28.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#47625: 28.0.50; dired-do-symlink creates invalid symlinks when using Tramp
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 47625 <at> debbugs.gnu.org.
--
47625: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47625
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Version: 28.1
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
Hi,
> Filipp Gunbin <fgunbin <at> fastmail.fm> writes:
>
>> emacs -Q
>> open dired at /sudo::/tmp/
>> M-! touch foo
>> S (dired-do-symlink) on foo, enter /tmp/bar (without tramp prefix) at
>> the prompt
>> g (refresh dired)
>>
>> The result is "bar -> /sudo:root <at> fgunbin.local:/tmp/foo", which is
>> an invalid symlink.
>
> I can reproduce this bug in Emacs 28, but I haven't tried to debug it.
> Perhaps it's obvious what's going wrong to somebody who knows how Tramp
> works; Michael added to the CCs.
Oops, I've overlooked this when it arrived. Sorry.
Same here, I can reproduce it. Surprisingly, it isn't a Tramp error,
because Tramp isn't involved :-)
The scenario described above results in the call
(make-symbolic-link "/sudo:root <at> server:/tmp/foo" "/tmp/bar" nil)
Tramp would be involved if either
- LINKNAME is a relative file name, and default-directory is remote, or
- LINKNAME is a remote file name.
LINKNAME is "/tmp/bar", and both conditions do not apply.
"/sudo:root <at> gandalf:/tmp/foo", the TARGET of the call, must only be a
string. Which syntax it is, or whether it is a valid file name, doesn't
matter.
So I fixed it in dired. If you try to create a symlink between two files
on different hosts, you'll get an error now.
Closing the bug.
Best regards, Michael.
[Message part 3 (message/rfc822, inline)]
emacs -Q
open dired at /sudo::/tmp/
M-! touch foo
S (dired-do-symlink) on foo, enter /tmp/bar (without tramp prefix) at the prompt
g (refresh dired)
The result is "bar -> /sudo:root <at> fgunbin.local:/tmp/foo", which is
an invalid symlink.
In GNU Emacs 28.0.50 (build 8, x86_64-apple-darwin20.3.0, NS appkit-2022.30 Version 11.2.1 (Build 20D74))
of 2021-04-05 built on fgunbin.local
Repository revision: 257caab1d0bea17fb9bfb5a9e2c782cf96a7d052
Repository branch: master
System Description: macOS 11.2.3
This bug report was last modified 4 years and 43 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.