all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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 23:58:13 +0200	[thread overview]
Message-ID: <83zl3mdo22.fsf@gnu.org> (raw)
In-Reply-To: <07544B532C8E490F96FE0B1CF403C510@us.oracle.com>

> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <emacs-devel@gnu.org>
> Date: Sat, 6 Feb 2010 12:46:02 -0800
> 
> That means that in order to use ANY file name (any file-name string, no matter
> where it was coded or how it is produced), you need to apply c-s-f to it, if you
> don't know whether the name is supported by all platforms that might be used by
> your code.

Again, the case when the string is known to be a name of an existing
file is the important exception.  For example, if it comes from
buffer-file-name, or from default-directory, or from other similar
interfaces.

> > 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, 
> 
> Which for an unknown string (e.g. the string value of a variable) means ALL
> situations, no?

It could be, unless, again, you know that a file by that name already
exists.

> BTW, I notice that prior to Emacs 23 the Emacs source code did not use c-s-f
> very much (e.g. defcustoms, such as in recentf.el); Emacs 23 uses it much more.
> I suppose this means that we had more problems with this before Emacs 23.

No, it just means we made some cleanup.  The situations where this
really matters are very rare, and if you ignore the MS-DOS case, are
almost non-existent.  People rarely use characters in file names that
get you in trouble on MS-Windows.  And if the file name comes from the
user, you can almost be certain she will never use such characters,
and even if she does, she deserves the error message.

About the only real use-case is when the file name comes from the Lisp
code itself.  Which is why I mentioned literal strings so many times.

> But it does not seem like even the Emacs 23 source code calls c-s-f for all of
> the situations that I think you're describing.

It does where we are certain it matters.  See files.el for a few
examples.

> Maybe adding c-s-f everywhere is an ongoing thing, and the code just hasn't yet
> caught up with the rule?

Something like that.  But again, many places will never need it.




  reply	other threads:[~2010-02-06 21:58 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
2010-02-06 20:46           ` Drew Adams
2010-02-06 21:58             ` Eli Zaretskii [this message]
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83zl3mdo22.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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.