1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-13 09:32:47 +00:00

(copyright-fix-years): New command.

This commit is contained in:
Kim F. Storm 2005-03-01 10:14:48 +00:00
parent 5582d76d7d
commit 422032f0ca

View File

@ -177,6 +177,41 @@ version \\([0-9]+\\), or (at"
nil))
;;;###autoload
(defun copyright-fix-years ()
"Convert 2 digit years to 4 digit years.
Uses heuristic: year >= 50 means 19xx, < 50 means 20xx."
(interactive)
(widen)
(goto-char (point-min))
(if (re-search-forward copyright-regexp (+ (point) copyright-limit) t)
(let ((s (match-beginning 2)) (e (make-marker))
last)
(set-marker e (1+ (match-end 2)))
(goto-char s)
(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)
(insert " "))
(if (< year 100)
(insert (if (>= year 50) "19" "20")))
(goto-char p)
(setq last p)))
(when last
(goto-char last)
(let ((fill-prefix " "))
(fill-region s last))
)
(set-marker e nil)
(copyright-update nil t))
(message "No copyright message")
(goto-char (point-min))))
;;;###autoload
(define-skeleton copyright
"Insert a copyright by $ORGANIZATION notice at cursor."