Re: tags: Unify emacs and exuberant rules

From: Dave Jones
Date: Thu Jan 21 2016 - 00:22:47 EST


On Wed, Jan 20, 2016 at 06:22:04PM +0000, Linux Kernel wrote:
> Web: https://git.kernel.org/torvalds/c/93209d65c1d38f86ffb3f61a1214130b581a9709
> Commit: 93209d65c1d38f86ffb3f61a1214130b581a9709
> Parent: a1ccdb63b5535dc3446b0a9efc6d97aca82c72ef
> Refname: refs/heads/master
> Author: Michal Marek <mmarek@xxxxxxxx>
> AuthorDate: Wed Oct 14 11:48:06 2015 +0200
> Committer: Michal Marek <mmarek@xxxxxxxx>
> CommitDate: Tue Jan 5 22:18:48 2016 +0100
>
> tags: 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:
>
> Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
> etags (GNU Emacs 24.5)
>
> Signed-off-by: Michal Marek <mmarek@xxxxxxxx>

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