git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Avoid false positives in label detection in cpp diff hunk header regex.
@ 2013-03-22 13:43 Vadim Zeitlin
  2013-03-22 15:02 ` Junio C Hamano
  0 siblings, 1 reply; 9+ messages in thread
From: Vadim Zeitlin @ 2013-03-22 13:43 UTC (permalink / raw)
  To: git

A C++ method start such as

        void
        foo::bar()

wasn't recognized by cpp diff driver as it mistakenly included "foo::bar" as a
label. However the colon in a label can't be followed by another colon, so
recognize this case specially to correctly detect C++ methods using this style.

Signed-off-by: Vadim Zeitlin <vz-git@zeitlins.org>
---
 userdiff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/userdiff.c b/userdiff.c
index ea43a03..9415586 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -125,7 +125,7 @@ PATTERNS("tex",
"^(\\\\((sub)*section|chapter|part)\\*{0,1}\\{.*)$",
         "\\\\[a-zA-Z@]+|\\\\.|[a-zA-Z0-9\x80-\xff]+"),
 PATTERNS("cpp",
         /* Jump targets or access declarations */
-        "!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:.*$\n"
+        "!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:([^:].*$|$)\n"
         /* C/++ functions/methods at top level */
         "^([A-Za-z_][A-Za-z_0-9]*([ \t*]+[A-Za-z_][A-Za-z_0-9]*([ \t]*::[
\t]*[^[:space:]]+)?){1,}[ \t]*\\([^;]*)$\n"
         /* compound type at top level */
--
1.8.2.135.g7b592fa

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

end of thread, other threads:[~2013-03-23  9:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-22 13:43 [PATCH] Avoid false positives in label detection in cpp diff hunk header regex Vadim Zeitlin
2013-03-22 15:02 ` Junio C Hamano
2013-03-22 17:27   ` Vadim Zeitlin
2013-03-22 21:55   ` Johannes Sixt
2013-03-22 22:32     ` Junio C Hamano
2013-03-22 23:11       ` Johannes Sixt
2013-03-23  0:38         ` Vadim Zeitlin
2013-03-23  8:31           ` Andreas Schwab
2013-03-23  9:48             ` Vadim Zeitlin

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).