X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/fb420e7789b4f9a0481ee44dbdf37d3de6578ad3..7e09ef09a479731d01b1ca46e94ddadd73ac98e3:/build-aux/git-hooks/commit-msg diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg index 2e3e4f21cd..31df5ce034 100755 --- a/build-aux/git-hooks/commit-msg +++ b/build-aux/git-hooks/commit-msg @@ -1,7 +1,7 @@ #!/bin/sh # Check the format of GNU Emacs change log entries. -# Copyright 2014 Free Software Foundation, Inc. +# Copyright 2014-2015 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -87,6 +87,15 @@ exec $awk ' status = 1 } + { + # Expand tabs to spaces for length calculations etc. + while (match($0, /\t/)) { + before_tab = substr($0, 1, RSTART - 1) + after_tab = substr($0, RSTART + 1) + $0 = sprintf("%s%*s%s", before_tab, 8 - (RSTART - 1) % 8, "", after_tab) + } + } + 78 < length && $0 ~ space { print "Line longer than 78 characters in commit message" status = 1 @@ -103,12 +112,7 @@ exec $awk ' } $0 ~ non_print { - if (gsub(/\t/, "")) { - print "Tab in commit message; please use spaces instead" - } - if ($0 ~ non_print) { - print "Unprintable character in commit message" - } + print "Unprintable character in commit message" status = 1 }