all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* RE: etags confused with uppercase filenames (on Windows)
@ 2002-04-03 22:01 Stavros Macrakis
  0 siblings, 0 replies; 14+ messages in thread
From: Stavros Macrakis @ 2002-04-03 22:01 UTC (permalink / raw)
  Cc: emacs-devel

Just to make things weirder, if you have a file called xx.EL, then currently

  etags xx.el

treats it as Emacs-Lisp, while

  etags xx.EL xx*.el xx*.EL

treat it as C.  Conversely, if you have a file called yy.el, then currently
etags treats yy.EL as C, and the other cases as Emacs-lisp.

Apparently etags is not checking the real name of the file, just what it was
named on the command line.

      -s

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: etags confused with uppercase filenames (on Windows)
@ 2002-04-02 15:19 Francesco Potorti`
  2002-04-02 15:46 ` Stavros Macrakis
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Francesco Potorti` @ 2002-04-02 15:19 UTC (permalink / raw)
  Cc: Emacs developers, Stavros Macrakis

   This particular problem can be solved by adding "EL" to the
   Lisp_suffixes array in etags.c.  

Indeed.

By the way, Stavros can circumvent his problem by prepending to the file
names the option --language=lisp.

   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.

That would not be a big problem, because etags can distinguish C and C++
by looking at the file contents.  But in general, I agree that making
etags case insensitive on file names means losing information, and
is not the right thing to do.

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

I have an idea, and would like to hear if anyone has anything against
it.

To determine a file's language, currently etags does the following:

1) if the user specified a language, use that
2) else, guess it from the file name
3) else, look for #!
4) ... (other euristics)

I think that I could add:

2bis) else, if the file name is all upcase, upcase the builtin file name
      suffixes and retry

^ permalink raw reply	[flat|nested] 14+ messages in thread
* 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; 14+ 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] 14+ messages in thread

end of thread, other threads:[~2002-04-04 17:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-03 22:01 etags confused with uppercase filenames (on Windows) Stavros Macrakis
  -- strict thread matches above, loose matches on Subject: below --
2002-04-02 15:19 Francesco Potorti`
2002-04-02 15:46 ` Stavros Macrakis
2002-04-02 16:02 ` Stefan Monnier
2002-04-03  7:57   ` Eli Zaretskii
2002-04-03  8:43     ` Francesco Potorti`
2002-04-03 15:42       ` Stefan Monnier
2002-04-03 21:23         ` Francesco Potorti`
2002-04-03 15:22     ` Stefan Monnier
2002-04-04 17:36     ` Richard Stallman
2002-04-03  7:54 ` Eli Zaretskii
2002-04-03 21:40   ` Stavros Macrakis
2002-03-30  1:56 Stavros Macrakis
2002-03-30  8:37 ` Eli Zaretskii

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.