aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2011-05-21 14:35:51 -0500
committerJunio C Hamano <gitster@pobox.com>2011-05-21 22:29:32 -0700
commit12f0967a8a1e3c11c678de181f77d1c7883b37cf (patch)
tree56d2f0e69e12e7bd1fe93e566db2941fedeadb65
parentf12c66b9bb851aa7350d40370e6adf78535c5930 (diff)
downloadgit-12f0967a8a1e3c11c678de181f77d1c7883b37cf.tar.gz
git-12f0967a8a1e3c11c678de181f77d1c7883b37cf.tar.xz
userdiff/perl: match full line of POD headers
The builtin perl userdiff driver is not greedy enough about catching POD header lines. Capture the whole line, so instead of just declaring that we are in some "@@ =head1" section, diff/grep output can explain that the enclosing section is about "@@ =head1 OPTIONS". Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t4018-diff-funcname.sh4
-rw-r--r--userdiff.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh
index f071a8fdd..8a5714912 100755
--- a/t/t4018-diff-funcname.sh
+++ b/t/t4018-diff-funcname.sh
@@ -125,6 +125,10 @@ test_expect_success 'perl pattern is not distracted by sub within POD' '
test_expect_funcname "=head" perl
'
+test_expect_success 'perl pattern gets full line of POD header' '
+ test_expect_funcname "=head1 SYNOPSIS\$" perl
+'
+
test_expect_success 'custom pattern' '
test_config diff.java.funcname "!static
!String
diff --git a/userdiff.c b/userdiff.c
index 2cca0af8e..32ead9654 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -63,7 +63,7 @@ PATTERNS("perl",
"^package .*;\n"
"^sub .* \\{\n"
"^[A-Z]+ \\{\n" /* BEGIN, END, ... */
- "^=head[0-9] ", /* POD */
+ "^=head[0-9] .*", /* POD */
/* -- */
"[[:alpha:]_'][[:alnum:]_']*"
"|0[xb]?[0-9a-fA-F_]*"