|
From: | Paul Eggert |
Subject: | bug#28156: Emacs quietly munges symlink contents |
Date: | Sun, 20 Aug 2017 11:53:55 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
Michael Albinus wrote:
We have quoting for these cases.Quoting does not work for these cases. If I try to rename a symlink to the literal string '~eggert' on my machine, Emacs will misbehave as described and there is no way to quote the string naming the symlink to fix this.(make-symbolic-link "~/.emacs" "/:/tmp/~eggert") ...
That's not the problem I was referring to. Sorry, I should have given more detail. By "misbehave as described" I was referring to an earlier-mentioned scenario where rename-file copies because the source and destination are on different filesystems. For example, suppose the current directory is on a different filesystem from /tmp, and I execute the following in my *scratch* buffer:
(shell-command "ln -s '~' symlink") 0 (file-symlink-p "symlink") "~" (rename-file "symlink" "/tmp/symlink") nil (file-symlink-p "/tmp/symlink") "/home/eggert"Here, rename-file quietly expands the symlink contents, which is a bug. As far as I can see, one cannot work around the bug by using Tramp quoting; for example, (rename-file "/:symlink" "/:/tmp/symlink") does the same thing that (rename-file "symlink" "/tmp/symlink") does.
[Prev in Thread] | Current Thread | [Next in Thread] |