]> code.delx.au - gnu-emacs/commitdiff
Improve diff hunk headers when maintaining Emacs
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 13 Mar 2016 19:20:01 +0000 (12:20 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 13 Mar 2016 19:58:30 +0000 (12:58 -0700)
* .gitattributes: Improve diff hunk header support for makefiles,
shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
somewhere (sometimes just in test cases).
* autogen.sh: Add regexes for makefiles and shell scripts.

.gitattributes
autogen.sh

index 5ccf9a5eabbc1209e116b674170bc573e6b16ae4..13e58a87e9fe38630c764ab1c657ac9c53c8a0bc 100644 (file)
@@ -47,6 +47,52 @@ doc/misc/texinfo.tex -whitespace=blank-at-eol
 *.tiff binary
 etc/e/eterm-color binary
 
+# Git's builtin diff hunk header styles.
+*.ada diff=ada
+*.[ch] diff=cpp
+*.cc diff=cpp
+*.cpp diff=cpp
+*.hh diff=cpp
+*.for diff=fortran
+*.html diff=html
+*.shtml diff=html
+*.xml diff=html
+*.java diff=java
+*.m diff=objc
+*.perl diff=perl
+*.pl diff=perl
+*.php diff=php
+*.py diff=python
+*.rb diff=ruby
+*.ruby diff=ruby
+*.tex diff=tex
+
 # Hooks for non-default diff hunk headers; see autogen.sh.
 *.el diff=elisp
+*.ac diff=m4
+*.m4 diff=m4
+*.mk diff=make
+*[Mm]akefile diff=make
+Makefile.in diff=make
+*.sh diff=shell
 *.texi diff=texinfo
+#
+# Diff hunk header special-case file names.
+admin/build-configs diff=perl
+admin/charsets/mapconv diff=shell
+admin/diff-tar-files diff=shell
+admin/make-emacs diff=perl
+admin/merge-gnulib diff=shell
+admin/merge-pkg-config diff=shell
+admin/quick-install-emacs diff=shell
+admin/update-copyright diff=shell
+admin/update_autogen diff=shell
+build-aux/git-hooks/commit-msg diff=shell
+build-aux/git-hooks/pre-commit diff=shell
+build-aux/gitlog-to-emacslog diff=shell
+build-aux/make-info-dir diff=shell
+build-aux/move-if-change diff=shell
+build-aux/msys-to-w32 diff=shell
+build-aux/update-subdirs diff=shell
+lib-src/rcs2log diff=shell
+/make-dist diff=shell
index ac728ccd52183e4f695615ea15e769a106c0c888..904246509faf75d727e3c82347eb3cb513cc54d2 100755 (executable)
@@ -281,6 +281,11 @@ git_config transfer.fsckObjects true
 
 git_config diff.elisp.xfuncname \
           '^\(def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
+git_config 'diff.m4.xfuncname' '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*'
+git_config 'diff.make.xfuncname' \
+          '^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)'
+git_config 'diff.shell.xfuncname' \
+          '^([[:space:]]*[[:alpha:]_][[:alnum:]_]*[[:space:]]*\(\)|[[:alpha:]_][[:alnum:]_]*=)'
 git_config diff.texinfo.xfuncname \
           '^@node[[:space:]]+([^,[:space:]][^,]+)'