GNU bug report logs - #47625
28.0.50; dired-do-symlink creates invalid symlinks when using Tramp

Previous Next

Package: emacs;

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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47625 in the body.
You can then email your comments to 47625 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#47625; Package emacs. (Tue, 06 Apr 2021 20:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Filipp Gunbin <fgunbin <at> fastmail.fm>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 06 Apr 2021 20:30:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Filipp Gunbin <fgunbin <at> fastmail.fm>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50; dired-do-symlink creates invalid symlinks when using Tramp
Date: Tue, 06 Apr 2021 23:29:39 +0300
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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47625; Package emacs. (Thu, 06 May 2021 10:08:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: bug-gnu-emacs <at> gnu.org
Cc: Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#47625: 28.0.50; dired-do-symlink creates invalid symlinks
 when using Tramp
Date: Thu, 06 May 2021 12:06:59 +0200
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.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Reply sent to Michael Albinus <michael.albinus <at> gmx.de>:
You have taken responsibility. (Thu, 06 May 2021 11:17:02 GMT) Full text and rfc822 format available.

Notification sent to Filipp Gunbin <fgunbin <at> fastmail.fm>:
bug acknowledged by developer. (Thu, 06 May 2021 11:17:02 GMT) Full text and rfc822 format available.

Message #13 received at 47625-done <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 47625-done <at> debbugs.gnu.org, Filipp Gunbin <fgunbin <at> fastmail.fm>
Subject: Re: bug#47625: 28.0.50; dired-do-symlink creates invalid symlinks
 when using Tramp
Date: Thu, 06 May 2021 13:15:29 +0200
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.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#47625; Package emacs. (Thu, 06 May 2021 15:27:02 GMT) Full text and rfc822 format available.

Message #16 received at 47625 <at> debbugs.gnu.org (full text, mbox):

From: Filipp Gunbin <fgunbin <at> fastmail.fm>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 47625 <at> debbugs.gnu.org
Subject: Re: bug#47625: 28.0.50; dired-do-symlink creates invalid symlinks
 when using Tramp
Date: Thu, 06 May 2021 18:26:19 +0300
Thank you!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 04 Jun 2021 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 325 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.