summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/copyright.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2002-01-13 20:17:46 +0000
committerRichard M. Stallman <rms@gnu.org>2002-01-13 20:17:46 +0000
commit9c05459cf6465f3b4c3e69cac44156c9297b46c5 (patch)
tree5084ab866180835b15a6a4d5d625119255163bbf /lisp/emacs-lisp/copyright.el
parent9be6c49a5d0443c074024412a18ec9c48d747a31 (diff)
downloademacs-9c05459cf6465f3b4c3e69cac44156c9297b46c5.tar.gz
(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.
Diffstat (limited to 'lisp/emacs-lisp/copyright.el')
-rw-r--r--lisp/emacs-lisp/copyright.el43
1 files changed, 24 insertions, 19 deletions
diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el
index 15c39e07b74..93ee030e7bf 100644
--- a/lisp/emacs-lisp/copyright.el
+++ b/lisp/emacs-lisp/copyright.el
@@ -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 @@ The second \\( \\) construct must match the years."
(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 this is `function', only ask when called non-interactively."
;; 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 @@ copyright, if any, are updated as well."
(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 @@ copyright, if any, are updated as well."
(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))