Mercurial > emacs
changeset 62508:39dc00cd1f8a
(copyright-fix-years): Make sure all years are fixed. Don't insert a
space after a dash.
author | Lute Kamstra <lute@gnu.org> |
---|---|
date | Thu, 19 May 2005 08:13:31 +0000 |
parents | 68429718056c |
children | d631d0a6ba66 |
files | lisp/emacs-lisp/copyright.el |
diffstat | 1 files changed, 18 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/copyright.el Thu May 19 08:06:59 2005 +0000 +++ b/lisp/emacs-lisp/copyright.el Thu May 19 08:13:31 2005 +0000 @@ -185,25 +185,24 @@ (widen) (goto-char (point-min)) (if (re-search-forward copyright-regexp (+ (point) copyright-limit) t) - (let ((s (match-beginning 2)) (e (make-marker)) + (let ((s (match-beginning 2)) + (e (copy-marker (1+ (match-end 2)))) + (p (make-marker)) last) - (set-marker e (1+ (match-end 2))) (goto-char s) - ;; Back up one character so that our search can match the first year. - (backward-char 1) - (while (and (< (point) (marker-position e)) - (re-search-forward "\\([^0-9]\\)\\([0-9]+\\)[^0-9]" - (marker-position e) t)) - (let ((p (point)) - (sep (match-string 1)) - (year (string-to-number (match-string 2)))) - (goto-char (1+ (match-beginning 0))) - (unless (= (char-syntax (string-to-char sep)) ?\s) + (while (re-search-forward "[0-9]+" e t) + (set-marker p (point)) + (goto-char (match-beginning 0)) + (let ((sep (char-before)) + (year (string-to-number (match-string 0)))) + (when (and sep + (/= (char-syntax sep) ?\s) + (/= sep ?-)) (insert " ")) - (if (< year 100) - (insert (if (>= year 50) "19" "20"))) - (goto-char p) - (setq last p))) + (when (< year 100) + (insert (if (>= year 50) "19" "20")))) + (goto-char p) + (setq last p)) (when last (goto-char last) ;; Don't mess up whitespace after the years. @@ -211,12 +210,11 @@ (save-restriction (narrow-to-region (point-min) (point)) (let ((fill-prefix " ")) - (fill-region s last))) - ) + (fill-region s last)))) (set-marker e nil) + (set-marker p nil) (copyright-update nil t)) - (message "No copyright message") - (goto-char (point-min)))) + (message "No copyright message"))) ;;;###autoload (define-skeleton copyright