diff lisp/emacs-lisp/copyright.el @ 42732:7db08aae2e67

(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.
author Richard M. Stallman <rms@gnu.org>
date Sun, 13 Jan 2002 20:17:06 +0000
parents 424477382fbe
children e7cfdc6aa94e
line wrap: on
line diff
--- 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 <occitan@esperanto.org>
 ;; 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))