From f646cd99e5f2181cbaef365d2f8262789a515e45 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 28 Dec 2014 10:05:14 -0800 Subject: [PATCH] * build-aux/git-hooks/commit-msg: Allow tabs. Treat them as if they were expanded to spaces, with tab stops every 8 columns. --- ChangeLog | 6 ++++++ build-aux/git-hooks/commit-msg | 16 ++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index b6d0fcbb92..1b161abf11 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-12-28 Paul Eggert + + * build-aux/git-hooks/commit-msg: Allow tabs. + Treat them as if they were expanded to spaces, with tab stops + every 8 columns. + 2014-12-17 Paul Eggert * .gitignore: Ignore /conftest*. diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg index 2e3e4f21cd..9b6179ee61 100755 --- a/build-aux/git-hooks/commit-msg +++ b/build-aux/git-hooks/commit-msg @@ -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 } -- 2.39.2