changeset: 4633:199ecf2503c8
tag: tip
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Sat Apr 18 03:18:27 2009 +0900
files: CHANGES-beta lisp/lisp-mnt.el
description:
Add standard section headers in preparation for 21.5.29.
diff -r b93587f33338 -r 199ecf2503c8 CHANGES-beta
--- a/CHANGES-beta Thu Apr 02 15:29:57 2009 +0900
+++ b/CHANGES-beta Sat Apr 18 03:18:27 2009 +0900
@@ -1,3 +1,11 @@
+Major Features and Backward Incompatible Changes
+User-Visible Bug Fixes and Minor Improvements
+Build Infrastructure
+Documentation
+Lisp API
+Internal API and Implementation
+Testing and Debugging
+
Brief summary of Changes to 21.5.28 "fuki"
Major Features and Backward Incompatible Changes
diff -r b93587f33338 -r 199ecf2503c8 lisp/lisp-mnt.el
--- a/lisp/lisp-mnt.el Thu Apr 02 15:29:57 2009 +0900
+++ b/lisp/lisp-mnt.el Sat Apr 18 03:18:27 2009 +0900
@@ -577,6 +577,101 @@
(message
(substitute-command-keys "Type \\[mail-send] to send bug report."))))
+;;; Entry point: insert boilerplate
+
+(defconst lm-standard-permission
+ "\n;; This file is part of XEmacs.
+
+;; XEmacs is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with XEmacs; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.\n"
+ "Standard permissions notice for Lisp files that are part of XEmacs.
+License version and FSF address are current as of 2009-04-01.")
+
+(defconst lm-change-log
+ "\n;;; Change Log:
+
+;; %s %s <%s>
+;;
+;; * Created.\n"
+ "GNU standard change-log template.")
+
+(defconst lm-boilerplate
+ ";;; %s --- %s
+
+;; Copyright (C) %s %s
+
+;; Author: %s <%s>
+;; Created: %s
+;; Keywords: %s
+%s
+;;; Synched up with: Not in GNU.
+
+;;; Commentary:
+
+;; PLACE YOUR COMMENTARY (DESCRIPTION OF THE LIBRARY'S CONTENTS AND FUNCTION)
+;; IN THIS SECTION.
+%s
+;;; Code:\n\n"
+ "lisp-mnt standard boilerplate.")
+
+;; #### Need to improve the interactive declaration.
+;; #### Need to check for existing boilerplate.
+(defun lm-insert-boilerplate (file synopsis permission author email keys log)
+ "Insert lisp-mnt standard header and footer.
+FILE is the file name of the library.
+SYNOPSIS is a one line description of the file.
+ Total length of FILE and SYNOPSIS should be less than 70 characters.
+PERMISSION, if non-nil, means to use a simple \"All Rights Reserved.\"
+ Otherwise, the standard boilerplate for XEmacs sources is inserted.
+AUTHOR is the name of the author, defaulting to `user-full-name'.
+EMAIL is the contact email address, defaulting to `user-mail-address'.
+KEYS is a comma-separated list of finder keywords.
+LOG, if non-nil, means to insert a Change Log section.
+ Otherwise, it will be omitted."
+
+ (interactive "FName of file: \nsSynopsis: \nP\nsAuthor: \nsEmail:
+sKeywords: \ncInsert a Change Log section? (y/n)")
+
+ (save-restriction
+ (widen)
+ (let ((file (file-name-nondirectory file))
+ (year (format-time-string "%Y"))
+ (date (format-time-string "%Y-%m-%d"))
+ (author (if (> (length author) 0)
+ author
+ user-full-name))
+ (email (if (> (length email) 0)
+ email
+ user-mail-address))
+ (log (eql (upcase log) ?Y)))
+ (goto-char (point-min))
+ (insert (format lm-boilerplate
+ file synopsis
+ year author
+ author email
+ date
+ keys
+ (if permission
+ "\n;; All Rights Reserved.\n"
+ lm-standard-permission)
+ (if log
+ (format lm-change-log date author email)
+ "")))
+ (goto-char (point-max))
+ (insert (format "\n;;; %s ends here\n" file)))))
+
(provide 'lisp-mnt)
;;; lisp-mnt.el ends here
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches