linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tags: fix regex passed to etags
@ 2012-02-03 19:27 Stephen Hemminger
  2012-02-03 19:42 ` Stephen Boyd
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Hemminger @ 2012-02-03 19:27 UTC (permalink / raw)
  To: Stephen Boyd, Michal Marek; +Cc: linux-kernel

Several of the regular expressions passed to etags where incorrect
and missing the backslash before the closing parenthesis, causing warning:
  etags: Unmatched ( or \( while compiling pattern

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/scripts/tags.sh	2012-02-03 11:21:08.880886637 -0800
+++ b/scripts/tags.sh	2012-02-03 11:21:57.753063962 -0800
@@ -178,27 +178,27 @@ emacs()
 	--regex='/^SYSCALL_DEFINE[0-9]?(\([^,)]*\).*/sys_\1/'   \
 	--regex='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\
 	--regex='/^DEFINE_EVENT([^,)]*, *\([^,)]*\).*/trace_\1/' \
-	--regex='/PAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex='/PAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex='/PAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex='/TESTSETFLAG\(([^,)]*).*/TestSetPage\1/'	\
-	--regex='/TESTPAGEFLAG\(([^,)]*).*/Page\1/'		\
-	--regex='/SETPAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex='/__SETPAGEFLAG\(([^,)]*).*/__SetPage\1/'	\
-	--regex='/TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/__TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/CLEARPAGEFLAG\(([^,)]*).*/ClearPage\1/'	\
-	--regex='/__CLEARPAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex='/__PAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex='/__PAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex='/PAGEFLAG_FALSE\(([^,)]*).*/Page\1/'		\
-	--regex='/TESTSCFLAG\(([^,)]*).*/TestSetPage\1/'	\
-	--regex='/TESTSCFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/SETPAGEFLAG_NOOP\(([^,)]*).*/SetPage\1/'	\
-	--regex='/CLEARPAGEFLAG_NOOP\(([^,)]*).*/ClearPage\1/'	\
-	--regex='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/' \
-	--regex='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
-	--regex='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/'
+	--regex='/PAGEFLAG\(([^,)]*\).*/Page\1/'			\
+	--regex='/PAGEFLAG\(([^,)]*\).*/SetPage\1/'		\
+	--regex='/PAGEFLAG\(([^,)]*\).*/ClearPage\1/'		\
+	--regex='/TESTSETFLAG\(([^,)]*\).*/TestSetPage\1/'	\
+	--regex='/TESTPAGEFLAG\(([^,)]*\).*/Page\1/'		\
+	--regex='/SETPAGEFLAG\(([^,)]*\).*/SetPage\1/'		\
+	--regex='/__SETPAGEFLAG\(([^,)]*\).*/__SetPage\1/'	\
+	--regex='/TESTCLEARFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/__TESTCLEARFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/CLEARPAGEFLAG\(([^,)]*\).*/ClearPage\1/'	\
+	--regex='/__CLEARPAGEFLAG\(([^,)]*\).*/__ClearPage\1/'	\
+	--regex='/__PAGEFLAG\(([^,)]*\).*/__SetPage\1/'		\
+	--regex='/__PAGEFLAG\(([^,)]*\).*/__ClearPage\1/'	\
+	--regex='/PAGEFLAG_FALSE\(([^,)]*\).*/Page\1/'		\
+	--regex='/TESTSCFLAG\(([^,)]*\).*/TestSetPage\1/'	\
+	--regex='/TESTSCFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/SETPAGEFLAG_NOOP\(([^,)]*\).*/SetPage\1/'	\
+	--regex='/CLEARPAGEFLAG_NOOP\(([^,)]*\).*/ClearPage\1/'	\
+	--regex='/__CLEARPAGEFLAG_NOOP\(([^,)]*\).*/__ClearPage\1/' \
+	--regex='/TESTCLEARFLAG_FALSE\(([^,)]*\).*/TestClearPage\1/' \
+	--regex='/__TESTCLEARFLAG_FALSE\(([^,)]*\).*/__TestClearPage\1/'
 
 	all_kconfigs | xargs $1 -a                              \
 	--regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix regex passed to etags
  2012-02-03 19:27 [PATCH] tags: fix regex passed to etags Stephen Hemminger
@ 2012-02-03 19:42 ` Stephen Boyd
  2012-02-03 20:18   ` Stephen Hemminger
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2012-02-03 19:42 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Michal Marek, linux-kernel

On 02/03/12 11:27, Stephen Hemminger wrote:
> Several of the regular expressions passed to etags where incorrect
> and missing the backslash before the closing parenthesis, causing warning:
>   etags: Unmatched ( or \( while compiling pattern
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>

I'm confused how ctags didn't complain at me. It worked for me when I
tried it. Next time I'll try both. Thanks.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix regex passed to etags
  2012-02-03 19:42 ` Stephen Boyd
