75c3b6b2e8
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> |
||
---|---|---|
.. | ||
cpp-c++-function | ||
cpp-class-constructor | ||
cpp-class-constructor-mem-init | ||
cpp-class-definition | ||
cpp-class-definition-derived | ||
cpp-class-destructor | ||
cpp-function-returning-global-type | ||
cpp-function-returning-nested | ||
cpp-function-returning-pointer | ||
cpp-function-returning-reference | ||
cpp-gnu-style-function | ||
cpp-namespace-definition | ||
cpp-operator-definition | ||
cpp-skip-access-specifiers | ||
cpp-skip-comment-block | ||
cpp-skip-labels | ||
cpp-struct-definition | ||
cpp-struct-single-line | ||
cpp-template-function-definition | ||
cpp-union-definition | ||
cpp-void-c-function | ||
css-brace-in-col-1 | ||
css-colon-eol | ||
css-colon-selector | ||
css-common | ||
css-long-selector-list | ||
css-prop-sans-indent | ||
css-short-selector-list | ||
css-trailing-space | ||
custom1-pattern | ||
custom2-match-to-end-of-line | ||
custom3-alternation-in-pattern | ||
dts-labels | ||
dts-node-unitless | ||
dts-nodes | ||
dts-nodes-boolean-prop | ||
dts-nodes-comment1 | ||
dts-nodes-comment2 | ||
dts-nodes-multiline-prop | ||
dts-reference | ||
dts-root | ||
dts-root-comment | ||
elixir-do-not-pick-end | ||
elixir-ex-unit-test | ||
elixir-function | ||
elixir-macro | ||
elixir-module | ||
elixir-module-func | ||
elixir-nested-module | ||
elixir-private-function | ||
elixir-protocol | ||
elixir-protocol-implementation | ||
fortran-block-data | ||
fortran-comment | ||
fortran-comment-keyword | ||
fortran-comment-legacy | ||
fortran-comment-legacy-star | ||
fortran-external-function | ||
fortran-external-subroutine | ||
fortran-module | ||
fortran-module-procedure | ||
fortran-program | ||
fountain-scene | ||
golang-complex-function | ||
golang-func | ||
golang-interface | ||
golang-long-func | ||
golang-struct | ||
java-class-member-function | ||
markdown-heading-indented | ||
markdown-heading-non-headings | ||
matlab-class-definition | ||
matlab-function | ||
matlab-octave-section-1 | ||
matlab-octave-section-2 | ||
matlab-section | ||
perl-skip-end-of-heredoc | ||
perl-skip-forward-decl | ||
perl-skip-sub-in-pod | ||
perl-sub-definition | ||
perl-sub-definition-kr-brace | ||
php-abstract-class | ||
php-class | ||
php-final-class | ||
php-function | ||
php-interface | ||
php-method | ||
php-trait | ||
python-async-def | ||
python-class | ||
python-def | ||
python-indented-async-def | ||
python-indented-class | ||
python-indented-def | ||
README | ||
rust-fn | ||
rust-impl | ||
rust-struct | ||
rust-trait |
How to write RIGHT test cases ============================= Insert the word "ChangeMe" (exactly this form) at a distance of at least two lines from the line that must appear in the hunk header. The text that must appear in the hunk header must contain the word "right", but in all upper-case, like in the title above. To mark a test case that highlights a malfunction, insert the word BROKEN in all lower-case somewhere in the file. This text is a bit twisted and out of order, but it is itself a test case for the default hunk header pattern. Know what you are doing if you change it. BTW, this tests that the head line goes to the hunk header, not the line of equal signs.