Mercurial > emacs
changeset 60319:68fb18eab7a7
(copyright-fix-years): New command.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Tue, 01 Mar 2005 10:14:48 +0000 |
parents | 20f352a15969 |
children | c0317237105a |
files | lisp/emacs-lisp/copyright.el |
diffstat | 1 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/copyright.el Tue Mar 01 10:14:18 2005 +0000 +++ b/lisp/emacs-lisp/copyright.el Tue Mar 01 10:14:48 2005 +0000 @@ -178,6 +178,41 @@ ;;;###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." "Company: "