@ 2012-02-03 20:18   ` Stephen Hemminger
  2012-02-06 20:32     ` Stephen Boyd
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Hemminger @ 2012-02-03 20:18 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: Michal Marek, linux-kernel

On Fri, 03 Feb 2012 11:42:53 -0800
Stephen Boyd <sboyd@codeaurora.org> wrote:

> On 02/03/12 11:27, Stephen Hemminger wrote:
> > Several of the regular expressions passed to etags where incorrect
> > and missing the backslash before the closing parenthesis, causing warning:
> >   etags: Unmatched ( or \( while compiling pattern
> >
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> >
> 
> I'm confused how ctags didn't complain at me. It worked for me when I
> tried it. Next time I'll try both. Thanks.
> 

Most likely a new check in newer version of the tags command.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix regex passed to etags
  2012-02-03 20:18   ` Stephen Hemminger
@ 2012-02-06 20:32     ` Stephen Boyd
  2012-02-06 20:40       ` [PATCH] tags: fix regex passed to etags and ctags Stephen Hemminger
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2012-02-06 20:32 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Stephen Boyd, Michal Marek, linux-kernel

> On Fri, 03 Feb 2012 11:42:53 -0800
> Stephen Boyd <sboyd@codeaurora.org> wrote:
>
>> On 02/03/12 11:27, Stephen Hemminger wrote:
>> > Several of the regular expressions passed to etags where incorrect
>> > and missing the backslash before the closing parenthesis, causing
>> warning:
>> >   etags: Unmatched ( or \( while compiling pattern
>> >
>> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>> >
>>
>> I'm confused how ctags didn't complain at me. It worked for me when I
>> tried it. Next time I'll try both. Thanks.
>>
>
> Most likely a new check in newer version of the tags command.
>

Actually it looks like ctags also needs the fix. Can you resend with
both etags and ctags fixed?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] tags: fix regex passed to etags and ctags
  2012-02-06 20:32     ` Stephen Boyd
@ 2012-02-06 20:40       ` Stephen Hemminger
  2012-02-06 23:05         ` Stephen Boyd
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Hemminger @ 2012-02-06 20:40 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: Michal Marek, linux-kernel

Several of the regular expressions passed to etags and ctags where incorrect
and missing the backslash before the closing paren, causing warning:
  etags: Unmatched ( or \( while compiling pattern

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
v2 - cover all regex (not just etags)


--- a/scripts/tags.sh	2012-02-06 12:38:53.243121989 -0800
+++ b/scripts/tags.sh	2012-02-06 12:39:00.507138571 -0800
@@ -130,30 +130,30 @@ exuberant()
 	-I DEFINE_TRACE,EXPORT_TRACEPOINT_SYMBOL,EXPORT_TRACEPOINT_SYMBOL_GPL \
 	--extra=+f --c-kinds=+px                                \
 	--regex-asm='/^(ENTRY|_GLOBAL)\(([^)]*)\).*/\2/'        \
-	--regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/' \
-	--regex-c++='/^TRACE_EVENT\(([^,)]*).*/trace_\1/'		\
-	--regex-c++='/^DEFINE_EVENT\([^,)]*, *([^,)]*).*/trace_\1/'	\
-	--regex-c++='/PAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex-c++='/PAGEFLAG\(([^,)]*).*/SetPage\1/'			\
-	--regex-c++='/PAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex-c++='/TESTSETFLAG\(([^,)]*).*/TestSetPage\1/'		\
-	--regex-c++='/TESTPAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex-c++='/SETPAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex-c++='/__SETPAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex-c++='/TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex-c++='/__TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex-c++='/CLEARPAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex-c++='/__CLEARPAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex-c++='/__PAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex-c++='/__PAGEFLAG\(([^,)]*).*/__ClearPage\1/'		\
-	--regex-c++='/PAGEFLAG_FALSE\(([^,)]*).*/Page\1/'		\
-	--regex-c++='/TESTSCFLAG\(([^,)]*).*/TestSetPage\1/'		\
-	--regex-c++='/TESTSCFLAG\(([^,)]*).*/TestClearPage\1/'		\
-	--regex-c++='/SETPAGEFLAG_NOOP\(([^,)]*).*/SetPage\1/'		\
-	--regex-c++='/CLEARPAGEFLAG_NOOP\(([^,)]*).*/ClearPage\1/'	\
-	--regex-c++='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/'	\
-	--regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
-	--regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/'
+	--regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*\).*/sys_\1/' \
+	--regex-c++='/^TRACE_EVENT\(([^,)]*\).*/trace_\1/'		\
+	--regex-c++='/^DEFINE_EVENT\([^,)]*, *([^,)]*\).*/trace_\1/'	\
+	--regex-c++='/PAGEFLAG\(([^,)]*\).*/Page\1/'			\
+	--regex-c++='/PAGEFLAG\(([^,)]*\).*/SetPage\1/'			\
+	--regex-c++='/PAGEFLAG\(([^,)]*\).*/ClearPage\1/'		\
+	--regex-c++='/TESTSETFLAG\(([^,)]*\).*/TestSetPage\1/'		\
+	--regex-c++='/TESTPAGEFLAG\(([^,)]*\).*/Page\1/'		\
+	--regex-c++='/SETPAGEFLAG\(([^,)]*\).*/SetPage\1/'		\
+	--regex-c++='/__SETPAGEFLAG\(([^,)]*\).*/__SetPage\1/'		\
+	--regex-c++='/TESTCLEARFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex-c++='/__TESTCLEARFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex-c++='/CLEARPAGEFLAG\(([^,)]*\).*/ClearPage\1/'		\
+	--regex-c++='/__CLEARPAGEFLAG\(([^,)]*\).*/__ClearPage\1/'	\
+	--regex-c++='/__PAGEFLAG\(([^,)]*\).*/__SetPage\1/'		\
+	--regex-c++='/__PAGEFLAG\(([^,)]*\).*/__ClearPage\1/'		\
+	--regex-c++='/PAGEFLAG_FALSE\(([^,)]*\).*/Page\1/'		\
+	--regex-c++='/TESTSCFLAG\(([^,)]*\).*/TestSetPage\1/'		\
+	--regex-c++='/TESTSCFLAG\(([^,)]*\).*/TestClearPage\1/'		\
+	--regex-c++='/SETPAGEFLAG_NOOP\(([^,)]*\).*/SetPage\1/'		\
+	--regex-c++='/CLEARPAGEFLAG_NOOP\(([^,)]*\).*/ClearPage\1/'	\
+	--regex-c++='/__CLEARPAGEFLAG_NOOP\(([^,)]*\).*/__ClearPage\1/'	\
+	--regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*\).*/TestClearPage\1/' \
+	--regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*\).*/__TestClearPage\1/'
 
 	all_kconfigs | xargs $1 -a                              \
 	--langdef=kconfig --language-force=kconfig              \
