(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.
This commit is contained in:
parent
9be6c49a5d
commit
9c05459cf6
2 changed files with 35 additions and 19 deletions
|
@ -1,3 +1,14 @@
|
|||
2002-01-13 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* emacs-lisp/copyright.el (copyright-regexp): Make (C) optional.
|
||||
|
||||
2002-01-13 Dave Love <fx@gnu.org>
|
||||
|
||||
* emacs-lisp/copyright.el: Doc fixes.
|
||||
(copyright-regexp): Add Latin-9 copyright sign.
|
||||
Match comment delimiters in year lists.
|
||||
(copyright-current-year): Initialize to load-time year.
|
||||
|
||||
2002-01-13 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* dired-aux.el (dired-do-shell-command): Doc fix.
|
||||
|
|
|
@ -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<EFBFBD>©]\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *(C)\
|
||||
\\|[Cc]opyright\\s *:?\\s *[\251<EFBFBD>©]\\)\
|
||||
\\s *\\([1-9][-0-9, ';\n\t]*[0-9]+\\)"
|
||||
"\\([\251<EFBFBD>©Ž©]\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *\\((C)\\)?\
|
||||
\\|[Cc]opyright\\s *:?\\s *[\251<EFBFBD>©Ž©]\\)\
|
||||
\\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))
|
||||
|
|
Loading…
Add table
Reference in a new issue