lisp-mnt

Homepage: https://www.gnu.org/software/emacs

Author: Eric S. Raymond

Summary

Utility functions for Emacs Lisp maintainers

Commentary

This library adds some services to Emacs-Lisp editing mode.

First, it knows about the header conventions for library packages.
One entry point supports generating synopses from a library directory.
Another can be used to check for missing headers in library files.

Another entry point automatically addresses bug mail to a package's
maintainer or author.

This file can be loaded by your emacs-lisp-mode-hook.  Have it
(require 'lisp-mnt)

This file is an example of the header conventions.  Note the following
features:

   * Header line --- makes it possible to extract a one-line summary of
the package's uses automatically for use in library synopses, KWIC
indexes and the like.

   Format is three semicolons, followed by the filename, followed by
three dashes, followed by the summary.  All fields space-separated.

   * A blank line

   * Copyright line, which looks more or less like this:

      ;; Copyright (C) 1999-2001 Free Software Foundation, Inc.

   * A blank line

   * Author line --- contains the name and net address of at least
the principal author.

   If there are multiple authors, they should be listed on continuation
lines led by ;;, like this:

;; Author: Ashwin Ram 
;;	Dave Sill 
;;	David Lawrence 
;;	Noah Friedman 
;;	Joe Wells 
;;	Dave Brennan 
;;	Eric S. Raymond 

   * Maintainer line --- should be a single name/address as in the Author
line, or an address only.  If there is no maintainer line, the person(s) in
the Author field are presumed to be it.
   The idea behind these two fields is to be able to write a Lisp function
that does "send mail to the author" without having to mine the name out by
hand.  Please be careful about surrounding the network address with <> if
there's also a name in the field.

   * Created line --- optional, gives the original creation date of the
file.  For historical interest, basically.

   * Version line --- intended to give the reader a clue if they're looking
at a different version of the file than the one they're accustomed to.  This
may be an RCS or SCCS header.

   * Adapted-By line --- this was used historically when some files
were added to Emacs.  The person named in this field installed and
(possibly adapted) the package in the Emacs distribution.

   * Keywords line --- used by the finder code for finding Emacs
Lisp code related to a topic.

   * X-Bogus-Bureaucratic-Cruft line --- this is a joke and an example
of a comment header.  Headers starting with `X-' should never be used
for any real purpose; this is the way to safely add random headers
without invoking the wrath of any program.

   * Commentary line --- enables Lisp code to find the developer's and
maintainers' explanations of the package internals.

   * Change log line --- optional, exists to terminate the commentary
section and start a change-log part, if one exists.

   * Code line --- exists so Lisp can know where commentary and/or
change-log sections end.

   * Footer line --- marks end-of-file so it can be distinguished from
an expanded formfeed or the results of truncation.

Dependencies

Reverse dependencies