emacs-devel
[Top][All Lists]
Advanced

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

etags bug?


From: Richard Stallman
Subject: etags bug?
Date: Mon, 25 Dec 2006 21:25:43 -0500

Is this a bug in etags, or in Emacs, or are these #line directives
in Linux incorrect?

If it is a bug in etags, would you please fix this ASAP?
If it is a bug in tags.el, could you tell us what is going on?

------- Start of forwarded message -------
From: Don Mullis <address@hidden>
To: address@hidden, address@hidden
Content-Type: text/plain
Date: Sun, 24 Dec 2006 12:01:31 -0800
Mime-Version: 1.0
Cc: address@hidden, address@hidden
Subject: [PATCH, RFC] etags/ctags v22.0.92 break Linux kernel `make
        TAGS/tags`
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=failed 
        version=3.0.4

`make TAGS` produces a TAGS that causes the emacs v22.0.92 command 
'M-x tags-search' to repeatedly stop with complaints about missing files.
Proximate cause of this is "#line" directives in Linux source files.

`make tags` produces hundreds of lines of complaints about duplicate
entries.

The following ugly patch works around these problems.  Posting to
both kbuild-devel and emacs-devel in hopes something better can be worked out
for the Emacs v22 release.

- ---
 Makefile |   12 ++++++++++++
 1 file changed, 12 insertions(+)

Index: linux-2.6/Makefile
===================================================================
- --- linux-2.6.orig/Makefile
+++ linux-2.6/Makefile
@@ -1337,6 +1337,18 @@ define xtags
                --langdef=dotconfig \
                --language-force=dotconfig \
                --regex-dotconfig='/^#?[[:blank:]]*(CONFIG_[[:alnum:]_]+)/\1/'; 
\
+       elif $1 --version 2>&1 | grep -iq 'ctags.* 22\.'; then \
+           $(all-sources) | xargs $1 -a -w; \
+           $(all-kconfigs) | xargs $1 -a -w \
+               --regex='/^[ \t]*config[ \t]+\([a-zA-Z0-9_]+\)/\1/'; \
+           $(all-defconfigs) | xargs -r $1 -a -w \
+               --regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \
+       elif $1 --version 2>&1 | grep -iq 'etags.* 22\.'; then \
+           $(all-sources) | xargs $1 -a --no-line-directive; \
+           $(all-kconfigs) | xargs $1 -a --no-line-directive \
+               --regex='/^[ \t]*config[ \t]+\([a-zA-Z0-9_]+\)/\1/'; \
+           $(all-defconfigs) | xargs -r $1 -a --no-line-directive \
+               --regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \
        elif $1 --version 2>&1 | grep -iq emacs; then \
            $(all-sources) | xargs $1 -a; \
            $(all-kconfigs) | xargs $1 -a \




_______________________________________________
Emacs-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-devel
------- End of forwarded message -------




reply via email to

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