# HG changeset patch # User Richard M. Stallman # Date 1010953026 0 # Node ID 7db08aae2e6775c7b796e1bf4428d1beaa35b56f # Parent 7a19d4477f472d402262ac9ff7f298bfeedeb39b (copyright-regexp): Make (C) optional. (copyright-regexp): Add Latin-9 copyright sign. Match comment delimiters in year lists. (copyright-current-year): Initialize to load-time year. Doc fixes. diff -r 7a19d4477f47 -r 7db08aae2e67 lisp/emacs-lisp/copyright.el --- a/lisp/emacs-lisp/copyright.el Sun Jan 13 18:00:29 2002 +0000 +++ b/lisp/emacs-lisp/copyright.el Sun Jan 13 20:17:06 2002 +0000 @@ -1,6 +1,6 @@ ;;; copyright.el --- update the copyright notice in current buffer -;; Copyright (C) 1991, 92, 93, 94, 95, 1998 Free Software Foundation, Inc. +;; Copyright (C) 1991, 92, 93, 94, 95, 98, 2001 Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer ;; Keywords: maint, tools @@ -35,17 +35,20 @@ (defcustom copyright-limit 2000 "*Don't try to update copyright beyond this position unless interactive. -`nil' means to search whole buffer." +A value of nil means to search whole buffer." :group 'copyright :type '(choice (integer :tag "Limit") (const :tag "No limit"))) -;; Cleaner to specify Latin-1 coding for this file, and not use both -;; unibyte and multibyte copyright symbol characters? +;; Would it be cleaner to specify Latin-1 coding for this file, +;; and not use both unibyte and multibyte copyright symbol characters? + +;; The character classes include the unibyte (C) sign, +;; the Latin-1 version, and the Latin-9 version. (defcustom copyright-regexp - "\\([\251]\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *(C)\ -\\|[Cc]opyright\\s *:?\\s *[\251]\\)\ -\\s *\\([1-9][-0-9, ';\n\t]*[0-9]+\\)" + "\\([\251]\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *\\((C)\\)?\ +\\|[Cc]opyright\\s *:?\\s *[\251]\\)\ +\\s *\\([1-9]\\([-0-9, ';\n\t]\\|\\s<\\|\\s>\\)*[0-9]+\\)" "*What your copyright notice looks like. The second \\( \\) construct must match the years." :group 'copyright @@ -53,7 +56,7 @@ (defcustom copyright-query 'function - "*If non-`nil', ask user before changing copyright. + "*If non-nil, ask user before changing copyright. When this is `function', only ask when called non-interactively." :group 'copyright :type '(choice (const :tag "Do not ask") @@ -63,29 +66,30 @@ ;; when modifying this, also modify the comment generated by autoinsert.el (defconst copyright-current-gpl-version "2" - "String representing the current version of the GPL or `nil'.") + "String representing the current version of the GPL or nil.") (defvar copyright-update t) ;; This is a defvar rather than a defconst, because the year can ;; change during the Emacs session. -(defvar copyright-current-year "2001" +(defvar copyright-current-year (substring (current-time-string) -4) "String representing the current year.") ;;;###autoload (defun copyright-update (&optional arg) - "Update the copyright notice at the beginning of the buffer to indicate -the current year. If optional prefix ARG is given replace the years in the -notice rather than adding the current year after them. If necessary and -`copyright-current-gpl-version' is set, the copying permissions following the -copyright, if any, are updated as well." + "Update copyright notice at beginning of buffer to indicate the current year. +With prefix ARG, replace the years in the notice rather than adding +the current year after them. If necessary, and +`copyright-current-gpl-version' is set, any copying permissions +following the copyright are updated as well." (interactive "*P") (if copyright-update (save-excursion (save-restriction (widen) (goto-char (point-min)) + ;; Note that `current-time-string' isn't locale-sensitive. (setq copyright-current-year (substring (current-time-string) -4)) (if (re-search-forward copyright-regexp copyright-limit t) (if (string= (buffer-substring (- (match-end 2) 2) (match-end 2)) @@ -98,7 +102,7 @@ (concat "Replace copyright year(s) by " copyright-current-year "? ") (concat "Add " copyright-current-year - " to copyright? ")))) + " to copyright? ")))) (if arg (progn (delete-region (match-beginning 1) (match-end 1)) @@ -122,10 +126,11 @@ (and copyright-current-gpl-version ;; match the GPL version comment in .el files, including the ;; bilingual Esperanto one in two-column, and in texinfo.tex - (re-search-forward "\\(the Free Software Foundation; either \\|; a\\^u eldono \\([0-9]+\\)a, ? a\\^u (la\\^u via \\)version \\([0-9]+\\), or (at" + (re-search-forward "\\(the Free Software Foundation;\ + either \\|; a\\^u eldono \\([0-9]+\\)a, ? a\\^u (la\\^u via \\)\ +version \\([0-9]+\\), or (at" copyright-limit t) - (not (string= (buffer-substring (match-beginning 3) (match-end 3)) - copyright-current-gpl-version)) + (not (string= (match-string 3) copyright-current-gpl-version)) (or (not copyright-query) (and (eq copyright-query 'function) (eq this-command 'copyright-update))