From: Eli Zaretskii <eliz@gnu.org>
To: Drew Adams <drew.adams@oracle.com>
Cc: emacs-devel@gnu.org
Subject: Re: file-truename, convert-standard-filename
Date: Sat, 06 Feb 2010 21:33:11 +0200 [thread overview]
Message-ID: <834oluf9c8.fsf@gnu.org> (raw)
In-Reply-To: <E219F4EDC14E4F3589BFE10A33478CBB@us.oracle.com>
> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <emacs-devel@gnu.org>
> Date: Sat, 6 Feb 2010 07:33:17 -0800
>
> But .emacs and _emacs could be two different files on MS-DOC, no?
No. MS-DOS does not allow file names with leading dots. There cannot
be a file name like .emacs there.
Look, I think this discussion is getting out of hand. Let me try to
step back a notch and try anew.
There's a problem with file names, such as ".emacs", defined in Emacs
Lisp code as literal strings: some filesystems don't allow such
names. `convert-standard-filename' was introduced to take a Posix
file name and produce from it a file name that can be used instead on
the particular filesystem. So instead of
(defvar foo-file
(if (eq system-type 'foo)
"this"
(if (eq system-type 'bar)
"that"
....
we can now have just this:
(defvar foo-file (convert-standard-filename "this"))
So far so good?
Same considerations apply when a file name is constructed from
fragments, like in
(append ".emacs." (user-full-name) ".log")
In order to get a file name that any supported platform could use, you
need to run the result of this through `convert-standard-filename'.
Okay?
If this part is understood, then just use `convert-standard-filename'
in any situation where a string to be used as a file name might not be
valid on the underlying filesystem, like e.g. a literal `?' on a
Windows disk. An arbitrary string generally needs such a treatment,
before it can safely be used as a file name. That's why Emacs
defcustoms use it.
Any questions so far?
next prev parent reply other threads:[~2010-02-06 19:33 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-05 17:31 file-truename, convert-standard-filename Drew Adams
2010-02-05 18:15 ` Andreas Schwab
2010-02-05 18:33 ` Lennart Borgman
2010-02-05 19:45 ` Andreas Schwab
2010-02-05 19:49 ` Lennart Borgman
2010-02-05 20:14 ` Stefan Monnier
2010-02-05 20:18 ` Lennart Borgman
2010-02-06 1:10 ` Miles Bader
2010-02-05 23:51 ` Drew Adams
2010-02-05 19:04 ` Eli Zaretskii
2010-02-05 23:51 ` Drew Adams
2010-02-06 0:17 ` Lennart Borgman
2010-02-06 8:45 ` Eli Zaretskii
2010-02-06 16:55 ` Lennart Borgman
2010-02-06 19:12 ` Eli Zaretskii
2010-02-06 19:20 ` Lennart Borgman
2010-02-06 9:01 ` Eli Zaretskii
2010-02-06 15:33 ` Drew Adams
2010-02-06 19:33 ` Eli Zaretskii [this message]
2010-02-06 20:46 ` Drew Adams
2010-02-06 21:58 ` Eli Zaretskii
2010-02-06 23:12 ` Drew Adams
2010-02-07 4:01 ` Eli Zaretskii
2010-02-08 1:38 ` Stefan Monnier
2010-02-08 2:46 ` Drew Adams
2010-02-26 18:33 ` Davis Herring
2010-02-26 19:12 ` Drew Adams
2010-02-26 19:35 ` Davis Herring
2010-02-26 20:25 ` Drew Adams
-- strict thread matches above, loose matches on Subject: below --
2010-02-06 3:52 MON KEY
2010-02-06 8:28 ` Eli Zaretskii
[not found] ` <d2afcfda1002061814nc3e178fl5d93e21ea6bae7b5@mail.gmail.com>
2010-02-07 2:16 ` MON KEY
[not found] ` <83wrypelms.fsf@gnu.org>
2010-02-07 23:26 ` MON KEY
2010-02-08 0:28 ` Andreas Schwab
2010-02-08 4:10 ` Eli Zaretskii
[not found] ` <d2afcfda1002091330y53017b24w5e6bdf3c3d131a97@mail.gmail.com>
2010-02-09 21:32 ` MON KEY
2010-02-09 21:59 ` Andreas Schwab
2010-02-09 22:32 ` Eli Zaretskii
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=834oluf9c8.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
/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).