userdiff: improve Fortran xfuncname regex
authorPhilippe Blain <levraiphilippeblain@gmail.com>
Wed, 12 Aug 2020 22:30:29 +0000 (22:30 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Aug 2020 18:21:18 +0000 (11:21 -0700)
commit75c3b6b2e8a72239fa23e039c46f9a5cf8c24142
tree3a0d8f50ab7083c7ef75584c8f0f7be7499e2372
parentb79e6925f0ff8ae0afa6554224a5a2e1c41a4605
userdiff: improve Fortran xfuncname regex

The third part of the Fortran xfuncname regex wants to match the
beginning of a subroutine or function, so it allows for all characters
except `'`, `"` or whitespace before the keyword 'function' or
'subroutine'. This is meant to match the 'recursive', 'elemental' or
'pure' keywords, as well as function return types, and to prevent
matches inside strings.

However, the negated set does not contain the `!` comment character,
so a line with an end-of-line comment containing the keyword 'function' or
'subroutine' followed by another word is mistakenly chosen as a hunk header.

Improve the regex by adding `!` to the negated set.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4018/fortran-comment-keyword
userdiff.c