@@ -178,27 +178,27 @@ emacs()
 	--regex='/^SYSCALL_DEFINE[0-9]?(\([^,)]*\).*/sys_\1/'   \
 	--regex='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\
 	--regex='/^DEFINE_EVENT([^,)]*, *\([^,)]*\).*/trace_\1/' \
-	--regex='/PAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex='/PAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex='/PAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex='/TESTSETFLAG\(([^,)]*).*/TestSetPage\1/'	\
-	--regex='/TESTPAGEFLAG\(([^,)]*).*/Page\1/'		\
-	--regex='/SETPAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex='/__SETPAGEFLAG\(([^,)]*).*/__SetPage\1/'	\
-	--regex='/TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/__TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/CLEARPAGEFLAG\(([^,)]*).*/ClearPage\1/'	\
-	--regex='/__CLEARPAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex='/__PAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex='/__PAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex='/PAGEFLAG_FALSE\(([^,)]*).*/Page\1/'		\
-	--regex='/TESTSCFLAG\(([^,)]*).*/TestSetPage\1/'	\
-	--regex='/TESTSCFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/SETPAGEFLAG_NOOP\(([^,)]*).*/SetPage\1/'	\
-	--regex='/CLEARPAGEFLAG_NOOP\(([^,)]*).*/ClearPage\1/'	\
-	--regex='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/' \
-	--regex='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
-	--regex='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/'
+	--regex='/PAGEFLAG\(([^,)]*\).*/Page\1/'			\
+	--regex='/PAGEFLAG\(([^,)]*\).*/SetPage\1/'		\
+	--regex='/PAGEFLAG\(([^,)]*\).*/ClearPage\1/'		\
+	--regex='/TESTSETFLAG\(([^,)]*\).*/TestSetPage\1/'	\
+	--regex='/TESTPAGEFLAG\(([^,)]*\).*/Page\1/'		\
+	--regex='/SETPAGEFLAG\(([^,)]*\).*/SetPage\1/'		\
+	--regex='/__SETPAGEFLAG\(([^,)]*\).*/__SetPage\1/'	\
+	--regex='/TESTCLEARFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/__TESTCLEARFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/CLEARPAGEFLAG\(([^,)]*\).*/ClearPage\1/'	\
+	--regex='/__CLEARPAGEFLAG\(([^,)]*\).*/__ClearPage\1/'	\
+	--regex='/__PAGEFLAG\(([^,)]*\).*/__SetPage\1/'		\
+	--regex='/__PAGEFLAG\(([^,)]*\).*/__ClearPage\1/'	\
+	--regex='/PAGEFLAG_FALSE\(([^,)]*\).*/Page\1/'		\
+	--regex='/TESTSCFLAG\(([^,)]*\).*/TestSetPage\1/'	\
+	--regex='/TESTSCFLAG\(([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/SETPAGEFLAG_NOOP\(([^,)]*\).*/SetPage\1/'	\
+	--regex='/CLEARPAGEFLAG_NOOP\(([^,)]*\).*/ClearPage\1/'	\
+	--regex='/__CLEARPAGEFLAG_NOOP\(([^,)]*\).*/__ClearPage\1/' \
+	--regex='/TESTCLEARFLAG_FALSE\(([^,)]*\).*/TestClearPage\1/' \
+	--regex='/__TESTCLEARFLAG_FALSE\(([^,)]*\).*/__TestClearPage\1/'
 
 	all_kconfigs | xargs $1 -a                              \
 	--regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix regex passed to etags and ctags
  2012-02-06 20:40       ` [PATCH] tags: fix regex passed to etags and ctags Stephen Hemminger
@ 2012-02-06 23:05         ` Stephen Boyd
  2012-02-06 23:15           ` [PATCH] tags: fix use of parenthesis in regex Stephen Hemminger
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2012-02-06 23:05 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Michal Marek, linux-kernel

On 02/06/12 12:40, Stephen Hemminger wrote:
> Several of the regular expressions passed to etags and ctags where incorrect
> and missing the backslash before the closing paren, causing warning:
>   etags: Unmatched ( or \( while compiling pattern
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>
> ---
> v2 - cover all regex (not just etags)
>

Ok one more problem (my eyes hurt with all these parentheses).

--regex-c++='/PAGEFLAG\(([^,)]*\).*/Page\1/'


should be

--regex-c++='/PAGEFLAG(\([^,)]*\).*/Page\1/'


so that PAGEFLAG(Foo, ...) becomes PageFoo and not Page(Foo

After that:

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] tags: fix use of parenthesis in regex
  2012-02-06 23:05         ` Stephen Boyd
