unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* etags confused with uppercase filenames (on Windows)
@ 2002-03-30  1:56 Stavros Macrakis
  2002-03-30  8:37 ` Eli Zaretskii
  0 siblings, 1 reply; 2+ messages in thread
From: Stavros Macrakis @ 2002-03-30  1:56 UTC (permalink / raw)


etags copyright 98 distributed with Emacs 20.7.1 (i386-*-nt5.0.2195)
running on Windows 2000

Here's a funny little bug....

Take the file below, call it foo.el.

Run the following command line:

 > etags foo.el FOO.EL

You get the tags file shown below, which is correct for fox.el and incorrect
for FOO.EL.  Same error if the command includes only FOO.EL.

Note that on Windows, case is ignored in dereferencing filenames, so these
two filenames refer to the same file, and in fact *.el finds FOO.EL.  If the
file name is all-caps in the directory, you get the same problem.  .EL works
fine everywhere else in Emacs as far as I can tell.

This happened to me because in some transfer from one filesystem to another,
some piece of software decided to canonicalize filenames as all-caps....
They worked fine, except for this glitch in etags.

       -s

-----------foo.el---------
(defun zoo2 (n) (delete-region 3 4))

(defun sdfsdf ()
    ;; comment 1
    ;; comment 2
    (let ((sdf 0))
      ;; comment 3
      ;; comment 4
      ))

----------TAGS---------
^L
fox.el,49
(defun zoo2 \x7fzoo2\x011,0
(defun sdfsdf \x7fsdfsdf\x013,38
^L
FOX.EL,45
    ;; comment \x7f4,55
      ;; comment \x7f7,108

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: etags confused with uppercase filenames (on Windows)
  2002-03-30  1:56 etags confused with uppercase filenames (on Windows) Stavros Macrakis
@ 2002-03-30  8:37 ` Eli Zaretskii
  0 siblings, 0 replies; 2+ messages in thread
From: Eli Zaretskii @ 2002-03-30  8:37 UTC (permalink / raw)
  Cc: bug-gnu-emacs

> Reply-To: <macrakis@alum.mit.edu>
> Date: Fri, 29 Mar 2002 20:56:20 -0500
> 
> Run the following command line:
> 
>  > etags foo.el FOO.EL
> 
> You get the tags file shown below, which is correct for fox.el and incorrect
> for FOO.EL.  Same error if the command includes only FOO.EL.
> 
> Note that on Windows, case is ignored in dereferencing filenames, so these
> two filenames refer to the same file, and in fact *.el finds FOO.EL.

This particular problem can be solved by adding "EL" to the
Lisp_suffixes array in etags.c.  However, I don't think etags can be
made case-insensitive to file names in general, since foo.C needs to
be processed as C++ code, while foo.c should be processed as C code.

So I'd suggest to keep your file names in proper letter-case.  Windows
is indeed case-insensitive, but it does preserve the letter-case in
file names.

> This happened to me because in some transfer from one filesystem to another,
> some piece of software decided to canonicalize filenames as all-caps....

If you have a program that generates UPCASED file names, try to
replace it with some other program, which does not.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-03-30  8:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-30  1:56 etags confused with uppercase filenames (on Windows) Stavros Macrakis
2002-03-30  8:37 ` Eli Zaretskii

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).