tags: Unify emacs and exuberant rules
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 22 lines · Linux Kernel
Web: https://git.kernel.org/torvalds/c/93209d65c1d38f86ffb3f61a1214130b581a9709 Commit: 93209d65c1d38f86ffb3f61a1214130b581a9709 Parent: a1ccdb63b5535dc3446b0a9efc6d97aca82c72ef Refname: refs/heads/master Author: Michal Marek <[email protected]> AuthorDate: Wed Oct 14 11:48:06 2015 +0200 Committer: Michal Marek <[email protected]> CommitDate: Tue Jan 5 22:18:48 2016 +0100tags: Unify emacs and exuberant rules
The emacs rules were constantly lagging behind the exuberant ones. Use a single set of rules for both, to make the script easier to maintain. The language understood by both tools is basic regular expression with some limitations, which are documented in a comment. To be able to store the rules in an array and easily iterate over it, the script requires bash now. In the exuberant case, the change fixes some false matches in <
linux/page-flags.h> and also some too greedy matches in the arguments of the DECLARE_*/DEFINE_* macros. In the emacs case, several previously not working rules are matching now. Tested with these versions of the tools:
Quoted 4 lines
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert etags (GNU Emacs 24.5)
Signed-off-by Michal Marek <[email protected]>
Since today, make tags got a lot more noisy for me on Debian unstable (exuberant-ctags 1:5.9~svn20110310-10)
$ make tags GEN tags ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1" ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1" ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1" ctags: Warning: kernel/workqueue.c:307: null expansion of name pattern "\1" ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1" ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1" ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1" ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1" ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
Looks like it's choking on DEFINE_PER_CPU definitions ?
Dave
Quoted 43 lines · Dave Jones
Quoted 22 lines · Linux Kernel
Web: https://git.kernel.org/torvalds/c/93209d65c1d38f86ffb3f61a1214130b581a9709 Commit: 93209d65c1d38f86ffb3f61a1214130b581a9709 Parent: a1ccdb63b5535dc3446b0a9efc6d97aca82c72ef Refname: refs/heads/master Author: Michal Marek <[email protected]> AuthorDate: Wed Oct 14 11:48:06 2015 +0200 Committer: Michal Marek <[email protected]> CommitDate: Tue Jan 5 22:18:48 2016 +0100tags: Unify emacs and exuberant rules
The emacs rules were constantly lagging behind the exuberant ones. Use a single set of rules for both, to make the script easier to maintain. The language understood by both tools is basic regular expression with some limitations, which are documented in a comment. To be able to store the rules in an array and easily iterate over it, the script requires bash now. In the exuberant case, the change fixes some false matches in <
linux/page-flags.h> and also some too greedy matches in the arguments of the DECLARE_*/DEFINE_* macros. In the emacs case, several previously not working rules are matching now. Tested with these versions of the tools:Quoted 4 lines
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert etags (GNU Emacs 24.5)
Signed-off-by Michal Marek <[email protected]>Since today, make tags got a lot more noisy for me on Debian unstable (exuberant-ctags 1:5.9~svn20110310-10)
$ make tags GEN tags ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1" ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1" ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1" ctags: Warning: kernel/workqueue.c:307: null expansion of name pattern "\1" ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1" ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1" ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1" ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1" ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
Quoted 1 line
Looks like it's choking on
DEFINE_PER_CPUdefinitions ?
Yes. But each time I submitted a patch to remove the line breaks in DEFINE_PER_CPU, somebody came up with the clever idea to fix ctags instead.
Michal