[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH, RFC] etags/ctags v22.0.92 break Linux kernel `make TAGS/tags`
From: |
Don Mullis |
Subject: |
[PATCH, RFC] etags/ctags v22.0.92 break Linux kernel `make TAGS/tags` |
Date: |
Sun, 24 Dec 2006 12:01:31 -0800 |
`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 \
- [PATCH, RFC] etags/ctags v22.0.92 break Linux kernel `make TAGS/tags`,
Don Mullis <=