mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Improve C and Elisp Git diff hunk headers
For discussion, see the following threads: https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00457.html https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00369.html * autogen.sh: Extend the built-in Git xfuncname pattern 'cpp' to match preprocessor and DEFUN macros, and the 'elisp' pattern to match cl-lib and other top-level defuns.
This commit is contained in:
parent
4498e5a13a
commit
d3a0ddedba
1 changed files with 9 additions and 1 deletions
10
autogen.sh
10
autogen.sh
|
|
@ -315,8 +315,16 @@ git_config transfer.fsckObjects true
|
||||||
|
|
||||||
# Configure 'git diff' hunk header format.
|
# Configure 'git diff' hunk header format.
|
||||||
|
|
||||||
|
# This xfuncname is based on Git's built-in 'cpp' pattern.
|
||||||
|
# The first line rejects jump targets and access declarations.
|
||||||
|
# The second line matches top-level functions and methods.
|
||||||
|
# The third line matches preprocessor and DEFUN macros.
|
||||||
|
git_config diff.cpp.xfuncname \
|
||||||
|
'!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])
|
||||||
|
^((::[[:space:]]*)?[A-Za-z_][A-Za-z_0-9]*[[:space:]]*\(.*)$
|
||||||
|
^((#define[[:space:]]|DEFUN).*)$'
|
||||||
git_config diff.elisp.xfuncname \
|
git_config diff.elisp.xfuncname \
|
||||||
'^\(def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
|
'^\([^[:space:]]*def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
|
||||||
git_config 'diff.m4.xfuncname' '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*'
|
git_config 'diff.m4.xfuncname' '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*'
|
||||||
git_config 'diff.make.xfuncname' \
|
git_config 'diff.make.xfuncname' \
|
||||||
'^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)'
|
'^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue