emacs-diffs
[Top][All Lists]
Advanced

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

master 70c3437ae1 1/2: Fix copyright-fix-years, use a dash to separate y


From: Lars Ingebrigtsen
Subject: master 70c3437ae1 1/2: Fix copyright-fix-years, use a dash to separate years in a range
Date: Fri, 28 Jan 2022 09:27:11 -0500 (EST)

branch: master
commit 70c3437ae1f20c050ecb96a642c9a568fd656105
Author: Lele Gaifax <lele@metapensiero.it>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix copyright-fix-years, use a dash to separate years in a range
    
    Commit 7a46fa9c751f7c3147cd9b27fe84c1ce25419d3b, allowing en-dash as
    years separator, changed the way the years range is composed taking the
    separator from the `sep' variable instead of always using an hardwired
    hyphen. Since the code explicitly avoid to touch (that is, extend)
    existing ranges, that `sep' variable is almost always a space, or
    whatever character precedes the last parsed year, thus generating a
    range like "2020 2022" instead of "2020-2022".
    
    * lisp/emacs-lisp/copyright.el (copyright-fix-years): Always use an dash
    to separate years in a range.
    
    * test/lisp/emacs-lisp/copyright-tests.el (with-copyright-fix-years-test):
    (copyright-fix-years-tests--data):
    (text-copyright-fix-years): New test cases (bug#53597).
---
 lisp/emacs-lisp/copyright.el            |  2 +-
 test/lisp/emacs-lisp/copyright-tests.el | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el
index 6b60097782..e5087672ae 100644
--- a/lisp/emacs-lisp/copyright.el
+++ b/lisp/emacs-lisp/copyright.el
@@ -313,7 +313,7 @@ independently replaces consecutive years with a range."
                           (> prev-year first-year))
                  (goto-char range-end)
                  (delete-region range-start range-end)
-                 (insert (format "%c%d" sep prev-year))
+                 (insert (format "-%d" prev-year))
                  (goto-char p))
                (setq first-year year
                      range-start (point)))))
diff --git a/test/lisp/emacs-lisp/copyright-tests.el 
b/test/lisp/emacs-lisp/copyright-tests.el
index abb0913a0d..b00d697aa6 100644
--- a/test/lisp/emacs-lisp/copyright-tests.el
+++ b/test/lisp/emacs-lisp/copyright-tests.el
@@ -72,5 +72,25 @@
              (buffer-string))
            "Copyright 2021 FSF\nCopyright 2021, 2022 FSF\n")))
 
+(defmacro with-copyright-fix-years-test (orig result)
+  `(let ((copyright-year-ranges t))
+     (with-temp-buffer
+       (insert ,orig)
+       (copyright-fix-years)
+       (should (equal (buffer-string) ,result)))))
+
+(defvar copyright-fix-years-tests--data
+  '((";; Copyright (C) 2008, 2010, 2012"
+     . ";; Copyright (C) 2008, 2010, 2012")
+    (";; Copyright (C) 2008, 2009, 2010, 2013, 2014, 2015, 2016, 2018"
+     . ";; Copyright (C) 2008-2010, 2013-2016, 2018")
+    (";; Copyright (C) 2008-2010, 2011, 2015, 2016, 2017"
+     . ";; Copyright (C) 2008-2010, 2011, 2015-2017")))
+
+(ert-deftest text-copyright-fix-years ()
+  "Test basics of \\[copyright-fix-years]."
+  (dolist (test copyright-fix-years-tests--data)
+    (with-copyright-fix-years-test (car test) (cdr test))))
+
 (provide 'copyright-tests)
 ;;; copyright-tests.el ends here



reply via email to

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