Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1313896 > unrolled thread

Re: tags: Unify emacs and exuberant rules

Started byDave Jones <davej@codemonkey.org.uk>
First post2016-01-21 06:30 +0100
Last post2016-01-22 08:50 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: tags: Unify emacs and exuberant rules Dave Jones <davej@codemonkey.org.uk> - 2016-01-21 06:30 +0100
    Re: tags: Unify emacs and exuberant rules Michal Marek <mmarek@suse.com> - 2016-01-22 08:50 +0100

#1313896 — Re: tags: Unify emacs and exuberant rules

FromDave Jones <davej@codemonkey.org.uk>
Date2016-01-21 06:30 +0100
SubjectRe: tags: Unify emacs and exuberant rules
Message-ID<qTfYJ-Ea-1@gated-at.bofh.it>
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@suse.com>
 > AuthorDate: Wed Oct 14 11:48:06 2015 +0200
 > Committer:  Michal Marek <mmarek@suse.com>
 > 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@suse.com>

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

[toc] | [next] | [standalone]


#1314803

FromMichal Marek <mmarek@suse.com>
Date2016-01-22 08:50 +0100
Message-ID<qTEDM-Sz-5@gated-at.bofh.it>
In reply to#1313896
On 2016-01-21 06:22, Dave Jones wrote:
> 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@suse.com>
>  > AuthorDate: Wed Oct 14 11:48:06 2015 +0200
>  > Committer:  Michal Marek <mmarek@suse.com>
>  > 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@suse.com>
> 
> 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 ?

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web