From: Paul Eggert <eggert@cs.ucla.edu>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: p.stephani2@gmail.com, 28156-done@debbugs.gnu.org
Subject: bug#28156: Emacs quietly munges symlink contents
Date: Sat, 26 Aug 2017 18:53:25 -0700 [thread overview]
Message-ID: <c2c92aa8-cae8-3485-f4b1-ebbbc12d0da3@cs.ucla.edu> (raw)
In-Reply-To: <87h8wvlssi.fsf@detlef>
Michael Albinus wrote:
> What about file-truename? I believe it still must quote the result,
> otherwise we run into problems. See
>
> (make-symbolic-link "/x:y:" "/tmp/foo")
> (file-truename "/tmp/foo")
>
> The latter shall return "/:/x:y:" (as of today) instead of
> "/x:y:".
Thanks for catching that. While looking into it, I noticed that file-truename
has long mishandled symlink contents starting with ~ as in the following example:
$ ln -s '~nosuchuser' /tmp/foo
$ ls -l /tmp/foo
lrwxrwxrwx. 1 eggert eggert 11 Aug 26 18:51 /tmp/foo -> ~nosuchuser
$ src/emacs -Q -batch -eval '(message "%S" (file-truename "/tmp/foo"))'
"/home/eggert/src/gnu/emacs/master-tmp/~nosuchuser"
I fixed both problems.
> Maybe we shall document it as well. Neither the docstring of
> `file-truename', nor the Lisp reference say something about.
Yes, the documentation could stand some improving here. I fixed it up a bit,
though not in the file-truename area as I'm thinking we may need some more
changes here and would like to cogitate about it first. I'll CC: you on any
further bug reports in this area.
I rebased the patch to master which simplified it since I no longer had to worry
about Tramp tests, and installed the result. Closing this bug report.
next prev parent reply other threads:[~2017-08-27 1:53 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-20 10:28 bug#28156: Emacs quietly munges symlink contents Paul Eggert
2017-08-20 13:48 ` Michael Albinus
2017-08-20 14:37 ` Eli Zaretskii
2017-08-20 15:09 ` Philipp Stephani
2017-08-20 15:38 ` Eli Zaretskii
2017-08-20 17:54 ` Paul Eggert
2017-08-20 18:28 ` Michael Albinus
2017-08-20 18:53 ` Paul Eggert
2017-08-20 19:15 ` Michael Albinus
2017-08-20 21:47 ` Paul Eggert
2017-08-21 7:36 ` Michael Albinus
2017-08-20 19:21 ` Eli Zaretskii
2017-08-20 21:31 ` Paul Eggert
2017-08-21 2:34 ` Eli Zaretskii
2017-08-21 8:34 ` Paul Eggert
2017-08-21 14:25 ` Eli Zaretskii
2017-08-21 15:58 ` Paul Eggert
2017-08-20 19:16 ` Eli Zaretskii
2017-08-21 17:34 ` Paul Eggert
2017-08-21 17:59 ` Eli Zaretskii
2017-08-21 20:30 ` Paul Eggert
2017-08-22 7:28 ` Michael Albinus
2017-08-22 16:03 ` Paul Eggert
2017-08-24 11:38 ` Michael Albinus
2017-08-25 5:12 ` Paul Eggert
2017-08-25 12:45 ` Michael Albinus
2017-08-26 13:16 ` Michael Albinus
2017-08-27 1:53 ` Paul Eggert [this message]
2017-08-20 22:19 ` npostavs
2017-08-20 23:00 ` Paul Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c2c92aa8-cae8-3485-f4b1-ebbbc12d0da3@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=28156-done@debbugs.gnu.org \
--cc=michael.albinus@gmx.de \
--cc=p.stephani2@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).