commit:     1cd9d5a0a702d5b52361e7d4b6c504478f38569f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 19:37:33 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 19:37:33 2017 +0000
URL:        https://gitweb.gentoo.org/proj/emacs-tools.git/commit/?id=1cd9d5a0

Modify the buffer only if the ebuild header is actually updated.

* ebuild-mode.el (ebuild-mode-update-copyright): Modify the buffer
only if necessary. Warn about equal first and last year.

 ChangeLog      |  5 +++++
 ebuild-mode.el | 18 ++++++++----------
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index afff130..4f8877b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-04  Ulrich Müller  <u...@gentoo.org>
+
+       * ebuild-mode.el (ebuild-mode-update-copyright): Modify the buffer
+       only if necessary. Warn about equal first and last year.
+
 2017-02-28  Ulrich Müller  <u...@gentoo.org>
 
        * Version 1.33 released.

diff --git a/ebuild-mode.el b/ebuild-mode.el
index a880e2b..b11b5d9 100644
--- a/ebuild-mode.el
+++ b/ebuild-mode.el
@@ -254,16 +254,14 @@ Optional argument LIMIT restarts collection after that 
number of elements."
     (goto-char (point-min))
     (let ((case-fold-search nil))
       (if (re-search-forward ebuild-mode-copyright-regexp 400 t)
-         (let ((first-year (string-to-number (match-string 1)))
-               (last-year (string-to-number (match-string 2)))
-               (this-year-string (format-time-string "%Y")))
-           (if (and (<= 1999 first-year) ; only 2 args in GNU Emacs 23
-                    (<= first-year last-year)
-                    (<= last-year (string-to-number this-year-string)))
-               (replace-match this-year-string t t nil 2)
-             (lwarn 'ebuild-mode :warning
-                    "Suspicious range of copyright years: %d-%d"
-                    first-year last-year)))))))
+         (let* ((y1 (string-to-number (match-string 1)))
+                (y2 (string-to-number (match-string 2)))
+                (year (format-time-string "%Y"))
+                (y (string-to-number year)))
+           (if (or (> 1999 y1) (>= y1 y2) (> y2 y))
+               (lwarn 'ebuild-mode :warning
+                      "Suspicious range of copyright years: %d-%d" y1 y2)
+             (if (/= y2 y) (replace-match year t t nil 2))))))))
 
 (defun ebuild-mode-delete-cvs-line ()
   ;; Remove a CVS $Id$ or $Header$ line

Reply via email to