@ 2012-02-06 23:15           ` Stephen Hemminger
  2012-02-07 19:18             ` Stephen Boyd
  2012-02-25  0:34             ` Michal Marek
  0 siblings, 2 replies; 11+ messages in thread
From: Stephen Hemminger @ 2012-02-06 23:15 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: Michal Marek, linux-kernel

Several of the regular expressions passed to etags and ctags where incorrect
and missing the backslash before the closing paren, and matching the wrong
part of the start of the function causing warning:
  etags: Unmatched ( or \( while compiling pattern

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
v2 - cover all regex (not just etags)
v3 - fix match at start of function args


--- a/scripts/tags.sh	2012-02-06 12:38:53.243121989 -0800
+++ b/scripts/tags.sh	2012-02-06 15:13:33.400557183 -0800
@@ -129,31 +129,31 @@ exuberant()
 	-I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL                      \
 	-I DEFINE_TRACE,EXPORT_TRACEPOINT_SYMBOL,EXPORT_TRACEPOINT_SYMBOL_GPL \
 	--extra=+f --c-kinds=+px                                \
-	--regex-asm='/^(ENTRY|_GLOBAL)\(([^)]*)\).*/\2/'        \
-	--regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/' \
-	--regex-c++='/^TRACE_EVENT\(([^,)]*).*/trace_\1/'		\
-	--regex-c++='/^DEFINE_EVENT\([^,)]*, *([^,)]*).*/trace_\1/'	\
-	--regex-c++='/PAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex-c++='/PAGEFLAG\(([^,)]*).*/SetPage\1/'			\
-	--regex-c++='/PAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex-c++='/TESTSETFLAG\(([^,)]*).*/TestSetPage\1/'		\
-	--regex-c++='/TESTPAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex-c++='/SETPAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex-c++='/__SETPAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex-c++='/TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex-c++='/__TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex-c++='/CLEARPAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex-c++='/__CLEARPAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex-c++='/__PAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex-c++='/__PAGEFLAG\(([^,)]*).*/__ClearPage\1/'		\
-	--regex-c++='/PAGEFLAG_FALSE\(([^,)]*).*/Page\1/'		\
-	--regex-c++='/TESTSCFLAG\(([^,)]*).*/TestSetPage\1/'		\
-	--regex-c++='/TESTSCFLAG\(([^,)]*).*/TestClearPage\1/'		\
-	--regex-c++='/SETPAGEFLAG_NOOP\(([^,)]*).*/SetPage\1/'		\
-	--regex-c++='/CLEARPAGEFLAG_NOOP\(([^,)]*).*/ClearPage\1/'	\
-	--regex-c++='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/'	\
-	--regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
-	--regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/'
+	--regex-asm='/^(ENTRY|_GLOBAL)(\([^)]*)\).*/\2/'        \
+	--regex-c='/^SYSCALL_DEFINE[[:digit:]]?(\([^,)]*\).*/sys_\1/' \
+	--regex-c++='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\
+	--regex-c++='/^DEFINE_EVENT\([^,)]*, *([^,)]*\).*/trace_\1/'	\
+	--regex-c++='/PAGEFLAG(\([^,)]*\).*/Page\1/'			\
+	--regex-c++='/PAGEFLAG(\([^,)]*\).*/SetPage\1/'			\
+	--regex-c++='/PAGEFLAG(\([^,)]*\).*/ClearPage\1/'		\
+	--regex-c++='/TESTSETFLAG(\([^,)]*\).*/TestSetPage\1/'		\
+	--regex-c++='/TESTPAGEFLAG(\([^,)]*\).*/Page\1/'		\
+	--regex-c++='/SETPAGEFLAG(\([^,)]*\).*/SetPage\1/'		\
+	--regex-c++='/__SETPAGEFLAG(\([^,)]*\).*/__SetPage\1/'		\
+	--regex-c++='/TESTCLEARFLAG(\([^,)]*\).*/TestClearPage\1/'	\
+	--regex-c++='/__TESTCLEARFLAG(\([^,)]*\).*/TestClearPage\1/'	\
+	--regex-c++='/CLEARPAGEFLAG(\([^,)]*\).*/ClearPage\1/'		\
+	--regex-c++='/__CLEARPAGEFLAG(\([^,)]*\).*/__ClearPage\1/'	\
+	--regex-c++='/__PAGEFLAG(\([^,)]*\).*/__SetPage\1/'		\
+	--regex-c++='/__PAGEFLAG(\([^,)]*\).*/__ClearPage\1/'		\
+	--regex-c++='/PAGEFLAG_FALSE(\([^,)]*\).*/Page\1/'		\
+	--regex-c++='/TESTSCFLAG(\([^,)]*\).*/TestSetPage\1/'		\
+	--regex-c++='/TESTSCFLAG(\([^,)]*\).*/TestClearPage\1/'		\
+	--regex-c++='/SETPAGEFLAG_NOOP(\([^,)]*\).*/SetPage\1/'		\
+	--regex-c++='/CLEARPAGEFLAG_NOOP(\([^,)]*\).*/ClearPage\1/'	\
+	--regex-c++='/__CLEARPAGEFLAG_NOOP(\([^,)]*\).*/__ClearPage\1/'	\
+	--regex-c++='/TESTCLEARFLAG_FALSE(\([^,)]*\).*/TestClearPage\1/' \
+	--regex-c++='/__TESTCLEARFLAG_FALSE(\([^,)]*\).*/__TestClearPage\1/'
 
 	all_kconfigs | xargs $1 -a                              \
 	--langdef=kconfig --language-force=kconfig              \
@@ -178,27 +178,27 @@ emacs()
 	--regex='/^SYSCALL_DEFINE[0-9]?(\([^,)]*\).*/sys_\1/'   \
 	--regex='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\
 	--regex='/^DEFINE_EVENT([^,)]*, *\([^,)]*\).*/trace_\1/' \
-	--regex='/PAGEFLAG\(([^,)]*).*/Page\1/'			\
-	--regex='/PAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex='/PAGEFLAG\(([^,)]*).*/ClearPage\1/'		\
-	--regex='/TESTSETFLAG\(([^,)]*).*/TestSetPage\1/'	\
-	--regex='/TESTPAGEFLAG\(([^,)]*).*/Page\1/'		\
-	--regex='/SETPAGEFLAG\(([^,)]*).*/SetPage\1/'		\
-	--regex='/__SETPAGEFLAG\(([^,)]*).*/__SetPage\1/'	\
-	--regex='/TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/__TESTCLEARFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/CLEARPAGEFLAG\(([^,)]*).*/ClearPage\1/'	\
-	--regex='/__CLEARPAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex='/__PAGEFLAG\(([^,)]*).*/__SetPage\1/'		\
-	--regex='/__PAGEFLAG\(([^,)]*).*/__ClearPage\1/'	\
-	--regex='/PAGEFLAG_FALSE\(([^,)]*).*/Page\1/'		\
-	--regex='/TESTSCFLAG\(([^,)]*).*/TestSetPage\1/'	\
-	--regex='/TESTSCFLAG\(([^,)]*).*/TestClearPage\1/'	\
-	--regex='/SETPAGEFLAG_NOOP\(([^,)]*).*/SetPage\1/'	\
-	--regex='/CLEARPAGEFLAG_NOOP\(([^,)]*).*/ClearPage\1/'	\
-	--regex='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/' \
-	--regex='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
-	--regex='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/'
+	--regex='/PAGEFLAG(\([^,)]*\).*/Page\1/'			\
+	--regex='/PAGEFLAG(\([^,)]*\).*/SetPage\1/'		\
+	--regex='/PAGEFLAG(\([^,)]*\).*/ClearPage\1/'		\
+	--regex='/TESTSETFLAG(\([^,)]*\).*/TestSetPage\1/'	\
+	--regex='/TESTPAGEFLAG(\([^,)]*\).*/Page\1/'		\
+	--regex='/SETPAGEFLAG(\([^,)]*\).*/SetPage\1/'		\
+	--regex='/__SETPAGEFLAG(\([^,)]*\).*/__SetPage\1/'	\
+	--regex='/TESTCLEARFLAG(\([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/__TESTCLEARFLAG(\([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/CLEARPAGEFLAG(\([^,)]*\).*/ClearPage\1/'	\
+	--regex='/__CLEARPAGEFLAG(\([^,)]*\).*/__ClearPage\1/'	\
+	--regex='/__PAGEFLAG(\([^,)]*\).*/__SetPage\1/'		\
+	--regex='/__PAGEFLAG(\([^,)]*\).*/__ClearPage\1/'	\
+	--regex='/PAGEFLAG_FALSE(\([^,)]*\).*/Page\1/'		\
+	--regex='/TESTSCFLAG(\([^,)]*\).*/TestSetPage\1/'	\
+	--regex='/TESTSCFLAG(\([^,)]*\).*/TestClearPage\1/'	\
+	--regex='/SETPAGEFLAG_NOOP(\([^,)]*\).*/SetPage\1/'	\
+	--regex='/CLEARPAGEFLAG_NOOP(\([^,)]*\).*/ClearPage\1/'	\
+	--regex='/__CLEARPAGEFLAG_NOOP(\([^,)]*\).*/__ClearPage\1/' \
+	--regex='/TESTCLEARFLAG_FALSE(\([^,)]*\).*/TestClearPage\1/' \
+	--regex='/__TESTCLEARFLAG_FALSE(\([^,)]*\).*/__TestClearPage\1/'
 
 	all_kconfigs | xargs $1 -a                              \
 	--regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix use of parenthesis in regex
  2012-02-06 23:15           ` [PATCH] tags: fix use of parenthesis in regex Stephen Hemminger
