[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: Francesco Potortì
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 10:11:17 +0200

>>   * lisp/progmodes/etags.el (etags-file-of-tag, etags-tags-table-files)
>>   (etags-tags-included-tables): Call `convert-standard-filename' on
>>   the file names contained in TAGS so that windows Emacs can handle
>>   TAGS files created by cygwin ctags.
>Is that really right?
>I mean, convert-standard-filename should only ever be called on absolute
>file names, and we have no guarantee that file names in TAGS are
>absolute, do we?

No, we do not.  On the opposite, relative file names in tag files should
never be converted to absolute, and absolute ones never converted to
relative.  The users choose if they want relative or absolute file names
in tags:

33.3.2 Creating Tags Tables


   If you specify the source files with relative file names when you run
`etags', the tags file will contain file names relative to the
directory where the tags file was initially written.  This way, you can
move an entire directory tree containing both the tags file and the
source files, and the tags file will still refer correctly to the source
files.  If the tags file is in `/dev', however, the file names are made
relative to the current working directory.  This is useful, for
example, when writing the tags to `/dev/stdout'.

   When using a relative file name, it should not be a symbolic link
pointing to a tags file in a different directory, because this would
generally render the file names invalid.

   If you specify absolute file names as arguments to `etags', then the
tags file will contain absolute file names.  This way, the tags file
will still refer to the same files even if you move it, as long as the
source files remain in the same place.  Absolute file names start with
`/', or with `DEVICE:/' on MS-DOS and MS-Windows.

reply via email to

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