emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 9fb9136 2/2: Merge from origin/emacs-24


From: Paul Eggert
Subject: [Emacs-diffs] master 9fb9136 2/2: Merge from origin/emacs-24
Date: Sun, 28 Dec 2014 18:23:12 +0000

branch: master
commit 9fb9136398821ed5f3a8b4405bbc222964f54028
Merge: c12598a f646cd9
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Merge from origin/emacs-24
    
    f646cd9 * build-aux/git-hooks/commit-msg: Allow tabs.
---
 ChangeLog                      |    6 ++++++
 build-aux/git-hooks/commit-msg |   16 ++++++++++------
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 65a112d..00775ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-28  Paul Eggert  <address@hidden>
+
+       * 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-27  Paul Eggert  <address@hidden>
 
        * .gitignore: Ignore /conftest*.
diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index 2e3e4f2..9b6179e 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
   }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]