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