From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Philipp Stephani
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Sun, 20 Aug 2017 03:28:04 -0700
> Cc: Michael Albinus <michael.albinus@gmx.de>
>
> The attached patch fixes some Emacs behavior that disagrees with the > documentation.=C2=A0 Although the user manual says that make-symbolic-= link "does
> not expand the argument TARGET", Emacs expands leading "~&qu= ot; in the target. Also,
> file-symlink-p quietly munges symlink contents if they appear to be a = Tramp file
> name. This behavior makes it impossible to write Emacs code that deals= with
> arbitrary local symbolic links, and Emacs mishandles copying of some s= ymlinks
> for this reason. At the operating system level, symlink targets are me= rely
> strings, and are not file names that are interpreted (any interpretati= on occurs
> later, only when the symlinks are followed), and Emacs should be consi= stent with
> that.
Sorry, I'm probably missing something here, but doesn't Emacs behav= e
here like Unix shell commands do?=C2=A0 For example, I just did
=C2=A0 $ ln -s ~/bin/etags ttt
and the following 'ls' command shows this:
=C2=A0 $ ls -l ttt
=C2=A0 lrwxrwxrwx 1 eliz eliz 22 Aug 20 10:27 ttt -> /home/e/eliz/bin/et= ags*
AFAIU, this means the shell expanded "~" when it passed it to = 9;ln'.
And Emacs tries to behave like the shell does in this case (and in
other similar cases).=C2=A0 Why is that wrong?
Moreover, unless I again misunderstand something important, if
make-symbolic-link would create a link like this:
=C2=A0 ttt -> ~/bin/etags
(which is what your proposed change does, right?), then programs which
follow the link will probably fail, because AFAIK most programs don't expand "~" (with the notable exception of the shell).
What am I missing here?