@ 2012-02-07 19:18             ` Stephen Boyd
  2012-02-25  0:34             ` Michal Marek
  1 sibling, 0 replies; 11+ messages in thread
From: Stephen Boyd @ 2012-02-07 19:18 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Michal Marek, linux-kernel

On 02/06/12 15:15, Stephen Hemminger wrote:
> Several of the regular expressions passed to etags and ctags where incorrect
> and missing the backslash before the closing paren, and matching the wrong
> part of the start of the function causing warning:
>   etags: Unmatched ( or \( while compiling pattern
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix use of parenthesis in regex
  2012-02-06 23:15           ` [PATCH] tags: fix use of parenthesis in regex Stephen Hemminger
  2012-02-07 19:18             ` Stephen Boyd
@ 2012-02-25  0:34             ` Michal Marek
  2012-02-25  0:56               ` Stephen Hemminger
  1 sibling, 1 reply; 11+ messages in thread
From: Michal Marek @ 2012-02-25  0:34 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Stephen Boyd, linux-kernel

On Mon, Feb 06, 2012 at 03:15:43PM -0800, Stephen Hemminger wrote:
> Several of the regular expressions passed to etags and ctags where incorrect
> and missing the backslash before the closing paren, and matching the wrong
> part of the start of the function causing warning:
>   etags: Unmatched ( or \( while compiling pattern

But your patch introduces another imbalances, e.g.


> @@ -129,31 +129,31 @@ exuberant()
...
> -	--regex-c++='/^TRACE_EVENT\(([^,)]*).*/trace_\1/'		\
...
> +	--regex-c++='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\

The old version had left paren, start of group, ..., end of group
The new version has start of group, left paren, ..., right paren

Where left / right paren means the character without any special
meaning. I actually can't see anything wrong with the old TRACE_EVENT matching, the regular expression is correct and I think it does what it should do (turn
TRACE_EVENT(foo) into trace_foo).

Below is the full list of warnings I get from

Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +wildcards, +regex


  GEN     tags
ctags: Warning: regcomp ^SYSCALL_DEFINE[[:digit:]]?(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp ^TRACE_EVENT(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp ^DEFINE_EVENT\([^,)]*, *([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp TESTSETFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp TESTPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp SETPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __SETPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp TESTCLEARFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __TESTCLEARFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp CLEARPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __CLEARPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp PAGEFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp TESTSCFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp TESTSCFLAG(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp SETPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp CLEARPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __CLEARPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp TESTCLEARFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
ctags: Warning: regcomp __TESTCLEARFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(

The same list repeats, as ctags is called multiple times.

Michal

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix use of parenthesis in regex
  2012-02-25  0:34             ` Michal Marek
@ 2012-02-25  0:56               ` Stephen Hemminger
  2012-02-25  9:37                 ` Michal Marek
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Hemminger @ 2012-02-25  0:56 UTC (permalink / raw)
  To: Michal Marek; +Cc: Stephen Boyd, linux-kernel

On Sat, 25 Feb 2012 01:34:12 +0100
Michal Marek <mmarek@suse.cz> wrote:

> On Mon, Feb 06, 2012 at 03:15:43PM -0800, Stephen Hemminger wrote:
> > Several of the regular expressions passed to etags and ctags where incorrect
> > and missing the backslash before the closing paren, and matching the wrong
> > part of the start of the function causing warning:
> >   etags: Unmatched ( or \( while compiling pattern
> 
> But your patch introduces another imbalances, e.g.
> 
> 
> > @@ -129,31 +129,31 @@ exuberant()
> ...
> > -	--regex-c++='/^TRACE_EVENT\(([^,)]*).*/trace_\1/'		\
> ...
> > +	--regex-c++='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\
> 
> The old version had left paren, start of group, ..., end of group
> The new version has start of group, left paren, ..., right paren
> 
> Where left / right paren means the character without any special
> meaning. I actually can't see anything wrong with the old TRACE_EVENT matching, the regular expression is correct and I think it does what it should do (turn
> TRACE_EVENT(foo) into trace_foo).
> 
> Below is the full list of warnings I get from
> 
> Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
>   Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
>   Optional compiled features: +wildcards, +regex
> 
> 
>   GEN     tags
> ctags: Warning: regcomp ^SYSCALL_DEFINE[[:digit:]]?(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp ^TRACE_EVENT(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp ^DEFINE_EVENT\([^,)]*, *([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp TESTSETFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp TESTPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp SETPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __SETPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp TESTCLEARFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __TESTCLEARFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp CLEARPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __CLEARPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp PAGEFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp TESTSCFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp TESTSCFLAG(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp SETPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp CLEARPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __CLEARPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp TESTCLEARFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
> ctags: Warning: regcomp __TESTCLEARFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
> 
> The same list repeats, as ctags is called multiple times.
> 
> Michal

The problem is that in proper regex each start of sub-expression \(
needs to have a matching end of sub-expression \)
The old version had no matching-end of sub-expression and therefore was technically
malformed, probably old tools just ignored it.

   --regex='/PAGEFLAG\(([^,)]*).*/Page\1/'
                      ^
                      start but no end?

My initial patch just fixed those, but others kept wanting more.

  


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] tags: fix use of parenthesis in regex
  2012-02-25  0:56               ` Stephen Hemminger
@ 2012-02-25  9:37                 ` Michal Marek
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Marek @ 2012-02-25  9:37 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Stephen Boyd, linux-kernel

Dne 25.2.2012 01:56, Stephen Hemminger napsal(a):
> On Sat, 25 Feb 2012 01:34:12 +0100
> Michal Marek <mmarek@suse.cz> wrote:
> 
>> On Mon, Feb 06, 2012 at 03:15:43PM -0800, Stephen Hemminger wrote:
>>> Several of the regular expressions passed to etags and ctags where incorrect
>>> and missing the backslash before the closing paren, and matching the wrong
>>> part of the start of the function causing warning:
>>>   etags: Unmatched ( or \( while compiling pattern
>>
>> But your patch introduces another imbalances, e.g.
>>
>>
>>> @@ -129,31 +129,31 @@ exuberant()
>> ...
>>> -	--regex-c++='/^TRACE_EVENT\(([^,)]*).*/trace_\1/'		\
>> ...
>>> +	--regex-c++='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/'		\
>>
>> The old version had left paren, start of group, ..., end of group
>> The new version has start of group, left paren, ..., right paren
>>
>> Where left / right paren means the character without any special
>> meaning. I actually can't see anything wrong with the old TRACE_EVENT matching, the regular expression is correct and I think it does what it should do (turn
>> TRACE_EVENT(foo) into trace_foo).
>>
>> Below is the full list of warnings I get from
>>
>> Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
>>   Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
>>   Optional compiled features: +wildcards, +regex
>>
>>
>>   GEN     tags
>> ctags: Warning: regcomp ^SYSCALL_DEFINE[[:digit:]]?(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp ^TRACE_EVENT(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp ^DEFINE_EVENT\([^,)]*, *([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp TESTSETFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp TESTPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp SETPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __SETPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp TESTCLEARFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __TESTCLEARFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp CLEARPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __CLEARPAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __PAGEFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp PAGEFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp TESTSCFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp TESTSCFLAG(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp SETPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp CLEARPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __CLEARPAGEFLAG_NOOP(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp TESTCLEARFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
>> ctags: Warning: regcomp __TESTCLEARFLAG_FALSE(\([^,)]*\).*: Unmatched ( or \(
>>
>> The same list repeats, as ctags is called multiple times.
>>
>> Michal
> 
> The problem is that in proper regex each start of sub-expression \(
> needs to have a matching end of sub-expression \)

But both *tags programs expect extended regexps, where \( is not start
of sub-expression, but a verbatim left paren. So you balanced verbatim
parens (which was not necessary, as the right paren is eaten by the
trailing .*) and broke expression grouping.

Michal

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-02-25  9:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-03 19:27 [PATCH] tags: fix regex passed to etags Stephen Hemminger
2012-02-03 19:42 ` Stephen Boyd
2012-02-03 20:18   ` Stephen Hemminger
2012-02-06 20:32     ` Stephen Boyd
2012-02-06 20:40       ` [PATCH] tags: fix regex passed to etags and ctags Stephen Hemminger
2012-02-06 23:05         ` Stephen Boyd
2012-02-06 23:15           ` [PATCH] tags: fix use of parenthesis in regex Stephen Hemminger
2012-02-07 19:18             ` Stephen Boyd
2012-02-25  0:34             ` Michal Marek
2012-02-25  0:56               ` Stephen Hemminger
2012-02-25  9:37                 ` Michal Marek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).