[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] /srv/bzr/emacs/trunk r105295: * lisp/progmodes/etags.e

From: Stefan Monnier
Subject: Re: [Emacs-diffs] /srv/bzr/emacs/trunk r105295: * lisp/progmodes/etags.el (etags-file-of-tag, etags-tags-table-files)
Date: Tue, 02 Aug 2011 16:24:38 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

>> > convert-standard-filename can be called on any file name, not just an
>> > absolute ones.  Of course, it will only do what Sam wants if the file
>> > name begins with /cygdrive/, i.e. is absolute, but your assertion
>> > seemed to be more general than that.
>> C-h f convert-standard-filename RET:
>> FILENAME should be an absolute file name

> That's a lie:

>   desktop.el:210:  (convert-standard-filename ".emacs.desktop")
>   desktop.el:216:  (convert-standard-filename ".emacs.desktop.lock")
>   dired-x.el:768:(defcustom dired-local-variables-file 
> (convert-standard-filename ".dired")

So these are the counter examples.

>> since the conversion rules sometimes vary depending on the position
>> in the file name.  E.g. c:/foo is a valid DOS file name, but
>> c:/bar/c:/foo is not.
> The example of a problem is correct, but the generalization is
> obviously invalid.

Still, the problem is that the intended meaning of
convert-standard-filename is unclear (what should it do on relative
file names?), and that the functionality require by the OP is not quite
the one provided by convert-standard-filename, AFAIK (and I don't think
we have exactly what he wants).

My understanding is:
- convert-standard-filename is to convert a predefined name, which may
  be mentioned in docs, using mostly Unix conventions so that it works
  on whichever OS we're using.  E.g. it may do things like map ".emacs"
  to "_emacs".
- the function Sam needs is one that converts from "file name using
  conventions used in the system in which Emacs is running" to "file
  name referring to the same file but such that Emacs can access it".
  Doing things like "However, on Windows and DOS, replace invalid
  characters" is not the right thing to do.

BTW the function he wants is also the function that should be applied to
files names received in command-line-args and as args to emacsclient
(as was recently requested by some other poster).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]