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>
diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh
index f071a8f..8a57149 100755
--- a/t/t4018-diff-funcname.sh
+++ b/t/t4018-diff-funcname.sh
@@ -125,6 +125,10 @@
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 2cca0af..32ead96 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -63,7 +63,7 @@
"^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_]*"