diff options
author | Philipp Stephani <phst@google.com> | 2021-05-25 14:03:03 +0200 |
---|---|---|
committer | Philipp Stephani <phst@google.com> | 2021-05-25 14:04:06 +0200 |
commit | 7a46fa9c751f7c3147cd9b27fe84c1ce25419d3b (patch) | |
tree | 5b1dd99b553cddcc38e7a37aa648cae17a71bd0a /lisp/emacs-lisp/copyright.el | |
parent | 75604f882ab6744d3a35901eb355ebc20c29e850 (diff) | |
download | emacs-7a46fa9c751f7c3147cd9b27fe84c1ce25419d3b.tar.gz emacs-7a46fa9c751f7c3147cd9b27fe84c1ce25419d3b.tar.bz2 emacs-7a46fa9c751f7c3147cd9b27fe84c1ce25419d3b.zip |
Allow years in a copyright range to be separated by en dashes.
* lisp/emacs-lisp/copyright.el (copyright-regexp)
(copyright-years-regexp, copyright-update-year)
(copyright-fix-years): Also include en dash.
* test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New
test cases.
Diffstat (limited to 'lisp/emacs-lisp/copyright.el')
-rw-r--r-- | lisp/emacs-lisp/copyright.el | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el index a9baef39a9a..6ba2e7804bb 100644 --- a/lisp/emacs-lisp/copyright.el +++ b/lisp/emacs-lisp/copyright.el @@ -51,7 +51,7 @@ This is useful for ChangeLogs." "\\(©\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *\\(?:(C)\\)?\ \\|[Cc]opyright\\s *:?\\s *©\\)\ \\s *[^0-9\n]*\\s *\ -\\([1-9]\\([-0-9, ';/*%#\n\t]\\|\\s<\\|\\s>\\)*[0-9]+\\)" +\\([1-9]\\([-0-9, ';/*%#\n\t–]\\|\\s<\\|\\s>\\)*[0-9]+\\)" "What your copyright notice looks like. The second \\( \\) construct must match the years." :type 'regexp) @@ -69,7 +69,7 @@ someone else or to a group for which you do not work." ;;;###autoload(put 'copyright-names-regexp 'safe-local-variable 'stringp) (defcustom copyright-years-regexp - "\\(\\s *\\)\\([1-9]\\([-0-9, ';/*%#\n\t]\\|\\s<\\|\\s>\\)*[0-9]+\\)" + "\\(\\s *\\)\\([1-9]\\([-0-9, ';/*%#\n\t–]\\|\\s<\\|\\s>\\)*[0-9]+\\)" "Match additional copyright notice years. The second \\( \\) construct must match the years." :type 'regexp) @@ -197,8 +197,8 @@ skips to the end of all the years." (point)))) 100) 1) - (or (eq (char-after (+ (point) size -1)) ?-) - (eq (char-after (+ (point) size -2)) ?-))) + (or (memq (char-after (+ (point) size -1)) '(?- ?–)) + (memq (char-after (+ (point) size -2)) '(?- ?–)))) ;; This is a range so just replace the end part. (delete-char size) ;; Insert a comma with the preferred number of spaces. @@ -287,7 +287,7 @@ independently replaces consecutive years with a range." (setq year (string-to-number (match-string 0))) (and (setq sep (char-before)) (/= (char-syntax sep) ?\s) - (/= sep ?-) + (not (memq sep '(?- ?–))) (insert " ")) (when (< year 100) (insert (if (>= year 50) "19" "20")) @@ -297,7 +297,7 @@ independently replaces consecutive years with a range." ;; If the previous thing was a range, don't try to tack more on. ;; Ie not 2000-2005 -> 2000-2005-2007 ;; TODO should merge into existing range if possible. - (if (eq sep ?-) + (if (memq sep '(?- ?–)) (setq prev-year nil year nil) (if (and prev-year (= year (1+ prev-year))) @@ -306,7 +306,7 @@ independently replaces consecutive years with a range." (> prev-year first-year)) (goto-char range-end) (delete-region range-start range-end) - (insert (format "-%d" prev-year)) + (insert (format "%c%d" sep prev-year)) (goto-char p)) (setq first-year year range-start (point))))) |