changeset 10:49a24b4fd526 r19-15b6

Import from CVS: tag r19-15b6
author cvs
date Mon, 13 Aug 2007 08:47:52 +0200
parents 6f2bbbbbe05a
children 91ffe8bd52e4
files CHANGES-beta Makefile.in configure configure.in dynodump/Makefile.in.in etc/ns/XEmacs.info etc/sgml/cdtd/html-foo etc/sgml/cdtd/html-netscape etc/sgml/html-netscape.dtd etc/sgml/html-plus+.dtd etc/sgml/html2.decl etc/sgml/html3.decl etc/sgml/htmlplus.decl etc/sgml/sinfo.dtd etc/yow.lines info/dir lib-src/fakelisp.c lib-src/fakelisp.h lib-src/pstogif lib-src/tm-au lib-src/tm-file lib-src/tm-html lib-src/tm-image lib-src/tm-mpeg lib-src/tm-plain lib-src/tm-ps lib-src/tmdecode lisp/gnus/gnus-scomo.el lisp/gnus/nnheaderems.el lisp/hm--html-menus/html-mode.el lisp/ilisp/clisp.lisp lisp/mel/mel-b.el lisp/mel/mel-g.el lisp/mel/mel-q.el lisp/mel/mel-u.el lisp/mel/mel.el lisp/modes/fortran.el lisp/modes/mail-abbrevs.el lisp/modes/vhdl-mode.el lisp/mu/latex-math-symbol.el lisp/mu/mu-cite.el lisp/mu/tl-822.el lisp/packages/apropos.el lisp/packages/font-lock.el lisp/packages/fontl-hooks.el lisp/packages/jwz-man.el lisp/packages/man.el lisp/packages/old-man.el lisp/packages/rnews.el lisp/packages/rnewspost.el lisp/packages/scroll-in-place.el lisp/packages/session.el lisp/pcl-cvs/pcl-cvs.el lisp/prim/frame.el lisp/prim/help.el lisp/prim/lisp.el lisp/prim/loaddefs.el lisp/prim/sort.el lisp/prim/startup.el lisp/psgml/psgml-style.el lisp/rmail/rmail-lucid.el lisp/tl/cless.el lisp/tl/emu-e19.el lisp/tl/file-detect.el lisp/tl/filename.el lisp/tl/mime-setup.el lisp/tl/range.el lisp/tl/texi-util.el lisp/tl/tl-atype.el lisp/tl/tl-list.el lisp/tl/tl-misc.el lisp/tl/tl-num.el lisp/tl/tl-seq.el lisp/tl/tu-comment.el lisp/tl/tu-replace.el lisp/tm/gnus-mime-old.el lisp/tm/gnus-mime.el lisp/tm/gnus-sum-mime.el lisp/tm/message-mime.el lisp/tm/mime-setup.el lisp/tm/sc-setup.el lisp/tm/signature.el lisp/tm/tm-def.el lisp/tm/tm-edit-mc.el lisp/tm/tm-edit-tipgp.el lisp/tm/tm-edit.el lisp/tm/tm-file.el lisp/tm/tm-ftp.el lisp/tm/tm-html.el lisp/tm/tm-image.el lisp/tm/tm-latex.el lisp/tm/tm-mail.el lisp/tm/tm-partial.el lisp/tm/tm-pgp.el lisp/tm/tm-tar.el lisp/tm/tm-text.el lisp/tm/tmh-comp.el lisp/utils/delbackspace.el lisp/version.el lisp/vm/Makefile lisp/vm/mh-to-vm.sh lisp/vm/vm-autoload.el lisp/vm/vm-delete.el lisp/vm/vm-digest.el lisp/vm/vm-folder.el lisp/vm/vm-misc.el lisp/vm/vm-reply.el lisp/vm/vm-startup.el lisp/vm/vm-toolbar.el lisp/vm/vm-vars.el lisp/vm/vm-version.el lisp/vm/vm-window.el lisp/vm/vm.el lisp/x11/x-font-menu.el lisp/x11/x-menubar.el lisp/x11/x-toolbar.el lwlib/xlwscrollbar.c lwlib/xlwscrollbar.h lwlib/xlwscrollbarP.h man/Makefile man/hyperbole.texi man/oo-browser.texi man/tm/gnus-mime-en.sgml man/tm/gnus-mime-en.texi man/tm/gnus-mime-ja.sgml man/tm/gnus-mime-ja.texi man/tm/tm-edit-en.sgml man/tm/tm-edit-en.texi man/tm/tm-edit-ja.sgml man/tm/tm-edit-ja.texi man/tm/tm-en.sgml man/tm/tm-en.texi man/tm/tm-ja.sgml man/tm/tm-ja.texi man/tm/tm-mh-e-en.sgml man/tm/tm-mh-e-en.texi man/tm/tm-mh-e-ja.sgml man/tm/tm-mh-e-ja.texi man/tm/tm-view-en.sgml man/tm/tm-view-en.texi man/tm/tm-view-ja.sgml man/tm/tm-view-ja.texi man/vhdl-mode.texi man/vm.texi src/bitmaps.h src/fns.c src/frame-x.c src/keymap.c src/redisplay.c src/s/sunos4-0shr.h
diffstat 150 files changed, 11143 insertions(+), 13787 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES-beta	Mon Aug 13 08:47:36 2007 +0200
+++ b/CHANGES-beta	Mon Aug 13 08:47:52 2007 +0200
@@ -1,4 +1,15 @@
 							-*- indented-text -*-
+to 19.15 beta6
+-- tm-7.100.2
+-- 20k of new zippy quotes from mly
+-- By popular demand, `font-menu-this-frame-only-p' now defaults to nil.
+-- Neal Becker's Rosetta Man patch reinstalled
+-- VM 5.97
+-- Minimize displayed help windows to avoid wasted screen space
+-- Miscellaneous bug fixes
+-- Java fontlocking update from Bob Weiner
+-- pcl-cvs update from Neal Becker
+
 to 19.15 beta5
 -- tm-7.97
 -- InfoDock man.el
--- a/Makefile.in	Mon Aug 13 08:47:36 2007 +0200
+++ b/Makefile.in	Mon Aug 13 08:47:52 2007 +0200
@@ -193,7 +193,7 @@
 SUBDIR = ${MAKE_SUBDIR} man
 
 # The makefiles of the directories in $SUBDIR.
-SUBDIR_MAKEFILES = lib-src/Makefile lwlib/Makefile dynodump/Makefile src/Makefile man/Makefile
+SUBDIR_MAKEFILES = lib-src/Makefile lwlib/Makefile dynodump/Makefile src/Makefile
 
 # Subdirectories to install, and where they'll go.
 # lib-src's makefile knows how to install it, so we don't do that here.
@@ -383,12 +383,7 @@
 	   if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \
 	     ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
 	   fi ; \
-	   for f in ange-ftp* cc-mode* cl* dired* ediff* external-widget* \
-		    forms* gnus* hyperbole* ilisp* info* internals* \
-		    ispell* internals* lispref* mailcrypt* message* mh-e* \
-                    new-users-guide* oo-browser* pcl-cvs* psgml* rmail* \
-                    standards* supercite* term.* termcap* texinfo* viper* \
-                    vm* w3* xemacs* ; do \
+	   for f in *.info* ; do \
 	     ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \
 	     chmod 0644 ${infodir}/$$f; \
 	     gzip -9 ${infodir}/$$f; \
--- a/configure	Mon Aug 13 08:47:36 2007 +0200
+++ b/configure	Mon Aug 13 08:47:52 2007 +0200
@@ -1807,20 +1807,20 @@
   hppa*-hp-hpux7* )
     machine=hp800 opsys=hpux NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
-  hppa*-hp-hpux8shr* )
-    machine=hp800 opsys=hpux8shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
+  hppa*-hp-hpux8*shr* )
+    machine=hp800 opsys=hpux8-shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
   hppa*-hp-hpux8* )
     machine=hp800 opsys=hpux8 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
-  hppa*-hp-hpux9shr* )
-    machine=hp800 opsys=hpux9shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
+  hppa*-hp-hpux9*shr* )
+    machine=hp800 opsys=hpux9-shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
   hppa*-hp-hpux9* )
     machine=hp800 opsys=hpux9 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
-  hppa*-hp-hpux10shr* )
-    machine=hp800 opsys=hpux10shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
+  hppa*-hp-hpux10*shr* )
+    machine=hp800 opsys=hpux10*shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
   hppa*-hp-hpux10* )
     machine=hp800 opsys=hpux10 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
@@ -2152,11 +2152,11 @@
     case "${canonical}" in
       ## The Sun386 didn't get past 4.0.
       i[3-9]86-*-sunos4	   ) opsys=sunos4-0      ;;
-      *-sunos4shr*	   ) opsys=sunos4-0shr   ;;
-      *-sunos4-0shr*	   ) opsys=sunos4-0shr   ;;
-      *-sunos4-1shr*	   ) opsys=sunos4-1shr   ;;
-      *-sunos4-1-2shr*	   ) opsys=sunos4-1-2shr ;;
-      *-sunos4-1-[3-9]shr* ) opsys=sunos4-1-3shr ;;
+      *-sunos4*shr*	   ) opsys=sunos4-0-shr   ;;
+      *-sunos4-0*shr*	   ) opsys=sunos4-0-shr   ;;
+      *-sunos4-1*shr*	   ) opsys=sunos4-1-shr   ;;
+      *-sunos4-1-2*shr*	   ) opsys=sunos4-1-2-shr ;;
+      *-sunos4-1-[3-9]*shr* ) opsys=sunos4-1-3-shr ;;
       *-sunos4.0*	   ) opsys=sunos4-0      ;;
       *-sunos4.1.2*        ) opsys=sunos4-1-2    ;;
       *-sunos4.1.[3-9]*	   ) opsys=sunos4-1-3    ;;
@@ -2355,13 +2355,13 @@
 
 if [ "${dynamic}" = "yes" ]; then
   case "${opsys}" in
-    hpux8		) opsys=hpux8shr ;;
-    hpux9		) opsys=hpux9shr ;;
-    hpux10		) opsys=hpux10shr ;;
-    sunos4-0		) opsys=sunos4-0shr ;;
-    sunos4-1		) opsys=sunos4-1shr ;;
-    sunos4-1-2		) opsys=sunos4-1-2shr ;;
-    sunos4-1-3		) opsys=sunos4-1-3shr ;;
+    hpux8		) opsys=hpux8-shr ;;
+    hpux9		) opsys=hpux9-shr ;;
+    hpux10		) opsys=hpux10-shr ;;
+    sunos4-0		) opsys=sunos4-0-shr ;;
+    sunos4-1		) opsys=sunos4-1-shr ;;
+    sunos4-1-2		) opsys=sunos4-1-2-shr ;;
+    sunos4-1-3		) opsys=sunos4-1-3-shr ;;
     sco5		) opsys=sco5-shr ;;
   esac
 elif [ "${dynamic}" = "no" ]; then
@@ -3670,7 +3670,7 @@
   esac
 fi
 
-if test "${opsys}" = "hpux9shr"; then
+if test "${opsys}" = "hpux9-shr"; then
   case "${x_libraries}" in
     *X11R4* )
       opsysfile="s/hpux9shxr4.h"
--- a/configure.in	Mon Aug 13 08:47:36 2007 +0200
+++ b/configure.in	Mon Aug 13 08:47:52 2007 +0200
@@ -1826,20 +1826,20 @@
   hppa*-hp-hpux7* )
     machine=hp800 opsys=hpux NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
-  hppa*-hp-hpux8shr* )
-    machine=hp800 opsys=hpux8shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
+  hppa*-hp-hpux8*shr* )
+    machine=hp800 opsys=hpux8*shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
   hppa*-hp-hpux8* )
     machine=hp800 opsys=hpux8 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
-  hppa*-hp-hpux9shr* )
-    machine=hp800 opsys=hpux9shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
+  hppa*-hp-hpux9*shr* )
+    machine=hp800 opsys=hpux9*shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
   hppa*-hp-hpux9* )
     machine=hp800 opsys=hpux9 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
-  hppa*-hp-hpux10shr* )
-    machine=hp800 opsys=hpux10shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
+  hppa*-hp-hpux10*shr* )
+    machine=hp800 opsys=hpux10*shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
   ;;
   hppa*-hp-hpux10* )
     machine=hp800 opsys=hpux10 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa"
@@ -2171,11 +2171,11 @@
     case "${canonical}" in
       ## The Sun386 didn't get past 4.0.
       i[3-9]86-*-sunos4	   ) opsys=sunos4-0      ;;
-      *-sunos4shr*	   ) opsys=sunos4-0shr   ;;
-      *-sunos4-0shr*	   ) opsys=sunos4-0shr   ;;
-      *-sunos4-1shr*	   ) opsys=sunos4-1shr   ;;
-      *-sunos4-1-2shr*	   ) opsys=sunos4-1-2shr ;;
-      *-sunos4-1-[3-9]shr* ) opsys=sunos4-1-3shr ;;
+      *-sunos4*shr*	   ) opsys=sunos4-0-shr   ;;
+      *-sunos4-0*shr*	   ) opsys=sunos4-0-shr   ;;
+      *-sunos4-1*shr*	   ) opsys=sunos4-1-shr   ;;
+      *-sunos4-1-2*shr*	   ) opsys=sunos4-1-2-shr ;;
+      *-sunos4-1-[3-9]*shr* ) opsys=sunos4-1-3-shr ;;
       *-sunos4.0*	   ) opsys=sunos4-0      ;;
       *-sunos4.1.2*        ) opsys=sunos4-1-2    ;;
       *-sunos4.1.[3-9]*	   ) opsys=sunos4-1-3    ;;
@@ -2859,7 +2859,7 @@
   esac
 fi
 
-if test "${opsys}" = "hpux9shr"; then
+if test "${opsys}" = "hpux9-shr"; then
   case "${x_libraries}" in
     *X11R4* )
       opsysfile="s/hpux9shxr4.h"
--- a/dynodump/Makefile.in.in	Mon Aug 13 08:47:36 2007 +0200
+++ b/dynodump/Makefile.in.in	Mon Aug 13 08:47:52 2007 +0200
@@ -94,7 +94,7 @@
 #endif
 
 dynodump.so: ${srcdir}/_dynodump.h $(OBJS)
-	$(CC) -o dynodump.so -G $(OBJS) -lelf -lmapmalloc
+	PATH=/usr/ccs/bin:$PATH ld -o dynodump.so -G $(OBJS) -lelf -lmapmalloc
 
 _relocate.o: ${srcdir}/$(ARCH)/_relocate.c
 	$(CC) -c $(ALL_CFLAGS) ${srcdir}/$(ARCH)/_relocate.c
--- a/etc/ns/XEmacs.info	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-Title           XEmacs
-Version         19.13
-Description     XEmacs has native support for the NeXTstep window system.  If you have installed the old XEmacs.app in /LocalApps, don't forget to delete it first.  Installation will also create links to the /usr/local hierarchy which makes XEmacs accessible to shell users.
-DefaultLocation /LocalApps
-Relocatable     NO
-Application     YES
-DiskName        XEmacs19.13
-DeleteWarning   Removing this package will also delete the links to it in the /usr/local hierachy.
Binary file etc/sgml/cdtd/html-foo has changed
Binary file etc/sgml/cdtd/html-netscape has changed
--- a/etc/sgml/html-netscape.dtd	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1475 +0,0 @@
-<!--
-        html3.dtd
-
-        Document Type Definition for the HyperText Markup Language (HTML DTD)
-
-        Draft: Fri 24-Mar-95 09:46:33
-
-        Author: Dave Raggett <dsr@hplb.hpl.hp.com>
-
-        W3O is developing a testbed browser to provide practical
-        experience with HTML 3.0 before it becomes a standard.
-        See:  http://www.w3.org/hypertext/WWW/Arena/
-
-        This is an open process and comments are welcomed on the
-        www-html mailing list.
-
-        Please use the following MIME content type:
-        
-        	Content-Type: text/html; version=3.0
-        	
-        This will allow clients to distinguish HTML 3.0 from current
-        HTML documents. This is most easily achieved by saving
-        files with the extension ".html3" or ".ht3" so that servers
-        can easily distinguish these files from HTML 2.0 files.
-        
-        The entity HTML.Recommended can be used to give a more rigorous
-        version of the DTD suitable for use with SGML authoring tools.
-        The default version of the DTD offers a laxer interpretation,
-        e.g. allowing authors to omit leading <P> elements. You can
-        switch on the more rigorous version of the DTD by including
-        the following at the start of your HTML document.
-
-         <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN//"
-            [ <!ENTITY % HTML.Recommended "INCLUDE"> ] >
-
-
-        Design Objectives:
-
-        o   Backwards compatibility with 2.0
-
-        o   Tightening up HTML.Recommended and
-            moving more things to HTML.Deprecated
-
-        o   Keep HTML - simple don't compete with CALS
-
-        o   Make it practical for people to edit HTML 3.0
-            documents directly, i.e. avoid long names.
-
-        o   Tables, figures and math from HTML+
-            with tweaks based on recent experience
-
-        o   Client-side event handling for figures
-            and graphical form selection menus
-
-        o   Add limited presentational controls with
-            a view to use of linked style sheets
-            (style overrides are supported)
-
-        o   Compatibility with ICADD as per Yuri's suggestions
-
-        HTML 3.0 relies on linked style info to give authors
-        control over the appearence of documents. Such info is
-        placed in a linked style sheet, or as overrides in the
-        HTML document head, using the STYLE element. The generic
-        CLASS attribute can be used to subclass elements when
-        you want to use a different style from normal, e.g. you
-        might use <h2 class=bigcaps> for headers with enlarged
-        capital letters. Note that the class attribute has a
-        wider scope than just style changes, e.g. browsers could
-        provide the means for searching through documents,
-        restricting search according to element class values.
-
-        The DTD contains a small number of attributes for direct
-        control of basic alignment parameters; column widths for
-        tables; support for custom bullets, sequence numbering for
-        lists and headers; and text flow. These attributes offer
-        control over appearence which would be inconvenient to
-        express exclusively via associated style sheets.
-
-        The MD attribute for each hypertext or inline link specifies a
-        message digest such as MD5 for the linked object and is needed
-        to ensure someone hasn't tampered with a linked document.
-
-  History:
-  
-    24th March '95
-    
-    Changed ROLE->CLASS for HTML element
-    Added dummy elements to fix problem with mixed
-    content models for BODY, BLOCKQUOTE/BQ and FIG
-    Dropped audio fields from FORMs
-    Reinstated MIN/MAX for range fields
-    Reinstated DISABLED and ERROR attributes for fields
-  
-    22nd March '95
-    
-    Changed from em to en units. The latter
-    is a typographical unit = half point size
-    Merged NEEDS into CLEAR for control of textflow
-  
-    21st March '95
-    
-    Added REL=Banner to LINK element
-    Added BANNER element in place of <DIV CLASS=BANNER>
-    Added RANGE and SPOT elements
-    Added FN in place of <NOTE ROLE=FOOTNOTE>
-    Changed ROLE->CLASS for NOTE element
-
-    17th March '95
-    
-    Fixed bug in PRE content model
-    Changed external references to omit trailling //
-    Dropped <!DOCTYPE HTML [ ... ]> wrapper to avoid problems
-      with "real" sgml parsers
-    Added NOFLOW attribute to FIG and TABLE
-    Fixed typo in IMG ALIGN attribute
-    Made SELECT match IMG for graphic attributes
-    Added decimal alignment for tabs and table cells
-    Added ALIGN attribute to TEXTAREA for parity
-      with IMG and INPUT, including ALIGN=LEFT etc.
-    
-    13th March '95
-    
-    Dropped MARK tag on advice from SGML Open
-    Allowed spaces in table colspec attribute
-    Changed ARRAY element
-    Added CHOOSE tag to BOX element
-    Cleaned up PRE content model
-    Obsoleted tags incompatible with SGML
-    
-    6th March '95
-    
-    Added several tags to MATH: %mathface, %mathvec
-    and improved ROOT, with new SQRT convience tag
-    
-    1st March '95
-    
-    Dropped align attribute from BR element
-    Added indent attribute to TAB
-    Added optional CREDIT to end of BQ
-    Changed FIG to %body.content to allow headers
-    
-    22nd February '95
-    
-    Added align attribute, and dropped before, after, center and right
-      attributes to clean up TAB element
-    Added INS and DEL for legal documents    
-    Added CREDIT to end of FIG element
-    Dropped FN in favor of <NOTE ROLE=FootNote>
-    
-    9th Feburuary '95
-
-    Dropped base attribute mechanism for scoping relative URLs
-    Dropped nofold attribute for disabling whitespace folding
-    Dropped border width attributes for FIG (-> style sheet)
-    Dropped delims attribute from math BOX element
-    Dropped stylistic attributes from OL such as inherit (-> stylesheet)
-    Added baseline to list of valign attribute values for tables.
-    Added DIV element for generic container class and static banners
-    Added MARK element for marked range class
-    Added closed set of LINK REL values for toolbars
-    Added numbering attributes to headers
-    Added bullet attributes to headers
-    Added TERM element to math for style sheet control of term rendering
-    Changed to imagemap=URI for server-side event handling for FIG/OVERLAY
-    Changed delimiter attributes for math arrays
-    Changed ROOT element for maths to allow an arbitrary radix
-    Simplified numbering attributes for ordered lists
-    Simplified STYLE element to leave binding to style language
--->
-
-<!ENTITY % HTML.Version
-        "-//IETF//DTD HTML Netscape//EN"
-
-        -- Typical usage:
-
-            <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Netscape//EN">
-            <html>
-            ...
-            </html>
-        --
-        >
-
-<!--================== Flags for Marked Sections ==========================-->
-
-<!ENTITY % HTML.Recommended "IGNORE"
-        -- Certain features of the language are necessary for compatibility
-           with widespread usage, but they may compromise the structural
-           integrity of a document. This feature test entity enables
-           a more prescriptive document type definition that eliminates
-           the above features.
-        -->
-
-<![ %HTML.Recommended [
-        <!ENTITY % HTML.Deprecated "IGNORE">
-]]>
-
-<!ENTITY % HTML.Deprecated "INCLUDE"
-        -- Certain features of the language are necessary for compatibility
-           with earlier versions of the specification, but they tend
-           to be used an implemented inconsistently, and their use is
-           deprecated. This feature test entity enables a document type
-           definition that eliminates these features.
-        -->
-        
-<!ENTITY % HTML.Obsoleted "IGNORE"
-        -- The XMP, LISTING and PLAINTEXT tags are incompatible with SGML
-           and derive from very early versions of HTML. They require non-
-           standard parsers and will cause problems for processing
-           documents with standard SGML tools.
-        -->
-
-<!--================== Imported Names =====================================-->
-
-<!ENTITY % Content-Type "CDATA"
-        -- meaning a MIME content type, as per RFC1521
-        -->
-
-<!ENTITY % HTTP-Method "GET | POST"
-        -- as per HTTP specification
-        -->
-
-<!ENTITY % URI "CDATA"
-        -- The term URI means a CDATA attribute
-           whose value is a Uniform Resource Identifier,
-           as defined by
-        "Uniform Resource Identifiers" by Tim Berners-Lee
-        aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
-        aka RFC 1630
-
-        Note that CDATA attributes are limited by the LITLEN
-        capacity (1024 in the current version of html.decl),
-        so that URIs in HTML have a bounded length.
-
-        -->
-
-<!ENTITY % REAL "CDATA" -- real numbers (not in SGML) -->
-
-<!ENTITY % SHAPE "CDATA" 
-    -- Shape of hotzone in image.
-
-       All coordinates are assumed to be numbers in the range 0 to 1
-       and interpreted as fractional width/height and measured from
-       the top left corner of the associated image.
-
-       The attribute value is a string taking one of the following forms:
-       
-       		"default"
-       		
-       Used to define a default link for the figure background.
-
-            "circle x, y, r" 
-
-       (x, y) define the center and r the radius.
-
-            "rect x, y, w, h"
-
-       (x, y) defines upper left, and w and h the width and height.
-
-            "polygon x1, y1, x2, y2, ..."
-
-       Given n pairs of x, y coordinates, the polygon is closed by a
-       line linking the n'th point to the first. Intersecting polygons
-       use the non-zero winding number rule to determine if a point lies
-       inside the polygon.I
-    --
->
-
-<!ENTITY % COLOR "CDATA">
-
-<!-- 3.0 Parameter Entities -->
-
-<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
-
-<![ %HTML.Obsoleted [
-    <!ENTITY % preformatted "PRE | XMP | LISTING">
-]]>
-
-
-<![ %HTML.Deprecated [
-    <!ENTITY % list "UL | OL | DIR | MENU">
-    <!ENTITY % blockquote "BLOCKQUOTE | BQ">
-]]>
-
-<!ENTITY % list "UL | OL">
-
-<!ENTITY % blockquote "BQ">
-
-<!ENTITY % preformatted "PRE">
-
-
-<!-- The CLASS attribute is used to subclass HTML elements for
-     rendering purposes, when used with style sheets, e.g. DSSSL lite -->
-
-<!ENTITY % attrs  -- common attributes for elements --
-        'id       ID      #IMPLIED -- as target for hrefs (link ends) --
-         lang     CDATA   "en.us"  -- ISO language, country code --
-         class    NAMES   #IMPLIED -- for subclassing elements --'>
-
-<!-- SGML standard forces different NAMES for all attribute values
-     in the same element, regardless of the attribute name! As a result
-     CDATA is used for CLEAR attribute to avoid clash with ALIGN attribute.-->
-
-<!--
-When text flows around a figure or table in the margin, you sometimes want
-to start an element like a header, paragraph or list below the figure rather
-than alongside it. The CLEAR attribute allows you to move down unconditionally:
-
-	clear=left          move down until left margin is clear
-	clear=right         move down until right margin is clear
-	clear=all           move down until both margins are clear
-
-Alternatively, you can decide to place the element alongside the figure just
-so long as there is enough room. The minimum width needed is specified as:
-
-	clear="40 en"       move down until there is at least 40 en units free
-	clear="100 pixels"  move down until there is at least 100 pixels free
-	
-The style sheet (or browser defaults) may provide default minimum widths for
-each class of block-like elements.
--->
-
-<!ENTITY % needs -- Attributes for controlling text flow. Used in headers
-                    and other elements to guarantee sufficient room --
-        'clear  CDATA #IMPLIED'>
-
-<!--
-    The following attribute may be included where ever a URL can be given:
-
-    md      message digest e.g. md="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ"
-            where the digest is base64 encoded and preceded by a prefix
-            denoting the algorithm (in this case MD5).
--->
-
-<!ENTITY % url.link -- Attributes associated with URL based links --
-        "md     CDATA  #IMPLIED  -- message digest for linked object --">
-
-<!--================ Character mnemonic entities ==========================-->
-
-<!-- The HTML list of Latin-1 entities includes the full range
-     of characters in widely available Latin-1 fonts, and as such
-     is a mixture of ISOlat1 and other ISO publishing symbols -->
-
-<!ENTITY % HTMLlat1 PUBLIC
-  "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
-%HTMLlat1;
-
-<!--================ Entities for special symbols =========================-->
-
-<!ENTITY emsp   SDATA "[emsp  ]" -- em space -->
-<!ENTITY ensp   SDATA "[ensp  ]" -- en space (1/2-em) -->
-<!ENTITY mdash  SDATA "[ndash ]" -- em dash -->
-<!ENTITY ndash  SDATA "[ndash ]" -- en dash (1/2-em) -->
-<!ENTITY nbsp   SDATA "[nbsp  ]" -- non breaking space -->
-<!ENTITY shy    SDATA "[shy   ]" -- soft hyphen -->
-<!ENTITY copy   SDATA "[copy  ]" -- copyright sign -->
-<!ENTITY trade  SDATA "[trade ]" -- trade mark sign -->
-<!ENTITY reg    SDATA "[reg   ]" -- registered sign -->
-
-<!--================ Entities for standard icons ==========================-->
-
-<!-- a range of standard icons such as &folder; for use
-     in speeding up display of directory listings etc. -->
-
-<!-- <!ENTITY % HTMLicons PUBLIC -->
-<!--   "-//IETF//ENTITIES icons for HTML//EN"> -->
-<!-- %HTMLicons; -->
-
-<!--================ Entities for math symbols ============================-->
-
-<!-- ISO subset chosen for use with the widely available Adobe math font -->
-
-<!-- <!ENTITY % HTMLmath PUBLIC -->
-<!--   "-//IETF//ENTITIES Math and Greek for HTML//EN"> -->
-<!-- %HTMLmath; -->
-
-<!--=================== Text Markup =======================================-->
-
-<!ENTITY % font " U | S | TT | I | BIG | SMALL">
-
-<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE | NOBR | CENTER">
-
-<!ENTITY % misc "Q | LANG | AU | DFN | PERSON | ACRONYM | ABBREV | INS | DEL">
-
-<!ENTITY % special "TAB | MATH | A | IMG | BR | WBR">
-
-<!ENTITY % notmath "%font | %phrase | %special | %misc">
-
-<!ENTITY % text "#PCDATA | SUB | SUP | B | FONT | %notmath">
-
-
-<!ENTITY % pre.exclusion "TAB|MATH|IMG|BIG|SMALL|SUB|SUP">
-
-<!ELEMENT (%font|B|%phrase|%misc) - - (%text)+>
-<!ATTLIST (%font|B|%phrase|%misc) %attrs;>
-
-<!-- Subscripts and superscripts. The ALIGN attribute is only used for math -->
-
-<!ELEMENT (SUB|SUP) - - (%text)+>
-<!ATTLIST (SUB|SUP)
-        %attrs;
-        align (left|center|right) #IMPLIED
-        >
-
-<!ELEMENT FONT - - (%text)+>
-<!ATTLIST FONT
-        size NUMBER #IMPLIED
-        >
-
-<!ELEMENT BASEFONT - - (%text)+>
-<!ATTLIST BASEFONT
-        size NUMBER #IMPLIED
-        >
-
-<!-- Forced line break -->
-
-<!ELEMENT BR    - O EMPTY>
-<!ATTLIST BR
-        %attrs;
-        %needs; -- for control of text flow --
-        >
-
-<!-- Named left, center and right tab stops (independent of '\t' char) -->
-
-<!ELEMENT TAB - O EMPTY>
-<!ATTLIST TAB
-        id       ID       #IMPLIED  -- defines named tab stop --
-        indent   NUMBER   0         -- en units before new tab stop --
-        to       IDREF    #IMPLIED  -- jump to named tab stop --
-        align   (left|center|right|decimal) left
-        dp      CDATA     #IMPLIED  -- decimal point e.g. dp="," --
-        >
-
-<!ELEMENT NOBR     - O (%text)+>
-
-<!ELEMENT WBR    - O EMPTY>
-
-<!ELEMENT CENTER     - O (%text)+>
-
-<!--================== Link Markup ========================================-->
-
-<!--
-     With HTML 3.0 you can use ID attributes on most elements for named
-     link ends. The use of the NAME attribute on anchors is deprecated.
-
-     Do we want to support arbitrary elements for link starts? This would
-     involve adding HREF and related attributes to most elements.
--->
-
-<![ %HTML.Deprecated [
-    <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --">
-]]>
-
-<!ENTITY % linkName "">
-
-
-<!ENTITY % ToolBar "home|toc|index|glossary|copyright|
-                    up|previous|next|help|bookmark"
-
-        -- LINK RELationship values which are used to create toolbar
-           buttons or menu items for navigation, where toc stands
-           for table of contents and bookmark provides for an open
-           ended set of links, i.e. you can use multiple bookmarks
-           for key entry points. Use the optional TITLE attribute
-           to override default names.
-        -->
-
-<!ENTITY % linkType "NAME"
-        -- A definitive list will be specified at a later date.
-
-           They are used
-
-                a) by stylesheets to control how collections of
-                   html nodes are rendered into printed documents
-
-                b) for document specific toolbars/menus when used
-                   with the LINK element in document head:
-
-                    "home|toc|index|glossary|copyright|
-                           up|previous|next|help|bookmark"
-
-                   where toc stands for table of contents and
-                   bookmark provides for an open ended set of links,
-                   i.e. you can use several bookmarks for key entry
-                   points. Use the optional TITLE attribute to
-                   override default names.
-
-                c) for hypertext paths or guided tours,
-                   with REL=NODE and REL=PATH. 
-
-                d) to make a link to a style sheet, e.g. rel=stylesheet
-                   (used only with the LINK element).
-                   
-                e) to make a link to a separate banner, e.g. rel=banner
-                   (used only with the LINK element).
-        -->
-
-
-<!ENTITY % linkExtraAttributes -- URN moved to %url.link --
-       "rel %linkType #IMPLIED -- forward relationship type --
-        rev %linkType #IMPLIED -- reversed relationship type
-                                  to referent data --
-        title   CDATA #IMPLIED -- advisory only --
-        methods NAMES #IMPLIED -- supported public methods of the object:
-                                        TEXTSEARCH, GET, HEAD, ... --
-        ">
-
-<![ %HTML.Deprecated [
-    <!ENTITY % A.content "(%heading|%text)+">
-]]>
-
-<!ENTITY % A.content   "(%text)+">
-
-<!ELEMENT A     - - %A.content -(A)>
-
-<!ATTLIST A
-        %attrs;
-        href   %URI;  #IMPLIED
-        %url.link;    -- standard link attributes --
-        %linkName;     -- name attribute is deprecated; use ID instead --
-        shape %SHAPE; #IMPLIED -- for shaped hotzones in FIGs --
-        %linkExtraAttributes;
-        >
-
-<!--=================== Images ============================================-->
-
-<!-- Desired widths are used for negotiating image size
-     with the module responsible for painting the image.
-     align=left or right cause image to float to margin
-     and for subsequent text to wrap around image -->
-
-<!ELEMENT IMG    - O EMPTY --  Embedded image -->
-<!ATTLIST IMG
-        %attrs;
-        src  %URI;  #REQUIRED  -- URI of image to embed --
-        %url.link;             -- standard link attributes --
-        alt CDATA   #IMPLIED   -- for display in place of image --
-        align
-        (left|right|top|texttop|middle|absmiddle|baseline|bottom|absbottom) top -- relative to baseline --
-        width  NUMBER #IMPLIED -- desired width in en's or pixels --
-        height NUMBER #IMPLIED -- desired height in en's or pixels --
-        border NUMBER #IMPLIED 
-        vspace NUMBER #IMPLIED
-        hspace NUMBER #IMPLIED
-        units  (en|pixels) pixels -- units for width and height --
-        ismap (ismap) #IMPLIED -- pass clicks to server --
-        >
-
-<!--=================== Paragraphs=========================================-->
-
-<!ELEMENT P     - O (%text)+>
-<!ATTLIST P
-        %attrs;
-        align  (left|center|right|justify) #IMPLIED
-        %needs; -- for control of text flow --
-        nowrap (nowrap) #IMPLIED -- disable wordwrap --
-        >
-
-<!--=================== Headings, Titles, Sections ========================-->
-
-<!ELEMENT HR    - O EMPTY -- customizable horizontal rule -->
-<!ATTLIST HR
-        %attrs;
-        src     %URI;   #IMPLIED -- URI of custom rule graphic --
-        %url.link;               -- standard link attributes --
-        %needs; -- for control of text flow --
-        size NUMBER #IMPLIED     -- thickness of rule --
-        width NUMBER #IMPLIED    -- width of rule --
-        align (left|right|center) #IMPLIED -- relative to margin --
-        noshade (noshade) #IMPLIED -- fancy shading --
-        >
-
-<!--
-  Headers can be numbered, although this is a matter for style sheets.
-  The style sheet controls the numbering style:
-
-     a) whether the parent numbering is inherited, e.g.  5.i.c
-        where 5 is the current sequence number for H1 headers, and
-        1 is the number for H2 headers and 3 for H3 headers.
-
-     b) what style is used for current sequence number
-        e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman
-        or a numbering scheme appropriate for the current language
-
-  The skip attribute is used to skip over sequence numbers for items
-  which have been left out of the list, e.g. skip=3 advances the
-  sequence number past 3 omitted items. The seqnum sets the sequence
-  number to a specified value. Note that the style sheet may take
-  advantage of the sequence number for higher level headers.
-
-  The dingbat or src attributes may be used to specify a bullet like
-  image to be placed adjacent to the header. Defining this in the
-  header element simplifies the document markup and avoids the need
-  to use the clear or needs attribute in the following element to
-  prevent it flowing around this image.
--->
-
-<!ELEMENT ( %heading )  - -  (%text;)+>
-<!ATTLIST ( %heading )
-        %attrs;
-        align  (left|center|right|justify) #IMPLIED
-        %needs; -- for control of text flow --
-        seqnum   NUMBER   #IMPLIED  -- starting sequence number --
-        skip     NUMBER   0         -- skip seq nums for missing items --
-        dingbat  ENTITY   #IMPLIED  -- dingbat entity from HTMLicons --
-        src      (%URI;)  #IMPLIED  -- bullet defined by graphic --
-        %url.link;                  -- standard link attributes --
-        nowrap   (nowrap)  #IMPLIED -- disable wordwrap --
-        >
-
-<!ELEMENT TITLE - -  (#PCDATA)
-          -- The TITLE element is not considered part of the flow of text.
-             It should be displayed, for example as the page header or
-             window title.
-          -->
-
-<!--=================== Text Flows ========================================-->
-
-<!ENTITY % block
-     "P | %list | DL
-        | %preformatted
-        | %blockquote
-        | FORM | ISINDEX | FN
-        | TABLE | FIG | NOTE">
-
-<!--
-  ((%block)* | (%text)*) would be much nicer as it would avoid the need
-  for a <P> tag when all you want is a few words of text. The problem
-  is that it also prevents: "<LI> <P>some text" since it forbids PCDATA
-  and hence the white space between the <LI> and the <P>.
--->
-
-<![ %HTML.Recommended [
-    <!ENTITY % flow "(%block)*">
-]]>
-
-<!ENTITY % flow "(%text | %block)*">
-
-<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
-
-<!ATTLIST PRE
-        %attrs;
-        width NUMBER #implied
-        %needs; -- for control of text flow --
-        >
-
-<![ %HTML.Obsoleted [
-
-<!ENTITY % literal "CDATA"
-        -- special non-conforming parsing mode where
-           the only markup signal is the end tag
-           in full. This will cause problems for
-           standard SGML tools!
-        -->
-
-<!ELEMENT XMP - -  %literal>
-<!ELEMENT LISTING - -  %literal>
-<!ELEMENT PLAINTEXT - O %literal>
-
-]]>
-
-<!--=================== Lists =============================================-->
-
-<!ELEMENT DL    - -  (LH?, (DT|DD)+) -- this is perhaps too lax? -->
-<!ATTLIST DL
-        %attrs;
-        %needs; -- for control of text flow --
-        compact (compact) #IMPLIED -- more compact style --
-        >
-
-<!ELEMENT DT    - O  (%text)+>
-<!ELEMENT DD    - O  %flow;>
-<!ATTLIST (DT|DD)
-        %attrs;
-        %needs; -- for control of text flow --
-        >
-
-
-<!ELEMENT (OL|UL) - -  (LH?, LI+) -- should we allow a list header ? -->
-
-<!-- style sheet controls numbering style
-    a) whether the parent numbering is inherited, e.g.  5.1.c
-    b) what style is used for current sequence number
-        e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman
-        or a numbering scheme for the current language
--->
-<!ATTLIST OL
-        %attrs;
-        %needs; -- for control of text flow --
-        continue (continue)  #IMPLIED   -- don't restart sequence number --
-        seqnum    NUMBER     #IMPLIED   -- starting sequence number --
-        compact (compact)    #IMPLIED   -- reduced interitem spacing --
-        >
-
-<!-- Unordered lists:
-
-    o   single or multicolumn with
-        horizontal or vertical wrapping
-
-    o   plain or bulletted list items
-
-    o   bullets can be customised via:
-            - entities (dingbats in HTMLicons)
-            - external graphic via URL
-            - individual attributes on LI tags
--->
-<!ATTLIST UL
-        %attrs;
-        %needs; -- for control of text flow --
-        wrap (vert|horiz|none) none -- multicolumn list style --
-        plain   (plain)  #IMPLIED   -- suppress bullets --
-        dingbat  ENTITY  #IMPLIED   -- dingbat entity from HTMLicons --
-        src     (%URI;)  #IMPLIED   -- bullet defined by graphic --
-        %url.link;                  -- standard link attributes --
-        compact (compact) #IMPLIED  -- reduced interitem spacing --
-        >
-
-<!ELEMENT LH - O (%text;)+ -- list header -->
-<!ATTLIST LH %attrs;>
-
-<!--
-    For unordered lists, you can override the standard bullet with
-    a custom graphic specified via a URI e.g. src="splash.gif" or
-    a reference to one of the HTMLicons graphics e.g. dingbat=folder
-
-    The skip attribute is used with ordered lists to skip over sequence
-    numbers for items which have been left out of the list, e.g. skip=3
-    advances the sequence number past 3 omitted items.
--->
-
-<!ELEMENT LI - O %flow; -- list item -->
-<!ATTLIST LI
-        %attrs;
-        %needs; -- for control of text flow --
-        dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons --
-        src  (%URI;) #IMPLIED   -- custom bullet graphic --
-        %url.link;              -- standard link attributes --
-        skip NUMBER 0           -- skip seq nums for missing items --
-        >
-
-<!-- DIR and MENU are now subsumed by UL with type=plain. Use the
-     wrap attribute to control wrapping style for multicolumn lists -->
-
-<![ %HTML.Deprecated [
-    <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
-    <!ATTLIST (DIR|MENU)
-        compact (compact) #IMPLIED>
-]]>
-
-<!--=================== Document Body =====================================-->
-
-<![ %HTML.Recommended [
-        <!ENTITY % body.content "(DIV|%heading|%block|HR|ADDRESS)*"
-        -- <h1>Heading</h1>
-           <p>Text ...
-                is preferred to
-           <h1>Heading</h1>
-           Text ...
-        -->
-]]>
-
-<!ENTITY % body.content "(DIV | %heading | %text | %block | HR | ADDRESS)*">
-
-<!ELEMENT BODY O O  (BANNER?, BODYTEXT) +(SPOT)>
-<!ATTLIST BODY
-        %attrs;
-        background %URI; #IMPLIED  -- texture tile for document background --
-        bgcolor %COLOR; #IMPLIED
-        text %COLOR; #IMPLIED
-        link %COLOR; #IMPLIED 
-        vlink %COLOR; #IMPLIED
-        alink %COLOR; #IMPLIED
-        >
-
-<!ELEMENT BODYTEXT O O %body.content -- dummy element -->
-
-<!-- 
-  The BANNER element is used for a banner section which appears at
-  the top of the window and doesn't scroll with window contents.
-  This can be used for corporate logos, copyright statements and
-  disclaimers, as well as customized navigation/search controls.
--->
-<!ELEMENT BANNER - - %body.content>
-<!ATTLIST BANNER %attrs; >
-
-<!-- SPOT is used to insert IDs at arbitrary places
-     e.g. for end points of a marked range (see RANGE) -->
-<!ELEMENT SPOT - O EMPTY>
-<!ATTLIST SPOT id ID #REQUIRED>
-
-<!ELEMENT (%blockquote) - - (BODYTEXT, CREDIT?)>
-<!ATTLIST (%blockquote)
-        %attrs;
-        %needs; -- for control of text flow --
-        nowrap   (nowrap)  #IMPLIED -- disable wordwrap --
-        >
-
-<!ENTITY % address.content "((%text;)* | P*)">
-
-<!ELEMENT ADDRESS - - %address.content>
-<!ATTLIST ADDRESS
-        %attrs;
-        %needs; -- for control of text flow --
-        >
-        
-<!--
-  DIV can be used with the CLASS attribute to represent different
-  kinds of container, e.g. chapter, section, abstract, appendix.
--->
-
-<!ELEMENT DIV - - %body.content>
-<!ATTLIST DIV
-        %attrs;
-        %needs; -- for control of text flow --
-        align   (left|center|right) left -- alignment of following text --
-        nowrap   (nowrap)  #IMPLIED -- disable wordwrap --
-        >
-
-<!--================ Forms ===============================================-->
-
-<!--
-    As HTML 2.0 plus a few extensions:
-
-        a)  A RANGE control which varies between pair of values
-            specified with the size attribute, e.g. SIZE="1, 10"
-
-        b)  FILE widget for uploading one or more files to a server
-
-        c)  SCRIBBLE on image widget that sends the "ink" to the server
-
-        d)  SUBMIT/RESET buttons can now be customised with an image.
-            This subsumes the IMAGE type which is now deprecated.
-
-        e)  Graphical SELECTion menus are now supported, using
-            the new SHAPE attribute on OPTION elements.
-
-    Further extensions are in the pipeline (e.g. table entry,
-    multiple data formats for textarea fields and client-side
-    scripts with custom widgets) but will have to wait until
-    the backlog of implementation work diminishes.
--->
-
-<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
-<!ATTLIST FORM
-        action %URI #REQUIRED -- server-side form handler --
-        method (%HTTP-Method) GET -- see HTTP specification --
-        enctype %Content-Type; "application/x-www-form-urlencoded"
-        script %URI #IMPLIED -- link to client-side script --
-        >
-
-<![ %HTML.Deprecated [
-    <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
-                   | RESET | RANGE | FILE | SCRIBBLE | HIDDEN | IMAGE)">
-]]>
-
-<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
-                   | RESET | RANGE | FILE | SCRIBBLE | HIDDEN)">
-
-<!ELEMENT INPUT - O EMPTY>
-<!ATTLIST INPUT
-        %attrs;
-        type %InputType TEXT
-        name  NAME  #IMPLIED       -- required for all but submit and reset --         
-        value CDATA #IMPLIED       -- required for radio buttons & checkboxes --
-        disabled (disabled) #IMPLIED -- read-only fields --
-        error CDATA #IMPLIED       -- why field is in error --
-        checked (checked) #IMPLIED -- for radio buttons and check boxes --
-        size NUMBER #IMPLIED       -- visible width of TEXT fields --
-        maxlength NUMBER #IMPLIED  -- max number of chars for TEXT fields --
-        min %REAL #IMPLIED         -- lower limit for RANGE fields --
-        max %REAL #IMPLIED         -- upper limit for RANGE fields --
-        accept CDATA #IMPLIED      -- list of MIME types for file fields --
-        src   %URI  #IMPLIED       -- for fields with background images --
-        %url.link;                 -- standard link attributes --
-        align  (top|middle|bottom|left|right) top
-        >
-
-<!--
-  SRC attribute added for graphical selection menus
-  The WIDTH, HEIGHT and UNITS attributes apply to the
-  image specified by the SRC attribute.
- -->
-
-<!ELEMENT SELECT - - (OPTION+) -(INPUT|TEXTAREA|SELECT)>
-<!ATTLIST SELECT
-        %attrs;
-        name CDATA #REQUIRED
-        multiple (multiple) #IMPLIED
-        disabled (disabled) #IMPLIED -- read-only menu --
-        error CDATA #IMPLIED   -- why selections are in error --
-        src  %URI  #IMPLIED    -- for graphical selection menus --
-        %url.link;             -- standard link attributes --
-        width  NUMBER #IMPLIED -- desired width of in en's or pixels --
-        height NUMBER #IMPLIED -- desired height in en's or pixels --
-        units  (en|pixels) pixels -- units for width and height --
-        align  (top|middle|bottom|left|right) top
-        >
-
-<!ELEMENT OPTION - O (#PCDATA)>
-<!ATTLIST OPTION
-        %attrs;
-        selected (selected) #IMPLIED
-        value  CDATA  #IMPLIED -- default to element content --
-        shape %SHAPE; #IMPLIED -- for graphical selection menus --
-        disabled (disabled) #IMPLIED -- unselectable option --
-        error CDATA #IMPLIED   -- why this choice is in error --
-        >
-
-<!--
-  Multi-line text input field. align=left or right
-  causes the field to float to margin and for
-  subsequent text to wrap around the field.
--->
-     
-<!ELEMENT TEXTAREA - - (#PCDATA) -(INPUT|TEXTAREA|SELECT)>
-<!ATTLIST TEXTAREA
-        %attrs;
-        name CDATA #REQUIRED
-        rows NUMBER #REQUIRED
-        cols NUMBER #REQUIRED
-        disabled (disabled) #IMPLIED -- read-only field --
-        error CDATA #IMPLIED         -- why field is in error --
-        align  (top|middle|bottom|left|right) top
-        >
-
-<!--======================= Captions ======================================-->
-
-<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption -->
-<!ATTLIST CAPTION
-        %attrs;
-        align (top|bottom|left|right) #IMPLIED
-        >
-<!--======================= Tables ========================================-->
-
-<!--
-    Tables and figures can be aligned in several ways:
-
-    bleedleft   flush left with the left (window) border
-    left        flush left with the left text margin
-    center      centered (text flow is disabled for this mode)
-    right       flush right with the right text margin
-    bleedright  flush right with the right (window) border
-    justify     when applicable the table/figure should stretch
-                to fill space between the text margins
-
-    Note: text will flow around the table or figure if the browser
-    judges there is enough room and the alignment is not centered
-    or justified. The table or figure may itself be part of the
-    text flow around some earlier figure. You can in this case use
-    the clear or needs attributes to move the new table or figure
-    down the page beyond the obstructing earlier figure. Similarly,
-    you can use the clear or needs attributes with other elements
-    such as headers and lists to move them further down the page.
--->
-
-<!ENTITY % block.align
-        "align  (bleedleft|left|center|right|bleedright|justify) center">
-
-<!--
-    The HTML 3.0 table model has been chosen for its simplicity
-    and the ease in writing filters from common DTP packages.
-
-    By default the table is automatically sized according to the
-    cell contents and the current window size. Specifying the columns
-    widths using the colspec attribute allows browsers to start
-    displaying the table without having to wait for last row.
-
-    The colspec attribute is a list of column widths and alignment
-    specifications. The columns are listed from left to right with
-    a capital letter followed by a number, e.g. COLSPEC="L20 C8 L40".
-    The letter is L for left, C for center, R for right alignment of
-    cell contents. J is for justification, when feasible, otherwise
-    this is treated in the same way as L for left alignment.
-    Column entries are delimited by one or more space characters.
-    
-    The number specifies the width in en's, pixels or as a
-    fractional value of the table width, as according to the
-    associated units attribute. This approach is more compact
-    than used with most SGML table models and chosen to simplify
-    hand entry. The width attribute allows you to specify the
-    width of the table in pixels, en units or as a percentage
-    of the space between the current left and right margins.
-
-    To assist with rendering to speech, row and column headers
-    can be given short names using the AXIS attribute. The AXES
-    attribute is used to explicitly specify the row and column
-    names for use with each cell. Otherwise browsers can follow
-    up columns and left along rows (right for some languages)
-    to find the corresponding header cells.
-
-    Table content model: Braille limits the width of tables,
-    placing severe limits on column widths. User agents need
-    to render big cells by moving the content to a note placed
-    before the table. The cell is then rendered as a link to
-    the corresponding note.
-
-    To assist with formatting tables to paged media, authors
-    can differentiate leading and trailing rows that are to
-    be duplicated when splitting tables across page boundaries.
-    The recommended way is to subclass rows with the CLASS attribute
-    For example: <TR CLASS=Header>, <TR CLASS=Footer> are used for
-    header and footer rows. Paged browsers insert footer rows at
-    the bottom of the current page and header rows at the top of
-    the new page, followed by the remaining body rows.
--->
-
-<!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data -->
-<!ATTLIST TABLE
-        %attrs;
-        %needs; -- for control of text flow --
-        border (border) #IMPLIED -- draw borders --
-        colspec CDATA   #IMPLIED -- column widths and alignment --
-        units  (en|pixels|relative) en -- units for column widths --
-        dp      CDATA   #IMPLIED -- decimal point e.g. dp="," --
-        width NUMBER    #IMPLIED -- absolute or percentage width --
-        %block.align;  -- horizontal alignment --
-        noflow (noflow) #IMPLIED -- noflow around table --
-        nowrap (nowrap) #IMPLIED -- don't wrap words --
-        >
-
-<!ENTITY % cell "TH | TD">
-<!ENTITY % horiz.align "left|center|right|justify">
-<!ENTITY % vert.align  "top|middle|bottom|baseline">
-
-<!--
-    Browsers should tolerate an omission of the first <TR>
-    tag as it is implied by the context. Missing trailing
-    <TR>s implied by rowspans should be ignored.
-
-    The alignment attributes act as defaults for rows
-    overriding the colspec attribute and being in turn
-    overridden by alignment attributes on cell elements.
-    Use valign=baseline when you want to ensure that text
-    in different cells on the same row is aligned on the
-    same baseline regardless of fonts. It only applies
-    when the cells contain a single line of text.
--->
-
-<!ELEMENT TR - O (%cell)* -- row container -->
-<!ATTLIST TR
-        %attrs;
-        align  (%horiz.align) #IMPLIED -- horizontal alignment --
-        valign (%vert.align)  top  -- vertical alignment --
-        dp     CDATA     #IMPLIED  -- decimal point e.g. dp="," --
-        nowrap (nowrap)  #IMPLIED  -- don't wrap words --
-        >
-
-<!--
-    Note that table cells can include nested tables.
-    Missing cells are considered to be empty, while
-    missing rows should be ignored, i.e. if a cell
-    spans a row and there are no further TR elements
-    then the implied row should be ignored.
--->
-
-<!ELEMENT (%cell) - O %body.content>
-<!ATTLIST (%cell)
-        %attrs;
-        colspan NUMBER    1      -- columns spanned --
-        rowspan NUMBER    1      -- rows spanned --
-        align  (%horiz.align) #IMPLIED -- horizontal alignment --
-        valign (%vert.align) top -- vertical alignment --
-        dp      CDATA    #IMPLIED  -- decimal point e.g. dp="," --
-        nowrap (nowrap)  #IMPLIED  -- don't wrap words --
-        axis CDATA #IMPLIED -- axis name, defaults to element content --
-        axes CDATA #IMPLIED -- comma separated list of axis names --
-        >
-
-<!--====================== Figures ========================================-->
-
-<!--
-  The element contains text for use in non-graphical displays. Note that
-  you can use the shape attribute in anchors to specify hotzones on images.
-  This provides for local processing of pointer clicks and a unified method
-  for dealing with graphical and non-graphical displays.
-
-  Text is flowed around figures when the figure is left or right aligned.
-  You can request the browser to move down until there is enough room for
-  the next element, see the CLEAR and NEED attributes (in %needs)
-
-  Figures offer a path towards embedding arbitrary information formats
-  via some kind of OLE/OpenDoc mechanism.
--->
-
-<!ELEMENT FIG - - (OVERLAY*, CAPTION?, FIGTEXT, CREDIT?) -(FIG|IMG)>
-<!ATTLIST FIG
-        %attrs;
-        %needs;                  -- for control of text flow --
-        src  %URI;  #REQUIRED    -- URI of document to embed --
-        %url.link;               -- standard link attributes --
-        %block.align;            -- horizontal alignment --
-        noflow (noflow) #IMPLIED -- noflow around figure --
-        width  NUMBER #IMPLIED   -- desired width in units --
-        height NUMBER #IMPLIED   -- desired height in units --
-        units (en|pixels) pixels -- specifies units as en's or pixels --
-        imagemap (%URI) #IMPLIED -- pass background clicks to server --
-        >
-        
-<!ELEMENT FIGTEXT O O %body.content -- dummy element -->
-
-<!--
-    Figure overlays. When combined with local caching, overlays
-    provide a cheap way of modifying a larger base image sent as
-    part of a previous page.
--->
-
-<!ELEMENT OVERLAY - O EMPTY -- image overlay -->
-<!ATTLIST OVERLAY
-        src  %URI;  #REQUIRED    -- URI of image overlay --
-        %url.link;               -- standard link attributes --
-        units (en|pixels) pixels -- specifies units as en's or pixels --
-        x      NUMBER   0        -- offset from left in units --
-        y      NUMBER   0        -- offset from top in units --
-        width  NUMBER #IMPLIED   -- desired width in units --
-        height NUMBER #IMPLIED   -- desired height in units --
-        imagemap (%URI) #IMPLIED -- pass background clicks to server --
-        >
-
-<!ELEMENT CREDIT - - (%text;)* -- source of image -->
-<!ATTLIST CREDIT
-        %attrs;
-        >
-
-<!--======================== Notes ========================================-->
-
-<!--
-The NOTE element is used for admonishments. The CLASS attribute
-is used to differentiate NOTE's, e.g. Note, Caution or Warning.
--->
-
-<!ELEMENT NOTE - - %body.content; -- admonishment -->
-<!ATTLIST NOTE
-        %attrs;
-        src %URI;   #IMPLIED  -- URI of custom graphic --
-        %url.link;            -- standard link attributes --
-        %needs; -- for control of text flow --
-        >
-
-<!--======================== Footnotes ====================================-->
-
-<!--
-Typically rendered as popup note. These elements are referenced
-by hypertext links specified with the anchor element.
--->
-<!ELEMENT FN - - %body.content;>
-<!ATTLIST FN %attrs;>
-
-<!--======================== Math  ========================================-->
-
-<!-- Use &thinsp; &emsp; etc for greater control of spacing. -->
-
-<!-- Subscripts and Superscripts
-
-  <SUB> and <SUP> are used for subscripts and superscripts.
-
-                                          i j
-      X <SUP>i</SUP>Y<SUP>j</SUP>  is   X  Y
-
-  i.e. the space following the X disambiguates the binding.
-  The align attribute can be used for horizontal alignment,
-  e.g. to explicitly place an index above an element:
-                                              i
-        X<sup align=center>i</sup>  produces  X
-
-Short references are defined for superscripts, subscripts and boxes
-to save typing when manually editing HTML math, e.g.
-
-      x^2^    is mapped to   x<sup>2</sup>
-      y_z_    is mapped to   y<sub>z</sub>
-      {a+b}   is mapped to   <box>a + b</box>
-
-Note that these only apply within the MATH element and can't be
-used in normal text!
--->
-<!ENTITY REF1   STARTTAG   "SUP">
-<!ENTITY REF2   ENDTAG     "SUP">
-<!ENTITY REF3   STARTTAG   "SUB">
-<!ENTITY REF4   ENDTAG     "SUB">
-<!ENTITY REF5   STARTTAG   "BOX">
-<!ENTITY REF6   ENDTAG     "BOX">
-
-<!USEMAP MAP1   MATH>
-<!USEMAP MAP2   SUP>
-<!USEMAP MAP3   SUB>
-<!USEMAP MAP4   BOX>
-
-<!SHORTREF MAP1 "^" REF1
-                "_" REF3
-                "{" REF5 >
-
-<!SHORTREF MAP2 "^" REF2
-                "_" REF3
-                "{" REF5 >
-
-<!SHORTREF MAP3 "_" REF4
-                "^" REF1
-                "{" REF5 >
-
-<!SHORTREF MAP4 "}" REF6
-                "^" REF1
-                "_" REF3
-                "{" REF5 >
-
-<!--
- The inclusion of %math and exclusion of %notmath is used here
- to alter the content model for the B, SUB and SUP elements,
- to limit them to formulae rather than general text elements.
--->
-
-<!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents -->
-<!ENTITY % mathface "B|T|BT" -- control of font face -->
-<!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface">
-<!ENTITY % formula "#PCDATA|%math">
-
-<!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)>
-<!ATTLIST MATH
-        id      ID      #IMPLIED
-        class    NAMES   #IMPLIED -- e.g. class=chem -->
-
-<!-- The BOX element acts as brackets. Delimiters are optional and
-     stretch to match the height of the box. The OVER element is used
-     when you want a line between numerator and denominator. This line
-     is suppressed with the alternative ATOP element. CHOOSE acts like
-     ATOP but adds enclosing round brackets as a convenience for binomial
-     coefficients. Note the use of { and } as shorthand for <BOX> and
-     </BOX> respectively:
-
-                           1 + X
-     {1 + X<OVER>Y}  is   _______
-                             Y
-
-                                 a + b
-     {a + b<ATOP>c - d} is  
-                                 c - d
-
-     The delimiters are represented using the LEFT and RIGHT
-     elements as in:
-
-     {[<LEFT>x + y<RIGHT>]}   is   [ x + y ]
-     {(<LEFT>a<RIGHT>]}       is   (a]
-     {||<LEFT>a<RIGHT>||}     is   || a ||
-
-     Use &lbrace; and &rbrace; for "{" and "}" respectively as
-     these symbols are used as shorthand for BOX, e.g.
-
-     {&lbrace;<LEFT>a+b<RIGHT>&rbrace;}  is  {a+b}
-
-     You can stretch definite integrals to match the integrand, e.g.
-
-     {&int;<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx}
-
-            b
-            /  f(x)
-            | ----- dx
-            / 1 + x
-            a
-
-     Note the complex content model for BOX is a work around
-     for the absence of support for infix operators in SGML.
-
-     You can get oversize delimiters with the SIZE attribute,
-     for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX>
-
-     Note that the names of common functions are recognized
-     by the parser without the need to use "&" and ";" around
-     them, e.g. int, sum, sin, cos, tan, ...
--->
-
-<!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?,
-                   ((OVER|ATOP|CHOOSE), (%formula)*)?,
-                   (RIGHT, (%formula)*)?)>
-<!ATTLIST BOX
-        size  (normal|medium|large|huge) normal -- oversize delims -->
-
-<!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY>
-
-<!-- Horizontal line drawn ABOVE contents
-     The symbol attribute allows authors to supply
-     an entity name for an accent, arrow symbol etc.
-     Generalisation of LaTeX's overline command.
-     
-     e.g. <above sym=ssmile>x</above>
-     places an upwardly turning curve above the "x"
- -->
-
-<!ELEMENT ABOVE - - (%formula)+>
-<!ATTLIST ABOVE sym ENTITY #IMPLIED>
-
-<!-- Horizontal line drawn BELOW contents
-     The symbol attribute allows authors to 
-     supply an entity name for an arrow symbol etc.
-     Generalisation of LaTeX's underline command.
- -->
-
-<!ELEMENT BELOW - - (%formula)+>
-<!ATTLIST BELOW sym ENTITY #IMPLIED>
-
-<!-- Convenience tags for common accents:
-     vec, bar, dot, ddot, hat and tilde
--->
-
-<!ELEMENT (%mathvec) - - (%formula)+>
-
-<!--
-  T and BT are used to designate terms which should
-  be rendered in an upright font (& bold face for BT)
--->
-
-<!ELEMENT (T|BT) - - (%formula)+>
-<!ATTLIST (T|BT) class NAMES #IMPLIED>
-
-<!-- Roots  e.g. <ROOT>3<OF>1+x</ROOT> -->
-
-<!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)>
-<!ELEMENT OF - O (%formula)* -- what the root applies to -->
-
-<!ELEMENT SQRT - - (%formula)* -- square root convenience tag -->
-
-<!-- LaTeX like arrays. The COLDEF attribute specifies
-     a single capital letter for each column determining
-     how the column should be aligned, e.g. coldef="CCC"
-
-        "L"     left
-        "C"     center
-        "R"     right
-        
-     An optional separator letter can occur between columns
-     and should be one of + - or =, e.g. "C+C+C+C=C".
-     Whitespace within coldef is ignored. By default, the
-     columns are all centered.
-     
-     The ALIGN attribute alters the vertical position of the
-     array as compared with preceding and following expressions.
-
-     Use LDELIM and RDELIM attributes for delimiter entities.
-     When the LABELS attribute is present, the array is
-     displayed with the first row and the first column as
-     labels displaced from the other elements. In this case,
-     the first element of the first row should normally be
-     left blank.
-
-     Use &vdots; &cdots; and &ddots; for vertical, horizontal
-     and diagonal ellipsis dots. Use &dotfill; to fill an array
-     cell with horizontal dots (e.g. for a full row).
-     Note &ldots; places the dots on the baseline, while &cdots;
-     places them higher up.
--->
-
-<!ELEMENT ARRAY - - (ROW)+>
-<!ATTLIST ARRAY
-        align (top|middle|bottom) middle -- vertical alignment --
-        coldef  CDATA   #IMPLIED  -- column alignment and separator --
-        ldelim  CDATA   #IMPLIED  -- stretchy left delimiter --
-        rdelim  CDATA   #IMPLIED  -- stretchy right delimiter --
-        labels (labels) #IMPLIED  -- TeX's \bordermatrix style -->
-
-<!ELEMENT ROW - O (ITEM)*>
-<!ELEMENT ITEM - O (%formula)*>
-<!ATTLIST ITEM
-        align   CDATA  #IMPLIED  -- override coldef alignment --
-        colspan NUMBER 1         -- merge columns as per TABLE --
-        rowspan NUMBER 1         -- merge rows as per TABLE -->
-
-<!--================ Document Head ========================================-->
-
-<![ %HTML.Deprecated [
-    <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
-                              & META* & LINK* & RANGE* & NEXTID?">
-]]>
-
-<!ENTITY % head.nextid "">
-
-<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
-                              & META* & LINK* & RANGE*">
-
-<!ELEMENT HEAD O O  (%head.content)>
-
-<!ELEMENT LINK - O EMPTY>
-<!ATTLIST LINK
-        href %URI #REQUIRED
-        %linkExtraAttributes; >
-        
-<!ELEMENT RANGE - O EMPTY>
-<!ATTLIST RANGE
-        id    ID    #IMPLIED  -- for naming marked range --
-        class NAMES #IMPLIED  -- for subclassing --
-        from  IDREF #REQUIRED -- start of marked range --
-        until IDREF #REQUIRED -- end of marked range --
-        >
-
-<!ELEMENT ISINDEX - O EMPTY>
-<!ATTLIST ISINDEX
-        href   %URI  #IMPLIED -- server handling queries --
-        prompt CDATA #IMPLIED -- prompt message -->
-
-<!--
-    The BASE element gives the base URL for
-    dereferencing relative URLs, e.g.
-
-         <BASE href="http://foo.com/images">
-         ...
-         <IMG SRC="bar.gif">
-
-    The image is deferenced to
-
-         http://foo.com/images/bar.gif
--->
-
-<!ELEMENT BASE - O EMPTY>
-<!ATTLIST BASE
-        id   ID    #IMPLIED
-        href %URI; #REQUIRED
-        >
-
-<![ %HTML.Deprecated [
-    <!ELEMENT NEXTID - O EMPTY>
-    <!ATTLIST NEXTID N CDATA #REQUIRED>
-]]>
-
-<!ELEMENT META - O EMPTY    -- Generic Metainformation -->
-<!ATTLIST META
-        http-equiv  NAME    #IMPLIED  -- HTTP response header name  --
-        name        NAME    #IMPLIED  -- metainformation name       --
-        content     CDATA   #REQUIRED -- associated information     --
-        >
-
-<!--
-    A style sheet can be associated with the document using the
-    LINK element, e.g. <LINK rel=style href="housestyle.dsssl">.
-    Style overrides can be placed in the document head using the
-    STYLE element, e.g.
-
-        <style notation=dsssl-lite>
-           dsss-lite stuff
-        </style>
-
-    Later on in the document you can use:
-
-        <h2 class=bigcaps>Header with bigger than normal capitals</h2>
-        <p class=abstract>A paragraph with a unique style of its own
-        ...
-    
-    Statements in the given style notation 
-        
-    The tag names, class and id attributes are used in the style sheet
-    notation to describe how to render matching elements.
--->
-
-<!ENTITY % style-notations "dsssl-lite | w3c-style">
-<!NOTATION dsssl-lite PUBLIC
-      "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN">
-      
-<!NOTATION w3c-style PUBLIC "IETF/RFC nnn/W3C Style Language//EN">
-
-<!ELEMENT STYLE - O (#PCDATA)>
-<!ATTLIST STYLE
-    notation NOTATION (%style-notations;) #REQUIRED
->
-
-<!--================ Document Structure ===================================-->
-
-<!ENTITY % html.content "HEAD, BODY">
-
-<!ELEMENT HTML O O  (%html.content)>
-<!ENTITY % version.attr 'VERSION CDATA #FIXED "&HTML.Version;"'>
-
-<!-- suggested roles are: TOC, DOC, DOCPART, HITLIST, DIALOG -->
-
-<!ATTLIST HTML
-        %version.attr;       -- report DTD version to application --
-        urn   CDATA #IMPLIED -- universal resource name for this document --
-        class NAMES #IMPLIED -- role of this document, eg table of contents --
-        >
-
-<!-- The END -->
--- a/etc/sgml/html-plus+.dtd	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,545 +0,0 @@
-<!DOCTYPE HTMLPLUS [
-
-<!-- DTD for HTML+ It assumes the default <!SGML> declaration.
-
- Markup minimisation should be avoided with the exception of </>
- for the endtag. Browsers should be forgiving of markup errors.
-
- Common Attributes:
-
-    id      The id attribute allows authors to name elements such as 
-            headers and paragraphs as potential destinations for links. 
-            Note links don't specify points, but rather extended objects.
-
-    index   Allows authors to specify how given headers etc should be 
-            indexed as primary or secondary keys, where "/" separates
-            primary from secondary keys ";" separates multiple entries
--->
-
-<!-- ENTITY DECLARATIONS with <!ENTITY>
-
-  <!ENTITY % foo "X | Y | Z"> is a macro definition for parameters and
-  in subsequent statements, the string "%foo;" is expanded to "X | Y | Z"
-
-  Various classes of SGML text types:
-
-    #CDATA      text which doesn't include markup or entity references
-
-    #RCDATA     text with entity references but no markup
-
-    #PCDATA     text occurring in a context in which markup and entity
-                references may occur.
--->
-
-<!ENTITY % URL "CDATA" -- a URL or URN designating a hypertext node -->
-<!ENTITY % text "#PCDATA|A|IMG|EM|EMBED|INPUT|SP|BR|ADDRESS|CHANGED">
-<!ENTITY % paras "P|PRE|FIG|HR">
-<!ENTITY % lists "UL|OL|DL">
-<!ENTITY % misc "TBL|FORM|PANEL|GROUP">
-<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> 
-<!ENTITY % table "%text;|P|%heading;|%lists;">
-<!ENTITY % main "%heading;|%misc;|%lists;|%paras;|%text;">
-<!ENTITY % setup "(TITLE? & HTML? &ISINDEX? & NEXTID? & LINK* & BASE?)">
-
-<!--
-   <!ELEMENT tagname - - CONTENT> elements needing closing tags
-   <!ELEMENT tagname - O CONTENT> elements without closing tags
-   <!ELEMENT tagname - O EMPTY> elements without content or closing tags
-
- The content definition is:
-    a)  an entity reference as defined above
-    b)  a tagname
-    c)  (brackets enclosing the above)
-
- These may be combined with the operators:
-
-    A*   A occurs zero or more times
-    A+   A occurs one or more times
-   AÝB   implies either A or B
-    A?   A may occur zero or one times
-   A,B   implies first A then B
--->
-
-<!ELEMENT HTMLPLUS O O ((HEAD, BODY) | ((%setup;), (%main;)*))>
-
-<!ELEMENT HEAD - - (%setup;)>
-
-<!ELEMENT BODY - - (%main;)*>
-
-<!-- Document title -->
-
-<!ELEMENT TITLE - - (#PCDATA | EM)+>
-<!ATTLIST TITLE
-        id      ID      #IMPLIED -- link destination --
-        index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Document/Node role for cataloging documents held by servers -->
-
-<!ELEMENT HTML - O (EMPTY)>
-
-<!ATTLIST HTML role CDATA #IMPLIED -- home page, index, ... -->
-
-<!-- Floating panel which can be moved around relative to the normal text 
- flow. Often rendered with a different background and possibly framed. The 
- panel can be anchored to a named point in the document as specified by the 
- AT attribute. The panel may be placed at that point or after, but not 
- before.
--->
-
-<!ELEMENT PANEL - - (TITLE?, (%main;)*)>
-
-<!ATTLIST PANEL
-        id      ID      #IMPLIED -- defines link destination --
-        at      IDREF   #IMPLIED -- anchor point --
-        index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Document headers -->
-
-<!ELEMENT (%heading;) - - (#PCDATA | A | EM)+>
-
-<!ATTLIST (%heading;)
-        id      ID      #IMPLIED -- defines link destination --
-        index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- logical emphasis with optional style hints -->
-
-<!ELEMENT EM - - (%text;)*>
-
-<!ATTLIST EM
-    role    CDATA   #IMPLIED -- semantic category e.g. CITE --
-    b       (b)     #IMPLIED -- render in bold font --
-    i       (i)     #IMPLIED -- render in italic font --
-    u       (u)     #IMPLIED -- underline text --
-    tt      (tt)    #IMPLIED -- render in typewriter font --
-    tr      (tr)    #IMPLIED -- render in serif (Times Roman) font --
-    hv      (hv)    #IMPLIED -- render in sans serif (Helvetica) font --
-    sup     (sup)   #IMPLIED -- superscript --
-    sub     (sub)   #IMPLIED -- subscript --
-    index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Paragraphs with different roles and optional style hints -->
-
-<!ELEMENT P - O (%text;)+>
-
-<!ATTLIST P
-    id      ID        #IMPLIED -- link destination --
-    role    CDATA     #IMPLIED -- semantic role --
-    align   CDATA     #IMPLIED -- left, center or right --
-    indent  (indent)  #IMPLIED -- indented margins --
-    index   CDATA     #IMPLIED -- entries for index compilation -->
-
-<!ELEMENT HR - O EMPTY -- horizontal rule -->
-
-<!ELEMENT BR - O EMPTY -- line break -->
-
-<!ELEMENT SP - O EMPTY -- unbreakable space -->
-
-<!-- Preformatted text with fixed pitch font, respecting original spacing 
- and newlines. Authors can also request proportional fonts. Further control 
- is possible with EM.
--->
-
-<!ELEMENT ADDRESS - - (%text;|P)+>
-
-<!ELEMENT PRE - - (%text;)+>
-
-<!ATTLIST PRE
-    id      ID      #IMPLIED -- link destination --
-    style   CDATA   #IMPLIED -- various styles --
-    tr      (tr)    #IMPLIED -- serif (Times Roman) font --
-    hv      (hv)    #IMPLIED -- sans serif (Helvetica) font --
-    width   NUMBER  #IMPLIED -- e.g. 40, 80, 132 --
-    index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Lists which can be nested -->
-
-<!ELEMENT OL - - (LI | UL | OL)+ -- ordered list -->
-
-<!ATTLIST OL
-    id      ID          #IMPLIED
-    compact (compact)   #IMPLIED
-    index   CDATA       #IMPLIED -- entries for index compilation -->
-
-<!ELEMENT UL - - (LI | UL | OL)+ -- unordered list -->
-
-<!ATTLIST UL
-    id      ID          #IMPLIED -- link destination --
-    compact (compact)   #IMPLIED -- reduced interitem spacing --
-    narrow  (narrow)    #IMPLIED -- narrow perhaps multi columns --
-    index   CDATA       #IMPLIED -- entries for index compilation -->
-
-<!-- List items for UL and OL lists -->
-
-<!ELEMENT LI - O (P|%text;)+>
-
-<!ATTLIST LI
-    id      ID      #IMPLIED
-    src     %URL;   #IMPLIED -- icon for use in place of bullet --
-    index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Definition Lists (terms + definitions) -->
-
-<!ELEMENT DL - - (DT,DD)+ -- DT and DD *MUST* be paired -- >
-
-<!ATTLIST DL
-    id      ID          #IMPLIED
-    compact (compact)   #IMPLIED
-    index   CDATA       #IMPLIED -- entries for index compilation -->
-
-<!ELEMENT DT - O (%text;)+ -- term text -- >
-
-<!ELEMENT DD - O (P|QUOTE|UL|OL|%text;)+ -- definition text -- >
-
-<!ATTLIST (DT|DD)
-    id      ID      #IMPLIED
-    index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Tables with titles and column headers, e.g.
-
-    <tbl border>
-        <tt> An Example of a Table
-        <th> <th s="2"> average <th> other <tr>
-        <th> <th> height <th> weight <th> category <tr>
-        <td> males <td> 1.9 <td> .003 <td> yyy <tr>
-        <td> females <td> 1.7 <td> .002 <td> xxx
-    </tbl>
--->
-
-<!ELEMENT TBL - - (TT?, (TH|TD|TR|TB)*) -- mixed headers and data -->
-
-<!ATTLIST TBL
-    id      ID          #IMPLIED
-    compact (compact)   #IMPLIED -- if present use compact style --
-    border  (border)    #IMPLIED -- if present draw borders --
-    index   CDATA       #IMPLIED -- entries for index compilation -->
-
-<!ELEMENT TT - O (%text;)+ -- table title -->
-
-<!ATTLIST TT top (top) #IMPLIED -- place title above table -->
-
-<!ELEMENT TH - O (%table;)* -- a header cell -->
-
-<!ATTLIST TH
-    colspan NUMBER    1       -- columns spanned --
-    rowspan NUMBER    1       -- rows spanned --
-    align   CDATA   #IMPLIED  -- left, center or right -->
-
-<!ELEMENT TD - O (%table;)* -- a data cell -->
-
-<!ATTLIST TD
-    colspan NUMBER    1       -- columns spanned --
-    rowspan NUMBER    1       -- rows spanned --
-    align   CDATA   #IMPLIED  -- left, center or right -->
-
-<!ELEMENT TR - O EMPTY -- row *separator* not terminator -->
-
-<!ELEMENT TB - O EMPTY -- vertical break of 1/2 line spacing -->
-
-<!-- Forms composed from input fields and selection menus
-
- These elements define fields which users can type into or select with mouse 
- clicks. The browser should manage the input focus e.g. with the tab/shift 
- tab keys and mouse clicks.
-
- The enter/return key is then taken to mean the use has filled in the form 
- and wants the apppropriate action taken:
-
-   -  send as query/update to WWW server
-   -  email/fax to designated person
-
- The action is specified as a URL, e.g. "mailto:dsr@hplb.hpl.hp.com You can 
- specify additional mail headers with the MH tag:
-
-    <MH>Subject: Please add me to tennis tournament</MH>
-
- Each FORM should include one or more INPUT elements which can be layed out 
- with normal and preformatted text, lists and tables.
--->
-
-<!ELEMENT FORM - - (MH?,(%main;)*)>
-
-<!ATTLIST FORM
-        id      ID      #IMPLIED
-        action  %URL;   #IMPLIED
-        index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!ELEMENT MH - - CDATA -- one or more RFC 822 header fields -->
-
-<!ATTLIST MH hidden (hidden) #IMPLIED -- hide mail headers from view -->
-
-<!-- INPUT elements should be defined within a FORM element.
-
- Users can alter the value of the INPUT element by typing or clicking with 
- the mouse. Use radio buttons for selecting one attribute value from a set 
- of alternatives. In this case there will be several INPUT elements with the 
- same name. Attributes which can take multiple values at the same time 
- should be defined with checkboxes: define each allowed value in a separate 
- INPUT element but with the same attribute name. For checkboxes and radio 
- buttons, the value doesn't change, instead the state of the button shown by 
- the presence or absence of the checked attribute in each element.
- The size attribute specifies the size of the input field as appropriate to 
- each type. For text this gives the width in characters and height in lines 
- (separated by an "x"). For numbers this gives the maximum precision.
--->
-
-<!ELEMENT INPUT - O EMPTY>
-
-<!ATTLIST INPUT
-    name      CDATA     #IMPLIED -- attribute name (may not be unique) --
-    type      CDATA     #IMPLIED --TEXT,URL,INT,FLOAT,DATE,CHECKBOX,RADIO--
-    size      CDATA     #IMPLIED -- e.g."32x4" for multiline text --
-    value     CDATA     #IMPLIED -- attribute value (altered by user) --
-    checked  (checked)  #IMPLIED -- for check boxes and radio buttons --
-    disabled (disabled) #IMPLIED -- if grayed out --
-    error    (error)    #IMPLIED -- if in error -->
-
-<!-- Embedded Data
-
- You can embed information in a foreign format into the HTML+ document. This 
- is very convenient for mathematical equations and simple drawings. Images 
- and complex drawings are better specified as linked documents using the FIG 
- or IMG elements.
-
- Arbitrary 8 bit data is allowed but any occurrences of the following chars 
- must be escaped as shown:
-
-        "&"     by      "&amp;"
-        "<"     by      "&lt;"
-        ">"     by      "&gt;"
-
- The browser can pipe such data thru filters to generate the corresponding 
- pixmap The data format is specified as a MIME content type, e.g. "text/eqn"
--->
-
-<!ELEMENT EMBED - - (RCDATA)>
-
-<!ATTLIST EMBED
-    id      ID      #IMPLIED
-    type    CDATA   #IMPLIED  -- mime content type --
-    index   CDATA   #IMPLIED -- entries for index compilation -->
-
-<!-- Figures
-
- The image/drawing is specified by a URL or as embedded data for simple 
- drawings. The element's text serves as the caption. Use the emphasis with 
- style = "credits" to record photo credits etc.
-
- FIGD allows dumb terminals etc to show a textual description in place
- of the actual sound sequence, image, movie or graphic.
--->
-
-<!ELEMENT FIG - - (EMBED?, FIGD?, (FIGA|FIGT)*, (%text;)*)>
-<!ATTLIST FIG
-    id      ID          #IMPLIED
-    align   CDATA       #IMPLIED -- position: left, right or center --
-    cap     CDATA       #IMPLIED -- caption at left, right, top, bottom --
-    noflow  (noflow)    #IMPLIED -- disables text flow --
-    ismap   (ismap)     #IMPLIED -- server can handle mouse clicks/drags --
-    src     %URL;       #IMPLIED -- link to image data --
-    index   CDATA       #IMPLIED -- entries for index compilation -->
-
-<!ELEMENT FIGD - - (%table;) -- figure description -->
-
-<!-- Figure anchors designate polygonal areas on the figure which can be 
- clicked with the mouse. The default area is the whole of the figure. This 
- mechanism interprets mouse clicks locally, and browsers can choose to 
- highlight the designated area (or change the mouse sprite) when the mouse 
- is moved over the area.
-
- Note that polygons may be non-convex or even intersect themselves, thereby 
- complicating the definition of what is enclosed by the polygon. Holes are 
- excluded.
--->
-
-<!ELEMENT FIGA - O EMPTY>
-
-<!ATTLIST FIGA
-        href    %URL;   #REQUIRED -- link to traverse when clicked --
-        area    NUMBERS #IMPLIED -- x1,y1,x2,y2,x3,y3,... -->
-
-<!-- FIGT Text on top of an figure background, or in a colored background 
- box which sits arbitrarily on top of an figure background. The text can 
- include headers, lists and tables etc. The width attribute allows you to 
- limit the width of the text box. The height is then determined 
- automatically by the browser.
-
- FIGT can also be used to position a graphic on top of a picture using an 
- IMG element within FIGT. In this case the chromakey attribute may allow 
- parts of the underlying image to show through.
- You can make the whole of the box into a hypertext link. This will act as 
- if it is underneath any hypertext links specified by the overlay markup 
- itself.
--->
-
-<!ELEMENT FIGT - - (%main;)>
-<!ATTLIST FIGT
-    at      NUMBERS     #IMPLIED -- upper left origin for text --
-    width   NUMBER      #IMPLIED -- given as fraction of picture --
-    framed  (framed)    #IMPLIED -- framed with coloured background --
-    href    %URL;       #IMPLIED -- link to traverse when clicked -->
-
-<!-- inline icons/small graphics
-
- The align attribute defines whether the top middle or bottom of the graphic 
- and current text line should be aligned vertically
-
- The SEETHRU attribute is intended as a chromakey to allow a given colour to 
- be designated as "transparent". Pixels with this value should not be 
- painted. The exact format of this attribute's value has yet to be defined.
-
- Use the FIG tag for captioned figures with active areas etc.
--->
-
-<!ELEMENT IMG - O EMPTY>
-
-<!ATTLIST IMG
-        src     %URL;   #REQUIRED -- where to get image data --
-        align   CDATA   #IMPLIED  -- top, middle or bottom --
-        seethru CDATA   #IMPLIED  -- for transparency --
-        ismap   (ismap) #IMPLIED  -- send mouse clicks/drags to server -->
-
-<!-- Hierarchical groups for books, chapters, sections etc. -->
-
-<!ELEMENT GROUP - - ((TITLE|LINK*), (%main;)*)>
-
-<!ATTLIST GROUP
-    id      ID      #IMPLIED
-    role    CDATA   #IMPLIED -- book, chapter, section etc. --
-    inset   (inset) #IMPLIED -- rendering hint: indent margins -->
-
-<!-- change bars defined by a matched pair of CHANGED elements:
-
-        <changed id=z34> changed text <changed idref=z34>
-
- This tag can't act as a container, since changes don't respect
- the nesting implied by paragraphs, headers, lists etc.
--->
-
-<!ELEMENT CHANGED - O EMPTY>
-
-<!ATTLIST CHANGED -- one of id and idref is always required --
-    id      ID      #IMPLIED -- signals start of changes --
-    idref   IDREF   #IMPLIED -- signals end of changes -->
-
-<!-- Hypertext Links from points within document nodes -->
-
-<!ELEMENT A - - (#PCDATA | IMG | EM | EMBED)*>
-
-<!ATTLIST A
-    id      ID      #IMPLIED -- as target of link --
-    name    CDATA   #IMPLIED -- backwards compatibility --
-    href    %URL;   #IMPLIED -- destination node --
-    role    CDATA   #IMPLIED -- role of link, e.g. "partof" --
-    effect  CDATA   #IMPLIED -- replace/new/overlay --
-    print   CDATA   #IMPLIED -- reference/footnote/section --
-    title   CDATA   #IMPLIED -- when otherwise unavailable --
-    type    CDATA   #IMPLIED -- for presentation cues --
-    size    NAMES   #IMPLIED -- for progress cues -->
-
-<!-- Other kinds of relationships between documents -->
-
-<!ELEMENT LINK - O EMPTY>
-
-<!ATTLIST LINK
-    href    %URL;   #IMPLIED -- destination node --
-    role    CDATA   #IMPLIED -- role played, e.g. "toc" -->
-
-<!-- Original document URL for resolving relative URLs  -->
-
-<!ELEMENT BASE - O EMPTY>
-
-<!ATTLIST BASE HREF %URL; #IMPLIED>
-
-<!-- Signifies the document's URL accepts queries -->
-
-<!ELEMENT ISINDEX - O (EMPTY)>
-
-<!ATTLIST ISINDEX href %URL; #IMPLIED -- defaults to document's URL -->
-
-<!-- For use with autonumbering editors - don't reuse ids,
- instead, allocate next one starting from this one -->
-
-<!ELEMENT NEXTID - O (EMPTY)>
-
-<!ATTLIST NEXTID N NAME #REQUIRED>
-
-<!-- Mnemonic character entities. -->
-
-<!ENTITY AElig "&#198;" -- capital AE diphthong (ligature) -->
-<!ENTITY Aacute "&#193;" -- capital A, acute accent -->
-<!ENTITY Acirc "&#194;" -- capital A, circumflex accent -->
-<!ENTITY Agrave "&#192;" -- capital A, grave accent -->
-<!ENTITY Aring "&#197;" -- capital A, ring -->
-<!ENTITY Atilde "&#195;" -- capital A, tilde -->
-<!ENTITY Auml "&#196;" -- capital A, dieresis or umlaut mark -->
-<!ENTITY Ccedil "&#199;" -- capital C, cedilla -->
-<!ENTITY ETH "&#208;" -- capital Eth, Icelandic -->
-<!ENTITY Eacute "&#201;" -- capital E, acute accent -->
-<!ENTITY Ecirc "&#202;" -- capital E, circumflex accent -->
-<!ENTITY Egrave "&#200;" -- capital E, grave accent -->
-<!ENTITY Euml "&#203;" -- capital E, dieresis or umlaut mark -->
-<!ENTITY Iacute "&#205;" -- capital I, acute accent -->
-<!ENTITY Icirc "&#206;" -- capital I, circumflex accent -->
-<!ENTITY Igrave "&#204;" -- capital I, grave accent -->
-<!ENTITY Iuml "&#207;" -- capital I, dieresis or umlaut mark -->
-<!ENTITY Ntilde "&#209;" -- capital N, tilde -->
-<!ENTITY Oacute "&#211;" -- capital O, acute accent -->
-<!ENTITY Ocirc "&#212;" -- capital O, circumflex accent -->
-<!ENTITY Ograve "&#210;" -- capital O, grave accent -->
-<!ENTITY Oslash "&#216;" -- capital O, slash -->
-<!ENTITY Otilde "&#213;" -- capital O, tilde -->
-<!ENTITY Ouml "&#214;" -- capital O, dieresis or umlaut mark -->
-<!ENTITY THORN "&#222;" -- capital THORN, Icelandic -->
-<!ENTITY Uacute "&#218;" -- capital U, acute accent -->
-<!ENTITY Ucirc "&#219;" -- capital U, circumflex accent -->
-<!ENTITY Ugrave "&#217;" -- capital U, grave accent -->
-<!ENTITY Uuml "&#220;" -- capital U, dieresis or umlaut mark -->
-<!ENTITY Yacute "&#221;" -- capital Y, acute accent -->
-<!ENTITY aacute "&#225;" -- small a, acute accent -->
-<!ENTITY acirc "&#226;" -- small a, circumflex accent -->
-<!ENTITY aelig "&#230;" -- small ae diphthong (ligature) -->
-<!ENTITY agrave "&#224;" -- small a, grave accent -->
-<!ENTITY amp "&amp;" -- ampersand -->
-<!ENTITY aring "&#229;" -- small a, ring -->
-<!ENTITY atilde "&#227;" -- small a, tilde -->
-<!ENTITY auml "&#228;" -- small a, dieresis or umlaut mark -->
-<!ENTITY ccedil "&#231;" -- small c, cedilla -->
-<!ENTITY eacute "&#233;" -- small e, acute accent -->
-<!ENTITY ecirc "&#234;" -- small e, circumflex accent -->
-<!ENTITY egrave "&#232;" -- small e, grave accent -->
-<!ENTITY eth "&#240;" -- small eth, Icelandic -->
-<!ENTITY euml "&#235;" -- small e, dieresis or umlaut mark -->
-<!ENTITY gt "&#62;" -- greater than -->
-<!ENTITY iacute "&#237;" -- small i, acute accent -->
-<!ENTITY icirc "&#238;" -- small i, circumflex accent -->
-<!ENTITY igrave "&#236;" -- small i, grave accent -->
-<!ENTITY iuml "&#239;" -- small i, dieresis or umlaut mark -->
-<!ENTITY lt "&lt;" -- less than -->
-<!ENTITY ntilde "&#241;" -- small n, tilde -->
-<!ENTITY oacute "&#243;" -- small o, acute accent -->
-<!ENTITY ocirc "&#244;" -- small o, circumflex accent -->
-<!ENTITY ograve "&#242;" -- small o, grave accent -->
-<!ENTITY oslash "&#248;" -- small o, slash -->
-<!ENTITY otilde "&#245;" -- small o, tilde -->
-<!ENTITY ouml "&#246;" -- small o, dieresis or umlaut mark -->
-<!ENTITY szlig "&#223;" -- small sharp s, German (sz ligature) -->
-<!ENTITY thorn "&#254;" -- small thorn, Icelandic -->
-<!ENTITY uacute "&#250;" -- small u, acute accent -->
-<!ENTITY ucirc "&#251;" -- small u, circumflex accent -->
-<!ENTITY ugrave "&#249;" -- small u, grave accent -->
-<!ENTITY uuml "&#252;" -- small u, dieresis or umlaut mark -->
-<!ENTITY yacute "&#253;" -- small y, acute accent -->
-<!ENTITY yuml "&#255;" -- small y, dieresis or umlaut mark -->
-
-<!-- dash entities -->
-
-<!ENTITY endash "--"  -- En dash -->
-<!ENTITY emdash "---" -- Em dash -->
-
-<!-- The END -->
-
-]>
-
-
-
-
--- a/etc/sgml/html2.decl	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-<!SGML  "ISO 8879:1986"
---        
-SGML Declaration for HyperText Markup Language (HTML).
---
-CHARSET
-         BASESET  "ISO 646:1983//CHARSET
-                   International Reference Version
-                   (IRV)//ESC 2/5 4/0"
-         DESCSET  0   9   UNUSED
-                  9   2   9
-                  11  2   UNUSED
-                  13  1   13
-                  14  18  UNUSED
-                  32  95  32
-                  127 1   UNUSED
-     BASESET   "ISO Registration Number 100//CHARSET
-                ECMA-94 Right Part of
-                Latin Alphabet Nr. 1//ESC 2/13 4/1"
-         DESCSET  128  32   UNUSED
-                  160  96    32
-CAPACITY        SGMLREF
-                TOTALCAP        150000
-                GRPCAP          150000               
-ENTCAP               150000  
-SCOPE    DOCUMENT
-SYNTAX   
-         SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16               
- 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127
-         BASESET  "ISO 646:1983//CHARSET
-                   International Reference Version
-                   (IRV)//ESC 2/5 4/0"
-         DESCSET  0 128 0
-         FUNCTION               
-  RE          13
-                  RS          10
-                  SPACE       32
-                  TAB SEPCHAR  9        
-         NAMING   LCNMSTRT ""
-                  UCNMSTRT ""
-                  LCNMCHAR ".-"
-                  UCNMCHAR ".-"
-                  NAMECASE GENERAL YES
-                           ENTITY  NO
-         DELIM    GENERAL  SGMLREF
-                  SHORTREF SGMLREF
-         NAMES    SGMLREF
-         QUANTITY SGMLREF
-                  ATTSPLEN 2100
-                  LITLEN   1024
-                  NAMELEN  72    -- somewhat arbitrary; taken from
-                                internet line length conventions --
-                  PILEN    1024
-                  TAGLVL   100
-                  TAGLEN   2100
-                  GRPGTCNT 150
-                  GRPCNT   64                   
-FEATURES
-  MINIMIZE
-    DATATAG  NO
-    OMITTAG  YES
-    RANK     NO
-    SHORTTAG YES
-  LINK
-    SIMPLE   NO
-    IMPLICIT NO
-    EXPLICIT NO
-  OTHER
-    CONCUR   NO
-    SUBDOC   NO
-    FORMAL   YES
-  APPINFO    "SDA"  -- conforming SGML Document Access application               
-    --
->
-<!--         
-$Id: html2.decl,v 1.1.1.1 1996/12/18 03:28:57 steve Exp $        
-Author: Daniel W. Connolly <connolly@w3.org>        
-See also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
- -->
--- a/etc/sgml/html3.decl	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-<!SGML  "ISO 8879:1986"
---
-  Document Type Definition for the HyperText Markup Language Plus 
-  for use with the World Wide Web application (HTML+ DTD).
-  This DTD is designed for use with SGML authoring tools and
-  it is expected that most browsers will tolerate omissions,
-  in particular, missing <DIVn> elements and <P> start tags
-  following headers, which can easily be inferred from the context.
-
-     The HTML+ DTD which is structured as an HTML core plus a
-     number of additional modules which can be included by an
-     entity definition in a document's <!DOCTYPE> element.
-     You can include specific features in your document
-     using the DOCTYPE declaration at the start, e.g.
-
-     <!DOCTYPE htmlplus [
-        <!ENTITY % HTML.tables "INCLUDE">
-        <!ENTITY % HTML.forms "INCLUDE">
-     ]>
-
-     This spec also allows for authors to extend the DTD and
-     to define how any new elements are rendered in terms of
-     existing ones. This should be used with caution.
-
-     I would like to acknowledge the influence of the TEI DTDs
-     which proved very helpful in restructuring the DTD.
-
-     Dave Raggett <dsr@hplb.hpl.hp.com> 5th April 1994  
-
-     Changes:
-
-     Added align attribute to headers with same values
-     and meaning as for paragraphs.
-
-     Added prologue and epilogue elements and fixed bug
-     in definition of %paras with HTML.emph.
-
-     Added entity names for standard icons c/o Bert Bos.
-     This are enabled with the HTML.icons switch.
-
-     Added PRE to content model for LI and DD, and changed
-     DL to require at least one DT per DD. Math is now
-     part of %text; but can't be nested.
-
-     Tried to permit an optional epilogue following last
-     division, but sgmls gave: Content model is ambiguous
-
-     Added support for graphical menus to SELECT/OPTION.
-
-     Liberalised content model for headers to %text;
-     Added optional NOFOLD attribute to P element to
-     inhibit SGML folding of whitespace.
-
-     Dropped the LIT element and changed the TAB element
-     over to the LaTeX model. Added NOWRAP to P element.
-     Replaced TH/TD's align=numeric with ALIGNON="." etc.
-     
-     Made anchor NAME attribute conditional on HTML.obsolete
-     Added HTML.obsolete for obsoleted HTML elements
-
-     Added SIG attribute to A and LINK for specifying
-     a digital signature to attest that a linked document
-     is unchanged.
-
-     SRC attribute added to NOTE to allow authors to override
-     the default icon chosen on the basis of the ROLE attribute.
-
-     Switched REL/REV back to CDATA to avoid trouble with duplicate
-     name or name token error. Using an explicit list of relationship
-     types would force us to drop REV.
-
-     Added top/bottom alignment attribute to CAPTION
-
-     REL and REV domains now defined by parameter entities
-
-     SRC attribute added to LINK to allow images to be used
-     in document specific toolbar
-
-     Baseline attribute added to FIG and IMG to give precise
-     control of vertical position relative to baseline.
-
-     Revised comments for <A> and <LINK> to remove references to
-     obsoleted timing attributes and to add a list of "standard"
-     relationship types.
-
-     CHANGED element now uses more meaningful attribute names.
-
-     STATE dropped in favor of INPUT with TYPE="hidden". Forms now
-     support a link to a script for client-side execution of constraints.
-
-     The element definition for DIV1..DIV6 and P no longer permit the
-     start tag to be omitted. This was regrettably forced by a
-     restriction in the SGML standard. Browsers *must* be capable of
-     inferring them when missing,in order to cope with legacy documents.
-
-     Fixed some errors in earlier version to do with start tags and
-     definitions of parameter entities. The content model for FIG has
-     been changed to use a P element for text to avoid an SGML parsing
-     problem with a line break before the caption.
---
-CHARSET
-        BASESET "ISO 646:1983//CHARSET
-                 International Reference Version (IRV)//ESC 2/5 4/0"
-        DESCSET 0   9   UNUSED
-                9   2   9
-                11  2   UNUSED
-                13  1   13
-                14 18   UNUSED
-                32 95   32
-               127  1   UNUSED
-        BASESET "ISO Registration Number 100//CHARSET
-                 ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"
-        DESCSET 128  32  UNUSED
-                160  95  32
-                255   1  UNUSED
-
-CAPACITY        SGMLREF
-                TOTALCAP        150000
-                GRPCAP          150000
-
-SCOPE   DOCUMENT
-SYNTAX
-        SHUNCHAR CONTROLS  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
-                           19 20 21 22 23 24 25 26 27 28 29 30 31 127 255
-        BASESET "ISO 646:1983//CHARSET
-                 International Reference Version (IRV)//ESC 2/5 4/0"
-        DESCSET 0 128 0
-        FUNCTION RE         13
-                 RS         10
-                 SPACE      32
-                 TAB SEPCHAR 9
-        NAMING   LCNMSTRT ""
-                 UCNMSTRT ""
-                 LCNMCHAR ".-"
-                 UCNMCHAR ".-"
-                 NAMECASE GENERAL YES
-                          ENTITY  NO
-        DELIM    GENERAL  SGMLREF
-                 SHORTREF SGMLREF
-        NAMES    SGMLREF
-        QUANTITY SGMLREF
-                 NAMELEN  32
-                 TAGLVL   100
-                 LITLEN   1024
-                 GRPGTCNT 150
-                 GRPCNT   64
-
-FEATURES
-  MINIMIZE
-    DATATAG  NO
-    OMITTAG  YES
-    RANK     NO
-    SHORTTAG NO
-  LINK
-    SIMPLE   NO
-    IMPLICIT NO
-    EXPLICIT NO
-  OTHER
-    CONCUR  NO
-    SUBDOC  NO
-    FORMAL  YES
-  APPINFO NONE
->
--- a/etc/sgml/htmlplus.decl	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-<!SGML  "ISO 8879:1986"
---
-  Document Type Definition for the HyperText Markup Language Plus 
-  for use with the World Wide Web application (HTML+ DTD).
-  This DTD is designed for use with SGML authoring tools and
-  it is expected that most browsers will tolerate omissions,
-  in particular, missing <DIVn> elements and <P> start tags
-  following headers, which can easily be inferred from the context.
-
-     The HTML+ DTD which is structured as an HTML core plus a
-     number of additional modules which can be included by an
-     entity definition in a document's <!DOCTYPE> element.
-     You can include specific features in your document
-     using the DOCTYPE declaration at the start, e.g.
-
-     <!DOCTYPE htmlplus [
-        <!ENTITY % HTML.tables "INCLUDE">
-        <!ENTITY % HTML.forms "INCLUDE">
-     ]>
-
-     This spec also allows for authors to extend the DTD and
-     to define how any new elements are rendered in terms of
-     existing ones. This should be used with caution.
-
-     I would like to acknowledge the influence of the TEI DTDs
-     which proved very helpful in restructuring the DTD.
-
-     Dave Raggett <dsr@hplb.hpl.hp.com> 5th April 1994  
-
-     Changes:
-
-     Added align attribute to headers with same values
-     and meaning as for paragraphs.
-
-     Added prologue and epilogue elements and fixed bug
-     in definition of %paras with HTML.emph.
-
-     Added entity names for standard icons c/o Bert Bos.
-     This are enabled with the HTML.icons switch.
-
-     Added PRE to content model for LI and DD, and changed
-     DL to require at least one DT per DD. Math is now
-     part of %text; but can't be nested.
-
-     Tried to permit an optional epilogue following last
-     division, but sgmls gave: Content model is ambiguous
-
-     Added support for graphical menus to SELECT/OPTION.
-
-     Liberalised content model for headers to %text;
-     Added optional NOFOLD attribute to P element to
-     inhibit SGML folding of whitespace.
-
-     Dropped the LIT element and changed the TAB element
-     over to the LaTeX model. Added NOWRAP to P element.
-     Replaced TH/TD's align=numeric with ALIGNON="." etc.
-     
-     Made anchor NAME attribute conditional on HTML.obsolete
-     Added HTML.obsolete for obsoleted HTML elements
-
-     Added SIG attribute to A and LINK for specifying
-     a digital signature to attest that a linked document
-     is unchanged.
-
-     SRC attribute added to NOTE to allow authors to override
-     the default icon chosen on the basis of the ROLE attribute.
-
-     Switched REL/REV back to CDATA to avoid trouble with duplicate
-     name or name token error. Using an explicit list of relationship
-     types would force us to drop REV.
-
-     Added top/bottom alignment attribute to CAPTION
-
-     REL and REV domains now defined by parameter entities
-
-     SRC attribute added to LINK to allow images to be used
-     in document specific toolbar
-
-     Baseline attribute added to FIG and IMG to give precise
-     control of vertical position relative to baseline.
-
-     Revised comments for <A> and <LINK> to remove references to
-     obsoleted timing attributes and to add a list of "standard"
-     relationship types.
-
-     CHANGED element now uses more meaningful attribute names.
-
-     STATE dropped in favor of INPUT with TYPE="hidden". Forms now
-     support a link to a script for client-side execution of constraints.
-
-     The element definition for DIV1..DIV6 and P no longer permit the
-     start tag to be omitted. This was regrettably forced by a
-     restriction in the SGML standard. Browsers *must* be capable of
-     inferring them when missing,in order to cope with legacy documents.
-
-     Fixed some errors in earlier version to do with start tags and
-     definitions of parameter entities. The content model for FIG has
-     been changed to use a P element for text to avoid an SGML parsing
-     problem with a line break before the caption.
---
-CHARSET
-        BASESET "ISO 646:1983//CHARSET
-                 International Reference Version (IRV)//ESC 2/5 4/0"
-        DESCSET 0   9   UNUSED
-                9   2   9
-                11  2   UNUSED
-                13  1   13
-                14 18   UNUSED
-                32 95   32
-               127  1   UNUSED
-        BASESET "ISO Registration Number 100//CHARSET
-                 ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"
-        DESCSET 128  32  UNUSED
-                160  95  32
-                255   1  UNUSED
-
-CAPACITY        SGMLREF
-                TOTALCAP        150000
-                GRPCAP          150000
-
-SCOPE   DOCUMENT
-SYNTAX
-        SHUNCHAR CONTROLS  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
-                           19 20 21 22 23 24 25 26 27 28 29 30 31 127 255
-        BASESET "ISO 646:1983//CHARSET
-                 International Reference Version (IRV)//ESC 2/5 4/0"
-        DESCSET 0 128 0
-        FUNCTION RE         13
-                 RS         10
-                 SPACE      32
-                 TAB SEPCHAR 9
-        NAMING   LCNMSTRT ""
-                 UCNMSTRT ""
-                 LCNMCHAR ".-"
-                 UCNMCHAR ".-"
-                 NAMECASE GENERAL YES
-                          ENTITY  NO
-        DELIM    GENERAL  SGMLREF
-                 SHORTREF SGMLREF
-        NAMES    SGMLREF
-        QUANTITY SGMLREF
-                 NAMELEN  32
-                 TAGLVL   100
-                 LITLEN   1024
-                 GRPGTCNT 150
-                 GRPCNT   64
-
-FEATURES
-  MINIMIZE
-    DATATAG  NO
-    OMITTAG  YES
-    RANK     NO
-    SHORTTAG NO
-  LINK
-    SIMPLE   NO
-    IMPLICIT NO
-    EXPLICIT NO
-  OTHER
-    CONCUR  NO
-    SUBDOC  NO
-    FORMAL  YES
-  APPINFO NONE
->
--- a/etc/sgml/sinfo.dtd	Mon Aug 13 08:47:36 2007 +0200
+++ b/etc/sgml/sinfo.dtd	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 <!-- This is sinfo.dtd,
       by MORIOKA Tomohiko
-      $Id: sinfo.dtd,v 1.1 1996/12/22 00:34:43 steve Exp $
+      $Id: sinfo.dtd,v 1.2 1996/12/29 00:14:54 steve Exp $
 -->
 
 <!entity % emph 
@@ -17,7 +17,7 @@
 
 <!entity % list 
         " list | ul | ol | dl | kl | vl | memo | lisp | rfc | standard
-        | report " >
+        | report | inproc " >
 
 <!entity % par 	
 	"  %list; | comment | lq | quote | tscreen " >
@@ -28,7 +28,7 @@
         " defun | define | defvar | prop | lemma | coroll | proof | theorem " >
 
 <!entity % sectpar 
-        " %par; | figure | table | faq | hrule | %mathpar; | 
+        " %par; | figure | table | faq | %mathpar; | 
 	  %thrm; ">
 <!element sinfo o o (head, body) >
 
@@ -101,6 +101,19 @@
 	  title-fr cdata #implied
 	  title-ja cdata #implied
 	  date     cdata #implied>
+<!element inproc - o empty>
+<!attlist inproc
+	  abbrev   cdata #implied
+	  author   cdata #required
+	  title-cn cdata #implied
+	  title-en cdata #implied
+	  title-fr cdata #implied
+	  title-ja cdata #implied
+	  book-cn  cdata #implied
+	  book-en  cdata #implied
+	  book-fr  cdata #implied
+	  book-ja  cdata #implied
+	  date     cdata #implied>
 <!element dl - - (dt,dd)+ >
 <!element dt - o ((%inline; | %sectpar;)*, (p|noindent)*) >
 <!element dd - o ((%inline; | %sectpar;)*, (p|noindent|newline)*) >
@@ -124,7 +137,6 @@
 <!element question - o ((%inline; | %sectpar;)*, (p|noindent)*)+>
 <!element answer - o ((%inline; | %sectpar;)*, (p|noindent)*)+>
 <!element coment - o ((%inline; | %sectpar;)*, (p|noindent)*)+>
-<!element hrule - o empty >
 
 <!element figure - - ((eps | ph ), caption?)>
 <!attlist figure
Binary file etc/yow.lines has changed
--- a/info/dir	Mon Aug 13 08:47:36 2007 +0200
+++ b/info/dir	Mon Aug 13 08:47:52 2007 +0200
@@ -36,12 +36,12 @@
 
 * Info::	Documentation browsing system.
 * XEmacs::	The extensible user-friendly self-documenting text editor.
-		This manual is for XEmacs 19.15.
+		This manual is for XEmacs 20.0.
 * Lispref::	XEmacs Lisp technical reference.
-		This manual is for XEmacs 19.15.
+		This manual is for XEmacs 20.0.
 * New-Users-Guide::
-	        XEmacs User's Guide for XEmacs 19.15.
-* XEmacs-FAQ::	XEmacs Frequently Asked Questions for 19.15.
+	        XEmacs User's Guide for XEmacs 20.0.
+* XEmacs-FAQ::	XEmacs Frequently Asked Questions for 20.0.
 * Internals::	Guide to the internals of XEmacs.
 
 Packages:
@@ -74,6 +74,14 @@
 * Texinfo::	With one source file, make either a printed manual (through
 		TeX) or an Info file (through texinfo).
 * Viper::	A VI Plan for Emacs Rescue and a venomous VI PERil.
+* Vhdl-mode::	A major mode for editing VHDL files.
 * VM::		View Mail, a replacement for Rmail.
 * W3::		A browser for the World Wide Web global hypertext system.
+* tm-en::	Tools for Mime (English version)
+* tm-ja::	Tools for Mime (Japanese version)
+* tm-mh-e-en::	MIME extender for mh-e (English version)
+* tm-mh-e-ja::	MIME extender for mh-e (Japanese version)
+* tm-vm_en::	MIME extender for VM.
+* gnus-mime-en::MIME extender for Gnus (English version)
+* gnus-mime-ja::MIME extender for Gnus (Japanese version)
 * Locals:
--- a/lib-src/fakelisp.c	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#include "fakelisp.h"
-
-void *Lisp_Object_Table[4096];
-int Lisp_Object_Index = 0;
-
-Lisp_Object
-make_vector(len)
-     int len;
-{
-  Lisp_Object val = Lisp_Object_Index++;
-
-  Lisp_Object_Table[val] = (char *) malloc (sizeof (struct Lisp_Vector));
-  XVECTOR (val)->size = len;
-  XVECTOR (val)->contents =
-    (Lisp_Object *) malloc ((sizeof (Lisp_Object)) * len);
-  return (val | (Lisp_Vector << VALBITS));
-}
-
-Lisp_Object
-make_string(str)
-     char *str;
-{
-  Lisp_Object val = Lisp_Object_Index++;
-  int len = strlen (str);
-
-  Lisp_Object_Table[val] = (char *) malloc (sizeof (struct Lisp_String));
-  XSTRING (val)->size = len;
-  XSTRING (val)->data = (unsigned char *) malloc (len + 1);
-  memcpy (XSTRING (val)->data, str, len + 1);
-  return (val | (Lisp_String << VALBITS));
-}
-
-Lisp_Object
-make_symbol(name)
-     char *name;
-{
-  Lisp_Object val = Lisp_Object_Index++;
-  int len = strlen (name);
-
-  Lisp_Object_Table[val] = (char *) malloc (sizeof (struct Lisp_Symbol));
-  XSYMBOL (val)->name = (unsigned char *) malloc (len + 1);
-  memcpy (XSYMBOL (val)->name, name, len + 1);
-  XSYMBOL (val)->value = Qnil;
-  return (val | (Lisp_String << VALBITS));
-}
-
-Lisp_Object
-Fsymbol_value(obj)
-     Lisp_Object obj;
-{
-  return XSYMBOL (obj)->value;
-}
--- a/lib-src/fakelisp.h	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-#ifndef _FAKELISP_H
-#define _FAKELISP_H
-
-#include <config.h>
-
-/* Cancel substitutions made by config.h for Emacs.  */
-#undef open
-#undef read
-#undef write
-#undef close
-
-/* We used to test for `BSTRING' here, but only GCC and Emacs define
-   `BSTRING', as far as I know, and neither of them use this code.  */
-#if HAVE_STRING_H || STDC_HEADERS
-#include <string.h>
-#ifndef bcmp
-#define bcmp(s1, s2, n) memcmp ((s1), (s2), (n))
-#endif
-#ifndef bcopy
-#define bcopy(s, d, n)  memcpy ((d), (s), (n))
-#endif
-#ifndef bzero
-#define bzero(s, n)     memset ((s), 0, (n))
-#endif
-#else
-#include <strings.h>
-#endif
-
-typedef unsigned int Lisp_Object;
-
-enum Lisp_Type {
-  Lisp_Int,
-  Lisp_Symbol,
-  Lisp_String,
-  Lisp_Vector
-};
-
-#ifndef VALBITS					/* hir, 1994.12.19 */
-#define VALBITS 24
-#endif
-#define VALMASK ((1 << VALBITS) - 1)
-
-#define XTYPE(x) ((enum Lisp_Type)((x)>>VALBITS))
-
-struct Lisp_Vector {
-  int size;
-  Lisp_Object *contents;
-};
-
-struct Lisp_String {
-  int size;
-  unsigned char *data;
-};
-
-struct Lisp_Symbol {
-  unsigned char *name;
-  Lisp_Object value;
-};
-
-#define Qnil (Lisp_Object)(Lisp_Symbol << VALBITS)
-#define Qt   (Lisp_Object)((Lisp_Symbol << VALBITS) | 1)
-
-#define XFASTINT(x) (x)
-#define XVECTOR(x) ((struct Lisp_Vector *)Lisp_Object_Table[(x)&VALMASK])
-#define XSTRING(x) ((struct Lisp_String *)Lisp_Object_Table[(x)&VALMASK])
-#define XSYMBOL(x) ((struct Lisp_Symbol *)Lisp_Object_Table[(x)&VALMASK])
-
-extern void *Lisp_Object_Table[4096];
-
-extern Lisp_Object make_vector(), make_string(), make_symbol();
-extern Lisp_Object Fsymbol_value();
-
-#define GLYPH unsigned int
-
-#endif /* _FAKELISP_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib-src/pstogif	Mon Aug 13 08:47:52 2007 +0200
@@ -0,0 +1,187 @@
+#!/usr/local/bin/perl
+# 
+# pstogif.pl v1.0, July 1994, by Nikos Drakos <nikos@cbl.leeds.ac.uk>
+# Computer Based Learning Unit, University of Leeds.
+#
+# Accompanies LaTeX2HTML Version 96.1
+#
+# Script to convert an arbitrary PostScript image to a cropped GIF image
+# suitable for incorporation into HTML documents as inlined images to be
+# viewed with WWW browsers.
+#
+# This is based on the pstoepsi script 
+# by Doug Crabill dgc@cs.purdue.edu
+#
+# Please note the following:
+# - The source PostScript file must end
+#   in a .ps extention.  This is a GhostScript requirement, not mine...
+# - The -density argument has no effect unless the 
+#   color depth (set with the -depth argument) is equal to 1.
+# - Valid arguments for -depth are 1,8, or 24.
+#  
+# This software is provided as is without any guarantee.
+#
+# Nikos Drakos (ND), nikos@cbl.leeds.ac.uk
+# Computer Based Learning Unit, University of Leeds.
+#
+# 15 Jan 96 HS Call ppmquant only if needed.  Fixed bug relative to
+#    V 95.3 .
+#
+# 15 Dec 95 HS (Herbert Swan <dprhws.edp.Arco.com> Added support for
+#    the flip=option.  This allows images to be oriented differently
+#    in the paper versus the electronic media
+#
+# 1 Nov 95 jmn - modified for use with gs ppm driver - from jhrg's patches
+#    note that ppmtops.ps and ppmtops3.ps are no longer needed
+#
+# 20 JUL 94 ND Converted to Perl and made several changes eg it now accepts 
+#    parameters from environment variables or from command line or will use 
+#    default ones. 
+#      
+# 1  APR 94 ND Changed the suffixes of multi-page files from xbm to gif (oops!)
+#
+# 
+
+#####################################################################
+$| =1;
+&read_args;
+
+### You may need to specify some pathnames here if you want to
+### run the script without LaTeX2HTML
+
+# Ghostscript
+$GS= $ENV{'GS'} || 'gs';
+
+# Comes with LaTeX2HTML (For ghostscript versions greater than 3.0 
+# you need the newer pstoppm.ps)
+#$PSTOPPM= $ENV{'PSTOPPM'} ||
+#    'pstoppm.ps';
+
+# Available in the PBMPLUS libary	   
+$PNMCROP=$ENV{'PNMCROP'} || 'pnmcrop' ;
+
+# Also in PBMPLUS
+$PNMFLIP=$ENV{'PNMFLIP'} || 'pnmflip' ;
+
+# Also in PBMPPLUS	  
+$PPMTOGIF=$ENV{'PPMTOGIF'} || 'ppmtogif' ;
+
+# Also in PBMPPLUS	  
+$REDUCE_COLOR=$ENV{'PPMQUANT'} || 'ppmquant 256' ;
+ 
+$OUTFILE = $ENV{'OUTFILE'} || $out;
+			
+# Valid choices for $COLOR_DEPTH are 1, 8 or 24. 
+$DEPTH = $ENV{'DEPTH'} || $depth || 24;
+
+#Default density is 72
+$DENSITY = $ENV{'DENSITY'} || $density || 72;
+    
+# Valid choices are any numbers greater than zero
+# Useful choices are numbers between 0.1 - 5
+# Large numbers may generate very large intermediate files
+# and will take longer to process
+$SCALE = $ENV{'SCALE'} || $scale; # No default value
+
+$PAPERSIZE = $ENV{'PAPERSIZE'} || $papersize; # No default value;
+
+$DEBUG = $ENV{'DEBUG'} || $DEBUG || 0;
+
+######################################################################
+
+&main;
+
+sub read_args {
+    local($_);
+    local($color);
+    while ($ARGV[0] =~ /^-/) {
+	$_ = shift @ARGV;
+	if (/^-h(elp)?$/) {
+	    &usage; exit}
+        elsif (/^-out$/) {
+            $out = shift @ARGV;
+	}
+	elsif (/^-(.*)$/) {
+	    eval "\$$1 = shift \@ARGV"; # Create and set a flag $<name>
+	    }
+    }
+}		 
+
+sub main {
+    local($base, $outfile, $i, $j);
+    $base = &test_args;
+    $outfile = $OUTFILE || "$base.gif";
+    open(STDERR, ">/dev/null") unless $DEBUG;
+    &convert($base);
+    if (-f "$base.ppm") {
+	&crop_scale_etc("$base.ppm", $outfile);
+    }
+    else {
+	foreach $i (<$base.[1-9]*ppm>) {
+	$j = $i; 
+	$j =~ s/\.(.*)ppm/$1.gif/;
+	&crop_scale_etc($i, $j)}
+    }				
+    &cleanup($base);
+}
+
+sub crop_scale_etc {
+    local($in, $out) = @_;
+    local($tmp) = $in . ".tmp";
+    open(STDERR, ">/dev/null") unless $DEBUG;
+
+    if ($flip) {
+	rename($tmp, $in) unless system("$PNMFLIP -$flip $in > $tmp");
+	}
+    system("$PNMCROP $in > $tmp");
+
+    if (system("$PPMTOGIF $tmp > $out")) {
+	print "Running ppmquant for $out\n";
+	system("$REDUCE_COLOR < $tmp|$PPMTOGIF - > $out");
+	}
+    unlink $tmp;
+    print "Writing $out\n";
+}
+
+sub test_args {
+    local($file) = $ARGV[0];
+    if (! ($file =~ s/\.ps$//)) {
+	print "The name of the input file must end in '.ps'\n";
+	exit}
+    elsif (! ( -f "$file.ps")) {
+	print "Cannot find file $file.ps\n.";
+	exit}
+    elsif (! ($DEPTH =~ /^(1|8|24)$/)) {
+	print "The color depth must be 1 or 8 or 24. You specified $DEPTH\n";
+	exit			
+	}
+    if (defined $SCALE) {
+	if ($SCALE > 0) {
+	    $DENSITY = int($SCALE * $DENSITY)}
+	else {
+	    print "Error: The scale must be greater than 0.\n" .
+		"You specified $SCALE\n";
+	    exit}
+    }
+    $file;
+}
+   
+sub convert {
+    local($base) = @_;
+    local($paperopt) = "-sPAPERSIZE=$PAPERSIZE" if $PAPERSIZE;
+    local($ppmtype) = join('', "ppm",$DEPTH,"run");
+    local($density) = "-r$DENSITY" if ($DENSITY != 72);
+    open (GS, "|$GS -q -dNOPAUSE -dNO_PAUSE -sDEVICE=ppmraw $density -sOutputFile=$base.ppm $paperopt $base.ps");
+    close GS;
+}
+
+sub cleanup {
+    local($base) = @_;
+    unlink <$base[0-9.]*ppm>;
+}
+
+sub usage {
+    print "Usage: pstogif [-h(elp)] [-out <output file>] [-depth <color depth 1, 8 or 24>]  [-flip <Flip_code>] [-density <pixel density>] <file>.ps\n\n";
+}
+
+
--- a/lib-src/tm-au	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-au	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tm-au,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-au,v 1.2 1996/12/29 00:14:55 steve Exp $
 #
 
 if [ "$TM_TMP_DIR" = "" ]; then
@@ -18,19 +18,17 @@
 case "$4" in
 "play")
 	echo "$2; $3 ->"
+	tmdecode $3 $1 $filename
 	if [ "$AUDIOSERVER" = "" ]; then
 		if [ `uname` = "IRIX" ]; then
-			tmdecode $3 $1 $filename
 			sfplay $filename
-			trap 'rm -f $filename' 0 1 2 3 13 15
 		else
-			tmdecode $3 $1 /dev/audio
+			cat $filename > /dev/audio
 		fi
 	else
-		tmdecode $3 $1 $filename
 		autool -v 40 $filename
-		trap 'rm -f $filename' 0 1 2 3 13 15
 	fi
+	trap 'rm -f $filename' 0 1 2 3 13 15
 	;;
 "extract")
 	echo "$2; $3 -> $filename"
--- a/lib-src/tm-file	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-file	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tm-file,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-file,v 1.2 1996/12/29 00:14:55 steve Exp $
 #
 
 if [ "$TM_TMP_DIR" = "" ]; then
--- a/lib-src/tm-html	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-html	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: tm-html,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-html,v 1.2 1996/12/29 00:14:55 steve Exp $
 #
 
 if [ "$TM_TMP_DIR" = "" ]; then
--- a/lib-src/tm-image	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-image	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tm-image,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-image,v 1.2 1996/12/29 00:14:55 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
--- a/lib-src/tm-mpeg	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-mpeg	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tm-mpeg,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-mpeg,v 1.2 1996/12/29 00:14:55 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
--- a/lib-src/tm-plain	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-plain	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tm-plain,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-plain,v 1.2 1996/12/29 00:14:55 steve Exp $
 #
 
 if [ "$TM_TMP_DIR" = "" ]; then
@@ -27,4 +27,4 @@
 	echo "$2; $3 ->"
 	tmdecode "$3" "$1" /dev/stdout | lpr
 	;;
-esac
\ No newline at end of file
+esac
--- a/lib-src/tm-ps	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tm-ps	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tm-ps,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tm-ps,v 1.2 1996/12/29 00:14:56 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
--- a/lib-src/tmdecode	Mon Aug 13 08:47:36 2007 +0200
+++ b/lib-src/tmdecode	Mon Aug 13 08:47:52 2007 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $Id: tmdecode,v 1.1.1.1 1996/12/18 03:52:12 steve Exp $
+# $Id: tmdecode,v 1.2 1996/12/29 00:14:56 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
--- a/lisp/gnus/gnus-scomo.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-;;; gnus-scomo.el --- mode for editing Gnus score files
-;; Copyright (C) 1996 Free Software Foundation, Inc.
-
-;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
-;; Keywords: news, mail
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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.
-
-;; GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'easymenu)
-(require 'timezone)
-(eval-when-compile (require 'cl))
-
-(defvar gnus-score-mode-hook nil
-  "*Hook run in score mode buffers.")
-
-(defvar gnus-score-menu-hook nil
-  "*Hook run after creating the score mode menu.")
-
-(defvar gnus-score-edit-exit-function nil
-  "Function run on exit from the score buffer.")
-
-(defvar gnus-score-mode-map nil)
-(unless gnus-score-mode-map
-  (setq gnus-score-mode-map (copy-keymap emacs-lisp-mode-map))
-  (define-key gnus-score-mode-map "\C-c\C-c" 'gnus-score-edit-exit)
-  (define-key gnus-score-mode-map "\C-c\C-d" 'gnus-score-edit-insert-date)
-  (define-key gnus-score-mode-map "\C-c\C-p" 'gnus-score-pretty-print))
-
-;;;###autoload
-(defun gnus-score-mode ()
-  "Mode for editing Gnus score files.
-This mode is an extended emacs-lisp mode.
-
-\\{gnus-score-mode-map}"
-  (interactive)
-  (kill-all-local-variables)
-  (use-local-map gnus-score-mode-map)
-  (when menu-bar-mode
-    (gnus-score-make-menu-bar))
-  (set-syntax-table emacs-lisp-mode-syntax-table)
-  (setq major-mode 'gnus-score-mode)
-  (setq mode-name "Score")
-  (lisp-mode-variables nil)
-  (make-local-variable 'gnus-score-edit-exit-function)
-  (run-hooks 'emacs-lisp-mode-hook 'gnus-score-mode-hook))
-
-(defun gnus-score-make-menu-bar ()
-  (unless (boundp 'gnus-score-menu)
-    (easy-menu-define
-     gnus-score-menu gnus-score-mode-map ""
-     '("Score"
-       ["Exit" gnus-score-edit-exit t]
-       ["Insert date" gnus-score-edit-insert-date t]
-       ["Format" gnus-score-pretty-print t]))
-    (run-hooks 'gnus-score-menu-hook)))
-
-(defun gnus-score-edit-insert-date ()
-  "Insert date in numerical format."
-  (interactive)
-  (princ (gnus-score-day-number (current-time)) (current-buffer)))
-
-(defun gnus-score-pretty-print ()
-  "Format the current score file."
-  (interactive)
-  (goto-char (point-min))
-  (let ((form (read (current-buffer))))
-    (erase-buffer)
-    (pp form (current-buffer)))
-  (goto-char (point-min)))
-
-(defun gnus-score-edit-exit ()
-  "Stop editing the score file."
-  (interactive)
-  (unless (file-exists-p (file-name-directory (buffer-file-name)))
-    (make-directory (file-name-directory (buffer-file-name)) t))
-  (save-buffer)
-  (bury-buffer (current-buffer))
-  (let ((buf (current-buffer)))
-    (when gnus-score-edit-exit-function
-      (funcall gnus-score-edit-exit-function))
-    (when (eq buf (current-buffer))
-      (switch-to-buffer (other-buffer (current-buffer))))))
-
-(defun gnus-score-day-number (time)
-  (let ((dat (decode-time time)))
-    (timezone-absolute-from-gregorian
-     (nth 4 dat) (nth 3 dat) (nth 5 dat))))
-
-(provide 'gnus-scomo)
-
-;;; gnus-scomo.el ends here
--- a/lisp/gnus/nnheaderems.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-;;; nnheaderems.el --- making Gnus backends work under different Emacsen
-;; Copyright (C) 1996 Free Software Foundation, Inc.
-
-;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
-;; Keywords: news
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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.
-
-;; GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-(defun nnheader-xmas-run-at-time (time repeat function &rest args)
-  (start-itimer
-   "nnheader-run-at-time"
-   `(lambda ()
-      (,function ,@args))
-   time repeat))
-
-(defun nnheader-xmas-cancel-timer (timer)
-  (delete-itimer timer))
-
-;; Written by Erik Naggum <erik@naggum.no>.
-;; Saved by Steve Baur <steve@miranova.com>.
-(defun nnheader-xmas-insert-file-contents-literally (filename &optional visit beg end replace)
-  "Like `insert-file-contents', q.v., but only reads in the file.
-A buffer may be modified in several ways after reading into the buffer due
-to advanced Emacs features, such as file-name-handlers, format decoding,
-find-file-hooks, etc.
-  This function ensures that none of these modifications will take place."
-  (let (                                ; (file-name-handler-alist nil)
-        (format-alist nil)
-        (after-insert-file-functions nil)
-        (find-buffer-file-type-function 
-         (if (fboundp 'find-buffer-file-type)
-             (symbol-function 'find-buffer-file-type)
-           nil)))
-    (unwind-protect
-        (progn
-          (fset 'find-buffer-file-type (lambda (filename) t))
-          (insert-file-contents filename visit beg end replace))
-      (if find-buffer-file-type-function
-          (fset 'find-buffer-file-type find-buffer-file-type-function)
-        (fmakunbound 'find-buffer-file-type)))))
-
-(defun nnheader-xmas-find-file-noselect (filename &optional nowarn rawfile)
-  "Read file FILENAME into a buffer and return the buffer.
-If a buffer exists visiting FILENAME, return that one, but
-verify that the file has not changed since visited or saved.
-The buffer is not selected, just returned to the caller."
-  (setq filename
-	(abbreviate-file-name
-	 (expand-file-name filename)))
-  (if (file-directory-p filename)
-      (if find-file-run-dired
-	  (dired-noselect filename)
-	(error "%s is a directory." filename))
-    (let* ((buf (get-file-buffer filename))
-	   (truename (abbreviate-file-name (file-truename filename)))
-	   (number (nthcdr 10 (file-attributes truename)))
-	   ;; Find any buffer for a file which has same truename.
-	   (other (and (not buf) 
-		       (if (fboundp 'find-buffer-visiting)
-			   (find-buffer-visiting filename)
-			 (get-file-buffer filename))))
-	   error)
-      ;; Let user know if there is a buffer with the same truename.
-      (if other
-	  (progn
-	    (or nowarn
-		(string-equal filename (buffer-file-name other))
-		(message "%s and %s are the same file"
-			 filename (buffer-file-name other)))
-	    ;; Optionally also find that buffer.
-	    (if (or (and (boundp 'find-file-existing-other-name)
-			 find-file-existing-other-name)
-		    find-file-visit-truename)
-		(setq buf other))))
-      (if buf
-	  (or nowarn
-	      (verify-visited-file-modtime buf)
-	      (cond ((not (file-exists-p filename))
-		     (error "File %s no longer exists!" filename))
-		    ((yes-or-no-p
-		      (if (string= (file-name-nondirectory filename)
-				   (buffer-name buf))
-			  (format
-			   (if (buffer-modified-p buf)
-			       "File %s changed on disk.  Discard your edits? "
-			     "File %s changed on disk.  Reread from disk? ")
-			   (file-name-nondirectory filename))
-			(format
-			 (if (buffer-modified-p buf)
-			     "File %s changed on disk.  Discard your edits in %s? "
-			   "File %s changed on disk.  Reread from disk into %s? ")
-			 (file-name-nondirectory filename)
-			 (buffer-name buf))))
-		     (save-excursion
-		       (set-buffer buf)
-		       (revert-buffer t t)))))
-	(save-excursion
-;;; The truename stuff makes this obsolete.
-;;;	  (let* ((link-name (car (file-attributes filename)))
-;;;		 (linked-buf (and (stringp link-name)
-;;;				  (get-file-buffer link-name))))
-;;;	    (if (bufferp linked-buf)
-;;;		(message "Symbolic link to file in buffer %s"
-;;;			 (buffer-name linked-buf))))
-	  (setq buf (create-file-buffer filename))
-	  ;;	  (set-buffer-major-mode buf)
-	  (set-buffer buf)
-	  (erase-buffer)
-	  (if rawfile
-	      (condition-case ()
-		  (nnheader-insert-file-contents-literally filename t)
-		(file-error
-		 ;; Unconditionally set error
-		 (setq error t)))
-	    (condition-case ()
-		(insert-file-contents filename t)
-	      (file-error
-	       ;; Run find-file-not-found-hooks until one returns non-nil.
-	       (or t			; (run-hook-with-args-until-success 'find-file-not-found-hooks)
-		   ;; If they fail too, set error.
-		   (setq error t)))))
-	  ;; Find the file's truename, and maybe use that as visited name.
-	  (setq buffer-file-truename truename)
-	  (setq buffer-file-number number)
-	  ;; On VMS, we may want to remember which directory in a search list
-	  ;; the file was found in.
-	  (and (eq system-type 'vax-vms)
-	       (let (logical)
-		 (if (string-match ":" (file-name-directory filename))
-		     (setq logical (substring (file-name-directory filename)
-					      0 (match-beginning 0))))
-		 (not (member logical find-file-not-true-dirname-list)))
-	       (setq buffer-file-name buffer-file-truename))
-	  (if find-file-visit-truename
-	      (setq buffer-file-name
-		    (setq filename
-			  (expand-file-name buffer-file-truename))))
-	  ;; Set buffer's default directory to that of the file.
-	  (setq default-directory (file-name-directory filename))
-	  ;; Turn off backup files for certain file names.  Since
-	  ;; this is a permanent local, the major mode won't eliminate it.
-	  (and (not (funcall backup-enable-predicate buffer-file-name))
-	       (progn
-		 (make-local-variable 'backup-inhibited)
-		 (setq backup-inhibited t)))
-	  (if rawfile
-	      nil
-	    (after-find-file error (not nowarn)))))
-      buf)))
-
-(defun nnheader-ms-strip-cr ()
-  "Strip ^M from the end of all lines."
-  (save-excursion
-    (goto-char (point-min))
-    (while (re-search-forward "\r$" nil t)
-      (delete-backward-char 1))))
-
-(eval-and-compile
-  (cond 
-   ;; Do XEmacs function bindings.
-   ((string-match "XEmacs\\|Lucid" emacs-version)
-    (fset 'nnheader-run-at-time 'nnheader-xmas-run-at-time)
-    (fset 'nnheader-cancel-timer 'nnheader-xmas-cancel-timer)
-    (fset 'nnheader-find-file-noselect 'nnheader-xmas-find-file-noselect)
-    (fset 'nnheader-insert-file-contents-literally
-	  (if (fboundp 'insert-file-contents-literally)
-	      'insert-file-contents-literally
-	    'nnheader-xmas-insert-file-contents-literally)))
-   ;; Do Emacs function bindings.
-   (t
-    (fset 'nnheader-run-at-time 'run-at-time)
-    (fset 'nnheader-cancel-timer 'cancel-timer)
-    (fset 'nnheader-find-file-noselect 'find-file-noselect)
-    (fset 'nnheader-insert-file-contents-literally
-	  'insert-file-contents-literally)
-    ))
-  (when (memq system-type '(windows-nt))
-    (add-hook 'nnmail-prepare-incoming-hook 'nnheader-ms-strip-cr)))
-
-(provide 'nnheaderems)
-
-;;; nnheaderems.el ends here.
--- a/lisp/hm--html-menus/html-mode.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,957 +0,0 @@
-;;; html-mode --- Major mode for editing HTML hypertext documents for the WWW
-;; Derived from Marc Andreesen's Revision 2.3.
-
-;; Keywords: hypermedia languages help docs wp
-
-;; HTML mode, based on text mode.
-;; Copyright (C) 1985 Free Software Foundation, Inc.
-;; Copyright (C) 1992, 1993 National Center for Supercomputing Applications.
-;; NCSA modifications by Marc Andreessen (marca@ncsa.uiuc.edu).
-;;
-;; Changed by Heiko Münkel, 6 Jan 1994, 10 Jan 1994, 15 Mar 1994, 03 Jan 1995
-;;			    12 May 1995, 25 May 1995, 29 Jul 1995, 3 Feb 1996
-;;
-;; This program 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 1, or
-;; (at your option) any later version.
-;;
-;; This program 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 GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;
-;;; Commentary:
-;; -------------------------------- CONTENTS --------------------------------
-;;
-;; html-mode: Major mode for editing HTML hypertext documents.
-;; Revision: 2.2
-;;
-;; Changes from 2.1 (beta)
-;;   - Changed previewer for the new Mosaic
-;;   - Changed lemacs to xemacs
-;;
-;; Changes from 2.0 (beta):
-;;   - Ripped out numeric anchor name stuff altogether (all names should be
-;;     meaningful, not just numbers).
-;;   - Fixed problem with unquoted names.
-;;   - Fixed font-lock support (yeah! thanks lamour@engin.umich.edu).
-;;
-;; ------------------------------ INSTRUCTIONS ------------------------------
-;;
-;; Put the following code in your .emacs file:
-;;
-;; (autoload 'html-mode "html-mode" "HTML major mode." t)
-;; (or (assoc "\\.html$" auto-mode-alist)
-;;   (setq auto-mode-alist (cons '("\\.html$" . html-mode) 
-;;                               auto-mode-alist)))
-;;
-;; Emacs will detect the ``.html'' suffix and activate html-mode
-;; appropriately.
-;;
-;; You are assumed to be at least somewhat familiar with the HTML
-;; format.  If you aren't, read about it first (see below).
-;;
-;; Here are key sequences and corresponding commands:
-;;
-;; NORMAL COMMANDS:
-;;
-;; C-c a         html-add-address
-;;   Open an address element.
-;;
-;; C-c b         html-add-blockquote
-;;
-;; C-c C-b       html-add-bold
-;;   Open a bold element.
-;;
-;; C-c c         html-add-code
-;;   Open a 'code' (fixed-font) element.
-;;
-;; C-c C-c       html-add-citation
-;;
-;; C-c d         html-add-description-list
-;;   Open a definition list.  The initial entry is created for you.
-;;   To create subsequent entries, use 'C-c e'.
-;;
-;; C-c e         html-add-description-entry
-;;   Add a new definition entry in a definition list.  You are
-;;   assumed to be inside a definition list (specifically, at the end
-;;   of another definition entry).
-;;
-;; C-c C-e       html-add-emphasized
-;;   Open an emphasized element.
-;;
-;; C-c C-f       html-add-fixed
-;;
-;; C-c g         html-add-img
-;;   Add an IMG element (inlined image or graphic).  Note that the
-;;   IMG tag is currently an extension to HTML supported only by the
-;;   NCSA Mosaic browser (to my knowledge).  You will be prompted for
-;;   the URL of the image you wish to inline into the document.
-;;
-;; C-c h         html-add-header
-;;   Add a header.  You are prompted for size (1 is biggest, 2 is
-;;   next biggest; bottom limit is 6) and header contents.
-;;
-;; C-c i         html-add-list-or-menu-item
-;;   Add a new list or menu item in a list or menu.  You are assumed
-;;   to be inside a list or menu (specifically, at the end of another
-;;   item).
-;;
-;; C-c C-i       html-add-italic
-;;   Open an italic element.
-;;
-;; C-c C-k       html-add-keyboard
-;;
-;; C-c l         html-add-normal-link
-;;   Add a link.  You will be prompted for the link (any string;
-;;   e.g., http://foo.bar/argh/blagh).  The cursor will be left where
-;;   you can type the text that will represent the link in the
-;;   document.
-;;
-;; C-c C-l       html-add-listing
-;;
-;; C-c m         html-add-menu
-;;   Open a menu.  The initial item is created for you.  To create
-;;   additional items, use 'C-c i'.
-;;
-;; C-c C-m       html-add-sample
-;;
-;; C-c n         html-add-numbered-list
-;;
-;; C-c p         html-add-paragraph-separator
-;;   Use this command at the end of each paragraph.
-;; 
-;; C-c C-p       html-add-preformatted
-;;
-;; C-c r         html-add-normal-reference
-;;
-;; C-c s         html-add-list
-;;   Open a list.  The initial item is created for you.  To create
-;;   additional items, use 'C-c i'.
-;;
-;; C-c C-s       html-add-strong
-;;
-;; C-c t         html-add-title
-;;   Add a title to the document.  You will be prompted for the
-;;   contents of the title.  If a title already exists at the very
-;;   top of the document, the existing contents will be replaced.
-;;
-;; C-c C-v       html-add-variable
-;;
-;; C-c x         html-add-plaintext
-;;   Add plaintext.  The cursor will be positioned where you can type
-;;   plaintext (or insert another file, or whatever).
-;;
-;; C-c z         html-preview-document
-;;   Fork off a Mosaic process to preview the current document.
-;;   After you do this once, subsequent invocations of
-;;   html-preview-document will cause the same Mosaic process to be
-;;   used; this magic is accomplished through Mosaic's ability to be
-;;   remote-controlled via Unix signals.  This feature is only
-;;   available when running XEmacs v19 (it will maybe work with
-;;   GNU Emacs v19; I'm not sure).
-;;
-;; COMMANDS THAT OPERATE ON THE CURRENT REGION:
-;;
-;; C-c C-r l     html-add-normal-link-to-region
-;;   Add a link that will be represented by the current region.  You
-;;   will be prompted for the link (any string, as with
-;;   html-add-normal-link).
-;;
-;; C-c C-r r     html-add-reference-to-region
-;;   Add a reference (a link that does not reference anything) that
-;;   will be represented by the current region.  You will be prompted
-;;   for the name of the link.
-;;
-;; SPECIAL COMMANDS:
-;;
-;; <, >, &
-;;   These are overridden to output &lt;, &gt;, and &amp;
-;;   respectively.  The real characters <, >, and & can be entered
-;;   into the text either by typing 'C-c' before typing the character
-;;   or by using the Emacs quoted-insert (C-q) command.
-;;
-;; C-c <, C-c >, C-c &
-;;   See '<, >, &' above.
-;;
-;; ---------------------------- ADDITIONAL NOTES ----------------------------
-;;
-;; If you are running Epoch or XEmacs, highlighting will be used
-;; to deemphasize HTML message elements as they are created.  You can
-;; turn this off; see the variables 'html-use-highlighting' and 
-;; 'html-use-font-lock'.
-;;
-;; HREF and NAME arguments in anchors should always be quoted.  In
-;; some existing HTML documents, they are not.  html-mode will
-;; automatically quotify all such unquoted arguments when it
-;; encounters them.  The following variables affect this behavior.
-;;
-;; html-quotify-hrefs-on-find       (variable, default t)
-;;   If this is non-nil, all HREF arguments will be quotified
-;;   automatically when a HTML document is loaded into Emacs
-;;   (actually when html-mode is entered).
-;;
-;; -------------------------------- GOTCHAS ---------------------------------
-;;
-;; HTML documents can be tricky.  html-mode is not smart enough to
-;; enforce correctness or sanity, so you have to do that yourself.
-;;
-;; ------------------------- WHAT HTML-MODE IS NOT --------------------------
-;;
-;; html-mode is not a mode for *browsing* HTML documents.  In
-;; particular, html-mode provides no hypertext or World Wide Web
-;; capabilities.
-;;
-;; The World Wide Web browser we (naturally) recommend is NCSA
-;; Mosaic, which can be found at ftp.ncsa.uiuc.edu in /Mosaic.
-;;
-;; See file://moose.cs.indiana.edu/pub/elisp/w3 for w3.el, which is
-;; an Elisp World Wide Web browser written by William Perry.
-;;
-;; ------------------------------ WHAT HTML IS ------------------------------
-;;
-;; HTML (HyperText Markup Language) is a format for hypertext
-;; documents, particularly in the World Wide Web system.  For more
-;; information on HTML, telnet to info.cern.ch or pick up a copy of
-;; NCSA Mosaic for the X Window System via ftp to ftp.ncsa.uiuc.edu
-;; in /Mosaic; information is available online through the software
-;; products distributed at those sites.
-;;
-;; ---------------------------- ACKNOWLEDGEMENTS ----------------------------
-;;
-;; Some code herein provided by:
-;;   Dan Connolly <connolly@pixel.convex.com>
-;;
-;; --------------------------------------------------------------------------
-;; LCD Archive Entry:
-;; html-mode|Marc Andreessen|marca@ncsa.uiuc.edu|
-;; Major mode for editing HTML hypertext files.|
-;; Date: sometime in 1993|Revision: 2.1 (beta)|~/modes/html-mode.el.Z|
-;; --------------------------------------------------------------------------
-;;; Code:
-
-;; XEmacs change -- we require hm--html-menu here so that we do not
-;; have to manually add an autoload for html-mode.  If we didn't do
-;; this the autoload for html-mode would have to be changed to load
-;; hm--html-menu even though it is defined in this file.
-(require 'hm--html-menu)
-
-;;; ---------------------------- emacs variations ----------------------------
-
-(defvar html-running-xemacs (if (or (string-match "XEmacs" emacs-version)
-				    (string-match "Lucid" emacs-version) )
-				t nil)
-  "Non-nil if running XEmacs.")
-
-(defvar html-running-epoch (boundp 'epoch::version)
-  "Non-nil if running Epoch.")
-
-(defvar html-running-emacs-19 (and 
-			       (not html-running-xemacs)
-			       (string= (substring emacs-version 0 2) "19"))
-  "Non-nil if running Emacs 19")
-
-;;; ------------------------------- variables --------------------------------
-
-(defvar html-quotify-hrefs-on-find t
-  "*If non-nil, all HREF's (and NAME's) in a file will be automatically 
-quotified when the file is loaded.  This is useful for converting ancient 
-HTML documents to SGML-compatible syntax, which mandates quoted HREF's.
-This should always be T.")
-
-(defvar html-use-highlighting html-running-epoch
-  "*Flag to use highlighting for HTML directives in Epoch or XEmacs; 
-if non-NIL, highlighting will be used.  Default is T if you are running
-Epoch; nil otherwise (for XEmacs, font-lock is better; see 
-html-use-font-lock instead).")
-
-(defvar html-use-font-lock (or html-running-xemacs html-running-emacs-19)
-  "*Flag to use font-lock for HTML directives in XEmacs.  If non-NIL,
-font-lock will be used.  Default is T if you are running with XEmacs;
-NIL otherwise.  This doesn't currently seem to work.  Bummer.  Ten points
-to the first person who tells me why not.")
-
-(defvar html-deemphasize-color "grey80"
-  "*Color for de-highlighting HTML directives in Epoch or XEmacs.")
-
-(defvar html-emphasize-color "yellow"
-  "*Color for highlighting HTML something-or-others in Epoch or XEmacs.")
-
-(defvar html-document-previewer "xmosaic"
-  "*Program to be used to preview HTML documents.  Program is assumed
-to accept a single argument, a filename containing a file to view; program
-is also assumed to follow the Mosaic convention of handling SIGUSR1 as
-a remote-control mechanism.")
-
-(defvar html-document-previewer-args "-ngh"
-  "*Arguments to be given to the program named by html-document-previewer;
-NIL if none should be given.")
-
-(defvar html-sigusr1-signal-value 16
-  "*Value for the SIGUSR1 signal on your system.  See, usually,
-/usr/include/sys/signal.h.")
-
-;;; --------------------------------- setup ----------------------------------
-
-(defvar html-mode-syntax-table nil
-  "Syntax table used while in html mode.")
-
-(defvar html-mode-abbrev-table nil
-  "Abbrev table used while in html mode.")
-(define-abbrev-table 'html-mode-abbrev-table ())
-
-(if html-mode-syntax-table
-    ()
-  (setq html-mode-syntax-table (make-syntax-table))
-  (modify-syntax-entry ?\" ".   " html-mode-syntax-table)
-  (modify-syntax-entry ?\\ ".   " html-mode-syntax-table)
-  (modify-syntax-entry ?' "w   " html-mode-syntax-table))
-
-(defvar html-mode-map nil "")
-(if html-mode-map
-    ()
-  (setq html-mode-map (make-sparse-keymap))
-  (define-key html-mode-map "\t" 'tab-to-tab-stop)
-  (define-key html-mode-map "\C-ca" 'html-add-address)
-  (define-key html-mode-map "\C-cb" 'html-add-blockquote)
-  (define-key html-mode-map "\C-cc" 'html-add-code)
-  (define-key html-mode-map "\C-cd" 'html-add-description-list)
-  (define-key html-mode-map "\C-ce" 'html-add-description-entry)
-  (define-key html-mode-map "\C-cg" 'html-add-img)
-  (define-key html-mode-map "\C-ch" 'html-add-header)
-  (define-key html-mode-map "\C-ci" 'html-add-list-or-menu-item)
-  (define-key html-mode-map "\C-cl" 'html-add-normal-link)
-  (define-key html-mode-map "\C-cm" 'html-add-menu)
-  (define-key html-mode-map "\C-cn" 'html-add-numbered-list)
-  (define-key html-mode-map "\C-cp" 'html-add-paragraph-separator)
-  (define-key html-mode-map "\C-cr" 'html-add-normal-reference)
-  (define-key html-mode-map "\C-cs" 'html-add-list)
-  (define-key html-mode-map "\C-ct" 'html-add-title)
-  (define-key html-mode-map "\C-cx" 'html-add-plaintext)
-  ;; html-preview-document currently requires the primitive
-  ;; signal-process, which is only in v19 (is it in gnu 19? dunno).
-  (and html-running-xemacs
-       (define-key html-mode-map "\C-cz" 'html-preview-document))
-  (define-key html-mode-map "\C-c\C-b" 'html-add-bold)
-  (define-key html-mode-map "\C-c\C-c" 'html-add-citation)
-  (define-key html-mode-map "\C-c\C-e" 'html-add-emphasized)
-  (define-key html-mode-map "\C-c\C-f" 'html-add-fixed)
-  (define-key html-mode-map "\C-c\C-i" 'html-add-italic)
-  (define-key html-mode-map "\C-c\C-k" 'html-add-keyboard)
-  (define-key html-mode-map "\C-c\C-l" 'html-add-listing)
-  (define-key html-mode-map "\C-c\C-m" 'html-add-sample)
-  (define-key html-mode-map "\C-c\C-p" 'html-add-preformatted)
-  (define-key html-mode-map "\C-c\C-s" 'html-add-strong)
-  (define-key html-mode-map "\C-c\C-v" 'html-add-variable)
-  (define-key html-mode-map "<" 'html-less-than)
-  (define-key html-mode-map ">" 'html-greater-than)
-  (define-key html-mode-map "&" 'html-ampersand)
-  (define-key html-mode-map "\C-c<" 'html-real-less-than)
-  (define-key html-mode-map "\C-c>" 'html-real-greater-than)
-  (define-key html-mode-map "\C-c&" 'html-real-ampersand)
-  (define-key html-mode-map "\C-c\C-rl" 'html-add-normal-link-to-region)
-  (define-key html-mode-map "\C-c\C-rr" 'html-add-reference-to-region)
-)
-
-;;; ------------------------------ highlighting ------------------------------
-
-(if (and html-running-epoch html-use-highlighting)
-    (progn
-      (defvar html-deemphasize-style (make-style))
-      (set-style-foreground html-deemphasize-style html-deemphasize-color)
-      (defvar html-emphasize-style (make-style))
-      (set-style-foreground html-emphasize-style html-emphasize-color)))
-
-(if (and html-running-xemacs html-use-highlighting)
-    (progn
-      (defvar html-deemphasize-style (make-face 'html-deemphasize-face))
-      (set-face-foreground html-deemphasize-style html-deemphasize-color)
-      (defvar html-emphasize-style (make-face 'html-emphasize-face))
-      (set-face-foreground html-emphasize-style html-emphasize-color)))
-
-(if html-use-highlighting
-    (progn
-      (if html-running-xemacs
-          (defun html-add-zone (start end style)
-            "Add a XEmacs extent from START to END with STYLE."
-            (let ((extent (make-extent start end)))
-              (set-extent-face extent style)
-              (set-extent-data extent 'html-mode))))
-      (if html-running-epoch
-          (defun html-add-zone (start end style)
-            "Add an Epoch zone from START to END with STYLE."
-            (let ((zone (add-zone start end style)))
-              (epoch::set-zone-data zone 'html-mode))))))
-
-(defun html-maybe-deemphasize-region (start end)
-  "Maybe deemphasize a region of text.  Region is from START to END."
-  (and (or html-running-epoch html-running-xemacs)
-       html-use-highlighting
-       (html-add-zone start end html-deemphasize-style)))
-
-;;; --------------------------------------------------------------------------
-;;; ------------------------ command support routines ------------------------
-;;; --------------------------------------------------------------------------
-
-(defun html-add-link (link-object)
-  "Add a link.  Single argument LINK-OBJECT is value of HREF in the
-new anchor.  Mark is set after anchor."
-  (let ((start (point)))
-    (insert "<A")
-    (insert " HREF=\"" link-object "\">")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (insert "</A>")
-    (push-mark)
-    (forward-char -4)
-    (html-maybe-deemphasize-region (1+ (point)) (+ (point) 4))))
-
-(defun html-add-reference (ref-object)
-  "Add a reference.  Single argument REF-OBJECT is value of NAME in the
-new anchor.  Mark is set after anchor."
-  (let ((start (point)))
-    (insert "<A")
-    (insert " NAME=\"" ref-object "\">")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (insert "</A>")
-    (push-mark)
-    (forward-char -4)
-    (html-maybe-deemphasize-region (1+ (point)) (+ (point) 4))))
-
-(defun html-add-list-internal (type)
-  "Set up a given type of list by opening the list start/end pair
-and creating an initial element.  Single argument TYPE is a string,
-assumed to be a valid HTML list type (e.g. \"UL\" or \"OL\").
-Mark is set after list."
-  (let ((start (point)))
-    (insert "<" type ">\n")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (insert "<LI> ")
-    ;; Point goes right there.
-    (save-excursion
-      (insert "\n")
-      (setq start (point))
-      (insert "</" type ">\n")
-      (html-maybe-deemphasize-region start (1- (point)))
-      ;; Reuse start to set mark.
-      (setq start (point)))
-    (push-mark start t)))
-
-(defun html-open-area (tag)
-  "Open an area for entering text such as PRE, XMP, or LISTING."
-  (let ((start (point)))
-    (insert "<" tag ">\n")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (save-excursion
-      (insert "\n")
-      (setq start (point))
-      (insert "</" tag ">\n")
-      (html-maybe-deemphasize-region start (1- (point)))
-      ;; Reuse start to set mark.
-      (setq start (point)))
-    (push-mark start t)))
-
-(defun html-open-field (tag)
-  (let ((start (point)))
-    (insert "<" tag ">")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (setq start (point))
-    (insert "</" tag ">")
-    (html-maybe-deemphasize-region (1+ start) (point))
-    (push-mark)
-    (goto-char start)))
-
-;;; --------------------------------------------------------------------------
-;;; -------------------------------- commands --------------------------------
-;;; --------------------------------------------------------------------------
-
-;; C-c a
-(defun html-add-address ()
-  "Add an address."
-  (interactive)
-  (html-open-field "ADDRESS"))
-
-;; C-c b
-(defun html-add-blockquote ()
-  (interactive)
-  (html-open-area "BLOCKQUOTE"))
-
-;; C-c C-b
-(defun html-add-bold ()
-  (interactive)
-  (html-open-field "B"))
-
-;; C-c c
-(defun html-add-code ()
-  (interactive)
-  (html-open-field "CODE"))
-
-;; C-c C-c
-(defun html-add-citation ()
-  (interactive)
-  (html-open-field "CITE"))
-
-;; C-c d
-(defun html-add-description-list ()
-  "Add a definition list.  Blah blah."
-  (interactive)
-  (let ((start (point)))
-    (insert "<DL>\n")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (insert "<DT> ")
-    ;; Point goes right there.
-    (save-excursion
-      (insert "\n<DD> \n")
-      (setq start (point))
-      (insert "</DL>\n")
-      (html-maybe-deemphasize-region start (1- (point)))
-      ;; Reuse start to set mark.
-      (setq start (point)))
-    (push-mark start t)))
-
-;; C-c e
-(defun html-add-description-entry ()
-  "Add a definition entry.  Assume we're at the end of a previous
-entry."
-  (interactive)
-  (let ((start (point)))
-    (insert "\n<DT> ")
-    (save-excursion
-      (insert "\n<DD> "))))
-
-;; C-c C-e
-(defun html-add-emphasized ()
-  (interactive)
-  (html-open-field "EM"))
-
-;; C-c C-f
-(defun html-add-fixed ()
-  (interactive)
-  (html-open-field "TT"))
-
-;; C-c g
-(defun html-add-img (href)
-  "Add an img."
-  (interactive "sImage URL: ")
-  (let ((start (point)))
-    (insert "<IMG SRC=\"" href "\">")
-    (html-maybe-deemphasize-region (1+ start) (1- (point)))))
-
-;; C-c h
-(defun html-add-header (size header)
-  "Add a header."
-  (interactive "sSize (1-6; 1 biggest): \nsHeader: ")
-  (let ((start (point)))
-    (insert "<H" size ">")
-    (html-maybe-deemphasize-region start (1- (point)))
-    (insert header)
-    (setq start (point))
-    (insert "</H" size ">\n")
-    (html-maybe-deemphasize-region (1+ start) (1- (point)))))
-
-;; C-c i
-(defun html-add-list-or-menu-item ()
-  "Add a list or menu item.  Assume we're at the end of the
-last item."
-  (interactive)
-  (let ((start (point)))
-    (insert "\n<LI> ")))
-
-;; C-c C-i
-(defun html-add-italic ()
-  (interactive)
-  (html-open-field "I"))
-
-;; C-c C-k
-(defun html-add-keyboard ()
-  (interactive)
-  (html-open-field "KBD"))
-
-;; C-c l
-(defun html-add-normal-link (link)
-  "Make a link"
-  (interactive "sLink to: ")
-  (html-add-link link))
-
-;; C-c C-l
-(defun html-add-listing ()
-  (interactive)
-  (html-open-area "LISTING"))
-
-;; C-c m
-(defun html-add-menu ()
-  "Add a menu."
-  (interactive)
-  (html-add-list-internal "MENU"))
-
-;; C-c C-m
-(defun html-add-sample ()
-  (interactive)
-  (html-open-field "SAMP"))
-
-;; C-c n
-(defun html-add-numbered-list ()
-  "Add a numbered list."
-  (interactive)
-  (html-add-list-internal "OL"))
-
-;; C-c p
-(defun html-add-paragraph-separator ()
-  "Add a paragraph separator."
-  (interactive)
-  (let ((start (point)))
-    (insert " <P>")
-    (html-maybe-deemphasize-region (+ start 1) (point))))
-
-;; C-c C-p
-(defun html-add-preformatted ()
-  (interactive)
-  (html-open-area "PRE"))
-
-;; C-c r
-(defun html-add-normal-reference (reference)
-  "Add a reference (named anchor)."
-  (interactive "sReference name: ")
-  (html-add-reference reference))
-
-;; C-c s
-(defun html-add-list ()
-  "Add a list."
-  (interactive)
-  (html-add-list-internal "UL"))
-
-;; C-c C-s
-(defun html-add-strong ()
-  (interactive)
-  (html-open-field "STRONG"))
-
-;; C-c t
-(defun html-add-title (title)
-  "Add or modify a title."
-  (interactive "sTitle: ")
-  (save-excursion
-    (goto-char (point-min))
-    (if (and (looking-at "<TITLE>")
-             (save-excursion
-               (forward-char 7)
-               (re-search-forward "[^<]*" 
-                                  (save-excursion (end-of-line) (point)) 
-                                  t)))
-        ;; Plop the new title in its place.
-        (replace-match title t)
-      (insert "<TITLE>")
-      (html-maybe-deemphasize-region (point-min) (1- (point)))
-      (insert title)
-      (insert "</TITLE>")
-      (html-maybe-deemphasize-region (- (point) 7) (point))
-      (insert "\n"))))
-
-;; C-c C-v
-(defun html-add-variable ()
-  (interactive)
-  (html-open-field "VAR"))
-
-;; C-c x
-(defun html-add-plaintext ()
-  "Add plaintext."
-  (interactive)
-  (html-open-area "XMP"))
-
-;;; --------------------------------------------------------------------------
-;;; ---------------------------- region commands -----------------------------
-;;; --------------------------------------------------------------------------
-
-;; C-c C-r l
-(defun html-add-normal-link-to-region (link start end)
-  "Make a link that applies to the current region.  Again,
-no completion."
-  (interactive "sLink to: \nr")
-  (save-excursion
-    (goto-char end)
-    (save-excursion
-      (goto-char start)
-      (insert "<A")
-      (insert " HREF=\"" link "\">")
-      (html-maybe-deemphasize-region start (1- (point))))
-    (insert "</A>")
-    (html-maybe-deemphasize-region (- (point) 3) (point))))
-
-;; C-c C-r r
-(defun html-add-reference-to-region (name start end)
-  "Add a reference point (a link with no reference of its own) to
-the current region."
-  (interactive "sName: \nr")
-  (or (string= name "")
-      (save-excursion
-        (goto-char end)
-        (save-excursion
-          (goto-char start)
-          (insert "<A NAME=\"" name "\">")
-          (html-maybe-deemphasize-region start (1- (point))))
-        (insert "</A>")
-        (html-maybe-deemphasize-region (- (point) 3) (point)))))
-
-;;; --------------------------------------------------------------------------
-;;; ---------------------------- special commands ----------------------------
-;;; --------------------------------------------------------------------------
-
-(defun html-less-than ()
-  (interactive)
-  (insert "&lt;"))
-
-(defun html-greater-than ()
-  (interactive)
-  (insert "&gt;"))
-
-(defun html-ampersand ()
-  (interactive)
-  (insert "&amp;"))
-
-(defun html-real-less-than ()
-  (interactive)
-  (insert "<"))
-
-(defun html-real-greater-than ()
-  (interactive)
-  (insert ">"))
-
-(defun html-real-ampersand ()
-  (interactive)
-  (insert "&"))
-
-;;; --------------------------------------------------------------------------
-;;; --------------------------- Mosaic previewing ----------------------------
-;;; --------------------------------------------------------------------------
-
-;; OK, we work like this: We have a variable html-previewer-process.
-;; When we start, it's nil.  First time html-preview-document is
-;; called, we write the current document into a tmp file and call
-;; Mosaic on it.  Second time html-preview-document is called, we
-;; write the current document into a tmp file, write out a tmp config
-;; file, and send Mosaic SIGUSR1.
-
-;; This feature REQUIRES the Lisp command signal-process, which seems
-;; to be a XEmacs v19 feature.  It might be in GNU Emacs v19 too;
-;; I dunno.
-
-(defvar html-previewer-process nil
-  "Variable used to track live viewer process.")
-
-(defun html-write-buffer-to-tmp-file ()
-  "Write the current buffer to a temp file and return the name
-of the tmp file."
-  (let ((filename (concat "/tmp/" (make-temp-name "html") ".html")))
-    (write-region (point-min) (point-max) filename nil 'foo)
-    filename))
-
-(defun html-preview-document ()
-  "Preview the current buffer's HTML document by spawning off a
-previewing process (assumed to be Mosaic, basically) and controlling
-it with signals as long as it's alive."
-  (interactive)
-  (let ((tmp-file (html-write-buffer-to-tmp-file)))
-    ;; If html-previewer-process is nil, we start a process.
-    ;; OR if the process status is not equal to 'run.
-    (if (or (eq html-previewer-process nil)
-            (not (eq (process-status html-previewer-process) 'run)))
-        (progn
-          (message "Starting previewer...")
-          (setq html-previewer-process
-                (if html-document-previewer-args
-                    (start-process "html-previewer" "html-previewer"
-                                   html-document-previewer 
-                                   html-document-previewer-args 
-                                   tmp-file)
-                  (start-process "html-previewer" "html-previewer"
-                                 html-document-previewer 
-                                 tmp-file))))
-      ;; We've got a running previewer; use it via SIGUSR1.
-      (save-excursion
-        (let ((config-file (format "/tmp/Mosaic.%d" 
-                                   (process-id html-previewer-process))))
-          (set-buffer (generate-new-buffer "*html-preview-tmp*"))
-          (insert "goto\nfile:" tmp-file "\n")
-          (write-region (point-min) (point-max)
-                        config-file nil 'foo)
-          ;; This is a v19 routine only.
-          (signal-process (process-id html-previewer-process)
-                          html-sigusr1-signal-value)
-          (delete-file config-file)
-          (delete-file tmp-file)
-          (kill-buffer (current-buffer)))))))
-
-;;; --------------------------------------------------------------------------
-;;; --------------------------------------------------------------------------
-;;; --------------------------------------------------------------------------
-
-(defun html-replace-string-in-buffer (start end newstring)
-  (save-excursion
-    (goto-char start)
-    (delete-char (1+ (- end start)))
-    (insert newstring)))
-
-;;; --------------------------- html-quotify-hrefs ---------------------------
-
-(defun html-quotify-hrefs ()
-  "Insert quotes around all HREF and NAME attribute value literals.
-
-This remedies the problem with old HTML files that can't be processed
-by SGML parsers. That is, changes <A HREF=foo> to <A HREF=\"foo\">."
-  (interactive)
-  (save-excursion
-    (goto-char (point-min))
-    (while 
-        (re-search-forward
-         "<[aA][ \t\n]+\\([nN][aA][mM][eE]=[a-zA-Z0-9]+[ \t\n]+\\)?[hH][rR][eE][fF]="
-         (point-max)
-         t)
-      (cond
-       ((null (looking-at "\""))
-        (insert "\"")
-        (re-search-forward "[ \t\n>]" (point-max) t)
-        (forward-char -1)
-        (insert "\""))))))
-
-;;; ------------------------------- html-mode --------------------------------
-
-(defun html-mode ()
-  "Major mode for editing HTML hypertext documents.  Special commands:\\{html-mode-map}
-Turning on html-mode calls the value of the variable html-mode-hook,
-if that value is non-nil.
-
-More extensive documentation is available in the file 'html-mode.el'.
-The latest (possibly unstable) version of this file will always be available
-on anonymous FTP server ftp.ncsa.uiuc.edu in /Mosaic/elisp."
-  (interactive)
-  (kill-all-local-variables)
-  (if hm--html-use-old-keymap
-      (use-local-map html-mode-map)
-    (use-local-map hm--html-mode-map))
-  (setq mode-name "HTML")
-  (setq major-mode 'html-mode)
-  (setq local-abbrev-table html-mode-abbrev-table)
-  (set-syntax-table html-mode-syntax-table)
-  (run-hooks 'html-mode-hook)
-  (and html-use-font-lock
-       (html-fontify)))
-
-;;; ------------------------------- our hooks --------------------------------
-
-(defun html-html-mode-hook ()
-  "Hook called from html-mode-hook.  
-Run htlm-quotify-hrefs if html-quotify-hrefs-on-find is non-nil."
-  ;; Quotify existing HREF's if html-quotify-hrefs-on-find is non-nil.
-  (and html-quotify-hrefs-on-find (html-quotify-hrefs)))
-
-;;; ------------------------------- hook setup -------------------------------
-
-;; Author: Daniel LaLiberte (liberte@cs.uiuc.edu).
-(defun html-postpend-unique-hook (hook-var hook-function)
-  "Postpend HOOK-VAR with HOOK-FUNCTION, if it is not already an element.
-hook-var's value may be a single function or a list of functions."
-  (if (boundp hook-var)
-      (let ((value (symbol-value hook-var)))
-        (if (and (listp value) (not (eq (car value) 'lambda)))
-            (and (not (memq hook-function value))
-                 (set hook-var (append value (list hook-function))))
-          (and (not (eq hook-function value))
-               (set hook-var (append value (list hook-function))))))
-    (set hook-var (list hook-function))))
-
-(html-postpend-unique-hook 'html-mode-hook 'html-html-mode-hook)
-
-;;; -------------------------- xemacs menubar setup ---------------------------
-
-(if (or html-running-xemacs html-running-emacs-19)
-    (progn
-      (defvar html-menu
-        '("HTML Mode"
-          ["Open Address"         html-add-address      t]
-          ["Open Blockquote"      html-add-blockquote   t]
-          ["Open Header"          html-add-header       t]
-          ["Open Hyperlink"       html-add-normal-link  t]
-          ["Open Listing"         html-add-listing      t]
-          ["Open Plaintext"       html-add-plaintext    t]
-          ["Open Preformatted"    html-add-preformatted t]
-          ["Open Reference"       html-add-normal-reference    t]
-          ["Open Title"           html-add-title        t]
-          "----"
-          ["Open Bold"            html-add-bold         t]
-          ["Open Citation"        html-add-citation     t]
-          ["Open Code"            html-add-code         t]
-          ["Open Emphasized"      html-add-emphasized   t]
-          ["Open Fixed"           html-add-fixed        t]
-          ["Open Keyboard"        html-add-keyboard     t]
-          ["Open Sample"          html-add-sample       t]
-          ["Open Strong"          html-add-strong       t]
-          ["Open Variable"        html-add-variable     t]
-          "----"
-          ["Add Inlined Image"    html-add-img          t]
-          ["End Paragraph"        html-add-paragraph-separator t]
-          ["Preview Document"     html-preview-document t]
-          "----"
-          ("Definition List ..."
-           ["Open Definition List"    html-add-description-list  t]
-           ["Add Definition Entry"    html-add-description-entry t]
-           )
-          ("Other Lists ..."
-           ["Open Unnumbered List"    html-add-list          t]
-           ["Open Numbered List"      html-add-numbered-list t]
-           ["Open Menu"               html-add-menu          t]
-           "----"
-           ["Add List Or Menu Item"   html-add-list-or-menu-item   t]
-           )           
-          ("Operations On Region ..."
-           ["Add Hyperlink To Region" html-add-normal-link-to-region  t]
-           ["Add Reference To Region" html-add-reference-to-region    t]
-           )
-          ("Reserved Characters ..."
-           ["Less Than (<)"           html-real-less-than      t]
-           ["Greater Than (>)"        html-real-greater-than   t]
-           ["Ampersand (&)"           html-real-ampersand      t]
-           )
-          )
-        )
-
-;      (defun html-menu (e)
-;        (interactive "e")
-;        (mouse-set-point e)
-;        (beginning-of-line)
-;        (popup-menu html-menu))
-      
-;      (define-key html-mode-map 'button3 'html-menu)
-
-;      (defun html-install-menubar ()
-;        (if (and current-menubar (not (assoc "HTML" current-menubar)))
-;            (progn
-;              (set-buffer-menubar (copy-sequence current-menubar))
-;              (add-menu nil "HTML" (cdr html-menu)))))
-;      (html-postpend-unique-hook 'html-mode-hook 'html-install-menubar)
-
-      (defvar html-font-lock-keywords
-        (list
-         '("\\(<[^>]*>\\)+" . font-lock-comment-face)
-         '("[Hh][Rr][Ee][Ff]=\"\\([^\"]*\\)\"" 1 font-lock-string-face t)
-         '("[Ss][Rr][Cc]=\"\\([^\"]*\\)\"" 1 font-lock-string-face t))
-        "Patterns to highlight in HTML buffers.")
-
-      (defun html-fontify ()
-        (font-lock-mode 1)
-        (make-local-variable 'font-lock-keywords) 
-        (setq font-lock-keywords html-font-lock-keywords)
-; The following line was needed in older versions of font-lock.el
-;	(font-lock-hack-keywords (point-min) (point-max))
-        (message "Hey boss, we been through html-fontify."))
-      )
-  )
-
-;;; ------------------------------ final setup -------------------------------
-
-(or (rassq 'html-mode auto-mode-alist) ;jwz
-    (setq auto-mode-alist (cons '("\\.html\\'" . html-mode) auto-mode-alist)))
-
-(provide 'html-mode)
--- a/lisp/ilisp/clisp.lisp	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,657 +0,0 @@
-;;; -*- Mode: Lisp -*-
-
-;;; clisp.lisp --
-
-;;; This file is part of ILISP.
-;;; Version: 5.7
-;;;
-;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
-;;;               1993, 1994 Ivan Vasquez
-;;;               1994, 1995 Marco Antoniotti and Rick Busdiecker
-;;;
-;;; Other authors' names for which this Copyright notice also holds
-;;; may appear later in this file.
-;;;
-;;; Send mail to 'ilisp-request@lehman.com' to be included in the
-;;; ILISP mailing list. 'ilisp@lehman.com' is the general ILISP
-;;; mailing list were bugs and improvements are discussed.
-;;;
-;;; ILISP is freely redistributable under the terms found in the file
-;;; COPYING.
-
-
-
-;;; Common Lisp initializations
-;;; Author: Chris McConnell, ccm@cs.cmu.edu
-
-;;;
-;;; ange-ftp hack added by ivan Wed Mar 10 12:30:15 1993
-;;; ilisp-errors *gc-verbose* addition ivan Tue Mar 16 03:21:51 1993
-;;;
-;;; Rcs_Info: clisp.lisp,v 1.26 1993/09/03 02:05:07 ivan Rel $
-;;;
-;;; Revision 1.19  1993/08/24  22:01:52  ivan
-;;; Use defpackage instead of just IN-PACKAGE.
-;;; Renamed FUNCTION to FUN in ilisp-arglist to get around CMUCL 17b bug.
-;;;
-;;; Revision 1.16  1993/06/29  05:51:35  ivan
-;;; Added Ed Gamble's #'readtable-case fix and Hans Chalupsky's
-;;; allegro-4.1 addition.
-;;;
-;;; Revision 1.8  1993/06/28  00:57:42  ivan
-;;; Stopped using 'COMPILED-FUNCTION-P for compiled check.
-;;;
-;;; Revision 1.3  1993/03/16  23:22:10  ivan
-;;; Added breakp arg to ilisp-trace.
-;;;
-;;;
-
-
-#+(or allegro-v4.0 allegro-v4.1)
-(eval-when (compile load eval)
-  (setq excl:*cltl1-in-package-compatibility-p* t))
-
-
-;;; The following is really a kludge! The defpackage should be in a
-;;; separate file, but it looks like it is really hard to change ILISP
-;;; behavior on the subject.
-;;; Marco Antoniotti 11/22/94
-
-;;; I am commenting it out to see whether I can actually load the
-;;; package file with the kludge in the definition of the dialect.
-;;;
-;;; Result: it works! This will disappear in the next release.
-
-#|
-(eval-when (compile load eval)
-	   (defpackage "ILISP" (:use "LISP" #+:CMU "CONDITIONS")
-	     (:export "ILISP-ERRORS"
-		      "ILISP-SAVE"
-		      "ILISP-RESTORE"
-		      "ILISP-SYMBOL-NAME"
-		      "ILISP-FIND-SYMBOL"
-		      "ILISP-FIND-PACKAGE"
-		      "ILISP-EVAL"
-		      "ILISP-COMPILE"
-		      "ILISP-DESCRIBE"
-		      "ILISP-INSPECT"
-		      "ILISP-ARGLIST"
-		      "ILISP-DOCUMENTATION"
-		      "ILISP-MACROEXPAND"
-		      "ILISP-MACROEXPAND-1"
-		      "ILISP-TRACE"
-		      "ILISP-UNTRACE"
-		      "ILISP-COMPILE-FILE"
-		      "ILISP-CASIFY"
-		      "ILISP-MATCHING-SYMBOLS")
-	     ))
-|#
-
-
-(in-package "ILISP")
-
-;;;
-;;; GCL 2.2 doesn't have defpackage (yet) so we need to put the export
-;;; here. (toy@rtp.ericsson.se)
-
-#+gcl
-(export '(ilisp-errors
-	  ilisp-save
-	  ilisp-restore
-	  ilisp-symbol-name
-	  ilisp-find-symbol
-	  ilisp-find-package
-	  ilisp-eval
-	  ilisp-compile
-	  ilisp-describe
-	  ilisp-inspect
-	  ilisp-arglist
-	  ilisp-documentation
-	  ilisp-macroexpand
-	  ilisp-macroexpand-1
-	  ilisp-trace
-	  ilisp-untrace
-	  ilisp-compile-file
-	  ilisp-casify
-	  ilisp-matching-symbols))
-
-
-;;;
-(defvar *ilisp-old-result* nil "Used for save/restore of top level values.")
-
-#+:ANSI-CL
-(defun special-form-p (symbol)
-  "Backward compatibility for non ANSI CL's."
-  (special-operator-p symbol))
-
-;;;
-(defmacro ilisp-handler-case (expression &rest handlers)
-  "Evaluate EXPRESSION using HANDLERS to handle errors."
-  handlers
-  (if (macro-function 'handler-case)
-      `(handler-case ,expression ,@handlers)
-      #+allegro `(excl::handler-case ,expression ,@handlers)
-      #+lucid `(lucid::handler-case ,expression ,@handlers)
-      #-(or allegro lucid) expression))
-
-;;;
-(defun ilisp-readtable-case (readtable)
-  (if (fboundp 'readtable-case)
-      (funcall #'readtable-case readtable)
-      #+allegro (case excl:*current-case-mode*
-		  (:case-insensitive-upper :upcase)
-		  (:case-insensitive-lower :downcase)
-		  (otherwise :preserve))
-      #-allegro :upcase))
-
-;;;
-(defmacro ilisp-errors (form)
-  "Handle errors when evaluating FORM."
-  `(let ((*standard-output* *terminal-io*)
-	 (*error-output* *terminal-io*)
-	 #+cmu
-	 (ext:*gc-verbose* nil) ; cmulisp outputs "[GC ...]" which
-				; doesn't read well...
-	 #+ecl
-	 (sys:*gc-verbose* nil) ; ecolisp also outputs "[GC ...]"
-	 )
-     (princ " ")			;Make sure we have output
-     (ilisp-handler-case
-      ,form	
-      (error (error)
-       (with-output-to-string (string)
-	 (format string "ILISP: ~A" error))))))
-
-
-;;;
-(defun ilisp-save ()
-  "Save the current state of the result history."
-  (declare (special / // /// + ++ +++))
-  (unless *ilisp-old-result*
-    (setq *ilisp-old-result* (list /// // +++ ++ + /))))
-
-;;;
-(defun ilisp-restore ()
-  "Restore the old result history."
-  (declare (special / // /// + ++ +++ * ** -))
-  (setq // (pop *ilisp-old-result*)
-	** (first //)
-	/  (pop *ilisp-old-result*)
-	*  (first /)
-	++  (pop *ilisp-old-result*)
-	+   (pop *ilisp-old-result*)
-	-   (pop *ilisp-old-result*))
-  (values-list (pop *ilisp-old-result*)))
-  
-;;; ilisp-symbol-name --
-;;;
-;;; ':capitalize' case added under suggestion by Rich Mallory.
-(defun ilisp-symbol-name (symbol-name)
-  "Return SYMBOL-NAME with the appropriate case as a symbol."
-  (case (ilisp-readtable-case *readtable*)
-    (:upcase (string-upcase symbol-name))
-    (:downcase (string-downcase symbol-name))
-    (:capitalize (string-capitalize symbol-name))
-    (:preserve symbol-name)))
-  
-;;;
-(defun ilisp-find-package (package-name)
-  "Return package PACKAGE-NAME or the current package."
-  (if (string-equal package-name "nil")
-      *package*
-      (or (find-package (ilisp-symbol-name package-name))
-	  (error "Package ~A not found" package-name))))
-
-;;;
-(defun ilisp-find-symbol (symbol-name package-name)
-  "Return the symbol associated with SYMBOL-NAME in PACKAGE-NAME trying to
-handle case issues intelligently."
-  (find-symbol (ilisp-symbol-name symbol-name)
-	       (ilisp-find-package package-name)))
-
-
-;;; The following two functions were in version 5.5.
-;;; They disappeared in version 5.6. I am putting them back in the
-;;; distribution in order to make use of them later if the need
-;;; arises.
-;;; Marco Antoniotti: Jan 2 1995
-#|
-(defun ilisp-filename-hack (filename)
-  "Strip `/user@machine:' prefix from filename."
-  ;; Ivan's hack for getting away with dumb /ivan@bu-conx:/foo/bar/baz
-  ;; filenames...
-  (let ((at-location (position #\@ filename))
-	(colon-location (position #\: filename)))
-    (if (and at-location colon-location)
-	(subseq filename (1+ colon-location))
-	filename)))
-
-
-(defun ilisp-read-form (form package)
-  "Read string FORM in PACKAGE and return the resulting form."
-  (let ((*package* (ilisp-find-package package)))
-    (read-from-string form)))
-|#
-
-;;;
-(defun ilisp-eval (form package filename)
-  "Evaluate FORM in PACKAGE recording FILENAME as the source file."
-  (princ " ")
-  ;; Ivan's hack for getting away with dumb /ivan@bu-conx:/foo/bar/baz
-  ;; filenames...
-  (let* ((at-location (position #\@ filename))
-	 (colon-location (position #\: filename))
-	 (filename
-	  (if (and at-location colon-location)
-	      (subseq filename (1+ colon-location))
-	      filename))
-	 (*package* (ilisp-find-package package))
-	 #+allegro (excl::*source-pathname* filename)
-	 #+allegro (excl::*redefinition-warnings* nil)
-	 #+lucid (lucid::*source-pathname*
-		  (if (probe-file filename)
-		      (truename filename)
-		      (merge-pathnames filename)))
-	 #+lucid (lucid::*redefinition-action* nil)
-	 #+lispworks (compiler::*input-pathname* (merge-pathnames filename))
-	 #+lispworks (compiler::*warn-on-non-top-level-defun* nil)
-	 ;; The LW entries are a mix of Rich Mallory and Jason
-	 ;; Trenouth suggestions
-	 ;; Marco Antoniotti: Jan 2 1995.
-	 )
-    filename
-    (eval (read-from-string form))))
-
-;;;
-(defun ilisp-compile (form package filename)
-  "Compile FORM in PACKAGE recording FILENAME as the source file."
-  (princ " ")
-  ;; This makes sure that function forms are compiled
-  ;; NOTE: Rich Mallory proposed a variation of the next piece of
-  ;; code. for the time being we stick to the following simpler code.
-  ;; Marco Antoniotti: Jan 2 1995.
-  #-lucid
-  (ilisp-eval
-   (format nil "(funcall (compile nil '(lisp:lambda () ~A)))"
-	   form)
-   package
-   filename)
-  
-  ;; The following piece of conditional code is left in the
-  ;; distribution just for historical purposes.
-  ;; It will disappear in the next release.
-  ;; Marco Antoniotti: Jan 2 1995.
-  #+lucid-ilisp-5.6
-  (labels ((compiler (form env)
-		     (if (and (consp form)
-			      (eq (first form) 'function)
-			      (consp (second form)))
-			 #-LCL3.0
-		       (evalhook `(compile nil ,form) nil nil env)
-		       #+LCL3.0
-		       ;; If we have just compiled a named-lambda, and the
-		       ;; name didn't make it in to the procedure object,
-		       ;; then stuff the appropriate symbol in to the
-		       ;; procedure object.
-		       (let* ((proc (evalhook `(compile nil ,form)
-					      nil nil env))
-			      (old-name (and proc (sys:procedure-ref proc 1)))
-			      (lambda (second form))
-			      (name (and (eq (first lambda)
-					     'lucid::named-lambda)
-					 (second lambda))))
-			 (when (or (null old-name)
-				   (and (listp old-name)
-					(eq :internal (car old-name))))
-			       (setf (sys:procedure-ref proc 1) name))
-			 proc)
-		       (evalhook form #'compiler nil env))))
-	  (let ((*evalhook* #'compiler))
-	    (ilisp-eval form package filename)))
-  #+lucid
-  ;; Following form is a patch provided by Christopher Hoover
-  ;; <ch@lks.csi.com>
-  (let ((*package* (ilisp-find-package package))
- 	(lcl:*source-pathname* (if (probe-file filename)
- 				   (truename filename)
- 				 (merge-pathnames filename)))
- 	(lcl:*redefinition-action* nil))
-    (with-input-from-string (s form)
-			    (lucid::compile-in-core-from-stream s)
-			    (values)))
-  )
-
-;;;
-(defun ilisp-describe (sexp package)
-  "Describe SEXP in PACKAGE."
-  (ilisp-errors
-   (let ((*package* (ilisp-find-package package)))
-     (describe (eval (read-from-string sexp))))))
-
-;;;
-(defun ilisp-inspect (sexp package)
-  "Inspect SEXP in PACKAGE."
-  (ilisp-errors
-   (let ((*package* (ilisp-find-package package)))
-     (inspect (eval (read-from-string sexp))))))
-
-;;;
-(defun ilisp-arglist (symbol package)
-  (ilisp-errors
-    (let ((fn (ilisp-find-symbol symbol package))
-	  (*print-length* nil)
-	  (*print-pretty* t)
-	  (*package* (ilisp-find-package package)))
-      (cond ((null fn)
-	     (format t "Symbol ~s not present in ~s." symbol package))
-	    ((not (fboundp fn))
-	     (format t "~s: undefined~%" fn))
-	    (t
-	     (print-function-arglist fn)))))
-  (values))
-
-
-(defun print-function-arglist (fn)
-  "Pretty arglist printer"
-  (let* ((a (get-function-arglist fn))
-	 (arglist (ldiff a (member '&aux a)))
-	 (desc (ilisp-function-short-description fn)))
-    (format t "~&~s~a" fn (or desc ""))
-    (write-string ": ")
-    (if arglist
-	(write arglist :case :downcase :escape nil)
-      (write-string "()"))
-    (terpri)))
-
-
-
-(defun ilisp-generic-function-p (symbol)
-  (let ((generic-p
-	 (find-symbol "GENERIC-FUNCTION-P"
-		      (or (find-package "PCL")
-			  *package*))))
-    (and generic-p
-	 (fboundp generic-p)
-	 (funcall generic-p symbol))))
-
-
-  
-(defun ilisp-function-short-description (symbol)
-  (cond ((macro-function symbol)
-	 " (Macro)")
-	((special-form-p symbol)
-	 " (Special Form)")
-	((ilisp-generic-function-p symbol)
-	 " (Generic)")))
-
-
-
-(defun get-function-arglist (symbol)
-  (let ((fun (symbol-function symbol)))
-    (cond ((ilisp-generic-function-p symbol)
-	   (funcall
-	    (find-symbol "GENERIC-FUNCTION-PRETTY-ARGLIST"
-			 (or (find-package "PCL") *package*))
-	    fun))
-	  (t
-	   #+allegro
-	   (excl::arglist symbol)
-
-	   #+(or ibcl kcl ecl gcl)
-	   (help symbol)
-
-	   #+lucid
-	   (lucid::arglist symbol)
-	   
-	   #+lispworks
-	   (system::function-lambda-list symbol)
-	   
-	   #-(or allegro lucid kcl ibcl ecl)
-	   (documentation symbol 'function)))))
-
-;;;
-(defun ilisp-documentation (symbol package type)
-  "Return the TYPE documentation for SYMBOL in PACKAGE.  If TYPE is
-\(qualifiers* (class ...)), the appropriate method will be found."
-  (ilisp-errors
-   (let* ((real-symbol (ilisp-find-symbol symbol package))
-	  (type (if (and (not (zerop (length type)))
-			 (eq (elt type 0) #\())
-		    (let ((*package* (ilisp-find-package package)))
-		      (read-from-string type))
-		    (ilisp-find-symbol type package))))
-     (when (listp type)
-       (setq real-symbol
-	     (funcall
-	      (find-symbol "FIND-METHOD" (or (find-package "CLOS")
-					     (find-package "PCL")
-					     *package*))
-	      (symbol-function real-symbol)
-	      (reverse
-	       (let ((quals nil))
-		 (dolist (entry type quals)
-		   (if (listp entry)
-		       (return quals)
-		       (setq quals (cons entry quals))))))
-	      (reverse
-	       (let ((types nil))
-		 (dolist (class (first (last type)) types)
-		   (setq types
-			 (cons (funcall
-				(find-symbol "FIND-CLASS"
-					     (or (find-package "CLOS")
-						 (find-package "PCL")
-						 *package*))
-				class) types))))))))
-     (if real-symbol
-	 (if (symbolp real-symbol)
-	     (documentation real-symbol type)
-	     ;; Prevent compiler complaints
-	     (eval `(documentation ,real-symbol)))
-	 (format nil "~A has no ~A documentation" symbol type)))))
-
-;;;
-(defun ilisp-macroexpand (expression package)
-  "Macroexpand EXPRESSION as long as the top level function is still a
-macro." 
-  (ilisp-errors
-   (let ((*print-length* nil)
-	 (*print-level* nil)
-	 (*package* (ilisp-find-package package)))
-     (pprint (#-allegro macroexpand #+allegro excl::walk
-			(read-from-string expression))))))
-
-;;;
-(defun ilisp-macroexpand-1 (expression package)
-  "Macroexpand EXPRESSION once."
-  (ilisp-errors
-   (let ((*print-length* nil)
-	 (*print-level* nil)
-	 (*package* (ilisp-find-package package)))
-     (pprint (macroexpand-1 (read-from-string expression))))))
-
-;;;
-#-lispworks
-(defun ilisp-trace (symbol package breakp)
-  "Trace SYMBOL in PACKAGE."
-  (declare (ignore breakp)) ; No way to do this in CL.
-  (ilisp-errors
-   (let ((real-symbol (ilisp-find-symbol symbol package)))
-     (when real-symbol (eval `(trace ,real-symbol))))))
-
-;;; Jason Trenouth: SEP 6 94 -- LispWorks can trace-break
-#+lispworks
-(defun ilisp-trace (symbol package breakp)
-  "Trace SYMBOL in PACKAGE."
-  (ilisp-errors
-   (let ((real-symbol (ilisp-find-symbol symbol package)))
-     breakp ;; idiom for (declare (ignorable breakp))
-     (when real-symbol (eval `(trace (,real-symbol :break breakp)))))))
-
-
-
-(defun ilisp-untrace (symbol package)
-  "Untrace SYMBOL in PACKAGE."
-  (ilisp-errors
-   (let ((real-symbol (ilisp-find-symbol symbol package)))
-     (when real-symbol (eval `(untrace ,real-symbol))))))
-   
-;;;
-(defun ilisp-compile-file (file extension)
-  "Compile FILE putting the result in FILE+EXTENSION."
-  (ilisp-errors
-   (compile-file file
-		 :output-file 
-		 (merge-pathnames (make-pathname :type extension) file))))
-
-;;;
-(defun ilisp-casify (pattern string lower-p upper-p)
-  "Return STRING with its characters converted to the case of PATTERN,
-continuing with the last case beyond the end."
-  (cond (lower-p (string-downcase string))
-	(upper-p (string-upcase string))
-	(t
-	 (let (case)
-	   (concatenate
-	    'string
-	    (map 'string
-		 #'(lambda (p s)
-		     (setq case (if (upper-case-p p)
-				    #'char-upcase
-				    #'char-downcase))
-		     (funcall case s))
-		 pattern string)
-	    (map 'string case (subseq string (length pattern))))))))
-
-;;;
-(defun ilisp-words (string)
-  "Return STRING broken up into words.  Each word is (start end
-delimiter)."
-  (do* ((length (length string))
-	(start 0)
-	(end t)
-	(words nil))
-       ((null end) (nreverse words))
-    (if (setq end (position-if-not #'alphanumericp string :start start))
-	(setq words (cons (list end (1+ end) t)
-			  (if (= start end)
-			      words
-			      (cons (list start end nil) words)))
-	      start (1+ end))
-	(setq words (cons (list start length nil) words)))))
-
-;;;
-(defun ilisp-match-words (string pattern words)
-  "Match STRING to PATTERN using WORDS."
-  (do* ((strlen (length string))
-	(words words (cdr words))
-	(word (first words) (first words))
-	(start1 (first word) (first word))
-	(end1 (second word) (second word))
-	(delimiter (third word) (third word))
-	(len (- end1 start1) (and word (- end1 start1)))
-	(start2 0)
-	(end2 len))
-       ((or (null word) (null start2)) start2)
-    (setq end2 (+ start2 len)
-	  start2
-	  (if delimiter
-	      (position (elt pattern start1) string :start start2)
-	      (when (and (<= end2 strlen)
-			 (string= pattern string
-				  :start1 start1 :end1 end1
-				  :start2 start2 :end2 end2))
-		(1- end2))))
-    (when start2 (incf start2))))
-
-;;;
-(defun ilisp-matching-symbols (string package &optional (function-p nil)
-				      (external-p nil)
-				      (prefix-p nil))
-  "Return a list of the symbols that have STRING as a prefix in
-PACKAGE. FUNCTION-P indicates that only symbols with a function value
-should be considered.  EXTERNAL-P indicates that only external symbols
-should be considered.  PREFIX-P means that partial matches should not
-be considered.  The returned strings have the same case as the
-original string."
-  (ilisp-errors
-   (let* ((lower-p (notany #'upper-case-p string))
-	  (upper-p (notany #'lower-case-p string))
-	  (no-casify (eq (ilisp-readtable-case *readtable*) :preserve))
-	  (symbol-string (ilisp-symbol-name string))
-	  (length (length string))
-	  (results nil)
-	  (*print-length* nil)
-	  (*package* (ilisp-find-package package)))
-     (labels
-	 (
-	  ;; Check SYMBOL against PATTERN
-	  (check-symbol (symbol pattern)
-	    (let ((name (symbol-name symbol)))
-	      (when (and (or (not function-p) (fboundp symbol))
-			 (>= (length name) length)
-			 (string= pattern name :end2 length))
-		(push (list (if no-casify
-				name
-				(ilisp-casify pattern name lower-p upper-p)))
-		      results))))
-	  ;; Check SYMBOL against PATTERN using WORDS 
-	  (check-symbol2 (symbol pattern words)
-	    (let ((name (symbol-name symbol)))
-	      (when (and (or (not function-p) (fboundp symbol))
-			 (ilisp-match-words name pattern words))
-		(push (list (if no-casify
-				name
-				(ilisp-casify pattern name lower-p upper-p)))
-		      results)))))
-       (if external-p
-	   (do-external-symbols (symbol *package*)
-	     (check-symbol symbol symbol-string))
-	   (progn
-	     ;; KCL does not go over used symbols.
-	     #+(or kcl ibcl ecl)
-	     (dolist (used-package (package-use-list *package*))
-	       (do-external-symbols (symbol used-package)
-		 (check-symbol symbol symbol-string)))
-	     (do-symbols (symbol *package*)
-	       (check-symbol symbol symbol-string))))
-       (unless (or results prefix-p)
-	 (let ((words (ilisp-words symbol-string)))
-	   (if external-p
-	       (do-external-symbols (symbol *package*)
-		 (check-symbol2 symbol symbol-string words))
-	       (progn
-		 ;; KCL does not go over used symbols.
-		 #+(or kcl ibcl ecl)
-		 (dolist (used-package (package-use-list *package*))
-		   (do-external-symbols (symbol used-package)
-		     (check-symbol2 symbol symbol-string words)))
-		 (do-symbols (symbol *package*)
-		   (check-symbol2 symbol symbol-string words))))))
-       (prin1 results)
-       nil))))
-
-
-;;; Make sure that functions are exported
-;;; Now this could go away. I just leave commented it for backup reasons.
-
-#|
-(dolist (symbol '(ilisp-errors ilisp-save ilisp-restore
-		  ilisp-symbol-name ilisp-find-symbol ilisp-find-package
-		  ilisp-eval ilisp-compile
-		  ilisp-describe ilisp-inspect
-		  ilisp-arglist ilisp-documentation
-		  ilisp-macroexpand ilisp-macroexpand-1
-		  ilisp-trace ilisp-untrace
-		  ilisp-compile-file ilisp-casify
-		  ilisp-matching-symbols))
-  (export symbol))
-|#
-
-
-(when
-    #+cmu (eval:interpreted-function-p #'ilisp-matching-symbols)
-    #-cmu (not (compiled-function-p #'ilisp-matching-symbols))
-    (format t "\"ILISP: File is not compiled, use M-x ilisp-compile-inits\""))
-
-;;; end of file -- clisp.lisp --
--- a/lisp/mel/mel-b.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mel/mel-b.el	Mon Aug 13 08:47:52 2007 +0200
@@ -10,7 +10,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/6/24
 ;;; Version:
-;;;	$Id: mel-b.el,v 1.2 1996/12/22 00:29:15 steve Exp $
+;;;	$Id: mel-b.el,v 1.3 1996/12/29 00:14:57 steve Exp $
 ;;; Keywords: MIME, Base64
 ;;;
 ;;; This file is part of MEL (MIME Encoding Library).
--- a/lisp/mel/mel-g.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mel/mel-g.el	Mon Aug 13 08:47:52 2007 +0200
@@ -9,7 +9,7 @@
 ;;; Maintainer: Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
 ;;; Created: 1995/10/25
 ;;; Version:
-;;;	$Id: mel-g.el,v 1.2 1996/12/22 00:29:15 steve Exp $
+;;;	$Id: mel-g.el,v 1.3 1996/12/29 00:14:57 steve Exp $
 ;;; Keywords: MIME, base64, gzip
 ;;;
 ;;; This file is not part of MEL (MIME Encoding Library) yet.
--- a/lisp/mel/mel-q.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mel/mel-q.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1995/6/25
-;; Version: $Id: mel-q.el,v 1.2 1996/12/22 00:29:16 steve Exp $
+;; Version: $Id: mel-q.el,v 1.3 1996/12/29 00:14:57 steve Exp $
 ;; Keywords: MIME, Quoted-Printable, Q-encoding
 
 ;; This file is part of MEL (MIME Encoding Library).
--- a/lisp/mel/mel-u.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mel/mel-u.el	Mon Aug 13 08:47:52 2007 +0200
@@ -8,7 +8,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/10/25
 ;;; Version:
-;;;	$Id: mel-u.el,v 1.2 1996/12/22 00:29:16 steve Exp $
+;;;	$Id: mel-u.el,v 1.3 1996/12/29 00:14:57 steve Exp $
 ;;; Keywords: uuencode
 ;;;
 ;;; This file is part of MEL (MIME Encoding Library).
--- a/lisp/mel/mel.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mel/mel.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; modified by Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
 ;; Created: 1995/6/25
-;; Version: $Id: mel.el,v 1.2 1996/12/22 00:29:16 steve Exp $
+;; Version: $Id: mel.el,v 1.3 1996/12/29 00:14:58 steve Exp $
 ;; Keywords: MIME, Base64, Quoted-Printable, uuencode, gzip64
 
 ;; This file is part of MEL (MIME Encoding Library).
@@ -43,7 +43,12 @@
     ("7bit")
     ("8bit")
     ("binary")
-    ))
+    )
+  "Alist of encoding vs. corresponding method to encode region.
+Each element looks like (STRING . FUNCTION) or (STRING . nil).
+STRING is content-transfer-encoding.
+FUNCTION is region encoder and nil means not to encode. [mel.el]")
+
 
 (autoload 'base64-decode-region           "mel-b" nil t)
 (autoload 'quoted-printable-decode-region "mel-q" nil t)
@@ -54,8 +59,14 @@
   '(("base64"           . base64-decode-region)
     ("quoted-printable" . quoted-printable-decode-region)
     ("x-uue"            . uuencode-decode-region)
+    ("x-uuencode"       . uuencode-decode-region)
     ("x-gzip64"         . gzip64-decode-region)
-    ))
+    )
+  "Alist of encoding vs. corresponding method to decode region.
+Each element looks like (STRING . FUNCTION).
+STRING is content-transfer-encoding.
+FUNCTION is region decoder. [mel.el]")
+
 
 (defun mime-encode-region (beg end encoding)
   "Encode region BEG to END of current buffer using ENCODING. [mel.el]"
@@ -100,7 +111,12 @@
     ("7bit"		. insert-binary-file-contents-literally)
     ("8bit"		. insert-binary-file-contents-literally)
     ("binary"		. insert-binary-file-contents-literally)
-    ))
+    )
+  "Alist of encoding vs. corresponding method to insert encoded file.
+Each element looks like (STRING . FUNCTION).
+STRING is content-transfer-encoding.
+FUNCTION is function to insert encoded file. [mel.el]")
+
 
 (defun mime-insert-encoded-file (filename encoding)
   "Encode region BEG to END of current buffer using ENCODING. [mel.el]"
--- a/lisp/modes/fortran.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/modes/fortran.el	Mon Aug 13 08:47:52 2007 +0200
@@ -713,7 +713,7 @@
     ;; insert char if not equal to `?'
     (if (or (= c ??) (eq c help-char))
 	(fortran-abbrev-help)
-      (setq unread-command-events e))))
+      (setq unread-command-events (list e)))))
 
 (defun fortran-abbrev-help ()
   "List the currently defined abbrevs in Fortran mode."
@@ -780,7 +780,7 @@
 		   ;; XEmacs change
 		   (let ((char (next-command-event)))
 		     (or (equal (event-to-character char) ? )
-			 (setq unread-command-events char))))))
+			 (setq unread-command-events (list char)))))))
     (fortran-window-create)))
 
 (defun fortran-split-line ()
--- a/lisp/modes/mail-abbrevs.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/modes/mail-abbrevs.el	Mon Aug 13 08:47:52 2007 +0200
@@ -358,7 +358,10 @@
 	(insert "\n")
 	(delete-horizontal-space)
  	(setq p (point))
-	(indent-relative)
+	;; Prevent abbrev expansion from happening again, since
+	;; sendmail-pre-abbrev-expand-hook will already have done it.
+	(let ((abbrev-mode nil))
+	  (indent-relative))
 	(setq fp (buffer-substring p (point)))
 	;; Go to the end of the new line.
 	(end-of-line)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/modes/vhdl-mode.el	Mon Aug 13 08:47:52 2007 +0200
@@ -0,0 +1,2647 @@
+;;; vhdl-mode.el --- major mode for editing VHDL code
+
+;; Copyright (C) 1994, 1995 Rodney J. Whitby
+;; Copyright (C) 1992, 1993, 1994 Barry A. Warsaw
+;; Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+
+;; Author:	  Rodney J. Whitby <rwhitby@asc.corp.mot.com>
+;; Maintainer:	  Rodney J. Whitby <rwhitby@asc.corp.mot.com>
+;; Created:	  June 1994, adapted from cc-mode.el 4.29 by Barry A. Warsaw.
+;; Version:	  $Revision: 1.1 $
+;; Last Modified: $Date: 1996/12/29 00:14:59 $
+;; Keywords:	  languages VHDL
+;; Archive:	  ftp.eda.com.au:/pub/emacs/vhdl-mode.tar.gz
+
+;; NOTE: Read the commentary below for the right way to submit bug reports!
+
+;; This file is not yet part of GNU Emacs.
+
+;; GNU Emacs 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.
+
+;; GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;; Commentary:
+
+;; This package provides indentation support for VHDL code.
+
+;; Details on VHDL-MODE are  now contained in an  accompanying texinfo
+;; manual (vhdl-mode.texi).
+
+;; To submit bug reports, hit "C-c C-b", and please try to include a
+;; code sample so I can reproduce your problem.  If you have other
+;; questions contact me at the address listed at the top of this file.
+
+;; YOU CAN IGNORE ALL BYTE-COMPILER WARNINGS. They are the result of
+;; the multi-Emacsen support. FSF Emacs 19 and XEmacs 19 (formerly
+;; Lucid) do things differently and there's no way to shut the
+;; byte-compiler up at the necessary granularity.  Let me say this
+;; again: YOU CAN IGNORE ALL BYTE-COMPILER WARNINGS (you'd be
+;; surprised at how many people don't follow this advice :-).
+
+;; To use VHDL-MODE, add the following to your .emacs file.  This
+;; assumes you will use .vhd extensions for your VHDL source:
+;;
+;; (autoload 'vhdl-mode   "vhdl-mode" "VHDL Editing Mode" t)
+;; (setq auto-mode-alist
+;;   (append '(("\\.vhd$"  . vhdl-mode)   ; to edit VHDL code
+;;            ) auto-mode-alist))
+;;
+;; If you would like to join the `vhdl-mode-announce' announcements
+;; list or the `vhdl-mode-victims' beta testers list, send add/drop
+;; requests to the address listed at the top of this file.
+;;
+;; Many, many thanks go out to all the folks on the beta test list.
+;; Without their patience, testing, insight, and code contributions,
+;; and encouragement vhdl-mode.el would be a far inferior package.
+;; Special thanks to Ken Wood <ken@eda.com.au> for providing an FTP
+;; repository for vhdl-mode.
+
+;; LCD Archive Entry:
+;; vhdl-mode.el|Rodney J. Whitby|rwhitby@asc.corp.mot.com
+;; |Major mode for editing VHDL code
+;; |$Date: 1996/12/29 00:14:59 $|$Revision: 1.1 $
+;; |ftp.eda.com.au:/pub/emacs/vhdl-mode.tar.gz
+
+
+;;; Code:
+
+;; user definable variables
+;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
+
+(defvar vhdl-inhibit-startup-warnings-p nil
+  "*If non-nil, inhibits start up compatibility warnings.")
+(defvar vhdl-strict-syntax-p nil
+  "*If non-nil, all syntactic symbols must be found in `vhdl-offsets-alist'.
+If the syntactic symbol for a particular line does not match a symbol
+in the offsets alist, an error is generated, otherwise no error is
+reported and the syntactic symbol is ignored.")
+(defvar vhdl-echo-syntactic-information-p nil
+  "*If non-nil, syntactic info is echoed when the line is indented.")
+(defvar vhdl-basic-offset 2
+  "*Amount of basic offset used by + and - symbols in `vhdl-offsets-alist'.")
+
+(defconst vhdl-offsets-alist-default
+  '((string                . -1000)
+    (block-open            . 0)
+    (block-close           . 0)
+    (statement             . 0)
+    (statement-cont        . vhdl-lineup-statement-cont)
+    (statement-block-intro . +)
+    (statement-case-intro  . +)
+    (case-alternative      . +)
+    (comment               . vhdl-lineup-comment)
+    (arglist-intro         . vhdl-lineup-arglist-intro)
+    (arglist-cont          . 0)
+    (arglist-cont-nonempty . vhdl-lineup-arglist)
+    (arglist-close         . vhdl-lineup-arglist)
+    (entity                . 0)
+    (configuration         . 0)
+    (package               . 0)
+    (architecture          . 0)
+    (package-body          . 0)
+    )
+  "Default settings for offsets of syntactic elements.
+Do not change this constant!  See the variable `vhdl-offsets-alist' for
+more information.")
+
+(defvar vhdl-offsets-alist (copy-alist vhdl-offsets-alist-default)
+  "*Association list of syntactic element symbols and indentation offsets.
+As described below, each cons cell in this list has the form:
+
+    (SYNTACTIC-SYMBOL . OFFSET)
+
+When a line is indented, vhdl-mode first determines the syntactic
+context of the line by generating a list of symbols called syntactic
+elements.  This list can contain more than one syntactic element and
+the global variable `vhdl-syntactic-context' contains the context list
+for the line being indented.  Each element in this list is actually a
+cons cell of the syntactic symbol and a buffer position.  This buffer
+position is call the relative indent point for the line.  Some
+syntactic symbols may not have a relative indent point associated with
+them.
+
+After the syntactic context list for a line is generated, vhdl-mode
+calculates the absolute indentation for the line by looking at each
+syntactic element in the list.  First, it compares the syntactic
+element against the SYNTACTIC-SYMBOL's in `vhdl-offsets-alist'.  When it
+finds a match, it adds the OFFSET to the column of the relative indent
+point.  The sum of this calculation for each element in the syntactic
+list is the absolute offset for line being indented.
+
+If the syntactic element does not match any in the `vhdl-offsets-alist',
+an error is generated if `vhdl-strict-syntax-p' is non-nil, otherwise
+the element is ignored.
+
+Actually, OFFSET can be an integer, a function, a variable, or one of
+the following symbols: `+', `-', `++', or `--'.  These latter
+designate positive or negative multiples of `vhdl-basic-offset',
+respectively: *1, *-1, *2, and *-2. If OFFSET is a function, it is
+called with a single argument containing the cons of the syntactic
+element symbol and the relative indent point.  The function should
+return an integer offset.
+
+Here is the current list of valid syntactic element symbols:
+
+ string                 -- inside multi-line string
+ block-open             -- statement block open
+ block-close            -- statement block close
+ statement              -- a VHDL statement
+ statement-cont         -- a continuation of a VHDL statement
+ statement-block-intro  -- the first line in a new statement block
+ statement-case-intro   -- the first line in a case alternative block
+ case-alternative       -- a case statement alternative clause
+ comment                -- a line containing only a comment
+ arglist-intro          -- the first line in an argument list
+ arglist-cont           -- subsequent argument list lines when no
+                           arguments follow on the same line as the
+                           the arglist opening paren
+ arglist-cont-nonempty  -- subsequent argument list lines when at
+                           least one argument follows on the same
+                           line as the arglist opening paren
+ arglist-close          -- the solo close paren of an argument list
+ entity                 -- inside an entity declaration
+ configuration          -- inside a configuration declaration
+ package                -- inside a package declaration
+ architecture           -- inside an architecture body
+ package-body           -- inside a package body
+")
+
+(defvar vhdl-tab-always-indent t
+  "*Controls the operation of the TAB key.
+If t, hitting TAB always just indents the current line.  If nil,
+hitting TAB indents the current line if point is at the left margin or
+in the line's indentation, otherwise it insert a real tab character.
+If other than nil or t, then tab is inserted only within literals
+-- defined as comments and strings -- and inside preprocessor
+directives, but line is always reindented.
+
+Note that indentation of lines containing only comments is also
+controlled by the `vhdl-comment-only-line-offset' variable.")
+
+(defvar vhdl-comment-only-line-offset 0
+  "*Extra offset for line which contains only the start of a comment.
+Can contain an integer or a cons cell of the form:
+
+ (NON-ANCHORED-OFFSET . ANCHORED-OFFSET)
+
+Where NON-ANCHORED-OFFSET is the amount of offset given to
+non-column-zero anchored comment-only lines, and ANCHORED-OFFSET is
+the amount of offset to give column-zero anchored comment-only lines.
+Just an integer as value is equivalent to (<val> . 0)")
+
+(defvar vhdl-special-indent-hook nil
+  "*Hook for user defined special indentation adjustments.
+This hook gets called after a line is indented by the mode.")
+
+(defvar vhdl-style-alist
+  '(("IEEE"
+     (vhdl-basic-offset . 4)
+     (vhdl-offsets-alist . ())
+     )
+    )
+  "Styles of Indentation.
+Elements of this alist are of the form:
+
+  (STYLE-STRING (VARIABLE . VALUE) [(VARIABLE . VALUE) ...])
+
+where STYLE-STRING is a short descriptive string used to select a
+style, VARIABLE is any vhdl-mode variable, and VALUE is the intended
+value for that variable when using the selected style.
+
+There is one special case when VARIABLE is `vhdl-offsets-alist'.  In this
+case, the VALUE is a list containing elements of the form:
+
+  (SYNTACTIC-SYMBOL . VALUE)
+
+as described in `vhdl-offsets-alist'.  These are passed directly to
+`vhdl-set-offset' so there is no need to set every syntactic symbol in
+your style, only those that are different from the default.")
+
+;; dynamically append the default value of most variables
+(or (assoc "Default" vhdl-style-alist)
+    (let* ((varlist '(vhdl-inhibit-startup-warnings-p
+		      vhdl-strict-syntax-p
+		      vhdl-echo-syntactic-information-p
+		      vhdl-basic-offset
+		      vhdl-offsets-alist
+		      vhdl-tab-always-indent
+		      vhdl-comment-only-line-offset))
+	   (default (cons "Default"
+			  (mapcar
+			   (function
+			    (lambda (var)
+			      (cons var (symbol-value var))
+			      ))
+			   varlist))))
+      (setq vhdl-style-alist (cons default vhdl-style-alist))))
+
+(defvar vhdl-mode-hook nil
+  "*Hook called by `vhdl-mode'.")
+
+(defvar vhdl-mode-menu
+  '(["Comment Out Region"     comment-region (mark)]
+    ;; ["Indent Expression"      vhdl-indent-exp
+    ;; (memq (following-char) '(?\( ?\[ ?\{))]
+    ["Indent Line"            vhdl-indent-command t]
+    ["Backward Statement"     vhdl-beginning-of-statement t]
+    ;; ["Forward Statement"      vhdl-end-of-statement t]
+    )
+  "XEmacs 19 (formerly Lucid) menu for VHDL mode.")
+
+;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+;; NO USER DEFINABLE VARIABLES BEYOND THIS POINT
+
+
+;; Emacs variant handling, and standard mode variables and functions:
+
+(defconst vhdl-emacs-features
+  (let ((major (and (boundp 'emacs-major-version)
+		    emacs-major-version))
+	(minor (and (boundp 'emacs-minor-version)
+		    emacs-minor-version))
+	flavor)
+    ;; figure out version numbers if not already discovered
+    (and (or (not major) (not minor))
+	 (string-match "\\([0-9]+\\).\\([0-9]+\\)" emacs-version)
+	 (setq major (string-to-int (substring emacs-version
+					       (match-beginning 1)
+					       (match-end 1)))
+	       minor (string-to-int (substring emacs-version
+					       (match-beginning 2)
+					       (match-end 2)))))
+    (if (not (and major minor))
+	(error "Cannot figure out the major and minor version numbers."))
+    ;; calculate the major version
+    (cond
+     ((= major 18) (setq major 'v18))	;Emacs 18
+     ((= major 4)  (setq major 'v18))	;Epoch 4
+     ((= major 19) (setq major 'v19	;Emacs 19
+			 flavor (cond
+				 ((string-match "Win-Emacs" emacs-version)
+				  'Win-Emacs)
+				 ((or (string-match "Lucid" emacs-version)
+				      (string-match "XEmacs" emacs-version))
+				  'XEmacs)
+				 (t
+				  'FSF))))
+     ;; I don't know
+     (t (error "Cannot recognize major version number: %s" major)))
+    ;; lets do some minimal sanity checking.
+    (if (and (or
+	      ;; Emacs 18 is brain dead
+	      (eq major 'v18)
+	      ;; Lemacs before 19.6 had bugs
+	      (and (eq major 'v19) (eq flavor 'XEmacs) (< minor 6))
+	      ;; FSF 19 before 19.21 had bugs
+	      (and (eq major 'v19) (eq flavor 'FSF) (< minor 21)))
+	     (not vhdl-inhibit-startup-warnings-p))
+	(with-output-to-temp-buffer "*vhdl-mode warnings*"
+	  (print (format
+"The version of Emacs that you are running, %s,
+has known bugs in its syntax.c parsing routines which will affect the
+performance of vhdl-mode. You should strongly consider upgrading to the
+latest available version.  vhdl-mode may continue to work, after a
+fashion, but strange indentation errors could be encountered."
+		     emacs-version))))
+    (list major flavor))
+  "A list of features extant in the Emacs you are using.
+There are many flavors of Emacs out there, each with different
+features supporting those needed by vhdl-mode.  Here's the current
+supported list, along with the values for this variable:
+
+ Emacs 18/Epoch 4:           (v18)
+ XEmacs (formerly Lucid) 19: (v19 XEmacs)
+ Win-Emacs 1.35:             (V19 Win-Emacs)
+ FSF Emacs 19:               (v19 FSF).")
+
+(defvar vhdl-mode-abbrev-table nil
+  "Abbrev table in use in vhdl-mode buffers.")
+(define-abbrev-table 'vhdl-mode-abbrev-table ())
+
+(defvar vhdl-mode-map ()
+  "Keymap used in vhdl-mode buffers.")
+(if vhdl-mode-map
+    ()
+  ;; TBD: should we even worry about naming this keymap. My vote: no,
+  ;; because FSF and XEmacs (formerly Lucid) do it differently.
+  (setq vhdl-mode-map (make-sparse-keymap))
+  ;; put standard keybindings into MAP
+  (define-key vhdl-mode-map "\M-a"	'vhdl-beginning-of-statement)
+  ;;(define-key vhdl-mode-map "\M-e"	'vhdl-end-of-statement)
+  (define-key vhdl-mode-map "\M-\C-f"   'vhdl-forward-sexp)
+  (define-key vhdl-mode-map "\M-\C-b"   'vhdl-backward-sexp)
+  (define-key vhdl-mode-map "\M-\C-u"	'vhdl-backward-up-list)
+  ;;(define-key vhdl-mode-map "\M-\C-d"	'vhdl-down-list)
+  (define-key vhdl-mode-map "\M-\C-a"	'vhdl-beginning-of-defun)
+  (define-key vhdl-mode-map "\M-\C-e"	'vhdl-end-of-defun)
+  (define-key vhdl-mode-map "\M-\C-h"	'vhdl-mark-defun)
+  (define-key vhdl-mode-map "\M-\C-q"	'vhdl-indent-sexp)
+  (define-key vhdl-mode-map "\t"        'vhdl-indent-command)
+  (define-key vhdl-mode-map "\177"      'backward-delete-char-untabify)
+  ;; these are new keybindings, with no counterpart to BOCM
+  (define-key vhdl-mode-map "\C-c\C-b"  'vhdl-submit-bug-report)
+  (define-key vhdl-mode-map "\C-c\C-c"  'comment-region)
+  (define-key vhdl-mode-map "\C-c\C-o"  'vhdl-set-offset)
+  (define-key vhdl-mode-map "\C-c\C-r"  'vhdl-regress-line)
+  (define-key vhdl-mode-map "\C-c\C-s"  'vhdl-show-syntactic-information)
+  (define-key vhdl-mode-map "\C-c\C-v"  'vhdl-version)
+  ;; in XEmacs (formerly Lucid) 19, we want the menu to popup when
+  ;; the 3rd button is hit.  In 19.10 and beyond this is done
+  ;; automatically if we put the menu on mode-popup-menu variable,
+  ;; see c-common-init. RMS decided that this feature should not be
+  ;; included for FSF's Emacs.
+  (if (and (boundp 'current-menubar)
+	   (not (boundp 'mode-popup-menu)))
+      (define-key vhdl-mode-map 'button3 'vhdl-popup-menu))
+  )
+
+(defvar vhdl-mode-syntax-table nil
+  "Syntax table used in vhdl-mode buffers.")
+(if vhdl-mode-syntax-table
+    ()
+  (setq vhdl-mode-syntax-table (make-syntax-table))
+  ;; DO NOT TRY TO SET _ (UNDERSCORE) TO WORD CLASS!
+  (modify-syntax-entry ?\" "\""    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\$ "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\% "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\& "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\' "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\( "()"    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\) ")("    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\* "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\+ "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\. "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\/ "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\: "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\; "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\< "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\= "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\> "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\[ "(]"    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\\ "\\"    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\] ")["    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\{ "(}"    vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\| "."     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\} "){"    vhdl-mode-syntax-table)
+  ;; add comment syntax
+  (modify-syntax-entry ?\- ". 12"  vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\n ">"     vhdl-mode-syntax-table)
+  (modify-syntax-entry ?\^M ">"    vhdl-mode-syntax-table))
+
+(defvar vhdl-syntactic-context nil
+  "Buffer local variable containing syntactic analysis list.")
+(make-variable-buffer-local 'vhdl-syntactic-context)
+
+;; Support for outline modes
+
+(defconst vhdl-outline-regexp
+  (concat "\\(entity\\)\\|\\(package\\)\\|"
+	  "\\( *procedure\\)\\|\\( *function\\)\\|"
+	  "\\( *component\\)\\|\\(architecture\\)\\|"
+	  "\\(package body\\)\\|\\( *[A-Za-z][A-Za-z0-9_]* : block\\)\\|"
+	  "\\( *[A-Za-z][A-Za-z0-9_]* : process\\)\\|\\(configuration\\)"))
+
+(defun vhdl-outline-level ()		; was copied from c-outline-level
+  (save-excursion
+    (skip-chars-forward "\t ")
+    (current-column)))
+
+;; Support for font-lock
+
+(defconst vhdl-font-lock-keywords-1
+  (purecopy
+   (list
+    ;; Highlight names of common constructs
+    (list
+     (concat
+      "^[ \t]*\\(entity\\|architecture\\|configuration\\|function\\|"
+      "procedure\\|component\\|package[ \t]+body\\|package\\|"
+      "end[ \t]+\\(block\\|process\\|case\\|generate\\|loop\\)\\)[ \t]+"
+      "\\(\\(\\w\\|\\s_\\)+\\)")
+     3 'font-lock-function-name-face)
+    
+    ;; Highlight labels of common constructs
+    (list
+     (concat
+      "^[ \t]*\\(\\(\\w\\|\\s_\\)+\\)[ \t]*:[ \t\n]*\\(block\\|process\\|"
+      "if\\|for\\|case\\|exit\\|loop\\|next\\|null\\|with\\|"
+      "\\(\\w\\|\\s_\\)+[ \t\n]+port[ \t]+map\\)\\>[^_]")
+     1 'font-lock-function-name-face)
+    
+    ;; Highlight OF labels
+    (list
+     (concat
+      "^[ \t]*\\(configuration\\|architecture\\|attribute\\)[ \t]+"
+      "\\(\\(\\w\\|\\s_\\)+\\)[ \t]+of[ \t]+\\(\\(\\w\\|\\s_\\)+\\)")
+     4 'font-lock-function-name-face)
+    
+    ;; Fontify library useage clauses.
+    (list
+     (concat
+      "[^\\s_]\\<\\(library\\|use\\)[ \t\n]+\\(entity[ \t\n]+\\)?"
+      "\\(\\(\\w\\|\\s_\\|[\.()]\\)+\\)")
+     3 'font-lock-function-name-face)
+    ))
+  "For consideration as a value of `vhdl-font-lock-keywords'.
+This does fairly subdued highlighting of function names.")
+
+(defconst vhdl-font-lock-keywords-2
+  (purecopy
+   (append
+    vhdl-font-lock-keywords-1
+    (list
+     (list
+      (concat
+       "[^\\s_]\\<\\("
+       (mapconcat
+	'identity
+	'(
+	  ;; the following is a list of all reserved words known in VHDL'93
+	  "abs" "access" "after" "alias" "all" "and" "assert"
+	  "architecture" "array" "attribute"
+	  "begin" "block" "body" "buffer" "bus"
+	  "case" "component" "configuration" "constant"
+	  "disconnect" "downto"
+	  "else" "elsif" "end" "entity" "exit"
+	  "file" "for" "function"
+	  "generate" "generic" "group" "guarded"
+	  "if" "impure" "in" "inertial" "inout" "is"
+	  "label" "library" "linkage" "literal" "loop" 
+	  "map" "mod" 
+	  "nand" "new" "next" "nor" "not" "null"
+	  "of" "on" "open" "or" "others" "out"
+	  "package" "port" "postponed" "procedure" "process" "pure"
+	  "range" "record" "register" "reject" "rem" "report" "return"
+	  "rol" "ror"
+	  "select" "severity" "signal" "shared" "sla" "sll" "sra" "srl"
+	  "subtype"
+	  "then" "to" "transport" "type" 
+	  "unaffected" "units" "until" "use"
+	  "variable" "wait" "when" "while" "with" 
+	  "xnor" "xor"
+	  "note" "warning" "error" "failure"
+	  ;; the following list contains predefined attributes
+	  "base" "left" "right" "high" "low" "pos" "val" "succ"
+	  "pred" "leftof" "rightof" "range" "reverse_range"
+	  "length" "delayed" "stable" "quiet" "transaction"
+	  "event" "active" "last_event" "last_active" "last_value"
+	  "driving" "driving_value" "ascending" "value" "image"
+	  "simple_name" "instance_name" "path_name"
+	  "foreign"
+	  ;; the following list contains standardized types
+	  "boolean" "bit" "bit_vector" "character" "severity_level" "integer"
+	  "real" "time" "natural" "positive" "string" "text" "line"
+	  "unsigned" "signed"
+	  "std_logic" "std_logic_vector"
+	  "std_ulogic" "std_ulogic_vector"
+	  )
+	"\\|")
+       "\\)\\>[^\\s_]")
+      1 'font-lock-keyword-face)
+     )))
+  "For consideration as a value of `vhdl-font-lock-keywords'.
+This does a lot more highlighting.")
+
+;; The keywords in the preceding lists assume case-insensitivity.
+(put 'vhdl-mode 'font-lock-keywords-case-fold-search t)
+
+(defvar vhdl-font-lock-keywords vhdl-font-lock-keywords-1
+  "Additional expressions to highlight in VHDL mode.")
+
+;; This should eventually be subsumed into the respective functions in
+;; the source for "font-lock.el".
+(if (featurep 'advice)
+    (progn
+      (defadvice font-lock-use-default-minimal-decoration
+	(before vhdl-mode activate)
+	"Do it for VHDL mode too."
+	(setq vhdl-font-lock-keywords vhdl-font-lock-keywords-1))
+      
+      (defadvice font-lock-use-default-maximal-decoration
+	(before vhdl-mode activate)
+	"Do it for VHDL mode too."
+	(setq vhdl-font-lock-keywords vhdl-font-lock-keywords-2))
+      ))
+
+
+;; Main entry point for VHDL mode:
+
+;;;###autoload
+(defun vhdl-mode ()
+  "Major mode for editing VHDL code.
+vhdl-mode $Revision: 1.1 $
+To submit a problem report, enter `\\[vhdl-submit-bug-report]' from a
+vhdl-mode buffer.  This automatically sets up a mail buffer with version
+information already added.  You just need to add a description of the
+problem, including a reproducable test case and send the message.
+
+Note that the details of configuring vhdl-mode will soon be moved to the
+accompanying texinfo manual.  Until then, please read the README file
+that came with the vhdl-mode distribution.
+
+The hook variable `vhdl-mode-hook' is run with no args, if that value is
+bound and has a non-nil value.
+
+Key bindings:
+\\{vhdl-mode-map}"
+  (interactive)
+  (kill-all-local-variables)
+  (set-syntax-table vhdl-mode-syntax-table)
+  (setq major-mode 'vhdl-mode
+	mode-name "VHDL"
+	local-abbrev-table vhdl-mode-abbrev-table)
+  (use-local-map vhdl-mode-map)
+  ;; set local variable values
+  (set (make-local-variable 'paragraph-start) (concat "^$\\|" page-delimiter))
+  (set (make-local-variable 'paragraph-separate) paragraph-start)
+  (set (make-local-variable 'paragraph-ignore-fill-prefix) t)
+  (set (make-local-variable 'require-final-newline) t)
+  (set (make-local-variable 'parse-sexp-ignore-comments) t)
+  (set (make-local-variable 'indent-line-function) 'vhdl-indent-line)
+  (set (make-local-variable 'comment-start) "-- ")
+  (set (make-local-variable 'comment-end) "")
+  (set (make-local-variable 'comment-column) 32)
+  (set (make-local-variable 'comment-start-skip) "--+ *")
+  (set (make-local-variable 'outline-regexp) vhdl-outline-regexp)
+  (set (make-local-variable 'outline-level) 'vhdl-outline-level)
+
+  ;; setup the comment indent variable in a Emacs version portable way
+  ;; ignore any byte compiler warnings you might get here
+  (if (boundp 'comment-indent-function)
+      (progn
+	   (make-local-variable 'comment-indent-function)
+	   (setq comment-indent-function 'vhdl-comment-indent))
+    (make-local-variable 'comment-indent-hook)
+    (setq comment-indent-hook 'vhdl-comment-indent))
+  ;; put VHDL menu into menubar and on popup menu for XEmacs (formerly
+  ;; Lucid) 19. I think this happens automatically for FSF Emacs 19.
+  (if (and (boundp 'current-menubar)
+	   current-menubar
+	   (not (assoc mode-name current-menubar)))
+      (progn
+	(set-buffer-menubar (copy-sequence current-menubar))
+	(add-menu nil mode-name vhdl-mode-menu)))
+  (if (boundp 'mode-popup-menu)
+      (setq mode-popup-menu
+	    (cons (concat mode-name " Mode Commands") vhdl-mode-menu)))
+  (run-hooks 'vhdl-mode-hook))
+
+;; menus for XEmacs (formerly Lucid)
+
+(defun vhdl-popup-menu (e)
+  "Pops up the VHDL menu."
+  (interactive "@e")
+  (popup-menu (cons (concat mode-name " Mode Commands") vhdl-mode-menu))
+  (vhdl-keep-region-active))
+
+;; active regions
+
+(defun vhdl-keep-region-active ()
+  ;; do whatever is necessary to keep the region active in XEmacs
+  ;; (formerly Lucid). ignore byte-compiler warnings you might see
+  (and (boundp 'zmacs-region-stays)
+       (setq zmacs-region-stays t)))
+
+;; constant regular expressions for looking at various constructs
+
+(defconst vhdl-symbol-key "\\(\\w\\|\\s_\\)+"
+  "Regexp describing a VHDL symbol.
+We cannot use just `word' syntax class since `_' cannot be in word
+class.  Putting underscore in word class breaks forward word movement
+behavior that users are familiar with.")
+
+(defconst vhdl-case-alternative-key "when[( \t\n][^;=>]+=>"
+  "Regexp describing a case statement alternative key.")
+
+(defconst vhdl-case-header-key "case[( \t\n][^;=>]+[) \t\n]is"
+  "Regexp describing a case statement header key.")
+
+(defconst vhdl-label-key
+  (concat vhdl-symbol-key "\\s-*:")
+  "Regexp describing a VHDL label.")
+
+
+;; Macro definitions:
+
+(defmacro vhdl-point (position)
+  ;; Returns the value of point at certain commonly referenced POSITIONs.
+  ;; POSITION can be one of the following symbols:
+  ;; 
+  ;; bol  -- beginning of line
+  ;; eol  -- end of line
+  ;; bod  -- beginning of defun
+  ;; boi  -- back to indentation
+  ;; eoi  -- last whitespace on line
+  ;; ionl -- indentation of next line
+  ;; iopl -- indentation of previous line
+  ;; bonl -- beginning of next line
+  ;; bopl -- beginning of previous line
+  ;; 
+  ;; This function does not modify point or mark.
+  (or (and (eq 'quote (car-safe position))
+	   (null (cdr (cdr position))))
+      (error "bad buffer position requested: %s" position))
+  (setq position (nth 1 position))
+  (` (let ((here (point)))
+       (,@ (cond
+	    ((eq position 'bol)  '((beginning-of-line)))
+	    ((eq position 'eol)  '((end-of-line)))
+	    ((eq position 'bod)  '((save-match-data
+				     (vhdl-beginning-of-defun))))
+	    ((eq position 'boi)  '((back-to-indentation)))
+	    ((eq position 'eoi)  '((end-of-line)(skip-chars-backward " \t")))
+	    ((eq position 'bonl) '((forward-line 1)))
+	    ((eq position 'bopl) '((forward-line -1)))
+	    ((eq position 'iopl)
+	     '((forward-line -1)
+	       (back-to-indentation)))
+	    ((eq position 'ionl)
+	     '((forward-line 1)
+	       (back-to-indentation)))
+	    (t (error "unknown buffer position requested: %s" position))
+	    ))
+       (prog1
+	   (point)
+	 (goto-char here))
+       ;; workaround for an Emacs18 bug -- blech! Well, at least it
+       ;; doesn't hurt for v19
+       (,@ nil)
+       )))
+
+(defmacro vhdl-safe (&rest body)
+  ;; safely execute BODY, return nil if an error occurred
+  (` (condition-case nil
+	 (progn (,@ body))
+       (error nil))))
+
+(defmacro vhdl-add-syntax (symbol &optional relpos)
+  ;; a simple macro to append the syntax in symbol to the syntax list.
+  ;; try to increase performance by using this macro
+  (` (setq vhdl-syntactic-context
+	   (cons (cons (, symbol) (, relpos)) vhdl-syntactic-context))))
+
+(defmacro vhdl-has-syntax (symbol)
+  ;; a simple macro to return check the syntax list.
+  ;; try to increase performance by using this macro
+  (` (assoc (, symbol) vhdl-syntactic-context)))
+
+
+;; Syntactic element offset manipulation:
+
+(defun vhdl-read-offset (langelem)
+  ;; read new offset value for LANGELEM from minibuffer. return a
+  ;; legal value only
+  (let ((oldoff (format "%s" (cdr-safe (assq langelem vhdl-offsets-alist))))
+	(errmsg "Offset must be int, func, var, or one of +, -, ++, --: ")
+	(prompt "Offset: ")
+	offset input interned)
+    (while (not offset)
+      (setq input (read-string prompt oldoff)
+	    offset (cond ((string-equal "+" input) '+)
+			 ((string-equal "-" input) '-)
+			 ((string-equal "++" input) '++)
+			 ((string-equal "--" input) '--)
+			 ((string-match "^-?[0-9]+$" input)
+			  (string-to-int input))
+			 ((fboundp (setq interned (intern input)))
+			  interned)
+			 ((boundp interned) interned)
+			 ;; error, but don't signal one, keep trying
+			 ;; to read an input value
+			 (t (ding)
+			    (setq prompt errmsg)
+			    nil))))
+    offset))
+
+(defun vhdl-set-offset (symbol offset &optional add-p)
+  "Change the value of a syntactic element symbol in `vhdl-offsets-alist'.
+SYMBOL is the syntactic element symbol to change and OFFSET is the new
+offset for that syntactic element.  Optional ADD says to add SYMBOL to
+`vhdl-offsets-alist' if it doesn't already appear there."
+  (interactive
+   (let* ((langelem
+	   (intern (completing-read
+		    (concat "Syntactic symbol to change"
+			    (if current-prefix-arg " or add" "")
+			    ": ")
+		    (mapcar
+		     (function
+		      (lambda (langelem)
+			(cons (format "%s" (car langelem)) nil)))
+		     vhdl-offsets-alist)
+		    nil (not current-prefix-arg)
+		    ;; initial contents tries to be the last element
+		    ;; on the syntactic analysis list for the current
+		    ;; line
+		    (let* ((syntax (vhdl-get-syntactic-context))
+			   (len (length syntax))
+			   (ic (format "%s" (car (nth (1- len) syntax)))))
+		      (if (memq 'v19 vhdl-emacs-features)
+			  (cons ic 0)
+			ic))
+		    )))
+	  (offset (vhdl-read-offset langelem)))
+     (list langelem offset current-prefix-arg)))
+  ;; sanity check offset
+  (or (eq offset '+)
+      (eq offset '-)
+      (eq offset '++)
+      (eq offset '--)
+      (integerp offset)
+      (fboundp offset)
+      (boundp offset)
+      (error "Offset must be int, func, var, or one of +, -, ++, --: %s"
+	     offset))
+  (let ((entry (assq symbol vhdl-offsets-alist)))
+    (if entry
+	(setcdr entry offset)
+      (if add-p
+	  (setq vhdl-offsets-alist (cons (cons symbol offset) vhdl-offsets-alist))
+	(error "%s is not a valid syntactic symbol." symbol))))
+  (vhdl-keep-region-active))
+
+(defun vhdl-set-style (style &optional local)
+  "Set vhdl-mode variables to use one of several different indentation styles.
+STYLE is a string representing the desired style and optional LOCAL is
+a flag which, if non-nil, means to make the style variables being
+changed buffer local, instead of the default, which is to set the
+global variables.  Interactively, the flag comes from the prefix
+argument.  The styles are chosen from the `vhdl-style-alist' variable."
+  (interactive (list (completing-read "Use which VHDL indentation style? "
+                                      vhdl-style-alist nil t)
+		     current-prefix-arg))
+  (let ((vars (cdr (assoc style vhdl-style-alist))))
+    (or vars
+	(error "Invalid VHDL indentation style `%s'" style))
+    ;; set all the variables
+    (mapcar
+     (function
+      (lambda (varentry)
+	(let ((var (car varentry))
+	      (val (cdr varentry)))
+	  (and local
+	       (make-local-variable var))
+	  ;; special case for vhdl-offsets-alist
+	  (if (not (eq var 'vhdl-offsets-alist))
+	      (set var val)
+	    ;; reset vhdl-offsets-alist to the default value first
+	    (setq vhdl-offsets-alist (copy-alist vhdl-offsets-alist-default))
+	    ;; now set the langelems that are different
+	    (mapcar
+	     (function
+	      (lambda (langentry)
+		(let ((langelem (car langentry))
+		      (offset (cdr langentry)))
+		  (vhdl-set-offset langelem offset)
+		  )))
+	     val))
+	  )))
+     vars))
+  (vhdl-keep-region-active))
+
+(defun vhdl-get-offset (langelem)
+  ;; Get offset from LANGELEM which is a cons cell of the form:
+  ;; (SYMBOL . RELPOS).  The symbol is matched against
+  ;; vhdl-offsets-alist and the offset found there is either returned,
+  ;; or added to the indentation at RELPOS.  If RELPOS is nil, then
+  ;; the offset is simply returned.
+  (let* ((symbol (car langelem))
+	 (relpos (cdr langelem))
+	 (match  (assq symbol vhdl-offsets-alist))
+	 (offset (cdr-safe match)))
+    ;; offset can be a number, a function, a variable, or one of the
+    ;; symbols + or -
+    (cond
+     ((not match)
+      (if vhdl-strict-syntax-p
+	  (error "don't know how to indent a %s" symbol)
+	(setq offset 0
+	      relpos 0)))
+     ((eq offset '+)  (setq offset vhdl-basic-offset))
+     ((eq offset '-)  (setq offset (- vhdl-basic-offset)))
+     ((eq offset '++) (setq offset (* 2 vhdl-basic-offset)))
+     ((eq offset '--) (setq offset (* 2 (- vhdl-basic-offset))))
+     ((and (not (numberp offset))
+	   (fboundp offset))
+      (setq offset (funcall offset langelem)))
+     ((not (numberp offset))
+      (setq offset (eval offset)))
+     )
+    (+ (if (and relpos
+		(< relpos (vhdl-point 'bol)))
+	   (save-excursion
+	     (goto-char relpos)
+	     (current-column))
+	 0)
+       offset)))
+
+
+;; Syntactic support functions:
+
+;; Returns `comment' if in a comment, `string' if in a string literal,
+;; or nil if not in a literal at all.  Optional LIM is used as the
+;; backward limit of the search.  If omitted, or nil, (point-min) is
+;; used.
+
+(defun vhdl-in-literal (&optional lim)
+  ;; Determine if point is in a VHDL literal.
+  (save-excursion
+    (let* ((lim (or lim (point-min)))
+	   (state (parse-partial-sexp lim (point))))
+      (cond
+       ((nth 3 state) 'string)
+       ((nth 4 state) 'comment)
+       (t nil)))
+    ))
+
+;; This is the best we can do in Win-Emacs.
+(defun vhdl-win-il (&optional lim)
+  ;; Determine if point is in a VHDL literal
+  (save-excursion
+    (let* ((here (point))
+	   (state nil)
+	   (match nil)
+	   (lim  (or lim (vhdl-point 'bod))))
+      (goto-char lim )
+      (while (< (point) here)
+	(setq match
+	      (and (re-search-forward "--\\|[\"']"
+				      here 'move)
+		   (buffer-substring (match-beginning 0) (match-end 0))))
+	(setq state
+	      (cond
+	       ;; no match
+	       ((null match) nil)
+	       ;; looking at the opening of a VHDL style comment
+	       ((string= "--" match)
+		(if (<= here (progn (end-of-line) (point))) 'comment))
+	       ;; looking at the opening of a double quote string
+	       ((string= "\"" match)
+		(if (not (save-restriction
+			   ;; this seems to be necessary since the
+			   ;; re-search-forward will not work without it
+			   (narrow-to-region (point) here)
+			   (re-search-forward
+			    ;; this regexp matches a double quote
+			    ;; which is preceded by an even number
+			    ;; of backslashes, including zero
+			    "\\([^\\]\\|^\\)\\(\\\\\\\\\\)*\"" here 'move)))
+		    'string))
+	       ;; looking at the opening of a single quote string
+	       ((string= "'" match)
+		(if (not (save-restriction
+			   ;; see comments from above
+			   (narrow-to-region (point) here)
+			   (re-search-forward
+			    ;; this matches a single quote which is
+			    ;; preceded by zero or two backslashes.
+			    "\\([^\\]\\|^\\)\\(\\\\\\\\\\)?'"
+			    here 'move)))
+		    'string))
+	       (t nil)))
+	) ; end-while
+      state)))
+
+(and (memq 'Win-Emacs vhdl-emacs-features)
+     (fset 'vhdl-in-literal 'vhdl-win-il))
+
+;; Skipping of "syntactic whitespace".  Syntactic whitespace is
+;; defined as lexical whitespace or comments.  Search no farther back
+;; or forward than optional LIM.  If LIM is omitted, (point-min) is
+;; used for backward skipping, (point-max) is used for forward
+;; skipping.
+
+(defun vhdl-forward-syntactic-ws (&optional lim)
+  ;; Forward skip of syntactic whitespace.
+  (save-restriction
+    (let* ((lim (or lim (point-max)))
+	   (here lim)
+	   (hugenum (point-max)))
+      (narrow-to-region lim (point))
+      (while (/= here (point))
+	(setq here (point))
+	(forward-comment hugenum))
+      )))
+
+;; This is the best we can do in Win-Emacs.
+(defun vhdl-win-fsws (&optional lim)
+  ;; Forward skip syntactic whitespace for Win-Emacs.
+  (let ((lim (or lim (point-max)))
+	stop)
+    (while (not stop)
+      (skip-chars-forward " \t\n\r\f" lim)
+      (cond
+       ;; vhdl comment
+       ((looking-at "--") (end-of-line))
+       ;; none of the above
+       (t (setq stop t))
+       ))))
+
+(and (memq 'Win-Emacs vhdl-emacs-features)
+     (fset 'vhdl-forward-syntactic-ws 'vhdl-win-fsws))
+
+(defun vhdl-backward-syntactic-ws (&optional lim)
+  ;; Backward skip over syntactic whitespace.
+  (save-restriction
+    (let* ((lim (or lim (point-min)))
+	   (here lim)
+	   (hugenum (- (point-max))))
+      (if (< lim (point))
+	  (progn
+	    (narrow-to-region lim (point))
+	    (while (/= here (point))
+	      (setq here (point))
+	      (forward-comment hugenum)
+	      )))
+      )))
+
+;; This is the best we can do in Win-Emacs.
+(defun vhdl-win-bsws (&optional lim)
+  ;; Backward skip syntactic whitespace for Win-Emacs.
+  (let ((lim (or lim (vhdl-point 'bod)))
+	stop)
+    (while (not stop)
+      (skip-chars-backward " \t\n\r\f" lim)
+      (cond
+       ;; vhdl comment
+       ((eq (vhdl-in-literal lim) 'comment)
+	(skip-chars-backward "^-" lim)
+	(skip-chars-backward "-" lim)
+	(while (not (or (and (= (following-char) ?-)
+			     (= (char-after (1+ (point))) ?-))
+			(<= (point) lim)))
+	  (skip-chars-backward "^-" lim)
+	  (skip-chars-backward "-" lim)))
+       ;; none of the above
+       (t (setq stop t))
+       ))))
+
+(and (memq 'Win-Emacs vhdl-emacs-features)
+    (fset 'vhdl-backward-syntactic-ws 'vhdl-win-bsws))
+
+;; Functions to help finding the correct indentation column:
+
+(defun vhdl-first-word (point)
+  "If the keyword at POINT is at boi, then return (current-column) at
+that point, else nil."
+  (save-excursion
+    (and (goto-char point)
+	 (eq (point) (vhdl-point 'boi))
+	 (current-column))))
+
+(defun vhdl-last-word (point)
+  "If the keyword at POINT is at eoi, then return (current-column) at
+that point, else nil."
+  (save-excursion
+    (and (goto-char point)
+	 (save-excursion (or (eq (progn (forward-sexp) (point))
+				 (vhdl-point 'eoi))
+			     (looking-at "\\s-*\\(--\\)?")))
+	 (current-column))))
+
+
+;; Core syntactic evaluation functions:
+
+(defconst vhdl-libunit-re
+  "\\b\\(architecture\\|configuration\\|entity\\|package\\)\\b[^_]")
+
+(defun vhdl-libunit-p ()
+  (and
+   (save-excursion
+     (forward-sexp)
+     (skip-chars-forward " \t\n")
+     (not (looking-at "is\\b[^_]")))
+   (save-excursion
+     (backward-sexp)
+     (not (looking-at "use\\b[^_]")))))
+
+(defconst vhdl-defun-re
+  "\\b\\(architecture\\|block\\|configuration\\|entity\\|package\\|process\\|procedure\\|function\\)\\b[^_]")
+
+(defun vhdl-defun-p ()
+  (save-excursion
+    (if (looking-at "block\\|process")
+	;; "block", "process":
+	(save-excursion
+	  (backward-sexp)
+	  (not (looking-at "end\\s-+\\w")))
+      ;; "architecture", "configuration", "entity",
+      ;; "package", "procedure", "function":
+      t)))
+  
+(defun vhdl-corresponding-defun ()
+  "If the word at the current position corresponds to a \"defun\"
+keyword, then return a string that can be used to find the
+corresponding \"begin\" keyword, else return nil."
+  (save-excursion
+    (and (looking-at vhdl-defun-re)
+	 (vhdl-defun-p)
+	 (if (looking-at "block\\|process")
+	     ;; "block", "process":
+	     (buffer-substring (match-beginning 0) (match-end 0))
+	   ;; "architecture", "configuration", "entity", "package",
+	   ;; "procedure", "function":
+	   "is"))))
+
+(defconst vhdl-begin-fwd-re
+  "\\b\\(is\\|begin\\|block\\|component\\|generate\\|then\\|else\\|loop\\|process\\|units\\|record\\|for\\)\\b\\([^_]\\|\\'\\)"
+  "A regular expression for searching forward that matches all known
+\"begin\" keywords.")
+
+(defconst vhdl-begin-bwd-re
+  "\\b\\(is\\|begin\\|block\\|component\\|generate\\|then\\|else\\|loop\\|process\\|units\\|record\\|for\\)\\b"
+  "A regular expression for searching backward that matches all known
+\"begin\" keywords.")
+
+(defun vhdl-begin-p (&optional lim)
+  "Return t if we are looking at a real \"begin\" keyword.
+Assumes that the caller will make sure that we are looking at
+vhdl-begin-fwd-re, and are not inside a literal, and that we are not in
+the middle of an identifier that just happens to contain a \"begin\"
+keyword."
+  (cond
+   ;; "[architecture|case|configuration|entity|package|
+   ;;   procedure|function] ... is":
+   ((and (looking-at "i")
+	 (save-excursion
+	   ;; Skip backward over first sexp (needed to skip over a
+	   ;; procedure interface list, and is harmless in other
+	   ;; situations).  Note that we need "return" in the
+	   ;; following search list so that we don't run into
+	   ;; semicolons in the function interface list.
+	   (backward-sexp)
+	   (let (foundp)
+	     (while (and (not foundp)
+			 (re-search-backward
+			  ";\\|\\b\\(architecture\\|case\\|configuration\\|entity\\|package\\|procedure\\|return\\|is\\|begin\\|process\\|block\\)\\b[^_]"
+			  lim 'move))
+	       (if (or (= (preceding-char) ?_)
+		       (vhdl-in-literal lim))
+		   (backward-char)
+		 (setq foundp t))))
+	   (and (/= (following-char) ?\;)
+		(not (looking-at "is\\|begin\\|process\\|block")))))
+    t)
+   ;; "begin", "then":
+   ((looking-at "be\\|t")
+    t)
+   ;; "else":
+   ((and (looking-at "e")
+	 ;; make sure that the "else" isn't inside a
+	 ;; conditional signal assignment.
+	 (save-excursion
+	   (re-search-backward ";\\|\\bwhen\\b[^_]" lim 'move)
+	   (or (eq (following-char) ?\;)
+	       (eq (point) lim))))
+    t)
+   ;; "block", "component", "generate", "loop", "process",
+   ;; "units", "record":
+   ((and (looking-at "bl\\|[cglpur]")
+	 (save-excursion
+	   (backward-sexp)
+	   (not (looking-at "end\\s-+\\w"))))
+    t)
+   ;; "for" (inside configuration declaration):
+   ((and (looking-at "f")
+	 (save-excursion
+	   (backward-sexp)
+	   (not (looking-at "end\\s-+\\w")))
+	 (vhdl-has-syntax 'configuration))
+    t)
+   ))
+  
+(defun vhdl-corresponding-mid (&optional lim)
+  (cond
+   ((looking-at "is\\|block\\|process")
+    "begin")
+   ((looking-at "then")
+    "<else>")
+   (t
+    "end")))
+
+(defun vhdl-corresponding-end (&optional lim)
+  "If the word at the current position corresponds to a \"begin\"
+keyword, then return a vector containing enough information to find
+the corresponding \"end\" keyword, else return nil.  The keyword to
+search forward for is aref 0.  The column in which the keyword must
+appear is aref 1 or nil if any column is suitable.
+Assumes that the caller will make sure that we are not in the middle
+of an identifier that just happens to contain a \"begin\" keyword."
+  (save-excursion
+    (and (looking-at vhdl-begin-fwd-re)
+	 (/= (preceding-char) ?_)
+	 (not (vhdl-in-literal lim))
+	 (vhdl-begin-p lim)
+	 (cond
+	  ;; "is", "generate", "loop":
+	  ((looking-at "[igl]")
+	   (vector "end"
+		   (and (vhdl-last-word (point))
+			(or (vhdl-first-word (point))
+			    (save-excursion
+			      (vhdl-beginning-of-statement-1 lim)
+			      (vhdl-backward-skip-label lim)
+			      (vhdl-first-word (point)))))))
+	  ;; "begin", "else", "for":
+	  ((looking-at "be\\|[ef]")
+	   (vector "end"
+		   (and (vhdl-last-word (point))
+			(or (vhdl-first-word (point))
+			    (save-excursion
+			      (vhdl-beginning-of-statement-1 lim)
+			      (vhdl-backward-skip-label lim)
+			      (vhdl-first-word (point)))))))
+	  ;; "component", "units", "record":
+	  ((looking-at "[cur]")
+	   ;; The first end found will close the block
+	   (vector "end" nil))
+	  ;; "block", "process":
+	  ((looking-at "bl\\|p")
+	   (vector "end"
+		   (or (vhdl-first-word (point))
+		       (save-excursion
+			 (vhdl-beginning-of-statement-1 lim)
+			 (vhdl-backward-skip-label lim)
+			 (vhdl-first-word (point))))))
+	  ;; "then":
+	  ((looking-at "t")
+	   (vector "elsif\\|else\\|end"
+		   (and (vhdl-last-word (point))
+			(or (vhdl-first-word (point))
+			    (save-excursion
+			      (vhdl-beginning-of-statement-1 lim)
+			      (vhdl-backward-skip-label lim)
+			      (vhdl-first-word (point)))))))
+	  ))))
+
+(defconst vhdl-end-fwd-re "\\b\\(end\\|else\\|elsif\\)\\b\\([^_]\\|\\'\\)")
+
+(defconst vhdl-end-bwd-re "\\b\\(end\\|else\\|elsif\\)\\b")
+
+(defun vhdl-end-p (&optional lim)
+  "Return t if we are looking at a real \"end\" keyword.
+Assumes that the caller will make sure that we are looking at
+vhdl-end-fwd-re, and are not inside a literal, and that we are not in
+the middle of an identifier that just happens to contain an \"end\"
+keyword."
+  (or (not (looking-at "else"))
+      ;; make sure that the "else" isn't inside a conditional signal
+      ;; assignment.
+      (save-excursion
+	(re-search-backward ";\\|\\bwhen\\b[^_]" lim 'move)
+	(or (eq (following-char) ?\;)
+	    (eq (point) lim)))))
+
+(defun vhdl-corresponding-begin (&optional lim)
+  "If the word at the current position corresponds to an \"end\"
+keyword, then return a vector containing enough information to find
+the corresponding \"begin\" keyword, else return nil.  The keyword to
+search backward for is aref 0.  The column in which the keyword must
+appear is aref 1 or nil if any column is suitable.  The supplementary
+keyword to search forward for is aref 2 or nil if this is not
+required.  If aref 3 is t, then the \"begin\" keyword may be found in
+the middle of a statement.
+Assumes that the caller will make sure that we are not in the middle
+of an identifier that just happens to contain an \"end\" keyword."
+  (save-excursion
+    (let (pos)
+      (if (and (looking-at vhdl-end-fwd-re)
+	       (not (vhdl-in-literal lim))
+	       (vhdl-end-p lim))
+	  (if (looking-at "el")
+	      ;; "else", "elsif":
+	      (vector "if\\|elsif" (vhdl-first-word (point)) "then" nil)
+	    ;; "end ...":
+	    (setq pos (point))
+	    (forward-sexp)
+	    (skip-chars-forward " \t\n")
+	    (cond
+	     ;; "end if":
+	     ((looking-at "if\\b[^_]")
+	      (vector "else\\|elsif\\|if"
+		      (vhdl-first-word pos)
+		      "else\\|then" nil))
+	     ;; "end component":
+	     ((looking-at "component\\b[^_]")
+	      (vector (buffer-substring (match-beginning 1)
+					(match-end 1))
+		      (vhdl-first-word pos)
+		      nil nil))
+	     ;; "end units", "end record":
+	     ((looking-at "\\(units\\|record\\)\\b[^_]")
+	      (vector (buffer-substring (match-beginning 1)
+					(match-end 1))
+		      (vhdl-first-word pos)
+		      nil t))
+	     ;; "end block", "end process":
+	     ((looking-at "\\(block\\|process\\)\\b[^_]")
+	      (vector "begin" (vhdl-first-word pos) nil nil))
+	     ;; "end case":
+	     ((looking-at "case\\b[^_]")
+	      (vector "case" (vhdl-first-word pos) "is" nil))
+	     ;; "end generate":
+	     ((looking-at "generate\\b[^_]")
+	      (vector "generate\\|for\\|if"
+		      (vhdl-first-word pos)
+		      "generate" nil))
+	     ;; "end loop":
+	     ((looking-at "loop\\b[^_]")
+	      (vector "loop\\|while\\|for"
+		      (vhdl-first-word pos)
+		      "loop" nil))
+	     ;; "end for" (inside configuration declaration):
+	     ((looking-at "for\\b[^_]")
+	      (vector "for" (vhdl-first-word pos) nil nil))
+	     ;; "end [id]":
+	     (t
+	      (vector "begin\\|architecture\\|configuration\\|entity\\|package\\|procedure\\|function"
+		      (vhdl-first-word pos)
+		      ;; return an alist of (statement . keyword) mappings
+		      '(
+			;; "begin ... end [id]":
+			("begin"          . nil)
+			;; "architecture ... is ... begin ... end [id]":
+			("architecture"   . "is")
+			;; "configuration ... is ... end [id]":
+			("configuration"  . "is")
+			;; "entity ... is ... end [id]":
+			("entity"         . "is")
+			;; "package ... is ... end [id]":
+			("package"        . "is")
+			;; "procedure ... is ... begin ... end [id]":
+			("procedure"      . "is")
+			;; "function ... is ... begin ... end [id]":
+			("function"       . "is")
+			)
+		      nil))
+	     ))) ; "end ..."
+      )))
+
+(defconst vhdl-leader-re
+  "\\b\\(block\\|component\\|process\\|for\\)\\b[^_]")
+
+(defun vhdl-end-of-leader ()
+  (save-excursion
+    (cond ((looking-at "block\\|process")
+	   (if (save-excursion
+		 (forward-sexp)
+		 (skip-chars-forward " \t\n")
+		 (= (following-char) ?\())
+	       (forward-sexp 2)
+	     (forward-sexp))
+	   (point))
+	  ((looking-at "component")
+	   (forward-sexp 2)
+	   (point))
+	  ((looking-at "for")
+	   (forward-sexp 2)
+	   (skip-chars-forward " \t\n")
+	   (while (looking-at "[,:(]")
+	     (forward-sexp)
+	     (skip-chars-forward " \t\n"))
+	   (point))
+	  (t nil)
+	  )))
+
+(defconst vhdl-trailer-re
+  "\\b\\(is\\|then\\|generate\\|loop\\)\\b[^_]")
+
+(defconst vhdl-statement-fwd-re
+  "\\b\\(if\\|for\\|while\\)\\b\\([^_]\\|\\'\\)"
+  "A regular expression for searching forward that matches all known
+\"statement\" keywords.")
+
+(defconst vhdl-statement-bwd-re
+  "\\b\\(if\\|for\\|while\\)\\b"
+  "A regular expression for searching backward that matches all known
+\"statement\" keywords.")
+
+(defun vhdl-statement-p (&optional lim)
+  "Return t if we are looking at a real \"statement\" keyword.
+Assumes that the caller will make sure that we are looking at
+vhdl-statement-fwd-re, and are not inside a literal, and that we are not in
+the middle of an identifier that just happens to contain a \"statement\"
+keyword."
+  (cond
+   ;; "for" ... "generate":
+   ((and (looking-at "f")
+	 ;; Make sure it's the start of a parameter specification.
+	 (save-excursion
+	   (forward-sexp 2)
+	   (skip-chars-forward " \t\n")
+	   (looking-at "in\\b[^_]"))
+	 ;; Make sure it's not an "end for".
+	 (save-excursion
+	   (backward-sexp)
+	   (not (looking-at "end\\s-+\\w"))))
+    t)
+   ;; "if" ... "then", "if" ... "generate", "if" ... "loop":
+   ((and (looking-at "i")
+	 ;; Make sure it's not an "end if".
+	 (save-excursion
+	   (backward-sexp)
+	   (not (looking-at "end\\s-+\\w"))))
+    t)
+   ;; "while" ... "loop":
+   ((looking-at "w")
+    t)
+   ))
+  
+
+;; Core syntactic movement functions:
+
+(defconst vhdl-b-t-b-re
+  (concat vhdl-begin-bwd-re "\\|" vhdl-end-bwd-re))
+
+(defun vhdl-backward-to-block (&optional lim)
+  "Move backward to the previous \"begin\" or \"end\" keyword."
+  (let (foundp)
+    (while (and (not foundp)
+		(re-search-backward vhdl-b-t-b-re lim 'move))
+      (if (or (= (preceding-char) ?_)
+	      (vhdl-in-literal lim))
+	  (backward-char)
+	(cond
+	 ;; "begin" keyword:
+	 ((and (looking-at vhdl-begin-fwd-re)
+	       (/= (preceding-char) ?_)
+	       (vhdl-begin-p lim))
+	  (setq foundp 'begin))
+	 ;; "end" keyword:
+	 ((and (looking-at vhdl-end-fwd-re)
+	       (/= (preceding-char) ?_)
+	       (vhdl-end-p lim))
+	  (setq foundp 'end))
+	 ))
+      )
+    foundp
+    ))
+
+(defun vhdl-forward-sexp (&optional count lim)
+  "Move forward across one balanced expression (sexp).
+With COUNT, do it that many times."
+  (interactive "p")
+  (let ((count (or count 1))
+	(case-fold-search t)
+	end-vec target)
+    (save-excursion
+      (while (> count 0)
+	;; skip whitespace
+	(skip-chars-forward " \t\n")
+	;; Check for an unbalanced "end" keyword
+	(if (and (looking-at vhdl-end-fwd-re)
+		 (/= (preceding-char) ?_)
+		 (not (vhdl-in-literal lim))
+		 (vhdl-end-p lim)
+		 (not (looking-at "else")))
+	    (error
+	     "Containing expression ends prematurely in vhdl-forward-sexp"))
+	;; If the current keyword is a "begin" keyword, then find the
+	;; corresponding "end" keyword.
+	(if (setq end-vec (vhdl-corresponding-end lim))
+	    (let (
+		  ;; end-re is the statement keyword to search for
+		  (end-re
+		   (concat "\\b\\(" (aref end-vec 0) "\\)\\b\\([^_]\\|\\'\\)"))
+		  ;; column is either the statement keyword target column
+		  ;; or nil
+		  (column (aref end-vec 1))
+		  (eol (vhdl-point 'eol))
+		  foundp literal placeholder)
+	      ;; Look for the statement keyword.
+	      (while (and (not foundp)
+			  (re-search-forward end-re nil t)
+			  (setq placeholder (match-end 1))
+			  (goto-char (match-beginning 0)))
+		;; If we are in a literal, or not in the right target
+		;; column and not on the same line as the begin, then
+		;; try again.
+		(if (or (and column
+			     (/= (current-indentation) column)
+			     (> (point) eol))
+			(= (preceding-char) ?_)
+			(setq literal (vhdl-in-literal lim)))
+		    (if (eq literal 'comment)
+			(end-of-line)
+		      (forward-char))
+		  ;; An "else" keyword corresponds to both the opening brace
+		  ;; of the following sexp and the closing brace of the
+		  ;; previous sexp.
+		  (if (not (looking-at "else"))
+		      (goto-char placeholder))
+		  (setq foundp t))
+		)
+	      (if (not foundp)
+		  (error "Unbalanced keywords in vhdl-forward-sexp"))
+	      )
+	  ;; If the current keyword is not a "begin" keyword, then just
+	  ;; perform the normal forward-sexp.
+	  (forward-sexp)
+	  )
+	(setq count (1- count))
+	)
+      (setq target (point)))
+    (goto-char target)
+    nil))
+
+(defun vhdl-backward-sexp (&optional count lim)
+  "Move backward across one balanced expression (sexp).
+With COUNT, do it that many times.  LIM bounds any required backward
+searches."
+  (interactive "p")
+  (let ((count (or count 1))
+	(case-fold-search t)
+	begin-vec target)
+    (save-excursion
+      (while (> count 0)
+	;; Perform the normal backward-sexp, unless we are looking at
+	;; "else" - an "else" keyword corresponds to both the opening brace
+	;; of the following sexp and the closing brace of the previous sexp.
+	(if (and (looking-at "else\\b\\([^_]\\|\\'\\)")
+		 (/= (preceding-char) ?_)
+		 (not (vhdl-in-literal lim)))
+	    nil
+	  (backward-sexp)
+	  (if (and (looking-at vhdl-begin-fwd-re)
+		   (/= (preceding-char) ?_)
+		   (not (vhdl-in-literal lim))
+		   (vhdl-begin-p lim))
+	      (error "Containing expression ends prematurely in vhdl-backward-sexp")))
+	;; If the current keyword is an "end" keyword, then find the
+	;; corresponding "begin" keyword.
+	(if (and (setq begin-vec (vhdl-corresponding-begin lim))
+		 (/= (preceding-char) ?_))
+	    (let (
+		  ;; begin-re is the statement keyword to search for
+		  (begin-re
+		   (concat "\\b\\(" (aref begin-vec 0) "\\)\\b[^_]"))
+		  ;; column is either the statement keyword target column
+		  ;; or nil
+		  (column (aref begin-vec 1))
+		  ;; internal-p controls where the statement keyword can
+		  ;; be found.
+		  (internal-p (aref begin-vec 3))
+		  (last-backward (point)) last-forward
+		  foundp literal keyword)
+	      ;; Look for the statement keyword.
+	      (while (and (not foundp)
+			  (re-search-backward begin-re lim t)
+			  (setq keyword
+				(buffer-substring (match-beginning 1)
+						  (match-end 1))))
+		;; If we are in a literal or in the wrong column,
+		;; then try again.
+		(if (or (and column
+			     (and (/= (current-indentation) column)
+				  ;; possibly accept current-column as
+				  ;; well as current-indentation.
+				  (or (not internal-p)
+				      (/= (current-column) column))))
+			(= (preceding-char) ?_)
+			(vhdl-in-literal lim))
+		    (backward-char)
+		  ;; If there is a supplementary keyword, then
+		  ;; search forward for it. 
+		  (if (and (setq begin-re (aref begin-vec 2))
+			   (or (not (listp begin-re))
+			       ;; If begin-re is an alist, then find the
+			       ;; element corresponding to the actual
+			       ;; keyword that we found.
+			       (progn
+				 (setq begin-re
+				       (assoc keyword begin-re))
+				 (and begin-re
+				      (setq begin-re (cdr begin-re))))))
+		      (and
+		       (setq begin-re
+			     (concat "\\b\\(" begin-re "\\)\\b[^_]"))
+		       (save-excursion
+			 (setq last-forward (point))
+			 ;; Look for the supplementary keyword
+			 ;; (bounded by the backward search start
+			 ;; point).
+			 (while (and (not foundp)
+				     (re-search-forward begin-re
+							last-backward t)
+				     (goto-char (match-beginning 1)))
+			   ;; If we are in a literal, then try again.
+			   (if (or (= (preceding-char) ?_)
+				   (setq literal
+					 (vhdl-in-literal last-forward)))
+			       (if (eq literal 'comment)
+				   (goto-char
+				    (min (vhdl-point 'eol) last-backward))
+				 (forward-char))
+			     ;; We have found the supplementary keyword.
+			     ;; Save the position of the keyword in foundp.
+			     (setq foundp (point)))
+			   )
+			 foundp)
+		       ;; If the supplementary keyword was found, then
+		       ;; move point to the supplementary keyword.
+		       (goto-char foundp))
+		    ;; If there was no supplementary keyword, then
+		    ;; point is already at the statement keyword.
+		    (setq foundp t)))
+		) ; end of the search for the statement keyword
+	      (if (not foundp)
+		  (error "Unbalanced keywords in vhdl-backward-sexp"))
+	      ))
+	(setq count (1- count))
+	)
+      (setq target (point)))
+    (goto-char target)
+    nil))
+
+(defun vhdl-backward-up-list (&optional count limit)
+  "Move backward out of one level of blocks.
+With argument, do this that many times."
+  (interactive "p")
+  (let ((count (or count 1))
+	target)
+    (save-excursion
+      (while (> count 0)
+	(if (looking-at vhdl-defun-re)
+	    (error "Unbalanced blocks"))
+	(vhdl-backward-to-block limit)
+	(setq count (1- count)))
+      (setq target (point)))
+    (goto-char target)))
+
+(defun vhdl-end-of-defun (&optional count)
+  "Move forward to the end of a VHDL defun."
+  (interactive)
+  (let ((case-fold-search t))
+    (vhdl-beginning-of-defun)
+    (if (not (looking-at "block\\|process"))
+	(re-search-forward "\\bis\\b"))
+    (vhdl-forward-sexp)))
+    
+(defun vhdl-mark-defun ()
+  "Put mark at end of this \"defun\", point at beginning."
+  (interactive)
+  (let ((case-fold-search t))
+    (push-mark)
+    (vhdl-beginning-of-defun)
+    (push-mark)
+    (if (not (looking-at "block\\|process"))
+	(re-search-forward "\\bis\\b"))
+    (vhdl-forward-sexp)
+    (exchange-point-and-mark)))
+
+(defun vhdl-beginning-of-libunit ()
+  "Move backward to the beginning of a VHDL library unit.
+Returns the location of the corresponding begin keyword, unless search
+stops due to beginning or end of buffer." 
+  ;; Note that if point is between the "libunit" keyword and the
+  ;; corresponding "begin" keyword, then that libunit will not be
+  ;; recognised, and the search will continue backwards.  If point is
+  ;; at the "begin" keyword, then the defun will be recognised.  The
+  ;; returned point is at the first character of the "libunit" keyword.
+  (let ((last-forward (point))
+	(last-backward
+	 ;; Just in case we are actually sitting on the "begin"
+	 ;; keyword, allow for the keyword and an extra character,
+	 ;; as this will be used when looking forward for the
+	 ;; "begin" keyword.
+	 (save-excursion (forward-word 1) (1+ (point))))
+	foundp literal placeholder)
+    ;; Find the "libunit" keyword.
+    (while (and (not foundp)
+		(re-search-backward vhdl-libunit-re nil 'move))
+      ;; If we are in a literal, or not at a real libunit, then try again.
+      (if (or (= (preceding-char) ?_)
+	      (vhdl-in-literal (point-min))
+	      (not (vhdl-libunit-p)))
+	  (backward-char)
+	;; Find the corresponding "begin" keyword.
+	(setq last-forward (point))
+	(while (and (not foundp)
+		    (re-search-forward "\\bis\\b[^_]" last-backward t)
+		    (setq placeholder (match-beginning 0)))
+	  (if (or (= (preceding-char) ?_)
+		  (setq literal (vhdl-in-literal last-forward)))
+	      ;; It wasn't a real keyword, so keep searching.
+	      (if (eq literal 'comment)
+		  (goto-char
+		   (min (vhdl-point 'eol) last-backward))
+		(forward-char))
+	    ;; We have found the begin keyword, loop will exit.
+	    (setq foundp placeholder)))
+	;; Go back to the libunit keyword
+	(goto-char last-forward)))
+    foundp))
+    
+(defun vhdl-beginning-of-defun (&optional count)
+  "Move backward to the beginning of a VHDL defun.
+With argument, do it that many times.
+Returns the location of the corresponding begin keyword, unless search
+stops due to beginning or end of buffer." 
+  ;; Note that if point is between the "defun" keyword and the
+  ;; corresponding "begin" keyword, then that defun will not be
+  ;; recognised, and the search will continue backwards.  If point is
+  ;; at the "begin" keyword, then the defun will be recognised.  The
+  ;; returned point is at the first character of the "defun" keyword.
+  (interactive "p")
+  (let ((count (or count 1))
+	(case-fold-search t)
+	(last-forward (point))
+	foundp)
+    (while (> count 0)
+      (setq foundp nil)
+      (goto-char last-forward)
+      (let ((last-backward
+	     ;; Just in case we are actually sitting on the "begin"
+	     ;; keyword, allow for the keyword and an extra character,
+	     ;; as this will be used when looking forward for the
+	     ;; "begin" keyword.
+	     (save-excursion (forward-word 1) (1+ (point))))
+	    begin-string literal)
+	(while (and (not foundp)
+		    (re-search-backward vhdl-defun-re nil 'move))
+	  ;; If we are in a literal, then try again.
+	  (if (or (= (preceding-char) ?_)
+		  (vhdl-in-literal (point-min)))
+	      (backward-char)
+	    (if (setq begin-string (vhdl-corresponding-defun))
+		;; This is a real defun keyword.
+		;; Find the corresponding "begin" keyword.
+		;; Look for the begin keyword.
+		(progn
+		  ;; Save the search start point.
+		  (setq last-forward (point))
+		  (while (and (not foundp)
+			      (search-forward begin-string last-backward t))
+		    (if (or (= (preceding-char) ?_)
+			    (save-match-data
+			      (setq literal (vhdl-in-literal last-forward))))
+			;; It wasn't a real keyword, so keep searching.
+			(if (eq literal 'comment)
+			    (goto-char
+			     (min (vhdl-point 'eol) last-backward))
+			  (forward-char))
+		      ;; We have found the begin keyword, loop will exit.
+		      (setq foundp (match-beginning 0)))
+		    )
+		  ;; Go back to the defun keyword
+		  (goto-char last-forward)) ; end search for begin keyword
+	      ))
+	  ) ; end of the search for the defun keyword
+	)
+      (setq count (1- count))
+      )
+    (vhdl-keep-region-active)
+    foundp))
+    
+(defun vhdl-beginning-of-statement (&optional count lim)
+  "Go to the beginning of the innermost VHDL statement.
+With prefix arg, go back N - 1 statements.  If already at the
+beginning of a statement then go to the beginning of the preceding
+one.  If within a string or comment, or next to a comment (only
+whitespace between), move by sentences instead of statements.
+
+When called from a program, this function takes 2 optional args: the
+prefix arg, and a buffer position limit which is the farthest back to
+search."
+  (interactive "p")
+  (let ((count (or count 1))
+	(case-fold-search t)
+	(lim (or lim (point-min)))
+	(here (point))
+	state)
+    (save-excursion
+      (goto-char lim)
+      (setq state (parse-partial-sexp (point) here nil nil)))
+    (if (and (interactive-p)
+	     (or (nth 3 state)
+		 (nth 4 state)
+		 (looking-at (concat "[ \t]*" comment-start-skip))))
+	(forward-sentence (- count))
+      (while (> count 0)
+	(vhdl-beginning-of-statement-1 lim)
+	(setq count (1- count))))
+    ;; its possible we've been left up-buf of lim
+    (goto-char (max (point) lim))
+    )
+  (vhdl-keep-region-active))
+
+(defconst vhdl-b-o-s-re
+  (concat ";\\|\(\\|\)\\|\\bwhen\\b[^_]\\|"
+	  vhdl-begin-bwd-re "\\|" vhdl-statement-bwd-re))
+
+(defun vhdl-beginning-of-statement-1 (&optional lim)
+  ;; move to the start of the current statement, or the previous
+  ;; statement if already at the beginning of one.
+  (let ((lim (or lim (point-min)))
+	(here (point))
+	(pos (point))
+	donep)
+    ;; go backwards one balanced expression, but be careful of
+    ;; unbalanced paren being reached
+    (if (not (vhdl-safe (progn (backward-sexp) t)))
+	(progn
+	  (backward-up-list 1)
+	  (forward-char)
+	  (vhdl-forward-syntactic-ws here)
+	  (setq donep t)))
+    (while (and (not donep)
+		(not (bobp))
+		;; look backwards for a statement boundary
+		(re-search-backward vhdl-b-o-s-re lim 'move))
+      (if (or (= (preceding-char) ?_)
+	      (vhdl-in-literal lim))
+	  (backward-char)
+	(cond
+	 ;; If we are looking at an open paren, then stop after it
+	 ((eq (following-char) ?\()
+	  (forward-char)
+	  (vhdl-forward-syntactic-ws here)
+	  (setq donep t))
+	 ;; If we are looking at a close paren, then skip it
+	 ((eq (following-char) ?\))
+	  (forward-char)
+	  (setq pos (point))
+	  (backward-sexp)
+	  (if (< (point) lim)
+	      (progn (goto-char pos)
+		     (vhdl-forward-syntactic-ws here)
+		     (setq donep t))))
+	 ;; If we are looking at a semicolon, then stop
+	 ((eq (following-char) ?\;)
+	  (progn
+	    (forward-char)
+	    (vhdl-forward-syntactic-ws here)
+	    (setq donep t)))
+	 ;; If we are looking at a "begin", then stop
+	 ((and (looking-at vhdl-begin-fwd-re)
+	       (/= (preceding-char) ?_)
+	       (vhdl-begin-p nil))
+	  ;; If it's a leader "begin", then find the
+	  ;; right place
+	  (if (looking-at vhdl-leader-re)
+	      (save-excursion
+		;; set a default stop point at the begin
+		(setq pos (point))
+		;; is the start point inside the leader area ?
+		(goto-char (vhdl-end-of-leader))
+		(vhdl-forward-syntactic-ws here)
+		(if (< (point) here)
+		    ;; start point was not inside leader area
+		    ;; set stop point at word after leader
+		    (setq pos (point))))
+	    (forward-word 1)
+	    (vhdl-forward-syntactic-ws here)
+	    (setq pos (point)))
+	  (goto-char pos)
+	  (setq donep t))
+	 ;; If we are looking at a "statement", then stop
+	 ((and (looking-at vhdl-statement-fwd-re)
+	       (/= (preceding-char) ?_)
+	       (vhdl-statement-p nil))
+	  (setq donep t))
+	 ;; If we are looking at a case alternative key, then stop
+	 ((looking-at vhdl-case-alternative-key)
+	  (save-excursion
+	    ;; set a default stop point at the when
+	    (setq pos (point))
+	    ;; is the start point inside the case alternative key ?
+	    (goto-char (match-end 0))
+	    (vhdl-forward-syntactic-ws here)
+	    (if (< (point) here)
+		;; start point was not inside the case alternative key
+		;; set stop point at word after case alternative keyleader
+		(setq pos (point))))
+	  (goto-char pos)
+	  (setq donep t))
+	 ;; Bogus find, continue
+	 (t
+	  (backward-char)))))
+    ))
+
+
+;; Defuns for calculating the current syntactic state:
+
+(defun vhdl-get-library-unit (bod placeholder)
+  ;; If there is an enclosing library unit at bod, with it's \"begin\"
+  ;; keyword at placeholder, then return the library unit type.
+  (let ((here (vhdl-point 'bol)))
+    (if (save-excursion
+	  (goto-char placeholder)
+	  (vhdl-safe (vhdl-forward-sexp 1 bod))
+	  (<= here (point)))
+	(save-excursion
+	  (goto-char bod)
+	  (cond
+	   ((looking-at "e") 'entity)
+	   ((looking-at "a") 'architecture)
+	   ((looking-at "c") 'configuration)
+	   ((looking-at "p")
+	    (save-excursion
+	      (goto-char bod)
+	      (forward-sexp)
+	      (vhdl-forward-syntactic-ws here)
+	      (if (looking-at "body\\b[^_]")
+		  'package-body 'package))))))
+    ))
+
+(defun vhdl-get-block-state (&optional lim)
+  ;; Finds and records all the closest opens.
+  ;; lim is the furthest back we need to search (it should be the
+  ;; previous libunit keyword).
+  (let ((here (point))
+	(lim (or lim (point-min)))
+	keyword sexp-start sexp-mid sexp-end
+	preceding-sexp containing-sexp
+	containing-begin containing-mid containing-paren)
+    (save-excursion
+      ;; Find the containing-paren, and use that as the limit
+      (if (setq containing-paren
+		(save-restriction
+		  (narrow-to-region lim (point))
+		  (vhdl-safe (scan-lists (point) -1 1))))
+	  (setq lim containing-paren))
+      ;; Look backwards for "begin" and "end" keywords.
+      (while (and (> (point) lim)
+		  (not containing-sexp))
+	(setq keyword (vhdl-backward-to-block lim))
+	(cond
+	 ((eq keyword 'begin)
+	  ;; Found a "begin" keyword
+	  (setq sexp-start (point))
+	  (setq sexp-mid (vhdl-corresponding-mid lim))
+	  (setq sexp-end (vhdl-safe
+			  (save-excursion
+			    (vhdl-forward-sexp 1 lim) (point))))
+	  (if (and sexp-end (<= sexp-end here))
+	      ;; we want to record this sexp, but we only want to
+	      ;; record the last-most of any of them before here
+	      (or preceding-sexp
+		  (setq preceding-sexp sexp-start))
+	    ;; we're contained in this sexp so put sexp-start on
+	    ;; front of list
+	    (setq containing-sexp sexp-start)
+	    (setq containing-mid sexp-mid)
+	    (setq containing-begin t)))
+	 ((eq keyword 'end)
+	  ;; Found an "end" keyword
+	  (forward-sexp)
+	  (setq sexp-end (point))
+	  (setq sexp-mid nil)
+	  (setq sexp-start
+		(or (vhdl-safe (vhdl-backward-sexp 1 lim) (point))
+		    (progn (backward-sexp) (point))))
+	  ;; we want to record this sexp, but we only want to
+	  ;; record the last-most of any of them before here
+	  (or preceding-sexp
+	      (setq preceding-sexp sexp-start)))
+	 )))
+    ;; Check if the containing-paren should be the containing-sexp
+    (if (and containing-paren
+	     (or (null containing-sexp)
+		 (< containing-sexp containing-paren)))
+	(setq containing-sexp containing-paren
+	      preceding-sexp nil
+	      containing-begin nil
+	      containing-mid nil))
+    (vector containing-sexp preceding-sexp containing-begin containing-mid)
+    ))
+	      
+
+(defconst vhdl-s-c-a-re
+  (concat vhdl-case-alternative-key "\\|" vhdl-case-header-key))
+
+(defun vhdl-skip-case-alternative (&optional lim)
+  ;; skip forward over case/when bodies, with optional maximal
+  ;; limit. if no next case alternative is found, nil is returned and point
+  ;; is not moved
+  (let ((lim (or lim (point-max)))
+	(here (point))
+	donep foundp)
+    (while (and (< (point) lim)
+		(not donep))
+      (if (and (re-search-forward vhdl-s-c-a-re lim 'move)
+	       (save-match-data
+		 (not (vhdl-in-literal)))
+	       (/= (match-beginning 0) here))
+	  (progn
+	    (goto-char (match-beginning 0))
+	    (cond
+	     ((and (looking-at "case")
+		   (re-search-forward "\\bis[^_]" lim t))
+	      (backward-sexp)
+	      (vhdl-forward-sexp))
+	     (t
+	      (setq donep t
+		    foundp t))))))
+    (if (not foundp)
+	(goto-char here))
+    foundp))
+
+(defun vhdl-backward-skip-label (&optional lim)
+  ;; skip backward over a label, with optional maximal
+  ;; limit. if label is found, nil is returned and point
+  ;; is not moved
+  (let ((lim (or lim (point-min)))
+	placeholder)
+    (if (save-excursion
+	  (vhdl-backward-syntactic-ws lim)
+	  (and (eq (preceding-char) ?:)
+	       (progn
+		 (backward-sexp)
+		 (setq placeholder (point))
+		 (looking-at vhdl-label-key))))
+	(goto-char placeholder))
+    ))
+
+(defun vhdl-get-syntactic-context ()
+  ;; guess the syntactic description of the current line of VHDL code.
+  (save-excursion
+    (save-restriction
+      (beginning-of-line)
+      (let* ((indent-point (point))
+	     (case-fold-search t)
+	     vec literal containing-sexp preceding-sexp
+	     containing-begin containing-mid containing-leader
+	     char-before-ip char-after-ip begin-after-ip end-after-ip
+	     placeholder lim library-unit
+	    )
+
+	;; Reset the syntactic context
+	(setq vhdl-syntactic-context nil)
+
+	(save-excursion
+	  ;; Move to the start of the previous library unit, and
+	  ;; record the position of the "begin" keyword.
+	  (setq placeholder (vhdl-beginning-of-libunit))
+	  ;; The position of the "libunit" keyword gives us a gross
+	  ;; limit point.
+	  (setq lim (point))
+	  )
+
+	;; If there is a previous library unit, and we are enclosed by
+	;; it, then set the syntax accordingly.
+	(and placeholder
+	     (setq library-unit (vhdl-get-library-unit lim placeholder))
+	     (vhdl-add-syntax library-unit lim))
+	    
+	;; Find the surrounding state.
+	(if (setq vec (vhdl-get-block-state lim))
+	    (progn
+	      (setq containing-sexp (aref vec 0))
+	      (setq preceding-sexp (aref vec 1))
+	      (setq containing-begin (aref vec 2))
+	      (setq containing-mid (aref vec 3))
+	      ))
+
+	;; set the limit on the farthest back we need to search
+	(setq lim (if containing-sexp
+		      (save-excursion
+			(goto-char containing-sexp)
+			;; set containing-leader if required
+			(if (looking-at vhdl-leader-re)
+			    (setq containing-leader (vhdl-end-of-leader)))
+			(vhdl-point 'bol))
+		    (point-min)))
+
+	;; cache char before and after indent point, and move point to
+	;; the most likely position to perform the majority of tests
+	(goto-char indent-point)
+	(skip-chars-forward " \t")
+	(setq literal (vhdl-in-literal lim))
+	(setq char-after-ip (following-char))
+	(setq begin-after-ip (and
+			      (not literal)
+			      (looking-at vhdl-begin-fwd-re)
+			      (vhdl-begin-p)))
+	(setq end-after-ip (and
+			    (not literal)
+			    (looking-at vhdl-end-fwd-re)
+			    (vhdl-end-p)))
+	(vhdl-backward-syntactic-ws lim)
+	(setq char-before-ip (preceding-char))
+	(goto-char indent-point)
+	(skip-chars-forward " \t")
+
+	;; now figure out syntactic qualities of the current line
+	(cond
+	 ;; CASE 1: in a string or comment.
+	 ((memq literal '(string comment))
+	  (vhdl-add-syntax literal (vhdl-point 'bopl)))
+	 ;; CASE 2: Line is at top level.
+	 ((null containing-sexp)
+	  ;; Find the point to which indentation will be relative
+	  (save-excursion
+	    (if (null preceding-sexp)
+		;; CASE 2X.1
+		;; no preceding-sexp -> use the preceding statement
+		(vhdl-beginning-of-statement-1 lim)
+	      ;; CASE 2X.2
+	      ;; if there is a preceding-sexp then indent relative to it
+	      (goto-char preceding-sexp)
+	      ;; if not at boi, then the block-opening keyword is
+	      ;; probably following a label, so we need a different
+	      ;; relpos
+	      (if (/= (point) (vhdl-point 'boi))
+		  ;; CASE 2X.3
+		  (vhdl-beginning-of-statement-1 lim)))
+	    ;; v-b-o-s could have left us at point-min
+	    (and (bobp)
+		 ;; CASE 2X.4
+		 (vhdl-forward-syntactic-ws indent-point))
+	    (setq placeholder (point)))
+	  (cond
+	   ;; CASE 2A : we are looking at a block-open
+	   (begin-after-ip
+	    (vhdl-add-syntax 'block-open placeholder))
+	   ;; CASE 2B: we are looking at a block-close
+	   (end-after-ip
+	    (vhdl-add-syntax 'block-close placeholder))
+	   ;; CASE 2C: we are looking at a top-level statement
+	   ((progn
+	      (vhdl-backward-syntactic-ws lim)
+	      (or (bobp)
+		  (= (preceding-char) ?\;)))
+	    (vhdl-add-syntax 'statement placeholder))
+	   ;; CASE 2D: we are looking at a top-level statement-cont
+	   (t
+	    (vhdl-beginning-of-statement-1 lim)
+	    ;; v-b-o-s could have left us at point-min
+	    (and (bobp)
+		 ;; CASE 2D.1
+		 (vhdl-forward-syntactic-ws indent-point))
+	    (vhdl-add-syntax 'statement-cont (point)))
+	   )) ; end CASE 2
+	 ;; CASE 3: line is inside parentheses.  Most likely we are
+	 ;; either in a subprogram argument (interface) list, or a
+	 ;; continued expression containing parentheses.
+	 ((null containing-begin)
+	  (vhdl-backward-syntactic-ws containing-sexp)
+	  (cond
+	   ;; CASE 3A: we are looking at the arglist closing paren
+	   ((eq char-after-ip ?\))
+	    (goto-char containing-sexp)
+	    (vhdl-add-syntax 'arglist-close (vhdl-point 'boi)))
+	   ;; CASE 3B: we are looking at the first argument in an empty
+	   ;; argument list.
+	   ((eq char-before-ip ?\()
+	    (goto-char containing-sexp)
+	    (vhdl-add-syntax 'arglist-intro (vhdl-point 'boi)))
+	   ;; CASE 3C: we are looking at an arglist continuation line,
+	   ;; but the preceding argument is on the same line as the
+	   ;; opening paren.  This case includes multi-line
+	   ;; expression paren groupings.
+	   ((and (save-excursion
+		   (goto-char (1+ containing-sexp))
+		   (skip-chars-forward " \t")
+		   (not (eolp))
+		   (not (looking-at "--")))
+		 (save-excursion
+		   (vhdl-beginning-of-statement-1 containing-sexp)
+		   (skip-chars-backward " \t(")
+		   (<= (point) containing-sexp)))
+	    (goto-char containing-sexp)
+	    (vhdl-add-syntax 'arglist-cont-nonempty (vhdl-point 'boi)))
+	   ;; CASE 3D: we are looking at just a normal arglist
+	   ;; continuation line
+	   (t (vhdl-beginning-of-statement-1 containing-sexp)
+	      (vhdl-forward-syntactic-ws indent-point)
+	      (vhdl-add-syntax 'arglist-cont (vhdl-point 'boi)))
+	   ))
+	 ;; CASE 4: A block mid open
+	 ((and begin-after-ip
+	       (looking-at containing-mid))
+	  (goto-char containing-sexp)
+	  ;; If the \"begin\" keyword is a trailer, then find v-b-o-s
+	  (if (looking-at vhdl-trailer-re)
+	      ;; CASE 4.1
+	      (progn (forward-sexp) (vhdl-beginning-of-statement-1 nil)))
+	  (vhdl-backward-skip-label (vhdl-point 'boi))
+	  (vhdl-add-syntax 'block-open (point)))
+	 ;; CASE 5: block close brace
+	 (end-after-ip
+	  (goto-char containing-sexp)
+	  ;; If the \"begin\" keyword is a trailer, then find v-b-o-s
+	  (if (looking-at vhdl-trailer-re)
+	      ;; CASE 5.1
+	      (progn (forward-sexp) (vhdl-beginning-of-statement-1 nil)))
+	  (vhdl-backward-skip-label (vhdl-point 'boi))
+	  (vhdl-add-syntax 'block-close (point)))
+	 ;; CASE 6: A continued statement
+	 ((and (/= char-before-ip ?\;)
+	       ;; check it's not a trailer begin keyword, or a begin
+	       ;; keyword immediately following a label.
+	       (not (and begin-after-ip
+			 (or (looking-at vhdl-trailer-re)
+			     (save-excursion
+			       (vhdl-backward-skip-label containing-sexp)))))
+	       ;; check it's not a statement keyword
+	       (not (and (looking-at vhdl-statement-fwd-re)
+			 (vhdl-statement-p)))
+	       ;; see if the b-o-s is before the indent point
+	       (> indent-point
+		  (save-excursion
+		    (vhdl-beginning-of-statement-1 containing-sexp)
+		    ;; If we ended up after a leader, then this will
+		    ;; move us forward to the start of the first
+		    ;; statement.  Note that a containing sexp here is
+		    ;; always a keyword, not a paren, so this will
+		    ;; have no effect if we hit the containing-sexp.
+		    (vhdl-forward-syntactic-ws indent-point)
+		    (setq placeholder (point))))
+	       ;; check it's not a block-intro
+	       (/= placeholder containing-sexp)
+	       ;; check it's not a case block-intro
+	       (save-excursion
+		 (goto-char placeholder)
+		 (or (not (looking-at vhdl-case-alternative-key))
+		     (> (match-end 0) indent-point))))
+	  (vhdl-add-syntax 'statement-cont placeholder)
+	  (if begin-after-ip
+	      (vhdl-add-syntax 'block-open)))
+	 ;; Statement. But what kind?
+	 ;; CASE 7: A case alternative key
+	 ((looking-at vhdl-case-alternative-key)
+	  ;; for a case alternative key, we set relpos to the first
+	  ;; non-whitespace char on the line containing the "case"
+	  ;; keyword.
+	  (goto-char containing-sexp)
+	  ;; If the \"begin\" keyword is a trailer, then find v-b-o-s
+	  (if (looking-at vhdl-trailer-re)
+	      (progn (forward-sexp) (vhdl-beginning-of-statement-1 nil)))
+	  (vhdl-add-syntax 'case-alternative (vhdl-point 'boi)))
+	 ;; CASE 8: statement catchall
+	 (t
+	  ;; we know its a statement, but we need to find out if it is
+	  ;; the first statement in a block
+	  (if containing-leader
+	      (goto-char containing-leader)
+	    (goto-char containing-sexp)
+	    ;; Note that a containing sexp here is always a keyword,
+	    ;; not a paren, so skip over the keyword.
+	    (forward-sexp))
+	  ;; move to the start of the first statement
+	  (vhdl-forward-syntactic-ws indent-point)
+	  (setq placeholder (point))
+	  ;; we want to ignore case alternatives keys when skipping forward
+	  (let (incase-p)
+	    (while (looking-at vhdl-case-alternative-key)
+	      (setq incase-p (point))
+	      ;; we also want to skip over the body of the
+	      ;; case/when statement if that doesn't put us at
+	      ;; after the indent-point
+	      (while (vhdl-skip-case-alternative indent-point))
+	      ;; set up the match end
+	      (looking-at vhdl-case-alternative-key)
+	      (goto-char (match-end 0))
+	      ;; move to the start of the first case alternative statement
+	      (vhdl-forward-syntactic-ws indent-point)
+	      (setq placeholder (point)))
+	    (cond
+	     ;; CASE 8A: we saw a case/when statement so we must be
+	     ;; in a switch statement.  find out if we are at the
+	     ;; statement just after a case alternative key
+	     ((and incase-p
+		   (= (point) indent-point))
+	      ;; relpos is the "when" keyword
+	      (vhdl-add-syntax 'statement-case-intro incase-p))
+	     ;; CASE 8B: any old statement
+	     ((< (point) indent-point)
+	      ;; relpos is the first statement of the block
+	      (vhdl-add-syntax 'statement placeholder)
+	      (if begin-after-ip
+		  (vhdl-add-syntax 'block-open)))
+	     ;; CASE 8C: first statement in a block
+	     (t
+	      (goto-char containing-sexp)
+	      ;; If the \"begin\" keyword is a trailer, then find v-b-o-s
+	      (if (looking-at vhdl-trailer-re)
+		  (progn (forward-sexp) (vhdl-beginning-of-statement-1 nil)))
+	      (vhdl-backward-skip-label (vhdl-point 'boi))
+	      (vhdl-add-syntax 'statement-block-intro (point))
+	      (if begin-after-ip
+		  (vhdl-add-syntax 'block-open)))
+	     )))
+	 )
+
+	;; now we need to look at any modifiers
+	(goto-char indent-point)
+	(skip-chars-forward " \t")
+	(if (looking-at "--")
+	    (vhdl-add-syntax 'comment))
+	;; return the syntax
+	vhdl-syntactic-context))))
+
+
+;; Standard indentation line-ups:
+
+(defun vhdl-lineup-arglist (langelem)
+  ;; lineup the current arglist line with the arglist appearing just
+  ;; after the containing paren which starts the arglist.
+  (save-excursion
+    (let* ((containing-sexp
+	    (save-excursion
+	      ;; arglist-cont-nonempty gives relpos ==
+	      ;; to boi of containing-sexp paren. This
+	      ;; is good when offset is +, but bad
+	      ;; when it is vhdl-lineup-arglist, so we
+	      ;; have to special case a kludge here.
+	      (if (memq (car langelem) '(arglist-intro arglist-cont-nonempty))
+		  (progn
+		    (beginning-of-line)
+		    (backward-up-list 1)
+		    (skip-chars-forward " \t" (vhdl-point 'eol)))
+		(goto-char (cdr langelem)))
+	      (point)))
+	   (cs-curcol (save-excursion
+			(goto-char (cdr langelem))
+			(current-column))))
+      (if (save-excursion
+	    (beginning-of-line)
+	    (looking-at "[ \t]*)"))
+	  (progn (goto-char (match-end 0))
+		 (backward-sexp)
+		 (forward-char)
+		 (vhdl-forward-syntactic-ws)
+		 (- (current-column) cs-curcol))
+	(goto-char containing-sexp)
+	(or (eolp)
+	    (let ((eol (vhdl-point 'eol))
+		  (here (progn
+			  (forward-char)
+			  (skip-chars-forward " \t")
+			  (point))))
+	      (vhdl-forward-syntactic-ws)
+	      (if (< (point) eol)
+		  (goto-char here))))
+	(- (current-column) cs-curcol)
+	))))
+
+(defun vhdl-lineup-arglist-intro (langelem)
+  ;; lineup an arglist-intro line to just after the open paren
+  (save-excursion
+    (let ((cs-curcol (save-excursion
+		       (goto-char (cdr langelem))
+		       (current-column)))
+	  (ce-curcol (save-excursion
+		       (beginning-of-line)
+		       (backward-up-list 1)
+		       (skip-chars-forward " \t" (vhdl-point 'eol))
+		       (current-column))))
+      (- ce-curcol cs-curcol -1))))
+
+(defun vhdl-lineup-comment (langelem)
+  ;; support old behavior for comment indentation. we look at
+  ;; vhdl-comment-only-line-offset to decide how to indent comment
+  ;; only-lines
+  (save-excursion
+    (back-to-indentation)
+    ;; at or to the right of comment-column
+    (if (>= (current-column) comment-column)
+	(vhdl-comment-indent)
+      ;; otherwise, indent as specified by vhdl-comment-only-line-offset
+      (if (not (bolp))
+	  (or (car-safe vhdl-comment-only-line-offset)
+	      vhdl-comment-only-line-offset)
+	(or (cdr-safe vhdl-comment-only-line-offset)
+	    (car-safe vhdl-comment-only-line-offset)
+	    -1000			;jam it against the left side
+	    )))))
+
+(defun vhdl-lineup-statement-cont (langelem)
+  ;; line up statement-cont after the assignment operator
+  (save-excursion
+    (let* ((relpos (cdr langelem))
+	   (assignp (save-excursion
+		     (goto-char (vhdl-point 'boi))
+		     (and (re-search-forward "\\(<\\|:\\)="
+					     (vhdl-point 'eol) t)
+			  (- (point) (vhdl-point 'boi)))))
+	   (curcol (progn
+		     (goto-char relpos)
+		     (current-column)))
+	   foundp)
+      (while (and (not foundp)
+		  (< (point) (vhdl-point 'eol)))
+	(re-search-forward "\\(<\\|:\\)=\\|(" (vhdl-point 'eol) 'move)
+	(if (vhdl-in-literal (cdr langelem))
+	    (forward-char)
+	  (if (= (preceding-char) ?\()
+	      ;; skip over any parenthesized expressions
+	      (goto-char (min (vhdl-point 'eol)
+			      (scan-lists (point) 1 1)))
+	    ;; found an assignment operator (not at eol)
+	    (setq foundp (not (looking-at "\\s-*$"))))))
+      (if (not foundp)
+	  ;; there's no assignment operator on the line
+	  vhdl-basic-offset
+	;; calculate indentation column after assign and ws, unless
+	;; our line contains an assignment operator
+	(if (not assignp)
+	    (progn
+	      (forward-char)
+	      (skip-chars-forward " \t")
+	      (setq assignp 0)))
+	(- (current-column) assignp curcol))
+      )))
+
+
+;; Indentation commands:
+
+;; This is used by indent-for-comment to decide how much to indent a
+;; comment in VHDL code based on its context.
+(defun vhdl-comment-indent ()
+  (if (looking-at (concat "^--"))
+      0				;Existing comment at bol stays there.
+    (let ((opoint (point))
+	  placeholder)
+      (save-excursion
+	(beginning-of-line)
+	(cond
+	 ;; CASE 1: use comment-column if previous line is a
+	 ;; comment-only line indented to the left of comment-column
+	 ((save-excursion
+	    (beginning-of-line)
+	    (and (not (bobp))
+		 (forward-line -1))
+	    (skip-chars-forward " \t")
+	    (prog1
+		(looking-at "--")
+	      (setq placeholder (point))))
+	  (goto-char placeholder)
+	  (if (< (current-column) comment-column)
+	      comment-column
+	    (current-column)))
+	 ;; CASE 2: If comment-column is 0, and nothing but space
+	 ;; before the comment, align it at 0 rather than 1.
+	 ((progn
+	    (goto-char opoint)
+	    (skip-chars-backward " \t")
+	    (and (= comment-column 0) (bolp)))
+	  0)
+	 ;; CASE 3: indent at comment column except leave at least one
+	 ;; space.
+	 (t (max (1+ (current-column))
+		 comment-column))
+	 )))))
+
+(defun vhdl-indent-line ()
+  ;; indent the current line as VHDL code. Returns the amount of
+  ;; indentation change
+  (let* ((syntax (vhdl-get-syntactic-context))
+	 (pos (- (point-max) (point)))
+	 (indent (apply '+ (mapcar 'vhdl-get-offset syntax)))
+	 (shift-amt  (- (current-indentation) indent)))
+    (and vhdl-echo-syntactic-information-p
+	 (message "syntax: %s, indent= %d" syntax indent))
+    (if (zerop shift-amt)
+	nil
+      (delete-region (vhdl-point 'bol) (vhdl-point 'boi))
+      (beginning-of-line)
+      (indent-to indent))
+    (if (< (point) (vhdl-point 'boi))
+	(back-to-indentation)
+      ;; If initial point was within line's indentation, position after
+      ;; the indentation.  Else stay at same point in text.
+      (if (> (- (point-max) pos) (point))
+	  (goto-char (- (point-max) pos)))
+      )
+    (run-hooks 'vhdl-special-indent-hook)
+    shift-amt))
+
+(defun vhdl-indent-command (&optional whole-exp)
+  "Indent current line as VHDL code, or in some cases insert a tab character.
+
+If `vhdl-tab-always-indent' is t, always just indent the current line.
+If nil, indent the current line only if point is at the left margin or
+in the line's indentation; otherwise insert a tab.  If other than nil
+or t, then tab is inserted only within literals (comments and strings)
+and inside preprocessor directives, but line is always reindented.
+
+A numeric argument, regardless of its value, means indent rigidly all
+the lines of the expression starting after point so that this line
+becomes properly indented.  The relative indentation among the lines
+of the expression are preserved."
+  (interactive "P")
+  (if whole-exp
+      ;; If arg, always indent this line as VHDL
+      ;; and shift remaining lines of expression the same amount.
+      (let ((shift-amt (vhdl-indent-line))
+	    beg end)
+	(save-excursion
+	  (if (eq vhdl-tab-always-indent t)
+	      (beginning-of-line))
+	  (setq beg (point))
+	  (forward-sexp)
+	  (setq end (point))
+	  (goto-char beg)
+	  (forward-line 1)
+	  (setq beg (point)))
+	(if (> end beg)
+	    (indent-code-rigidly beg end (- shift-amt))))
+    ;; No arg supplied, use vhdl-tab-always-indent to determine
+    ;; behavior
+    (cond
+     ;; CASE 1: indent when at column zero or in lines indentation,
+     ;; otherwise insert a tab
+     ((not vhdl-tab-always-indent)
+      (if (save-excursion
+	    (skip-chars-backward " \t")
+	    (not (bolp)))
+	  (insert-tab)
+	(vhdl-indent-line)))
+     ;; CASE 2: just indent the line
+     ((eq vhdl-tab-always-indent t)
+      (vhdl-indent-line))
+     ;; CASE 3: if in a literal, insert a tab, but always indent the
+     ;; line
+     (t
+      (if (vhdl-in-literal (vhdl-point 'bod))
+	  (insert-tab))
+      (vhdl-indent-line)
+      ))))
+
+(defun vhdl-indent-sexp (&optional endpos)
+  "Indent each line of the list starting just after point.
+If optional arg ENDPOS is given, indent each line, stopping when
+ENDPOS is encountered.  (interactive)"
+  (interactive)
+  (save-excursion
+    (let ((beg (point))
+	  (end (progn
+		 (vhdl-forward-sexp nil endpos)
+		 (point))))
+      (indent-region beg end nil))))
+
+(defun vhdl-show-syntactic-information ()
+  "Show syntactic information for current line."
+  (interactive)
+  (message "syntactic analysis: %s" (vhdl-get-syntactic-context))
+  (vhdl-keep-region-active))
+
+
+;; Verification and regression functions:
+
+(defun vhdl-regress-line (&optional arg)
+  "Check syntactic information for current line."
+  (interactive "P")
+  (let ((expected (save-excursion
+		    (end-of-line)
+		    (if (search-backward " -- ((" (vhdl-point 'bol) t)
+			(progn
+			  (forward-char 4)
+			  (read (current-buffer))))))
+	(actual (vhdl-get-syntactic-context))
+	(expurgated))
+    ;; remove the library unit symbols
+    (mapcar
+     (function
+      (lambda (elt)
+	(if (memq (car elt) '(entity configuration package
+				     package-body architecture))
+	    nil
+	  (setq expurgated (append expurgated (list elt))))))
+     actual)
+    (if (and (not arg) expected (listp expected))
+	(if (not (equal expected expurgated))
+	    (error "Should be: %s, is: %s" expected expurgated))
+      (save-excursion
+	(beginning-of-line)
+	(if (not (looking-at "^\\s-*\\(--.*\\)?$"))
+	    (progn
+	      (end-of-line)
+	      (if (search-backward " -- ((" (vhdl-point 'bol) t)
+		  (kill-line))
+	      (insert " -- ")
+	      (insert (format "%s" expurgated)))))))
+  (vhdl-keep-region-active))
+
+(defun test-vhdl-get-block-state ()
+  (interactive)
+  (let ((case-fold-search t)
+	here vec (delay 0.5))
+    (setq here (point))
+    (message "%s" (prin1-to-string (setq vec (vhdl-get-block-state))))
+    (and (aref vec 0)
+	 (goto-char (aref vec 0))
+	 (sit-for delay))
+    (and (aref vec 1)
+	 (goto-char (aref vec 1))
+	 (sit-for delay))
+    (goto-char here)
+    ))
+
+;; Support for Barry Warsaw's elp (emacs lisp profiler) package:
+
+(setq elp-all-instrumented-list nil)
+(setq elp-function-list
+      '(
+	vhdl-indent-command
+	vhdl-indent-line
+	vhdl-comment-indent
+	vhdl-lineup-statement-cont
+	vhdl-lineup-comment
+	vhdl-lineup-arglist-intro
+	vhdl-lineup-arglist
+	vhdl-get-syntactic-context
+	vhdl-skip-case-alternative
+	vhdl-get-block-state
+	vhdl-get-library-unit
+	vhdl-beginning-of-statement
+	vhdl-beginning-of-statement-1
+	vhdl-beginning-of-defun
+	vhdl-beginning-of-libunit
+	vhdl-backward-sexp
+	vhdl-forward-sexp
+	vhdl-backward-to-block
+	vhdl-statement-p
+	vhdl-end-of-leader
+	vhdl-corresponding-begin
+	vhdl-end-p
+	vhdl-corresponding-end
+	vhdl-corresponding-mid
+	vhdl-begin-p
+	vhdl-corresponding-defun
+	vhdl-defun-p
+	vhdl-libunit-p
+	vhdl-last-word
+	vhdl-first-word
+	vhdl-backward-syntactic-ws
+	vhdl-forward-syntactic-ws
+	vhdl-in-literal
+	vhdl-keep-region-active
+	))
+
+;; (elp-instrument-list elp-function-list)
+
+(defun vhdl-trace-all-functions ()
+  (interactive)
+  (let ((list elp-function-list))
+    (while list
+      (trace-function-background (car list))
+      (setq list (cdr list)))))
+
+
+;; Defuns for submitting bug reports:
+
+(defconst vhdl-version "$Revision: 1.1 $"
+  "vhdl-mode version number.")
+(defconst vhdl-mode-help-address "rwhitby@asc.corp.mot.com"
+  "Address accepting submission of bug reports.")
+
+(defun vhdl-version ()
+  "Echo the current version of vhdl-mode in the minibuffer."
+  (interactive)
+  (message "Using vhdl-mode %s" vhdl-version)
+  (vhdl-keep-region-active))
+
+;; get reporter-submit-bug-report when byte-compiling
+(and (fboundp 'eval-when-compile)
+     (eval-when-compile
+      (require 'reporter)))
+
+(defun vhdl-submit-bug-report ()
+  "Submit via mail a bug report on vhdl-mode."
+  (interactive)
+  ;; load in reporter
+  (and
+   (y-or-n-p "Do you want to submit a report on vhdl-mode? ")
+   (require 'reporter)
+   (reporter-submit-bug-report
+    vhdl-mode-help-address
+    (concat "vhdl-mode " vhdl-version)
+    (list
+     ;; report only the vars that affect indentation
+     'vhdl-basic-offset
+     'vhdl-offsets-alist
+     'vhdl-comment-only-line-offset
+     'vhdl-tab-always-indent
+     'tab-width
+     )
+    (function
+     (lambda ()
+       (insert
+	(if vhdl-special-indent-hook
+	    (concat "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
+		    "vhdl-special-indent-hook is set to '"
+		    (format "%s" vhdl-special-indent-hook)
+		    ".\nPerhaps this is your problem?\n"
+		    "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n\n")
+	  "\n")
+	(format "vhdl-emacs-features: %s\n" vhdl-emacs-features)
+	)))
+    nil
+    "Dear Rod,"
+    )))
+
+(provide 'vhdl-mode)
+;;; vhdl-mode.el ends here
--- a/lisp/mu/latex-math-symbol.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mu/latex-math-symbol.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/7/1
 ;; Version:
-;;    $Id: latex-math-symbol.el,v 1.1 1996/12/22 00:35:05 steve Exp $
+;;    $Id: latex-math-symbol.el,v 1.2 1996/12/29 00:14:59 steve Exp $
 ;; Keywords: LaTeX, math, mule
 
 ;; This file is part of MU (Message Utilities).
--- a/lisp/mu/mu-cite.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/mu/mu-cite.el	Mon Aug 13 08:47:52 2007 +0200
@@ -6,7 +6,7 @@
 ;;         MINOURA Makoto <minoura@netlaputa.or.jp>
 ;;         Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
 ;; Maintainer: Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;; Version: $Revision: 1.2 $
+;; Version: $Revision: 1.3 $
 ;; Keywords: mail, news, citation
 
 ;; This file is part of tl (Tiny Library).
@@ -54,7 +54,7 @@
 ;;;
 
 (defconst mu-cite/RCS-ID
-  "$Id: mu-cite.el,v 1.2 1996/12/22 00:29:20 steve Exp $")
+  "$Id: mu-cite.el,v 1.3 1996/12/29 00:15:00 steve Exp $")
 (defconst mu-cite/version (get-version-string mu-cite/RCS-ID))
 
 
--- a/lisp/mu/tl-822.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-;;; tl-822.el --- RFC 822 parser for GNU Emacs
-
-;; Copyright (C) 1995,1996 Free Software Foundation, Inc.
-
-;; Author:   MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: mail, news, RFC 822
-
-;; This file is part of MU (Message Utilities).
-
-;; This program 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.
-
-;; This program 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 This program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'tl-seq)
-(require 'tl-str)
-(require 'std11)
-
-
-(defconst rfc822/RCS-ID
-  "$Id: tl-822.el,v 1.2 1996/12/22 00:29:21 steve Exp $")
-(defconst rfc822/version (get-version-string rfc822/RCS-ID))
-
-
-;;; @ header
-;;;
-
-(defalias 'rfc822/narrow-to-header	'std11-narrow-to-header)
-(defalias 'rfc822/get-header-string	'std11-header-string)
-(defalias 'rfc822/get-header-string-except 'std11-header-string-except)
-(defalias 'rfc822/get-field-names	'std11-collect-field-names)
-
-
-;;; @ field
-;;;
-
-(defalias 'rfc822/field-end		'std11-field-end)
-(defalias 'rfc822/get-field-body	'std11-field-body)
-(defalias 'rfc822/get-field-bodies	'std11-field-bodies)
-
-
-;;; @ quoting
-;;;
-
-(defconst rfc822/quoted-pair-regexp "\\\\.")
-(defconst rfc822/qtext-regexp
-  (concat "[^" (char-list-to-string std11-non-qtext-char-list) "]"))
-(defconst rfc822/quoted-string-regexp
-  (concat "\""
-	  (regexp-*
-	   (regexp-or rfc822/qtext-regexp rfc822/quoted-pair-regexp)
-	   )
-	  "\""))
-
-(defalias 'rfc822/wrap-as-quoted-string 'std11-wrap-as-quoted-string)
-(defalias 'rfc822/strip-quoted-string	'std11-strip-quoted-string)
-
-
-;;; @ unfolding
-;;;
-
-(defalias 'rfc822/unfolding-string 'std11-unfold-string)
-
-
-;;; @ lexical analyze
-;;;
-
-(defalias 'rfc822/lexical-analyze 'std11-lexical-analyze)
-
-
-;;; @ parser
-;;;
-
-(defalias 'rfc822/parse-address		'std11-parse-address)
-(defalias 'rfc822/parse-addresses	'std11-parse-addresses)
-(defalias 'rfc822/address-string	'std11-address-string)
-(defalias 'rfc822/full-name-string	'std11-full-name-string)
-(defalias 'rfc822/extract-address-components
-  'std11-extract-address-components)
-
-
-;;; @ end
-;;;
-
-(provide 'tl-822)
-
-;;; tl-822.el ends here
--- a/lisp/packages/apropos.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/packages/apropos.el	Mon Aug 13 08:47:52 2007 +0200
@@ -562,7 +562,8 @@
 	  (apropos-print-doc 'describe-variable 2
 			     "Variable" do-keys)
 	  (apropos-print-doc 'apropos-describe-plist 3
-			     "Plist" nil)))))
+			     "Plist" nil))))
+    (shrink-window-if-larger-than-buffer (get-buffer-window "*Apropos*")))
   (prog1 apropos-accumulator
     (setq apropos-accumulator ())))	; permit gc
 
--- a/lisp/packages/font-lock.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/packages/font-lock.el	Mon Aug 13 08:47:52 2007 +0200
@@ -26,7 +26,8 @@
 
 ;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
 
 ;;; Synched up with: FSF 19.30 except for the code to initialize the faces.
 
@@ -75,7 +76,7 @@
 ;; the former is subdued, the latter is loud.
 ;;
 ;; You can make font-lock default to the gaudier variety of keyword
-;; highlighting by setting the variable `font-lock-use-maximal-decoration'
+;; highlighting by setting the variable `font-lock-maximum-decoration'
 ;; before loading font-lock, or by calling the functions
 ;; `font-lock-use-default-maximal-decoration' or
 ;; `font-lock-use-default-minimal-decoration'.
@@ -139,6 +140,8 @@
 
 ;;; Code:
 
+(require 'fontl-hooks)
+
 ;;;;;;;;;;;;;;;;;;;;;;      user variables       ;;;;;;;;;;;;;;;;;;;;;;
 
 (defvar font-lock-verbose t
@@ -1504,8 +1507,10 @@
 
 (put 'java-mode 'font-lock-defaults 
      '((java-font-lock-keywords
-	java-font-lock-keywords-1 java-font-lock-keywords-2)
-       nil nil ((?_ . "w")) beginning-of-defun))
+	java-font-lock-keywords-1 java-font-lock-keywords-2
+	java-font-lock-keywords-3)
+       nil nil ((?_ . "w")) beginning-of-defun
+       (font-lock-mark-block-function . mark-defun)))
 
 (put 'lisp-mode 'font-lock-defaults
      '((lisp-font-lock-keywords
@@ -2167,173 +2172,273 @@
 ;(defconst c++-font-lock-keywords c++-font-lock-keywords-1
 ;  "Additional expressions to highlight in C++ mode.")
 
+;; Java support from Anders Lindgren and Bob Weiner
+
 (defconst java-font-lock-keywords-1 nil
  "For consideration as a value of `java-font-lock-keywords'.
 This does fairly subdued highlighting.")
 
 (defconst java-font-lock-keywords-2 nil
  "For consideration as a value of `java-font-lock-keywords'.
-This does a lot more highlighting.")
+This adds highlighting of types and identifier names.")
+
+(defconst java-font-lock-keywords-3 nil
+ "For consideration as a value of `java-font-lock-keywords'.
+This adds highlighting of Java documentation tags, such as @see.")
+
+(defvar java-font-lock-type-regexp
+  (concat "\\<\\(boolean\\|byte\\|char\\|double\\|float\\|int"
+         "\\|long\\|short\\|void\\)\\>")
+  "Regexp which should match a primitive type.")
+
+(let ((capital-letter "A-Z\300-\326\330-\337")
+      (letter "a-zA-Z_$\300-\326\330-\366\370-\377")
+      (digit  "0-9"))
+(defvar java-font-lock-identifier-regexp
+  (concat "\\<\\([" letter "][" letter digit "]*\\)\\>")
+  "Regexp which should match all Java identifiers.")
+
+(defvar java-font-lock-class-name-regexp
+  (concat "\\<\\([" capital-letter "][" letter digit "]*\\)\\>")
+  "Regexp which should match a class or an interface name.
+The name is assumed to begin with a capital letter.")
+)
+
 
-(let ((storage (concat "static\\|abstract\\|const\\|final\\|"
-		       "synchronized\\|threadsafe\\|transient\\|native"))
-      (types (concat
-	      "boolean\\|int\\|char\\|byte\\|short\\|long\\|"
-	      "float\\|double\\|void"))
-      (reserved-words
-       '("private" "protected" "public" "break" "byvalue"
-	 "case" "catch" "class"
-	 "continue" "default" "do" "else if"
-	 "else" "extends" "false" "finally"
-	 "for" "if" "implements" "import"
-	 "instanceof" "interface"
-	 "new" "null" "package" "return"
-	 "super" "switch"
-	 "this" "throw" "throws"
-	 "true" "try" "synchronize" "while"))
+(let ((java-modifier-regexp
+       (concat "\\<\\(abstract\\|const\\|final\\|native\\|"
+	       "private\\|protected\\|public\\|"
+	       "static\\|synchronized\\|transient\\|volatile\\)\\>")))
 
-;      (java-token "\\w+")
-      (java-token "[a-zA-Z0-9_\.]+")
-      (java-modifying-token "[a-zA-Z0-9_\.]+\\([ \t]*\\[\\]\\)?")
-      )
+  ;; Basic font-lock support:
   (setq java-font-lock-keywords-1
-   (list
-    ;;------------------------------------------------------------------
-    ;; fontify C++-style comments as comments.
-    ;;------------------------------------------------------------------
+	(list
+	 ;; Keywords:
+	 (list        
+	  (concat
+	   "\\<\\("
+	   "break\\|byvalue\\|"
+	   "case\\|cast\\|catch\\|class\\|continue\\|"
+	   "do\\|else\\|extends\\|"
+	   "finally\\|for\\|future\\|"
+	   "generic\\|goto\\|"
+	   "if\\|implements\\|import\\|"
+	   "instanceof\\|interface\\|"
+	   "new\\|package\\|return\\|switch\\|"
+	   "throws?\\|try\\|while\\)\\>")
+	  1 'font-lock-keyword-face)
 
-    '("//.*" . font-lock-comment-face)
+	 ;; Modifiers:
+	 (list java-modifier-regexp 1 font-lock-type-face)
 
-    ;;------------------------------------------------------------------
-    ;; I think static deserves special attention
-    ;;------------------------------------------------------------------
-
-    '("static" . font-lock-keyword-face)
+	 ;; Special constants:
+	 '("\\<\\(this\\|super\\)\\>" (1 font-lock-reference-face))
+	 '("\\<\\(false\\|null\\|true\\)\\>" (1 font-lock-keyword-face))
 
-    ;;------------------------------------------------------------------
-    ;; Make the "public" keyword standout (should we do private instead?)
-    ;;------------------------------------------------------------------
-
-    ;; these depend on some personal SMF faces
+	 ;; Class names:
+	 (list (concat "\\<class\\>\\s *" java-font-lock-identifier-regexp)
+	       1 'font-lock-function-name-face)
 
-    ;; I wish I knew elisp, etc enough to know if it's
-    ;; faster to use 1 regex for n words, or n
-    ;; unglobbed entries in this list...
+	 ;; Package declarations:
+	 (list (concat "\\<\\(package\\|import\\)\\>\\s *"
+		       java-font-lock-identifier-regexp)
+	       '(2 font-lock-reference-face)
+	       (list (concat
+		      "\\=\\.\\(" java-font-lock-identifier-regexp "\\)")
+		     nil nil '(1 (if (= (char-after (match-end 0)) ?.)
+				     'font-lock-reference-face
+				   'font-lock-type-face))))
 
-    ;; '("private" . font-lock-pale-face)
-    ;; '("protected" . font-lock-pale-face)
-
-    ;;------------------------------------------------------------------
-    ;; special case so "new Foo();" doesn't map to method declaration
-    ;;------------------------------------------------------------------
+	 ;; Constructors:
+	 (list (concat
+		"^\\s *\\(" java-modifier-regexp "\\s +\\)*"
+		java-font-lock-class-name-regexp "\\s *\(")
+	       (list 3
+		     '(condition-case nil
+			  (save-excursion
+			    (goto-char (scan-sexps (- (match-end 0) 1) 1))
+			    (parse-partial-sexp (point) (point-max) nil t)
+			    (and (looking-at "\\($\\|\\<throws\\>\\|{\\)")
+				 'font-lock-function-name-face))
+			(error 'font-lock-function-name-face))))
 
-    (list (concat
-	   "^.*[ \t]+\\(new\\|return\\)[ \t]+"
-	   "\\(" java-token "\\)")
-	  2 'default)
-
-    ;;------------------------------------------------------------------
-    ;; special case so "else if();" doesn't map to method declaration
-    ;;------------------------------------------------------------------
+	 ;; Methods:
+	 (list (concat "\\(" java-font-lock-type-regexp "\\|"
+		       java-font-lock-class-name-regexp "\\)"
+		       "\\s *\\(\\[\\s *\\]\\s *\\)*"
+		       java-font-lock-identifier-regexp "\\s *\(")
+	       5
+	       'font-lock-function-name-face)
 
-    (list "^.*[ \t]+else[ \t]+\\(if\\)"
-	  1 'default)
+	 ;; Labels:
+	 (list ":"
+	       (list
+		(concat "^\\s *" java-font-lock-identifier-regexp "\\s *:")
+		'(beginning-of-line) '(end-of-line)
+		'(1 font-lock-reference-face)))
 
-    ;;------------------------------------------------------------------
-    ;; METHOD IDENTIFICATION
-    ;;
-    ;; fontify the (first word of) names of methods being defined.
-    ;;------------------------------------------------------------------
+	 ;; `break' and continue' destination labels:
+	 (list (concat "\\<\\(break\\|continue\\)\\>\\s *"
+		       java-font-lock-identifier-regexp)
+	       2 'font-lock-reference-face)
 
-    (list (concat
-	   "^[ \t]+"			;; indent of line
+	 ;; Case statements:
+	 ;; In Java, any constant expression is allowed.
+	 '("\\<case\\>\\s *\\(.*\\):" 1 font-lock-reference-face)))
+
+  ;; Types and declared variable names:
+  (setq java-font-lock-keywords-2
+	(append 
 
-	   ;;-------------------------------------------------------
-	   ;; Demanding a token 1st doesn't recognize constructors
-	   ;; w/out any access specifiers.  Unfortunately, that also
-	   ;; looks like many other things, including "if (foo) {",
-	   ;; so it's not an easy case to detect -- I'm just going
-	   ;; to live w/out it for now...
-	   ;;-------------------------------------------------------
+	 java-font-lock-keywords-1
+	 (list
+	  ;; Keywords followed by a type:
+	  (list (concat "\\<\\(extends\\|instanceof\\|new\\)\\>\\s *"
+			java-font-lock-identifier-regexp)
+		'(2 (if (= (char-after (match-end 0)) ?.)
+			'font-lock-reference-face 'font-lock-type-face))
+		(list (concat "\\=\\." java-font-lock-identifier-regexp)
+		      '(goto-char (match-end 0)) nil
+		      '(1 (if (= (char-after (match-end 0)) ?.)
+			      'font-lock-reference-face 'font-lock-type-face))))
 
-	   "\\(" java-modifying-token "[ \t]+\\)"
+	  ;; Keywords followed by a type list:
+	  (list (concat "\\<\\(implements\\|throws\\)\\>\\ s*"
+			java-font-lock-identifier-regexp)
+		'(2 (if (= (char-after (match-end 0)) ?.)
+			font-lock-reference-face font-lock-type-face))
+		(list (concat "\\=\\(\\.\\|\\s *\\(,\\)\\s *\\)"
+			      java-font-lock-identifier-regexp)
+		      '(goto-char (match-end 0)) nil
+		      '(3 (if (= (char-after (match-end 0)) ?.)
+			      font-lock-reference-face font-lock-type-face))))
 
-;	   "\\("
-;	   "\\(^[ \t]+\\(" java-token "[ \t]+\\)\\)"
-;	   "\\|"
-;	   "\\(    \\)"
-;	   "\\)"
-; failed attempt to hack in ^ followed by exactly 4 spaces allowance to
-; recognize constructions with no access specified
+	  ;; primitive types, can't be confused with anything else.
+	  (list java-font-lock-type-regexp
+		'(1 font-lock-type-face)
+		'(font-lock-match-java-declarations
+		  (goto-char (match-end 0))
+		  (goto-char (match-end 0))
+		  (0 font-lock-variable-name-face)))
 
-	   "\\(" java-modifying-token "[ \t]+\\)?"
-	   "\\(" java-modifying-token "[ \t]+\\)?"
-	   "\\(" java-modifying-token "[ \t]+\\)?"
-	   "\\(" java-modifying-token "[ \t]+\\)?"
-	   "\\(" java-modifying-token "[ \t]+\\)?"
-	   "\\(" java-token "\\)[ \t]*(")
-
-	 ;  "\\(" java-token "\\)[ \t]*(.*{")
-
-	  ;; SMF: while demanding { at EOL is stylistic,
-	  ;; it DOESN'T hilite the likes of:
-	  ;; return new Dimension()
-	  ;;	   "\\(" java-token "\\)[ \t]*(")
-	  ;; PROBLEM -- it leaves out abstract and native methods!
-
-	  13 'font-lock-function-name-face)
+	  ;; Declarations, class types and capitalized variables:
+	  ;;
+	  ;; Declarations are easy to recognize.  Capitalized words
+	  ;; followed by a closing parenthesis are treated as casts if they
+	  ;; also are followed by an expression.  Expressions beginning with
+	  ;; a unary numerical operator, e.g. +, can't be cast to an object
+	  ;; type.
+	  ;;
+	  ;; The path of a fully qualified type, e.g. java.lang.Foo, is
+	  ;; fontified in the reference face.
+	  ;;
+	  ;; An access to a static field, e.g. System.out.println, is
+	  ;; not fontified since it can't be distinguished from the
+	  ;; usage of a capitalized variable, e.g. Foo.out.println.
 
-    ;;------------------------------------------------------------------
-    ;; Fontify class names ...
-    ;; (info-node is another personal SMF face)
-    ;;------------------------------------------------------------------
-    
-    (list (concat
-	   "^[ \t]*\\([a-z]+[ \t]+\\)?\\([a-z]+[ \t]+\\)?class[ \t]+\\("
-	   java-token "\\)")
-	  3 'font-lock-reference-face)
+	  (list (concat java-font-lock-class-name-regexp
+			"\\s *\\(\\[\\s *\\]\\s *\\)*"
+			"\\(\\<\\|$\\|)\\s *\\([\(\"]\\|\\<\\)\\)")
+		'(1 (save-match-data
+		      (save-excursion
+			(goto-char
+			 (match-beginning 3))
+			(if (not (looking-at "\\<instanceof\\>"))
+			    'font-lock-type-face))))
+		(list (concat "\\=" java-font-lock-identifier-regexp "\\.")
+		      '(progn
+			 (goto-char (match-beginning 0))
+			 (while (or (= (preceding-char) ?.)
+				    (= (char-syntax (preceding-char)) ?w))
+			   (backward-char)))
+		      '(goto-char (match-end 0))
+		      '(1 font-lock-reference-face)
+		      '(0 nil))		; Workaround for bug in XEmacs.
+		'(font-lock-match-java-declarations
+		  (goto-char (match-end 1))
+		  (goto-char (match-end 0))
+		  (1 font-lock-variable-name-face))))))
 
-    ;;------------------------------------------------------------------
-    ;; Package names 
-    ;;------------------------------------------------------------------
-
-    (list (concat
-	   "package[ \t]+\\(" java-token "\\)")
-	  1 'font-lock-reference-face)
-
-    ;;
-    ;; Fontify case clauses.  This is fast because its anchored on the left.
+  ;; Modifier keywords and Java doc tags
+  (setq java-font-lock-keywords-3
+	(append
 
-    '("case[ \t]+\\(\\(\\sw\\|\\s_\\)+\\):". 1)
-    '("\\<\\(default\\):". 1)
-    ))
+	 '(
+	   ;; Feature scoping:
+	   ;; These must come first or the Modifiers from keywords-1 will
+	   ;; catch them.  We don't want to use override fontification here
+	   ;; because then these terms will be fontified within comments.
+	   ("\\<private\\>"   0 font-lock-string-face)
+	   ("\\<protected\\>" 0 font-lock-preprocessor-face)
+	   ("\\<public\\>"    0 font-lock-reference-face))
+
+	 java-font-lock-keywords-2
+
+	 (list
+
+	  ;; Java doc tags
+	  '("@\\(author\\|exception\\|param\\|return\\|see\\|version\\)\\s "
+	    0 font-lock-keyword-face t)
 
-  (setq java-font-lock-keywords-2
-   (append java-font-lock-keywords-1
-    (list
-     ;;
-     ;; fontify all storage classes and type specifiers
-     (cons (concat "\\<\\(" storage "\\)\\>") 'font-lock-type-face)
-     (cons (concat "\\<\\(" types "\\)\\>") 'font-lock-type-face)
-     
-     ;;
-     ;; fontify all builtin tokens
-	    (cons (concat
-		   "[ \t]\\("
-		   (mapconcat 'identity reserved-words "\\|")
-		   "\\)[ \t\n(){};,]")
-		  1)
-	    (cons (concat
-		   "^\\("
-		   (mapconcat 'identity reserved-words "\\|")
-		   "\\)[ \t\n(){};,]")
-		  1)
-	    )))
+	  ;; Doc tag - Parameter identifiers
+	  (list (concat "@param\\s +" java-font-lock-identifier-regexp)
+		1 'font-lock-variable-name-face t)
+
+	  ;; Doc tag - Exception types
+	  (list (concat "@exception\\ s*"
+			java-font-lock-identifier-regexp)
+		'(1 (if (= (char-after (match-end 0)) ?.)
+			font-lock-reference-face font-lock-type-face) t)
+		(list (concat "\\=\\." java-font-lock-identifier-regexp)
+		      '(goto-char (match-end 0)) nil
+		      '(1 (if (= (char-after (match-end 0)) ?.)
+			      'font-lock-reference-face 'font-lock-type-face) t)))
+
+	  ;; Doc tag - Cross-references, usually to methods 
+	  '("@see\\s +\\(\\S *[^][ \t\n\r\f(){},.;:]\\)"
+	    1 font-lock-function-name-face t)
+
+	  )))
   )
 
 (defvar java-font-lock-keywords java-font-lock-keywords-1
   "Additional expressions to highlight in Java mode.")
 
+;; Match and move over any declaration/definition item after
+;; point.  Does not match items which look like a type declaration
+;; (primitive types and class names, i.e. capitalized words.)
+;; Should the variable name be followed by a comma, we reposition
+;; the cursor to fontify more identifiers.
+(defun font-lock-match-java-declarations (limit)
+  "Match and skip over variable definitions."
+  (if (looking-at "\\s *\\(\\[\\s *\\]\\s *\\)*")
+      (goto-char (match-end 0)))
+  (and
+   (looking-at java-font-lock-identifier-regexp)
+   (save-match-data
+     (not (string-match java-font-lock-type-regexp
+			(buffer-substring (match-beginning 1)
+					  (match-end 1)))))
+   (save-match-data
+     (save-excursion
+       (goto-char (match-beginning 1))
+       (not (looking-at
+	     (concat java-font-lock-class-name-regexp
+		     "\\s *\\(\\[\\s *\\]\\s *\\)*\\<")))))
+   (save-match-data
+     (condition-case nil
+	 (save-restriction
+	   (narrow-to-region (point-min) limit)
+	   (goto-char (match-end 0))
+	   ;; Note: Both `scan-sexps' and the second goto-char can
+	   ;; generate an error which is caught by the
+	   ;; `condition-case' expression.
+	   (while (not (looking-at "\\s *\\(\\(,\\)\\|;\\|$\\)"))
+	     (goto-char (or (scan-sexps (point) 1) (point-max))))
+	   (goto-char (match-end 2)))   ; non-nil
+       (error t)))))
+
+
 (defvar tex-font-lock-keywords
 ;  ;; Regexps updated with help from Ulrik Dickow <dickow@nbi.dk>.
 ;  '(("\\\\\\(begin\\|end\\|newcommand\\){\\([a-zA-Z0-9\\*]+\\)}"
--- a/lisp/packages/fontl-hooks.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/packages/fontl-hooks.el	Mon Aug 13 08:47:52 2007 +0200
@@ -72,15 +72,15 @@
 that is allowable as a value for `font-lock-defaults' and will be
 used to initialize the Font Lock variables."
 
-  (if (not (featurep 'font-lock))
-      nil
-    (if (or (and font-lock-auto-fontify
-		 (not (memq major-mode font-lock-mode-disable-list)))
-	    (and (not font-lock-auto-fontify)
-		 (memq major-mode font-lock-mode-enable-list)))
-	(if (and (font-lock-set-defaults-1 explicit-defaults)
-		 font-lock-keywords)
-	    (turn-on-font-lock)))))
+  (when
+      (and
+       (featurep 'font-lock)
+       (if font-lock-auto-fontify
+	   (not (memq major-mode font-lock-mode-disable-list))
+	 (memq major-mode font-lock-mode-enable-list))
+       (font-lock-set-defaults-1 explicit-defaults)
+       font-lock-keywords)
+    (turn-on-font-lock)))
 
 (provide 'fontl-hooks)
 
--- a/lisp/packages/jwz-man.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,529 +0,0 @@
-;;; man.el --- browse UNIX manual pages
-;; Keywords: help
-
-;; Copyright (C) 1985, 1993, 1994, 1996 Free Software Foundation, Inc.
-;;
-;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;; This file defines "manual-entry", and the remaining definitions all
-;; begin with "Manual-".  This makes the autocompletion on "M-x man" work.
-;; 
-;; Eviscerated 26-Jun-96 by Jamie Zawinski <jwz@netscape.com>.
-;; All that stuff about looking at $MANPATH and building up lists of 
-;; directories was bullshit.  Now we just invoke "man" and format the
-;; output, end of story.
-;;
-;; [ older changelog entries removed, since they're all about code that
-;;   I've deleted. ]
-
-(defvar Manual-program "man" "\
-*Name of the program to invoke in order to format the source man pages.")
-
-(defvar Manual-buffer-view-mode t "\
-*Whether manual buffers should be placed in view-mode.
-nil means leave the buffer in fundamental-mode in another window.
-t means use `view-buffer' to display the man page in the current window.
-Any other value means use `view-buffer-other-window'.")
-
-(defvar Manual-mode-hook nil
-  "Function or functions run on entry to Manual-mode.")
-
-(defvar Manual-page-history nil "\
-A list of names of previously visited man page buffers.")
-
-
-;; New variables.
-
-(make-face 'man-italic)
-(or (face-differs-from-default-p 'man-italic)
-    (copy-face 'italic 'man-italic))
-;; XEmacs (from Darrell Kindred): underlining is annoying due to
-;; large blank spaces in this face.
-;; (or (face-differs-from-default-p 'man-italic)
-;;    (set-face-underline-p 'man-italic t))
-
-(make-face 'man-bold)
-(or (face-differs-from-default-p 'man-bold)
-    (copy-face 'bold 'man-bold))
-(or (face-differs-from-default-p 'man-bold)
-    (copy-face 'man-italic 'man-bold))
-
-(make-face 'man-heading)
-(or (face-differs-from-default-p 'man-heading)
-    (copy-face 'man-bold 'man-heading))
-
-(make-face 'man-xref)
-(or (face-differs-from-default-p 'man-xref)
-    (set-face-underline-p 'man-xref t))
-
-(defvar Manual-mode-map
-  (let ((m (make-sparse-keymap)))
-    (set-keymap-name m 'Manual-mode-map)
-    (define-key m "l" 'Manual-last-page)
-    (define-key m 'button2 'Manual-follow-xref)
-    (define-key m 'button3 'Manual-popup-menu)
-    m))
-
-;;;###autoload
-(defun manual-entry (topic &optional arg silent)
-  "Display the Unix manual entry (or entries) for TOPIC."
-  (interactive
-   (list (let* ((fmh "-A-Za-z0-9_.")
-		(default (save-excursion
-			   (buffer-substring
-			    (progn
-			      (re-search-backward "\\sw" nil t)
-			      (skip-chars-backward fmh) (point))
-			    (progn (skip-chars-forward fmh) (point)))))
-		(thing (read-string
-			(if (equal default "") "Manual entry: "
-			  (concat "Manual entry: (default " default ") ")))))
-	   (if (equal thing "") default thing))
-	 (prefix-numeric-value current-prefix-arg)))
-  ;;(interactive "sManual entry (topic): \np")
-  (or arg (setq arg 1))
-  (let (section apropos-mode)
-    (let ((case-fold-search nil))
-      (if (and (null section)
-	       (string-match "\\`[ \t]*\\([^( \t]+\\)[ \t]*(\\(.+\\))[ \t]*\\'"
-			     topic))
-	  (setq section (substring topic (match-beginning 2)
-				   (match-end 2))
-		topic (substring topic (match-beginning 1)
-				 (match-end 1)))
-	(if (string-match "\\`[ \t]*-k[ \t]+\\([^ \t]+\\)\\'" topic)
-	    (setq section "-k"
-		  topic (substring topic (match-beginning 1))))))
-
-    ;; jwz: turn section "3x11" and "3n" into "3".
-    (if (and section (string-match "\\`\\([0-9]+\\)[^0-9]" section))
-	(setq section (substring section 0 (match-end 1))))
-    (if (equal section "-k")
-	(setq apropos-mode t))
-
-    (let ((bufname (cond (apropos-mode
-			  (concat "*man apropos " topic "*"))
-			 (t
-			  (concat "*man " topic
-				  (if section (concat "." section) "")
-				  "*"))))
-	  (temp-buffer-show-function 
-	   (cond ((eq 't Manual-buffer-view-mode)
-		  'view-buffer)
-		 ((eq 'nil Manual-buffer-view-mode)
-		  temp-buffer-show-function)
-		 (t
-		  'view-buffer-other-window))))
-
-      (cond ((get-buffer bufname)
-	     ;; reselect an old man page buffer if it exists already.
-	     (save-excursion
-	       (set-buffer (get-buffer bufname))
-	       (Manual-mode))
-	     (if temp-buffer-show-function
-		 (funcall temp-buffer-show-function (get-buffer bufname))
-	       (display-buffer bufname)))
-	    (t
-	     (with-output-to-temp-buffer bufname
-	       (buffer-disable-undo standard-output)
-	       (save-excursion
-		 (set-buffer standard-output)
-		 (setq buffer-read-only nil)
-		 (erase-buffer)
-
-		 (let ((args (list topic))
-		       args-string)
-		   (if section
-		       (setq args
-			     (if (eq system-type 'usg-unix-v)
-				 (cons "-s" (cons section args))
-			       (cons section args))))
-		   (setq args-string
-			 (mapconcat 'identity (cons Manual-program args) " "))
-		   (if (string-match "\\`\\([^ \t/]*/\\)+" args-string)
-		       (setq args-string
-			     (substring args-string (match-end 0))))
-
-		   (message "%s (running...)" args-string)
-		   (apply 'call-process Manual-program nil t nil args)
-
-		   (if (< (buffer-size) 200)
-		       (progn
-			 (goto-char (point-min))
-			 (error (buffer-substring (point)
-						  (progn (end-of-line)
-							 (point))))))
-
-		   (message "%s (cleaning...)" args-string)
-		   (Manual-nuke-nroff-bs apropos-mode)
-		   (message "%s (done.)" args-string)
-		   )
-
-		 (set-buffer-modified-p nil)
-		 (Manual-mode)
-		 ))))
-      (setq Manual-page-history
-	    (cons (buffer-name)
-		  (delete (buffer-name) Manual-page-history)))))
-  (message nil)
-  t)
-
-(defun Manual-mode ()
-  (kill-all-local-variables)
-  (setq buffer-read-only t)
-  (use-local-map Manual-mode-map)
-  (setq major-mode 'Manual-mode
-	mode-name "Manual")
-  ;; man pages with long lines are buggy!
-  ;; This looks slightly better if they only
-  ;; overran by a couple of chars.
-  (setq truncate-lines t)
-  ;; turn off horizontal scrollbars in this buffer
-  (set-specifier scrollbar-height (cons (current-buffer) 0))
-  (run-hooks 'Manual-mode-hook))
-
-(defun Manual-last-page ()
-  (interactive)
-  (while (or (not (get-buffer (car (or Manual-page-history
-				       (error "No more history.")))))
-	     (eq (get-buffer (car Manual-page-history)) (current-buffer)))
-    (setq Manual-page-history (cdr Manual-page-history)))
-  (switch-to-buffer (car Manual-page-history)))
-
-
-(defmacro Manual-delete-char (n)
-  ;; in v19, delete-char is compiled as a function call, but delete-region
-  ;; is byte-coded, so it's much faster.  (We were spending 40% of our time
-  ;; in delete-char alone.)
-  (list 'delete-region '(point) (list '+ '(point) n)))
-
-;; Hint: BS stands form more things than "back space"
-(defun Manual-nuke-nroff-bs (&optional apropos-mode)
-  (interactive "*")
-  ;;
-  ;; turn underlining into italics
-  ;;
-  (goto-char (point-min))
-  (while (search-forward "_\b" nil t)
-    ;; searching for underscore-backspace and then comparing the following
-    ;; chars until the sequence ends turns out to be much faster than searching
-    ;; for a regexp which matches the whole sequence.
-    (let ((s (match-beginning 0)))
-      (goto-char s)
-      (while (and (= (following-char) ?_)
-		  (= (char-after (1+ (point))) ?\b))
-	(Manual-delete-char 2)
-	(forward-char 1))
-      (set-extent-face (make-extent s (point)) 'man-italic)))
-  ;;
-  ;; turn overstriking into bold
-  ;;
-  (goto-char (point-min))
-  (while (re-search-forward "\\([^\n]\\)\\(\b\\1\\)" nil t)
-    ;; Surprisingly, searching for the above regexp is faster than searching
-    ;; for a backspace and then comparing the preceding and following chars,
-    ;; I presume because there are many false matches, meaning more funcalls
-    ;; to re-search-forward.
-    (let ((s (match-beginning 0)))
-      (goto-char s)
-      ;; Some systems (SGI) overstrike multiple times, eg, "M\bM\bM\bM".
-      (while (looking-at "\\([^\n]\\)\\(\b\\1\\)+")
-	(delete-region (+ (point) 1) (match-end 0))
-	(forward-char 1))
-      (set-extent-face (make-extent s (point)) 'man-bold)))
-  ;;
-  ;; hack bullets: o^H+ --> +
-  (goto-char (point-min))
-  (while (search-forward "\b" nil t)
-    (Manual-delete-char -2))
-
-  (if (> (buffer-size) 100) ; minor kludge
-      (Manual-nuke-nroff-bs-footers))
-  ;;
-  ;; turn subsection header lines into bold
-  ;;
-  (goto-char (point-min))
-  (if apropos-mode
-      (while (re-search-forward "[a-zA-Z0-9] ([0-9]" nil t)
-	(forward-char -2)
-	(delete-backward-char 1))
-
-    ;;    (while (re-search-forward "^[^ \t\n]" nil t)
-    ;;      (set-extent-face (make-extent (match-beginning 0)
-    ;;                                   (progn (end-of-line) (point)))
-    ;;                      'man-heading))
-
-    ;; boldface the first line
-    (if (looking-at "[^ \t\n].*$")
-	(set-extent-face (make-extent (match-beginning 0) (match-end 0))
-			 'man-bold))
-
-    ;; boldface subsequent title lines
-    ;; Regexp to match section headers changed to match a non-indented
-    ;; line preceded by a blank line and followed by an indented line. 
-    ;; This seems to work ok for manual pages but gives better results
-    ;; with other nroff'd files
-    (while (re-search-forward "\n\n\\([^ \t\n].*\\)\n[ \t]+[^ \t\n]" nil t)
-      (goto-char (match-end 1))
-      (set-extent-face (make-extent (match-beginning 1) (match-end 1))
-		       'man-heading)
-      (forward-line 1))
-    )
-
-  ;; Zap ESC7,  ESC8, and ESC9
-  ;; This is for Sun man pages like "man 1 csh"
-  (goto-char (point-min))
-  (while (re-search-forward "\e[789]" nil t)
-    (replace-match ""))
-  
-  ;; Nuke blanks lines at start.
-  ;;  (goto-char (point-min))
-  ;;  (skip-chars-forward "\n")
-  ;;  (delete-region (point-min) (point))
-
-  (Manual-mouseify-xrefs)
-  )
-
-(fset 'nuke-nroff-bs 'Manual-nuke-nroff-bs) ; use old name
-
-
-(defun Manual-nuke-nroff-bs-footers ()
-  ;; Nuke headers and footers.
-  ;;
-  ;; nroff assumes pages are 66 lines high.  We assume that, and that the
-  ;; first and last line on each page is expendible.  There is no way to
-  ;; tell the difference between a page break in the middle of a paragraph
-  ;; and a page break between paragraphs (the amount of extra whitespace
-  ;; that nroff inserts is the same in both cases) so this might strip out
-  ;; a blank line were one should remain.  I think that's better than
-  ;; leaving in a blank line where there shouldn't be one.  (Need I say
-  ;; it: FMH.)
-  ;;
-  ;; Note that if nroff spits out error messages, pages will be more than
-  ;; 66 lines high, and we'll lose badly.  That's ok because standard
-  ;; nroff doesn't do any diagnostics, and the "gnroff" wrapper for groff
-  ;; turns off error messages for compatibility.  (At least, it's supposed
-  ;; to.)
-  ;; 
-  (goto-char (point-min))
-  ;; first lose the status output
-  (let ((case-fold-search t))
-    (if (and (not (looking-at "[^\n]*warning"))
-	     (looking-at "Reformatting.*\n"))
-	(delete-region (match-beginning 0) (match-end 0))))
-
-  ;; kludge around a groff bug where it won't keep quiet about some
-  ;; warnings even with -Wall or -Ww.
-  (cond ((looking-at "grotty:")
-	 (while (looking-at "grotty:")
-	   (delete-region (point) (progn (forward-line 1) (point))))
-	 (if (looking-at " *done\n")
-	     (delete-region (point) (match-end 0)))))
-
-  (let ((pages '())
-	p)
-    ;; collect the page boundary markers before we start deleting, to make
-    ;; it easier to strip things out without changing the page sizes.
-    (while (not (eobp))
-      (forward-line 66)
-      (setq pages (cons (point-marker) pages)))
-    (setq pages (nreverse pages))
-    (while pages
-      (goto-char (car pages))
-      (set-marker (car pages) nil)
-      ;;
-      ;; The lines are: 3 blank; footer; 6 blank; header; 3 blank.
-      ;; We're in between the previous footer and the following header,
-      ;;
-      ;; First lose 3 blank lines, the header, and then 3 more.
-      ;;
-      (setq p (point))
-      (skip-chars-forward "\n")
-      (delete-region p (point))
-      (and (looking-at "[^\n]+\n\n?\n?\n?")
-	   (delete-region (match-beginning 0) (match-end 0)))
-      ;;
-      ;; Next lose the footer, and the 3 blank lines after, and before it.
-      ;; But don't lose the last footer of the manual entry; that contains
-      ;; the "last change" date, so it's not completely uninteresting.
-      ;; (Actually lose all blank lines before it; sh(1) needs this.)
-      ;;
-      (skip-chars-backward "\n")
-      (beginning-of-line)
-      (if (null (cdr pages))
-	  nil
-	(and (looking-at "[^\n]+\n\n?\n?\n?")
-	     (delete-region (match-beginning 0) (match-end 0))))
-      (setq p (point))
-      (skip-chars-backward "\n")
-      (if (> (- p (point)) 4)
-	  (delete-region (+ 2 (point)) p)
-	(delete-region (1+ (point)) p))
-;      (and (looking-at "\n\n?\n?")
-;	   (delete-region (match-beginning 0) (match-end 0)))
-
-      (setq pages (cdr pages)))
-    ;;
-    ;; Now nuke the extra blank lines at the beginning and end.
-    (goto-char (point-min))
-    (if (looking-at "\n+")
-	(delete-region (match-beginning 0) (match-end 0)))
-    (forward-line 1)
-    (if (looking-at "\n\n+")
-	(delete-region (1+ (match-beginning 0)) (match-end 0)))
-    (goto-char (point-max))
-    (skip-chars-backward "\n")
-    (delete-region (point) (point-max))
-    (beginning-of-line)
-    (forward-char -1)
-    (setq p (point))
-    (skip-chars-backward "\n")
-    (if (= ?\n (following-char)) (forward-char 1))
-    (if (> (point) (1+ p))
-	(delete-region (point) p))
-    ))
-
-(defun Manual-mouseify-xrefs ()
-  (goto-char (point-min))
-  (forward-line 1)
-  (let ((case-fold-search nil)
-	s e name extent)
-    ;; possibly it would be faster to rewrite this expression to search for
-    ;; a less common sequence first (like "([0-9]") and then back up to see
-    ;; if it's really a match.  This function is 15% of the total time, 13%
-    ;; of which is this call to re-search-forward.
-    (while (re-search-forward "[a-zA-Z_][-a-zA-Z0-9_.]*([0-9][a-zA-Z0-9]*)"
-			      nil t)
-      (setq s (match-beginning 0)
-	    e (match-end 0)
-	    name (buffer-substring s e))
-      (goto-char s)
-      (skip-chars-backward " \t")
-      (if (and (bolp)
-	       (progn (backward-char 1) (= (preceding-char) ?-)))
-	  (progn
-	    (setq s (point))
-	    (skip-chars-backward "-a-zA-Z0-9_.")
-	    (setq name (concat (buffer-substring (point) (1- s)) name))
-	    (setq s (point))))
-      ;; if there are upper case letters in the section, downcase them.
-      (if (string-match "(.*[A-Z]+.*)$" name)
-	  (setq name (concat (substring name 0 (match-beginning 0))
-			     (downcase (substring name (match-beginning 0))))))
-      ;; (setq already-fontified (extent-at s))
-      (setq extent (make-extent s e))
-      (set-extent-property extent 'man (list 'Manual-follow-xref name))
-      (set-extent-property extent 'highlight t)
-      ;; (if (not already-fontified)...
-      (set-extent-face extent 'man-xref)
-      (goto-char e))))
-
-(defun Manual-follow-xref (&optional name-or-event)
-  "Invoke `manual-entry' on the cross-reference under the mouse.
-When invoked noninteractively, the arg may be an xref string to parse instead."
-  (interactive "e")
-  (if (eventp name-or-event)
-      (let* ((p (event-point name-or-event))
-	     (extent (and p (extent-at p
-			     (event-buffer name-or-event)
-			     'highlight)))
-	     (data (and extent (extent-property extent 'man))))
-	(if (eq (car-safe data) 'Manual-follow-xref)
-	    (eval data)
-	  (error "no manual cross-reference there.")))
-    (or (manual-entry name-or-event)
-	;; If that didn't work, maybe it's in a different section than the
-	;; man page writer expected.  For example, man pages tend assume
-	;; that all user programs are in section 1, but X tends to generate
-	;; makefiles that put things in section "n" instead...
-	(and (string-match "[ \t]*([^)]+)\\'" name-or-event)
-	     (progn
-	       (message "No entries found for %s; checking other sections..."
-			name-or-event)
-	       (manual-entry
-		(substring name-or-event 0 (match-beginning 0))
-		nil t))))))
-
-(defun Manual-popup-menu (&optional event)
-  "Pops up a menu of cross-references in this manual page.
-If there is a cross-reference under the mouse button which invoked this
-command, it will be the first item on the menu.  Otherwise, they are
-on the menu in the order in which they appear in the buffer."
-  (interactive "e")
-  (let ((buffer (current-buffer))
-	(sep "---")
-	(prefix "Show Manual Page for ")
-	xref items)
-    (cond (event
-	   (setq buffer (event-buffer event))
-	   (let* ((p (event-point event))
-		  (extent (and p (extent-at p buffer 'highlight)))
-		  (data (and extent (extent-property extent 'man))))
-	     (if (eq (car-safe data) 'Manual-follow-xref)
-		 (setq xref (nth 1 data))))))
-    (if xref (setq items (list sep xref)))
-    (map-extents #'(lambda (extent ignore)
-		     (let ((data (extent-property extent 'man)))
-		       (if (and (eq (car-safe data) 'Manual-follow-xref)
-				(not (member (nth 1 data) items)))
-			   (setq items (cons (nth 1 data) items)))
-		    nil))
-		 buffer)
-    (if (eq sep (car items)) (setq items (cdr items)))
-    (let ((popup-menu-titles nil))
-      (popup-menu
-       (cons "Manual Entry"
-	     (mapcar #'(lambda (item)
-			 (if (eq item sep)
-			     item
-                           (vector (concat prefix item)
-                                   (list 'Manual-follow-xref item) t)))
-		     (nreverse items)))))))
-
-(defun pager-cleanup-hook ()
-  "cleanup man page if called via $PAGER"
-  (let ((buf-name (or buffer-file-name (buffer-name))))
-	(if (or (string-match "^/tmp/man[0-9]+" buf-name)
-		(string-match ".*/man/\\(man\\|cat\\)[1-9a-z]/" buf-name))
-	    (let (buffer manpage)
-	      (require 'man)
-	      (goto-char (point-min))
-	      (setq buffer-read-only nil)
-	      (Manual-nuke-nroff-bs)
-	      (goto-char (point-min))
-	      (if (re-search-forward "[^ \t]")
-		  (goto-char (- (point) 1)))
-	      (if (looking-at "\\([a-zA-Z0-9]+\\)[ \t]*(")
-		  (setq manpage (buffer-substring (match-beginning 1)
-						  (match-end 1)))
-		(setq manpage "???"))
-	      (setq buffer
-		    (rename-buffer
-		     (generate-new-buffer-name (concat "*man " manpage "*"))))
-	      (setq buffer-file-name nil)
-	      (goto-char (point-min))
-	      (insert (format "%s\n" buf-name))
-	      (goto-char (point-min))
-	      (buffer-disable-undo buffer)
-	      (set-buffer-modified-p nil)
-	      (Manual-mode)
-	      ))))
-
-(add-hook 'server-visit-hook 'pager-cleanup-hook)
-(provide 'man)
-
-;;; man.el ends here
--- a/lisp/packages/man.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/packages/man.el	Mon Aug 13 08:47:52 2007 +0200
@@ -170,6 +170,72 @@
 imposes a large startup cost which is why it is not simply on by
 default on all systems.")
 
+(defvar Manual-use-rosetta-man (not (null (locate-file "rman" exec-path))) "\
+If non-nil, use RosettaMan (rman) to filter man pages.
+This makes man-page cleanup virtually instantaneous, instead of
+potentially taking a long time.
+
+Here is information on RosettaMan, from Neal.Becker@comsat.com (Neal Becker):
+
+RosettaMan is a filter for UNIX manual pages.  It takes as input man
+pages formatted for a variety of UNIX flavors (not [tn]roff source)
+and produces as output a variety of file formats.  Currently
+RosettaMan accepts man pages as formatted by the following flavors of
+UNIX: Hewlett-Packard HP-UX, AT&T System V, SunOS, Sun Solaris, OSF/1,
+DEC Ultrix, SGI IRIX, Linux, SCO; and produces output for the following
+formats: printable ASCII only (stripping page headers and footers),
+section and subsection headers only, TkMan, [tn]roff, Ensemble, RTF,
+SGML (soon--I finally found a DTD), HTML, MIME, LaTeX, LaTeX 2e, Perl 5's pod.
+
+RosettaMan improves on other man page filters in several ways: (1) its
+analysis recognizes the structural pieces of man pages, enabling high
+quality output, (2) its modular structure permits easy augmentation of
+output formats, (3) it accepts man pages formatted with the varient
+macros of many different flavors of UNIX, and (4) it doesn't require
+modification or cooperation with any other program.
+
+RosettaMan is a rewrite of TkMan's man page filter, called bs2tk.  (If
+you haven't heard about TkMan, a hypertext man page browser, you
+should grab it via anonymous ftp from ftp.cs.berkeley.edu:
+/ucb/people/phelps/tkman.tar.Z.)  Whereas bs2tk generated output only for
+TkMan, RosettaMan generalizes the process so that the analysis can be
+leveraged to new output formats.  A single analysis engine recognizes
+section heads, subsection heads, body text, lists, references to other
+man pages, boldface, italics, bold italics, special characters (like
+bullets), tables (to a degree) and strips out page headers and
+footers.  The engine sends signals to the selected output functions so
+that an enhancement in the engine improves the quality of output of
+all of them.  Output format functions are easy to add, and thus far
+average about about 75 lines of C code each.
+
+
+
+*** NOTES ON CURRENT VERSION ***
+
+Help!  I'm looking for people to help with the following projects.
+\(1) Better RTF output format.  The current one works, but could be
+made better.  (2) Roff macros that produce text that is easily
+parsable.  RosettaMan handles a great variety, but some things, like
+H-P's tables, are intractable.  If you write an output format or
+otherwise improve RosettaMan, please send in your code so that I may
+share the wealth in future releases.
+
+This version can try to identify tables (turn this on with the -T
+switch) by looking for lines with a large amount of interword spacing,
+reasoning that this is space between columns of a table.  This
+heuristic doesn't always work and sometimes misidentifies ordinary
+text as tables.  In general I think it is impossible to perfectly
+identify tables from nroff formatted text.  However, I do think the
+heuristics can be tuned, so if you have a collection of manual pages
+with unrecognized tables, send me the lot, in formatted form (i.e.,
+after formatting with nroff -man), and uuencode them to preserve the
+control characters.  Better, if you can think of heuristics that
+distinguish tables from ordinary text, I'd like to hear them.
+
+
+Notes for HTML consumers: This filter does real (heuristic)
+parsing--no <PRE>!  Man page references are turned into hypertext links.")
+
 (make-face 'man-italic)
 (or (face-differs-from-default-p 'man-italic)
     (copy-face 'italic 'man-italic))
@@ -780,45 +846,48 @@
 ;; Hint: BS stands form more things than "back space"
 (defun Manual-nuke-nroff-bs (&optional apropos-mode)
   (interactive "*")
-  ;;
-  ;; turn underlining into italics
-  ;;
-  (goto-char (point-min))
-  (while (search-forward "_\b" nil t)
-    ;; searching for underscore-backspace and then comparing the following
-    ;; chars until the sequence ends turns out to be much faster than searching
-    ;; for a regexp which matches the whole sequence.
-    (let ((s (match-beginning 0)))
-      (goto-char s)
-      (while (and (= (following-char) ?_)
-		  (= (char-after (1+ (point))) ?\b))
-	(Manual-delete-char 2)
-	(forward-char 1))
-      (set-extent-face (make-extent s (point)) 'man-italic)))
-  ;;
-  ;; turn overstriking into bold
-  ;;
-  (goto-char (point-min))
-  (while (re-search-forward "\\([^\n]\\)\\(\b\\1\\)" nil t)
-    ;; Surprisingly, searching for the above regexp is faster than searching
-    ;; for a backspace and then comparing the preceding and following chars,
-    ;; I presume because there are many false matches, meaning more funcalls
-    ;; to re-search-forward.
-    (let ((s (match-beginning 0)))
-      (goto-char s)
-      ;; Some systems (SGI) overstrike multiple times, eg, "M\bM\bM\bM".
-      (while (looking-at "\\([^\n]\\)\\(\b\\1\\)+")
-	(delete-region (+ (point) 1) (match-end 0))
-	(forward-char 1))
-      (set-extent-face (make-extent s (point)) 'man-bold)))
-  ;;
-  ;; hack bullets: o^H+ --> +
-  (goto-char (point-min))
-  (while (search-forward "\b" nil t)
-    (Manual-delete-char -2))
+  (if Manual-use-rosetta-man
+      (call-process-region (point-min) (point-max) "rman" t t nil)
+    ;;
+    ;; turn underlining into italics
+    ;;
+    (goto-char (point-min))
+    (while (search-forward "_\b" nil t)
+      ;; searching for underscore-backspace and then comparing the following
+      ;; chars until the sequence ends turns out to be much faster than searching
+      ;; for a regexp which matches the whole sequence.
+      (let ((s (match-beginning 0)))
+	(goto-char s)
+	(while (and (= (following-char) ?_)
+		    (= (char-after (1+ (point))) ?\b))
+	  (Manual-delete-char 2)
+	  (forward-char 1))
+	(set-extent-face (make-extent s (point)) 'man-italic)))
+    ;;
+    ;; turn overstriking into bold
+    ;;
+    (goto-char (point-min))
+    (while (re-search-forward "\\([^\n]\\)\\(\b\\1\\)" nil t)
+      ;; Surprisingly, searching for the above regexp is faster than searching
+      ;; for a backspace and then comparing the preceding and following chars,
+      ;; I presume because there are many false matches, meaning more funcalls
+      ;; to re-search-forward.
+      (let ((s (match-beginning 0)))
+	(goto-char s)
+	;; Some systems (SGI) overstrike multiple times, eg, "M\bM\bM\bM".
+	(while (looking-at "\\([^\n]\\)\\(\b\\1\\)+")
+	  (delete-region (+ (point) 1) (match-end 0))
+	  (forward-char 1))
+	(set-extent-face (make-extent s (point)) 'man-bold)))
+    ;;
+    ;; hack bullets: o^H+ --> +
+    (goto-char (point-min))
+    (while (search-forward "\b" nil t)
+      (Manual-delete-char -2))
 
-  (if (> (buffer-size) 100) ; minor kludge
-      (Manual-nuke-nroff-bs-footers))
+    (if (> (buffer-size) 100) ; minor kludge
+	(Manual-nuke-nroff-bs-footers))
+    ) ;; not Manual-use-rosetta-man
   ;;
   ;; turn subsection header lines into bold
   ;;
@@ -850,12 +919,14 @@
       (forward-line 1))
     )
 
-  ;; Zap ESC7,  ESC8, and ESC9
-  ;; This is for Sun man pages like "man 1 csh"
-  (goto-char (point-min))
-  (while (re-search-forward "\e[789]" nil t)
-    (replace-match ""))
-  
+  (if Manual-use-rosetta-man
+      nil
+    ;; Zap ESC7,  ESC8, and ESC9
+    ;; This is for Sun man pages like "man 1 csh"
+    (goto-char (point-min))
+    (while (re-search-forward "\e[789]" nil t)
+      (replace-match "")))
+
   ;; Nuke blanks lines at start.
   ;;  (goto-char (point-min))
   ;;  (skip-chars-forward "\n")
--- a/lisp/packages/old-man.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1225 +0,0 @@
-;;; man.el --- browse UNIX manual pages
-;; Keywords: help
-
-;; Copyright (C) 1985, 1993, 1994 Free Software Foundation, Inc.
-;;
-;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; Synched up with: Not synched with FSF.
-;;; ICK!  This file is almost completely different from FSF.
-;;; Someone clarify please.
-
-;; Mostly rewritten by Alan K. Stebbens <aks@hub.ucsb.edu> 11-apr-90.
-;;
-;;  o  Match multiple man pages using TOPIC as a simple pattern
-;;  o  Search unformatted pages, even when formatted matches are found
-;;  o  Query the user as to which pages are desired
-;;  o  Use of the prefix arg to toggle/bypass the above features
-;;  o  Buffers named by the first topic in the buffer
-;;  o  Automatic uncompress for compressed man pages (.Z, .z, and .gz)
-;;  o  View the resulting buffer using M-x view mode
-;;
-;; Modified 16-mar-91 by Jamie Zawinski <jwz@lucid.com> to default the 
-;; manual topic to the symbol at point, just like find-tag does.
-;;
-;; Modified 22-mar-93 by jwz to use multiple fonts and follow xrefs with mouse.
-;;
-;; Modified 16-apr-93 by Dave Gillespie <daveg@synaptics.com> to make
-;; apropos work nicely; work correctly when bold or italic is unavailable; 
-;; reuse old buffer if topic is re-selected (in Manual-topic-buffer mode).
-;;
-;; Modified 4-apr-94 by jwz: merged in Tibor Polgar's code for manpath.conf.
-;;
-;; Modified 19-apr-94 by Tibor Polgar <tlp00@spg.amdahl.com> to add support for
-;; $PAGER variable to be emacsclient and properly process man pages (assuming
-;; the man pages were built by man in /tmp.  also fixed bug with man list being
-;; backwards.
-;;
-;; Modified 23-aug-94 by Tibor Polgar <tlp00@spg.amdahl.com> to add support for
-;; displaying only one instance of a man page (Manual-unique-man-sections-only)
-;; Fixed some more man page ordering bugs, bug with Manual-query-multiple-pages.
-;;
-;; Modified 29-nov-94 by Ben Wing <wing@spg.amdahl.com>: small fixes
-;; that should hopefully make things work under HPUX and IRIX.; 
-;;
-;; Modified 15-jul-95 by Dale Atems <atems@physics.wayne.edu>:
-;; some extensive rewriting to make things work right (more or less)
-;; under IRIX.
-;;
-;; Modified 08-mar-96 by Hubert Palme <palme@wrcs3.urz.uni-wuppertal.de>:
-;; added /usr/share/catman to the manual directory list for IRIX (5.3)
-;; 
-;; This file defines "manual-entry", and the remaining definitions all
-;; begin with "Manual-".  This makes the autocompletion on "M-x man" work.
-;;
-;; Variables of interest:
-;;
-;;	Manual-program
-;;	Manual-topic-buffer
-;;	Manual-buffer-view-mode
-;;	Manual-directory-list
-;;	Manual-formatted-directory-list
-;;	Manual-match-topic-exactly
-;;	Manual-query-multiple-pages
-;;	Manual-page-history
-;;	Manual-subdirectory-list
-;;	Manual-man-page-section-ids
-;;	Manual-formatted-page-prefix
-;;	Manual-unformatted-page-prefix
-;;	Manual-use-full-section-ids
-
-(defvar Manual-program "man" "\
-*Name of the program to invoke in order to format the source man pages.")
-
-(defvar Manual-section-switch (if (eq system-type 'usg-unix-v) "-s" nil)
-  "SysV needs this to work right.")
-
-(defvar Manual-topic-buffer t "\
-*Non-nil means \\[Manual-entry] should output the manual entry for TOPIC into
-a buffer named *man TOPIC*, otherwise, it should name the buffer
-*Manual Entry*.")
-
-(defvar Manual-buffer-view-mode t "\
-*Whether manual buffers should be placed in view-mode.
-nil means leave the buffer in fundamental-mode in another window.
-t means use `view-buffer' to display the man page in the current window.
-Any other value means use `view-buffer-other-window'.")
-
-(defvar Manual-match-topic-exactly t "\
-*Non-nil means that \\[manual-entry] will match the given TOPIC exactly, rather
-apply it as a pattern.  When this is nil, and \"Manual-query-multiple-pages\"
-is non-nil, then \\[manual-entry] will query you for all matching TOPICs.
-This variable only has affect on the preformatted man pages (the \"cat\" files),
-since the \"man\" command always does exact topic matches.")
-
-(defvar Manual-query-multiple-pages nil "\
-*Non-nil means that \\[manual-entry] will query the user about multiple man
-pages which match the given topic.  The query is done using the function 
-\"y-or-n-p\".  If this variable is nil, all man pages with topics matching the
-topic given to \\[manual-entry] will be inserted into the temporary buffer.
-See the variable \"Manual-match-topic-exactly\" to control the matching.")
-
-(defvar Manual-unique-man-sections-only nil
-  "*Only present one man page per section.  This variable is useful if the same or
-up/down level man pages for the same entry are present in mulitple man paths.
-When set to t, only the first entry found in a section is displayed, the others
-are ignored without any messages or warnings.  Note that duplicates can occur if
-the system has both formatted and unformatted version of the same page.")
-
-(defvar Manual-mode-hook nil
-  "Function or functions run on entry to Manual-mode.")
-
-(defvar Manual-directory-list nil "\
-*A list of directories used with the \"man\" command, where each directory
-contains a set of \"man?\" and \"cat?\" subdirectories.  If this variable is nil,
-it is initialized by \\[Manual-directory-list-init].")
-
-(defvar Manual-formatted-directory-list nil "\
-A list of directories containing formatted man pages.  Initialized by
-\\[Manual-directory-list-init].")
-
-(defvar Manual-unformatted-directory-list nil "\
-A list of directories containing the unformatted (source) man pages.  
-Initialized by \\[Manual-directory-list-init].")
-
-(defvar Manual-page-history nil "\
-A list of names of previously visited man page buffers.")
-
-(defvar Manual-manpath-config-file "/usr/lib/manpath.config"
-  "*Location of the manpath.config file, if any.")
-
-(defvar Manual-apropos-switch "-k"
-  "*Man apropos switch")
-
-;; New variables.
-
-(defvar Manual-subdirectory-list nil "\
-A list of all the subdirectories in which man pages may be found.
-Iniialized by Manual-directory-list-init.")
-
-;; This is for SGI systems; don't know what it should be otherwise.
-(defvar Manual-man-page-section-ids "1nl6823457poD" "\
-String containing all suffix characters for \"cat\" and \"man\"
-that identify valid sections of the Un*x manual.") 
-
-(defvar Manual-formatted-page-prefix "cat" "\
-Prefix for directories where formatted man pages are to be found.
-Defaults to \"cat\".")
-
-(defvar Manual-unformatted-page-prefix "man" "\
-Prefix for directories where unformatted man pages are to be found.
-Defaults to \"man\".")
-
-(defvar Manual-leaf-signature "" "\
-Regexp for identifying \"leaf\" subdirectories in the search path.
-If empty, initialized by Manual-directory-list-init.")
-
-(defvar Manual-use-full-section-ids t "\
-If non-nil, pass full section ids to Manual-program, otherwise pass
-only the first character. Defaults to 't'.")
-
-(defvar Manual-use-subdirectory-list (eq system-type 'irix) "\
-This makes manual-entry work correctly on SGI machines but it
-imposes a large startup cost which is why it is not simply on by
-default on all systems.")
-
-(defvar Manual-use-rosetta-man (not (null (locate-file "rman" exec-path))) "\
-If non-nil, use RosettaMan (rman) to filter man pages.
-This makes man-page cleanup virtually instantaneous, instead of
-potentially taking a long time.
-
-Here is information on RosettaMan, from Neal.Becker@comsat.com (Neal Becker):
-
-RosettaMan is a filter for UNIX manual pages.  It takes as input man
-pages formatted for a variety of UNIX flavors (not [tn]roff source)
-and produces as output a variety of file formats.  Currently
-RosettaMan accepts man pages as formatted by the following flavors of
-UNIX: Hewlett-Packard HP-UX, AT&T System V, SunOS, Sun Solaris, OSF/1,
-DEC Ultrix, SGI IRIX, Linux, SCO; and produces output for the following
-formats: printable ASCII only (stripping page headers and footers),
-section and subsection headers only, TkMan, [tn]roff, Ensemble, RTF,
-SGML (soon--I finally found a DTD), HTML, MIME, LaTeX, LaTeX 2e, Perl 5's pod.
-
-RosettaMan improves on other man page filters in several ways: (1) its
-analysis recognizes the structural pieces of man pages, enabling high
-quality output, (2) its modular structure permits easy augmentation of
-output formats, (3) it accepts man pages formatted with the varient
-macros of many different flavors of UNIX, and (4) it doesn't require
-modification or cooperation with any other program.
-
-RosettaMan is a rewrite of TkMan's man page filter, called bs2tk.  (If
-you haven't heard about TkMan, a hypertext man page browser, you
-should grab it via anonymous ftp from ftp.cs.berkeley.edu:
-/ucb/people/phelps/tkman.tar.Z.)  Whereas bs2tk generated output only for
-TkMan, RosettaMan generalizes the process so that the analysis can be
-leveraged to new output formats.  A single analysis engine recognizes
-section heads, subsection heads, body text, lists, references to other
-man pages, boldface, italics, bold italics, special characters (like
-bullets), tables (to a degree) and strips out page headers and
-footers.  The engine sends signals to the selected output functions so
-that an enhancement in the engine improves the quality of output of
-all of them.  Output format functions are easy to add, and thus far
-average about about 75 lines of C code each.
-
-
-
-*** NOTES ON CURRENT VERSION ***
-
-Help!  I'm looking for people to help with the following projects.
-\(1) Better RTF output format.  The current one works, but could be
-made better.  (2) Roff macros that produce text that is easily
-parsable.  RosettaMan handles a great variety, but some things, like
-H-P's tables, are intractable.  If you write an output format or
-otherwise improve RosettaMan, please send in your code so that I may
-share the wealth in future releases.
-
-This version can try to identify tables (turn this on with the -T
-switch) by looking for lines with a large amount of interword spacing,
-reasoning that this is space between columns of a table.  This
-heuristic doesn't always work and sometimes misidentifies ordinary
-text as tables.  In general I think it is impossible to perfectly
-identify tables from nroff formatted text.  However, I do think the
-heuristics can be tuned, so if you have a collection of manual pages
-with unrecognized tables, send me the lot, in formatted form (i.e.,
-after formatting with nroff -man), and uuencode them to preserve the
-control characters.  Better, if you can think of heuristics that
-distinguish tables from ordinary text, I'd like to hear them.
-
-
-Notes for HTML consumers: This filter does real (heuristic)
-parsing--no <PRE>!  Man page references are turned into hypertext links.")
-
-(make-face 'man-italic)
-(or (face-differs-from-default-p 'man-italic)
-    (copy-face 'italic 'man-italic))
-;; XEmacs (from Darrell Kindred): underlining is annoying due to
-;; large blank spaces in this face.
-;; (or (face-differs-from-default-p 'man-italic)
-;;    (set-face-underline-p 'man-italic t))
-
-(make-face 'man-bold)
-(or (face-differs-from-default-p 'man-bold)
-    (copy-face 'bold 'man-bold))
-(or (face-differs-from-default-p 'man-bold)
-    (copy-face 'man-italic 'man-bold))
-
-(make-face 'man-heading)
-(or (face-differs-from-default-p 'man-heading)
-    (copy-face 'man-bold 'man-heading))
-
-(make-face 'man-xref)
-(or (face-differs-from-default-p 'man-xref)
-    (set-face-underline-p 'man-xref t))
-
-;; Manual-directory-list-init
-;; Initialize the directory lists.
-
-(defun Manual-directory-list-init (&optional arg) 
-  "Initialize the Manual-directory-list variable from $MANPATH
-if it is not already set, or if a prefix argument is provided."
-  (interactive "P")
-  (if arg (setq Manual-directory-list nil))
-  (if (null Manual-directory-list)
-      (let ((manpath (getenv "MANPATH"))
-	    (global (Manual-manpath-config-contents))
-	    (dirlist nil)
-	    dir)
-	(cond ((and manpath global)
-	       (setq manpath (concat manpath ":" global)))
-	      (global
-	       (setq manpath global))
-	      ((not manpath)
-	       ;; XEmacs - (bpw/stig) Unix-specifix hack for lusers w/ no manpath
-	       (setq manpath "/usr/local/man:/usr/share/man:/usr/share/catman:/usr/contrib/man:/usr/X11/man:/usr/man:/usr/catman")))
-	;; Make sure that any changes we've made internally are seen by man.
-	(setenv "MANPATH" manpath)
-	(while (string-match "\\`:*\\([^:]+\\)" manpath)
-	  (setq dir (substring manpath (match-beginning 1) (match-end 1)))
-	  (and (not (member dir dirlist))
-	       (setq dirlist (cons dir dirlist)))
-	  (setq manpath (substring manpath (match-end 0))))
-	(setq dirlist (nreverse dirlist))
-	(setq Manual-directory-list dirlist)
-	(setq Manual-subdirectory-list nil)
-	(setq Manual-formatted-directory-list nil)
-	(setq Manual-unformatted-directory-list nil)))
-  (if (string-equal Manual-leaf-signature "")
-      (setq Manual-leaf-signature
-	    (concat "/\\("
-		    Manual-formatted-page-prefix
-		    "\\|" Manual-unformatted-page-prefix
-		    "\\)"
-		    "[" Manual-man-page-section-ids
-		    "].?/.")))
-  (if Manual-use-subdirectory-list
-      (progn
-	(if (null Manual-subdirectory-list)
-	    (setq Manual-subdirectory-list
-		  (Manual-all-subdirectories Manual-directory-list
-					     Manual-leaf-signature nil)))
-	(if (null Manual-formatted-directory-list)
-	    (setq Manual-formatted-directory-list
-		  (Manual-filter-subdirectories Manual-subdirectory-list
-						Manual-formatted-page-prefix)))
-	(if (null Manual-unformatted-directory-list)
-	    (setq Manual-unformatted-directory-list
-		  (Manual-filter-subdirectories Manual-subdirectory-list
-						Manual-unformatted-page-prefix))))
-    (if (null Manual-formatted-directory-list)
-        (setq Manual-formatted-directory-list
-	      (Manual-select-subdirectories Manual-directory-list
-					    Manual-formatted-page-prefix)))
-    (if (null Manual-unformatted-directory-list)
-        (setq Manual-unformatted-directory-list
-	      (Manual-select-subdirectories Manual-directory-list
-					    Manual-unformatted-page-prefix)))))
-
-
-(defun Manual-manpath-config-contents ()
-  "Parse the `Manual-manpath-config-file' file, if any.
-Returns a string like in $MANPATH."
-  (if (and Manual-manpath-config-file
-	   (file-readable-p Manual-manpath-config-file))
-      (let ((buf (get-buffer-create " *Manual-config*"))
-	    path)
-	(set-buffer buf)
-	(buffer-disable-undo buf)
-	(erase-buffer)
-	(insert-file-contents Manual-manpath-config-file)
-	(while (re-search-forward "^\\(MANDATORY_MANPATH\\|MANPATH_MAP\\)"
-				  nil t)
-	  (and (re-search-forward "\\(/[^ \t\n]+\\)[ \t]*$")
-	       (setq path (concat path (buffer-substring (match-beginning 1)
-							 (match-end 1))
-				  ":"))))
-	(kill-buffer buf)
-	path)))
-;;
-;; manual-entry  -- The "main" user function
-;;
-
-;;;###autoload
-(defun manual-entry (topic &optional arg silent)
-  "Display the Unix manual entry (or entries) for TOPIC.
-If prefix arg is given, modify the search according to the value:
-  2 = complement default exact matching of the TOPIC name;
-      exact matching default is specified by `Manual-match-topic-exactly'
-  3 = force a search of the unformatted man directories
-  4 = both 2 and 3
-The manual entries are searched according to the variable
-Manual-directory-list, which should be a list of directories.  If
-Manual-directory-list is nil, \\[Manual-directory-list-init] is
-invoked to create this list from the MANPATH environment variable.
-See the variable Manual-topic-buffer which controls how the buffer
-is named.  See also the variables Manual-match-topic-exactly,
-Manual-query-multiple-pages, and Manual-buffer-view-mode."
-  (interactive
-   (list (let* ((fmh "-A-Za-z0-9_.")
-		(default (save-excursion
-			   (buffer-substring
-			    (progn
-			      (re-search-backward "\\sw" nil t)
-			      (skip-chars-backward fmh) (point))
-			    (progn (skip-chars-forward fmh) (point)))))
-		(thing (read-string
-			(if (equal default "") "Manual entry: "
-			  (concat "Manual entry: (default " default ") ")))))
-	   (if (equal thing "") default thing))
-	 (prefix-numeric-value current-prefix-arg)))
-  ;;(interactive "sManual entry (topic): \np")
-  (or arg (setq arg 1))
-  (Manual-directory-list-init nil)
-  (let ((exact (if (or (= arg 2) (= arg 4))
-		   (not Manual-match-topic-exactly)
-		 Manual-match-topic-exactly))
-	(force (if (>= arg 3)
-                   t
-                   nil))
-	section fmtlist manlist apropos-mode)
-    (let ((case-fold-search nil))
-      (if (and (null section)
-	       (string-match
-		"\\`[ \t]*\\([^( \t]+\\)[ \t]*(\\(.+\\))[ \t]*\\'" topic))
-	  (setq section (substring topic (match-beginning 2)
-				   (match-end 2))
-		topic (substring topic (match-beginning 1)
-				 (match-end 1)))
-	(if (string-match "\\`[ \t]*-k[ \t]+\\([^ \t]+\\)\\'" topic)
-	    (setq section "-k"
-		  topic (substring topic (match-beginning 1))))))
-    (if (equal section "-k")
-	(setq apropos-mode t)
-      (or silent
-	  (message "Looking for formatted entry for %s%s..."
-		   topic (if section (concat "(" section ")") "")))
-      (setq fmtlist (Manual-select-man-pages
-                      Manual-formatted-directory-list
-                      topic section exact '()))
-      (if (or force (not section) (null fmtlist))
-	  (progn
-	    (or silent
-		(message "%sooking for unformatted entry for %s%s..."
-			 (if fmtlist "L" "No formatted entry, l")
-			 topic (if section (concat "(" section ")") "")))
-	    (setq manlist (Manual-select-man-pages
-                            Manual-unformatted-directory-list
-                            topic section exact (if force '() fmtlist))))))
-
-    ;; Delete duplicate man pages (a file of the same name in multiple
-    ;; directories.)
-    (or nil ;force
-        (let ((rest (append fmtlist manlist)))
-          (while rest
-            (let ((rest2 (cdr rest)))
-              (while rest2
-                (if (equal (file-name-nondirectory (car rest))
-                           (file-name-nondirectory (car rest2)))
-                    (setq fmtlist (delq (car rest2) fmtlist)
-                          manlist (delq (car rest2) manlist)))
-                (setq rest2 (cdr rest2))))
-            (setq rest (cdr rest)))))
-
-    (if (not (or fmtlist manlist apropos-mode))
-        (progn
-          (message "No entries found for %s%s" topic
-                   (if section (concat "(" section ")") ""))
-          nil)
-      (let ((bufname (cond ((not Manual-topic-buffer)
-                            ;; What's the point of retaining this?
-                            (if apropos-mode
-                                "*Manual Apropos*"
-                                "*Manual Entry*"))
-                           (apropos-mode
-                            (concat "*man apropos " topic "*"))
-                           (t
-                            (concat "*man "
-                                    (cond (exact
-                                           (if section
-                                               (concat topic "." section)
-                                               topic))
-                                          ((or (cdr fmtlist) (cdr manlist)
-                                               (and fmtlist manlist))
-                                           ;; more than one entry found
-                                           (concat topic "..."))
-                                          (t
-                                           (file-name-nondirectory
-                                            (car (or fmtlist manlist)))))
-                                    "*"))))
-            (temp-buffer-show-function 
-             (cond ((eq 't Manual-buffer-view-mode) 'view-buffer)
-                   ((eq 'nil Manual-buffer-view-mode)
-                    temp-buffer-show-function)
-                   (t 'view-buffer-other-window))))
-
-        (if apropos-mode
-            (setq manlist (list (format "%s.%s" topic section))))
-
-        (cond
-          ((and Manual-topic-buffer (get-buffer bufname))
-           ;; reselect an old man page buffer if it exists already.
-           (save-excursion
-             (set-buffer (get-buffer bufname))
-             (Manual-mode))
-           (if temp-buffer-show-function
-               (funcall temp-buffer-show-function (get-buffer bufname))
-               (display-buffer bufname)))
-          (t
-           (with-output-to-temp-buffer bufname
-             (buffer-disable-undo standard-output)
-             (save-excursion
-               (set-buffer standard-output)
-               (setq buffer-read-only nil)
-               (erase-buffer)
-	       (Manual-insert-pages fmtlist manlist apropos-mode)
-               (set-buffer-modified-p nil)
-               (Manual-mode)
-               ))))
-        (setq Manual-page-history
-              (cons (buffer-name)
-                    (delete (buffer-name) Manual-page-history)))
-        (message nil)
-        t))))
-
-(defun Manpage-apropos (topic &optional arg silent)
-  "Apropos on Unix manual pages for TOPIC.
-It calls the function `manual-entry'. Look at this function for
-further description. Look also at the variable `Manual-apropos-switch',
-if this function doesn't work on your system."
-  (interactive
-   (list (let* ((fmh "-A-Za-z0-9_.")
-		(default (save-excursion
-			   (buffer-substring
-			    (progn
-			      (re-search-backward "\\sw" nil t)
-			      (skip-chars-backward fmh) (point))
-			    (progn (skip-chars-forward fmh) (point)))))
-		(thing (read-string
-			(if (equal default "") "Manual entry: "
-			  (concat "Manual entry: (default " default ") ")))))
-	   (if (equal thing "") default thing))
-	 (prefix-numeric-value current-prefix-arg)))
-  (manual-entry (concat Manual-apropos-switch " " topic) arg silent))
-
-(defun Manual-insert-pages (fmtlist manlist apropos-mode)
-  (let ((sep (make-string 65 ?-))
-	name start end topic section)
-    (while fmtlist			; insert any formatted files
-      (setq name (car fmtlist))
-      (goto-char (point-max))
-      (setq start (point))
-      ;; In case the file can't be read or uncompressed or
-      ;; something like that.
-      (condition-case ()
-	  (Manual-insert-man-file name)
-	(file-error nil))
-      (goto-char (point-max))
-      (setq end (point))
-      (save-excursion
-	(save-restriction
-	  (message "Cleaning manual entry for %s..."
-		   (file-name-nondirectory name))
-	  (narrow-to-region start end)
-	  (Manual-nuke-nroff-bs)
-	  (goto-char (point-min))
-	  (insert "File: " name "\n")
-	  (goto-char (point-max))
-	  ))
-      (if (or (cdr fmtlist) manlist)
-	  (insert "\n\n" sep "\n"))
-      (setq fmtlist (cdr fmtlist)))
-
-    (while manlist			; process any unformatted files
-      (setq name (car manlist))
-      (or (string-match "\\([^/]+\\)\\.\\([^./]+\\)\\(\\.gz\\'\\)" name)
-	  (string-match "\\([^/]+\\)\\.\\([^./]+\\)\\'" name))
-      (setq topic (substring name (match-beginning 1) (match-end 1)))
-      (setq section (substring name (match-beginning 2) (match-end 2)))
-      ;; This won't work under IRIX, because SGI man accepts only the
-      ;; "main" (one-character) section id, not full section ids
-      ;; like 1M, 3X, etc. Put (setq Manual-use-full-section-ids nil)
-      ;; in your .emacs to work around this problem.
-      (if (not (or Manual-use-full-section-ids (string-equal section "")))
-	  (setq section (substring section 0 1)))
-      (message "Invoking man %s%s %s..."
-	       (if Manual-section-switch
-		   (concat Manual-section-switch " ")
-		 "")
-	       section topic)
-      (setq start (point))
-      (Manual-run-formatter name topic section)
-      (setq end (point))
-      (save-excursion
-	(save-restriction
-	  (message "Cleaning manual entry for %s(%s)..." topic section)
-	  (narrow-to-region start end)
-	  (Manual-nuke-nroff-bs apropos-mode)
-	  (goto-char (point-min))
-	  (insert "File: " name "\n")
-	  (goto-char (point-max))
-	  ))
-      (if (cdr manlist)
-	  (insert "\n\n" sep "\n"))
-      (setq manlist (cdr manlist))))
-  (if (< (buffer-size) 200)
-      (progn
-	(goto-char (point-min))
-	(if (looking-at "^File: ")
-	    (forward-line 1))
-	(error (buffer-substring (point) (progn (end-of-line) (point))))))
-  nil)
-
-
-(defun Manual-run-formatter (name topic section)
-  (cond
-   ((string-match "roff\\'" Manual-program)
-    ;; kludge kludge
-    (call-process Manual-program nil t nil "-Tman" "-man" name))
-
-   (t
-    (call-process Manual-program nil t nil
-                  (concat Manual-section-switch section) topic))))
-
-   ;(Manual-use-rosetta-man
-   ; (call-process "/bin/sh" nil t nil "-c"
-   ;               (format "man %s %s | rman" section topic)))
-
-
-(defvar Manual-mode-map
-  (let ((m (make-sparse-keymap)))
-    (set-keymap-name m 'Manual-mode-map)
-    (define-key m "l" 'Manual-last-page)
-    (define-key m 'button2 'Manual-follow-xref)
-    (define-key m 'button3 'Manual-popup-menu)
-    m))
-
-(defun Manual-mode ()
-  (kill-all-local-variables)
-  (setq buffer-read-only t)
-  (use-local-map Manual-mode-map)
-  (setq major-mode 'Manual-mode
-	mode-name "Manual")
-  ;; man pages with long lines are buggy!
-  ;; This looks slightly better if they only
-  ;; overran by a couple of chars.
-  (setq truncate-lines t)
-  (if (featurep 'scrollbar)
-      ;; turn off horizontal scrollbars in this buffer
-      (set-specifier scrollbar-height (cons (current-buffer) 0)))
-  (run-hooks 'Manual-mode-hook))
-
-(defun Manual-last-page ()
-  (interactive)
-  (while (or (not (get-buffer (car (or Manual-page-history
-				       (error "No more history.")))))
-	     (eq (get-buffer (car Manual-page-history)) (current-buffer)))
-    (setq Manual-page-history (cdr Manual-page-history)))
-  (switch-to-buffer (car Manual-page-history)))
-
-
-;; Manual-select-subdirectories
-;; Given a DIRLIST and a SUBDIR name, return all subdirectories of the former which
-;; match the latter.
-
-(defun Manual-select-subdirectories (dirlist subdir)
-  (let ((dirs '())
-        (case-fold-search nil)
-        (match (concat "\\`" (regexp-quote subdir)))
-        d)
-    (while dirlist
-      (setq d (car dirlist) dirlist (cdr dirlist))
-      (if (file-directory-p d)
-          (let ((files (directory-files d t match nil 'dirs-only))
-		(dir-temp '()))
-            (while files
-              (if (file-executable-p (car files))
-                  (setq dir-temp (cons (file-name-as-directory (car files))
-                                   dir-temp)))
-              (setq files (cdr files)))
-	    (and dir-temp
-		 (setq dirs (append dirs (nreverse dir-temp)))))))
-    dirs))
-
-
-;; Manual-filter-subdirectories
-;; Given a DIRLIST and a SUBDIR name, return all members of the former
-;; which match the latter.
-
-(defun Manual-filter-subdirectories (dirlist subdir)
-  (let ((match (concat
-		"/"
-		(regexp-quote subdir)
-		"[" Manual-man-page-section-ids "]"))
-	slist dir)
-    (while dirlist
-      (setq dir (car dirlist) dirlist (cdr dirlist))
-      (if (and (file-executable-p dir) (string-match match dir))
-	    (setq slist (cons dir slist))))
-    (nreverse slist)))
-
-
-(defun Manual-all-subdirectories (dirlist leaf-signature dirs &optional silent) "\
-Given a DIRLIST, return a backward-sorted list of all subdirectories
-thereof, prepended to DIRS if non-nil. This function calls itself
-recursively until subdirectories matching LEAF-SIGNATURE are reached,
-or the hierarchy has been thoroughly searched. This code is a modified
-version of a function written by Tim Bradshaw (tfb@ed.ac.uk)."
-  (Manual-all-subdirectories-noloop dirlist leaf-signature dirs nil silent))
-
-(defun Manual-all-subdirectories-noloop (dirlist leaf-signature dirs been &optional silent) "\
-Does the job of manual-all-subdirectories and keeps track of where it
-has been to avoid loops."
-  (let (dir)
-    (while dirlist
-      (setq dir (car dirlist) dirlist (cdr dirlist))
-      (if (file-directory-p dir)
-	  (let ((dir-temp (cons (file-name-as-directory dir) dirs)))
-	    ;; Without feedback the user might wonder about the delay!
-	    (or silent (message
-			"Building list of search directories... %s"
-			(car dir-temp)))
-	    (if (member (file-truename dir) been)
-		()		 ; Ignore. We have been here before
-	      (setq been (cons (file-truename dir) been))
-	      (setq dirs
-		    (if (string-match leaf-signature dir)
-			dir-temp
-		      (Manual-all-subdirectories-noloop
-		       (directory-files dir t "[^.]$" nil 'dirs-only)
-		       leaf-signature dir-temp been silent))))))))
-  dirs)
-
-
-(defvar Manual-bogus-file-pattern "\\.\\(lpr\\|ps\\|PS\\)\\'"
-  "Some systems have files in the man/man*/ directories which aren't man pages.
-This pattern is used to prune those files.")
-
-;; Manual-select-man-pages
-;;
-;; Given a DIRLIST, discover all filenames which complete given the TOPIC
-;; and SECTION.
-
-;; ## Note: BSD man looks for .../man1/foo.1 and .../man1/$MACHINE/foo.1
-
-;; ## Fixed for SGI IRIX 5.x on Sat Jul 15 1995 by Dale Atems
-;; (atems@physics.wayne.edu).
-
-(defun Manual-select-man-pages (dirlist topic section exact shadow)
-  (let ((case-fold-search nil))
-    (and section
-      (let ((l '())
-	    ;;(match (concat (substring section 0 1) "/?\\'"))
-	    ;;                                          ^^^
-	    ;; We'll lose any pages inside subdirectories of the "standard"
-	    ;; ones if we insist on this! The following regexp should
-	    ;; match any directory ending with the full section id or
-	    ;; its first character, or any direct subdirectory thereof:
-	    (match (concat "\\("
-			   (regexp-quote section)
-			   "\\|"
-			   (substring section 0 1)
-			   "\\)/?"))
-	    d)
-	(while dirlist
-	  (setq d (car dirlist) dirlist (cdr dirlist))
-	  (if (string-match match d)
-	      (setq l (cons d l))))
-	(setq dirlist l)))
-    (if shadow
-        (setq shadow (concat "/\\("
-                             (mapconcat #'(lambda (n)
-                                            (regexp-quote
-                                             (file-name-nondirectory n)))
-                                        shadow
-                                        "\\|")
-                             "\\)\\'")))
-    (let ((manlist '())
-          (match (concat "\\`"
-                           (regexp-quote topic)
-			    ;; **Note: on IRIX the preformatted pages
-			    ;; are packed, so they end with ".z". This
-			    ;; way you miss them if you specify a
-			    ;; section. I don't see any point to it here
-			    ;; even on BSD systems since we're looking
-			    ;; one level down already, but I can't test
-			    ;; this. More thought needed (???)
-
-			   (cond ((and section
-				       (not Manual-use-subdirectory-list))
-				  (concat "\\." (regexp-quote section)))
-                                 (exact
-                                  ;; If Manual-match-topic-exactly is
-                                  ;; set, then we must make sure the
-                                  ;; completions are exact, except for
-                                  ;; trailing weird characters after
-                                  ;; the section.
-                                  "\\.")
-                                 (t
-                                  ""))))
-          dir)
-      (while dirlist
-        (setq dir (car dirlist) dirlist (cdr dirlist))
-        (if (not (file-directory-p dir))
-            (progn
-              (message "warning: %s is not a directory" dir)
-              ;;(sit-for 1)
-              )
-            (let ((files (directory-files dir t match nil t))
-                  f)
-              (while files
-                (setq f (car files) files (cdr files))
-                (cond ((string-match Manual-bogus-file-pattern f)
-		       ;(message "Bogus fule %s" f) (sit-for 2)
-                       )
-		      ((and shadow (string-match shadow f))
-                       ;(message "Shadowed %s" f) (sit-for 2)
-                       )
-                      ((not (file-readable-p f))
-                       ;(message "Losing with %s" f) (sit-for 2)
-                       )
-                      (t
-                       (setq manlist (cons f manlist))))))))
-      (setq manlist (nreverse manlist))
-      (and Manual-unique-man-sections-only
-	   (setq manlist (Manual-clean-to-unique-pages-only manlist)))
-      (if (and manlist Manual-query-multiple-pages)
-          (apply #'append
-                 (mapcar #'(lambda (page)
-                             (and page 
-                                  (y-or-n-p (format "Read %s? " page))
-				  (list page)))
-                         manlist))
-          manlist))))
-
-(defun Manual-clean-to-unique-pages-only (manlist)
-  "Prune the current list of pages down to a unique set."
-  (let (page-name unique-pages)
-    (apply 'append
-	   (mapcar '(lambda (page)
-		      (cond (page
-			     (and (string-match ".*/\\(.*\\)" page)
-				  (setq page-name (substring page (match-beginning 1)
-							     (match-end 1)))
-				  ;; try to clip off .Z, .gz suffixes
-				  (and (string-match "\\(.*\\)\\.\\(.+\\)\\.\\(.+\\)"
-						     page-name)
-				       (setq page-name
-					     (substring page-name (match-beginning 1)
-							(match-end 2)))))
-			     ;; add Manual-unique-pages if it isn't there
-			     ;;  and return file
-			     (if (and unique-pages
-				      page-name
-				      (string-match (concat "\\b" page-name "\\b")
-						    unique-pages))
-				 nil
-			       (setq unique-pages (concat unique-pages
-								 page-name
-								 " "))
-			       (list page)))))
-		   manlist))))
-			    
-
-
-(defun Manual-insert-man-file (name)
-  ;; Insert manual file (unpacked as necessary) into buffer
-  (cond ((equal (substring name -3) ".gz")
-	 (call-process "gunzip" nil t nil "--stdout" name))
-        ((or (equal (substring name -2) ".Z")
-	     ;; HPUX uses directory names that end in .Z and compressed
-	     ;; files that don't.  How gratuitously random.
-             (let ((case-fold-search nil))
-               (string-match "\\.Z/" name)))
-	 (call-process "zcat" name t nil)) ;; XEmacs change for HPUX
-	((equal (substring name -2) ".z")
-	 (call-process "pcat" nil t nil name))
-	(t
-	 (insert-file-contents name))))
-
-(defmacro Manual-delete-char (n)
-  ;; in v19, delete-char is compiled as a function call, but delete-region
-  ;; is byte-coded, so it's much faster.
-  ;; (We were spending 40% of our time in delete-char alone.)
-  (list 'delete-region '(point) (list '+ '(point) n)))
-
-;; Hint: BS stands for more things than "back space"
-(defun Manual-nuke-nroff-bs (&optional apropos-mode)
-  (interactive "*")
-  (if Manual-use-rosetta-man
-      (call-process-region (point-min) (point-max) "rman" t t nil)
-    ;;
-    ;; turn underlining into italics
-    ;;
-    (goto-char (point-min))
-    (while (search-forward "_\b" nil t)
-      ;; searching for underscore-backspace and then comparing the following
-      ;; chars until the sequence ends turns out to be much faster than searching
-      ;; for a regexp which matches the whole sequence.
-      (let ((s (match-beginning 0)))
-	(goto-char s)
-	(while (and (= (following-char) ?_)
-		    (= (char-after (1+ (point))) ?\b))
-	  (Manual-delete-char 2)
-	  (forward-char 1))
-	(set-extent-face (make-extent s (point)) 'man-italic)))
-    ;;
-    ;; turn overstriking into bold
-    ;;
-    (goto-char (point-min))
-    (while (re-search-forward "\\([^\n]\\)\\(\b\\1\\)" nil t)
-      ;; Surprisingly, searching for the above regexp is faster than searching
-      ;; for a backspace and then comparing the preceding and following chars,
-      ;; I presume because there are many false matches, meaning more funcalls
-      ;; to re-search-forward.
-      (let ((s (match-beginning 0)))
-	(goto-char s)
-	;; Some systems (SGI) overstrike multiple times, eg, "M\bM\bM\bM".
-	(while (looking-at "\\([^\n]\\)\\(\b\\1\\)+")
-	  (delete-region (+ (point) 1) (match-end 0))
-	  (forward-char 1))
-	(set-extent-face (make-extent s (point)) 'man-bold)))
-    ;;
-    ;; hack bullets: o^H+ --> +
-    (goto-char (point-min))
-    (while (search-forward "\b" nil t)
-      (Manual-delete-char -2))
-
-    (if (> (buffer-size) 100) ; minor kludge
-	(Manual-nuke-nroff-bs-footers))
-    ) ;; not Manual-use-rosetta-man
-  ;;
-  ;; turn subsection header lines into bold
-  ;;
-  (goto-char (point-min))
-  (if apropos-mode
-      (while (re-search-forward "[a-zA-Z0-9] ([0-9]" nil t)
-	(forward-char -2)
-	(delete-backward-char 1))
-
-    ;;    (while (re-search-forward "^[^ \t\n]" nil t)
-    ;;      (set-extent-face (make-extent (match-beginning 0)
-    ;;                                   (progn (end-of-line) (point)))
-    ;;                      'man-heading))
-
-    ;; boldface the first line
-    (if (looking-at "[^ \t\n].*$")
-	(set-extent-face (make-extent (match-beginning 0) (match-end 0))
-			 'man-bold))
-
-    ;; boldface subsequent title lines
-    ;; Regexp to match section headers changed to match a non-indented
-    ;; line preceded by a blank line and followed by an indented line. 
-    ;; This seems to work ok for manual pages but gives better results
-    ;; with other nroff'd files
-    (while (re-search-forward "\n\n\\([^ \t\n].*\\)\n[ \t]+[^ \t\n]" nil t)
-      (goto-char (match-end 1))
-      (set-extent-face (make-extent (match-beginning 1) (match-end 1))
-		       'man-heading)
-      (forward-line 1))
-    )
-
-  (if Manual-use-rosetta-man
-      nil
-    ;; Zap ESC7,  ESC8, and ESC9
-    ;; This is for Sun man pages like "man 1 csh"
-    (goto-char (point-min))
-    (while (re-search-forward "\e[789]" nil t)
-      (replace-match "")))
-  
-  ;; Nuke blanks lines at start.
-  ;;  (goto-char (point-min))
-  ;;  (skip-chars-forward "\n")
-  ;;  (delete-region (point-min) (point))
-
-  (Manual-mouseify-xrefs)
-  )
-
-(fset 'nuke-nroff-bs 'Manual-nuke-nroff-bs) ; use old name
-
-
-(defun Manual-nuke-nroff-bs-footers ()
-  ;; Nuke headers and footers.
-  ;;
-  ;; nroff assumes pages are 66 lines high.  We assume that, and that the
-  ;; first and last line on each page is expendible.  There is no way to
-  ;; tell the difference between a page break in the middle of a paragraph
-  ;; and a page break between paragraphs (the amount of extra whitespace
-  ;; that nroff inserts is the same in both cases) so this might strip out
-  ;; a blank line were one should remain.  I think that's better than
-  ;; leaving in a blank line where there shouldn't be one.  (Need I say
-  ;; it: FMH.)
-  ;;
-  ;; Note that if nroff spits out error messages, pages will be more than
-  ;; 66 lines high, and we'll lose badly.  That's ok because standard
-  ;; nroff doesn't do any diagnostics, and the "gnroff" wrapper for groff
-  ;; turns off error messages for compatibility.  (At least, it's supposed
-  ;; to.)
-  ;; 
-  (goto-char (point-min))
-  ;; first lose the status output
-  (let ((case-fold-search t))
-    (if (and (not (looking-at "[^\n]*warning"))
-	     (looking-at "Reformatting.*\n"))
-	(delete-region (match-beginning 0) (match-end 0))))
-
-  ;; kludge around a groff bug where it won't keep quiet about some
-  ;; warnings even with -Wall or -Ww.
-  (cond ((looking-at "grotty:")
-	 (while (looking-at "grotty:")
-	   (delete-region (point) (progn (forward-line 1) (point))))
-	 (if (looking-at " *done\n")
-	     (delete-region (point) (match-end 0)))))
-
-  (let ((pages '())
-	p)
-    ;; collect the page boundary markers before we start deleting, to make
-    ;; it easier to strip things out without changing the page sizes.
-    (while (not (eobp))
-      (forward-line 66)
-      (setq pages (cons (point-marker) pages)))
-    (setq pages (nreverse pages))
-    (while pages
-      (goto-char (car pages))
-      (set-marker (car pages) nil)
-      ;;
-      ;; The lines are: 3 blank; footer; 6 blank; header; 3 blank.
-      ;; We're in between the previous footer and the following header,
-      ;;
-      ;; First lose 3 blank lines, the header, and then 3 more.
-      ;;
-      (setq p (point))
-      (skip-chars-forward "\n")
-      (delete-region p (point))
-      (and (looking-at "[^\n]+\n\n?\n?\n?")
-	   (delete-region (match-beginning 0) (match-end 0)))
-      ;;
-      ;; Next lose the footer, and the 3 blank lines after, and before it.
-      ;; But don't lose the last footer of the manual entry; that contains
-      ;; the "last change" date, so it's not completely uninteresting.
-      ;; (Actually lose all blank lines before it; sh(1) needs this.)
-      ;;
-      (skip-chars-backward "\n")
-      (beginning-of-line)
-      (if (null (cdr pages))
-	  nil
-	(and (looking-at "[^\n]+\n\n?\n?\n?")
-	     (delete-region (match-beginning 0) (match-end 0))))
-      (setq p (point))
-      (skip-chars-backward "\n")
-      (if (> (- p (point)) 4)
-	  (delete-region (+ 2 (point)) p)
-	(delete-region (1+ (point)) p))
-;      (and (looking-at "\n\n?\n?")
-;	   (delete-region (match-beginning 0) (match-end 0)))
-
-      (setq pages (cdr pages)))
-    ;;
-    ;; Now nuke the extra blank lines at the beginning and end.
-    (goto-char (point-min))
-    (if (looking-at "\n+")
-	(delete-region (match-beginning 0) (match-end 0)))
-    (forward-line 1)
-    (if (looking-at "\n\n+")
-	(delete-region (1+ (match-beginning 0)) (match-end 0)))
-    (goto-char (point-max))
-    (skip-chars-backward "\n")
-    (delete-region (point) (point-max))
-    (beginning-of-line)
-    (forward-char -1)
-    (setq p (point))
-    (skip-chars-backward "\n")
-    (if (= ?\n (following-char)) (forward-char 1))
-    (if (> (point) (1+ p))
-	(delete-region (point) p))
-    ))
-
-;(defun Manual-nuke-nroff-bs-footers ()
-;  ;; Nuke headers: "MORE(1) UNIX Programmer's Manual MORE(1)"
-;  (goto-char (point-min))
-;  (while (re-search-forward "^ *\\([A-Za-z][-_A-Za-z0-9]*([0-9A-Za-z]+)\\).*\\1$" nil t)
-;    (replace-match ""))
-;  
-;  ;;
-;  ;; it would appear that we have a choice between sometimes introducing
-;  ;; an extra blank line when a paragraph was broken by a footer, and
-;  ;; sometimes not putting in a blank line between two paragraphs when
-;  ;; a footer appeared right between them.  FMH; I choose the latter.
-;  ;;
-;
-;  ;; Nuke footers: "Printed 12/3/85	27 April 1981	1"
-;  ;;    Sun appear to be on drugz:
-;  ;;     "Sun Release 3.0B  Last change: 1 February 1985     1"
-;  ;;    HP are even worse!
-;  ;;     "     Hewlett-Packard   -1- (printed 12/31/99)"  FMHWA12ID!!
-;  ;;    System V (well WICATs anyway):
-;  ;;     "Page 1			  (printed 7/24/85)"
-;  ;;    Who is administering PCP to these corporate bozos?
-;  (goto-char (point-min))
-;  (while (re-search-forward
-;	   (cond
-;	    ((eq system-type 'hpux)
-;	     "\n\n?[ \t]*Hewlett-Packard\\(\\| Company\\)[ \t]*- [0-9]* -.*\n")
-;	    ((eq system-type 'dgux-unix)
-;	     "\n\n?[ \t]*Licensed material--.*Page [0-9]*\n")
-;	    ((eq system-type 'usg-unix-v)
-;	     "\n\n? *Page [0-9]*.*(printed [0-9/]*)\n")
-;	    (t
-;	     "\n\n?\\(Printed\\|Sun Release\\) [0-9].*[0-9]\n"))
-;	   nil t)
-;    (replace-match ""))
-;
-;  ;;    Also, hack X footers:
-;  ;;     "X Version 11         Last change: Release 5         1"
-;  (goto-char (point-min))
-;  (while (re-search-forward "\n\n?X Version [^\n]+\n" nil t)
-;    (replace-match ""))
-;
-;  ;; Crunch blank lines
-;  (goto-char (point-min))
-;  (while (re-search-forward "\n\n\n\n*" nil t)
-;    (replace-match "\n\n"))
-;  )
-
-(defun Manual-mouseify-xrefs ()
-  (goto-char (point-min))
-  (forward-line 1)
-  (let ((case-fold-search nil)
-	s e name extent)
-    ;; possibly it would be faster to rewrite this expression to search for
-    ;; a less common sequence first (like "([0-9]") and then back up to see
-    ;; if it's really a match.  This function is 15% of the total time, 13%
-    ;; of which is this call to re-search-forward.
-    (while (re-search-forward "[a-zA-Z_][-a-zA-Z0-9_.]*([0-9][a-zA-Z0-9]*)"
-			      nil t)
-      (setq s (match-beginning 0)
-	    e (match-end 0)
-	    name (buffer-substring s e))
-      (goto-char s)
-      (skip-chars-backward " \t")
-      (if (and (bolp)
-	       (progn (backward-char 1) (= (preceding-char) ?-)))
-	  (progn
-	    (setq s (point))
-	    (skip-chars-backward "-a-zA-Z0-9_.")
-	    (setq name (concat (buffer-substring (point) (1- s)) name))
-	    (setq s (point))))
-      ;; if there are upper case letters in the section, downcase them.
-      (if (string-match "(.*[A-Z]+.*)$" name)
-	  (setq name (concat (substring name 0 (match-beginning 0))
-			     (downcase (substring name (match-beginning 0))))))
-      ;; (setq already-fontified (extent-at s))
-      (setq extent (make-extent s e))
-      (set-extent-property extent 'man (list 'Manual-follow-xref name))
-      (set-extent-property extent 'highlight t)
-      ;; (if (not already-fontified)...
-      (set-extent-face extent 'man-xref)
-      (goto-char e))))
-
-(defun Manual-follow-xref (&optional name-or-event)
-  "Invoke `manual-entry' on the cross-reference under the mouse.
-When invoked noninteractively, the arg may be an xref string to parse instead."
-  (interactive "e")
-  (if (eventp name-or-event)
-      (let* ((p (event-point name-or-event))
-	     (extent (and p (extent-at p
-			     (event-buffer name-or-event)
-			     'highlight)))
-	     (data (and extent (extent-property extent 'man))))
-	(if (eq (car-safe data) 'Manual-follow-xref)
-	    (eval data)
-	  (error "no manual cross-reference there.")))
-    (let ((Manual-match-topic-exactly t)
-	  (Manual-query-multiple-pages nil))
-      (or (manual-entry name-or-event)
-	  ;; If that didn't work, maybe it's in a different section than the
-	  ;; man page writer expected.  For example, man pages tend assume
-	  ;; that all user programs are in section 1, but X tends to generate
-	  ;; makefiles that put things in section "n" instead...
-	  (and (string-match "[ \t]*([^)]+)\\'" name-or-event)
-	       (progn
-		 (message "No entries found for %s; checking other sections..."
-			  name-or-event)
-		 (manual-entry
-		  (substring name-or-event 0 (match-beginning 0))
-		  nil t)))))))
-
-(defun Manual-popup-menu (&optional event)
-  "Pops up a menu of cross-references in this manual page.
-If there is a cross-reference under the mouse button which invoked this
-command, it will be the first item on the menu.  Otherwise, they are
-on the menu in the order in which they appear in the buffer."
-  (interactive "e")
-  (let ((buffer (current-buffer))
-	(sep "---")
-	(prefix "Show Manual Page for ")
-	xref items)
-    (cond (event
-	   (setq buffer (event-buffer event))
-	   (let* ((p (event-point event))
-		  (extent (and p (extent-at p buffer 'highlight)))
-		  (data (and extent (extent-property extent 'man))))
-	     (if (eq (car-safe data) 'Manual-follow-xref)
-		 (setq xref (nth 1 data))))))
-    (if xref (setq items (list sep xref)))
-    (map-extents #'(lambda (extent ignore)
-		     (let ((data (extent-property extent 'man)))
-		       (if (and (eq (car-safe data) 'Manual-follow-xref)
-				(not (member (nth 1 data) items)))
-			   (setq items (cons (nth 1 data) items)))
-		    nil))
-		 buffer)
-    (if (eq sep (car items)) (setq items (cdr items)))
-    (let ((popup-menu-titles nil))
-      (popup-menu
-       (cons "Manual Entry"
-	     (mapcar #'(lambda (item)
-			 (if (eq item sep)
-			     item
-                           (vector (concat prefix item)
-                                   (list 'Manual-follow-xref item) t)))
-		     (nreverse items)))))))
-
-(defun pager-cleanup-hook ()
-  "cleanup man page if called via $PAGER"
-  (let ((buf-name (or buffer-file-name (buffer-name))))
-	(if (and (or (string-match "^/tmp/man[0-9]+" buf-name)
-		     (string-match ".*/man/\\(man\\|cat\\)[1-9a-z]/" buf-name))
-		 (not (string-match Manual-bogus-file-pattern buf-name)))
-	    (let (buffer manpage)
-	      (require 'man)
-	      (goto-char (point-min))
-	      (setq buffer-read-only nil)
-	      (Manual-nuke-nroff-bs)
-	      (goto-char (point-min))
-	      (if (re-search-forward "[^ \t]")
-		  (goto-char (- (point) 1)))
-	      (if (looking-at "\\([a-zA-Z0-9]+\\)[ \t]*(")
-		  (setq manpage (buffer-substring (match-beginning 1) (match-end 1)))
-		(setq manpage "???"))
-	      (setq buffer
-		    (rename-buffer
-		     (generate-new-buffer-name (concat "*man " manpage "*"))))
-	      (setq buffer-file-name nil)
-	      (goto-char (point-min))
-	      (insert (format "%s\n" buf-name))
-	      (goto-char (point-min))
-	      (buffer-disable-undo buffer)
-	      (set-buffer-modified-p nil)
-	      (Manual-mode)
-	      ))))
-
-(add-hook 'server-visit-hook 'pager-cleanup-hook)
-(provide 'man)
--- a/lisp/packages/rnews.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,982 +0,0 @@
-;;; rnews.el --- USENET news reader for gnu emacs
-;; Keywords: news
-
-;; Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
-
-;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; Synched up with: FSF 19.30.
-;;; Obsolete and should be removed.
-
-;; Created Sun Mar 10,1985 at 21:35:01 ads and sundar@hernes.ai.mit.edu
-;; Should do the point pdl stuff sometime
-;; finito except pdl.... Sat Mar 16,1985 at 06:43:44
-;; lets keep the summary stuff out until we get it working ..
-;;	sundar@hermes.ai.mit.edu Wed Apr 10,1985 at 16:32:06
-;; hack slash maim. mly@prep.ai.mit.edu Thu 18 Apr, 1985 06:11:14
-;; modified to correct reentrance bug, to not bother with groups that
-;;   received no new traffic since last read completely, to find out
-;;   what traffic a group has available much more quickly when
-;;   possible, to do some completing reads for group names - should
-;;   be much faster...
-;;	KING@KESTREL.arpa, Thu Mar 13 09:03:28 1986
-;; made news-{next,previous}-group skip groups with no new messages; and
-;; added checking for unsubscribed groups to news-add-news-group
-;;	tower@prep.ai.mit.edu Jul 18 1986
-;; bound rmail-output to C-o; and changed header-field commands binding to
-;; agree with the new C-c C-f usage in sendmail
-;; 	tower@prep Sep  3 1986
-;; added news-rotate-buffer-body
-;;	tower@prep Oct 17 1986
-;; made messages more user friendly, cleanuped news-inews
-;; move posting and mail code to new file rnewpost.el
-;;	tower@prep Oct 29 1986
-;; added caesar-region, rename news-caesar-buffer-body, hacked accordingly
-;;	tower@prep Nov 21 1986
-;; added (provide 'rnews)	tower@prep 22 Apr 87
-(provide 'rnews)
-(require 'mail-utils)
-
-(autoload 'rmail-output "rmailout"
-  "Append this message to Unix mail file named FILE-NAME."
-  t)
-
-(autoload 'news-reply "rnewspost"
-  "Compose and post a reply to the current article on USENET.
-While composing the reply, use \\[mail-yank-original] to yank the original
-message into it."
-  t)
-
-(autoload 'news-mail-other-window "rnewspost"
-  "Send mail in another window.
-While composing the message, use \\[mail-yank-original] to yank the
-original message into it."
-  t)
-
-(autoload 'news-post-news "rnewspost"
-  "Begin editing a new USENET news article to be posted."
-  t)
-
-(autoload 'news-mail-reply "rnewspost"
-  "Mail a reply to the author of the current article.
-While composing the reply, use \\[mail-yank-original] to yank the original
-message into it."
-  t)
-
-(defvar news-group-hook-alist nil
-  "Alist of (GROUP-REGEXP . HOOK) pairs.
-Just before displaying a message, each HOOK is called
-if its GROUP-REGEXP matches the current newsgroup name.")
-
-(defvar rmail-last-file (expand-file-name "~/mbox.news"))
-
-;Now in paths.el.
-;(defvar news-path "/usr/spool/news/"
-;  "The root directory below which all news files are stored.")
-
-(defvar news-startup-file "$HOME/.newsrc" "Contains ~/.newsrc")
-(defvar news-certification-file "$HOME/.news-dates" "Contains ~/.news-dates")
-
-;; random headers that we decide to ignore.
-(defvar news-ignored-headers
-  "^Path:\\|^Posting-Version:\\|^Article-I.D.:\\|^Expires:\\|^Date-Received:\\|^References:\\|^Control:\\|^Xref:\\|^Lines:\\|^Posted:\\|^Relay-Version:\\|^Message-ID:\\|^Nf-ID:\\|^Nf-From:\\|^Approved:\\|^Sender:"
-  "All random fields within the header of a message.")
-
-(defvar news-mode-map nil)
-(defvar news-read-first-time-p t)
-;; Contains the (dotified) news groups of which you are a member. 
-(defvar news-user-group-list nil)
-
-(defvar news-current-news-group nil)
-(defvar news-current-group-begin nil)
-(defvar news-current-group-end  nil)
-(defvar news-current-certifications nil
-   	"An assoc list of a group name and the time at which it is
-known that the group had no new traffic")
-(defvar news-current-certifiable nil
-	"The time when the directory we are now working on was written")
-
-(defvar news-message-filter nil
-  "User specifiable filter function that will be called during
-formatting of the news file")
-
-;(defvar news-mode-group-string "Starting-Up"
-;  "Mode line group name info is held in this variable")
-(defvar news-list-of-files nil
-  "Global variable in which we store the list of files
-associated with the current newsgroup")
-(defvar news-list-of-files-possibly-bogus nil
-  "variable indicating we only are guessing at which files are available.
-Not currently used.")
-
-;; association list in which we store lists of the form
-;; (pointified-group-name (first last old-last))
-(defvar news-group-article-assoc nil)
-  
-(defvar news-current-message-number 0 "Displayed Article Number")
-(defvar news-total-current-group 0 "Total no of messages in group")
-
-(defvar news-unsubscribe-groups ())
-(defvar news-point-pdl () "List of visited news messages.")
-(defvar news-no-jumps-p t)
-(defvar news-buffer () "Buffer into which news files are read.")
-
-(defmacro news-push (item ref)
-  (list 'setq ref (list 'cons item ref)))
-
-(defmacro news-cadr (x) (list 'car (list 'cdr x)))
-(defmacro news-cdar (x) (list 'cdr (list 'car x)))
-(defmacro news-caddr (x) (list 'car (list 'cdr (list 'cdr x))))
-(defmacro news-cadar (x) (list 'car (list 'cdr (list 'car x))))
-(defmacro news-caadr (x) (list 'car (list 'car (list 'cdr x))))
-(defmacro news-cdadr (x) (list 'cdr (list 'car (list 'cdr x))))
-
-(defmacro news-wins (pfx index)
-  (` (file-exists-p (concat (, pfx) "/" (int-to-string (, index))))))
-
-(defvar news-max-plausible-gap 2
-	"* In an rnews directory, the maximum possible gap size.
-A gap is a sequence of missing messages between two messages that exist.
-An empty file does not contribute to a gap -- it ends one.")
-
-(defun news-find-first-and-last (prefix base)
-  (and (news-wins prefix base)
-       (cons (news-find-first-or-last prefix base -1)
-	     (news-find-first-or-last prefix base 1))))
-
-(defmacro news-/ (a1 a2)
-;; a form of / that guarantees that (/ -1 2) = 0
-  (if (zerop (/ -1 2))
-      (` (/ (, a1) (, a2)))
-    (` (if (< (, a1) 0)
-	   (- (/ (- (, a1)) (, a2)))
-	 (/ (, a1) (, a2))))))
-
-(defun news-find-first-or-last (pfx base dirn)
-  ;; first use powers of two to find a plausible ceiling
-  (let ((original-dir dirn))
-    (while (news-wins pfx (+ base dirn))
-      (setq dirn (* dirn 2)))
-    (setq dirn (news-/ dirn 2))
-    ;; Then use a binary search to find the high water mark
-    (let ((offset (news-/ dirn 2)))
-      (while (/= offset 0)
-	(if (news-wins pfx (+ base dirn offset))
-	    (setq dirn (+ dirn offset)))
-	(setq offset (news-/ offset 2))))
-    ;; If this high-water mark is bogus, recurse.
-    (let ((offset (* news-max-plausible-gap original-dir)))
-      (while (and (/= offset 0) (not (news-wins pfx (+ base dirn offset))))
-	(setq offset (- offset original-dir)))
-      (if (= offset 0)
-	  (+ base dirn)
-	(news-find-first-or-last pfx (+ base dirn offset) original-dir)))))
-
-(defun rnews ()
-"Read USENET news for groups for which you are a member and add or
-delete groups.
-You can reply to articles posted and send articles to any group.
-
-Type \\[describe-mode] once reading news to get a list of rnews commands."
-  (interactive)
-  (let ((last-buffer (buffer-name)))
-    (make-local-variable 'rmail-last-file)
-    (switch-to-buffer (setq news-buffer (get-buffer-create "*news*")))
-    (news-mode)
-    (setq news-buffer-save last-buffer)
-    (setq buffer-read-only nil)
-    (erase-buffer)
-    (setq buffer-read-only t)
-    (set-buffer-modified-p t)
-    (sit-for 0)
-    (message "Getting new USENET news...")
-    (news-set-mode-line)
-    (news-get-certifications)
-    (news-get-new-news)))
-
-(defun news-group-certification (group)
-  (cdr-safe (assoc group news-current-certifications)))
-
-
-(defun news-set-current-certifiable ()
-  ;; Record the date that corresponds to the directory you are about to check
-  (let ((file (concat news-path
-		      (string-subst-char ?/ ?. news-current-news-group))))
-    (setq news-current-certifiable
-	  (nth 5 (file-attributes
-		  (or (file-symlink-p file) file))))))
-
-(defun news-get-certifications ()
-  ;; Read the certified-read file from last session
-  (save-excursion
-    (save-window-excursion
-      (setq news-current-certifications
-	    (car-safe
-	     (condition-case var
-		 (let*
-		     ((file (substitute-in-file-name news-certification-file))
-		      (buf (find-file-noselect file)))
-		   (and (file-exists-p file)
-			(progn
-			  (switch-to-buffer buf 'norecord)
-			  (unwind-protect
-			      (read-from-string (buffer-string))
-			    (kill-buffer buf)))))
-	       (error nil)))))))
-
-(defun news-write-certifications ()
-  ;; Write a certification file.
-  ;; This is an assoc list of group names with doubletons that represent
-  ;; mod times of the directory when group is read completely.
-  (save-excursion
-    (save-window-excursion
-      (with-output-to-temp-buffer
-	  "*CeRtIfIcAtIoNs*"
-	  (print news-current-certifications))
-      (let ((buf (get-buffer "*CeRtIfIcAtIoNs*")))
-	(switch-to-buffer buf)
-	(write-file (substitute-in-file-name news-certification-file))
-	(kill-buffer buf)))))
-
-(defun news-set-current-group-certification ()
-  (let ((cgc (assoc news-current-news-group news-current-certifications)))
-    (if cgc (setcdr cgc news-current-certifiable)
-      (news-push (cons news-current-news-group news-current-certifiable)
-		 news-current-certifications))))
-
-(defun news-set-minor-modes ()
-  "Creates a minor mode list that has group name, total articles,
-and attribute for current article."
-  (setq news-minor-modes (list (cons 'foo
-				     (concat news-current-message-number
-					     "/"
-					     news-total-current-group
-					     (news-get-attribute-string)))))
-  ;; Detect Emacs versions 18.16 and up, which display
-  ;; directly from news-minor-modes by using a list for mode-name.
-  (or (boundp 'minor-mode-alist)
-      (setq minor-modes news-minor-modes)))
-
-(defun news-set-message-counters ()
-  "Scan through current news-groups filelist to figure out how many messages
-are there. Set counters for use with minor mode display."
-    (if (null news-list-of-files)
-	(setq news-current-message-number 0)))
-
-(if news-mode-map
-    nil
-  (setq news-mode-map (make-keymap))
-  (suppress-keymap news-mode-map)
-  (define-key news-mode-map "." 'beginning-of-buffer)
-  (define-key news-mode-map " " 'scroll-up)
-  (define-key news-mode-map "\177" 'scroll-down)
-  (define-key news-mode-map "n" 'news-next-message)
-  (define-key news-mode-map "c" 'news-make-link-to-message)
-  (define-key news-mode-map "p" 'news-previous-message)
-  (define-key news-mode-map "j" 'news-goto-message)
-  (define-key news-mode-map "q" 'news-exit)
-  (define-key news-mode-map "e" 'news-exit)
-  (define-key news-mode-map "\ej" 'news-goto-news-group)
-  (define-key news-mode-map "\en" 'news-next-group)
-  (define-key news-mode-map "\ep" 'news-previous-group)
-  (define-key news-mode-map "l" 'news-list-news-groups)
-  (define-key news-mode-map "?" 'describe-mode)
-  (define-key news-mode-map "g" 'news-get-new-news)
-  (define-key news-mode-map "f" 'news-reply)
-  (define-key news-mode-map "m" 'news-mail-other-window)
-  (define-key news-mode-map "a" 'news-post-news)
-  (define-key news-mode-map "r" 'news-mail-reply)
-  (define-key news-mode-map "o" 'news-save-item-in-file)
-  (define-key news-mode-map "\C-o" 'rmail-output)
-  (define-key news-mode-map "t" 'news-show-all-headers)
-  (define-key news-mode-map "x" 'news-force-update)
-  (define-key news-mode-map "A" 'news-add-news-group)
-  (define-key news-mode-map "u" 'news-unsubscribe-current-group)
-  (define-key news-mode-map "U" 'news-unsubscribe-group)
-  (define-key news-mode-map "\C-c\C-r" 'news-caesar-buffer-body))
-
-(defun news-mode ()
-  "News Mode is used by M-x rnews for reading USENET Newsgroups articles.
-New readers can find additional help in newsgroup: news.announce.newusers .
-All normal editing commands are turned off.
-Instead, these commands are available:
-
-.	move point to front of this news article (same as Meta-<).
-Space	scroll to next screen of this news article.
-Delete  scroll down previous page of this news article.
-n	move to next news article, possibly next group.
-p	move to previous news article, possibly previous group.
-j	jump to news article specified by numeric position.
-M-j     jump to news group.
-M-n     goto next news group.
-M-p     goto previous news group.
-l       list all the news groups with current status.
-?       print this help message.
-C-c C-r caesar rotate all letters by 13 places in the article's body (rot13).
-g       get new USENET news.
-f       post a reply article to USENET.
-a       post an original news article.
-A       add a newsgroup. 
-o	save the current article in the named file (append if file exists).
-C-o	output this message to a Unix-format mail file (append it).
-c       \"copy\" (actually link) current or prefix-arg msg to file.
-	warning: target directory and message file must be on same device
-		(UNIX magic)
-t       show all the headers this news article originally had.
-q	quit reading news after updating .newsrc file.
-e	exit updating .newsrc file.
-m	mail a news article.  Same as C-x 4 m.
-x       update last message seen to be the current message.
-r	mail a reply to this news article.  Like m but initializes some fields.
-u       unsubscribe from current newsgroup.
-U       unsubscribe from specified newsgroup."
-  (interactive)
-  (kill-all-local-variables)
-  (make-local-variable 'news-read-first-time-p)
-  (setq news-read-first-time-p t)
-  (make-local-variable 'news-current-news-group)
-;  (setq news-current-news-group "??")
-  (make-local-variable 'news-current-group-begin)
-  (setq news-current-group-begin 0)
-  (make-local-variable 'news-current-message-number)
-  (setq news-current-message-number 0)
-  (make-local-variable 'news-total-current-group)
-  (make-local-variable 'news-buffer-save)
-  (make-local-variable 'version-control)
-  (setq version-control 'never)
-  (make-local-variable 'news-point-pdl)
-;  This breaks it.  I don't have time to figure out why. -- RMS
-;  (make-local-variable 'news-group-article-assoc)
-  (setq major-mode 'news-mode)
-  (setq modeline-process '(news-minor-modes))
-  (setq mode-name "NEWS")
-  (news-set-mode-line)
-  (set-syntax-table text-mode-syntax-table)
-  (use-local-map news-mode-map)
-  (setq local-abbrev-table text-mode-abbrev-table)
-  (run-hooks 'news-mode-hook))
-
-(defun string-subst-char (new old string)
-  (let (index)
-    (setq old (regexp-quote (char-to-string old))
-	  string (substring string 0))
-    (while (setq index (string-match old string))
-      (aset string index new)))
-  string)
-
-;; update read message number
-(defmacro news-update-message-read (ngroup nno)
-  (list 'setcar
-	(list 'news-cdadr
-	      (list 'assoc ngroup 'news-group-article-assoc))
-	nno))
-
-(defun news-parse-range (number-string)
-  "Parse string representing range of numbers of he form <a>-<b>
-to a list (a . b)"
-  (let ((n (string-match "-" number-string)))
-    (if n
-	(cons (string-to-int (substring number-string 0 n))
-	      (string-to-int (substring number-string (1+ n))))
-      (setq n (string-to-int number-string))
-      (cons n n))))
-
-;(defun is-in (elt lis)
-;  (catch 'foo
-;    (while lis
-;      (if (equal (car lis) elt)
-;	  (throw 'foo t)
-;	(setq lis (cdr lis))))))
-
-(defun news-get-new-news ()
-  "Get new USENET news, if there is any for the current user."
-  (interactive)
-  (if (not (null news-user-group-list))
-      (news-update-newsrc-file))
-  (setq news-group-article-assoc ())
-  (setq news-user-group-list ())
-  (message "Looking up %s file..." news-startup-file)
-  (let ((file (substitute-in-file-name news-startup-file))
-	(temp-user-groups ()))
-    (save-excursion
-      (let ((newsrcbuf (find-file-noselect file))
-	    start end endofline tem)
-	(set-buffer newsrcbuf)
-	(goto-char 0)
-	(while (search-forward ": " nil t)
-	  (setq end (point))
-	  (beginning-of-line)
-	  (setq start (point))
-	  (end-of-line)
-	  (setq endofline (point))
-	  (setq tem (buffer-substring start (- end 2)))
-	  (let ((range (news-parse-range
-			(buffer-substring end endofline))))
-	    (if (assoc tem news-group-article-assoc)
-		(message "You are subscribed twice to %s; I ignore second"
-			 tem)	      
-	      (setq temp-user-groups (cons tem temp-user-groups)
-		    news-group-article-assoc
-		    (cons (list tem (list (car range)
-					  (cdr range)
-					  (cdr range)))
-			  news-group-article-assoc)))))
-	(kill-buffer newsrcbuf)))      
-    (setq temp-user-groups (nreverse temp-user-groups))
-    (message "Prefrobnicating...")
-    (switch-to-buffer news-buffer)
-    (setq news-user-group-list temp-user-groups)
-    (while (and temp-user-groups
-		(not (news-read-files-into-buffer
-		      (car temp-user-groups) nil)))
-      (setq temp-user-groups (cdr temp-user-groups)))
-    (if (null temp-user-groups)
-	(message "No news is good news.")
-      (message ""))))
-
-(defun news-list-news-groups ()
-  "Display all the news groups to which you belong."
-  (interactive)
-  (with-output-to-temp-buffer "*Newsgroups*"
-    (save-excursion
-      (set-buffer standard-output)
-      (insert
-	"News Group        Msg No.       News Group        Msg No.\n")
-      (insert
-	"-------------------------       -------------------------\n")
-      (let ((temp news-user-group-list)
-	    (flag nil))
-	(while temp
-	  (let ((item (assoc (car temp) news-group-article-assoc)))
-	    (insert (car item))
-	    (indent-to (if flag 52 20))
-	    (insert (int-to-string (news-cadr (news-cadr item))))
-	    (if flag
-		(insert "\n")
-	      (indent-to 33))
-	    (setq temp (cdr temp) flag (not flag))))))))
-
-;; Mode line hack
-(defun news-set-mode-line ()
-  "Set mode line string to something useful."
-  (setq mode-line-process
-	(concat " "
-		(if (integerp news-current-message-number)
-		    (int-to-string news-current-message-number)
-		 "??")
-		"/"
-		(if (integerp news-current-group-end)
-		    (int-to-string news-current-group-end)
-		  news-current-group-end)))
-  (setq mode-line-buffer-identification
-	(concat "NEWS: "
-		news-current-news-group
-		;; Enough spaces to pad group name to 17 positions.
-		(substring "                 "
-			   0 (max 0 (- 17 (length news-current-news-group))))))
-  (set-buffer-modified-p t)
-  (sit-for 0))
-
-(defun news-goto-news-group (gp)
-  "Takes a string and goes to that news group."
-  (interactive (list (completing-read "NewsGroup: "
-				      news-group-article-assoc)))
-  (message "Jumping to news group %s..." gp)
-  (news-select-news-group gp)
-  (message "Jumping to news group %s... done." gp))
-
-(defun news-select-news-group (gp)
-  (let ((grp (assoc gp news-group-article-assoc)))
-    (if (null grp)
- 	(error "Group %s not subscribed to" gp)
-      (progn
-	(news-update-message-read news-current-news-group
-				  (news-cdar news-point-pdl))
-	(news-read-files-into-buffer  (car grp) nil)
-	(news-set-mode-line)))))
-
-(defun news-goto-message (arg)
-  "Goes to the article ARG in current newsgroup."
-  (interactive "p")
-  (if (null current-prefix-arg)
-      (setq arg (read-no-blanks-input "Go to article: " "")))
-  (news-select-message arg))
-
-(defun news-select-message (arg)
-  (if (stringp arg) (setq arg (string-to-int arg)))
-  (let ((file (concat news-path
-		      (string-subst-char ?/ ?. news-current-news-group)
-		      "/" arg)))
-    (if (= arg 
-	   (or (news-cadr (memq (news-cdar news-point-pdl) news-list-of-files))
-	       0))
-	(setcdr (car news-point-pdl) arg))
-    (setq news-current-message-number arg)
-    (if (file-exists-p file)
-  	(let ((buffer-read-only nil))
-  	  (news-read-in-file file)
-  	  (news-set-mode-line))
-      (news-set-mode-line)
-      (error "Article %d nonexistent" arg))))
-
-(defun news-force-update ()
-  "updates the position of last article read in the current news group"
-  (interactive)
-  (setcdr (car news-point-pdl) news-current-message-number)
-  (message "Updated to %d" news-current-message-number))
-
-(defun news-next-message (arg)
-  "Move ARG messages forward within one newsgroup.
-Negative ARG moves backward.
-If ARG is 1 or -1, moves to next or previous newsgroup if at end."
-  (interactive "p")
-  (let ((no (+ arg news-current-message-number)))
-    (if (or (< no news-current-group-begin) 
-	    (> no news-current-group-end))
-	(cond ((= arg 1)
-	       (news-set-current-group-certification)
-	       (news-next-group))
-	      ((= arg -1)
-	       (news-previous-group))
-	      (t (error "Article out of range")))
-      (let ((plist (news-get-motion-lists
-		     news-current-message-number
-		     news-list-of-files)))
-	(if (< arg 0)
-	    (news-select-message (nth (1- (- arg)) (car (cdr plist))))
-	  (news-select-message (nth (1- arg) (car plist))))))))
-
-(defun news-previous-message (arg)
-  "Move ARG messages backward in current newsgroup.
-With no arg or arg of 1, move one message
-and move to previous newsgroup if at beginning.
-A negative ARG means move forward."
-  (interactive "p")
-  (news-next-message (- arg)))
-
-(defun news-move-to-group (arg)
-  "Given arg move forward or backward to a new newsgroup."
-  (let ((cg news-current-news-group))
-    (let ((plist (news-get-motion-lists cg news-user-group-list))
-	  ngrp)
-      (if (< arg 0)
-	  (or (setq ngrp (nth (1- (- arg)) (news-cadr plist)))
-	      (error "No previous news groups"))
-	(or (setq ngrp (nth arg (car plist)))
-	    (error "No more news groups")))
-      (news-select-news-group ngrp))))
-
-(defun news-next-group ()
-  "Moves to the next user group."
-  (interactive)
-;  (message "Moving to next group...")
-  (news-move-to-group 0)
-  (while (null news-list-of-files)
-    (news-move-to-group 0)))
-;  (message "Moving to next group... done.")
-
-(defun news-previous-group ()
-  "Moves to the previous user group."
-  (interactive)
-;  (message "Moving to previous group...")
-  (news-move-to-group -1)
-  (while (null news-list-of-files)
-    (news-move-to-group -1)))
-;  (message "Moving to previous group... done.")
-
-(defun news-get-motion-lists (arg listy)
-  "Given a msgnumber/group this will return a list of two lists;
-one for moving forward and one for moving backward."
-  (let ((temp listy)
-	(result ()))
-    (catch 'out
-      (while temp
-	(if (equal (car temp) arg)
-	    (throw 'out (cons (cdr temp) (list result)))
-	  (setq result (nconc (list (car temp)) result))
-	  (setq temp (cdr temp)))))))
-
-;; miscellaneous io routines
-(defun news-read-in-file (filename)
-  (erase-buffer)
-  (let ((start (point)))
-  (insert-file-contents filename)
-  (news-convert-format)
-  ;; Run each hook that applies to the current newsgroup.
-  (let ((hooks news-group-hook-alist))
-    (while hooks
-      (goto-char start)
-      (if (string-match (car (car hooks)) news-group-name)
-	  (funcall (cdr (car hooks))))
-      (setq hooks (cdr hooks))))
-  (goto-char start)
-  (forward-line 1)
-  (if (eobp)
-      (message "(Empty file?)")
-    (goto-char start))))
-
-(defun news-convert-format ()
-  (save-excursion
-    (save-restriction
-      (let* ((start (point))
-	     (end (condition-case ()
-		      (progn (search-forward "\n\n") (point))
-		    (error nil)))
-	     has-from has-date)
-       (cond (end
-	      (narrow-to-region start end)
-	      (goto-char start)
-	      (setq has-from (search-forward "\nFrom:" nil t))
-	      (cond ((and (not has-from) has-date)
-		     (goto-char start)
-		     (search-forward "\nDate:")
-		     (beginning-of-line)
-		     (kill-line) (kill-line)))
-	      (news-delete-headers start)
-	      (goto-char start)))))))
-
-(defun news-show-all-headers ()
-  "Redisplay current news item with all original headers"
-  (interactive)
-  (let (news-ignored-headers
-	(buffer-read-only ()))
-    (erase-buffer)
-    (news-set-mode-line)
-    (news-read-in-file
-     (concat news-path
-	     (string-subst-char ?/ ?. news-current-news-group)
-	     "/" (int-to-string news-current-message-number)))))
-
-(defun news-delete-headers (pos)
-  (goto-char pos)
-  (and (stringp news-ignored-headers)
-       (while (re-search-forward news-ignored-headers nil t)
-	 (beginning-of-line)
-	 (delete-region (point)
-			(progn (re-search-forward "\n[^ \t]")
-			       (forward-char -1)
-			       (point))))))
-
-(defun news-exit ()
-  "Quit news reading session and update the .newsrc file."
-  (interactive)
-  (if (y-or-n-p "Do you really wanna quit reading news ? ")
-      (progn (message "Updating %s..." news-startup-file)
-	     (news-update-newsrc-file)
-	     (news-write-certifications)
-	     (message "Updating %s... done" news-startup-file)
-	     (message "Now do some real work")
-	     (and (fboundp 'bury-buffer) (bury-buffer (current-buffer)))
-	     (switch-to-buffer news-buffer-save)
-	     (setq news-user-group-list ()))
-    (message "")))
-
-(defun news-update-newsrc-file ()
-  "Updates the .newsrc file in the users home dir."
-  (let ((newsrcbuf (find-file-noselect
-		     (substitute-in-file-name news-startup-file)))
-	(tem news-user-group-list)
-	group)
-    (save-excursion
-      (if (not (null news-current-news-group))
-	  (news-update-message-read news-current-news-group
-				    (news-cdar news-point-pdl)))
-      (set-buffer newsrcbuf)
-      (while tem
-	(setq group (assoc (car tem) news-group-article-assoc))
-	(if (= (news-cadr (news-cadr group)) (news-caddr (news-cadr group)))
-	    nil
-	  (goto-char 0)
-	  (if (search-forward (concat (car group) ": ") nil t)
-	      (kill-line nil)
-	    (insert (car group) ": \n") (backward-char 1))
-	  (insert (int-to-string (car (news-cadr group))) "-"
-		  (int-to-string (news-cadr (news-cadr group)))))
-	(setq tem (cdr tem)))
-     (while news-unsubscribe-groups
-       (setq group (assoc (car news-unsubscribe-groups)
-			  news-group-article-assoc))
-       (goto-char 0)
-       (if (search-forward (concat (car group) ": ") nil t)
-	   (progn
-	      (backward-char 2)
-	      (kill-line nil)
-	      (insert "! " (int-to-string (car (news-cadr group)))
-		      "-" (int-to-string (news-cadr (news-cadr group))))))
-       (setq news-unsubscribe-groups (cdr news-unsubscribe-groups)))
-     (save-buffer)
-     (kill-buffer (current-buffer)))))
-
-
-(defun news-unsubscribe-group (group)
-  "Removes you from newgroup GROUP."
-  (interactive (list (completing-read  "Unsubscribe from group: "
-				      news-group-article-assoc)))
-  (news-unsubscribe-internal group))
-
-(defun news-unsubscribe-current-group ()
-  "Removes you from the newsgroup you are now reading."
-  (interactive)
-  (if (y-or-n-p "Do you really want to unsubscribe from this group ? ")
-      (news-unsubscribe-internal news-current-news-group)))
-
-(defun news-unsubscribe-internal (group)
-  (let ((tem (assoc group news-group-article-assoc)))
-    (if tem
-	(progn
-	  (setq news-unsubscribe-groups (cons group news-unsubscribe-groups))
-	  (news-update-message-read group (news-cdar news-point-pdl))
-	  (if (equal group news-current-news-group)
-	      (news-next-group))
-	  (message ""))
-      (error "Not subscribed to group: %s" group))))
-
-(defun news-save-item-in-file (file)
-  "Save the current article that is being read by appending to a file."
-  (interactive "FSave item in file: ")
-  (append-to-file (point-min) (point-max) file))
-
-(defun news-get-pruned-list-of-files (gp-list end-file-no)
-  "Given a news group it finds all files in the news group.
-The arg must be in slashified format.
-Using ls was found to be too slow in a previous version."
-  (let
-      ((answer
-	(and
-	 (not (and end-file-no
-		   (equal (news-set-current-certifiable)
-		     (news-group-certification gp-list))
-		   (setq news-list-of-files nil
-			 news-list-of-files-possibly-bogus t)))
-	 (let* ((file-directory (concat news-path
-					(string-subst-char ?/ ?. gp-list)))
-		tem
-		(last-winner
-		 (and end-file-no
-		      (news-wins file-directory end-file-no)
-		      (news-find-first-or-last file-directory end-file-no 1))))
-	   (setq news-list-of-files-possibly-bogus t news-list-of-files nil)
-	   (if last-winner
-	       (progn
-		 (setq news-list-of-files-possibly-bogus t
-		       news-current-group-end last-winner)
-		 (while (> last-winner end-file-no)
-		   (news-push last-winner news-list-of-files)
-		   (setq last-winner (1- last-winner)))
-		 news-list-of-files)
-	     (if (or (not (file-directory-p file-directory))
-		     (not (file-readable-p file-directory)))
-		 nil
-	       (setq news-list-of-files
-		     (condition-case error
-			 (directory-files file-directory)
-		       (file-error
-			(if (string= (nth 2 error) "permission denied")
-			    (message "Newsgroup %s is read-protected"
-				     gp-list)
-			  (signal 'file-error (cdr error)))
-			nil)))
-	       (setq tem news-list-of-files)
-	       (while tem
-		 (if (or (not (string-match "^[0-9]*$" (car tem)))
-			 ;; dont get confused by directories that look like numbers
-			 (file-directory-p
-			  (concat file-directory "/" (car tem)))
-			 (<= (string-to-int (car tem)) end-file-no))
-		     (setq news-list-of-files
-			   (delq (car tem) news-list-of-files)))
-		 (setq tem (cdr tem)))
-	       (if (null news-list-of-files)
-		   (progn (setq news-current-group-end 0)
-			  nil)
-		 (setq news-list-of-files
-		       (mapcar 'string-to-int news-list-of-files))
-		 (setq news-list-of-files (sort news-list-of-files '<))
-		 (setq news-current-group-end
-		       (elt news-list-of-files
-			    (1- (length news-list-of-files))))
-		 news-list-of-files)))))))
-    (or answer (progn (news-set-current-group-certification) nil))))
-
-(defun news-read-files-into-buffer (group reversep)
-  (let* ((files-start-end (news-cadr (assoc group news-group-article-assoc)))
-	 (start-file-no (car files-start-end))
-	 (end-file-no (news-cadr files-start-end))
-	 (buffer-read-only nil))
-    (setq news-current-news-group group)
-    (setq news-current-message-number nil)
-    (setq news-current-group-end nil)
-    (news-set-mode-line)
-    (news-get-pruned-list-of-files group end-file-no)
-    (news-set-mode-line)
-    ;; @@ should be a lot smarter than this if we have to move
-    ;; @@ around correctly.
-    (setq news-point-pdl (list (cons (car files-start-end)
-				     (news-cadr files-start-end))))
-    (if (null news-list-of-files)
-	(progn (erase-buffer)
-	       (setq news-current-group-end end-file-no)
-	       (setq news-current-group-begin end-file-no)
-	       (setq news-current-message-number end-file-no)
-	       (news-set-mode-line)
-;	       (message "No new articles in " group " group.")
-	       nil)
-      (setq news-current-group-begin (car news-list-of-files))
-      (if reversep
-	  (setq news-current-message-number news-current-group-end)
-	(if (> (car news-list-of-files) end-file-no)
-	    (setcdr (car news-point-pdl) (car news-list-of-files)))
-	(setq news-current-message-number news-current-group-begin))
-      (news-set-message-counters)
-      (news-set-mode-line)
-      (news-read-in-file (concat news-path
-				 (string-subst-char ?/ ?. group)
-				 "/"
-				 (int-to-string
-				   news-current-message-number)))
-      (news-set-message-counters)
-      (news-set-mode-line)
-      t)))
-
-(defun news-add-news-group (gp)
-  "Resubscribe to or add a USENET news group named GROUP (a string)."
-; @@ (completing-read ...)
-; @@ could be based on news library file ../active (slightly facist)
-; @@ or (expensive to compute) all directories under the news spool directory
-  (interactive "sAdd news group: ")
-  (let ((file-dir (concat news-path (string-subst-char ?/ ?. gp))))
-    (save-excursion
-      (if (null (assoc gp news-group-article-assoc))
-	  (let ((newsrcbuf (find-file-noselect
-			    (substitute-in-file-name news-startup-file))))
-	    (if (file-directory-p file-dir)
-		(progn
-		  (switch-to-buffer newsrcbuf)
-		  (goto-char 0)
-		  (if (search-forward (concat gp "! ") nil t)
-		      (progn
-			(message "Re-subscribing to group %s." gp)
-			;;@@ news-unsubscribe-groups isn't being used
-			;;(setq news-unsubscribe-groups
-			;;    (delq gp news-unsubscribe-groups))
-			(backward-char 2)
-			(delete-char 1)
-			(insert ":"))
-		    (progn
-		      (message
-		       "Added %s to your list of newsgroups." gp)
-		      (end-of-buffer)
-		      (insert gp ": 1-1\n")))
-		  (search-backward gp nil t)
-		  (let (start end endofline tem)
-		    (search-forward ": " nil t)
-		    (setq end (point))
-		    (beginning-of-line)
-		    (setq start (point))
-		    (end-of-line)
-		    (setq endofline (point))
-		    (setq tem (buffer-substring start (- end 2)))
-		    (let ((range (news-parse-range
-				  (buffer-substring end endofline))))
-		      (setq news-group-article-assoc
-			    (cons (list tem (list (car range)
-						  (cdr range)
-						  (cdr range)))
-				  news-group-article-assoc))))
-		  (save-buffer)
-		  (kill-buffer (current-buffer)))
-	      (message "Newsgroup %s doesn't exist." gp)))
-	(message "Already subscribed to group %s." gp)))))
-
-(defun news-make-link-to-message (number newname)
-	"Forges a link to an rnews message numbered number (current if no arg)
-Good for hanging on to a message that might or might not be
-automatically deleted."
-  (interactive "P
-FName to link to message: ")
-  (add-name-to-file
-   (concat news-path
-	   (string-subst-char ?/ ?. news-current-news-group)
-	   "/" (if number
-		   (prefix-numeric-value number)
-		 news-current-message-number))
-   newname))
-
-;;; caesar-region written by phr@prep.ai.mit.edu  Nov 86
-;;; modified by tower@prep Nov 86
-(defun caesar-region (&optional n)
-  "Caesar rotation of region by N, default 13, for decrypting netnews."
-  (interactive (if current-prefix-arg	; Was there a prefix arg?
-		   (list (prefix-numeric-value current-prefix-arg))
-		 (list nil)))
-  (cond ((not (numberp n)) (setq n 13))
-	((< n 0) (setq n (- 26 (% (- n) 26))))
-	(t (setq n (% n 26))))		;canonicalize N
-  (if (not (zerop n))		; no action needed for a rot of 0
-      (progn
-	(if (or (not (boundp 'caesar-translate-table))
-		(/= (aref caesar-translate-table ?a) (+ ?a n)))
-	    (let ((i 0) (lower "abcdefghijklmnopqrstuvwxyz") upper)
-	      (message "Building caesar-translate-table...")
-	      (setq caesar-translate-table (make-vector 256 0))
-	      (while (< i 256)
-		(aset caesar-translate-table i i)
-		(setq i (1+ i)))
-	      (setq lower (concat lower lower) upper (upcase lower) i 0)
-	      (while (< i 26)
-		(aset caesar-translate-table (+ ?a i) (aref lower (+ i n)))
-		(aset caesar-translate-table (+ ?A i) (aref upper (+ i n)))
-		(setq i (1+ i)))
-	      (message "Building caesar-translate-table... done")))
-	(let ((from (region-beginning))
-	      (to (region-end))
-	      (i 0) str len)
-	  (setq str (buffer-substring from to))
-	  (setq len (length str))
-	  (while (< i len)
-	    (aset str i (aref caesar-translate-table (aref str i)))
-	    (setq i (1+ i)))
-	  (goto-char from)
-	  (kill-region from to)
-	  (insert str)))))
-
-;;; news-caesar-buffer-body written by paul@media-lab.mit.edu  Wed Oct 1, 1986
-;;; hacked further by tower@prep.ai.mit.edu
-(defun news-caesar-buffer-body (&optional rotnum)
-  "Caesar rotates all letters in the current buffer by 13 places.
-Used to encode/decode possibly offensive messages (commonly in net.jokes).
-With prefix arg, specifies the number of places to rotate each letter forward.
-Mail and USENET news headers are not rotated."
-  (interactive (if current-prefix-arg	; Was there a prefix arg?
-		   (list (prefix-numeric-value current-prefix-arg))
-		 (list nil)))
-  (save-excursion
-    (let ((buffer-status buffer-read-only))
-      (setq buffer-read-only nil)
-      ;; setup the region
-      (set-mark (if (progn (goto-char (point-min))
-			    (search-forward
-			     (concat "\n"
-				     (if (equal major-mode 'news-mode)
-					 ""
-				       mail-header-separator)
-				     "\n") nil t))
-		     (point)
-		   (point-min)))
-      (goto-char (point-max))
-      (caesar-region rotnum)
-      (setq buffer-read-only buffer-status))))
--- a/lisp/packages/rnewspost.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,468 +0,0 @@
-;;; rnewspost.el --- USENET news poster/mailer for GNU Emacs
-;; Keywords: mail, news
-
-;; Copyright (C) 1985, 1993, 1994 Free Software Foundation, Inc.
-
-;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; Synched up with: FSF 19.28.
-
-;; moved posting and mail code from rnews.el
-;;	tower@prep.ai.mit.edu Wed Oct 29 1986
-;; brought posting code almost up to the revision of RFC 850 for News 2.11
-;; - couldn't see handling the special meaning of the Keyword: poster
-;; - not worth the code space to support the old A news Title: (which
-;;   Subject: replaced) and Article-I.D.: (which Message-ID: replaced)
-;;	tower@prep Nov 86
-;; changed C-c C-r key-binding due to rename of news-caesar-buffer-body
-;;	tower@prep 21 Nov 86
-;; added (require 'rnews)	tower@prep 22 Apr 87
-;; restricted call of news-show-all-headers in news-post-news & news-reply
-;;	tower@prep 28 Apr 87
-;; commented out Posting-Front-End to save USENET bytes tower@prep Jul 31 87
-;; commented out -n and -t args in news-inews     tower@prep 15 Oct 87
-(require 'sendmail)
-(require 'rnews)
-
-;Now in paths.el.
-;(defvar news-inews-program "inews"
-;  "Function to post news.")
-
-;; Replying and posting news items are done by these functions.
-;; imported from rmail and modified to work with rnews ...
-;; Mon Mar 25,1985 at 03:07:04 ads@mit-hermes.
-;; this is done so that rnews can operate independently from rmail.el and
-;; sendmail and dosen't have to autoload these functions.
-;;
-;;; >> Nuked by Mly to autoload those functions again, as the duplication of
-;;; >>  code was making maintenance too difficult.
-
-(defvar news-reply-mode-map () "Mode map used by news-reply.")
-
-(or news-reply-mode-map
-    (progn
-      (setq news-reply-mode-map (make-keymap))
-      (define-key news-reply-mode-map "\C-c?" 'describe-mode)
-      (define-key news-reply-mode-map "\C-c\C-f\C-d" 'news-reply-distribution)
-      (define-key news-reply-mode-map "\C-c\C-f\C-k" 'news-reply-keywords)
-      (define-key news-reply-mode-map "\C-c\C-f\C-n" 'news-reply-newsgroups)
-      (define-key news-reply-mode-map "\C-c\C-f\C-f" 'news-reply-followup-to)
-      (define-key news-reply-mode-map "\C-c\C-f\C-s" 'mail-subject)
-      (define-key news-reply-mode-map "\C-c\C-f\C-a" 'news-reply-summary)
-      (define-key news-reply-mode-map "\C-c\C-r" 'news-caesar-buffer-body)
-      (define-key news-reply-mode-map "\C-c\C-w" 'news-reply-signature)
-      (define-key news-reply-mode-map "\C-c\C-y" 'news-reply-yank-original)
-      (define-key news-reply-mode-map "\C-c\C-q" 'mail-fill-yanked-message)
-      (define-key news-reply-mode-map "\C-c\C-c" 'news-inews)
-      (define-key news-reply-mode-map "\C-c\C-s" 'news-inews)
-      (define-key news-reply-mode-map 'button3 'news-reply-menu)))
-
-(defun news-reply-mode ()
-  "Major mode for editing news to be posted on USENET.
-First-time posters are asked to please read the articles in newsgroup:
-                                                     news.announce.newusers .
-Like Text Mode but with these additional commands:
-
-C-c C-s  news-inews (post the message)    C-c C-c  news-inews
-C-c C-f	 move to a header field (and create it if there isn't):
-	 C-c C-f C-n  move to Newsgroups:	C-c C-f C-s  move to Subj:
-	 C-c C-f C-f  move to Followup-To:      C-c C-f C-k  move to Keywords:
-	 C-c C-f C-d  move to Distribution:	C-c C-f C-a  move to Summary:
-C-c C-y  news-reply-yank-original (insert current message, in NEWS).
-C-c C-q  mail-fill-yanked-message (fill what was yanked).
-C-c C-r  caesar rotate all letters by 13 places in the article's body (rot13)."
-  (interactive)
-  ;; require...
-  (or (fboundp 'mail-setup) (load "sendmail"))
-  (kill-all-local-variables)
-  (make-local-variable 'mail-reply-buffer)
-  (setq mail-reply-buffer nil)
-  (set-syntax-table text-mode-syntax-table)
-  (use-local-map news-reply-mode-map)
-  (setq local-abbrev-table text-mode-abbrev-table)
-  (setq major-mode 'news-reply-mode)
-  (setq mode-name "News")
-  (make-local-variable 'paragraph-separate)
-  (make-local-variable 'paragraph-start)
-  (setq paragraph-start (concat "^" mail-header-separator "$\\|"
-				paragraph-start))
-  (setq paragraph-separate (concat "^" mail-header-separator "$\\|"
-				   paragraph-separate))
-  (run-hooks 'text-mode-hook 'news-reply-mode-hook))
-
-(defvar news-reply-yank-from ""
-  "Save From: field for news-reply-yank-original.")
-
-(defvar news-reply-yank-message-id ""
-  "Save Message-Id: field for news-reply-yank-original.")
-
-(defun news-reply-yank-original (arg)
-  "Insert the message being replied to, if any (in postnews).
-Puts point before the text and mark after.
-Indents each nonblank line ARG spaces (default 3).
-Just \\[universal-argument] as argument means don't indent
-and don't delete any header fields."
-  (interactive "P")
-  (let ((zmacs-regions nil))
-    (mail-yank-original arg)
-    (exchange-point-and-mark)
-    (run-hooks 'news-reply-header-hook)))
-
-(defvar news-reply-header-hook
-  '(lambda ()
-	 (insert "In article " news-reply-yank-message-id
-			 " " news-reply-yank-from " writes:\n\n"))
-  "Hook for inserting a header at the top of a yanked message.")
-
-(defun news-reply-newsgroups ()
-  "Move point to end of Newsgroups: field.
-RFC 850 constrains the Newsgroups: field to be a comma separated list of valid
-newsgroups names at your site:
-Newsgroups: news.misc,comp.misc,rec.misc"
-  (interactive)
-  (expand-abbrev)
-  (goto-char (point-min))
-  (mail-position-on-field "Newsgroups"))
-
-(defun news-reply-followup-to ()
-  "Move point to end of Followup-To: field.  Create the field if none.
-One usually requests followups to only one newsgroup.
-RFC 850 constrains the Followup-To: field to be a comma separated list of valid
-newsgroups names at your site, that are also in the Newsgroups: field:
-Newsgroups: news.misc,comp.misc,rec.misc,misc.misc,soc.misc
-Followup-To: news.misc,comp.misc,rec.misc"
-  (interactive)
-  (expand-abbrev)
-  (or (mail-position-on-field "Followup-To" t)
-      (progn (mail-position-on-field "newsgroups")
-	     (insert "\nFollowup-To: ")))
-	 ;; @@ could do a completing read based on the Newsgroups: field to
-	 ;; @@ fill in the Followup-To: field
-)
-
-(defun news-reply-distribution ()
-  "Move point to end of Distribution: optional field.
-Create the field if none.  Without this field the posting goes to all of
-USENET.  The field is used to restrict the posting to parts of USENET."
-  (interactive)
-  (expand-abbrev)
-  (mail-position-on-field "Distribution")
-  ;; @@could do a completing read based on the news library file:
-  ;; @@    ../distributions  to fill in the field.
-  )
-
-(defun news-reply-keywords ()
-  "Move point to end of Keywords: optional field.  Create the field if none.
-Used as an aid to the news reader, it can contain a few, well selected keywords
-identifying the message."
-  (interactive)
-  (expand-abbrev)
-  (mail-position-on-field "Keywords"))
-
-(defun news-reply-summary ()
-  "Move point to end of Summary: optional field.  Create the field if none.
-Used as an aid to the news reader, it can contain a succinct
-summary (abstract) of the message."
-  (interactive)
-  (expand-abbrev)
-  (mail-position-on-field "Summary"))
-
-(defun news-reply-signature ()
-  "The inews program appends ~/.signature automatically."
-  (interactive)
-  (message "~/.signature will be appended automatically."))
-
-(defun news-setup (to subject in-reply-to newsgroups replybuffer)
-  "Setup the news reply or posting buffer with the proper headers and in
-news-reply-mode."
-  (setq mail-reply-buffer replybuffer)
-  (let ((mail-setup-hook nil))
-    (if (null to)
-	;; this hack is needed so that inews wont be confused by 
-	;; the fcc: and bcc: fields
-	(let ((mail-self-blind nil)
-	      (mail-archive-file-name nil))
-	  (mail-setup to subject in-reply-to nil replybuffer nil)
-	  (beginning-of-line)
-	  ;;(kill-line 1) ; XEmacs fix to longstanding damned annoying bug
-	  (delete-region (point) (progn (forward-line 1) (point)))
-	  (goto-char (point-max)))
-      (mail-setup to subject in-reply-to nil replybuffer nil))
-    ;;;(mail-position-on-field "Posting-Front-End")
-    ;;;(insert (emacs-version))
-    (goto-char (point-max))
-    (if (let ((case-fold-search t))
-	  (re-search-backward "^Subject:" (point-min) t))
-	(progn (beginning-of-line)
-	       (insert "Newsgroups: " (or newsgroups "") "\n")
-	       (if (not newsgroups)
-		   (backward-char 1)
-		 (goto-char (point-max)))))
-    (run-hooks 'news-setup-hook)))
-   
-(defun news-inews ()
-  "Send a news message using inews."
-  (interactive)
-  (let* ((case-fold-search nil)
-	 ;;newsgroups subject
-	 )
-    (save-excursion
-      (save-restriction
-	(goto-char (point-min))
-	(search-forward (concat "\n" mail-header-separator "\n"))
-	(narrow-to-region (point-min) (point))
-	;;(setq newsgroups (mail-fetch-field "newsgroups")
-	;;      subject (mail-fetch-field "subject"))
-	)
-      (widen)
-      (goto-char (point-min))
-      (run-hooks 'news-inews-hook)
-      (goto-char (point-min))
-      (search-forward (concat "\n" mail-header-separator "\n"))
-      (replace-match "\n\n")
-      (goto-char (point-max))
-      ;; require a newline at the end for inews to append .signature to
-      (or (= (preceding-char) ?\n)
-	  (insert ?\n))
-      (message "Posting to USENET...")
-      (call-process-region (point-min) (point-max) 
-			   news-inews-program nil 0 nil
-			   "-h")	; take all header lines!
-			   ;@@ setting of subject and newsgroups still needed?
-			   ;"-t" subject
-			   ;"-n" newsgroups
-      (message "Posting to USENET... done")
-      (goto-char (point-min))		;restore internal header separator
-      (search-forward "\n\n")
-      (replace-match (concat "\n" mail-header-separator "\n"))
-      (set-buffer-modified-p nil))
-    (and (fboundp 'bury-buffer) (bury-buffer))))
-
-(defvar news-reply-subject-prefix nil
-  "*The prefix to use when replying to a news message (such as \"Re:\").")
-
-;@@ shares some code with news-reply and news-post-news
-(defun news-mail-reply ()
-  "Mail a reply to the author of the current article.
-While composing the reply, use \\[news-reply-yank-original] to yank the
-original message into it."
-  (interactive)
-  (let (from subject date to reply-to references message-id ;;b
-	(buffer (current-buffer)))
-    (save-restriction
-      (widen)
-      (narrow-to-region (point-min) (progn (goto-char (point-min))
-					   (search-forward "\n\n")
-					   (- (point) 1)))
-      (setq from (mail-fetch-field "from")
-	    subject (mail-fetch-field "subject")
-	    reply-to (mail-fetch-field "reply-to")
-	    date (mail-fetch-field "date")
-	    references (mail-fetch-field "references")
-	    message-id (mail-fetch-field "message-id"))
-      (if (and news-reply-subject-prefix subject
-	   (not (string-match
-		 (concat "^[ \t]*" (regexp-quote news-reply-subject-prefix)
-			 "[ )t]*")
-		 subject)))
-	  (setq subject (concat news-reply-subject-prefix " " subject)))
-      (setq to from)
-      (pop-to-buffer "*mail*")
-;;      (setq b (current-buffer))
-      (if (mail nil (if reply-to reply-to to) subject
-		(let ((stop-pos
-		       (string-match "  *at \\|  *@ \\| *(\\| *<" from)))
-		  (concat (if stop-pos (substring from 0 stop-pos) from)
-			  "'s message of "
-			  date))
-		nil
-		buffer)
-	  (save-excursion
-;;	    (set-buffer b)
-	    (mail-position-on-field "References")
-	    (if references (insert references))
-	    (if (and references message-id) (insert " "))
-	    (if message-id (insert message-id)))))))
-
-;@@ the guts of news-reply and news-post-news should be combined. -tower
-(defun news-reply ()
-  "Compose and post a reply (aka a followup) to the current article on USENET.
-While composing the followup, use \\[news-reply-yank-original] to yank the
-original message into it."
-  (interactive)
-  (if (y-or-n-p "Are you sure you want to followup to all of USENET? ")
-      (let (from subject date followup-to newsgroups message-of
-	    references distribution message-id
-	    (buffer (current-buffer)))
-	(save-restriction
-	  (and (not (= 0 (buffer-size))) ;@@real problem is non-existence of
-					;@@	of article file
-	       (equal major-mode 'news-mode) ;@@ if rmail-mode,
-					;@@	should show full headers
-	       (progn
-		 (news-show-all-headers) ;@@ should save/restore header state,
-					;@@	but rnews.el lacks support
-		 (narrow-to-region (point-min) (progn (goto-char (point-min))
-						      (search-forward "\n\n")
-						      (- (point) 1)))))
-	  (setq from (mail-fetch-field "from")
-		news-reply-yank-from from
-		;; @@ not handling old Title: field
-		subject (mail-fetch-field "subject")
-		date (mail-fetch-field "date")
-		followup-to (mail-fetch-field "followup-to")
-		newsgroups (or followup-to
-			       (mail-fetch-field "newsgroups"))
-		references (mail-fetch-field "references")
-		;; @@ not handling old Article-I.D.: field
-		distribution (mail-fetch-field "distribution")
-		message-id (mail-fetch-field "message-id")
-		news-reply-yank-message-id message-id)
-	  (pop-to-buffer "*post-news*")
-	  (news-reply-mode)
-	  (if (and (buffer-modified-p)
-		   (not
-		    (y-or-n-p "Unsent article being composed; erase it? ")))
-	      ()
-	    (progn
-	      (erase-buffer)
-	      (and subject
-		   (progn (if (string-match "\\`Re: " subject)
-			      (while (string-match "\\`Re: " subject)
-				(setq subject (substring subject 4))))
-			  (setq subject (concat "Re: " subject))))
-	      (and from
-		   (progn
-		     (let ((stop-pos
-			    (string-match "  *at \\|  *@ \\| *(\\| *<" from)))
-		       (setq message-of
-			     (concat
-			      (if stop-pos (substring from 0 stop-pos) from)
-			      "'s message of "
-			      date)))))
-	      (news-setup
-	       nil
-	       subject
-	       message-of
-	       newsgroups
-	       buffer)
-	      (if followup-to
-		  (progn (news-reply-followup-to)
-			 (insert followup-to)))
-	      (if distribution
-		  (progn
-		    (mail-position-on-field "Distribution")
-		    (insert distribution)))
-	      (mail-position-on-field "References")
-	      (if references
-		  (insert references))
-	      (if (and references message-id)
-		  (insert " "))
-	      (if message-id
-		  (insert message-id))
-	      (goto-char (point-max))))))
-    (message "")))
-
-;@@ the guts of news-reply and news-post-news should be combined. -tower
-(defun news-post-news ()
-  "Begin editing a new USENET news article to be posted.
-Type \\[describe-mode] once editing the article to get a list of commands."
-  (interactive)
-  (if (y-or-n-p "Are you sure you want to post to all of USENET? ")
-      (let ((buffer (current-buffer)))
-	(save-restriction
-	  (and (not (= 0 (buffer-size))) ;@@real problem is non-existence of
-					;@@	of article file
-	       (equal major-mode 'news-mode) ;@@ if rmail-mode,
-					;@@	should show full headers
-	       (progn
-		 (news-show-all-headers) ;@@ should save/restore header state,
-					;@@	but rnews.el lacks support
-		 (narrow-to-region (point-min) (progn (goto-char (point-min))
-						      (search-forward "\n\n")
-						      (- (point) 1)))))
-	  (setq news-reply-yank-from (mail-fetch-field "from")
-		;; @@ not handling old Article-I.D.: field
-		news-reply-yank-message-id (mail-fetch-field "message-id")))
-	(pop-to-buffer "*post-news*")
-	(news-reply-mode)
-	(if (and (buffer-modified-p)
-		 (not (y-or-n-p "Unsent article being composed; erase it? ")))
-	    ()				;@@ not saving point from last time
-	  (progn (erase-buffer)
-		 (news-setup () () () () buffer))))
-  (message "")))
-
-(defun news-mail-other-window ()
-  "Send mail in another window.
-While composing the message, use \\[news-reply-yank-original] to yank the
-original message into it."
-  (interactive)
-  (mail-other-window nil nil nil nil nil (current-buffer)))
-
-
-;; menus
-
-(defconst news-reply-menu
-  '("Post News"
-    "Go to Field:"
-    "----"
-    ["Subject:"			mail-subject		 t]
-    ["Summary:"			news-reply-summary	 t]
-    ["Keywords:"		news-reply-keywords	 t]
-    ["Newsgroups:"		news-reply-newsgroups	 t]
-    ["Followup-To:"		news-reply-followup-to	 t]
-    ["Distribution:"		news-reply-distribution	 t]
-    ["Text" (let ((mail-header-separator "")) (mail-text)) t]
-    "----"
-    "Miscellaneous Commands:"
-    "----"
-    ["Yank Original"		news-reply-yank-original t]
-    ["Fill Yanked Message"	mail-fill-yanked-message t]
-;;  ["Insert Signature"		news-reply-signature	 t]
-    ["Caesar (rot13) Message"	news-caesar-buffer-body	 t]
-    "----"
-    ["Post Message"		news-inews		 t]
-    ))
-
-(defun news-reply-menu (event)
-  (interactive "e")
-  (select-window (event-window event))
-  (let (yank sig fill rot (rest news-reply-menu))
-    (while rest
-      (if (vectorp (car rest))
-	  (cond ((eq (aref (car rest) 1) 'news-reply-yank-original)
-		 (setq yank (car rest)))
-		((eq (aref (car rest) 1) 'news-reply-signature)
-		 (setq sig (car rest)))
-		((eq (aref (car rest) 1) 'mail-fill-yanked-message)
-		 (setq fill (car rest)))
-		((eq (aref (car rest) 1) 'news-caesar-buffer-body)
-		 (setq rot (car rest)))))
-      (setq rest (cdr rest)))
-    (if yank (aset yank 2 (not (null mail-reply-buffer))))
-    (if sig (aset sig 2 (and (stringp mail-signature-file)
-			     (file-exists-p mail-signature-file))))
-    (let ((body-p (save-excursion
-		    (goto-char (point-min))
-		    (and (search-forward (concat "\n" mail-header-separator
-						 "\n") nil t)
-			 (not (looking-at "[ \t\n]*\\'"))))))
-      (if fill (aset fill 2 body-p))
-      (if rot (aset rot 2 body-p))))
-  (let ((popup-menu-titles nil))
-    (popup-menu 'news-reply-menu)))
--- a/lisp/packages/scroll-in-place.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/packages/scroll-in-place.el	Mon Aug 13 08:47:52 2007 +0200
@@ -498,7 +498,7 @@
   ;; be worth it.
   )
 
-(defvar scroll-allow-blank-lines-past-eob t
+(defvar scroll-allow-blank-lines-past-eob nil
   "*When this variable is `nil' the \"in place\" scrolling commands will avoid
 displaying empty lines past the end of the buffer text.  In other words, just
 as you can't see \"dead space\" before the beginning of the buffer text, the
--- a/lisp/packages/session.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;;; Synched up with: Not in FSF.
-;;; #### Chuck -- I think we should remove this.  It's dumb and stupid
-;;; and there are at least two other packages we provide that do the
-;;; same thing.
-
-(setq kill-emacs-hook
-      '(save-session))
-
-;; Record in `/.emacs-session' a command to re-visit the last file
-;; that was being looked at.
-(defun save-session ()
-  (and buffer-file-name
-       (write-region
-	(concat "(" (if (eq major-mode 'rmail-mode)
-			"rmail"
-		      "find-file")
-		" " (if (string= (concat (getenv "HOME") "/RMAIL")
-				 buffer-file-name)
-			;; Omit the file name if it is the primary rmail file
-			;; to cause the default inboxes to be used.
-			""
-		      (prin1-to-string buffer-file-name))
-		")\n"
-		"(goto-char " (prin1-to-string (window-start)) ")\n"
-		"(beginning-of-line)\n"
-		"(set-window-start (selected-window) (point))\n"
-		"(goto-line "
-		(prin1-to-string (1+ (count-lines 1 (point))))
-		")\n")
-	nil (expand-file-name "~/.emacs-session")
-	;; Don't print a message.
-	nil 'lambda)))
-
-;; Restore previous saved session, if there is one.
-(load "~/.emacs-session" t t)
--- a/lisp/pcl-cvs/pcl-cvs.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/pcl-cvs/pcl-cvs.el	Mon Aug 13 08:47:52 2007 +0200
@@ -1,10 +1,10 @@
 ;;;
 ;;;#ident "@(#)OrigId: pcl-cvs.el,v 1.93 1993/05/31 22:44:00 ceder Exp "
 ;;;
-;;;#ident "@(#)cvs/contrib/pcl-cvs:$Name: r19-14 $:$Id: pcl-cvs.el,v 1.1.1.1 1996/12/18 03:32:27 steve Exp $"
+;;;#ident "@(#)cvs/contrib/pcl-cvs:$Name: r19-15b6 $:$Id: pcl-cvs.el,v 1.2 1996/12/29 00:15:02 steve Exp $"
 ;;;
 ;;; pcl-cvs.el -- A Front-end to CVS 1.3 or later.
-;;; Release 1.05-CVS-$Name: r19-14 $.
+;;; Release 1.05-CVS-$Name: r19-15b6 $.
 ;;; Copyright (C) 1991, 1992, 1993  Per Cederqvist
 
 ;;; This program is free software; you can redistribute it and/or modify
@@ -19,7 +19,8 @@
 ;;;
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with this program; if not, write to the Free Software
-;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;;; 02111-1307, USA.
 
 ;;; See below for installation instructions.
 
@@ -33,41 +34,35 @@
 ;;; or newer.  Use the version of RCS best suited for the version of CVS you're
 ;;; using.
 
-; (require 'cookie)			; from ELIB-1.0
-(load "cookie.el")
+(require 'cookie)			; from ELIB-1.0
 (require 'add-log)			; for all the ChangeLog goodies
 
-(provide 'pcl-cvs)
-
 ;;; -------------------------------------------------------
 ;;;	    START OF THINGS TO CHECK WHEN INSTALLING
 
 ;; also use $GNU here, since may folks might install CVS as a GNU package
 ;;
-(defvar local-path (cond
-		      ((getenv "LOCAL")
-		       (getenv "LOCAL"))
-		      ((getenv "GNU")
-		       (getenv "GNU"))
-		      (t
-		       "/usr/local"))
-  "*Path prefix for most locally installed things.")
-
-;; this isn't likely to be right all the time....
-;;
-(defvar local-gnu-path (cond
-		      ((getenv "GNU")
-		       (getenv "GNU"))
-		      (t
-		       "/usr/local"))	; or "/usr/gnu"?
-  "*Path prefix for locally installed GNU software.")
-
-(defvar cvs-program (concat local-path "/bin/cvs")
+(defun cvs-find-program (program)
+  (let ((path (list (getenv "LOCAL")
+		    (getenv "GNU")
+		    "/usr/local/bin"
+		    "/usr/bin"
+		    "/bin")))
+    (while path
+      (if (stringp (car path))
+	  (let ((abs-program (expand-file-name program (car path))))
+	    (if (file-executable-p abs-program)
+		(setq path nil
+		      program abs-program))))
+      (setq path (cdr path)))
+    program))
+
+(defvar cvs-program (cvs-find-program "cvs")
   "*Full path to the cvs executable.")
 
 ;; SunOS-4.1.1_U1 has "diff.c 1.12 88/08/04 SMI; from UCB 4.6 86/04/03"
 ;;
-(defvar cvs-diff-program (concat local-gnu-path "/bin/diff")
+(defvar cvs-diff-program (cvs-find-program "diff")
   "*Full path to the best diff program you've got.
 NOTE:  there are some nasty bugs in the context diff variants of some vendor
 versions, such as the one in SunOS-4.1.1_U1")
@@ -131,7 +126,7 @@
 ;;;	     END OF THINGS TO CHECK WHEN INSTALLING
 ;;; --------------------------------------------------------
 
-(defconst pcl-cvs-version "1.05-CVS-$Name: r19-14 $"
+(defconst pcl-cvs-version "1.05-CVS-$Name: r19-15b6 $"
   "A string denoting the current release version of pcl-cvs.")
 
 ;; You are NOT allowed to disable this message by default.  However, you
@@ -144,8 +139,8 @@
 
 (defconst cvs-startup-message
   (if cvs-inhibit-copyright-message
-      "PCL-CVS release 1.05-CVS-$Name: r19-14 $"
-    "PCL-CVS release 1.05 from CVS release $Name: r19-14 $.
+      "PCL-CVS release 1.05-CVS-$Name: r19-15b6 $"
+    "PCL-CVS release 1.05 from CVS release $Name: r19-15b6 $.
 Copyright (C) 1992, 1993 Per Cederqvist
 Pcl-cvs comes with absolutely no warranty; for details consult the manual.
 This is free software, and you are welcome to redistribute it under certain
@@ -729,7 +724,7 @@
 \\[cvs-mode-undo-local-changes]   Revert the last checked in version - discard your changes to the file.
 
 Entry to this mode runs cvs-mode-hook.
-This description is updated for release 1.05-CVS-$Name: r19-14 $ of pcl-cvs.
+This description is updated for release 1.05-CVS-$Name: r19-15b6 $ of pcl-cvs.
 
 All bindings:
 \\{cvs-mode-map}"
@@ -1018,7 +1013,7 @@
     (insert "Pcl-cvs Version: "
 	    "@(#)OrigId: pcl-cvs.el,v 1.93 1993/05/31 22:44:00 ceder Exp\n")
     (insert "CVS Version: "
-	    "@(#)cvs/contrib/pcl-cvs:$Name: r19-14 $:$Id: pcl-cvs.el,v 1.1.1.1 1996/12/18 03:32:27 steve Exp $\n\n")
+	    "@(#)lisp/pcl-cvs:$Name: r19-15b6 $:$Id: pcl-cvs.el,v 1.2 1996/12/29 00:15:02 steve Exp $\n\n")
     (insert (format "--- Contents of stdout buffer (%d chars) ---\n"
 		    (length stdout)))
     (insert stdout)
@@ -1229,6 +1224,9 @@
 	 ((looking-at
 	   "^cvs \\(update\\|server\\): \\[..:..:..\\] waiting for .*lock in ")
 	  (forward-line 1))
+	 ((looking-at
+	   "^cvs \\(update\\|server\\): \\[..:..:..\\] obtained lock in ")
+	  (forward-line 1))
 
 	 ;; File removed in repository, but edited by you.
 
@@ -1350,7 +1348,7 @@
 
 	     ((looking-at
 	       ;; Allow both RCS 5.5 and 5.6.  (5.6 prints "rcs" and " warning").
-	       "^\\(rcs\\)?merge[:]*\\( warning\\)?: \\((overlaps\\|conflicts\\) during merge$")
+	       "^\\(rcs\\)?merge[:]*\\( warning\\)?: \\(overlaps\\|conflicts\\) during merge$")
 
 	      ;; Yes, this is a conflict.
 	      (cvs-skip-line stdout-buffer stderr-buffer
@@ -1604,11 +1602,11 @@
   (define-key cvs-mode-map "\C-p"	'cvs-mode-previous-line)
   ;; ^C- keys are used to set various flags to control CVS features
   (define-key cvs-mode-map "\C-c"	'cvs-mode-map-control-c-prefix)
-  (define-key cvs-mode-map "\C-cc"	'cvs-change-cvsroot)
-  (define-key cvs-mode-map "\C-cd"	'cvs-set-diff-flags)
-  (define-key cvs-mode-map "\C-cl"	'cvs-set-log-flags)
-  (define-key cvs-mode-map "\C-cs"	'cvs-set-status-flags)
-  (define-key cvs-mode-map "\C-cu"	'cvs-set-update-optional-flags)
+  (define-key cvs-mode-map "\C-c\C-c"	'cvs-change-cvsroot)
+  (define-key cvs-mode-map "\C-c\C-d"	'cvs-set-diff-flags)
+  (define-key cvs-mode-map "\C-c\C-l"	'cvs-set-log-flags)
+  (define-key cvs-mode-map "\C-c\C-s"	'cvs-set-status-flags)
+  (define-key cvs-mode-map "\C-c\C-u"	'cvs-set-update-optional-flags)
   ;; M- keys are usually those that operate on modules
   (define-key cvs-mode-map "\M-\C-?"	'cvs-mode-unmark-all-files)
   (define-key cvs-mode-map "\M-C"	'cvs-mode-rcs2log) ; i.e. "Create a ChangeLog"
@@ -3452,4 +3450,6 @@
       (setq cvs-commit-list marked)
       (message "Press C-c C-c when you are done editing."))))
 
-;;;; end of file pcl-cvs.el
+(provide 'pcl-cvs)
+
+;;; pcl-cvs.el ends here
--- a/lisp/prim/frame.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/prim/frame.el	Mon Aug 13 08:47:52 2007 +0200
@@ -1022,6 +1022,7 @@
       (setq minibuffer-scroll-window window)
       (set-window-start window 1) ; obeys narrowing
       (set-window-point window 1)
+      (shrink-window-if-larger-than-buffer window)
       nil)))
 
 (setq pre-display-buffer-function 'get-frame-for-buffer)
--- a/lisp/prim/help.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/prim/help.el	Mon Aug 13 08:47:52 2007 +0200
@@ -379,7 +379,8 @@
                       (substitute-command-keys "Type \\[delete-other-windows] to remove help window, \\[scroll-other-window] to scroll the help.")))
                     (t
                      (message
-                      (substitute-command-keys "Type \\[switch-to-buffer-other-window] to restore the other window, \\[scroll-other-window] to scroll the help."))))))))))
+                      (substitute-command-keys "Type \\[switch-to-buffer-other-window] to restore the other window, \\[scroll-other-window] to scroll the help."))))
+	      (shrink-window-if-larger-than-buffer helpwin)))))))
 
 (defun describe-key (key)
   "Display documentation of the function invoked by KEY.
@@ -679,12 +680,14 @@
 		     (eq char ? )
 		     (eq 'scroll-up (key-binding event))
 		     (eq char ?\177)
-		     (eq 'scroll-down (key-binding event)))
+		     (and (not (eq char ?b))
+			  (eq 'scroll-down (key-binding event))))
 	    (if (or (eq char ? )
 		    (eq 'scroll-up (key-binding event)))
 		(scroll-up))
 	    (if (or (eq char ?\177)
-		    (eq 'scroll-down (key-binding event)))
+		    (and (not (eq char ?b))
+			 (eq 'scroll-down (key-binding event))))
 		(scroll-down))
 	    ;; write this way for I18N3 snarfing
 	    (if (pos-visible-in-window-p (point-max))
--- a/lisp/prim/lisp.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/prim/lisp.el	Mon Aug 13 08:47:52 2007 +0200
@@ -326,7 +326,9 @@
 		     (setq list (cdr list)))
 		   (setq list (nreverse new))))
 	     (with-output-to-temp-buffer "*Completions*"
-	       (display-completion-list list)))
+	       (display-completion-list list))
+	     (shrink-window-if-larger-than-buffer
+	      (get-buffer-window "*Completions*")))
 	   (message "Making completion list...%s" "done")))))
 
 ;;; lisp.el ends here
--- a/lisp/prim/loaddefs.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/prim/loaddefs.el	Mon Aug 13 08:47:52 2007 +0200
@@ -320,16 +320,18 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "byte-optimize" "bytecomp/byte-optimize.el" (12851 23344))
+
+;;;***
+
+;;;### (autoloads nil "byte-optimize" "bytecomp/byte-optimize.el" (12983 26738))
 ;;; Generated autoloads from bytecomp/byte-optimize.el
 
 ;;;***
 
-;;;### (autoloads nil "bytecomp-runtime" "bytecomp/bytecomp-runtime.el" (12851 23345))
+;;;### (autoloads nil "bytecomp-runtime" "bytecomp/bytecomp-runtime.el" (12983 26739))
 ;;; Generated autoloads from bytecomp/bytecomp-runtime.el
 
-;;;### (autoloads (batch-byte-recompile-directory batch-byte-recompile-directory-norecurse batch-byte-compile display-call-tree byte-compile-sexp byte-compile compile-defun byte-compile-file byte-recompile-file byte-recompile-directory byte-force-recompile) "bytecomp" "bytecomp/bytecomp.el" (12851 23348))
+;;;### (autoloads (batch-byte-recompile-directory batch-byte-recompile-directory-norecurse batch-byte-compile display-call-tree byte-compile-sexp byte-compile compile-defun byte-compile-file byte-recompile-file byte-recompile-directory byte-force-recompile) "bytecomp" "bytecomp/bytecomp.el" (12983 26739))
 ;;; Generated autoloads from bytecomp/bytecomp.el
 
 (autoload 'byte-force-recompile "bytecomp" "\
@@ -409,7 +411,7 @@
 
 ;;;***
 
-;;;### (autoloads (disassemble) "disass" "bytecomp/disass.el" (12376 19373))
+;;;### (autoloads (disassemble) "disass" "bytecomp/disass.el" (12983 25879))
 ;;; Generated autoloads from bytecomp/disass.el
 
 (autoload 'disassemble "disass" "\
@@ -420,21 +422,32 @@
 redefine OBJECT if it is a symbol." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "appt" "calendar/appt.el" (12376 19375))
+
+;;;***
+
+;;;### (autoloads nil "appt" "calendar/appt.el" (12983 25882))
 ;;; Generated autoloads from calendar/appt.el
 
 ;;;***
 
-;;;### (autoloads nil "cal-french" "calendar/cal-french.el" (12376 19376))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (12983 25884))
+;;; Generated autoloads from calendar/cal-dst.el
+
+(put 'calendar-daylight-savings-starts 'risky-local-variable t)
+
+(put 'calendar-daylight-savings-ends 'risky-local-variable t)
+
+;;;***
+
+;;;### (autoloads nil "cal-french" "calendar/cal-french.el" (12983 25883))
 ;;; Generated autoloads from calendar/cal-french.el
 
 ;;;***
 
-;;;### (autoloads nil "cal-mayan" "calendar/cal-mayan.el" (12376 19375))
+;;;### (autoloads nil "cal-mayan" "calendar/cal-mayan.el" (12983 25883))
 ;;; Generated autoloads from calendar/cal-mayan.el
 
-;;;### (autoloads nil "cal-x" "calendar/cal-x.el" (12376 19380))
+;;;### (autoloads nil "cal-x" "calendar/cal-x.el" (12983 25884))
 ;;; Generated autoloads from calendar/cal-x.el
 
 (defvar calendar-setup 'one-frame "\
@@ -444,20 +457,13 @@
 frames); with any other value the current frame is used.")
 
 ;;;***
-
-;;;### (autoloads nil "cal-xemacs" "calendar/cal-xemacs.el" (12558 60876))
+
+;;;***
+
+;;;### (autoloads nil "cal-xemacs" "calendar/cal-xemacs.el" (12983 25884))
 ;;; Generated autoloads from calendar/cal-xemacs.el
 
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (12376 19378))
-;;; Generated autoloads from calendar/cal-dst.el
-
-(put 'calendar-daylight-savings-starts 'risky-local-variable t)
-
-(put 'calendar-daylight-savings-ends 'risky-local-variable t)
-
-;;;***
-
-;;;### (autoloads (list-yahrzeit-dates calendar) "calendar" "calendar/calendar.el" (12851 23350))
+;;;### (autoloads (list-yahrzeit-dates calendar) "calendar" "calendar/calendar.el" (12983 26740))
 ;;; Generated autoloads from calendar/calendar.el
 
 (defvar calendar-week-start-day 0 "\
@@ -925,11 +931,13 @@
 from the cursor position." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "diary-ins" "calendar/diary-ins.el" (12376 19379))
+
+;;;***
+
+;;;### (autoloads nil "diary-ins" "calendar/diary-ins.el" (12983 25884))
 ;;; Generated autoloads from calendar/diary-ins.el
 
-;;;### (autoloads (diary) "diary-lib" "calendar/diary-lib.el" (12376 19380))
+;;;### (autoloads (diary) "diary-lib" "calendar/diary-lib.el" (12983 25884))
 ;;; Generated autoloads from calendar/diary-lib.el
 
 (autoload 'diary "diary-lib" "\
@@ -940,7 +948,7 @@
 
 ;;;***
 
-;;;### (autoloads (holidays) "holidays" "calendar/holidays.el" (12376 19378))
+;;;### (autoloads (holidays) "holidays" "calendar/holidays.el" (12983 25884))
 ;;; Generated autoloads from calendar/holidays.el
 
 (autoload 'holidays "holidays" "\
@@ -951,7 +959,7 @@
 
 ;;;***
 
-;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (12376 19377))
+;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (12983 25884))
 ;;; Generated autoloads from calendar/lunar.el
 
 (autoload 'phases-of-moon "lunar" "\
@@ -962,7 +970,7 @@
 
 ;;;***
 
-;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset) "solar" "calendar/solar.el" (12376 19379))
+;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset) "solar" "calendar/solar.el" (12983 25884))
 ;;; Generated autoloads from calendar/solar.el
 
 (defvar calendar-time-display-form '(12-hours ":" minutes am-pm (if time-zone " (") time-zone (if time-zone ")")) "\
@@ -1022,48 +1030,54 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "cl-autoload" "cl/cl-autoload.el" (12860 19476))
+
+;;;***
+
+;;;### (autoloads nil "cl-autoload" "cl/cl-autoload.el" (12983 26938))
 ;;; Generated autoloads from cl/cl-autoload.el
 
 ;;;***
 
-;;;### (autoloads nil "cl-compat" "cl/cl-compat.el" (12860 19471))
+;;;### (autoloads nil "cl-compat" "cl/cl-compat.el" (12983 26937))
 ;;; Generated autoloads from cl/cl-compat.el
-
-;;;### (autoloads nil "cl-defs" "cl/cl-defs.el" (12639 8885))
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "cl-defs" "cl/cl-defs.el" (12983 26219))
 ;;; Generated autoloads from cl/cl-defs.el
 
 ;;;***
-
-;;;***
-
-;;;***
-
-;;;### (autoloads nil "cl-extra" "cl/cl-extra.el" (12860 19472))
+
+;;;### (autoloads nil "cl-extra" "cl/cl-extra.el" (12983 26937))
 ;;; Generated autoloads from cl/cl-extra.el
 
 ;;;***
 
-;;;### (autoloads nil "cl-macs" "cl/cl-macs.el" (12860 19474))
+;;;### (autoloads nil "cl-macs" "cl/cl-macs.el" (12983 26937))
 ;;; Generated autoloads from cl/cl-macs.el
 
 ;;;***
 
-;;;### (autoloads nil "cl-seq" "cl/cl-seq.el" (12860 19474))
+;;;### (autoloads nil "cl-seq" "cl/cl-seq.el" (12983 26938))
 ;;; Generated autoloads from cl/cl-seq.el
 
 ;;;***
 
-;;;### (autoloads nil "cl" "cl/cl.el" (12860 19475))
+;;;### (autoloads nil "cl" "cl/cl.el" (12983 26938))
 ;;; Generated autoloads from cl/cl.el
 
 ;;;***
 
-;;;### (autoloads nil "background" "comint/background.el" (12864 52236))
+;;;### (autoloads nil "background" "comint/background.el" (12983 27251))
 ;;; Generated autoloads from comint/background.el
-
-;;;### (autoloads (comint-dynamic-list-completions comint-dynamic-complete comint-run make-comint) "comint" "comint/comint.el" (12860 19312))
+
+;;;***
+
+;;;### (autoloads (comint-dynamic-list-completions comint-dynamic-complete comint-run make-comint) "comint" "comint/comint.el" (12983 26743))
 ;;; Generated autoloads from comint/comint.el
 
 (autoload 'make-comint "comint" "\
@@ -1098,10 +1112,10 @@
 
 ;;;***
 
-;;;### (autoloads nil "dbx" "comint/dbx.el" (12864 52536))
+;;;### (autoloads nil "dbx" "comint/dbx.el" (12983 27251))
 ;;; Generated autoloads from comint/dbx.el
 
-;;;### (autoloads (gdb) "gdb" "comint/gdb.el" (12864 52628))
+;;;### (autoloads (gdb) "gdb" "comint/gdb.el" (12983 27252))
 ;;; Generated autoloads from comint/gdb.el
 
 (defvar gdb-command-name "gdb" "\
@@ -1115,7 +1129,7 @@
 
 ;;;***
 
-;;;### (autoloads (gdbsrc) "gdbsrc" "comint/gdbsrc.el" (12897 5133))
+;;;### (autoloads (gdbsrc) "gdbsrc" "comint/gdbsrc.el" (12983 27253))
 ;;; Generated autoloads from comint/gdbsrc.el
 
 (autoload 'gdbsrc "gdbsrc" "\
@@ -1125,7 +1139,7 @@
 
 ;;;***
 
-;;;### (autoloads (perldb xdb dbx sdb) "gud" "comint/gud.el" (12851 23355))
+;;;### (autoloads (perldb xdb dbx sdb) "gud" "comint/gud.el" (12983 26744))
 ;;; Generated autoloads from comint/gud.el
 
 (autoload 'sdb "gud" "\
@@ -1154,23 +1168,25 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "history" "comint/history.el" (12864 52863))
+
+;;;***
+
+;;;### (autoloads nil "history" "comint/history.el" (12983 27252))
 ;;; Generated autoloads from comint/history.el
-
-;;;***
-
-;;;### (autoloads nil "inf-lisp" "comint/inf-lisp.el" (12546 50428))
+
+;;;### (autoloads nil "inf-lisp" "comint/inf-lisp.el" (12983 25889))
 ;;; Generated autoloads from comint/inf-lisp.el
 
 (add-hook 'same-window-buffer-names "*inferior-lisp*")
 
 ;;;***
-
-;;;### (autoloads nil "kermit" "comint/kermit.el" (12851 23354))
+
+;;;***
+
+;;;### (autoloads nil "kermit" "comint/kermit.el" (12983 26743))
 ;;; Generated autoloads from comint/kermit.el
 
-;;;### (autoloads (rlogin) "rlogin" "comint/rlogin.el" (12282 38441))
+;;;### (autoloads (rlogin) "rlogin" "comint/rlogin.el" (12983 25891))
 ;;; Generated autoloads from comint/rlogin.el
 
 (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")
@@ -1211,7 +1227,7 @@
 
 ;;;***
 
-;;;### (autoloads (shell) "shell" "comint/shell.el" (12558 60879))
+;;;### (autoloads (shell) "shell" "comint/shell.el" (12983 25888))
 ;;; Generated autoloads from comint/shell.el
 
 (defvar shell-prompt-pattern (purecopy "^[^#$%>\n]*[#$%>] *") "\
@@ -1252,7 +1268,7 @@
 
 ;;;***
 
-;;;### (autoloads (rsh telnet) "telnet" "comint/telnet.el" (12974 22547))
+;;;### (autoloads (rsh telnet) "telnet" "comint/telnet.el" (12988 32984))
 ;;; Generated autoloads from comint/telnet.el
 
 (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
@@ -1274,7 +1290,7 @@
 
 ;;;***
 
-;;;### (autoloads (ange-ftp-hook-function) "ange-ftp" "dired/ange-ftp.el" (12865 38768))
+;;;### (autoloads (ange-ftp-hook-function) "ange-ftp" "dired/ange-ftp.el" (12983 27254))
 ;;; Generated autoloads from dired/ange-ftp.el
 
 (defvar ange-ftp-path-format '("^/\\(\\([^@/:]*\\)@\\)?\\([^@/:]*\\):\\(.*\\)" 3 2 4) "\
@@ -1288,53 +1304,22 @@
 (or (assoc (car ange-ftp-path-format) file-name-handler-alist) (setq file-name-handler-alist (cons (cons (car ange-ftp-path-format) 'ange-ftp-hook-function) file-name-handler-alist)))
 
 ;;;***
-
-;;;### (autoloads nil "dired-cd" "dired/dired-cd.el" (12376 19387))
+
+;;;***
+
+;;;### (autoloads nil "dired-cd" "dired/dired-cd.el" (12983 25891))
 ;;; Generated autoloads from dired/dired-cd.el
-
-;;;***
-
-;;;### (autoloads (dired-make-permissions-interactive) "dired-chmod" "dired/dired-chmod.el" (12860 19316))
+
+;;;### (autoloads (dired-make-permissions-interactive) "dired-chmod" "dired/dired-chmod.el" (12983 26749))
 ;;; Generated autoloads from dired/dired-chmod.el
 
 (autoload 'dired-make-permissions-interactive "dired-chmod" nil nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "dired-guess" "dired/dired-guess.el" (12376 19389))
-;;; Generated autoloads from dired/dired-guess.el
-
-;;;***
-
-;;;### (autoloads nil "dired-link" "dired/dired-link.el" (12376 19387))
-;;; Generated autoloads from dired/dired-link.el
-
-;;;***
-
-;;;### (autoloads nil "dired-lisp" "dired/dired-lisp.el" (12376 19389))
-;;; Generated autoloads from dired/dired-lisp.el
-
-;;;***
-
-;;;### (autoloads nil "dired-nstd" "dired/dired-nstd.el" (12376 19389))
-;;; Generated autoloads from dired/dired-nstd.el
-
-;;;***
-
-;;;### (autoloads nil "dired-trns" "dired/dired-trns.el" (12376 19390))
-;;; Generated autoloads from dired/dired-trns.el
-
-;;;***
-
-;;;### (autoloads nil "dired-vms" "dired/dired-vms.el" (12376 19391))
-;;; Generated autoloads from dired/dired-vms.el
-
-;;;***
-
-;;;### (autoloads nil "dired-xemacs-highlight" "dired/dired-xemacs-highlight.el" (12745 48553))
-;;; Generated autoloads from dired/dired-xemacs-highlight.el
-
-;;;### (autoloads (dired-cwd-make-magic) "dired-cwd" "dired/dired-cwd.el" (12376 19388))
+
+;;;***
+
+;;;### (autoloads (dired-cwd-make-magic) "dired-cwd" "dired/dired-cwd.el" (12983 25893))
 ;;; Generated autoloads from dired/dired-cwd.el
 
 (autoload 'dired-cwd-make-magic "dired-cwd" "\
@@ -1344,7 +1329,40 @@
 
 ;;;***
 
-;;;### (autoloads (dired-do-rename-list dired-do-rename-numeric) "dired-num" "dired/dired-num.el" (12376 19390))
+;;;### (autoloads nil "dired-guess" "dired/dired-guess.el" (12983 25893))
+;;; Generated autoloads from dired/dired-guess.el
+
+;;;***
+
+;;;### (autoloads nil "dired-link" "dired/dired-link.el" (12983 25891))
+;;; Generated autoloads from dired/dired-link.el
+
+;;;***
+
+;;;### (autoloads nil "dired-lisp" "dired/dired-lisp.el" (12983 25893))
+;;; Generated autoloads from dired/dired-lisp.el
+
+;;;***
+
+;;;### (autoloads nil "dired-nstd" "dired/dired-nstd.el" (12983 25893))
+;;; Generated autoloads from dired/dired-nstd.el
+
+;;;***
+
+;;;### (autoloads nil "dired-trns" "dired/dired-trns.el" (12983 25893))
+;;; Generated autoloads from dired/dired-trns.el
+
+;;;***
+
+;;;### (autoloads nil "dired-vms" "dired/dired-vms.el" (12983 25893))
+;;; Generated autoloads from dired/dired-vms.el
+
+;;;***
+
+;;;### (autoloads nil "dired-xemacs-highlight" "dired/dired-xemacs-highlight.el" (12983 25897))
+;;; Generated autoloads from dired/dired-xemacs-highlight.el
+
+;;;### (autoloads (dired-do-rename-list dired-do-rename-numeric) "dired-num" "dired/dired-num.el" (12983 25893))
 ;;; Generated autoloads from dired/dired-num.el
 
 (autoload 'dired-do-rename-numeric "dired-num" "\
@@ -1370,7 +1388,7 @@
 
 ;;;***
 
-;;;### (autoloads (dired-rcs-mark-rcs-files dired-rcs-mark-rcs-locked-files) "dired-rcs" "dired/dired-rcs.el" (12376 19395))
+;;;### (autoloads (dired-rcs-mark-rcs-files dired-rcs-mark-rcs-locked-files) "dired-rcs" "dired/dired-rcs.el" (12983 25896))
 ;;; Generated autoloads from dired/dired-rcs.el
 
 (autoload 'dired-rcs-mark-rcs-locked-files "dired-rcs" "\
@@ -1387,7 +1405,7 @@
 
 ;;;***
 
-;;;### (autoloads (dired-extra-startup) "dired-x" "dired/dired-x.el" (12851 23360))
+;;;### (autoloads (dired-extra-startup) "dired-x" "dired/dired-x.el" (12983 26748))
 ;;; Generated autoloads from dired/dired-x.el
 
 (autoload 'dired-extra-startup "dired-x" "\
@@ -1428,11 +1446,13 @@
 " t nil)
 
 ;;;***
-
-;;;### (autoloads nil "dired-xemacs-menu" "dired/dired-xemacs-menu.el" (12322 8756))
+
+;;;***
+
+;;;### (autoloads nil "dired-xemacs-menu" "dired/dired-xemacs-menu.el" (12983 25897))
 ;;; Generated autoloads from dired/dired-xemacs-menu.el
 
-;;;### (autoloads (dired-noselect dired-other-window dired) "dired" "dired/dired.el" (12860 19316))
+;;;### (autoloads (dired-noselect dired-other-window dired) "dired" "dired/dired.el" (12983 26748))
 ;;; Generated autoloads from dired/dired.el
 
 (defvar dired-listing-switches (purecopy "-al") "\
@@ -1515,7 +1535,7 @@
 
 ;;;***
 
-;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired" "dired/find-dired.el" (12675 57063))
+;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired" "dired/find-dired.el" (12983 25895))
 ;;; Generated autoloads from dired/find-dired.el
 
 (defvar find-ls-option (purecopy (if (eq system-type 'berkeley-unix) '("-ls" . "-gilsb") '("-exec ls -ld {} \\;" . "-ld"))) "\
@@ -1555,23 +1575,25 @@
 Thus ARG can also contain additional grep options." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "gmhist-app" "dired/gmhist-app.el" (12376 19392))
+
+;;;***
+
+;;;### (autoloads nil "gmhist-app" "dired/gmhist-app.el" (12983 25895))
 ;;; Generated autoloads from dired/gmhist-app.el
 
 ;;;***
 
-;;;### (autoloads nil "gmhist-cmp" "dired/gmhist-cmp.el" (12376 19393))
+;;;### (autoloads nil "gmhist-cmp" "dired/gmhist-cmp.el" (12983 25895))
 ;;; Generated autoloads from dired/gmhist-cmp.el
 
 ;;;***
 
-;;;### (autoloads nil "gmhist-mh" "dired/gmhist-mh.el" (12376 19393))
+;;;### (autoloads nil "gmhist-mh" "dired/gmhist-mh.el" (12983 25896))
 ;;; Generated autoloads from dired/gmhist-mh.el
 
 ;;;***
 
-;;;### (autoloads nil "gmhist" "dired/gmhist.el" (12639 8568))
+;;;### (autoloads nil "gmhist" "dired/gmhist.el" (12983 25896))
 ;;; Generated autoloads from dired/gmhist.el
 
 ;;;***
@@ -1580,36 +1602,35 @@
 
 ;;;***
 
-;;;### (autoloads nil "advise-eval-region" "edebug/advise-eval-region.el" (12864 30312))
+;;;### (autoloads nil "advise-eval-region" "edebug/advise-eval-region.el" (12983 27383))
 ;;; Generated autoloads from edebug/advise-eval-region.el
 
 ;;;***
 
-;;;### (autoloads nil "cl-read" "edebug/cl-read.el" (12864 29087))
+;;;### (autoloads nil "cl-read" "edebug/cl-read.el" (12983 27380))
 ;;; Generated autoloads from edebug/cl-read.el
 
 ;;;***
 
-;;;### (autoloads nil "cl-specs" "edebug/cl-specs.el" (12864 27740))
+;;;### (autoloads nil "cl-specs" "edebug/cl-specs.el" (12983 27381))
 ;;; Generated autoloads from edebug/cl-specs.el
 
 ;;;***
 
-;;;### (autoloads nil "cust-print" "edebug/cust-print.el" (12864 28985))
+;;;### (autoloads nil "cust-print" "edebug/cust-print.el" (12983 27381))
 ;;; Generated autoloads from edebug/cust-print.el
 
 ;;;***
 
-;;;### (autoloads nil "edebug-cl-read" "edebug/edebug-cl-read.el" (12864 28195))
+;;;### (autoloads nil "edebug-cl-read" "edebug/edebug-cl-read.el" (12983 27381))
 ;;; Generated autoloads from edebug/edebug-cl-read.el
-
-;;;### (autoloads nil "edebug-test" "edebug/edebug-test.el" (12546 50592))
+
+;;;***
+
+;;;### (autoloads nil "edebug-test" "edebug/edebug-test.el" (12983 26120))
 ;;; Generated autoloads from edebug/edebug-test.el
 
-
-;;;***
-
-;;;### (autoloads (edebug-eval-top-level-form def-edebug-spec) "edebug" "edebug/edebug.el" (12864 29565))
+;;;### (autoloads (edebug-eval-top-level-form def-edebug-spec) "edebug" "edebug/edebug.el" (12983 27382))
 ;;; Generated autoloads from edebug/edebug.el
 
 (autoload 'def-edebug-spec "edebug" "\
@@ -1628,27 +1649,33 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "eval-reg" "edebug/eval-reg.el" (12864 29073))
+
+;;;***
+
+;;;### (autoloads nil "eval-reg" "edebug/eval-reg.el" (12983 27381))
 ;;; Generated autoloads from edebug/eval-reg.el
-
-;;;### (autoloads nil "ediff-diff" "ediff/ediff-diff.el" (12747 30846))
+
+;;;***
+
+;;;### (autoloads nil "ediff-diff" "ediff/ediff-diff.el" (12983 26148))
 ;;; Generated autoloads from ediff/ediff-diff.el
-
-;;;### (autoloads nil "ediff-hook" "ediff/ediff-hook.el" (12675 57179))
+
+;;;***
+
+;;;### (autoloads nil "ediff-hook" "ediff/ediff-hook.el" (12983 26154))
 ;;; Generated autoloads from ediff/ediff-hook.el
-
-;;;### (autoloads nil "ediff-init" "ediff/ediff-init.el" (12675 57185))
+
+;;;***
+
+;;;### (autoloads nil "ediff-init" "ediff/ediff-init.el" (12983 26149))
 ;;; Generated autoloads from ediff/ediff-init.el
 
 ;;;***
 
-;;;### (autoloads nil "ediff-merg" "ediff/ediff-merg.el" (12675 57177))
+;;;### (autoloads nil "ediff-merg" "ediff/ediff-merg.el" (12983 26152))
 ;;; Generated autoloads from ediff/ediff-merg.el
-
-;;;***
-
-;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff/ediff-mult.el" (12851 23556))
+
+;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff/ediff-mult.el" (12983 26904))
 ;;; Generated autoloads from ediff/ediff-mult.el
 
 (autoload 'ediff-show-registry "ediff-mult" "\
@@ -1657,26 +1684,30 @@
 (defalias 'eregistry 'ediff-show-registry)
 
 ;;;***
-
-;;;### (autoloads nil "ediff-ptch" "ediff/ediff-ptch.el" (12639 8876))
+
+;;;***
+
+;;;### (autoloads nil "ediff-ptch" "ediff/ediff-ptch.el" (12983 26154))
 ;;; Generated autoloads from ediff/ediff-ptch.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "ediff-util" "ediff/ediff-util.el" (12851 23554))
+;;;### (autoloads nil "ediff-util" "ediff/ediff-util.el" (12983 26901))
 ;;; Generated autoloads from ediff/ediff-util.el
-
-;;;### (autoloads nil "ediff-vers" "ediff/ediff-vers.el" (12675 57186))
+
+;;;***
+
+;;;### (autoloads nil "ediff-vers" "ediff/ediff-vers.el" (12983 26154))
 ;;; Generated autoloads from ediff/ediff-vers.el
 
 ;;;***
 
-;;;### (autoloads nil "ediff-wind" "ediff/ediff-wind.el" (12851 23552))
+;;;### (autoloads nil "ediff-wind" "ediff/ediff-wind.el" (12983 26902))
 ;;; Generated autoloads from ediff/ediff-wind.el
 
-;;;### (autoloads (ediff-documentation ediff-version ediff-revision ediff-patch-buffer ediff-patch-file run-ediff-from-cvs-buffer ediff-merge-revisions-with-ancestor ediff-merge-revisions ediff-merge-buffers-with-ancestor ediff-merge-buffers ediff-merge-files-with-ancestor ediff-merge-files ediff-regions-linewise ediff-regions-wordwise ediff-windows-linewise ediff-windows-wordwise ediff-merge-directory-revisions-with-ancestor ediff-merge-directory-revisions ediff-merge-directories-with-ancestor ediff-merge-directories ediff-directories3 ediff-directory-revisions ediff-directories ediff-buffers3 ediff-buffers ediff-files3 ediff-files) "ediff" "ediff/ediff.el" (12851 23551))
+;;;### (autoloads (ediff-documentation ediff-version ediff-revision ediff-patch-buffer ediff-patch-file run-ediff-from-cvs-buffer ediff-merge-revisions-with-ancestor ediff-merge-revisions ediff-merge-buffers-with-ancestor ediff-merge-buffers ediff-merge-files-with-ancestor ediff-merge-files ediff-regions-linewise ediff-regions-wordwise ediff-windows-linewise ediff-windows-wordwise ediff-merge-directory-revisions-with-ancestor ediff-merge-directory-revisions ediff-merge-directories-with-ancestor ediff-merge-directories ediff-directories3 ediff-directory-revisions ediff-directories ediff-buffers3 ediff-buffers ediff-files3 ediff-files) "ediff" "ediff/ediff.el" (12983 26903))
 ;;; Generated autoloads from ediff/ediff.el
 
 (autoload 'ediff-files "ediff" "\
@@ -1832,7 +1863,7 @@
 
 ;;;***
 
-;;;### (autoloads (electric-buffer-list) "ebuff-menu" "electric/ebuff-menu.el" (12978 18989))
+;;;### (autoloads (electric-buffer-list) "ebuff-menu" "electric/ebuff-menu.el" (12988 32985))
 ;;; Generated autoloads from electric/ebuff-menu.el
 
 (autoload 'electric-buffer-list "ebuff-menu" "\
@@ -1859,7 +1890,7 @@
 
 ;;;***
 
-;;;### (autoloads (electric-command-history Electric-command-history-redo-expression) "echistory" "electric/echistory.el" (12863 16763))
+;;;### (autoloads (electric-command-history Electric-command-history-redo-expression) "echistory" "electric/echistory.el" (12983 27259))
 ;;; Generated autoloads from electric/echistory.el
 
 (autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -1885,7 +1916,7 @@
 
 ;;;***
 
-;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "electric/ehelp.el" (12863 18269))
+;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "electric/ehelp.el" (12983 27259))
 ;;; Generated autoloads from electric/ehelp.el
 
 (autoload 'with-electric-help "ehelp" "\
@@ -1918,11 +1949,17 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "electric" "electric/electric.el" (12863 15816))
+
+;;;***
+
+;;;### (autoloads nil "electric" "electric/electric.el" (12983 27258))
 ;;; Generated autoloads from electric/electric.el
-
-;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" "electric/helper.el" (12863 17069))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" "electric/helper.el" (12983 27259))
 ;;; Generated autoloads from electric/helper.el
 
 (autoload 'Helper-describe-bindings "helper" "\
@@ -1937,28 +1974,28 @@
 
 ;;;***
 
-;;;### (autoloads nil "crisp" "emulators/crisp.el" (12967 874))
+;;;### (autoloads nil "crisp" "emulators/crisp.el" (12989 48895))
 ;;; Generated autoloads from emulators/crisp.el
 
-;;;### (autoloads nil "edt-lk201" "emulators/edt-lk201.el" (12864 33439))
+;;;### (autoloads nil "edt-lk201" "emulators/edt-lk201.el" (12983 27263))
 ;;; Generated autoloads from emulators/edt-lk201.el
 
 ;;;***
 
-;;;### (autoloads nil "edt-mapper" "emulators/edt-mapper.el" (12864 32718))
+;;;### (autoloads nil "edt-mapper" "emulators/edt-mapper.el" (12983 27263))
 ;;; Generated autoloads from emulators/edt-mapper.el
 
 ;;;***
 
-;;;### (autoloads nil "edt-pc" "emulators/edt-pc.el" (12864 33459))
+;;;### (autoloads nil "edt-pc" "emulators/edt-pc.el" (12983 27263))
 ;;; Generated autoloads from emulators/edt-pc.el
 
 ;;;***
 
-;;;### (autoloads nil "edt-vt100" "emulators/edt-vt100.el" (12864 33409))
+;;;### (autoloads nil "edt-vt100" "emulators/edt-vt100.el" (12983 27263))
 ;;; Generated autoloads from emulators/edt-vt100.el
 
-;;;### (autoloads (edt-emulation-on) "edt" "emulators/edt.el" (12864 32301))
+;;;### (autoloads (edt-emulation-on) "edt" "emulators/edt.el" (12983 27260))
 ;;; Generated autoloads from emulators/edt.el
 
 (autoload 'edt-emulation-on "edt" "\
@@ -1966,7 +2003,7 @@
 
 ;;;***
 
-;;;### (autoloads (convert-mocklisp-buffer) "mlconvert" "emulators/mlconvert.el" (12864 34692))
+;;;### (autoloads (convert-mocklisp-buffer) "mlconvert" "emulators/mlconvert.el" (12983 27260))
 ;;; Generated autoloads from emulators/mlconvert.el
 
 (autoload 'convert-mocklisp-buffer "mlconvert" "\
@@ -1975,11 +2012,15 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "mlsupport" "emulators/mlsupport.el" (12864 34452))
+
+;;;***
+
+;;;### (autoloads nil "mlsupport" "emulators/mlsupport.el" (12983 27261))
 ;;; Generated autoloads from emulators/mlsupport.el
-
-;;;### (autoloads (teco-command) "teco" "emulators/teco.el" (12864 34887))
+
+;;;***
+
+;;;### (autoloads (teco-command) "teco" "emulators/teco.el" (12983 27261))
 ;;; Generated autoloads from emulators/teco.el
 
 (autoload 'teco-command "teco" "\
@@ -1989,10 +2030,10 @@
 
 ;;;***
 
-;;;### (autoloads nil "tpu-doc" "emulators/tpu-doc.el" (12851 23364))
+;;;### (autoloads nil "tpu-doc" "emulators/tpu-doc.el" (12983 26752))
 ;;; Generated autoloads from emulators/tpu-doc.el
 
-;;;### (autoloads (tpu-edt-on) "tpu-edt" "emulators/tpu-edt.el" (12864 37148))
+;;;### (autoloads (tpu-edt-on) "tpu-edt" "emulators/tpu-edt.el" (12983 27262))
 ;;; Generated autoloads from emulators/tpu-edt.el
 
 (fset 'tpu-edt-mode 'tpu-edt-on)
@@ -2004,7 +2045,7 @@
 
 ;;;***
 
-;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins) "tpu-extras" "emulators/tpu-extras.el" (12864 37229))
+;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins) "tpu-extras" "emulators/tpu-extras.el" (12983 27262))
 ;;; Generated autoloads from emulators/tpu-extras.el
 
 (autoload 'tpu-set-scroll-margins "tpu-extras" "\
@@ -2019,11 +2060,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "tpu-mapper" "emulators/tpu-mapper.el" (12864 37347))
+
+;;;***
+
+;;;### (autoloads nil "tpu-mapper" "emulators/tpu-mapper.el" (12983 27263))
 ;;; Generated autoloads from emulators/tpu-mapper.el
 
-;;;### (autoloads (wordstar-mode) "ws-mode" "emulators/ws-mode.el" (12864 35539))
+;;;### (autoloads (wordstar-mode) "ws-mode" "emulators/ws-mode.el" (12983 27262))
 ;;; Generated autoloads from emulators/ws-mode.el
 
 (autoload 'wordstar-mode "ws-mode" "\
@@ -2133,157 +2176,156 @@
 " t nil)
 
 ;;;***
-
-;;;### (autoloads nil "backtrace-logging" "energize/backtrace-logging.el" (12376 19404))
+
+;;;***
+
+;;;### (autoloads nil "backtrace-logging" "energize/backtrace-logging.el" (12983 25903))
 ;;; Generated autoloads from energize/backtrace-logging.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-advice" "energize/energize-advice.el" (12376 19404))
+;;;### (autoloads nil "energize-advice" "energize/energize-advice.el" (12983 25903))
 ;;; Generated autoloads from energize/energize-advice.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-annoprint" "energize/energize-annoprint.el" (12376 19409))
+;;;### (autoloads nil "energize-annoprint" "energize/energize-annoprint.el" (12983 25906))
 ;;; Generated autoloads from energize/energize-annoprint.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-font-lock" "energize/energize-font-lock.el" (12376 19408))
+;;;### (autoloads nil "energize-font-lock" "energize/energize-font-lock.el" (12983 25906))
 ;;; Generated autoloads from energize/energize-font-lock.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-font-size" "energize/energize-font-size.el" (12376 19408))
+;;;### (autoloads nil "energize-font-size" "energize/energize-font-size.el" (12983 25906))
 ;;; Generated autoloads from energize/energize-font-size.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-init" "energize/energize-init.el" (12376 19405))
+;;;### (autoloads nil "energize-init" "energize/energize-init.el" (12983 25903))
 ;;; Generated autoloads from energize/energize-init.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-load" "energize/energize-load.el" (12376 19405))
+;;;### (autoloads nil "energize-load" "energize/energize-load.el" (12983 25904))
 ;;; Generated autoloads from energize/energize-load.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-menus" "energize/energize-menus.el" (12376 19407))
+;;;### (autoloads nil "energize-menus" "energize/energize-menus.el" (12983 25904))
 ;;; Generated autoloads from energize/energize-menus.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-mode" "energize/energize-mode.el" (12720 56483))
+;;;### (autoloads nil "energize-mode" "energize/energize-mode.el" (12983 25905))
 ;;; Generated autoloads from energize/energize-mode.el
-
-;;;### (autoloads nil "energize-shell" "energize/energize-shell.el" (12110 33408))
+
+;;;***
+
+;;;### (autoloads nil "energize-shell" "energize/energize-shell.el" (12983 25905))
 ;;; Generated autoloads from energize/energize-shell.el
-
-;;;### (autoloads nil "energize-uimx" "energize/energize-uimx.el" (12376 19409))
+
+;;;***
+
+;;;### (autoloads nil "energize-uimx" "energize/energize-uimx.el" (12983 25906))
 ;;; Generated autoloads from energize/energize-uimx.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-vi" "energize/energize-vi.el" (12376 19407))
+;;;### (autoloads nil "energize-vi" "energize/energize-vi.el" (12983 25905))
 ;;; Generated autoloads from energize/energize-vi.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-visit-use" "energize/energize-visit-use.el" (12376 19407))
+;;;### (autoloads nil "energize-visit-use" "energize/energize-visit-use.el" (12983 25905))
 ;;; Generated autoloads from energize/energize-visit-use.el
 
 ;;;***
 
-;;;### (autoloads nil "energize-windows" "energize/energize-windows.el" (12376 19409))
+;;;### (autoloads nil "energize-windows" "energize/energize-windows.el" (12983 25906))
 ;;; Generated autoloads from energize/energize-windows.el
 
 ;;;***
 
-;;;### (autoloads nil "ostore" "energize/ostore.el" (12376 19408))
+;;;### (autoloads nil "ostore" "energize/ostore.el" (12983 25906))
 ;;; Generated autoloads from energize/ostore.el
 
 ;;;***
 
-;;;### (autoloads nil "write-file" "energize/write-file.el" (12376 19404))
+;;;### (autoloads nil "write-file" "energize/write-file.el" (12983 25903))
 ;;; Generated autoloads from energize/write-file.el
 
 ;;;***
 
-;;;### (autoloads nil "eos" "eos/eos.el" (12740 25241))
+;;;### (autoloads nil "eos" "eos/eos.el" (12983 26135))
 ;;; Generated autoloads from eos/eos.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "loaddefs-eos" "eos/loaddefs-eos.el" (12748 9797))
+;;;### (autoloads nil "loaddefs-eos" "eos/loaddefs-eos.el" (12983 26137))
 ;;; Generated autoloads from eos/loaddefs-eos.el
-
-;;;### (autoloads nil "sun-eos-browser" "eos/sun-eos-browser.el" (12740 25240))
+
+;;;***
+
+;;;### (autoloads nil "sun-eos-browser" "eos/sun-eos-browser.el" (12983 26135))
 ;;; Generated autoloads from eos/sun-eos-browser.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-common" "eos/sun-eos-common.el" (12345 62348))
+;;;### (autoloads nil "sun-eos-common" "eos/sun-eos-common.el" (12983 26141))
 ;;; Generated autoloads from eos/sun-eos-common.el
-
-;;;### (autoloads nil "sun-eos-debugger-extra" "eos/sun-eos-debugger-extra.el" (12740 25236))
+
+;;;***
+
+;;;### (autoloads nil "sun-eos-debugger-extra" "eos/sun-eos-debugger-extra.el" (12983 26136))
 ;;; Generated autoloads from eos/sun-eos-debugger-extra.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-debugger" "eos/sun-eos-debugger.el" (12740 25235))
+;;;### (autoloads nil "sun-eos-debugger" "eos/sun-eos-debugger.el" (12983 26135))
 ;;; Generated autoloads from eos/sun-eos-debugger.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-editor" "eos/sun-eos-editor.el" (12740 25242))
+;;;### (autoloads nil "sun-eos-editor" "eos/sun-eos-editor.el" (12983 26135))
 ;;; Generated autoloads from eos/sun-eos-editor.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-init" "eos/sun-eos-init.el" (12740 25241))
+;;;### (autoloads nil "sun-eos-init" "eos/sun-eos-init.el" (12983 26135))
 ;;; Generated autoloads from eos/sun-eos-init.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-load" "eos/sun-eos-load.el" (12740 25239))
+;;;### (autoloads nil "sun-eos-load" "eos/sun-eos-load.el" (12983 26137))
 ;;; Generated autoloads from eos/sun-eos-load.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-menubar" "eos/sun-eos-menubar.el" (12740 25243))
+;;;### (autoloads nil "sun-eos-menubar" "eos/sun-eos-menubar.el" (12983 26140))
 ;;; Generated autoloads from eos/sun-eos-menubar.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "sun-eos-toolbar" "eos/sun-eos-toolbar.el" (12860 19463))
+;;;### (autoloads nil "sun-eos-toolbar" "eos/sun-eos-toolbar.el" (12983 26895))
 ;;; Generated autoloads from eos/sun-eos-toolbar.el
-
-;;;### (autoloads nil "sun-eos" "eos/sun-eos.el" (12740 25239))
+
+;;;***
+
+;;;### (autoloads nil "sun-eos" "eos/sun-eos.el" (12983 26135))
 ;;; Generated autoloads from eos/sun-eos.el
-
-;;;### (autoloads nil "epoch" "epoch/epoch.el" (12376 19557))
+
+;;;***
+
+;;;### (autoloads nil "epoch" "epoch/epoch.el" (12983 26069))
 ;;; Generated autoloads from epoch/epoch.el
 
-;;;### (autoloads (term make-term) "term" "eterm/term.el" (12254 10521))
-;;; Generated autoloads from eterm/term.el
-
-(autoload 'make-term "term" "\
-Make a term process NAME in a buffer, running PROGRAM.
-The name of the buffer is made by surrounding NAME with `*'s.
-If there is already a running process in that buffer, it is not restarted.
-Optional third arg STARTFILE is the name of a file to send the contents of to 
-the process.  Any more args are arguments to PROGRAM." nil nil)
-
-(autoload 'term "term" "\
-Start a terminal-emulator in a new buffer." t nil)
-
-;;;***
-
 ;;;### (autoloads (tperldb txdb tdbx tsdb tgdb) "tgud" "eterm/tgud.el" (12147 26618))
 ;;; Generated autoloads from eterm/tgud.el
 
@@ -2356,11 +2398,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "NeXTify" "games/NeXTify.el" (12864 38746))
+
+;;;***
+
+;;;### (autoloads nil "NeXTify" "games/NeXTify.el" (12983 27379))
 ;;; Generated autoloads from games/NeXTify.el
 
-;;;### (autoloads (blackbox) "blackbox" "games/blackbox.el" (12864 38281))
+;;;### (autoloads (blackbox) "blackbox" "games/blackbox.el" (12983 27375))
 ;;; Generated autoloads from games/blackbox.el
 
 (autoload 'blackbox "blackbox" "\
@@ -2477,7 +2521,7 @@
 
 ;;;***
 
-;;;### (autoloads (conx-load conx conx-region conx-buffer) "conx" "games/conx.el" (12864 38761))
+;;;### (autoloads (conx-load conx conx-region conx-buffer) "conx" "games/conx.el" (12983 27378))
 ;;; Generated autoloads from games/conx.el
 
 (autoload 'conx-buffer "conx" "\
@@ -2495,7 +2539,7 @@
 
 ;;;***
 
-;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) "cookie1" "games/cookie1.el" (12864 38717))
+;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) "cookie1" "games/cookie1.el" (12983 27375))
 ;;; Generated autoloads from games/cookie1.el
 
 (autoload 'cookie "cookie1" "\
@@ -2516,7 +2560,7 @@
 
 ;;;***
 
-;;;### (autoloads (dissociated-press) "dissociate" "games/dissociate.el" (12864 38924))
+;;;### (autoloads (dissociated-press) "dissociate" "games/dissociate.el" (12983 27376))
 ;;; Generated autoloads from games/dissociate.el
 
 (autoload 'dissociated-press "dissociate" "\
@@ -2530,7 +2574,7 @@
 
 ;;;***
 
-;;;### (autoloads (doctor) "doctor" "games/doctor.el" (12864 39378))
+;;;### (autoloads (doctor) "doctor" "games/doctor.el" (12983 27376))
 ;;; Generated autoloads from games/doctor.el
 
 (autoload 'doctor "doctor" "\
@@ -2538,7 +2582,7 @@
 
 ;;;***
 
-;;;### (autoloads (dunnet) "dunnet" "games/dunnet.el" (12864 39880))
+;;;### (autoloads (dunnet) "dunnet" "games/dunnet.el" (12983 27379))
 ;;; Generated autoloads from games/dunnet.el
 
 (autoload 'dunnet "dunnet" "\
@@ -2546,7 +2590,7 @@
 
 ;;;***
 
-;;;### (autoloads (flame) "flame" "games/flame.el" (12864 40457))
+;;;### (autoloads (flame) "flame" "games/flame.el" (12983 27378))
 ;;; Generated autoloads from games/flame.el
 
 (autoload 'flame "flame" "\
@@ -2554,7 +2598,7 @@
 
 ;;;***
 
-;;;### (autoloads (gomoku) "gomoku" "games/gomoku.el" (12864 45708))
+;;;### (autoloads (gomoku) "gomoku" "games/gomoku.el" (12983 27376))
 ;;; Generated autoloads from games/gomoku.el
 
 (autoload 'gomoku "gomoku" "\
@@ -2573,7 +2617,7 @@
 
 ;;;***
 
-;;;### (autoloads (hanoi) "hanoi" "games/hanoi.el" (12864 41986))
+;;;### (autoloads (hanoi) "hanoi" "games/hanoi.el" (12983 27377))
 ;;; Generated autoloads from games/hanoi.el
 
 (autoload 'hanoi "hanoi" "\
@@ -2581,7 +2625,7 @@
 
 ;;;***
 
-;;;### (autoloads (life) "life" "games/life.el" (12864 42236))
+;;;### (autoloads (life) "life" "games/life.el" (12983 27377))
 ;;; Generated autoloads from games/life.el
 
 (autoload 'life "life" "\
@@ -2592,7 +2636,7 @@
 
 ;;;***
 
-;;;### (autoloads (mpuz) "mpuz" "games/mpuz.el" (12864 42342))
+;;;### (autoloads (mpuz) "mpuz" "games/mpuz.el" (12983 27377))
 ;;; Generated autoloads from games/mpuz.el
 
 (autoload 'mpuz "mpuz" "\
@@ -2600,7 +2644,7 @@
 
 ;;;***
 
-;;;### (autoloads (snarf-spooks spook) "spook" "games/spook.el" (12864 42460))
+;;;### (autoloads (snarf-spooks spook) "spook" "games/spook.el" (12983 27377))
 ;;; Generated autoloads from games/spook.el
 
 (autoload 'spook "spook" "\
@@ -2612,13 +2656,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "studly" "games/studly.el" (12864 42564))
+
+;;;***
+
+;;;### (autoloads nil "studly" "games/studly.el" (12983 27379))
 ;;; Generated autoloads from games/studly.el
-
-;;;***
-
-;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism yow) "yow" "games/yow.el" (12864 42881))
+
+;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism yow) "yow" "games/yow.el" (12983 27379))
 ;;; Generated autoloads from games/yow.el
 
 (autoload 'yow "yow" "\
@@ -2635,16 +2679,18 @@
 Zippy goes to the analyst." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "custom" "gnus/custom.el" (12851 23371))
+
+;;;***
+
+;;;### (autoloads nil "custom" "gnus/custom.el" (12983 26757))
 ;;; Generated autoloads from gnus/custom.el
 
 ;;;***
 
-;;;### (autoloads nil "dgnushack" "gnus/dgnushack.el" (12851 23372))
+;;;### (autoloads nil "dgnushack" "gnus/dgnushack.el" (12983 26759))
 ;;; Generated autoloads from gnus/dgnushack.el
 
-;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el" (12851 23768))
+;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el" (12983 26772))
 ;;; Generated autoloads from gnus/earcon.el
 
 (autoload 'gnus-earcon-display "earcon" "\
@@ -2652,7 +2698,7 @@
 
 ;;;***
 
-;;;### (autoloads (gnus-cache-generate-nov-databases gnus-cache-generate-active gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (12851 23388))
+;;;### (autoloads (gnus-cache-generate-nov-databases gnus-cache-generate-active gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (12983 26757))
 ;;; Generated autoloads from gnus/gnus-cache.el
 
 (autoload 'gnus-jog-cache "gnus-cache" "\
@@ -2667,74 +2713,80 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "gnus-cite" "gnus/gnus-cite.el" (12851 23375))
+
+;;;***
+
+;;;### (autoloads nil "gnus-cite" "gnus/gnus-cite.el" (12983 26759))
 ;;; Generated autoloads from gnus/gnus-cite.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-cus" "gnus/gnus-cus.el" (12851 23377))
+;;;### (autoloads nil "gnus-cus" "gnus/gnus-cus.el" (12983 26759))
 ;;; Generated autoloads from gnus/gnus-cus.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-demon" "gnus/gnus-demon.el" (12740 29833))
+;;;### (autoloads nil "gnus-demon" "gnus/gnus-demon.el" (12983 25932))
 ;;; Generated autoloads from gnus/gnus-demon.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-edit" "gnus/gnus-edit.el" (12851 23378))
+;;;### (autoloads nil "gnus-edit" "gnus/gnus-edit.el" (12983 26760))
 ;;; Generated autoloads from gnus/gnus-edit.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-ems" "gnus/gnus-ems.el" (12851 23380))
+;;;### (autoloads nil "gnus-ems" "gnus/gnus-ems.el" (12983 26760))
 ;;; Generated autoloads from gnus/gnus-ems.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-gl" "gnus/gnus-gl.el" (12851 23409))
+;;;### (autoloads nil "gnus-gl" "gnus/gnus-gl.el" (12983 26768))
 ;;; Generated autoloads from gnus/gnus-gl.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-kill" "gnus/gnus-kill.el" (12727 30112))
+;;;### (autoloads nil "gnus-kill" "gnus/gnus-kill.el" (12983 25925))
 ;;; Generated autoloads from gnus/gnus-kill.el
-
-;;;### (autoloads nil "gnus-mh" "gnus/gnus-mh.el" (12740 29827))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "gnus-mh" "gnus/gnus-mh.el" (12983 25925))
 ;;; Generated autoloads from gnus/gnus-mh.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "gnus-msg" "gnus/gnus-msg.el" (12851 23383))
+
+;;;### (autoloads nil "gnus-msg" "gnus/gnus-msg.el" (12983 26760))
 ;;; Generated autoloads from gnus/gnus-msg.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-nocem" "gnus/gnus-nocem.el" (12851 23411))
+;;;### (autoloads nil "gnus-nocem" "gnus/gnus-nocem.el" (12983 26768))
 ;;; Generated autoloads from gnus/gnus-nocem.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-picon" "gnus/gnus-picon.el" (12851 23411))
+;;;### (autoloads nil "gnus-picon" "gnus/gnus-picon.el" (12983 26768))
 ;;; Generated autoloads from gnus/gnus-picon.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-salt" "gnus/gnus-salt.el" (12745 38025))
+;;;### (autoloads nil "gnus-salt" "gnus/gnus-salt.el" (12983 25933))
 ;;; Generated autoloads from gnus/gnus-salt.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-score" "gnus/gnus-score.el" (12851 23370))
+;;;### (autoloads nil "gnus-score" "gnus/gnus-score.el" (12983 26756))
 ;;; Generated autoloads from gnus/gnus-score.el
-
-;;;### (autoloads nil "gnus-setup" "gnus/gnus-setup.el" (12727 30246))
+
+;;;***
+
+;;;### (autoloads nil "gnus-setup" "gnus/gnus-setup.el" (12983 25934))
 ;;; Generated autoloads from gnus/gnus-setup.el
 
-;;;### (autoloads (gnus-sound-play) "gnus-sound" "gnus/gnus-sound.el" (12851 23768))
+;;;### (autoloads (gnus-sound-play) "gnus-sound" "gnus/gnus-sound.el" (12983 26772))
 ;;; Generated autoloads from gnus/gnus-sound.el
 
 (autoload 'gnus-sound-play "gnus-sound" "\
@@ -2742,7 +2794,7 @@
 
 ;;;***
 
-;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el" (12743 11596))
+;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el" (12983 25934))
 ;;; Generated autoloads from gnus/gnus-soup.el
 
 (autoload 'gnus-batch-brew-soup "gnus-soup" "\
@@ -2756,38 +2808,40 @@
 $ emacs -batch -f gnus-batch-brew-soup ^nnml \".*emacs.*\"" t nil)
 
 ;;;***
-
-;;;### (autoloads nil "gnus-srvr" "gnus/gnus-srvr.el" (12744 54653))
+
+;;;***
+
+;;;### (autoloads nil "gnus-srvr" "gnus/gnus-srvr.el" (12983 25929))
 ;;; Generated autoloads from gnus/gnus-srvr.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "gnus-topic" "gnus/gnus-topic.el" (12851 23374))
+;;;### (autoloads nil "gnus-topic" "gnus/gnus-topic.el" (12983 26767))
 ;;; Generated autoloads from gnus/gnus-topic.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-uu" "gnus/gnus-uu.el" (12851 23384))
+;;;### (autoloads nil "gnus-uu" "gnus/gnus-uu.el" (12983 26762))
 ;;; Generated autoloads from gnus/gnus-uu.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-vis" "gnus/gnus-vis.el" (12851 23386))
+;;;### (autoloads nil "gnus-vis" "gnus/gnus-vis.el" (12983 26762))
 ;;; Generated autoloads from gnus/gnus-vis.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-vm" "gnus/gnus-vm.el" (12727 30121))
+;;;### (autoloads nil "gnus-vm" "gnus/gnus-vm.el" (12983 25929))
 ;;; Generated autoloads from gnus/gnus-vm.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-xmas" "gnus/gnus-xmas.el" (12851 23412))
+;;;### (autoloads nil "gnus-xmas" "gnus/gnus-xmas.el" (12983 26769))
 ;;; Generated autoloads from gnus/gnus-xmas.el
 
-;;;### (autoloads (gnus-batch-score gnus-fetch-group gnus gnus-other-frame gnus-slave gnus-no-server gnus-slave-no-server gnus-add-configuration gnus-update-format) "gnus" "gnus/gnus.el" (12851 23411))
+;;;### (autoloads (gnus-batch-score gnus-fetch-group gnus gnus-other-frame gnus-slave gnus-no-server gnus-slave-no-server gnus-add-configuration gnus-update-format) "gnus" "gnus/gnus.el" (12983 26758))
 ;;; Generated autoloads from gnus/gnus.el
 
 (autoload 'gnus-update-format "gnus" "\
@@ -2833,11 +2887,15 @@
 score the alt hierarchy, you'd say \"!alt.all\"." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "mailheader" "gnus/mailheader.el" (12727 30250))
+
+;;;***
+
+;;;### (autoloads nil "mailheader" "gnus/mailheader.el" (12983 25935))
 ;;; Generated autoloads from gnus/mailheader.el
-
-;;;### (autoloads (unbold-region bold-region message-news-other-frame message-news-other-window message-mail-other-frame message-mail-other-window message-bounce message-resend message-forward message-recover message-supersede message-cancel-news message-followup message-wide-reply message-reply message-news message-mail message-mode) "message" "gnus/message.el" (12851 23414))
+
+;;;***
+
+;;;### (autoloads (unbold-region bold-region message-news-other-frame message-news-other-window message-mail-other-frame message-mail-other-window message-bounce message-resend message-forward message-recover message-supersede message-cancel-news message-followup message-wide-reply message-reply message-news message-mail message-mode) "message" "gnus/message.el" (12983 26770))
 ;;; Generated autoloads from gnus/message.el
 
 (defvar message-fcc-handler-function 'rmail-output "\
@@ -3095,43 +3153,49 @@
 
 ;;;***
 
-;;;### (autoloads nil "messagexmas" "gnus/messagexmas.el" (12851 23415))
+;;;### (autoloads nil "messagexmas" "gnus/messagexmas.el" (12983 26770))
 ;;; Generated autoloads from gnus/messagexmas.el
 
 ;;;***
 
-;;;### (autoloads nil "messcompat" "gnus/messcompat.el" (12852 5842))
+;;;### (autoloads nil "messcompat" "gnus/messcompat.el" (12983 26770))
 ;;; Generated autoloads from gnus/messcompat.el
 
 ;;;***
 
-;;;### (autoloads nil "nnbabyl" "gnus/nnbabyl.el" (12851 23387))
+;;;### (autoloads nil "nnbabyl" "gnus/nnbabyl.el" (12983 26763))
 ;;; Generated autoloads from gnus/nnbabyl.el
-
-;;;### (autoloads nil "nndb" "gnus/nndb.el" (12740 29835))
+
+;;;***
+
+;;;### (autoloads nil "nndb" "gnus/nndb.el" (12983 25936))
 ;;; Generated autoloads from gnus/nndb.el
 
 ;;;***
 
-;;;### (autoloads nil "nndir" "gnus/nndir.el" (12851 23389))
+;;;### (autoloads nil "nndir" "gnus/nndir.el" (12983 26764))
 ;;; Generated autoloads from gnus/nndir.el
 
 ;;;***
 
-;;;### (autoloads nil "nndoc" "gnus/nndoc.el" (12851 23390))
+;;;### (autoloads nil "nndoc" "gnus/nndoc.el" (12983 26765))
 ;;; Generated autoloads from gnus/nndoc.el
-
-;;;### (autoloads nil "nndraft" "gnus/nndraft.el" (12727 30254))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "nndraft" "gnus/nndraft.el" (12983 25936))
 ;;; Generated autoloads from gnus/nndraft.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "nneething" "gnus/nneething.el" (12851 23391))
+
+;;;### (autoloads nil "nneething" "gnus/nneething.el" (12983 26761))
 ;;; Generated autoloads from gnus/nneething.el
-
-;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" (12851 23392))
+
+;;;***
+
+;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" (12983 26764))
 ;;; Generated autoloads from gnus/nnfolder.el
 
 (autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -3141,16 +3205,17 @@
 
 ;;;***
 
-;;;### (autoloads nil "nnheader" "gnus/nnheader.el" (12851 23393))
+;;;### (autoloads nil "nnheader" "gnus/nnheader.el" (12983 26765))
 ;;; Generated autoloads from gnus/nnheader.el
-
-;;;### (autoloads nil "nnheaderems" "gnus/nnheaderems.el" (12740 29835))
-;;; Generated autoloads from gnus/nnheaderems.el
-
-;;;### (autoloads nil "nnheaderxm" "gnus/nnheaderxm.el" (12740 29473))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "nnheaderxm" "gnus/nnheaderxm.el" (12983 25937))
 ;;; Generated autoloads from gnus/nnheaderxm.el
 
-;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el" (12727 30131))
+;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el" (12983 25930))
 ;;; Generated autoloads from gnus/nnkiboze.el
 
 (autoload 'nnkiboze-generate-groups "nnkiboze" "\
@@ -3161,31 +3226,35 @@
 
 ;;;***
 
-;;;### (autoloads nil "nnmail" "gnus/nnmail.el" (12851 23394))
+;;;### (autoloads nil "nnmail" "gnus/nnmail.el" (12983 26765))
 ;;; Generated autoloads from gnus/nnmail.el
 
 ;;;***
 
-;;;### (autoloads nil "nnmbox" "gnus/nnmbox.el" (12851 23395))
+;;;### (autoloads nil "nnmbox" "gnus/nnmbox.el" (12983 26766))
 ;;; Generated autoloads from gnus/nnmbox.el
 
 ;;;***
 
-;;;### (autoloads nil "nnmh" "gnus/nnmh.el" (12851 23396))
+;;;### (autoloads nil "nnmh" "gnus/nnmh.el" (12983 26763))
 ;;; Generated autoloads from gnus/nnmh.el
 
-;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" (12745 38025))
+;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" (12983 25930))
 ;;; Generated autoloads from gnus/nnml.el
 
 (autoload 'nnml-generate-nov-databases "nnml" "\
 Generate nov databases in all nnml directories." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "nnoo" "gnus/nnoo.el" (12727 30255))
+
+;;;***
+
+;;;### (autoloads nil "nnoo" "gnus/nnoo.el" (12983 25936))
 ;;; Generated autoloads from gnus/nnoo.el
-
-;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies) "nnsoup" "gnus/nnsoup.el" (12727 30256))
+
+;;;***
+
+;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies) "nnsoup" "gnus/nnsoup.el" (12983 25936))
 ;;; Generated autoloads from gnus/nnsoup.el
 
 (autoload 'nnsoup-pack-replies "nnsoup" "\
@@ -3201,20 +3270,20 @@
 
 ;;;***
 
-;;;### (autoloads nil "nnspool" "gnus/nnspool.el" (12851 23399))
+;;;### (autoloads nil "nnspool" "gnus/nnspool.el" (12983 26759))
 ;;; Generated autoloads from gnus/nnspool.el
 
 ;;;***
 
-;;;### (autoloads nil "nntp" "gnus/nntp.el" (12851 23398))
+;;;### (autoloads nil "nntp" "gnus/nntp.el" (12983 26760))
 ;;; Generated autoloads from gnus/nntp.el
 
 ;;;***
 
-;;;### (autoloads nil "nnvirtual" "gnus/nnvirtual.el" (12740 29832))
+;;;### (autoloads nil "nnvirtual" "gnus/nnvirtual.el" (12983 25931))
 ;;; Generated autoloads from gnus/nnvirtual.el
 
-;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" (12851 23766))
+;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" (12983 26768))
 ;;; Generated autoloads from gnus/score-mode.el
 
 (autoload 'gnus-score-mode "score-mode" "\
@@ -3225,7 +3294,7 @@
 
 ;;;***
 
-;;;### (autoloads (gnus-smiley-display smiley-buffer smiley-region) "smiley" "gnus/smiley.el" (12851 23416))
+;;;### (autoloads (gnus-smiley-display smiley-buffer smiley-region) "smiley" "gnus/smiley.el" (12983 26771))
 ;;; Generated autoloads from gnus/smiley.el
 
 (autoload 'smiley-region "smiley" "\
@@ -3238,36 +3307,44 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "adapt" "hm--html-menus/adapt.el" (12851 23560))
+
+;;;***
+
+;;;### (autoloads nil "adapt" "hm--html-menus/adapt.el" (12983 26917))
 ;;; Generated autoloads from hm--html-menus/adapt.el
 
 ;;;***
 
-;;;### (autoloads nil "hm--date" "hm--html-menus/hm--date.el" (12851 23561))
+;;;### (autoloads nil "hm--date" "hm--html-menus/hm--date.el" (12983 26918))
 ;;; Generated autoloads from hm--html-menus/hm--date.el
 
 ;;;***
 
-;;;### (autoloads nil "hm--html-configuration" "hm--html-menus/hm--html-configuration.el" (12851 23566))
+;;;### (autoloads nil "hm--html-configuration" "hm--html-menus/hm--html-configuration.el" (12983 26919))
 ;;; Generated autoloads from hm--html-menus/hm--html-configuration.el
 
 ;;;***
 
-;;;### (autoloads nil "hm--html-drag-and-drop" "hm--html-menus/hm--html-drag-and-drop.el" (12851 23773))
+;;;### (autoloads nil "hm--html-drag-and-drop" "hm--html-menus/hm--html-drag-and-drop.el" (12983 26920))
 ;;; Generated autoloads from hm--html-menus/hm--html-drag-and-drop.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "hm--html-keys" "hm--html-menus/hm--html-keys.el" (12861 22560))
+;;;### (autoloads nil "hm--html-keys" "hm--html-menus/hm--html-keys.el" (12983 26920))
 ;;; Generated autoloads from hm--html-menus/hm--html-keys.el
-
-;;;### (autoloads nil "hm--html-menu" "hm--html-menus/hm--html-menu.el" (12851 23562))
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "hm--html-menu" "hm--html-menus/hm--html-menu.el" (12983 26918))
 ;;; Generated autoloads from hm--html-menus/hm--html-menu.el
 
-;;;### (autoloads (hm--html-minor-mode hm--html-mode) "hm--html-mode" "hm--html-menus/hm--html-mode.el" (12851 23773))
+;;;### (autoloads (hm--html-minor-mode hm--html-mode) "hm--html-mode" "hm--html-menus/hm--html-mode.el" (12983 26920))
 ;;; Generated autoloads from hm--html-menus/hm--html-mode.el
 
 (autoload 'hm--html-mode "hm--html-mode" "\
@@ -3283,13 +3360,13 @@
 ;;;***
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "hm--html" "hm--html-menus/hm--html.el" (12861 21554))
+
+;;;### (autoloads nil "hm--html" "hm--html-menus/hm--html.el" (12983 26919))
 ;;; Generated autoloads from hm--html-menus/hm--html.el
-
-;;;### (autoloads (html-view-get-display html-view-goto-url html-view-view-buffer html-view-view-file html-view-start-mosaic) "html-view" "hm--html-menus/html-view.el" (12318 54261))
+
+;;;***
+
+;;;### (autoloads (html-view-get-display html-view-goto-url html-view-view-buffer html-view-view-file html-view-start-mosaic) "html-view" "hm--html-menus/html-view.el" (12983 26188))
 ;;; Generated autoloads from hm--html-menus/html-view.el
 
 (autoload 'html-view-start-mosaic "html-view" "\
@@ -3312,72 +3389,80 @@
 
 ;;;***
 
-;;;### (autoloads nil "internal-drag-and-drop" "hm--html-menus/internal-drag-and-drop.el" (12851 23775))
+;;;### (autoloads nil "internal-drag-and-drop" "hm--html-menus/internal-drag-and-drop.el" (12983 26920))
 ;;; Generated autoloads from hm--html-menus/internal-drag-and-drop.el
 
 ;;;***
 
-;;;### (autoloads nil "tmpl-minor-mode" "hm--html-menus/tmpl-minor-mode.el" (12852 6069))
+;;;### (autoloads nil "tmpl-minor-mode" "hm--html-menus/tmpl-minor-mode.el" (12983 26919))
 ;;; Generated autoloads from hm--html-menus/tmpl-minor-mode.el
 
 ;;;***
 
-;;;### (autoloads nil "hact" "hyperbole/hact.el" (12178 36891))
+;;;### (autoloads nil "hact" "hyperbole/hact.el" (12983 26155))
 ;;; Generated autoloads from hyperbole/hact.el
-
-;;;### (autoloads nil "hactypes" "hyperbole/hactypes.el" (12558 60986))
+
+;;;***
+
+;;;### (autoloads nil "hactypes" "hyperbole/hactypes.el" (12983 26155))
 ;;; Generated autoloads from hyperbole/hactypes.el
 
 ;;;***
 
-;;;### (autoloads nil "hargs" "hyperbole/hargs.el" (12384 54290))
+;;;### (autoloads nil "hargs" "hyperbole/hargs.el" (12983 26156))
 ;;; Generated autoloads from hyperbole/hargs.el
-
-;;;### (autoloads nil "hbdata" "hyperbole/hbdata.el" (12376 19673))
+
+;;;***
+
+;;;### (autoloads nil "hbdata" "hyperbole/hbdata.el" (12983 26158))
 ;;; Generated autoloads from hyperbole/hbdata.el
 
 ;;;***
 
-;;;### (autoloads nil "hbmap" "hyperbole/hbmap.el" (12558 60987))
+;;;### (autoloads nil "hbmap" "hyperbole/hbmap.el" (12983 26156))
 ;;; Generated autoloads from hyperbole/hbmap.el
 
 ;;;***
 
-;;;### (autoloads nil "hbut" "hyperbole/hbut.el" (12558 60988))
+;;;### (autoloads nil "hbut" "hyperbole/hbut.el" (12983 26156))
 ;;; Generated autoloads from hyperbole/hbut.el
 
 ;;;***
 
-;;;### (autoloads nil "hgnus" "hyperbole/hgnus.el" (12558 60988))
+;;;### (autoloads nil "hgnus" "hyperbole/hgnus.el" (12983 26156))
 ;;; Generated autoloads from hyperbole/hgnus.el
-
-;;;### (autoloads nil "hhist" "hyperbole/hhist.el" (12376 19675))
+
+;;;***
+
+;;;### (autoloads nil "hhist" "hyperbole/hhist.el" (12983 26159))
 ;;; Generated autoloads from hyperbole/hhist.el
 
 ;;;***
 
-;;;### (autoloads nil "hib-doc-id" "hyperbole/hib-doc-id.el" (12376 19675))
+;;;### (autoloads nil "hib-doc-id" "hyperbole/hib-doc-id.el" (12983 26159))
 ;;; Generated autoloads from hyperbole/hib-doc-id.el
 
 ;;;***
 
-;;;### (autoloads nil "hib-kbd" "hyperbole/hib-kbd.el" (12558 60988))
+;;;### (autoloads nil "hib-kbd" "hyperbole/hib-kbd.el" (12983 26158))
 ;;; Generated autoloads from hyperbole/hib-kbd.el
 
 ;;;***
 
-;;;### (autoloads nil "hibtypes" "hyperbole/hibtypes.el" (12558 60986))
+;;;### (autoloads nil "hibtypes" "hyperbole/hibtypes.el" (12983 26159))
 ;;; Generated autoloads from hyperbole/hibtypes.el
 
 ;;;***
 
-;;;### (autoloads nil "hinit" "hyperbole/hinit.el" (12558 60989))
+;;;### (autoloads nil "hinit" "hyperbole/hinit.el" (12983 26160))
 ;;; Generated autoloads from hyperbole/hinit.el
-
-;;;### (autoloads nil "hlvar" "hyperbole/hlvar.el" (12376 19677))
+
+;;;***
+
+;;;### (autoloads nil "hlvar" "hyperbole/hlvar.el" (12983 26160))
 ;;; Generated autoloads from hyperbole/hlvar.el
 
-;;;### (autoloads (hmail:compose) "hmail" "hyperbole/hmail.el" (12558 60989))
+;;;### (autoloads (hmail:compose) "hmail" "hyperbole/hmail.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/hmail.el
 
 (autoload 'hmail:compose "hmail" "\
@@ -3385,16 +3470,18 @@
 Optional SUBJECT and HELP message may also be given." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "hmh" "hyperbole/hmh.el" (12376 19677))
+
+;;;***
+
+;;;### (autoloads nil "hmh" "hyperbole/hmh.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/hmh.el
 
 ;;;***
 
-;;;### (autoloads nil "hmoccur" "hyperbole/hmoccur.el" (12376 19678))
+;;;### (autoloads nil "hmoccur" "hyperbole/hmoccur.el" (12983 26162))
 ;;; Generated autoloads from hyperbole/hmoccur.el
 
-;;;### (autoloads (Info-handle-in-note smart-info-assist smart-info) "hmous-info" "hyperbole/hmous-info.el" (12558 60990))
+;;;### (autoloads (Info-handle-in-note smart-info-assist smart-info) "hmous-info" "hyperbole/hmous-info.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/hmous-info.el
 
 (autoload 'smart-info "hmous-info" "\
@@ -3439,31 +3526,33 @@
 cross-reference and returns t; otherwise returns nil." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "hmouse-drv" "hyperbole/hmouse-drv.el" (12558 60992))
+
+;;;***
+
+;;;### (autoloads nil "hmouse-drv" "hyperbole/hmouse-drv.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/hmouse-drv.el
 
 ;;;***
 
-;;;### (autoloads nil "hmouse-key" "hyperbole/hmouse-key.el" (12384 54293))
+;;;### (autoloads nil "hmouse-key" "hyperbole/hmouse-key.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/hmouse-key.el
-
-;;;### (autoloads nil "hmouse-mod" "hyperbole/hmouse-mod.el" (12376 19680))
+
+;;;***
+
+;;;### (autoloads nil "hmouse-mod" "hyperbole/hmouse-mod.el" (12983 26165))
 ;;; Generated autoloads from hyperbole/hmouse-mod.el
 
 ;;;***
 
-;;;### (autoloads nil "hmouse-reg" "hyperbole/hmouse-reg.el" (12384 54294))
+;;;### (autoloads nil "hmouse-reg" "hyperbole/hmouse-reg.el" (12983 26165))
 ;;; Generated autoloads from hyperbole/hmouse-reg.el
 
 ;;;***
 
-;;;### (autoloads nil "hmouse-sh" "hyperbole/hmouse-sh.el" (12384 54294))
+;;;### (autoloads nil "hmouse-sh" "hyperbole/hmouse-sh.el" (12983 26165))
 ;;; Generated autoloads from hyperbole/hmouse-sh.el
-
-;;;***
-
-;;;### (autoloads (smart-tags-file smart-tags-file-path smart-objc-oobr smart-objc smart-fortran-at-tag-p smart-c++-oobr smart-c++ smart-c-at-tag-p smart-asm-at-tag-p) "hmouse-tag" "hyperbole/hmouse-tag.el" (12384 54295))
+
+;;;### (autoloads (smart-tags-file smart-tags-file-path smart-objc-oobr smart-objc smart-fortran-at-tag-p smart-c++-oobr smart-c++ smart-c-at-tag-p smart-asm-at-tag-p) "hmouse-tag" "hyperbole/hmouse-tag.el" (12983 26165))
 ;;; Generated autoloads from hyperbole/hmouse-tag.el
 
 (autoload 'smart-asm-at-tag-p "hmouse-tag" "\
@@ -3554,91 +3643,103 @@
 Return appropriate tags file name for CURR-FILENAME or 'tags-file-name'." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "hpath" "hyperbole/hpath.el" (12558 60991))
+
+;;;***
+
+;;;### (autoloads nil "hpath" "hyperbole/hpath.el" (12983 26165))
 ;;; Generated autoloads from hyperbole/hpath.el
-
-;;;### (autoloads nil "hrmail" "hyperbole/hrmail.el" (12376 19683))
+
+;;;***
+
+;;;### (autoloads nil "hrmail" "hyperbole/hrmail.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hrmail.el
 
 ;;;***
 
-;;;### (autoloads nil "hsite-ex" "hyperbole/hsite-ex.el" (12558 60993))
+;;;### (autoloads nil "hsite-ex" "hyperbole/hsite-ex.el" (12983 26166))
 ;;; Generated autoloads from hyperbole/hsite-ex.el
 
 ;;;***
 
-;;;### (autoloads nil "hsite" "hyperbole/hsite.el" (12558 61003))
+;;;### (autoloads nil "hsite" "hyperbole/hsite.el" (12983 26175))
 ;;; Generated autoloads from hyperbole/hsite.el
-
-;;;### (autoloads nil "hsmail" "hyperbole/hsmail.el" (12376 19682))
+
+;;;***
+
+;;;### (autoloads nil "hsmail" "hyperbole/hsmail.el" (12983 26166))
 ;;; Generated autoloads from hyperbole/hsmail.el
 
 ;;;***
 
-;;;### (autoloads nil "hsys-hbase" "hyperbole/hsys-hbase.el" (12558 60994))
+;;;### (autoloads nil "hsys-hbase" "hyperbole/hsys-hbase.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hsys-hbase.el
 
 ;;;***
 
-;;;### (autoloads nil "hsys-w3" "hyperbole/hsys-w3.el" (12558 60995))
+;;;### (autoloads nil "hsys-w3" "hyperbole/hsys-w3.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hsys-w3.el
 
 ;;;***
 
-;;;### (autoloads nil "hsys-wais" "hyperbole/hsys-wais.el" (12558 60995))
+;;;### (autoloads nil "hsys-wais" "hyperbole/hsys-wais.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hsys-wais.el
-
-;;;### (autoloads nil "hsys-www" "hyperbole/hsys-www.el" (12376 19685))
+
+;;;***
+
+;;;### (autoloads nil "hsys-www" "hyperbole/hsys-www.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hsys-www.el
 
 ;;;***
 
-;;;### (autoloads nil "htz" "hyperbole/htz.el" (12376 19685))
+;;;### (autoloads nil "htz" "hyperbole/htz.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/htz.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-em19-b" "hyperbole/hui-em19-b.el" (12558 60996))
+;;;### (autoloads nil "hui-em19-b" "hyperbole/hui-em19-b.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hui-em19-b.el
-
-;;;### (autoloads nil "hui-ep-but" "hyperbole/hui-ep-but.el" (12376 19685))
+
+;;;***
+
+;;;### (autoloads nil "hui-ep-but" "hyperbole/hui-ep-but.el" (12983 26167))
 ;;; Generated autoloads from hyperbole/hui-ep-but.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-epV4-b" "hyperbole/hui-epV4-b.el" (12376 19687))
+;;;### (autoloads nil "hui-epV4-b" "hyperbole/hui-epV4-b.el" (12983 26170))
 ;;; Generated autoloads from hyperbole/hui-epV4-b.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-menu" "hyperbole/hui-menu.el" (12558 61004))
+;;;### (autoloads nil "hui-menu" "hyperbole/hui-menu.el" (12983 26175))
 ;;; Generated autoloads from hyperbole/hui-menu.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-mini" "hyperbole/hui-mini.el" (12558 61074))
+;;;### (autoloads nil "hui-mini" "hyperbole/hui-mini.el" (12983 26171))
 ;;; Generated autoloads from hyperbole/hui-mini.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-mouse" "hyperbole/hui-mouse.el" (12558 60994))
+;;;### (autoloads nil "hui-mouse" "hyperbole/hui-mouse.el" (12983 26168))
 ;;; Generated autoloads from hyperbole/hui-mouse.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-window" "hyperbole/hui-window.el" (12558 60997))
+;;;### (autoloads nil "hui-window" "hyperbole/hui-window.el" (12983 26171))
 ;;; Generated autoloads from hyperbole/hui-window.el
 
 ;;;***
 
-;;;### (autoloads nil "hui-xe-but" "hyperbole/hui-xe-but.el" (12558 60998))
+;;;### (autoloads nil "hui-xe-but" "hyperbole/hui-xe-but.el" (12983 26170))
 ;;; Generated autoloads from hyperbole/hui-xe-but.el
-
-;;;### (autoloads nil "hui" "hyperbole/hui.el" (12376 19688))
+
+;;;***
+
+;;;### (autoloads nil "hui" "hyperbole/hui.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/hui.el
 
-;;;### (autoloads (var:append) "hvar" "hyperbole/hvar.el" (12376 19689))
+;;;### (autoloads (var:append) "hvar" "hyperbole/hvar.el" (12983 26163))
 ;;; Generated autoloads from hyperbole/hvar.el
 
 (autoload 'var:append "hvar" "\
@@ -3647,14 +3748,18 @@
 Often used to append to 'hook' variables." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "hversion" "hyperbole/hversion.el" (12558 60998))
+
+;;;***
+
+;;;### (autoloads nil "hversion" "hyperbole/hversion.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/hversion.el
-
-;;;### (autoloads nil "hvm" "hyperbole/hvm.el" (12376 19689))
+
+;;;***
+
+;;;### (autoloads nil "hvm" "hyperbole/hvm.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/hvm.el
 
-;;;### (autoloads (hypb:configuration) "hypb" "hyperbole/hypb.el" (12558 61000))
+;;;### (autoloads (hypb:configuration) "hypb" "hyperbole/hypb.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/hypb.el
 
 (autoload 'hypb:configuration "hypb" "\
@@ -3662,7 +3767,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "hyperbole" "hyperbole/hyperbole.el" (12558 60999))
+;;;### (autoloads nil "hyperbole" "hyperbole/hyperbole.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/hyperbole.el
 
 (defvar action-key-url-function 'w3-fetch "\
@@ -3706,11 +3811,13 @@
    .aug  - imported as an Augment post-numbered outline.")
 
 ;;;***
-
-;;;### (autoloads nil "set" "hyperbole/set.el" (12376 19690))
+
+;;;***
+
+;;;### (autoloads nil "set" "hyperbole/set.el" (12983 26175))
 ;;; Generated autoloads from hyperbole/set.el
 
-;;;### (autoloads (wconfig-yank-pop wconfig-ring-save wconfig-delete-pop wconfig-restore-by-name wconfig-delete-by-name wconfig-add-by-name) "wconfig" "hyperbole/wconfig.el" (12376 19691))
+;;;### (autoloads (wconfig-yank-pop wconfig-ring-save wconfig-delete-pop wconfig-restore-by-name wconfig-delete-by-name wconfig-add-by-name) "wconfig" "hyperbole/wconfig.el" (12983 26175))
 ;;; Generated autoloads from hyperbole/wconfig.el
 
 (autoload 'wconfig-add-by-name "wconfig" "\
@@ -3742,7 +3849,7 @@
 
 ;;;***
 
-;;;### (autoloads (rolo-logic) "wrolo-logic" "hyperbole/wrolo-logic.el" (12376 19691))
+;;;### (autoloads (rolo-logic) "wrolo-logic" "hyperbole/wrolo-logic.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/wrolo-logic.el
 
 (autoload 'rolo-logic "wrolo-logic" "\
@@ -3758,13 +3865,13 @@
 FUNC that return non-nil." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "wrolo-menu" "hyperbole/wrolo-menu.el" (12558 61004))
+
+;;;***
+
+;;;### (autoloads nil "wrolo-menu" "hyperbole/wrolo-menu.el" (12983 26175))
 ;;; Generated autoloads from hyperbole/wrolo-menu.el
-
-;;;***
-
-;;;### (autoloads (rolo-yank rolo-sort rolo-kill rolo-grep rolo-fgrep rolo-edit rolo-display-matches rolo-add) "wrolo" "hyperbole/wrolo.el" (12558 61000))
+
+;;;### (autoloads (rolo-yank rolo-sort rolo-kill rolo-grep rolo-fgrep rolo-edit rolo-display-matches rolo-add) "wrolo" "hyperbole/wrolo.el" (12983 26173))
 ;;; Generated autoloads from hyperbole/wrolo.el
 
 (autoload 'rolo-add "wrolo" "\
@@ -3836,285 +3943,287 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "bridge" "ilisp/bridge.el" (12930 49948))
+
+;;;***
+
+;;;### (autoloads nil "bridge" "ilisp/bridge.el" (12983 27281))
 ;;; Generated autoloads from ilisp/bridge.el
 
 ;;;***
 
-;;;### (autoloads nil "comint-ipc" "ilisp/comint-ipc.el" (12930 51131))
+;;;### (autoloads nil "comint-ipc" "ilisp/comint-ipc.el" (12983 27282))
 ;;; Generated autoloads from ilisp/comint-ipc.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "comint-v18" "ilisp/comint-v18.el" (12930 51160))
+;;;### (autoloads nil "comint-v18" "ilisp/comint-v18.el" (12983 27282))
 ;;; Generated autoloads from ilisp/comint-v18.el
 
 ;;;***
 
-;;;### (autoloads nil "completer" "ilisp/completer.el" (12930 51342))
+;;;### (autoloads nil "completer" "ilisp/completer.el" (12983 27282))
 ;;; Generated autoloads from ilisp/completer.el
 
 ;;;***
 
-;;;### (autoloads nil "completer.new" "ilisp/completer.new.el" (12930 51637))
+;;;### (autoloads nil "completer.new" "ilisp/completer.new.el" (12983 27282))
 ;;; Generated autoloads from ilisp/completer.new.el
 
 ;;;***
 
-;;;### (autoloads nil "completer.no-fun" "ilisp/completer.no-fun.el" (12930 51677))
+;;;### (autoloads nil "completer.no-fun" "ilisp/completer.no-fun.el" (12983 27282))
 ;;; Generated autoloads from ilisp/completer.no-fun.el
 
 ;;;***
 
-;;;### (autoloads nil "ilcompat" "ilisp/ilcompat.el" (12930 49377))
+;;;### (autoloads nil "ilcompat" "ilisp/ilcompat.el" (12983 27283))
 ;;; Generated autoloads from ilisp/ilcompat.el
 
 ;;;***
 
-;;;### (autoloads nil "ilfsf18" "ilisp/ilfsf18.el" (12930 49388))
+;;;### (autoloads nil "ilfsf18" "ilisp/ilfsf18.el" (12983 27283))
 ;;; Generated autoloads from ilisp/ilfsf18.el
 
 ;;;***
 
-;;;### (autoloads nil "ilfsf19" "ilisp/ilfsf19.el" (12930 49394))
+;;;### (autoloads nil "ilfsf19" "ilisp/ilfsf19.el" (12983 27283))
 ;;; Generated autoloads from ilisp/ilfsf19.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-acl" "ilisp/ilisp-acl.el" (12930 49400))
+;;;### (autoloads nil "ilisp-acl" "ilisp/ilisp-acl.el" (12983 27283))
 ;;; Generated autoloads from ilisp/ilisp-acl.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-aut" "ilisp/ilisp-aut.el" (12930 49405))
+;;;### (autoloads nil "ilisp-aut" "ilisp/ilisp-aut.el" (12983 27283))
 ;;; Generated autoloads from ilisp/ilisp-aut.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-bat" "ilisp/ilisp-bat.el" (12930 49411))
+;;;### (autoloads nil "ilisp-bat" "ilisp/ilisp-bat.el" (12983 27284))
 ;;; Generated autoloads from ilisp/ilisp-bat.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-bug" "ilisp/ilisp-bug.el" (12930 49417))
+;;;### (autoloads nil "ilisp-bug" "ilisp/ilisp-bug.el" (12983 27284))
 ;;; Generated autoloads from ilisp/ilisp-bug.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-chs" "ilisp/ilisp-chs.el" (12930 49423))
+;;;### (autoloads nil "ilisp-chs" "ilisp/ilisp-chs.el" (12983 27284))
 ;;; Generated autoloads from ilisp/ilisp-chs.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-cl" "ilisp/ilisp-cl.el" (12930 49429))
+;;;### (autoloads nil "ilisp-cl" "ilisp/ilisp-cl.el" (12983 27284))
 ;;; Generated autoloads from ilisp/ilisp-cl.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-cmp" "ilisp/ilisp-cmp.el" (12930 49436))
+;;;### (autoloads nil "ilisp-cmp" "ilisp/ilisp-cmp.el" (12983 27284))
 ;;; Generated autoloads from ilisp/ilisp-cmp.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-cmt" "ilisp/ilisp-cmt.el" (12930 49442))
+;;;### (autoloads nil "ilisp-cmt" "ilisp/ilisp-cmt.el" (12983 27285))
 ;;; Generated autoloads from ilisp/ilisp-cmt.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-cmu" "ilisp/ilisp-cmu.el" (12930 49447))
+;;;### (autoloads nil "ilisp-cmu" "ilisp/ilisp-cmu.el" (12983 27285))
 ;;; Generated autoloads from ilisp/ilisp-cmu.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-cpat" "ilisp/ilisp-cpat.el" (12930 49453))
+;;;### (autoloads nil "ilisp-cpat" "ilisp/ilisp-cpat.el" (12983 27285))
 ;;; Generated autoloads from ilisp/ilisp-cpat.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-def" "ilisp/ilisp-def.el" (12930 49460))
+;;;### (autoloads nil "ilisp-def" "ilisp/ilisp-def.el" (12983 27285))
 ;;; Generated autoloads from ilisp/ilisp-def.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-dia" "ilisp/ilisp-dia.el" (12930 49466))
+;;;### (autoloads nil "ilisp-dia" "ilisp/ilisp-dia.el" (12983 27286))
 ;;; Generated autoloads from ilisp/ilisp-dia.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-doc" "ilisp/ilisp-doc.el" (12930 49473))
+;;;### (autoloads nil "ilisp-doc" "ilisp/ilisp-doc.el" (12983 27286))
 ;;; Generated autoloads from ilisp/ilisp-doc.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-el" "ilisp/ilisp-el.el" (12930 49479))
+;;;### (autoloads nil "ilisp-el" "ilisp/ilisp-el.el" (12983 27287))
 ;;; Generated autoloads from ilisp/ilisp-el.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-ext" "ilisp/ilisp-ext.el" (12930 49485))
+;;;### (autoloads nil "ilisp-ext" "ilisp/ilisp-ext.el" (12983 27287))
 ;;; Generated autoloads from ilisp/ilisp-ext.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-hi" "ilisp/ilisp-hi.el" (12930 49492))
+;;;### (autoloads nil "ilisp-hi" "ilisp/ilisp-hi.el" (12983 27287))
 ;;; Generated autoloads from ilisp/ilisp-hi.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-hlw" "ilisp/ilisp-hlw.el" (12930 49498))
+;;;### (autoloads nil "ilisp-hlw" "ilisp/ilisp-hlw.el" (12983 27287))
 ;;; Generated autoloads from ilisp/ilisp-hlw.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-hnd" "ilisp/ilisp-hnd.el" (12930 49503))
+;;;### (autoloads nil "ilisp-hnd" "ilisp/ilisp-hnd.el" (12983 27287))
 ;;; Generated autoloads from ilisp/ilisp-hnd.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-ind" "ilisp/ilisp-ind.el" (12930 49509))
+;;;### (autoloads nil "ilisp-ind" "ilisp/ilisp-ind.el" (12983 27288))
 ;;; Generated autoloads from ilisp/ilisp-ind.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-inp" "ilisp/ilisp-inp.el" (12930 49515))
+;;;### (autoloads nil "ilisp-inp" "ilisp/ilisp-inp.el" (12983 27288))
 ;;; Generated autoloads from ilisp/ilisp-inp.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-kcl" "ilisp/ilisp-kcl.el" (12930 49521))
+;;;### (autoloads nil "ilisp-kcl" "ilisp/ilisp-kcl.el" (12983 27288))
 ;;; Generated autoloads from ilisp/ilisp-kcl.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-key" "ilisp/ilisp-key.el" (12930 49527))
+;;;### (autoloads nil "ilisp-key" "ilisp/ilisp-key.el" (12983 27288))
 ;;; Generated autoloads from ilisp/ilisp-key.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-kil" "ilisp/ilisp-kil.el" (12930 49533))
+;;;### (autoloads nil "ilisp-kil" "ilisp/ilisp-kil.el" (12983 27288))
 ;;; Generated autoloads from ilisp/ilisp-kil.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-low" "ilisp/ilisp-low.el" (12930 49540))
+;;;### (autoloads nil "ilisp-low" "ilisp/ilisp-low.el" (12983 27288))
 ;;; Generated autoloads from ilisp/ilisp-low.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-luc" "ilisp/ilisp-luc.el" (12930 49549))
+;;;### (autoloads nil "ilisp-luc" "ilisp/ilisp-luc.el" (12983 27289))
 ;;; Generated autoloads from ilisp/ilisp-luc.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-mak" "ilisp/ilisp-mak.el" (12930 49555))
+;;;### (autoloads nil "ilisp-mak" "ilisp/ilisp-mak.el" (12983 27289))
 ;;; Generated autoloads from ilisp/ilisp-mak.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-menu" "ilisp/ilisp-menu.el" (12930 49561))
+;;;### (autoloads nil "ilisp-menu" "ilisp/ilisp-menu.el" (12983 27289))
 ;;; Generated autoloads from ilisp/ilisp-menu.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-mnb" "ilisp/ilisp-mnb.el" (12930 49567))
+;;;### (autoloads nil "ilisp-mnb" "ilisp/ilisp-mnb.el" (12983 27289))
 ;;; Generated autoloads from ilisp/ilisp-mnb.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-mod" "ilisp/ilisp-mod.el" (12930 49573))
+;;;### (autoloads nil "ilisp-mod" "ilisp/ilisp-mod.el" (12983 27289))
 ;;; Generated autoloads from ilisp/ilisp-mod.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-mov" "ilisp/ilisp-mov.el" (12930 49579))
+;;;### (autoloads nil "ilisp-mov" "ilisp/ilisp-mov.el" (12983 27289))
 ;;; Generated autoloads from ilisp/ilisp-mov.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-out" "ilisp/ilisp-out.el" (12976 40472))
+;;;### (autoloads nil "ilisp-out" "ilisp/ilisp-out.el" (12983 27890))
 ;;; Generated autoloads from ilisp/ilisp-out.el
-
-;;;### (autoloads nil "ilisp-prc" "ilisp/ilisp-prc.el" (12930 49354))
+
+;;;***
+
+;;;### (autoloads nil "ilisp-prc" "ilisp/ilisp-prc.el" (12983 27290))
 ;;; Generated autoloads from ilisp/ilisp-prc.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-prn" "ilisp/ilisp-prn.el" (12930 49340))
+;;;### (autoloads nil "ilisp-prn" "ilisp/ilisp-prn.el" (12983 27291))
 ;;; Generated autoloads from ilisp/ilisp-prn.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-rng" "ilisp/ilisp-rng.el" (12930 49593))
+;;;### (autoloads nil "ilisp-rng" "ilisp/ilisp-rng.el" (12983 27291))
 ;;; Generated autoloads from ilisp/ilisp-rng.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-s2c" "ilisp/ilisp-s2c.el" (12930 49599))
+;;;### (autoloads nil "ilisp-s2c" "ilisp/ilisp-s2c.el" (12983 27291))
 ;;; Generated autoloads from ilisp/ilisp-s2c.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-sch" "ilisp/ilisp-sch.el" (12930 49605))
+;;;### (autoloads nil "ilisp-sch" "ilisp/ilisp-sch.el" (12983 27292))
 ;;; Generated autoloads from ilisp/ilisp-sch.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-snd" "ilisp/ilisp-snd.el" (12930 49117))
+;;;### (autoloads nil "ilisp-snd" "ilisp/ilisp-snd.el" (12983 27292))
 ;;; Generated autoloads from ilisp/ilisp-snd.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-src" "ilisp/ilisp-src.el" (12930 49614))
+;;;### (autoloads nil "ilisp-src" "ilisp/ilisp-src.el" (12983 27292))
 ;;; Generated autoloads from ilisp/ilisp-src.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-sym" "ilisp/ilisp-sym.el" (12930 49620))
+;;;### (autoloads nil "ilisp-sym" "ilisp/ilisp-sym.el" (12983 27292))
 ;;; Generated autoloads from ilisp/ilisp-sym.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-utl" "ilisp/ilisp-utl.el" (12930 49625))
+;;;### (autoloads nil "ilisp-utl" "ilisp/ilisp-utl.el" (12983 27292))
 ;;; Generated autoloads from ilisp/ilisp-utl.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-val" "ilisp/ilisp-val.el" (12930 49255))
+;;;### (autoloads nil "ilisp-val" "ilisp/ilisp-val.el" (12983 27293))
 ;;; Generated autoloads from ilisp/ilisp-val.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-xfr" "ilisp/ilisp-xfr.el" (12930 49632))
+;;;### (autoloads nil "ilisp-xfr" "ilisp/ilisp-xfr.el" (12983 27293))
 ;;; Generated autoloads from ilisp/ilisp-xfr.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp-xls" "ilisp/ilisp-xls.el" (12930 51400))
+;;;### (autoloads nil "ilisp-xls" "ilisp/ilisp-xls.el" (12983 27293))
 ;;; Generated autoloads from ilisp/ilisp-xls.el
 
 ;;;***
 
-;;;### (autoloads nil "ilisp" "ilisp/ilisp.el" (12930 49230))
+;;;### (autoloads nil "ilisp" "ilisp/ilisp.el" (12983 27293))
 ;;; Generated autoloads from ilisp/ilisp.el
 
 ;;;***
 
-;;;### (autoloads nil "illuc19" "ilisp/illuc19.el" (12930 49638))
+;;;### (autoloads nil "illuc19" "ilisp/illuc19.el" (12983 27293))
 ;;; Generated autoloads from ilisp/illuc19.el
 
 ;;;***
 
-;;;### (autoloads nil "ilxemacs" "ilisp/ilxemacs.el" (12930 49644))
+;;;### (autoloads nil "ilxemacs" "ilisp/ilxemacs.el" (12983 27293))
 ;;; Generated autoloads from ilisp/ilxemacs.el
-
-;;;***
-
-;;;### (autoloads (iso-accents-mode) "iso-acc" "iso/iso-acc.el" (12913 18100))
+
+;;;### (autoloads (iso-accents-mode) "iso-acc" "iso/iso-acc.el" (12983 27394))
 ;;; Generated autoloads from iso/iso-acc.el
 
 (autoload 'iso-accents-mode "iso-acc" "\
@@ -4141,44 +4250,45 @@
 and a negative argument disables it." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "iso-ascii" "iso/iso-ascii.el" (12860 19463))
+
+;;;***
+
+;;;### (autoloads nil "iso-ascii" "iso/iso-ascii.el" (12983 26896))
 ;;; Generated autoloads from iso/iso-ascii.el
 
 ;;;***
 
-;;;### (autoloads nil "iso-cvt" "iso/iso-cvt.el" (12860 19464))
+;;;### (autoloads nil "iso-cvt" "iso/iso-cvt.el" (12983 26896))
 ;;; Generated autoloads from iso/iso-cvt.el
 
 ;;;***
 
-;;;### (autoloads nil "iso-insert" "iso/iso-insert.el" (12860 19465))
+;;;### (autoloads nil "iso-insert" "iso/iso-insert.el" (12983 26896))
 ;;; Generated autoloads from iso/iso-insert.el
 
 ;;;***
 
-;;;### (autoloads nil "iso-swed" "iso/iso-swed.el" (12860 19465))
+;;;### (autoloads nil "iso-swed" "iso/iso-swed.el" (12983 26896))
 ;;; Generated autoloads from iso/iso-swed.el
 
 ;;;***
 
-;;;### (autoloads nil "iso-syntax" "iso/iso-syntax.el" (12860 19466))
+;;;### (autoloads nil "iso-syntax" "iso/iso-syntax.el" (12983 26897))
 ;;; Generated autoloads from iso/iso-syntax.el
-
-;;;### (autoloads nil "iso8859-1" "iso/iso8859-1.el" (12376 19650))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "iso8859-1" "iso/iso8859-1.el" (12983 26141))
 ;;; Generated autoloads from iso/iso8859-1.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "swedish" "iso/swedish.el" (12860 19466))
+
+;;;### (autoloads nil "swedish" "iso/swedish.el" (12983 26897))
 ;;; Generated autoloads from iso/swedish.el
 
-;;;### (autoloads nil "site-start" "lisp/site-start.el" (12605 44813))
-;;; Generated autoloads from lisp/site-start.el
-
-;;;### (autoloads (mc-deactivate-passwd mc-install-write-mode mc-install-read-mode) "mailcrypt" "mailcrypt/mailcrypt.el" (12675 57176))
+;;;### (autoloads (mc-deactivate-passwd mc-install-write-mode mc-install-read-mode) "mailcrypt" "mailcrypt/mailcrypt.el" (12983 26147))
 ;;; Generated autoloads from mailcrypt/mailcrypt.el
 
 (autoload 'mc-install-read-mode "mailcrypt" nil t nil)
@@ -4190,7 +4300,7 @@
 
 ;;;***
 
-;;;### (autoloads (mc-pgp-fetch-key mc-scheme-pgp) "mc-pgp" "mailcrypt/mc-pgp.el" (12639 8702))
+;;;### (autoloads (mc-pgp-fetch-key mc-scheme-pgp) "mc-pgp" "mailcrypt/mc-pgp.el" (12983 26147))
 ;;; Generated autoloads from mailcrypt/mc-pgp.el
 
 (autoload 'mc-scheme-pgp "mc-pgp" nil nil nil)
@@ -4209,7 +4319,7 @@
 
 ;;;***
 
-;;;### (autoloads (mc-remailer-insert-response-block mc-remailer-encrypt-for-chain mc-remailer-insert-pseudonym) "mc-remail" "mailcrypt/mc-remail.el" (12639 8701))
+;;;### (autoloads (mc-remailer-insert-response-block mc-remailer-encrypt-for-chain mc-remailer-insert-pseudonym) "mc-remail" "mailcrypt/mc-remail.el" (12983 26147))
 ;;; Generated autoloads from mailcrypt/mc-remail.el
 
 (autoload 'mc-remailer-insert-pseudonym "mc-remail" "\
@@ -4231,7 +4341,7 @@
 
 ;;;***
 
-;;;### (autoloads (mc-mh-snarf-keys mc-mh-verify-signature mc-mh-decrypt-message mc-gnus-decrypt-message mc-gnus-snarf-keys mc-gnus-verify-signature mc-vm-snarf-keys mc-vm-decrypt-message mc-vm-verify-signature mc-rmail-decrypt-message mc-rmail-verify-signature mc-rmail-summary-snarf-keys mc-rmail-summary-decrypt-message mc-rmail-summary-verify-signature mc-snarf-keys mc-snarf mc-insert-public-key mc-verify-signature mc-verify mc-sign-message mc-sign mc-decrypt-message mc-decrypt mc-encrypt-message mc-encrypt mc-cleanup-recipient-headers) "mc-toplev" "mailcrypt/mc-toplev.el" (12860 19469))
+;;;### (autoloads (mc-mh-snarf-keys mc-mh-verify-signature mc-mh-decrypt-message mc-gnus-decrypt-message mc-gnus-snarf-keys mc-gnus-verify-signature mc-vm-snarf-keys mc-vm-decrypt-message mc-vm-verify-signature mc-rmail-decrypt-message mc-rmail-verify-signature mc-rmail-summary-snarf-keys mc-rmail-summary-decrypt-message mc-rmail-summary-verify-signature mc-snarf-keys mc-snarf mc-insert-public-key mc-verify-signature mc-verify mc-sign-message mc-sign mc-decrypt-message mc-decrypt mc-encrypt-message mc-encrypt mc-cleanup-recipient-headers) "mc-toplev" "mailcrypt/mc-toplev.el" (12983 26899))
 ;;; Generated autoloads from mailcrypt/mc-toplev.el
 
 (autoload 'mc-cleanup-recipient-headers "mc-toplev" nil nil nil)
@@ -4336,31 +4446,35 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "mel-b" "mel/mel-b.el" (12753 23908))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "mel-b" "mel/mel-b.el" (12996 50653))
 ;;; Generated autoloads from mel/mel-b.el
 
 ;;;***
 
-;;;### (autoloads nil "mel-g" "mel/mel-g.el" (12753 25709))
+;;;### (autoloads nil "mel-g" "mel/mel-g.el" (12996 50653))
 ;;; Generated autoloads from mel/mel-g.el
 
 ;;;***
 
-;;;### (autoloads nil "mel-q" "mel/mel-q.el" (12916 44214))
+;;;### (autoloads nil "mel-q" "mel/mel-q.el" (12996 50653))
 ;;; Generated autoloads from mel/mel-q.el
 
 ;;;***
 
-;;;### (autoloads nil "mel-u" "mel/mel-u.el" (12753 25469))
+;;;### (autoloads nil "mel-u" "mel/mel-u.el" (12996 50653))
 ;;; Generated autoloads from mel/mel-u.el
 
 ;;;***
 
-;;;### (autoloads nil "mel" "mel/mel.el" (12870 49280))
+;;;### (autoloads nil "mel" "mel/mel.el" (12996 50653))
 ;;; Generated autoloads from mel/mel.el
 
-;;;### (autoloads (mh-letter-mode mh-smail-other-window mh-smail-batch mh-smail) "mh-comp" "mh-e/mh-comp.el" (12657 40772))
+;;;### (autoloads (mh-letter-mode mh-smail-other-window mh-smail-batch mh-smail) "mh-comp" "mh-e/mh-comp.el" (12983 26188))
 ;;; Generated autoloads from mh-e/mh-comp.el
 
 (autoload 'mh-smail "mh-comp" "\
@@ -4418,7 +4532,7 @@
 
 ;;;***
 
-;;;### (autoloads (mh-version mh-rmail) "mh-e" "mh-e/mh-e.el" (12747 30157))
+;;;### (autoloads (mh-version mh-rmail) "mh-e" "mh-e/mh-e.el" (12983 26189))
 ;;; Generated autoloads from mh-e/mh-e.el
 
 (autoload 'mh-rmail "mh-e" "\
@@ -4430,27 +4544,33 @@
 Display version information about mh-e and the MH mail handling system." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "mh-funcs" "mh-e/mh-funcs.el" (12657 40774))
+
+;;;***
+
+;;;### (autoloads nil "mh-funcs" "mh-e/mh-funcs.el" (12983 26190))
 ;;; Generated autoloads from mh-e/mh-funcs.el
 
-;;;### (autoloads nil "mh-mime" "mh-e/mh-mime.el" (12657 40774))
+;;;### (autoloads nil "mh-mime" "mh-e/mh-mime.el" (12983 26189))
 ;;; Generated autoloads from mh-e/mh-mime.el
 
 (defvar mh-mime-content-types '(("text/plain") ("text/richtext") ("multipart/mixed") ("multipart/alternative") ("multipart/digest") ("multipart/parallel") ("message/rfc822") ("message/partial") ("message/external-body") ("application/octet-stream") ("application/postscript") ("image/jpeg") ("image/gif") ("audio/basic") ("video/mpeg")) "\
 Legal MIME content types.  See documentation for \\[mh-edit-mhn].")
 
 ;;;***
-
-;;;### (autoloads nil "mh-pick" "mh-e/mh-pick.el" (12657 40775))
+
+;;;***
+
+;;;### (autoloads nil "mh-pick" "mh-e/mh-pick.el" (12983 26190))
 ;;; Generated autoloads from mh-e/mh-pick.el
 
 ;;;***
 
-;;;### (autoloads nil "mh-seq" "mh-e/mh-seq.el" (12657 40776))
+;;;### (autoloads nil "mh-seq" "mh-e/mh-seq.el" (12983 26190))
 ;;; Generated autoloads from mh-e/mh-seq.el
-
-;;;### (autoloads nil "mh-utils" "mh-e/mh-utils.el" (12860 19470))
+
+;;;***
+
+;;;### (autoloads nil "mh-utils" "mh-e/mh-utils.el" (12983 26921))
 ;;; Generated autoloads from mh-e/mh-utils.el
 
 (put 'mh-progs 'risky-local-variable t)
@@ -4461,10 +4581,10 @@
 
 ;;;***
 
-;;;### (autoloads nil "abbrev" "modes/abbrev.el" (12860 19320))
+;;;### (autoloads nil "abbrev" "modes/abbrev.el" (12983 26782))
 ;;; Generated autoloads from modes/abbrev.el
 
-;;;### (autoloads (ada-make-filename-from-adaname ada-mode) "ada-mode" "modes/ada-mode.el" (12860 19346))
+;;;### (autoloads (ada-make-filename-from-adaname ada-mode) "ada-mode" "modes/ada-mode.el" (12983 26790))
 ;;; Generated autoloads from modes/ada-mode.el
 
 (autoload 'ada-mode "ada-mode" "\
@@ -4522,7 +4642,7 @@
 
 ;;;***
 
-;;;### (autoloads (archive-mode) "arc-mode" "modes/arc-mode.el" (12860 19347))
+;;;### (autoloads (archive-mode) "arc-mode" "modes/arc-mode.el" (12983 26795))
 ;;; Generated autoloads from modes/arc-mode.el
 
 (autoload 'archive-mode "arc-mode" "\
@@ -4540,7 +4660,7 @@
 
 ;;;***
 
-;;;### (autoloads (asm-mode) "asm-mode" "modes/asm-mode.el" (12860 19341))
+;;;### (autoloads (asm-mode) "asm-mode" "modes/asm-mode.el" (12983 26789))
 ;;; Generated autoloads from modes/asm-mode.el
 
 (autoload 'asm-mode "asm-mode" "\
@@ -4567,11 +4687,15 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "auto-show" "modes/auto-show.el" (12861 45384))
+
+;;;***
+
+;;;### (autoloads nil "auto-show" "modes/auto-show.el" (12983 26795))
 ;;; Generated autoloads from modes/auto-show.el
-
-;;;### (autoloads (awk-mode) "awk-mode" "modes/awk-mode.el" (12860 19319))
+
+;;;***
+
+;;;### (autoloads (awk-mode) "awk-mode" "modes/awk-mode.el" (12983 26781))
 ;;; Generated autoloads from modes/awk-mode.el
 
 (autoload 'awk-mode "awk-mode" "\
@@ -4587,10 +4711,10 @@
 
 ;;;***
 
-;;;### (autoloads nil "bib-mode" "modes/bib-mode.el" (12860 19320))
+;;;### (autoloads nil "bib-mode" "modes/bib-mode.el" (12983 26782))
 ;;; Generated autoloads from modes/bib-mode.el
 
-;;;### (autoloads (bibtex-mode) "bibtex" "modes/bibtex.el" (12851 23421))
+;;;### (autoloads (bibtex-mode) "bibtex" "modes/bibtex.el" (12983 26783))
 ;;; Generated autoloads from modes/bibtex.el
 
 (autoload 'bibtex-mode "bibtex" "\
@@ -4692,40 +4816,40 @@
 non-nil." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "c-comment" "modes/c-comment.el" (12690 2171))
+
+;;;***
+
+;;;### (autoloads nil "c-comment" "modes/c-comment.el" (12983 25948))
 ;;; Generated autoloads from modes/c-comment.el
 
 ;;;***
 
-;;;### (autoloads nil "c-fill" "modes/c-fill.el" (12677 32378))
+;;;### (autoloads nil "c-fill" "modes/c-fill.el" (12983 25949))
 ;;; Generated autoloads from modes/c-fill.el
 
 ;;;***
 
-;;;### (autoloads nil "c-style" "modes/c-style.el" (12906 6792))
+;;;### (autoloads nil "c-style" "modes/c-style.el" (12983 27305))
 ;;; Generated autoloads from modes/c-style.el
 
 ;;;***
 
-;;;### (autoloads nil "cc-compat" "modes/cc-compat.el" (12936 63268))
+;;;### (autoloads nil "cc-compat" "modes/cc-compat.el" (12983 27296))
 ;;; Generated autoloads from modes/cc-compat.el
 
 ;;;***
 
-;;;### (autoloads nil "cc-guess" "modes/cc-guess.el" (12936 63329))
+;;;### (autoloads nil "cc-guess" "modes/cc-guess.el" (12983 27297))
 ;;; Generated autoloads from modes/cc-guess.el
 
 ;;;***
 
-;;;### (autoloads nil "cc-lobotomy" "modes/cc-lobotomy.el" (12936 63305))
+;;;### (autoloads nil "cc-lobotomy" "modes/cc-lobotomy.el" (12983 27304))
 ;;; Generated autoloads from modes/cc-lobotomy.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads (c-set-style java-mode objc-mode c++-mode c-mode) "cc-mode" "modes/cc-mode.el" (12978 36702))
+
+;;;### (autoloads (c-set-style java-mode objc-mode c++-mode c-mode) "cc-mode" "modes/cc-mode.el" (12983 27896))
 ;;; Generated autoloads from modes/cc-mode.el
 
 (autoload 'c-mode "cc-mode" "\
@@ -4807,14 +4931,14 @@
 
 ;;;***
 
-;;;### (autoloads (common-lisp-indent-function) "cl-indent" "modes/cl-indent.el" (12860 19322))
+;;;### (autoloads (common-lisp-indent-function) "cl-indent" "modes/cl-indent.el" (12983 26784))
 ;;; Generated autoloads from modes/cl-indent.el
 
 (autoload 'common-lisp-indent-function "cl-indent" nil nil nil)
 
 ;;;***
 
-;;;### (autoloads (c-macro-expand) "cmacexp" "modes/cmacexp.el" (12860 19323))
+;;;### (autoloads (c-macro-expand) "cmacexp" "modes/cmacexp.el" (12983 26784))
 ;;; Generated autoloads from modes/cmacexp.el
 
 (autoload 'c-macro-expand "cmacexp" "\
@@ -4834,11 +4958,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "cperl-mode" "modes/cperl-mode.el" (12947 52528))
+
+;;;***
+
+;;;### (autoloads nil "cperl-mode" "modes/cperl-mode.el" (12983 27305))
 ;;; Generated autoloads from modes/cperl-mode.el
 
-;;;### (autoloads (eiffel-mode) "eiffel3" "modes/eiffel3.el" (12975 20283))
+;;;### (autoloads (eiffel-mode) "eiffel3" "modes/eiffel3.el" (12983 27899))
 ;;; Generated autoloads from modes/eiffel3.el
 
 (autoload 'eiffel-mode "eiffel3" "\
@@ -4846,7 +4972,7 @@
 
 ;;;***
 
-;;;### (autoloads (enriched-decode enriched-encode enriched-mode) "enriched" "modes/enriched.el" (12860 19332))
+;;;### (autoloads (enriched-decode enriched-encode enriched-mode) "enriched" "modes/enriched.el" (12983 26795))
 ;;; Generated autoloads from modes/enriched.el
 
 (autoload 'enriched-mode "enriched" "\
@@ -4868,7 +4994,7 @@
 
 ;;;***
 
-;;;### (autoloads (executable-self-display executable-set-magic) "executable" "modes/executable.el" (12860 38202))
+;;;### (autoloads (executable-self-display executable-set-magic) "executable" "modes/executable.el" (12983 26797))
 ;;; Generated autoloads from modes/executable.el
 
 (autoload 'executable-set-magic "executable" "\
@@ -4884,7 +5010,7 @@
 
 ;;;***
 
-;;;### (autoloads (f90-mode) "f90" "modes/f90.el" (12860 19341))
+;;;### (autoloads (f90-mode) "f90" "modes/f90.el" (12983 26787))
 ;;; Generated autoloads from modes/f90.el
 
 (autoload 'f90-mode "f90" "\
@@ -4948,7 +5074,7 @@
 
 ;;;***
 
-;;;### (autoloads (follow-delete-other-windows-and-split follow-mode turn-off-follow-mode turn-on-follow-mode) "follow" "modes/follow.el" (12860 19352))
+;;;### (autoloads (follow-delete-other-windows-and-split follow-mode turn-off-follow-mode turn-on-follow-mode) "follow" "modes/follow.el" (12983 26794))
 ;;; Generated autoloads from modes/follow.el
 
 (add-minor-mode 'follow-mode nil 'follow-mode-map)
@@ -5015,11 +5141,13 @@
     (global-set-key [f7] 'follow-delete-other-windows-and-split)" t nil)
 
 ;;;***
-
-;;;### (autoloads nil "fortran-misc" "modes/fortran-misc.el" (12376 19458))
+
+;;;***
+
+;;;### (autoloads nil "fortran-misc" "modes/fortran-misc.el" (12983 25962))
 ;;; Generated autoloads from modes/fortran-misc.el
 
-;;;### (autoloads (fortran-mode) "fortran" "modes/fortran.el" (12860 19328))
+;;;### (autoloads (fortran-mode) "fortran" "modes/fortran.el" (12991 6099))
 ;;; Generated autoloads from modes/fortran.el
 
 (defvar fortran-tab-mode-default nil "\
@@ -5101,7 +5229,7 @@
 
 ;;;***
 
-;;;### (autoloads (hide-ifdef-mode) "hideif" "modes/hideif.el" (12860 19330))
+;;;### (autoloads (hide-ifdef-mode) "hideif" "modes/hideif.el" (12983 26784))
 ;;; Generated autoloads from modes/hideif.el
 
 (add-minor-mode 'hide-ifdef-mode " Ifdef")
@@ -5149,7 +5277,7 @@
 
 ;;;***
 
-;;;### (autoloads (hs-minor-mode hs-hide-block hs-hide-all) "hideshow" "modes/hideshow.el" (12860 19348))
+;;;### (autoloads (hs-minor-mode hs-hide-block hs-hide-all) "hideshow" "modes/hideshow.el" (12983 26791))
 ;;; Generated autoloads from modes/hideshow.el
 
 (defvar hs-minor-mode nil "\
@@ -5182,7 +5310,7 @@
 
 ;;;***
 
-;;;### (autoloads (icon-mode) "icon" "modes/icon.el" (12860 19325))
+;;;### (autoloads (icon-mode) "icon" "modes/icon.el" (12983 26784))
 ;;; Generated autoloads from modes/icon.el
 
 (autoload 'icon-mode "icon" "\
@@ -5220,7 +5348,7 @@
 
 ;;;***
 
-;;;### (autoloads (imenu imenu-add-to-menubar) "imenu" "modes/imenu.el" (12876 17607))
+;;;### (autoloads (imenu imenu-add-to-menubar) "imenu" "modes/imenu.el" (12983 27308))
 ;;; Generated autoloads from modes/imenu.el
 
 (defvar imenu-generic-expression nil "\
@@ -5264,11 +5392,11 @@
 
 ;;;***
 
-;;;### (autoloads (ksh-mode) "ksh-mode" "modes/ksh-mode.el" (12860 19340))
+;;;### (autoloads (ksh-mode) "ksh-mode" "modes/ksh-mode.el" (12983 26794))
 ;;; Generated autoloads from modes/ksh-mode.el
 
 (autoload 'ksh-mode "ksh-mode" "\
-ksh-mode $Revision: 1.1.1.4 $ - Major mode for editing (Bourne, Korn or Bourne again)
+ksh-mode $Revision: 1.2 $ - Major mode for editing (Bourne, Korn or Bourne again)
 shell scripts.
 Special key bindings and commands:
 \\{ksh-mode-map}
@@ -5380,21 +5508,25 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "lisp-mnt" "modes/lisp-mnt.el" (12860 19343))
+
+;;;***
+
+;;;### (autoloads nil "lisp-mnt" "modes/lisp-mnt.el" (12983 26794))
 ;;; Generated autoloads from modes/lisp-mnt.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "lisp-mode" "modes/lisp-mode.el" (12926 33284))
+;;;### (autoloads nil "lisp-mode" "modes/lisp-mode.el" (12983 27298))
 ;;; Generated autoloads from modes/lisp-mode.el
-
-;;;### (autoloads nil "list-mode" "modes/list-mode.el" (12851 27167))
+
+;;;***
+
+;;;### (autoloads nil "list-mode" "modes/list-mode.el" (12983 26790))
 ;;; Generated autoloads from modes/list-mode.el
 
-;;;### (autoloads (m4-mode) "m4-mode" "modes/m4-mode.el" (12949 7770))
+;;;### (autoloads (m4-mode) "m4-mode" "modes/m4-mode.el" (12983 27309))
 ;;; Generated autoloads from modes/m4-mode.el
 
 (autoload 'm4-mode "m4-mode" "\
@@ -5404,7 +5536,30 @@
 
 ;;;***
 
-;;;### (autoloads (makefile-mode) "make-mode" "modes/make-mode.el" (12860 19318))
+;;;### (autoloads (define-mail-alias build-mail-aliases mail-aliases-setup) "mail-abbrevs" "modes/mail-abbrevs.el" (12996 11548))
+;;; Generated autoloads from modes/mail-abbrevs.el
+
+(defvar mail-abbrev-mailrc-file nil "\
+Name of file with mail aliases.   If nil, ~/.mailrc is used.")
+
+(defvar mail-aliases nil "\
+Word-abbrev table of mail address aliases.
+If this is nil, it means the aliases have not yet been initialized and
+should be read from the .mailrc file.  (This is distinct from there being
+no aliases, which is represented by this being a table with no entries.)")
+
+(autoload 'mail-aliases-setup "mail-abbrevs" nil nil nil)
+
+(autoload 'build-mail-aliases "mail-abbrevs" "\
+Read mail aliases from .mailrc and set mail-aliases." nil nil)
+
+(autoload 'define-mail-alias "mail-abbrevs" "\
+Define NAME as a mail-alias that translates to DEFINITION.
+If DEFINITION contains multiple addresses, separate them with commas." t nil)
+
+;;;***
+
+;;;### (autoloads (makefile-mode) "make-mode" "modes/make-mode.el" (12983 26781))
 ;;; Generated autoloads from modes/make-mode.el
 
 (autoload 'makefile-mode "make-mode" "\
@@ -5482,39 +5637,18 @@
    at the beginning of a line in Makefile mode." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "old-c++-mode" "modes/old-c++-mode.el" (12376 19469))
+
+;;;***
+
+;;;### (autoloads nil "old-c++-mode" "modes/old-c++-mode.el" (12983 25971))
 ;;; Generated autoloads from modes/old-c++-mode.el
 
 ;;;***
 
-;;;### (autoloads nil "old-c-mode" "modes/old-c-mode.el" (12546 50448))
+;;;### (autoloads nil "old-c-mode" "modes/old-c-mode.el" (12983 25970))
 ;;; Generated autoloads from modes/old-c-mode.el
 
-;;;### (autoloads (define-mail-alias build-mail-aliases mail-aliases-setup) "mail-abbrevs" "modes/mail-abbrevs.el" (12928 50037))
-;;; Generated autoloads from modes/mail-abbrevs.el
-
-(defvar mail-abbrev-mailrc-file nil "\
-Name of file with mail aliases.   If nil, ~/.mailrc is used.")
-
-(defvar mail-aliases nil "\
-Word-abbrev table of mail address aliases.
-If this is nil, it means the aliases have not yet been initialized and
-should be read from the .mailrc file.  (This is distinct from there being
-no aliases, which is represented by this being a table with no entries.)")
-
-(autoload 'mail-aliases-setup "mail-abbrevs" nil nil nil)
-
-(autoload 'build-mail-aliases "mail-abbrevs" "\
-Read mail aliases from .mailrc and set mail-aliases." nil nil)
-
-(autoload 'define-mail-alias "mail-abbrevs" "\
-Define NAME as a mail-alias that translates to DEFINITION.
-If DEFINITION contains multiple addresses, separate them with commas." t nil)
-
-;;;***
-
-;;;### (autoloads (modula-2-mode) "modula2" "modes/modula2.el" (12860 19331))
+;;;### (autoloads (modula-2-mode) "modula2" "modes/modula2.el" (12983 26786))
 ;;; Generated autoloads from modes/modula2.el
 
 (autoload 'modula-2-mode "modula2" "\
@@ -5543,7 +5677,7 @@
 
 ;;;***
 
-;;;### (autoloads (electric-nroff-mode nroff-mode) "nroff-mode" "modes/nroff-mode.el" (12860 19335))
+;;;### (autoloads (electric-nroff-mode nroff-mode) "nroff-mode" "modes/nroff-mode.el" (12983 26788))
 ;;; Generated autoloads from modes/nroff-mode.el
 
 (autoload 'nroff-mode "nroff-mode" "\
@@ -5567,7 +5701,7 @@
 
 ;;;***
 
-;;;### (autoloads (outl-mouse-minor-mode outl-mouse-mode) "outl-mouse" "modes/outl-mouse.el" (12376 19464))
+;;;### (autoloads (outl-mouse-minor-mode outl-mouse-mode) "outl-mouse" "modes/outl-mouse.el" (12988 32990))
 ;;; Generated autoloads from modes/outl-mouse.el
 
 (autoload 'outl-mouse-mode "outl-mouse" "\
@@ -5578,7 +5712,7 @@
 
 ;;;***
 
-;;;### (autoloads (outline-minor-mode outline-mode) "outline" "modes/outline.el" (12860 19322))
+;;;### (autoloads (outline-minor-mode outline-mode) "outline" "modes/outline.el" (12983 26783))
 ;;; Generated autoloads from modes/outline.el
 
 (defvar outline-minor-mode nil "\
@@ -5637,7 +5771,7 @@
 
 ;;;***
 
-;;;### (autoloads (pascal-mode) "pascal" "modes/pascal.el" (12698 33540))
+;;;### (autoloads (pascal-mode) "pascal" "modes/pascal.el" (12983 25967))
 ;;; Generated autoloads from modes/pascal.el
 
 (autoload 'pascal-mode "pascal" "\
@@ -5685,7 +5819,7 @@
 
 ;;;***
 
-;;;### (autoloads (perl-mode) "perl-mode" "modes/perl-mode.el" (12573 5998))
+;;;### (autoloads (perl-mode) "perl-mode" "modes/perl-mode.el" (12983 25954))
 ;;; Generated autoloads from modes/perl-mode.el
 
 (autoload 'perl-mode "perl-mode" "\
@@ -5736,7 +5870,7 @@
 
 ;;;***
 
-;;;### (autoloads (picture-mode) "picture" "modes/picture.el" (12639 8578))
+;;;### (autoloads (picture-mode) "picture" "modes/picture.el" (12983 25958))
 ;;; Generated autoloads from modes/picture.el
 
 (autoload 'picture-mode "picture" "\
@@ -5800,7 +5934,7 @@
 
 ;;;***
 
-;;;### (autoloads (postscript-mode) "postscript" "modes/postscript.el" (12558 60895))
+;;;### (autoloads (postscript-mode) "postscript" "modes/postscript.el" (12983 25958))
 ;;; Generated autoloads from modes/postscript.el
 
 (autoload 'postscript-mode "postscript" "\
@@ -5823,7 +5957,7 @@
 
 ;;;***
 
-;;;### (autoloads (run-prolog inferior-prolog-mode prolog-mode) "prolog" "modes/prolog.el" (12860 19336))
+;;;### (autoloads (run-prolog inferior-prolog-mode prolog-mode) "prolog" "modes/prolog.el" (12983 26789))
 ;;; Generated autoloads from modes/prolog.el
 
 (autoload 'prolog-mode "prolog" "\
@@ -5864,7 +5998,7 @@
 
 ;;;***
 
-;;;### (autoloads (py-shell python-mode) "python-mode" "modes/python-mode.el" (12912 14823))
+;;;### (autoloads (py-shell python-mode) "python-mode" "modes/python-mode.el" (12983 27308))
 ;;; Generated autoloads from modes/python-mode.el
 
 (eval-when-compile (condition-case nil (progn (require 'cl) (require 'imenu)) (error nil)))
@@ -5919,7 +6053,7 @@
 
 ;;;***
 
-;;;### (autoloads (rexx-mode) "rexx-mode" "modes/rexx-mode.el" (12558 60898))
+;;;### (autoloads (rexx-mode) "rexx-mode" "modes/rexx-mode.el" (12983 25971))
 ;;; Generated autoloads from modes/rexx-mode.el
 
 (autoload 'rexx-mode "rexx-mode" "\
@@ -5969,7 +6103,7 @@
 
 ;;;***
 
-;;;### (autoloads (resize-minibuffer-mode) "rsz-minibuf" "modes/rsz-minibuf.el" (12546 50449))
+;;;### (autoloads (resize-minibuffer-mode) "rsz-minibuf" "modes/rsz-minibuf.el" (12983 25967))
 ;;; Generated autoloads from modes/rsz-minibuf.el
 
 (defvar resize-minibuffer-mode nil "\
@@ -6025,7 +6159,7 @@
 
 ;;;***
 
-;;;### (autoloads (scheme-mode) "scheme" "modes/scheme.el" (12860 19337))
+;;;### (autoloads (scheme-mode) "scheme" "modes/scheme.el" (12983 26789))
 ;;; Generated autoloads from modes/scheme.el
 
 (autoload 'scheme-mode "scheme" "\
@@ -6048,7 +6182,7 @@
 
 ;;;***
 
-;;;### (autoloads (scribe-mode) "scribe" "modes/scribe.el" (12376 19456))
+;;;### (autoloads (scribe-mode) "scribe" "modes/scribe.el" (12983 25960))
 ;;; Generated autoloads from modes/scribe.el
 
 (autoload 'scribe-mode "scribe" "\
@@ -6070,7 +6204,7 @@
 
 ;;;***
 
-;;;### (autoloads (mail-other-frame mail-other-window mail mail-mode) "sendmail" "modes/sendmail.el" (12686 31716))
+;;;### (autoloads (mail-other-frame mail-other-window mail mail-mode) "sendmail" "modes/sendmail.el" (12983 25948))
 ;;; Generated autoloads from modes/sendmail.el
 
 (defvar mail-from-style 'angles "\
@@ -6209,7 +6343,7 @@
 
 ;;;***
 
-;;;### (autoloads (sh-mode) "sh-script" "modes/sh-script.el" (12860 38202))
+;;;### (autoloads (sh-mode) "sh-script" "modes/sh-script.el" (12983 26797))
 ;;; Generated autoloads from modes/sh-script.el
 
 (put 'sh-mode 'mode-class 'special)
@@ -6262,11 +6396,13 @@
 (defalias 'shell-script-mode 'sh-mode)
 
 ;;;***
-
-;;;### (autoloads nil "simula" "modes/simula.el" (12546 50444))
+
+;;;***
+
+;;;### (autoloads nil "simula" "modes/simula.el" (12983 25961))
 ;;; Generated autoloads from modes/simula.el
 
-;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" "modes/tcl.el" (12851 23429))
+;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" "modes/tcl.el" (12983 26786))
 ;;; Generated autoloads from modes/tcl.el
 
 (autoload 'tcl-mode "tcl" "\
@@ -6317,7 +6453,7 @@
 
 ;;;***
 
-;;;### (autoloads (latex-mode plain-tex-mode tex-mode) "tex-mode" "modes/tex-mode.el" (12905 8489))
+;;;### (autoloads (latex-mode plain-tex-mode tex-mode) "tex-mode" "modes/tex-mode.el" (12983 27302))
 ;;; Generated autoloads from modes/tex-mode.el
 
 (autoload 'tex-mode "tex-mode" "\
@@ -6418,7 +6554,7 @@
 
 ;;;***
 
-;;;### (autoloads (texinfo-mode) "texinfo" "modes/texinfo.el" (12558 60898))
+;;;### (autoloads (texinfo-mode) "texinfo" "modes/texinfo.el" (12983 25964))
 ;;; Generated autoloads from modes/texinfo.el
 
 (autoload 'texinfo-mode "texinfo" "\
@@ -6491,11 +6627,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "text-mode" "modes/text-mode.el" (12860 19337))
+
+;;;***
+
+;;;### (autoloads nil "text-mode" "modes/text-mode.el" (12983 26789))
 ;;; Generated autoloads from modes/text-mode.el
 
-;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" "modes/two-column.el" (12941 23726))
+;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" "modes/two-column.el" (12983 27305))
 ;;; Generated autoloads from modes/two-column.el
 
 (autoload '2C-command "two-column" () t 'keymap)
@@ -6535,7 +6673,30 @@
 
 ;;;***
 
-;;;### (autoloads (auto-view-mode view-major-mode view-mode view-minor-mode view-buffer-other-window view-file-other-window view-buffer view-file) "view-less" "modes/view-less.el" (12743 11603))
+;;;### (autoloads (vhdl-mode) "vhdl-mode" "modes/vhdl-mode.el" (12997 28790))
+;;; Generated autoloads from modes/vhdl-mode.el
+
+(autoload 'vhdl-mode "vhdl-mode" "\
+Major mode for editing VHDL code.
+vhdl-mode $Revision: 1.2 $
+To submit a problem report, enter `\\[vhdl-submit-bug-report]' from a
+vhdl-mode buffer.  This automatically sets up a mail buffer with version
+information already added.  You just need to add a description of the
+problem, including a reproducable test case and send the message.
+
+Note that the details of configuring vhdl-mode will soon be moved to the
+accompanying texinfo manual.  Until then, please read the README file
+that came with the vhdl-mode distribution.
+
+The hook variable `vhdl-mode-hook' is run with no args, if that value is
+bound and has a non-nil value.
+
+Key bindings:
+\\{vhdl-mode-map}" t nil)
+
+;;;***
+
+;;;### (autoloads (auto-view-mode view-major-mode view-mode view-minor-mode view-buffer-other-window view-file-other-window view-buffer view-file) "view-less" "modes/view-less.el" (12983 25964))
 ;;; Generated autoloads from modes/view-less.el
 
 (autoload 'view-file "view-less" "\
@@ -6601,11 +6762,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "view" "modes/view.el" (12860 19339))
+
+;;;***
+
+;;;### (autoloads nil "view" "modes/view.el" (12983 26787))
 ;;; Generated autoloads from modes/view.el
 
-;;;### (autoloads (vrml-mode) "vrml-mode" "modes/vrml-mode.el" (12851 23428))
+;;;### (autoloads (vrml-mode) "vrml-mode" "modes/vrml-mode.el" (12983 26796))
 ;;; Generated autoloads from modes/vrml-mode.el
 
 (autoload 'vrml-mode "vrml-mode" "\
@@ -6637,7 +6800,7 @@
 
 ;;;***
 
-;;;### (autoloads (xpm-mode) "xpm-mode" "modes/xpm-mode.el" (12908 14737))
+;;;### (autoloads (xpm-mode) "xpm-mode" "modes/xpm-mode.el" (12983 27308))
 ;;; Generated autoloads from modes/xpm-mode.el
 
 (autoload 'xpm-mode "xpm-mode" "\
@@ -6660,70 +6823,78 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "mu-bbdb" "mu/mu-bbdb.el" (12949 26608))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "mu-bbdb" "mu/mu-bbdb.el" (12996 50654))
 ;;; Generated autoloads from mu/mu-bbdb.el
 
 ;;;***
 
-;;;### (autoloads nil "mu-cite" "mu/mu-cite.el" (12883 24796))
+;;;### (autoloads nil "mu-cite" "mu/mu-cite.el" (12996 50654))
 ;;; Generated autoloads from mu/mu-cite.el
 
 ;;;***
 
-;;;### (autoloads nil "std11-parse" "mu/std11-parse.el" (12957 59956))
+;;;### (autoloads nil "std11-parse" "mu/std11-parse.el" (12996 50654))
 ;;; Generated autoloads from mu/std11-parse.el
 
 ;;;***
 
-;;;### (autoloads nil "std11" "mu/std11.el" (12962 62381))
+;;;### (autoloads nil "std11" "mu/std11.el" (12996 50654))
 ;;; Generated autoloads from mu/std11.el
-
-;;;***
-
-;;;### (autoloads nil "tl-822" "mu/tl-822.el" (12858 28766))
+
+;;;### (autoloads nil "tl-822" "mu/tl-822.el" (12988 32993))
 ;;; Generated autoloads from mu/tl-822.el
-
-;;;### (autoloads nil "ns-init" "ns/ns-init.el" (12528 24026))
+
+;;;***
+
+;;;### (autoloads nil "ns-init" "ns/ns-init.el" (12983 26215))
 ;;; Generated autoloads from ns/ns-init.el
-
-;;;### (autoloads nil "br-c++-ft" "oobr/br-c++-ft.el" (12376 19719))
+
+;;;***
+
+;;;### (autoloads nil "br-c++-ft" "oobr/br-c++-ft.el" (12983 26199))
 ;;; Generated autoloads from oobr/br-c++-ft.el
 
 ;;;***
 
-;;;### (autoloads nil "br-c++" "oobr/br-c++.el" (12558 61009))
+;;;### (autoloads nil "br-c++" "oobr/br-c++.el" (12983 26200))
 ;;; Generated autoloads from oobr/br-c++.el
 
 ;;;***
 
-;;;### (autoloads nil "br-c-ft" "oobr/br-c-ft.el" (12558 61026))
+;;;### (autoloads nil "br-c-ft" "oobr/br-c-ft.el" (12983 26207))
 ;;; Generated autoloads from oobr/br-c-ft.el
-
-;;;### (autoloads nil "br-clos-ft" "oobr/br-clos-ft.el" (12376 19720))
+
+;;;***
+
+;;;### (autoloads nil "br-clos-ft" "oobr/br-clos-ft.el" (12983 26201))
 ;;; Generated autoloads from oobr/br-clos-ft.el
 
 ;;;***
 
-;;;### (autoloads nil "br-clos" "oobr/br-clos.el" (12558 61010))
+;;;### (autoloads nil "br-clos" "oobr/br-clos.el" (12983 26202))
 ;;; Generated autoloads from oobr/br-clos.el
-
-;;;### (autoloads nil "br-compl" "oobr/br-compl.el" (12376 19721))
+
+;;;***
+
+;;;### (autoloads nil "br-compl" "oobr/br-compl.el" (12983 26202))
 ;;; Generated autoloads from oobr/br-compl.el
 
 ;;;***
 
-;;;### (autoloads nil "br-eif-ft" "oobr/br-eif-ft.el" (12376 19721))
+;;;### (autoloads nil "br-eif-ft" "oobr/br-eif-ft.el" (12983 26202))
 ;;; Generated autoloads from oobr/br-eif-ft.el
 
 ;;;***
 
-;;;### (autoloads nil "br-eif" "oobr/br-eif.el" (12558 61010))
+;;;### (autoloads nil "br-eif" "oobr/br-eif.el" (12983 26203))
 ;;; Generated autoloads from oobr/br-eif.el
-
-;;;***
-
-;;;### (autoloads (br-env-load br-env-browse) "br-env" "oobr/br-env.el" (12714 11761))
+
+;;;### (autoloads (br-env-load br-env-browse) "br-env" "oobr/br-env.el" (12983 26203))
 ;;; Generated autoloads from oobr/br-env.el
 
 (autoload 'br-env-browse "br-env" "\
@@ -6736,67 +6907,73 @@
 Return t if load is successful, else nil." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "br-ftr" "oobr/br-ftr.el" (12376 19723))
+
+;;;***
+
+;;;### (autoloads nil "br-ftr" "oobr/br-ftr.el" (12983 26203))
 ;;; Generated autoloads from oobr/br-ftr.el
 
 ;;;***
 
-;;;### (autoloads nil "br-info" "oobr/br-info.el" (12558 61013))
+;;;### (autoloads nil "br-info" "oobr/br-info.el" (12983 26204))
 ;;; Generated autoloads from oobr/br-info.el
 
 ;;;***
 
-;;;### (autoloads nil "br-init" "oobr/br-init.el" (12714 11763))
+;;;### (autoloads nil "br-init" "oobr/br-init.el" (12983 26204))
 ;;; Generated autoloads from oobr/br-init.el
-
-;;;### (autoloads nil "br-java-ft" "oobr/br-java-ft.el" (12558 61028))
+
+;;;***
+
+;;;### (autoloads nil "br-java-ft" "oobr/br-java-ft.el" (12983 26207))
 ;;; Generated autoloads from oobr/br-java-ft.el
 
 ;;;***
 
-;;;### (autoloads nil "br-java" "oobr/br-java.el" (12558 61025))
+;;;### (autoloads nil "br-java" "oobr/br-java.el" (12983 26207))
 ;;; Generated autoloads from oobr/br-java.el
 
 ;;;***
 
-;;;### (autoloads nil "br-lib" "oobr/br-lib.el" (12558 61015))
+;;;### (autoloads nil "br-lib" "oobr/br-lib.el" (12983 26204))
 ;;; Generated autoloads from oobr/br-lib.el
 
 ;;;***
 
-;;;### (autoloads nil "br-menu" "oobr/br-menu.el" (12558 61025))
+;;;### (autoloads nil "br-menu" "oobr/br-menu.el" (12983 26207))
 ;;; Generated autoloads from oobr/br-menu.el
-
-;;;### (autoloads nil "br-objc-ft" "oobr/br-objc-ft.el" (12376 19725))
+
+;;;***
+
+;;;### (autoloads nil "br-objc-ft" "oobr/br-objc-ft.el" (12983 26204))
 ;;; Generated autoloads from oobr/br-objc-ft.el
 
 ;;;***
 
-;;;### (autoloads nil "br-objc" "oobr/br-objc.el" (12558 61016))
+;;;### (autoloads nil "br-objc" "oobr/br-objc.el" (12983 26205))
 ;;; Generated autoloads from oobr/br-objc.el
 
 ;;;***
 
-;;;### (autoloads nil "br-python-ft" "oobr/br-python-ft.el" (12714 11823))
+;;;### (autoloads nil "br-python-ft" "oobr/br-python-ft.el" (12983 26208))
 ;;; Generated autoloads from oobr/br-python-ft.el
 
 ;;;***
 
-;;;### (autoloads nil "br-python" "oobr/br-python.el" (12714 11822))
+;;;### (autoloads nil "br-python" "oobr/br-python.el" (12983 26208))
 ;;; Generated autoloads from oobr/br-python.el
-
-;;;### (autoloads nil "br-site" "oobr/br-site.el" (12376 19725))
+
+;;;***
+
+;;;### (autoloads nil "br-site" "oobr/br-site.el" (12983 26205))
 ;;; Generated autoloads from oobr/br-site.el
 
 ;;;***
 
-;;;### (autoloads nil "br-smt" "oobr/br-smt.el" (12558 61017))
+;;;### (autoloads nil "br-smt" "oobr/br-smt.el" (12983 26205))
 ;;; Generated autoloads from oobr/br-smt.el
-
-;;;***
-
-;;;### (autoloads (oo-browser) "br-start" "oobr/br-start.el" (12558 61017))
+
+;;;### (autoloads (oo-browser) "br-start" "oobr/br-start.el" (12983 26205))
 ;;; Generated autoloads from oobr/br-start.el
 
 (fset 'oobr 'oo-browser)
@@ -6807,16 +6984,18 @@
 if any, without prompting." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "br-tree" "oobr/br-tree.el" (12376 19726))
+
+;;;***
+
+;;;### (autoloads nil "br-tree" "oobr/br-tree.el" (12983 26205))
 ;;; Generated autoloads from oobr/br-tree.el
 
 ;;;***
 
-;;;### (autoloads nil "br-vers" "oobr/br-vers.el" (12714 11765))
+;;;### (autoloads nil "br-vers" "oobr/br-vers.el" (12983 26205))
 ;;; Generated autoloads from oobr/br-vers.el
 
-;;;### (autoloads (br-to-from-viewer br-add-class-file) "br" "oobr/br.el" (12714 11764))
+;;;### (autoloads (br-to-from-viewer br-add-class-file) "br" "oobr/br.el" (12983 26199))
 ;;; Generated autoloads from oobr/br.el
 
 (autoload 'br-add-class-file "br" "\
@@ -6833,7 +7012,7 @@
 
 ;;;***
 
-;;;### (autoloads (c++-browse) "c++-browse" "oobr/c++-browse.el" (12558 61020))
+;;;### (autoloads (c++-browse) "c++-browse" "oobr/c++-browse.el" (12983 26205))
 ;;; Generated autoloads from oobr/c++-browse.el
 
 (autoload 'c++-browse "c++-browse" "\
@@ -6845,7 +7024,7 @@
 
 ;;;***
 
-;;;### (autoloads (clos-browse) "clos-brows" "oobr/clos-brows.el" (12558 61020))
+;;;### (autoloads (clos-browse) "clos-brows" "oobr/clos-brows.el" (12983 26205))
 ;;; Generated autoloads from oobr/clos-brows.el
 
 (autoload 'clos-browse "clos-brows" "\
@@ -6857,7 +7036,7 @@
 
 ;;;***
 
-;;;### (autoloads (eif-browse) "eif-browse" "oobr/eif-browse.el" (12558 61022))
+;;;### (autoloads (eif-browse) "eif-browse" "oobr/eif-browse.el" (12983 26205))
 ;;; Generated autoloads from oobr/eif-browse.el
 
 (autoload 'eif-browse "eif-browse" "\
@@ -6868,31 +7047,33 @@
 file name.  See also the file \"br-help\"." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "eif-calls" "oobr/eif-calls.el" (12376 19728))
+
+;;;***
+
+;;;### (autoloads nil "eif-calls" "oobr/eif-calls.el" (12983 26205))
 ;;; Generated autoloads from oobr/eif-calls.el
 
 ;;;***
 
-;;;### (autoloads nil "eif-ise-er" "oobr/eif-ise-er.el" (12376 19729))
+;;;### (autoloads nil "eif-ise-er" "oobr/eif-ise-er.el" (12983 26206))
 ;;; Generated autoloads from oobr/eif-ise-er.el
 
 ;;;***
 
-;;;### (autoloads nil "hash-test" "oobr/hash-test.el" (12376 19729))
+;;;### (autoloads nil "hash-test" "oobr/hash-test.el" (12983 26206))
 ;;; Generated autoloads from oobr/hash-test.el
 
 ;;;***
 
-;;;### (autoloads nil "hasht" "oobr/hasht.el" (12558 61022))
+;;;### (autoloads nil "hasht" "oobr/hasht.el" (12983 26206))
 ;;; Generated autoloads from oobr/hasht.el
 
 ;;;***
 
-;;;### (autoloads nil "hmouse-br" "oobr/hmouse-br.el" (12558 61023))
+;;;### (autoloads nil "hmouse-br" "oobr/hmouse-br.el" (12983 26206))
 ;;; Generated autoloads from oobr/hmouse-br.el
 
-;;;### (autoloads (info-browse) "info-brows" "oobr/info-brows.el" (12558 61021))
+;;;### (autoloads (info-browse) "info-brows" "oobr/info-brows.el" (12983 26207))
 ;;; Generated autoloads from oobr/info-brows.el
 
 (autoload 'info-browse "info-brows" "\
@@ -6904,7 +7085,7 @@
 
 ;;;***
 
-;;;### (autoloads (java-browse) "java-brows" "oobr/java-brows.el" (12558 61028))
+;;;### (autoloads (java-browse) "java-brows" "oobr/java-brows.el" (12983 26207))
 ;;; Generated autoloads from oobr/java-brows.el
 
 (autoload 'java-browse "java-brows" "\
@@ -6916,7 +7097,7 @@
 
 ;;;***
 
-;;;### (autoloads (objc-browse) "objc-brows" "oobr/objc-brows.el" (12558 61024))
+;;;### (autoloads (objc-browse) "objc-brows" "oobr/objc-brows.el" (12983 26207))
 ;;; Generated autoloads from oobr/objc-brows.el
 
 (autoload 'objc-browse "objc-brows" "\
@@ -6928,7 +7109,7 @@
 
 ;;;***
 
-;;;### (autoloads (python-browse) "python-browse" "oobr/python-browse.el" (12714 11823))
+;;;### (autoloads (python-browse) "python-browse" "oobr/python-browse.el" (12983 26208))
 ;;; Generated autoloads from oobr/python-browse.el
 
 (autoload 'python-browse "python-browse" "\
@@ -6940,7 +7121,7 @@
 
 ;;;***
 
-;;;### (autoloads (smt-browse) "smt-browse" "oobr/smt-browse.el" (12558 61024))
+;;;### (autoloads (smt-browse) "smt-browse" "oobr/smt-browse.el" (12983 26207))
 ;;; Generated autoloads from oobr/smt-browse.el
 
 (autoload 'smt-browse "smt-browse" "\
@@ -6952,7 +7133,7 @@
 
 ;;;***
 
-;;;### (autoloads (add-log-current-defun change-log-mode add-change-log-entry-other-window add-change-log-entry find-change-log prompt-for-change-log-name) "add-log" "packages/add-log.el" (12860 19357))
+;;;### (autoloads (add-log-current-defun change-log-mode add-change-log-entry-other-window add-change-log-entry find-change-log prompt-for-change-log-name) "add-log" "packages/add-log.el" (12983 26798))
 ;;; Generated autoloads from packages/add-log.el
 
 (defvar change-log-default-name nil "\
@@ -7026,7 +7207,7 @@
 
 ;;;***
 
-;;;### (autoloads (apropos-documentation apropos-value apropos apropos-command) "apropos" "packages/apropos.el" (12870 6875))
+;;;### (autoloads (apropos-documentation apropos-value apropos apropos-command) "apropos" "packages/apropos.el" (12991 23643))
 ;;; Generated autoloads from packages/apropos.el
 
 (fset 'command-apropos 'apropos-command)
@@ -7060,14 +7241,18 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "array" "packages/array.el" (12860 19359))
+
+;;;***
+
+;;;### (autoloads nil "array" "packages/array.el" (12983 26799))
 ;;; Generated autoloads from packages/array.el
-
-;;;### (autoloads nil "auto-save" "packages/auto-save.el" (12178 28935))
+
+;;;***
+
+;;;### (autoloads nil "auto-save" "packages/auto-save.el" (12983 25985))
 ;;; Generated autoloads from packages/auto-save.el
 
-;;;### (autoloads (define-auto-insert auto-insert) "autoinsert" "packages/autoinsert.el" (12866 47734))
+;;;### (autoloads (define-auto-insert auto-insert) "autoinsert" "packages/autoinsert.el" (12983 27310))
 ;;; Generated autoloads from packages/autoinsert.el
 
 (autoload 'auto-insert "autoinsert" "\
@@ -7081,7 +7266,7 @@
 
 ;;;***
 
-;;;### (autoloads (mouse-avoidance-mode) "avoid" "packages/avoid.el" (12860 19406))
+;;;### (autoloads (mouse-avoidance-mode) "avoid" "packages/avoid.el" (12983 26818))
 ;;; Generated autoloads from packages/avoid.el
 
 (autoload 'mouse-avoidance-mode "avoid" "\
@@ -7112,16 +7297,18 @@
 (add-minor-mode 'mouse-avoidance-mode " Avoid")
 
 ;;;***
-
-;;;### (autoloads nil "balloon-help" "packages/balloon-help.el" (12547 2421))
+
+;;;***
+
+;;;### (autoloads nil "balloon-help" "packages/balloon-help.el" (12983 26029))
 ;;; Generated autoloads from packages/balloon-help.el
 
 ;;;***
 
-;;;### (autoloads nil "big-menubar" "packages/big-menubar.el" (12851 23447))
+;;;### (autoloads nil "big-menubar" "packages/big-menubar.el" (12983 26815))
 ;;; Generated autoloads from packages/big-menubar.el
 
-;;;### (autoloads (blink-cursor-mode) "blink-cursor" "packages/blink-cursor.el" (12639 8850))
+;;;### (autoloads (blink-cursor-mode) "blink-cursor" "packages/blink-cursor.el" (12983 26020))
 ;;; Generated autoloads from packages/blink-cursor.el
 
 (autoload 'blink-cursor-mode "blink-cursor" "\
@@ -7133,11 +7320,19 @@
 each TIMEOUT secs (can be a float)." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "blink-paren" "packages/blink-paren.el" (12376 19480))
+
+;;;***
+
+;;;### (autoloads nil "blink-paren" "packages/blink-paren.el" (12983 25991))
 ;;; Generated autoloads from packages/blink-paren.el
-
-;;;### (autoloads (bookmark-menu-delete bookmark-menu-rename bookmark-menu-locate bookmark-menu-jump bookmark-menu-insert bookmark-bmenu-list bookmark-load bookmark-save bookmark-write bookmark-delete bookmark-insert bookmark-rename bookmark-insert-location bookmark-relocate bookmark-jump bookmark-set) "bookmark" "packages/bookmark.el" (12851 23442))
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;### (autoloads (bookmark-menu-delete bookmark-menu-rename bookmark-menu-locate bookmark-menu-jump bookmark-menu-insert bookmark-bmenu-list bookmark-load bookmark-save bookmark-write bookmark-delete bookmark-insert bookmark-rename bookmark-insert-location bookmark-relocate bookmark-jump bookmark-set) "bookmark" "packages/bookmark.el" (12983 26808))
 ;;; Generated autoloads from packages/bookmark.el
 
 (if (symbolp (key-binding "r")) nil (progn (define-key ctl-x-map "rb" 'bookmark-jump) (define-key ctl-x-map "rm" 'bookmark-set) (define-key ctl-x-map "rl" 'bookmark-bmenu-list)))
@@ -7355,14 +7550,8 @@
 \"-menu-\" in its name)." t nil)
 
 ;;;***
-
-;;;***
-
-;;;***
-
-;;;***
-
-;;;### (autoloads nil "buff-menu" "packages/buff-menu.el" (12979 22272))
+
+;;;### (autoloads nil "buff-menu" "packages/buff-menu.el" (12983 27910))
 ;;; Generated autoloads from packages/buff-menu.el
 
 (defvar list-buffers-directory)
@@ -7371,7 +7560,7 @@
 
 ;;;***
 
-;;;### (autoloads (command-history-mode list-command-history repeat-matching-complex-command) "chistory" "packages/chistory.el" (12860 19367))
+;;;### (autoloads (command-history-mode list-command-history repeat-matching-complex-command) "chistory" "packages/chistory.el" (12983 26800))
 ;;; Generated autoloads from packages/chistory.el
 
 (autoload 'repeat-matching-complex-command "chistory" "\
@@ -7403,14 +7592,14 @@
 
 ;;;***
 
-;;;### (autoloads nil "cmuscheme" "packages/cmuscheme.el" (12861 45244))
+;;;### (autoloads nil "cmuscheme" "packages/cmuscheme.el" (12983 26811))
 ;;; Generated autoloads from packages/cmuscheme.el
 
 (add-hook 'same-window-buffer-names "*scheme*")
 
 ;;;***
 
-;;;### (autoloads (display-column-mode) "column" "packages/column.el" (12898 25467))
+;;;### (autoloads (display-column-mode) "column" "packages/column.el" (12983 27325))
 ;;; Generated autoloads from packages/column.el
 
 (autoload 'display-column-mode "column" "\
@@ -7422,7 +7611,7 @@
 
 ;;;***
 
-;;;### (autoloads (compare-windows) "compare-w" "packages/compare-w.el" (12860 19369))
+;;;### (autoloads (compare-windows) "compare-w" "packages/compare-w.el" (12983 26801))
 ;;; Generated autoloads from packages/compare-w.el
 
 (autoload 'compare-windows "compare-w" "\
@@ -7442,7 +7631,7 @@
 
 ;;;***
 
-;;;### (autoloads (first-error previous-error next-error compilation-minor-mode grep compile) "compile" "packages/compile.el" (12976 36509))
+;;;### (autoloads (first-error previous-error next-error compilation-minor-mode grep compile) "compile" "packages/compile.el" (12983 27910))
 ;;; Generated autoloads from packages/compile.el
 
 (defvar compilation-mode-hook nil "\
@@ -7535,14 +7724,22 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "completion" "packages/completion.el" (12860 19412))
+
+;;;***
+
+;;;### (autoloads nil "completion" "packages/completion.el" (12983 26821))
 ;;; Generated autoloads from packages/completion.el
-
-;;;### (autoloads nil "crypt" "packages/crypt.el" (12743 22078))
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "crypt" "packages/crypt.el" (12983 25996))
 ;;; Generated autoloads from packages/crypt.el
 
-;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "packages/dabbrev.el" (12860 19377))
+;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "packages/dabbrev.el" (12983 26801))
 ;;; Generated autoloads from packages/dabbrev.el
 
 (define-key global-map [(meta /)] 'dabbrev-expand)
@@ -7588,18 +7785,16 @@
 ;;;***
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "desktop" "packages/desktop.el" (12860 19404))
+
+;;;### (autoloads nil "desktop" "packages/desktop.el" (12983 26810))
 ;;; Generated autoloads from packages/desktop.el
 
 ;;;***
 
-;;;### (autoloads nil "detexinfo" "packages/detexinfo.el" (12285 55375))
+;;;### (autoloads nil "detexinfo" "packages/detexinfo.el" (12983 26014))
 ;;; Generated autoloads from packages/detexinfo.el
 
-;;;### (autoloads (diff-backup diff) "diff" "packages/diff.el" (12860 19374))
+;;;### (autoloads (diff-backup diff) "diff" "packages/diff.el" (12983 26801))
 ;;; Generated autoloads from packages/diff.el
 
 (defvar diff-switches (purecopy "-c") "\
@@ -7618,11 +7813,13 @@
 The backup file is the first file given to `diff'." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "doctex" "packages/doctex.el" (12376 19483))
+
+;;;***
+
+;;;### (autoloads nil "doctex" "packages/doctex.el" (12983 25993))
 ;;; Generated autoloads from packages/doctex.el
 
-;;;### (autoloads (edit-faces) "edit-faces" "packages/edit-faces.el" (12860 19407))
+;;;### (autoloads (edit-faces) "edit-faces" "packages/edit-faces.el" (12983 26820))
 ;;; Generated autoloads from packages/edit-faces.el
 
 (autoload 'edit-faces "edit-faces" "\
@@ -7635,7 +7832,7 @@
 
 ;;;***
 
-;;;### (autoloads (report-xemacs-bug) "emacsbug" "packages/emacsbug.el" (12860 19379))
+;;;### (autoloads (report-xemacs-bug) "emacsbug" "packages/emacsbug.el" (12983 26803))
 ;;; Generated autoloads from packages/emacsbug.el
 
 (autoload 'report-xemacs-bug "emacsbug" "\
@@ -7644,7 +7841,7 @@
 
 ;;;***
 
-;;;### (autoloads (emerge-merge-directories emerge-revisions-with-ancestor emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" "packages/emerge.el" (12547 2420))
+;;;### (autoloads (emerge-merge-directories emerge-revisions-with-ancestor emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" "packages/emerge.el" (12983 25994))
 ;;; Generated autoloads from packages/emerge.el
 
 (autoload 'emerge-files "emerge" "\
@@ -7679,7 +7876,7 @@
 
 ;;;***
 
-;;;### (autoloads (tags-apropos list-tags tags-query-replace tags-search tags-loop-continue next-file find-tag-other-window find-tag visit-tags-table) "etags" "packages/etags.el" (12860 19381))
+;;;### (autoloads (tags-apropos list-tags tags-query-replace tags-search tags-loop-continue next-file find-tag-other-window find-tag visit-tags-table) "etags" "packages/etags.el" (12983 26803))
 ;;; Generated autoloads from packages/etags.el
 
 (defvar tags-build-completion-table 'ask "\
@@ -7844,7 +8041,7 @@
 ;;;### (autoloads nil "fa-extras" "packages/fa-extras.el" (12547 2465))
 ;;; Generated autoloads from packages/fa-extras.el
 
-;;;### (autoloads (turn-on-fast-lock fast-lock-mode) "fast-lock" "packages/fast-lock.el" (12860 19403))
+;;;### (autoloads (turn-on-fast-lock fast-lock-mode) "fast-lock" "packages/fast-lock.el" (12983 26816))
 ;;; Generated autoloads from packages/fast-lock.el
 
 (defvar fast-lock-mode nil)
@@ -7883,14 +8080,14 @@
 
 ;;;***
 
-;;;### (autoloads (feedmail-send-it) "feedmail" "packages/feedmail.el" (12698 33544))
+;;;### (autoloads (feedmail-send-it) "feedmail" "packages/feedmail.el" (12983 25994))
 ;;; Generated autoloads from packages/feedmail.el
 
 (autoload 'feedmail-send-it "feedmail" nil nil nil)
 
 ;;;***
 
-;;;### (autoloads (make-file-part) "file-part" "packages/file-part.el" (12639 8595))
+;;;### (autoloads (make-file-part) "file-part" "packages/file-part.el" (12983 26010))
 ;;; Generated autoloads from packages/file-part.el
 
 (autoload 'make-file-part "file-part" "\
@@ -7907,11 +8104,15 @@
 BUFFER's name, and the current buffer, respectively." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "filladapt" "packages/filladapt.el" (12731 4993))
+
+;;;***
+
+;;;### (autoloads nil "filladapt" "packages/filladapt.el" (12983 26024))
 ;;; Generated autoloads from packages/filladapt.el
-
-;;;### (autoloads (font-lock-fontify-buffer turn-off-font-lock turn-on-font-lock font-lock-mode) "font-lock" "packages/font-lock.el" (12851 23456))
+
+;;;***
+
+;;;### (autoloads (font-lock-fontify-buffer turn-off-font-lock turn-on-font-lock font-lock-mode) "font-lock" "packages/font-lock.el" (12988 58418))
 ;;; Generated autoloads from packages/font-lock.el
 
 (defvar font-lock-auto-fontify t "\
@@ -8133,14 +8334,16 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "fontl-hooks" "packages/fontl-hooks.el" (12933 26528))
+
+;;;***
+
+;;;### (autoloads nil "fontl-hooks" "packages/fontl-hooks.el" (12988 56407))
 ;;; Generated autoloads from packages/fontl-hooks.el
 
-;;;### (autoloads nil "func-menu" "packages/func-menu.el" (12721 2479))
+;;;### (autoloads nil "func-menu" "packages/func-menu.el" (12983 26019))
 ;;; Generated autoloads from packages/func-menu.el
 
-;;;### (autoloads (sc-mode) "generic-sc" "packages/generic-sc.el" (12860 19356))
+;;;### (autoloads (sc-mode) "generic-sc" "packages/generic-sc.el" (12983 26798))
 ;;; Generated autoloads from packages/generic-sc.el
 
 (autoload 'sc-mode "generic-sc" "\
@@ -8197,7 +8400,7 @@
 
 ;;;***
 
-;;;### (autoloads (gnuserv-start) "gnuserv" "packages/gnuserv.el" (12860 19405))
+;;;### (autoloads (gnuserv-start) "gnuserv" "packages/gnuserv.el" (12983 26816))
 ;;; Generated autoloads from packages/gnuserv.el
 
 (autoload 'gnuserv-start "gnuserv" "\
@@ -8210,7 +8413,7 @@
 
 ;;;***
 
-;;;### (autoloads (gopher-atpoint gopher) "gopher" "packages/gopher.el" (12376 19490))
+;;;### (autoloads (gopher-atpoint gopher) "gopher" "packages/gopher.el" (12983 25998))
 ;;; Generated autoloads from packages/gopher.el
 
 (autoload 'gopher "gopher" "\
@@ -8222,7 +8425,7 @@
 
 ;;;***
 
-;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" "packages/hexl.el" (12860 19384))
+;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" "packages/hexl.el" (12983 26805))
 ;;; Generated autoloads from packages/hexl.el
 
 (autoload 'hexl-mode "hexl" "\
@@ -8307,7 +8510,7 @@
 
 ;;;***
 
-;;;### (autoloads (hypropos-popup-menu hypropos-set-variable hyper-describe-function hyper-describe-variable hyper-apropos) "hyper-apropos" "packages/hyper-apropos.el" (12607 29142))
+;;;### (autoloads (hypropos-popup-menu hypropos-set-variable hyper-describe-function hyper-describe-variable hyper-apropos) "hyper-apropos" "packages/hyper-apropos.el" (12983 26022))
 ;;; Generated autoloads from packages/hyper-apropos.el
 
 (defvar hypropos-show-brief-docs t "\
@@ -8336,7 +8539,7 @@
 
 ;;;***
 
-;;;### (autoloads (icomplete-minibuffer-setup icomplete-mode) "icomplete" "packages/icomplete.el" (12870 50497))
+;;;### (autoloads (icomplete-minibuffer-setup icomplete-mode) "icomplete" "packages/icomplete.el" (12989 49073))
 ;;; Generated autoloads from packages/icomplete.el
 
 (autoload 'icomplete-mode "icomplete" "\
@@ -8349,7 +8552,7 @@
 
 ;;;***
 
-;;;### (autoloads (Info-elisp-ref Info-emacs-key Info-goto-emacs-key-command-node Info-goto-emacs-command-node Info-emacs-command Info-search Info-visit-file Info-goto-node Info-query info) "info" "packages/info.el" (12860 19356))
+;;;### (autoloads (Info-elisp-ref Info-emacs-key Info-goto-emacs-key-command-node Info-goto-emacs-command-node Info-emacs-command Info-search Info-visit-file Info-goto-node Info-query info) "info" "packages/info.el" (12983 26798))
 ;;; Generated autoloads from packages/info.el
 
 (autoload 'info "info" "\
@@ -8402,7 +8605,7 @@
 
 ;;;***
 
-;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify) "informat" "packages/informat.el" (12860 19385))
+;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify) "informat" "packages/informat.el" (12983 26805))
 ;;; Generated autoloads from packages/informat.el
 
 (autoload 'Info-tagify "informat" "\
@@ -8433,7 +8636,7 @@
 
 ;;;***
 
-;;;### (autoloads (ispell-message ispell-minor-mode ispell-complete-word-interior-frag ispell-complete-word ispell-continue ispell-buffer ispell-region ispell-change-dictionary ispell-kill-ispell ispell-help ispell-word) "ispell" "packages/ispell.el" (12860 19389))
+;;;### (autoloads (ispell-message ispell-minor-mode ispell-complete-word-interior-frag ispell-complete-word ispell-continue ispell-buffer ispell-region ispell-change-dictionary ispell-kill-ispell ispell-help ispell-word) "ispell" "packages/ispell.el" (12983 26806))
 ;;; Generated autoloads from packages/ispell.el
 
 (defvar ispell-personal-dictionary nil "\
@@ -8616,7 +8819,7 @@
 
 ;;;***
 
-;;;### (autoloads (jka-compr-install toggle-auto-compression jka-compr-load) "jka-compr" "packages/jka-compr.el" (12860 19409))
+;;;### (autoloads (jka-compr-install toggle-auto-compression jka-compr-load) "jka-compr" "packages/jka-compr.el" (12983 26820))
 ;;; Generated autoloads from packages/jka-compr.el
 
 (autoload 'jka-compr-load "jka-compr" "\
@@ -8644,7 +8847,7 @@
 
 ;;;***
 
-;;;### (autoloads (turn-on-lazy-lock lazy-lock-mode) "lazy-lock" "packages/lazy-lock.el" (12851 23453))
+;;;### (autoloads (turn-on-lazy-lock lazy-lock-mode) "lazy-lock" "packages/lazy-lock.el" (12983 26819))
 ;;; Generated autoloads from packages/lazy-lock.el
 
 (defvar lazy-lock-mode nil)
@@ -8679,7 +8882,7 @@
 
 ;;;***
 
-;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "packages/ledit.el" (12860 19391))
+;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "packages/ledit.el" (12983 26806))
 ;;; Generated autoloads from packages/ledit.el
 
 (defconst ledit-save-files t "\
@@ -8707,11 +8910,15 @@
 (autoload 'ledit-from-lisp-mode "ledit" nil nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "lispm-fonts" "packages/lispm-fonts.el" (12376 19482))
+
+;;;***
+
+;;;### (autoloads nil "lispm-fonts" "packages/lispm-fonts.el" (12983 25992))
 ;;; Generated autoloads from packages/lispm-fonts.el
-
-;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer) "lpr" "packages/lpr.el" (12974 16779))
+
+;;;***
+
+;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer) "lpr" "packages/lpr.el" (12983 27916))
 ;;; Generated autoloads from packages/lpr.el
 
 (defvar lpr-switches nil "\
@@ -8741,10 +8948,12 @@
 
 ;;;***
 
-;;;### (autoloads nil "makeinfo" "packages/makeinfo.el" (12860 19382))
+;;;### (autoloads nil "makeinfo" "packages/makeinfo.el" (12983 26805))
 ;;; Generated autoloads from packages/makeinfo.el
-
-;;;### (autoloads (make-command-summary) "makesum" "packages/makesum.el" (12860 19364))
+
+;;;***
+
+;;;### (autoloads (make-command-summary) "makesum" "packages/makesum.el" (12983 26800))
 ;;; Generated autoloads from packages/makesum.el
 
 (autoload 'make-command-summary "makesum" "\
@@ -8752,28 +8961,31 @@
 Previous contents of that buffer are killed first." t nil)
 
 ;;;***
-
-;;;***
 
 ;;;### (autoloads nil "man-xref" "packages/man-xref.el" (12968 61833))
 ;;; Generated autoloads from packages/man-xref.el
 
-;;;### (autoloads (man) "man" "packages/man.el" (12968 61736))
+;;;### (autoloads (manual-entry) "man" "packages/man.el" (12995 2314))
 ;;; Generated autoloads from packages/man.el
 
-(defalias 'manual-entry 'man)
-
-(autoload 'man "man" "\
-Get a Un*x manual page and put it in a buffer.
-This command is the top-level command in the man package.  It runs a Un*x
-command to retrieve and clean a manpage in the background and places the
-results in a Man mode (manpage browsing) buffer.  See variable
-`Man-notify-method' for what happens when the buffer is ready.
-If a buffer already exists for this man page, it will display immediately." t nil)
-
-;;;***
-
-;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body metamail-interpret-header) "metamail" "packages/metamail.el" (12860 19404))
+(autoload 'manual-entry "man" "\
+Display the Unix manual entry (or entries) for TOPIC.
+If prefix arg is given, modify the search according to the value:
+  2 = complement default exact matching of the TOPIC name;
+      exact matching default is specified by `Manual-match-topic-exactly'
+  3 = force a search of the unformatted man directories
+  4 = both 2 and 3
+The manual entries are searched according to the variable
+Manual-directory-list, which should be a list of directories.  If
+Manual-directory-list is nil, \\[Manual-directory-list-init] is
+invoked to create this list from the MANPATH environment variable.
+See the variable Manual-topic-buffer which controls how the buffer
+is named.  See also the variables Manual-match-topic-exactly,
+Manual-query-multiple-pages, and Manual-buffer-view-mode." t nil)
+
+;;;***
+
+;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body metamail-interpret-header) "metamail" "packages/metamail.el" (12983 26815))
 ;;; Generated autoloads from packages/metamail.el
 
 (autoload 'metamail-interpret-header "metamail" "\
@@ -8809,26 +9021,30 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "mic-paren" "packages/mic-paren.el" (12861 33586))
+
+;;;***
+
+;;;### (autoloads nil "mic-paren" "packages/mic-paren.el" (12983 27930))
 ;;; Generated autoloads from packages/mic-paren.el
-
-;;;### (autoloads nil "mime-compose" "packages/mime-compose.el" (12727 30155))
+
+;;;***
+
+;;;### (autoloads nil "mime-compose" "packages/mime-compose.el" (12983 26017))
 ;;; Generated autoloads from packages/mime-compose.el
 
 ;;;***
 
-;;;### (autoloads nil "mode-motion+" "packages/mode-motion+.el" (12860 19415))
+;;;### (autoloads nil "mode-motion+" "packages/mode-motion+.el" (12983 26819))
 ;;; Generated autoloads from packages/mode-motion+.el
-
-;;;### (autoloads nil "netunam" "packages/netunam.el" (12547 2429))
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "netunam" "packages/netunam.el" (12983 26003))
 ;;; Generated autoloads from packages/netunam.el
-
-;;;***
-
-;;;***
-
-;;;***
 
 ;;;### (autoloads (manual-entry) "old-man" "packages/old-man.el" (12875 12228))
 ;;; Generated autoloads from packages/old-man.el
@@ -8849,11 +9065,13 @@
 Manual-query-multiple-pages, and Manual-buffer-view-mode." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "page-ext" "packages/page-ext.el" (12860 19393))
+
+;;;***
+
+;;;### (autoloads nil "page-ext" "packages/page-ext.el" (12983 26808))
 ;;; Generated autoloads from packages/page-ext.el
 
-;;;### (autoloads (blink-paren paren-set-mode) "paren" "packages/paren.el" (12648 18575))
+;;;### (autoloads (blink-paren paren-set-mode) "paren" "packages/paren.el" (12983 26021))
 ;;; Generated autoloads from packages/paren.el
 
 (defvar paren-mode nil "\
@@ -8882,7 +9100,7 @@
 
 ;;;***
 
-;;;### (autoloads (pending-delete pending-delete-off pending-delete-on) "pending-del" "packages/pending-del.el" (12547 2431))
+;;;### (autoloads (pending-delete pending-delete-off pending-delete-on) "pending-del" "packages/pending-del.el" (12983 26004))
 ;;; Generated autoloads from packages/pending-del.el
 
 (autoload 'pending-delete-on "pending-del" "\
@@ -8903,7 +9121,7 @@
 
 ;;;***
 
-;;;### (autoloads (ps-despool ps-spool-region-with-faces ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces ps-print-buffer) "ps-print" "packages/ps-print.el" (12974 16330))
+;;;### (autoloads (ps-despool ps-spool-region-with-faces ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces ps-print-buffer) "ps-print" "packages/ps-print.el" (12983 27924))
 ;;; Generated autoloads from packages/ps-print.el
 
 (defvar ps-paper-type 'ps-letter "\
@@ -8984,7 +9202,7 @@
 
 ;;;***
 
-;;;### (autoloads (remote-compile) "rcompile" "packages/rcompile.el" (12860 19401))
+;;;### (autoloads (remote-compile) "rcompile" "packages/rcompile.el" (12983 26819))
 ;;; Generated autoloads from packages/rcompile.el
 
 (autoload 'remote-compile "rcompile" "\
@@ -8992,28 +9210,30 @@
 See \\[compile]." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "recent-files" "packages/recent-files.el" (12558 60919))
+
+;;;***
+
+;;;### (autoloads nil "recent-files" "packages/recent-files.el" (12983 26028))
 ;;; Generated autoloads from packages/recent-files.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "refbib" "packages/refbib.el" (12860 19394))
+;;;### (autoloads nil "refbib" "packages/refbib.el" (12983 26809))
 ;;; Generated autoloads from packages/refbib.el
-
-;;;### (autoloads nil "remote" "packages/remote.el" (12547 2435))
+
+;;;***
+
+;;;### (autoloads nil "remote" "packages/remote.el" (12983 26005))
 ;;; Generated autoloads from packages/remote.el
 
 ;;;***
 
-;;;### (autoloads nil "reportmail" "packages/reportmail.el" (12743 22077))
+;;;### (autoloads nil "reportmail" "packages/reportmail.el" (12983 26005))
 ;;; Generated autoloads from packages/reportmail.el
-
-;;;***
-
-;;;### (autoloads (resume-suspend-hook) "resume" "packages/resume.el" (12860 19395))
+
+;;;### (autoloads (resume-suspend-hook) "resume" "packages/resume.el" (12983 26809))
 ;;; Generated autoloads from packages/resume.el
 
 (autoload 'resume-suspend-hook "resume" "\
@@ -9027,38 +9247,44 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "saveconf" "packages/saveconf.el" (12860 19396))
+
+;;;***
+
+;;;### (autoloads nil "saveconf" "packages/saveconf.el" (12983 26810))
 ;;; Generated autoloads from packages/saveconf.el
 
 ;;;***
 
-;;;### (autoloads nil "saveplace" "packages/saveplace.el" (12860 19378))
+;;;### (autoloads nil "saveplace" "packages/saveplace.el" (12983 26803))
 ;;; Generated autoloads from packages/saveplace.el
-
-;;;### (autoloads nil "sccs" "packages/sccs.el" (12547 2430))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "sccs" "packages/sccs.el" (12983 26003))
 ;;; Generated autoloads from packages/sccs.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "scroll-in-place" "packages/scroll-in-place.el" (12942 17712))
+;;;### (autoloads nil "scroll-in-place" "packages/scroll-in-place.el" (12995 42385))
 ;;; Generated autoloads from packages/scroll-in-place.el
-
-;;;### (autoloads nil "server" "packages/server.el" (12860 19397))
+
+;;;***
+
+;;;### (autoloads nil "server" "packages/server.el" (12983 26810))
 ;;; Generated autoloads from packages/server.el
 
 (make-obsolete 'server-start 'gnuserv-start)
 
 ;;;***
 
-;;;### (autoloads nil "session" "packages/session.el" (12547 2442))
+;;;### (autoloads nil "session" "packages/session.el" (12983 26010))
 ;;; Generated autoloads from packages/session.el
-
-;;;***
-
-;;;### (autoloads (install-shell-fonts) "shell-font" "packages/shell-font.el" (12547 2438))
+
+;;;### (autoloads (install-shell-fonts) "shell-font" "packages/shell-font.el" (12983 26006))
 ;;; Generated autoloads from packages/shell-font.el
 
 (autoload 'install-shell-fonts "shell-font" "\
@@ -9069,7 +9295,7 @@
 
 ;;;***
 
-;;;### (autoloads (spell-string spell-region spell-word spell-buffer) "spell" "packages/spell.el" (12860 19394))
+;;;### (autoloads (spell-string spell-region spell-word spell-buffer) "spell" "packages/spell.el" (12983 26809))
 ;;; Generated autoloads from packages/spell.el
 
 (put 'spell-filter 'risky-local-variable t)
@@ -9096,11 +9322,13 @@
 Check spelling of string supplied as argument." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "supercite" "packages/supercite.el" (12547 2458))
+
+;;;***
+
+;;;### (autoloads nil "supercite" "packages/supercite.el" (12983 26018))
 ;;; Generated autoloads from packages/supercite.el
 
-;;;### (autoloads (tar-mode) "tar-mode" "packages/tar-mode.el" (12547 2442))
+;;;### (autoloads (tar-mode) "tar-mode" "packages/tar-mode.el" (12983 26009))
 ;;; Generated autoloads from packages/tar-mode.el
 
 (autoload 'tar-mode "tar-mode" "\
@@ -9120,7 +9348,7 @@
 
 ;;;***
 
-;;;### (autoloads (terminal-emulator) "terminal" "packages/terminal.el" (12743 11605))
+;;;### (autoloads (terminal-emulator) "terminal" "packages/terminal.el" (12983 26010))
 ;;; Generated autoloads from packages/terminal.el
 
 (autoload 'terminal-emulator "terminal" "\
@@ -9156,13 +9384,13 @@
 work with `terminfo' we will try to use it." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "tex-latin1" "packages/tex-latin1.el" (12698 33545))
+
+;;;***
+
+;;;### (autoloads nil "tex-latin1" "packages/tex-latin1.el" (12983 26000))
 ;;; Generated autoloads from packages/tex-latin1.el
-
-;;;***
-
-;;;### (autoloads (batch-texinfo-format texinfo-format-region texinfo-format-buffer) "texinfmt" "packages/texinfmt.el" (12860 19400))
+
+;;;### (autoloads (batch-texinfo-format texinfo-format-region texinfo-format-buffer) "texinfmt" "packages/texinfmt.el" (12983 26812))
 ;;; Generated autoloads from packages/texinfmt.el
 
 (autoload 'texinfo-format-buffer "texinfmt" "\
@@ -9188,11 +9416,13 @@
   \"emacs -batch -funcall batch-texinfo-format $docs/ ~/*.texinfo\"." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "texnfo-tex" "packages/texnfo-tex.el" (12657 40704))
+
+;;;***
+
+;;;### (autoloads nil "texnfo-tex" "packages/texnfo-tex.el" (12983 26015))
 ;;; Generated autoloads from packages/texnfo-tex.el
 
-;;;### (autoloads (texinfo-sequential-node-update texinfo-every-node-update texinfo-update-node) "texnfo-upd" "packages/texnfo-upd.el" (12893 48280))
+;;;### (autoloads (texinfo-sequential-node-update texinfo-every-node-update texinfo-update-node) "texnfo-upd" "packages/texnfo-upd.el" (12983 27322))
 ;;; Generated autoloads from packages/texnfo-upd.el
 
 (autoload 'texinfo-update-node "texnfo-upd" "\
@@ -9238,7 +9468,7 @@
 
 ;;;***
 
-;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" "packages/time-stamp.el" (12869 6042))
+;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" "packages/time-stamp.el" (12983 27313))
 ;;; Generated autoloads from packages/time-stamp.el
 
 (autoload 'time-stamp "time-stamp" "\
@@ -9262,7 +9492,7 @@
 
 ;;;***
 
-;;;### (autoloads (display-time) "time" "packages/time.el" (12860 19391))
+;;;### (autoloads (display-time) "time" "packages/time.el" (12983 26806))
 ;;; Generated autoloads from packages/time.el
 
 (defvar display-time-day-and-date nil "\
@@ -9280,11 +9510,13 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "uncompress" "packages/uncompress.el" (12860 19397))
+
+;;;***
+
+;;;### (autoloads nil "uncompress" "packages/uncompress.el" (12983 26811))
 ;;; Generated autoloads from packages/uncompress.el
 
-;;;### (autoloads (ununderline-and-unoverstrike-region overstrike-region unoverstrike-region ununderline-region underline-region) "underline" "packages/underline.el" (12860 19398))
+;;;### (autoloads (ununderline-and-unoverstrike-region overstrike-region unoverstrike-region ununderline-region underline-region) "underline" "packages/underline.el" (12983 26811))
 ;;; Generated autoloads from packages/underline.el
 
 (autoload 'underline-region "underline" "\
@@ -9314,7 +9546,7 @@
 
 ;;;***
 
-;;;### (autoloads (ask-to-update-copyright update-copyright) "upd-copyr" "packages/upd-copyr.el" (12546 50466))
+;;;### (autoloads (ask-to-update-copyright update-copyright) "upd-copyr" "packages/upd-copyr.el" (12983 26015))
 ;;; Generated autoloads from packages/upd-copyr.el
 
 (defvar copyright-do-not-disturb "Free Software Foundation, Inc." "\
@@ -9347,13 +9579,13 @@
 Put this on write-file-hooks." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "vc-hooks" "packages/vc-hooks.el" (12728 13779))
+
+;;;***
+
+;;;### (autoloads nil "vc-hooks" "packages/vc-hooks.el" (12983 25991))
 ;;; Generated autoloads from packages/vc-hooks.el
-
-;;;***
-
-;;;### (autoloads (vc-update-change-log vc-rename-this-file vc-rename-file vc-cancel-version vc-revert-buffer vc-print-log vc-retrieve-snapshot vc-create-snapshot vc-directory vc-insert-headers vc-version-other-window vc-version-diff vc-diff vc-register vc-next-action vc-file-status) "vc" "packages/vc.el" (12976 37023))
+
+;;;### (autoloads (vc-update-change-log vc-rename-this-file vc-rename-file vc-cancel-version vc-revert-buffer vc-print-log vc-retrieve-snapshot vc-create-snapshot vc-directory vc-insert-headers vc-version-other-window vc-version-diff vc-diff vc-register vc-next-action vc-file-status) "vc" "packages/vc.el" (12983 27909))
 ;;; Generated autoloads from packages/vc.el
 
 (defvar vc-checkin-hook nil "\
@@ -9483,11 +9715,13 @@
 From a program, any arguments are passed to the `rcs2log' script." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "webster-ucb" "packages/webster-ucb.el" (12547 2446))
+
+;;;***
+
+;;;### (autoloads nil "webster-ucb" "packages/webster-ucb.el" (12983 26014))
 ;;; Generated autoloads from packages/webster-ucb.el
 
-;;;### (autoloads (webster-spell webster-endings webster) "webster" "packages/webster.el" (12547 2449))
+;;;### (autoloads (webster-spell webster-endings webster) "webster" "packages/webster.el" (12983 26017))
 ;;; Generated autoloads from packages/webster.el
 
 (autoload 'webster "webster" "\
@@ -9507,7 +9741,7 @@
 
 ;;;***
 
-;;;### (autoloads (run-scheme) "xscheme" "packages/xscheme.el" (12851 23446))
+;;;### (autoloads (run-scheme) "xscheme" "packages/xscheme.el" (12983 26813))
 ;;; Generated autoloads from packages/xscheme.el
 
 (defvar scheme-program-name "scheme" "\
@@ -9532,43 +9766,45 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "cookie" "pcl-cvs/cookie.el" (12851 23481))
+
+;;;***
+
+;;;### (autoloads nil "cookie" "pcl-cvs/cookie.el" (12983 26841))
 ;;; Generated autoloads from pcl-cvs/cookie.el
-
-;;;### (autoloads nil "dll-debug" "pcl-cvs/dll-debug.el" (12675 57121))
+
+;;;***
+
+;;;### (autoloads nil "dll-debug" "pcl-cvs/dll-debug.el" (12983 26058))
 ;;; Generated autoloads from pcl-cvs/dll-debug.el
 
 ;;;***
 
-;;;### (autoloads nil "dll" "pcl-cvs/dll.el" (12675 57122))
+;;;### (autoloads nil "dll" "pcl-cvs/dll.el" (12983 26059))
 ;;; Generated autoloads from pcl-cvs/dll.el
 
 ;;;***
 
-;;;### (autoloads nil "elib-node" "pcl-cvs/elib-node.el" (12675 57122))
+;;;### (autoloads nil "elib-node" "pcl-cvs/elib-node.el" (12983 26059))
 ;;; Generated autoloads from pcl-cvs/elib-node.el
-
-;;;***
 
 ;;;### (autoloads nil "pcl-cvs-lucid" "pcl-cvs/pcl-cvs-lucid.el" (12675 57126))
 ;;; Generated autoloads from pcl-cvs/pcl-cvs-lucid.el
 
 ;;;***
-
-;;;### (autoloads nil "pcl-cvs-startup" "pcl-cvs/pcl-cvs-startup.el" (12675 57121))
+
+;;;***
+
+;;;### (autoloads nil "pcl-cvs-startup" "pcl-cvs/pcl-cvs-startup.el" (12983 26059))
 ;;; Generated autoloads from pcl-cvs/pcl-cvs-startup.el
-
-;;;***
-
-;;;### (autoloads (pcl-cvs-fontify) "pcl-cvs-xemacs" "pcl-cvs/pcl-cvs-xemacs.el" (12686 31800))
+
+;;;### (autoloads (pcl-cvs-fontify) "pcl-cvs-xemacs" "pcl-cvs/pcl-cvs-xemacs.el" (12983 26060))
 ;;; Generated autoloads from pcl-cvs/pcl-cvs-xemacs.el
 
 (autoload 'pcl-cvs-fontify "pcl-cvs-xemacs" nil nil nil)
 
 ;;;***
 
-;;;### (autoloads (cvs-update-other-window cvs-update) "pcl-cvs" "pcl-cvs/pcl-cvs.el" (12686 31728))
+;;;### (autoloads (cvs-update-other-window cvs-update) "pcl-cvs" "pcl-cvs/pcl-cvs.el" (12988 54979))
 ;;; Generated autoloads from pcl-cvs/pcl-cvs.el
 
 (autoload 'cvs-update "pcl-cvs" "\
@@ -9584,20 +9820,20 @@
 If optional prefix argument LOCAL is non-nil, 'cvs update -l' is run." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "string" "pcl-cvs/string.el" (12675 57127))
+
+;;;***
+
+;;;### (autoloads nil "string" "pcl-cvs/string.el" (12983 26060))
 ;;; Generated autoloads from pcl-cvs/string.el
-
-;;;***
-
-;;;### (autoloads (about-xemacs) "about" "prim/about.el" (12851 23470))
+
+;;;### (autoloads (about-xemacs) "about" "prim/about.el" (12983 26830))
 ;;; Generated autoloads from prim/about.el
 
 (autoload 'about-xemacs "about" nil t nil)
 
 ;;;***
 
-;;;### (autoloads (all-hail-emacs all-hail-xemacs praise-be-unto-emacs praise-be-unto-xemacs) "advocacy" "prim/advocacy.el" (12860 19434))
+;;;### (autoloads (all-hail-emacs all-hail-xemacs praise-be-unto-emacs praise-be-unto-xemacs) "advocacy" "prim/advocacy.el" (12983 26840))
 ;;; Generated autoloads from prim/advocacy.el
 
 (defvar xemacs-praise-sound-file "sounds/im_so_happy.au" "\
@@ -9618,18 +9854,22 @@
 (autoload 'all-hail-emacs "advocacy" nil t nil)
 
 ;;;***
-
-;;;### (autoloads nil "backquote" "prim/backquote.el" (12546 50509))
+
+;;;***
+
+;;;### (autoloads nil "backquote" "prim/backquote.el" (12983 26056))
 ;;; Generated autoloads from prim/backquote.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "buffer" "prim/buffer.el" (12941 13414))
+;;;### (autoloads nil "buffer" "prim/buffer.el" (12983 27342))
 ;;; Generated autoloads from prim/buffer.el
-
-;;;### (autoloads (describe-buffer-case-table) "case-table" "prim/case-table.el" (12851 23462))
+
+;;;***
+
+;;;### (autoloads (describe-buffer-case-table) "case-table" "prim/case-table.el" (12983 26038))
 ;;; Generated autoloads from prim/case-table.el
 
 (autoload 'describe-buffer-case-table "case-table" "\
@@ -9639,21 +9879,20 @@
 
 ;;;***
 
-;;;### (autoloads nil "cmdloop" "prim/cmdloop.el" (12851 23468))
+;;;### (autoloads nil "cmdloop" "prim/cmdloop.el" (12983 26833))
 ;;; Generated autoloads from prim/cmdloop.el
-
-;;;### (autoloads nil "cmdloop1" "prim/cmdloop1.el" (12546 50501))
+
+;;;***
+
+;;;### (autoloads nil "cmdloop1" "prim/cmdloop1.el" (12983 26050))
 ;;; Generated autoloads from prim/cmdloop1.el
 
 ;;;***
 
-;;;### (autoloads nil "console" "prim/console.el" (12546 50529))
+;;;### (autoloads nil "console" "prim/console.el" (12983 26057))
 ;;; Generated autoloads from prim/console.el
 
-;;;### (autoloads nil "curmudgeon" "prim/curmudgeon.el" (12648 454))
-;;; Generated autoloads from prim/curmudgeon.el
-
-;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" "prim/debug.el" (12868 31993))
+;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" "prim/debug.el" (12983 27332))
 ;;; Generated autoloads from prim/debug.el
 
 (autoload 'debug "debug" "\
@@ -9678,16 +9917,18 @@
 If argument is nil or an empty string, cancel for all functions." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "device" "prim/device.el" (12573 6019))
+
+;;;***
+
+;;;### (autoloads nil "device" "prim/device.el" (12983 26038))
 ;;; Generated autoloads from prim/device.el
 
 ;;;***
 
-;;;### (autoloads nil "dialog" "prim/dialog.el" (12573 6368))
+;;;### (autoloads nil "dialog" "prim/dialog.el" (12983 26053))
 ;;; Generated autoloads from prim/dialog.el
 
-;;;### (autoloads (standard-display-european standard-display-underline standard-display-graphic standard-display-g1 standard-display-ascii standard-display-default standard-display-8bit make-display-table describe-current-display-table) "disp-table" "prim/disp-table.el" (12851 23478))
+;;;### (autoloads (standard-display-european standard-display-underline standard-display-graphic standard-display-g1 standard-display-ascii standard-display-default standard-display-8bit make-display-table describe-current-display-table) "disp-table" "prim/disp-table.el" (12983 26836))
 ;;; Generated autoloads from prim/disp-table.el
 
 (autoload 'describe-current-display-table "disp-table" "\
@@ -9726,7 +9967,7 @@
 
 ;;;***
 
-;;;### (autoloads (setenv) "env" "prim/env.el" (12860 19430))
+;;;### (autoloads (setenv) "env" "prim/env.el" (12983 26834))
 ;;; Generated autoloads from prim/env.el
 
 (autoload 'setenv "env" "\
@@ -9741,20 +9982,22 @@
 This function works by modifying `process-environment'." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "events" "prim/events.el" (12727 30162))
+
+;;;***
+
+;;;### (autoloads nil "events" "prim/events.el" (12983 26057))
 ;;; Generated autoloads from prim/events.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "extents" "prim/extents.el" (12851 23473))
+;;;### (autoloads nil "extents" "prim/extents.el" (12983 26835))
 ;;; Generated autoloads from prim/extents.el
 
 ;;;***
 
-;;;### (autoloads nil "faces" "prim/faces.el" (12851 23477))
+;;;### (autoloads nil "faces" "prim/faces.el" (12983 26821))
 ;;; Generated autoloads from prim/faces.el
 
 ;;;***
@@ -9767,75 +10010,89 @@
 
 ;;;***
 
-;;;### (autoloads nil "files" "prim/files.el" (12975 35300))
+;;;### (autoloads nil "files" "prim/files.el" (12988 32998))
 ;;; Generated autoloads from prim/files.el
-
-;;;### (autoloads nil "fill" "prim/fill.el" (12877 49271))
+
+;;;***
+
+;;;### (autoloads nil "fill" "prim/fill.el" (12983 27330))
 ;;; Generated autoloads from prim/fill.el
-
-;;;### (autoloads nil "float-sup" "prim/float-sup.el" (12860 19426))
+
+;;;***
+
+;;;### (autoloads nil "float-sup" "prim/float-sup.el" (12983 26825))
 ;;; Generated autoloads from prim/float-sup.el
 
 ;;;***
 
-;;;### (autoloads nil "format" "prim/format.el" (12869 1042))
+;;;### (autoloads nil "format" "prim/format.el" (12983 27342))
 ;;; Generated autoloads from prim/format.el
 
 ;;;***
-
-;;;### (autoloads nil "frame" "prim/frame.el" (12851 23472))
+
+;;;***
+
+;;;### (autoloads nil "frame" "prim/frame.el" (12992 16709))
 ;;; Generated autoloads from prim/frame.el
-
-;;;### (autoloads nil "glyphs" "prim/glyphs.el" (12740 25218))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "glyphs" "prim/glyphs.el" (12988 32999))
 ;;; Generated autoloads from prim/glyphs.el
-
-;;;### (autoloads nil "gui" "prim/gui.el" (12648 18603))
+
+;;;***
+
+;;;### (autoloads nil "gui" "prim/gui.el" (12983 26054))
 ;;; Generated autoloads from prim/gui.el
 
 ;;;***
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "help" "prim/help.el" (12897 20925))
+
+;;;### (autoloads nil "help" "prim/help.el" (12996 6745))
 ;;; Generated autoloads from prim/help.el
-
-;;;### (autoloads nil "inc-vers" "prim/inc-vers.el" (12546 50487))
+
+;;;***
+
+;;;### (autoloads nil "inc-vers" "prim/inc-vers.el" (12983 26042))
 ;;; Generated autoloads from prim/inc-vers.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "indent" "prim/indent.el" (12869 152))
+
+;;;### (autoloads nil "indent" "prim/indent.el" (12983 27331))
 ;;; Generated autoloads from prim/indent.el
 
 ;;;***
 
-;;;### (autoloads nil "isearch-mode" "prim/isearch-mode.el" (12698 33552))
+;;;### (autoloads nil "isearch-mode" "prim/isearch-mode.el" (12983 26054))
 ;;; Generated autoloads from prim/isearch-mode.el
 
 ;;;***
 
-;;;### (autoloads nil "itimer" "prim/itimer.el" (12546 50498))
+;;;### (autoloads nil "itimer" "prim/itimer.el" (12983 26050))
 ;;; Generated autoloads from prim/itimer.el
-
-;;;### (autoloads nil "keydefs" "prim/keydefs.el" (12639 8614))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "keydefs" "prim/keydefs.el" (12983 26042))
 ;;; Generated autoloads from prim/keydefs.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "keymap" "prim/keymap.el" (12851 23469))
+
+;;;### (autoloads nil "keymap" "prim/keymap.el" (12983 26833))
 ;;; Generated autoloads from prim/keymap.el
 
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "lisp" "prim/lisp.el" (12976 34290))
+
+;;;***
+
+;;;### (autoloads nil "lisp" "prim/lisp.el" (12991 23249))
 ;;; Generated autoloads from prim/lisp.el
 
 ;;;***
@@ -9860,20 +10117,18 @@
 
 ;;;***
 
-;;;### (autoloads nil "loaddefs" "prim/loaddefs.el" (12978 37092))
+;;;### (autoloads nil "loaddefs" "prim/loaddefs.el" (12988 40815))
 ;;; Generated autoloads from prim/loaddefs.el
-
-;;;***
-
-;;;### (autoloads nil "loadup-el" "prim/loadup-el.el" (12639 8618))
+
+;;;### (autoloads nil "loadup-el" "prim/loadup-el.el" (12983 26053))
 ;;; Generated autoloads from prim/loadup-el.el
 
 ;;;***
 
-;;;### (autoloads nil "loadup" "prim/loadup.el" (12971 18018))
+;;;### (autoloads nil "loadup" "prim/loadup.el" (12988 33000))
 ;;; Generated autoloads from prim/loadup.el
 
-;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro name-last-kbd-macro) "macros" "prim/macros.el" (12546 50477))
+;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro name-last-kbd-macro) "macros" "prim/macros.el" (12983 26037))
 ;;; Generated autoloads from prim/macros.el
 
 (autoload 'name-last-kbd-macro "macros" "\
@@ -9952,8 +10207,10 @@
 " t nil)
 
 ;;;***
-
-;;;### (autoloads nil "menubar" "prim/menubar.el" (12648 18588))
+
+;;;***
+
+;;;### (autoloads nil "menubar" "prim/menubar.el" (12983 26057))
 ;;; Generated autoloads from prim/menubar.el
 
 ;;;***
@@ -9966,26 +10223,30 @@
 
 ;;;***
 
-;;;### (autoloads nil "minibuf" "prim/minibuf.el" (12977 40507))
+;;;### (autoloads nil "minibuf" "prim/minibuf.el" (12983 27934))
 ;;; Generated autoloads from prim/minibuf.el
-
-;;;### (autoloads nil "misc" "prim/misc.el" (12860 19429))
+
+;;;***
+
+;;;### (autoloads nil "misc" "prim/misc.el" (12983 26826))
 ;;; Generated autoloads from prim/misc.el
-
-;;;### (autoloads nil "mode-motion" "prim/mode-motion.el" (12657 40715))
+
+;;;***
+
+;;;### (autoloads nil "mode-motion" "prim/mode-motion.el" (12983 26038))
 ;;; Generated autoloads from prim/mode-motion.el
 
 ;;;***
 
-;;;### (autoloads nil "modeline" "prim/modeline.el" (12860 31802))
+;;;### (autoloads nil "modeline" "prim/modeline.el" (12983 26836))
 ;;; Generated autoloads from prim/modeline.el
 
 ;;;***
 
-;;;### (autoloads nil "mouse" "prim/mouse.el" (12976 36365))
+;;;### (autoloads nil "mouse" "prim/mouse.el" (12983 27933))
 ;;; Generated autoloads from prim/mouse.el
 
-;;;### (autoloads (disable-command enable-command disabled-command-hook) "novice" "prim/novice.el" (12869 1329))
+;;;### (autoloads (disable-command enable-command disabled-command-hook) "novice" "prim/novice.el" (12983 27334))
 ;;; Generated autoloads from prim/novice.el
 
 (autoload 'disabled-command-hook "novice" nil nil nil)
@@ -10001,18 +10262,18 @@
 to future sessions." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "objects" "prim/objects.el" (12573 6927))
+
+;;;***
+
+;;;### (autoloads nil "objects" "prim/objects.el" (12983 26057))
 ;;; Generated autoloads from prim/objects.el
 
 ;;;***
 
-;;;### (autoloads nil "obsolete" "prim/obsolete.el" (12698 33559))
+;;;### (autoloads nil "obsolete" "prim/obsolete.el" (12983 26053))
 ;;; Generated autoloads from prim/obsolete.el
-
-;;;***
-
-;;;### (autoloads (edit-options list-options) "options" "prim/options.el" (12869 58219))
+
+;;;### (autoloads (edit-options list-options) "options" "prim/options.el" (12983 27332))
 ;;; Generated autoloads from prim/options.el
 
 (autoload 'list-options "options" "\
@@ -10027,24 +10288,28 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "page" "prim/page.el" (12869 59057))
+
+;;;***
+
+;;;### (autoloads nil "page" "prim/page.el" (12983 27330))
 ;;; Generated autoloads from prim/page.el
 
 ;;;***
 
-;;;### (autoloads nil "paragraphs" "prim/paragraphs.el" (12869 59880))
+;;;### (autoloads nil "paragraphs" "prim/paragraphs.el" (12983 27335))
 ;;; Generated autoloads from prim/paragraphs.el
-
-;;;### (autoloads nil "process" "prim/process.el" (12727 30162))
+
+;;;***
+
+;;;### (autoloads nil "process" "prim/process.el" (12983 26055))
 ;;; Generated autoloads from prim/process.el
-
-;;;### (autoloads nil "profile" "prim/profile.el" (12607 29210))
+
+;;;***
+
+;;;### (autoloads nil "profile" "prim/profile.el" (12983 26057))
 ;;; Generated autoloads from prim/profile.el
-
-;;;***
-
-;;;### (autoloads (clear-rectangle string-rectangle open-rectangle insert-rectangle yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle delete-rectangle) "rect" "prim/rect.el" (12868 62568))
+
+;;;### (autoloads (clear-rectangle string-rectangle open-rectangle insert-rectangle yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle delete-rectangle) "rect" "prim/rect.el" (12983 27333))
 ;;; Generated autoloads from prim/rect.el
 
 (autoload 'delete-rectangle "rect" "\
@@ -10100,8 +10365,10 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "register" "prim/register.el" (12868 63160))
+
+;;;***
+
+;;;### (autoloads nil "register" "prim/register.el" (12983 27332))
 ;;; Generated autoloads from prim/register.el
 
 ;;;***
@@ -10112,10 +10379,10 @@
 
 ;;;***
 
-;;;### (autoloads nil "replace" "prim/replace.el" (12967 11006))
+;;;### (autoloads nil "replace" "prim/replace.el" (12983 27332))
 ;;; Generated autoloads from prim/replace.el
 
-;;;### (autoloads (reposition-window) "reposition" "prim/reposition.el" (12868 64283))
+;;;### (autoloads (reposition-window) "reposition" "prim/reposition.el" (12983 27334))
 ;;; Generated autoloads from prim/reposition.el
 
 (autoload 'reposition-window "reposition" "\
@@ -10138,8 +10405,10 @@
 first comment line visible (if point is in a comment)." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "scrollbar" "prim/scrollbar.el" (12546 50512))
+
+;;;***
+
+;;;### (autoloads nil "scrollbar" "prim/scrollbar.el" (12983 26055))
 ;;; Generated autoloads from prim/scrollbar.el
 
 ;;;***
@@ -10152,10 +10421,10 @@
 
 ;;;***
 
-;;;### (autoloads nil "simple" "prim/simple.el" (12976 34445))
+;;;### (autoloads nil "simple" "prim/simple.el" (12988 33001))
 ;;; Generated autoloads from prim/simple.el
 
-;;;### (autoloads (reverse-region sort-columns sort-regexp-fields sort-fields sort-float-fields sort-numeric-fields sort-pages sort-paragraphs sort-lines sort-subr) "sort" "prim/sort.el" (12868 64792))
+;;;### (autoloads (reverse-region sort-columns sort-regexp-fields sort-fields sort-float-fields sort-numeric-fields sort-pages sort-paragraphs sort-lines sort-subr) "sort" "prim/sort.el" (12996 13148))
 ;;; Generated autoloads from prim/sort.el
 
 (autoload 'sort-subr "sort" "\
@@ -10170,6 +10439,8 @@
 
 Usually the records are rearranged in order of ascending sort key.
 If REVERSE is non-nil, they are rearranged in order of descending sort key.
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
 
 The next four arguments are functions to be called to move point
 across a sort record.  They will be called many times from within sort-subr.
@@ -10196,17 +10467,23 @@
 (autoload 'sort-lines "sort" "\
 Sort lines in region alphabetically; argument means descending order.
 Called from a program, there are three arguments:
-REVERSE (non-nil means reverse order), BEG and END (region to sort)." t nil)
+REVERSE (non-nil means reverse order), BEG and END (region to sort).
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order." t nil)
 
 (autoload 'sort-paragraphs "sort" "\
 Sort paragraphs in region alphabetically; argument means descending order.
 Called from a program, there are three arguments:
-REVERSE (non-nil means reverse order), BEG and END (region to sort)." t nil)
+REVERSE (non-nil means reverse order), BEG and END (region to sort).
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order." t nil)
 
 (autoload 'sort-pages "sort" "\
 Sort pages in region alphabetically; argument means descending order.
 Called from a program, there are three arguments:
-REVERSE (non-nil means reverse order), BEG and END (region to sort)." t nil)
+REVERSE (non-nil means reverse order), BEG and END (region to sort).
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order." t nil)
 
 (autoload 'sort-numeric-fields "sort" "\
 Sort lines in region numerically by the ARGth field of each line.
@@ -10215,6 +10492,8 @@
 With a negative arg, sorts by the ARGth field counted from the right.
 Called from a program, there are three arguments:
 FIELD, BEG and END.  BEG and END specify region to sort.
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
 If you want to sort floating-point numbers, try `sort-float-fields'." t nil)
 
 (autoload 'sort-float-fields "sort" "\
@@ -10246,6 +10525,9 @@
 
 With a negative prefix arg sorts in reverse order.
 
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
+
 For example: to sort lines in the region by the first word on each line
  starting with the letter \"f\",
  RECORD-REGEXP would be \"^.*$\" and KEY would be \"\\\\=\\<f\\\\w*\\\\>\"" t nil)
@@ -10256,6 +10538,8 @@
 the entire line that point is in and the entire line the mark is in.
 The column positions of point and mark bound the range of columns to sort on.
 A prefix argument means sort into reverse order.
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
 
 Note that `sort-columns' rejects text that contains tabs,
 because tabs could be split across the specified columns
@@ -10269,7 +10553,7 @@
 
 ;;;***
 
-;;;### (autoloads (load-default-sounds load-sound-file) "sound" "prim/sound.el" (12546 50494))
+;;;### (autoloads (load-default-sounds load-sound-file) "sound" "prim/sound.el" (12983 26049))
 ;;; Generated autoloads from prim/sound.el
 
 (or sound-alist (setq sound-alist '((ready nil) (warp nil))))
@@ -10289,31 +10573,37 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "specifier" "prim/specifier.el" (12851 23475))
+
+;;;***
+
+;;;### (autoloads nil "specifier" "prim/specifier.el" (12983 26836))
 ;;; Generated autoloads from prim/specifier.el
 
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "startup" "prim/startup.el" (12975 23336))
+
+;;;***
+
+;;;### (autoloads nil "startup" "prim/startup.el" (12995 23032))
 ;;; Generated autoloads from prim/startup.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "subr" "prim/subr.el" (12971 17139))
+
+;;;### (autoloads nil "subr" "prim/subr.el" (12983 27329))
 ;;; Generated autoloads from prim/subr.el
-
-;;;### (autoloads nil "symbols" "prim/symbols.el" (12546 50529))
+
+;;;***
+
+;;;### (autoloads nil "symbols" "prim/symbols.el" (12983 26057))
 ;;; Generated autoloads from prim/symbols.el
-
-;;;### (autoloads nil "syntax" "prim/syntax.el" (12851 23473))
+
+;;;***
+
+;;;### (autoloads nil "syntax" "prim/syntax.el" (12983 26051))
 ;;; Generated autoloads from prim/syntax.el
 
-;;;### (autoloads (tabify untabify) "tabify" "prim/tabify.el" (12860 19429))
+;;;### (autoloads (tabify untabify) "tabify" "prim/tabify.el" (12983 26833))
 ;;; Generated autoloads from prim/tabify.el
 
 (autoload 'untabify "tabify" "\
@@ -10331,23 +10621,25 @@
 The variable `tab-width' controls the spacing of tab stops." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "toolbar" "prim/toolbar.el" (12573 6011))
+
+;;;***
+
+;;;### (autoloads nil "toolbar" "prim/toolbar.el" (12983 26050))
 ;;; Generated autoloads from prim/toolbar.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "undo-stack" "prim/undo-stack.el" (12851 23479))
+;;;### (autoloads nil "undo-stack" "prim/undo-stack.el" (12983 26840))
 ;;; Generated autoloads from prim/undo-stack.el
-
-;;;### (autoloads nil "update-elc" "prim/update-elc.el" (12546 50504))
+
+;;;***
+
+;;;### (autoloads nil "update-elc" "prim/update-elc.el" (12983 26053))
 ;;; Generated autoloads from prim/update-elc.el
-
-;;;***
-
-;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) "userlock" "prim/userlock.el" (12869 60811))
+
+;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) "userlock" "prim/userlock.el" (12983 27338))
 ;;; Generated autoloads from prim/userlock.el
 
 (autoload 'ask-user-about-lock "userlock" "\
@@ -10369,55 +10661,61 @@
 The buffer in question is current when this function is called." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "window" "prim/window.el" (12657 40725))
+
+;;;***
+
+;;;### (autoloads nil "window" "prim/window.el" (12983 26048))
 ;;; Generated autoloads from prim/window.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "iso-sgml" "psgml/iso-sgml.el" (12851 23594))
+;;;### (autoloads nil "iso-sgml" "psgml/iso-sgml.el" (12983 26945))
 ;;; Generated autoloads from psgml/iso-sgml.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "nefarious" "psgml/nefarious.el" (12860 19489))
+;;;### (autoloads nil "nefarious" "psgml/nefarious.el" (12983 26948))
 ;;; Generated autoloads from psgml/nefarious.el
-
-;;;### (autoloads nil "psgml-api" "psgml/psgml-api.el" (12851 23596))
+
+;;;***
+
+;;;### (autoloads nil "psgml-api" "psgml/psgml-api.el" (12983 26945))
 ;;; Generated autoloads from psgml/psgml-api.el
 
 ;;;***
 
-;;;### (autoloads nil "psgml-charent" "psgml/psgml-charent.el" (12851 23597))
+;;;### (autoloads nil "psgml-charent" "psgml/psgml-charent.el" (12983 26945))
 ;;; Generated autoloads from psgml/psgml-charent.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "psgml-debug" "psgml/psgml-debug.el" (12860 19480))
+;;;### (autoloads nil "psgml-debug" "psgml/psgml-debug.el" (12983 26945))
 ;;; Generated autoloads from psgml/psgml-debug.el
-
-;;;### (autoloads nil "psgml-dtd" "psgml/psgml-dtd.el" (12851 23598))
+
+;;;***
+
+;;;### (autoloads nil "psgml-dtd" "psgml/psgml-dtd.el" (12983 26945))
 ;;; Generated autoloads from psgml/psgml-dtd.el
 
 ;;;***
 
-;;;### (autoloads nil "psgml-edit" "psgml/psgml-edit.el" (12851 23600))
+;;;### (autoloads nil "psgml-edit" "psgml/psgml-edit.el" (12983 26946))
 ;;; Generated autoloads from psgml/psgml-edit.el
 
-;;;### (autoloads (style-format) "psgml-fs" "psgml/psgml-fs.el" (12851 23593))
+;;;### (autoloads (style-format) "psgml-fs" "psgml/psgml-fs.el" (12983 26945))
 ;;; Generated autoloads from psgml/psgml-fs.el
 
 (autoload 'style-format "psgml-fs" nil t nil)
 
 ;;;***
 
-;;;### (autoloads nil "psgml-html" "psgml/psgml-html.el" (12851 23601))
+;;;### (autoloads nil "psgml-html" "psgml/psgml-html.el" (12983 26946))
 ;;; Generated autoloads from psgml/psgml-html.el
 
 (autoload 'html-mode "psgml-html" "\
@@ -10429,33 +10727,37 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "psgml-info" "psgml/psgml-info.el" (12851 23602))
+
+;;;***
+
+;;;### (autoloads nil "psgml-info" "psgml/psgml-info.el" (12983 26946))
 ;;; Generated autoloads from psgml/psgml-info.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "psgml-lfix" "psgml/psgml-lfix.el" (12860 19490))
+;;;### (autoloads nil "psgml-lfix" "psgml/psgml-lfix.el" (12983 26948))
 ;;; Generated autoloads from psgml/psgml-lfix.el
-
-;;;### (autoloads nil "psgml-other" "psgml/psgml-other.el" (12851 23603))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "psgml-other" "psgml/psgml-other.el" (12983 26946))
 ;;; Generated autoloads from psgml/psgml-other.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "psgml-parse" "psgml/psgml-parse.el" (12860 19482))
+;;;### (autoloads nil "psgml-parse" "psgml/psgml-parse.el" (12989 49155))
 ;;; Generated autoloads from psgml/psgml-parse.el
-
-;;;***
-
-;;;### (autoloads nil "psgml-xemacs" "psgml/psgml-xemacs.el" (12851 23606))
+
+;;;### (autoloads nil "psgml-xemacs" "psgml/psgml-xemacs.el" (12983 26947))
 ;;; Generated autoloads from psgml/psgml-xemacs.el
 
-;;;### (autoloads (sgml-mode) "psgml" "psgml/psgml.el" (12860 19487))
+;;;### (autoloads (sgml-mode) "psgml" "psgml/psgml.el" (12983 26947))
 ;;; Generated autoloads from psgml/psgml.el
 
 (autoload 'sgml-mode "psgml" "\
@@ -10530,23 +10832,25 @@
 " t nil)
 
 ;;;***
-
-;;;### (autoloads nil "tempo" "psgml/tempo.el" (12648 18672))
+
+;;;***
+
+;;;### (autoloads nil "tempo" "psgml/tempo.el" (12983 26235))
 ;;; Generated autoloads from psgml/tempo.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "rmail-kill" "rmail/rmail-kill.el" (12864 53554))
+;;;### (autoloads nil "rmail-kill" "rmail/rmail-kill.el" (12983 27345))
 ;;; Generated autoloads from rmail/rmail-kill.el
 
 ;;;***
 
-;;;### (autoloads nil "rmail-xemacs" "rmail/rmail-xemacs.el" (12864 48388))
+;;;### (autoloads nil "rmail-xemacs" "rmail/rmail-xemacs.el" (12983 27346))
 ;;; Generated autoloads from rmail/rmail-xemacs.el
 
-;;;### (autoloads (rmail-input rmail-mode rmail) "rmail" "rmail/rmail.el" (12864 50999))
+;;;### (autoloads (rmail-input rmail-mode rmail) "rmail" "rmail/rmail.el" (12983 27346))
 ;;; Generated autoloads from rmail/rmail.el
 
 (defvar rmail-dont-reply-to-names nil "\
@@ -10654,43 +10958,45 @@
 Run Rmail on file FILENAME." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "rmailedit" "rmail/rmailedit.el" (12376 19554))
+
+;;;***
+
+;;;### (autoloads nil "rmailedit" "rmail/rmailedit.el" (12983 26061))
 ;;; Generated autoloads from rmail/rmailedit.el
 
 ;;;***
 
-;;;### (autoloads nil "rmailkwd" "rmail/rmailkwd.el" (12376 19555))
+;;;### (autoloads nil "rmailkwd" "rmail/rmailkwd.el" (12983 26066))
 ;;; Generated autoloads from rmail/rmailkwd.el
 
 ;;;***
 
-;;;### (autoloads nil "rmailmsc" "rmail/rmailmsc.el" (12376 19555))
+;;;### (autoloads nil "rmailmsc" "rmail/rmailmsc.el" (12983 26066))
 ;;; Generated autoloads from rmail/rmailmsc.el
 
-;;;### (autoloads (rmail-file-p) "rmailout" "rmail/rmailout.el" (12376 19556))
+;;;### (autoloads (rmail-file-p) "rmailout" "rmail/rmailout.el" (12983 26067))
 ;;; Generated autoloads from rmail/rmailout.el
 
 (autoload 'rmail-file-p "rmailout" nil nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "rmailsort" "rmail/rmailsort.el" (12376 19557))
+
+;;;***
+
+;;;### (autoloads nil "rmailsort" "rmail/rmailsort.el" (12983 26068))
 ;;; Generated autoloads from rmail/rmailsort.el
 
 ;;;***
 
-;;;### (autoloads nil "rmailsum" "rmail/rmailsum.el" (12546 50532))
+;;;### (autoloads nil "rmailsum" "rmail/rmailsum.el" (12983 26067))
 ;;; Generated autoloads from rmail/rmailsum.el
 
 ;;;***
 
-;;;### (autoloads nil "undigest" "rmail/undigest.el" (12546 50532))
+;;;### (autoloads nil "undigest" "rmail/undigest.el" (12983 26069))
 ;;; Generated autoloads from rmail/undigest.el
-
-;;;***
-
-;;;### (autoloads (unrmail batch-unrmail) "unrmail" "rmail/unrmail.el" (12147 25753))
+
+;;;### (autoloads (unrmail batch-unrmail) "unrmail" "rmail/unrmail.el" (12983 26069))
 ;;; Generated autoloads from rmail/unrmail.el
 
 (autoload 'batch-unrmail "unrmail" "\
@@ -10711,363 +11017,387 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "sunpro-init" "sunpro/sunpro-init.el" (12851 23501))
+
+;;;***
+
+;;;### (autoloads nil "sunpro-init" "sunpro/sunpro-init.el" (12983 26875))
 ;;; Generated autoloads from sunpro/sunpro-init.el
 
 ;;;***
 
-;;;### (autoloads nil "sunpro-keys" "sunpro/sunpro-keys.el" (11903 15927))
+;;;### (autoloads nil "sunpro-keys" "sunpro/sunpro-keys.el" (12983 26111))
 ;;; Generated autoloads from sunpro/sunpro-keys.el
-
-;;;### (autoloads nil "sunpro-load" "sunpro/sunpro-load.el" (12256 51714))
+
+;;;***
+
+;;;### (autoloads nil "sunpro-load" "sunpro/sunpro-load.el" (12983 26111))
 ;;; Generated autoloads from sunpro/sunpro-load.el
 
 ;;;***
 
-;;;### (autoloads nil "sunpro-menubar" "sunpro/sunpro-menubar.el" (12740 25229))
+;;;### (autoloads nil "sunpro-menubar" "sunpro/sunpro-menubar.el" (12983 26111))
 ;;; Generated autoloads from sunpro/sunpro-menubar.el
 
 ;;;***
 
-;;;### (autoloads nil "sunpro-sparcworks" "sunpro/sunpro-sparcworks.el" (12740 25231))
+;;;### (autoloads nil "sunpro-sparcworks" "sunpro/sunpro-sparcworks.el" (12983 26112))
 ;;; Generated autoloads from sunpro/sunpro-sparcworks.el
-
-;;;***
 
 ;;;### (autoloads nil "workshop" "sunpro/workshop.el" (12690 2204))
 ;;; Generated autoloads from sunpro/workshop.el
-
-;;;### (autoloads nil "AT386" "term/AT386.el" (12639 8852))
+
+;;;***
+
+;;;### (autoloads nil "AT386" "term/AT386.el" (12983 26070))
 ;;; Generated autoloads from term/AT386.el
 
 ;;;***
 
-;;;### (autoloads nil "apollo" "term/apollo.el" (12639 8854))
+;;;### (autoloads nil "apollo" "term/apollo.el" (12983 26070))
 ;;; Generated autoloads from term/apollo.el
 
 ;;;***
 
-;;;### (autoloads nil "bg-mouse" "term/bg-mouse.el" (12639 8854))
+;;;### (autoloads nil "bg-mouse" "term/bg-mouse.el" (12983 26071))
 ;;; Generated autoloads from term/bg-mouse.el
 
 ;;;***
 
-;;;### (autoloads nil "bobcat" "term/bobcat.el" (12639 8855))
+;;;### (autoloads nil "bobcat" "term/bobcat.el" (12983 26071))
 ;;; Generated autoloads from term/bobcat.el
 
 ;;;***
 
-;;;### (autoloads nil "internal" "term/internal.el" (12639 8855))
+;;;### (autoloads nil "internal" "term/internal.el" (12983 26071))
 ;;; Generated autoloads from term/internal.el
 
 ;;;***
 
-;;;### (autoloads nil "keyswap" "term/keyswap.el" (12639 8855))
+;;;### (autoloads nil "keyswap" "term/keyswap.el" (12983 26071))
 ;;; Generated autoloads from term/keyswap.el
 
 ;;;***
 
-;;;### (autoloads nil "linux" "term/linux.el" (12639 8856))
+;;;### (autoloads nil "linux" "term/linux.el" (12983 26071))
 ;;; Generated autoloads from term/linux.el
 
 ;;;***
 
-;;;### (autoloads nil "lk201" "term/lk201.el" (12639 8857))
+;;;### (autoloads nil "lk201" "term/lk201.el" (12983 26071))
 ;;; Generated autoloads from term/lk201.el
 
 ;;;***
 
-;;;### (autoloads nil "news" "term/news.el" (12639 8642))
+;;;### (autoloads nil "news" "term/news.el" (12983 26069))
 ;;; Generated autoloads from term/news.el
 
 ;;;***
 
-;;;### (autoloads nil "pc-win" "term/pc-win.el" (12639 8858))
+;;;### (autoloads nil "pc-win" "term/pc-win.el" (12983 26071))
 ;;; Generated autoloads from term/pc-win.el
 
 ;;;***
 
-;;;### (autoloads nil "scoansi" "term/scoansi.el" (12740 25282))
+;;;### (autoloads nil "scoansi" "term/scoansi.el" (12983 26071))
 ;;; Generated autoloads from term/scoansi.el
 
 ;;;***
 
-;;;### (autoloads nil "sun-mouse" "term/sun-mouse.el" (12851 23483))
+;;;### (autoloads nil "sun-mouse" "term/sun-mouse.el" (12983 26848))
 ;;; Generated autoloads from term/sun-mouse.el
-
-;;;### (autoloads nil "sun" "term/sun.el" (12639 8861))
+
+;;;***
+
+;;;### (autoloads nil "sun" "term/sun.el" (12983 26071))
 ;;; Generated autoloads from term/sun.el
 
 ;;;***
 
-;;;### (autoloads nil "sup-mouse" "term/sup-mouse.el" (12639 8862))
+;;;### (autoloads nil "sup-mouse" "term/sup-mouse.el" (12983 26071))
 ;;; Generated autoloads from term/sup-mouse.el
 
 ;;;***
 
-;;;### (autoloads nil "tty-init" "term/tty-init.el" (12698 33568))
+;;;### (autoloads nil "tty-init" "term/tty-init.el" (12983 26069))
 ;;; Generated autoloads from term/tty-init.el
-
-;;;### (autoloads nil "tvi970" "term/tvi970.el" (12639 8863))
+
+;;;***
+
+;;;### (autoloads nil "tvi970" "term/tvi970.el" (12983 26071))
 ;;; Generated autoloads from term/tvi970.el
-
-;;;### (autoloads nil "vt-control" "term/vt-control.el" (12376 19561))
+
+;;;***
+
+;;;### (autoloads nil "vt-control" "term/vt-control.el" (12983 26070))
 ;;; Generated autoloads from term/vt-control.el
 
 ;;;***
 
-;;;### (autoloads nil "vt100-led" "term/vt100-led.el" (12376 19560))
+;;;### (autoloads nil "vt100-led" "term/vt100-led.el" (12983 26070))
 ;;; Generated autoloads from term/vt100-led.el
 
 ;;;***
 
-;;;### (autoloads nil "vt100" "term/vt100.el" (12639 8643))
+;;;### (autoloads nil "vt100" "term/vt100.el" (12983 26069))
 ;;; Generated autoloads from term/vt100.el
 
 ;;;***
 
-;;;### (autoloads nil "vt102" "term/vt102.el" (12639 8864))
+;;;### (autoloads nil "vt102" "term/vt102.el" (12983 26071))
 ;;; Generated autoloads from term/vt102.el
 
 ;;;***
 
-;;;### (autoloads nil "vt125" "term/vt125.el" (12639 8864))
+;;;### (autoloads nil "vt125" "term/vt125.el" (12983 26071))
 ;;; Generated autoloads from term/vt125.el
 
 ;;;***
 
-;;;### (autoloads nil "vt200" "term/vt200.el" (12639 8865))
+;;;### (autoloads nil "vt200" "term/vt200.el" (12983 26071))
 ;;; Generated autoloads from term/vt200.el
 
 ;;;***
 
-;;;### (autoloads nil "vt201" "term/vt201.el" (12639 8866))
+;;;### (autoloads nil "vt201" "term/vt201.el" (12983 26071))
 ;;; Generated autoloads from term/vt201.el
 
 ;;;***
 
-;;;### (autoloads nil "vt220" "term/vt220.el" (12639 8867))
+;;;### (autoloads nil "vt220" "term/vt220.el" (12983 26071))
 ;;; Generated autoloads from term/vt220.el
 
 ;;;***
 
-;;;### (autoloads nil "vt240" "term/vt240.el" (12639 8867))
+;;;### (autoloads nil "vt240" "term/vt240.el" (12983 26071))
 ;;; Generated autoloads from term/vt240.el
 
 ;;;***
 
-;;;### (autoloads nil "vt300" "term/vt300.el" (12639 8867))
+;;;### (autoloads nil "vt300" "term/vt300.el" (12983 26071))
 ;;; Generated autoloads from term/vt300.el
 
 ;;;***
 
-;;;### (autoloads nil "vt320" "term/vt320.el" (12639 8868))
+;;;### (autoloads nil "vt320" "term/vt320.el" (12983 26071))
 ;;; Generated autoloads from term/vt320.el
 
 ;;;***
 
-;;;### (autoloads nil "vt400" "term/vt400.el" (12639 8868))
+;;;### (autoloads nil "vt400" "term/vt400.el" (12983 26071))
 ;;; Generated autoloads from term/vt400.el
 
 ;;;***
 
-;;;### (autoloads nil "vt420" "term/vt420.el" (12639 8869))
+;;;### (autoloads nil "vt420" "term/vt420.el" (12983 26071))
 ;;; Generated autoloads from term/vt420.el
 
 ;;;***
 
-;;;### (autoloads nil "win32-win" "term/win32-win.el" (12639 8869))
+;;;### (autoloads nil "win32-win" "term/win32-win.el" (12983 26071))
 ;;; Generated autoloads from term/win32-win.el
 
 ;;;***
 
-;;;### (autoloads nil "wyse50" "term/wyse50.el" (12639 8870))
+;;;### (autoloads nil "wyse50" "term/wyse50.el" (12983 26071))
 ;;; Generated autoloads from term/wyse50.el
 
 ;;;***
 
-;;;### (autoloads nil "xterm" "term/xterm.el" (12639 8870))
+;;;### (autoloads nil "xterm" "term/xterm.el" (12983 26071))
 ;;; Generated autoloads from term/xterm.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "bitmap" "tl/bitmap.el" (12674 16523))
+;;;### (autoloads nil "bitmap" "tl/bitmap.el" (12983 27443))
 ;;; Generated autoloads from tl/bitmap.el
 
 ;;;***
-
-;;;### (autoloads nil "cless" "tl/cless.el" (12862 10354))
+
+;;;***
+
+;;;### (autoloads nil "cless" "tl/cless.el" (12996 50654))
 ;;; Generated autoloads from tl/cless.el
 
 ;;;***
 
-;;;### (autoloads nil "emu-e19" "tl/emu-e19.el" (12881 7264))
+;;;### (autoloads nil "emu-e19" "tl/emu-e19.el" (12996 50654))
 ;;; Generated autoloads from tl/emu-e19.el
-
-;;;***
-
-;;;### (autoloads nil "emu-orig" "tl/emu-orig.el" (12661 2648))
+
+;;;### (autoloads nil "emu-orig" "tl/emu-orig.el" (12983 27443))
 ;;; Generated autoloads from tl/emu-orig.el
 
 ;;;***
-
-;;;### (autoloads nil "emu-x20" "tl/emu-x20.el" (12699 65190))
+
+;;;***
+
+;;;### (autoloads nil "emu-x20" "tl/emu-x20.el" (12996 50654))
 ;;; Generated autoloads from tl/emu-x20.el
 
 ;;;***
 
-;;;### (autoloads nil "emu-xemacs" "tl/emu-xemacs.el" (12839 1369))
+;;;### (autoloads nil "emu-xemacs" "tl/emu-xemacs.el" (12996 50654))
 ;;; Generated autoloads from tl/emu-xemacs.el
 
 ;;;***
 
-;;;### (autoloads nil "emu" "tl/emu.el" (12870 52383))
+;;;### (autoloads nil "emu" "tl/emu.el" (12996 50654))
 ;;; Generated autoloads from tl/emu.el
 
 ;;;***
 
-;;;### (autoloads nil "file-detect" "tl/file-detect.el" (12842 61245))
+;;;### (autoloads nil "file-detect" "tl/file-detect.el" (12996 50654))
 ;;; Generated autoloads from tl/file-detect.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "mime-setup" "tl/mime-setup.el" (12972 55323))
-;;; Generated autoloads from tl/mime-setup.el
-
-;;;### (autoloads nil "mu-comment" "tl/mu-comment.el" (12714 41382))
+;;;### (autoloads nil "filename" "tl/filename.el" (12996 50654))
+;;; Generated autoloads from tl/filename.el
+
+;;;### (autoloads nil "mu-comment" "tl/mu-comment.el" (12983 27443))
 ;;; Generated autoloads from tl/mu-comment.el
 
 ;;;***
 
-;;;### (autoloads nil "mu-replace" "tl/mu-replace.el" (12770 23464))
+;;;### (autoloads nil "mu-replace" "tl/mu-replace.el" (12983 27443))
 ;;; Generated autoloads from tl/mu-replace.el
 
 ;;;***
-
-;;;### (autoloads nil "range" "tl/range.el" (12819 55004))
+
+;;;***
+
+;;;### (autoloads nil "range" "tl/range.el" (12996 50654))
 ;;; Generated autoloads from tl/range.el
 
 ;;;***
 
-;;;### (autoloads nil "richtext" "tl/richtext.el" (12467 2855))
+;;;### (autoloads nil "richtext" "tl/richtext.el" (12996 50654))
 ;;; Generated autoloads from tl/richtext.el
 
 ;;;***
 
-;;;### (autoloads nil "texi-util" "tl/texi-util.el" (12893 1584))
+;;;### (autoloads nil "texi-util" "tl/texi-util.el" (12996 50654))
 ;;; Generated autoloads from tl/texi-util.el
-
-;;;***
-
-;;;### (autoloads nil "tinyrich" "tl/tinyrich.el" (12384 10532))
+
+;;;### (autoloads nil "tinyrich" "tl/tinyrich.el" (12983 27443))
 ;;; Generated autoloads from tl/tinyrich.el
 
 ;;;***
-
-;;;### (autoloads nil "tl-atype" "tl/tl-atype.el" (12870 33841))
+
+;;;***
+
+;;;### (autoloads nil "tl-atype" "tl/tl-atype.el" (12996 50654))
 ;;; Generated autoloads from tl/tl-atype.el
 
 ;;;***
 
-;;;### (autoloads nil "tl-list" "tl/tl-list.el" (12888 36045))
+;;;### (autoloads nil "tl-list" "tl/tl-list.el" (12996 50654))
 ;;; Generated autoloads from tl/tl-list.el
 
 ;;;***
 
-;;;### (autoloads nil "tl-misc" "tl/tl-misc.el" (12842 60937))
+;;;### (autoloads nil "tl-misc" "tl/tl-misc.el" (12996 50654))
 ;;; Generated autoloads from tl/tl-misc.el
 
 ;;;***
 
-;;;### (autoloads nil "tl-num" "tl/tl-num.el" (12351 26596))
+;;;### (autoloads nil "tl-num" "tl/tl-num.el" (12996 50654))
 ;;; Generated autoloads from tl/tl-num.el
 
 ;;;***
 
-;;;### (autoloads nil "tl-seq" "tl/tl-seq.el" (12836 12947))
+;;;### (autoloads nil "tl-seq" "tl/tl-seq.el" (12996 50654))
 ;;; Generated autoloads from tl/tl-seq.el
 
 ;;;***
 
-;;;### (autoloads nil "tl-str" "tl/tl-str.el" (12892 64865))
+;;;### (autoloads nil "tl-str" "tl/tl-str.el" (12996 50654))
 ;;; Generated autoloads from tl/tl-str.el
 
 ;;;***
 
-;;;### (autoloads nil "tu-comment" "tl/tu-comment.el" (12842 55775))
+;;;### (autoloads nil "tu-comment" "tl/tu-comment.el" (12996 50654))
 ;;; Generated autoloads from tl/tu-comment.el
 
 ;;;***
 
-;;;### (autoloads nil "tu-replace" "tl/tu-replace.el" (12842 55923))
+;;;### (autoloads nil "tu-replace" "tl/tu-replace.el" (12996 50654))
 ;;; Generated autoloads from tl/tu-replace.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-art-mime" "tm/gnus-art-mime.el" (12956 34426))
+;;;### (autoloads nil "gnus-art-mime" "tm/gnus-art-mime.el" (12996 50654))
 ;;; Generated autoloads from tm/gnus-art-mime.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-charset" "tm/gnus-charset.el" (12963 57217))
+;;;### (autoloads nil "gnus-charset" "tm/gnus-charset.el" (12996 50654))
 ;;; Generated autoloads from tm/gnus-charset.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-mime-old" "tm/gnus-mime-old.el" (12845 28266))
+;;;### (autoloads nil "gnus-mime-old" "tm/gnus-mime-old.el" (12996 50654))
 ;;; Generated autoloads from tm/gnus-mime-old.el
 
 ;;;***
 
-;;;### (autoloads nil "gnus-mime" "tm/gnus-mime.el" (12940 33311))
+;;;### (autoloads nil "gnus-mime" "tm/gnus-mime.el" (12996 50654))
 ;;; Generated autoloads from tm/gnus-mime.el
-
-;;;***
-
-;;;### (autoloads nil "gnus-msg-mime" "tm/gnus-msg-mime.el" (12814 62260))
+
+;;;### (autoloads nil "gnus-msg-mime" "tm/gnus-msg-mime.el" (12983 27443))
 ;;; Generated autoloads from tm/gnus-msg-mime.el
 
 ;;;***
-
-;;;### (autoloads nil "gnus-sum-mime" "tm/gnus-sum-mime.el" (12866 19119))
+
+;;;***
+
+;;;### (autoloads nil "gnus-sum-mime" "tm/gnus-sum-mime.el" (12996 50654))
 ;;; Generated autoloads from tm/gnus-sum-mime.el
 
 ;;;***
 
-;;;### (autoloads nil "message-mime" "tm/message-mime.el" (12814 62793))
+;;;### (autoloads nil "message-mime" "tm/message-mime.el" (12996 50654))
 ;;; Generated autoloads from tm/message-mime.el
 
 ;;;***
 
-;;;### (autoloads nil "sc-setup" "tm/sc-setup.el" (12351 27119))
+;;;### (autoloads nil "mime-setup" "tm/mime-setup.el" (12996 50654))
+;;; Generated autoloads from tm/mime-setup.el
+
+;;;***
+
+;;;### (autoloads nil "sc-setup" "tm/sc-setup.el" (12996 50655))
 ;;; Generated autoloads from tm/sc-setup.el
 
 ;;;***
 
-;;;### (autoloads nil "signature" "tm/signature.el" (12838 28532))
+;;;### (autoloads nil "signature" "tm/signature.el" (12996 50655))
 ;;; Generated autoloads from tm/signature.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-bbdb" "tm/tm-bbdb.el" (12970 37786))
+;;;### (autoloads nil "tm-bbdb" "tm/tm-bbdb.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-bbdb.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-def" "tm/tm-def.el" (12955 12366))
+;;;### (autoloads nil "tm-def" "tm/tm-def.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-def.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-edit-mc" "tm/tm-edit-mc.el" (12941 29098))
+;;;### (autoloads nil "tm-edit-mc" "tm/tm-edit-mc.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-edit-mc.el
-
-;;;### (autoloads (mime/editor-mode) "tm-edit" "tm/tm-edit.el" (12965 344))
+
+;;;***
+
+;;;### (autoloads nil "tm-edit-tipgp" "tm/tm-edit-tipgp.el" (12996 50655))
+;;; Generated autoloads from tm/tm-edit-tipgp.el
+
+;;;### (autoloads (mime/editor-mode) "tm-edit" "tm/tm-edit.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-edit.el
 
 (autoload 'mime/editor-mode "tm-edit" "\
@@ -11076,7 +11406,7 @@
 In this mode, basically, the message is composed in the tagged MIME
 format. The message tag looks like:
 
-	`--[[text/plain; charset=ISO-2022-JP][7bit]]'.
+	--[[text/plain; charset=ISO-2022-JP][7bit]]
 
 The tag specifies the MIME content type, subtype, optional parameters
 and transfer encoding of the message following the tag. Messages
@@ -11116,6 +11446,8 @@
 which key is MIME charset and value is coding-system.
 
 Following commands are available in addition to major mode commands:
+
+[make single part]
 \\[mime-editor/insert-text]	insert a text message.
 \\[mime-editor/insert-file]	insert a (binary) file.
 \\[mime-editor/insert-external]	insert a reference to external body.
@@ -11123,18 +11455,28 @@
 \\[mime-editor/insert-message]	insert a mail or news message.
 \\[mime-editor/insert-mail]	insert a mail message.
 \\[mime-editor/insert-signature]	insert a signature file at end.
+\\[mime-editor/insert-key]	insert PGP public key.
 \\[mime-editor/insert-tag]	insert a new MIME tag.
+
+[make enclosure (maybe multipart)]
 \\[mime-editor/enclose-alternative-region]	enclose as multipart/alternative.
 \\[mime-editor/enclose-parallel-region]	enclose as multipart/parallel.
 \\[mime-editor/enclose-mixed-region]	enclose as multipart/mixed.
 \\[mime-editor/enclose-digest-region]	enclose as multipart/digest.
 \\[mime-editor/enclose-signed-region]	enclose as PGP signed.
 \\[mime-editor/enclose-encrypted-region]	enclose as PGP encrypted.
-\\[mime-editor/insert-key]	insert PGP public key.
+\\[mime-editor/enclose-quote-region]	enclose as verbose mode (to avoid to expand tags)
+
+[other commands]
+\\[mime-editor/set-transfer-level-7bit]	set transfer-level as 7.
+\\[mime-editor/set-transfer-level-8bit]	set transfer-level as 8.
+\\[mime-editor/set-split]	set message splitting mode.
+\\[mime-editor/set-sign]	set PGP-sign mode.
+\\[mime-editor/set-encrypt]	set PGP-encryption mode.
 \\[mime-editor/preview-message]	preview editing MIME message.
 \\[mime-editor/exit]	exit and translate into a MIME compliant message.
+\\[mime-editor/help]	show this help.
 \\[mime-editor/maybe-translate]	exit and translate if in MIME mode, then split.
-\\[mime-editor/help]	show this help.
 
 Additional commands are available in some major modes:
 C-c C-c		exit, translate and run the original command.
@@ -11166,13 +11508,14 @@
  mime-ignore-trailing-spaces
     Trailing white spaces in a message body are ignored if non-nil.
 
- mime-auto-fill-header
-    Fill header fields that contain encoded-words if non-nil.
-
  mime-auto-hide-body
     Hide a non-textual body message encoded in base64 after insertion
     if non-nil.
 
+ mime-editor/transfer-level
+    A number of network transfer level.  It should be bigger than 7.
+    If you are in 8bit-through environment, please set 8.
+
  mime-editor/voice-recorder
     Specifies a function to record a voice message and encode it.
     The function `mime-editor/voice-recorder-for-sun' is for Sun
@@ -11197,250 +11540,264 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "tm-ew-d" "tm/tm-ew-d.el" (12965 715))
+
+;;;***
+
+;;;### (autoloads nil "tm-ew-d" "tm/tm-ew-d.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-ew-d.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-ew-e" "tm/tm-ew-e.el" (12965 677))
+;;;### (autoloads nil "tm-ew-e" "tm/tm-ew-e.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-ew-e.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-file" "tm/tm-file.el" (12870 36296))
+;;;### (autoloads nil "tm-file" "tm/tm-file.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-file.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-ftp" "tm/tm-ftp.el" (12376 20248))
+;;;### (autoloads nil "tm-ftp" "tm/tm-ftp.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-ftp.el
-
-;;;***
-
-;;;### (autoloads nil "tm-gd3" "tm/tm-gd3.el" (12633 38536))
+
+;;;### (autoloads nil "tm-gd3" "tm/tm-gd3.el" (12983 27443))
 ;;; Generated autoloads from tm/tm-gd3.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-gnus" "tm/tm-gnus.el" (12754 40488))
+;;;### (autoloads nil "tm-gnus" "tm/tm-gnus.el" (12983 27443))
 ;;; Generated autoloads from tm/tm-gnus.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-gnus4" "tm/tm-gnus4.el" (12730 29943))
+;;;### (autoloads nil "tm-gnus4" "tm/tm-gnus4.el" (12983 27443))
 ;;; Generated autoloads from tm/tm-gnus4.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-gnus5" "tm/tm-gnus5.el" (12782 12538))
+;;;### (autoloads nil "tm-gnus5" "tm/tm-gnus5.el" (12983 27444))
 ;;; Generated autoloads from tm/tm-gnus5.el
 
 ;;;***
-
-;;;### (autoloads nil "tm-html" "tm/tm-html.el" (12713 24931))
+
+;;;***
+
+;;;### (autoloads nil "tm-html" "tm/tm-html.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-html.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-image" "tm/tm-image.el" (12872 47232))
+;;;### (autoloads nil "tm-image" "tm/tm-image.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-image.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-latex" "tm/tm-latex.el" (12376 20359))
+;;;### (autoloads nil "tm-latex" "tm/tm-latex.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-latex.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-mail" "tm/tm-mail.el" (12852 60003))
+;;;### (autoloads nil "tm-mail" "tm/tm-mail.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-mail.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-mh-e" "tm/tm-mh-e.el" (12880 65084))
+;;;### (autoloads nil "tm-mh-e" "tm/tm-mh-e.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-mh-e.el
-
-;;;***
-
-;;;### (autoloads nil "tm-orig" "tm/tm-orig.el" (12550 19621))
+
+;;;### (autoloads nil "tm-orig" "tm/tm-orig.el" (12983 27444))
 ;;; Generated autoloads from tm/tm-orig.el
 
 ;;;***
-
-;;;### (autoloads nil "tm-parse" "tm/tm-parse.el" (12916 29278))
+
+;;;***
+
+;;;### (autoloads nil "tm-parse" "tm/tm-parse.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-parse.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-partial" "tm/tm-partial.el" (12838 28108))
+;;;### (autoloads nil "tm-partial" "tm/tm-partial.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-partial.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-pgp" "tm/tm-pgp.el" (12903 3014))
+;;;### (autoloads nil "tm-pgp" "tm/tm-pgp.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-pgp.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-play" "tm/tm-play.el" (12963 19710))
+;;;### (autoloads nil "tm-play" "tm/tm-play.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-play.el
-
-;;;***
-
-;;;### (autoloads nil "tm-rich" "tm/tm-rich.el" (12672 24525))
+
+;;;### (autoloads nil "tm-rich" "tm/tm-rich.el" (12983 27444))
 ;;; Generated autoloads from tm/tm-rich.el
 
 ;;;***
-
-;;;### (autoloads nil "tm-rmail" "tm/tm-rmail.el" (12734 22484))
+
+;;;***
+
+;;;### (autoloads nil "tm-rmail" "tm/tm-rmail.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-rmail.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-setup" "tm/tm-setup.el" (12840 20109))
+;;;### (autoloads nil "tm-setup" "tm/tm-setup.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-setup.el
-
-;;;***
-
-;;;### (autoloads nil "tm-sgnus" "tm/tm-sgnus.el" (12730 30178))
+
+;;;### (autoloads nil "tm-sgnus" "tm/tm-sgnus.el" (12983 27444))
 ;;; Generated autoloads from tm/tm-sgnus.el
 
 ;;;***
-
-;;;### (autoloads nil "tm-tar" "tm/tm-tar.el" (12426 11042))
+
+;;;***
+
+;;;### (autoloads nil "tm-tar" "tm/tm-tar.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-tar.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-text" "tm/tm-text.el" (12796 4145))
+;;;### (autoloads nil "tm-text" "tm/tm-text.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-text.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-view" "tm/tm-view.el" (12870 36191))
+;;;### (autoloads nil "tm-view" "tm/tm-view.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-view.el
 
 ;;;***
 
-;;;### (autoloads nil "tm-vm" "tm/tm-vm.el" (12972 48597))
+;;;### (autoloads nil "tm-vm" "tm/tm-vm.el" (12996 50655))
 ;;; Generated autoloads from tm/tm-vm.el
 
 ;;;***
 
-;;;### (autoloads nil "tmh-comp" "tm/tmh-comp.el" (12874 1879))
+;;;### (autoloads nil "tmh-comp" "tm/tmh-comp.el" (12996 50655))
 ;;; Generated autoloads from tm/tmh-comp.el
 
-;;;### (autoloads nil "tooltalk-init" "tooltalk/tooltalk-init.el" (12714 11728))
+;;;### (autoloads nil "tooltalk-init" "tooltalk/tooltalk-init.el" (12983 26111))
 ;;; Generated autoloads from tooltalk/tooltalk-init.el
 
 ;;;***
 
-;;;### (autoloads nil "tooltalk-load" "tooltalk/tooltalk-load.el" (12142 8533))
+;;;### (autoloads nil "tooltalk-load" "tooltalk/tooltalk-load.el" (12983 26111))
 ;;; Generated autoloads from tooltalk/tooltalk-load.el
-
-;;;### (autoloads nil "tooltalk-macros" "tooltalk/tooltalk-macros.el" (12376 19613))
+
+;;;***
+
+;;;### (autoloads nil "tooltalk-macros" "tooltalk/tooltalk-macros.el" (12983 26111))
 ;;; Generated autoloads from tooltalk/tooltalk-macros.el
 
 ;;;***
 
-;;;### (autoloads nil "tooltalk-util" "tooltalk/tooltalk-util.el" (12376 19611))
+;;;### (autoloads nil "tooltalk-util" "tooltalk/tooltalk-util.el" (12983 26111))
 ;;; Generated autoloads from tooltalk/tooltalk-util.el
 
 ;;;***
 
-;;;### (autoloads nil "base64" "url/base64.el" (12675 57192))
+;;;### (autoloads nil "base64" "url/base64.el" (12983 26222))
 ;;; Generated autoloads from url/base64.el
 
 ;;;***
 
-;;;### (autoloads nil "md5" "url/md5.el" (12740 27391))
+;;;### (autoloads nil "md5" "url/md5.el" (12983 26222))
 ;;; Generated autoloads from url/md5.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "mm" "url/mm.el" (12851 23581))
+;;;### (autoloads nil "mm" "url/mm.el" (12983 26940))
 ;;; Generated autoloads from url/mm.el
-
-;;;### (autoloads nil "ssl" "url/ssl.el" (12715 10594))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "ssl" "url/ssl.el" (12983 26224))
 ;;; Generated autoloads from url/ssl.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "url-cookie" "url/url-cookie.el" (12851 23589))
+
+;;;### (autoloads nil "url-cookie" "url/url-cookie.el" (12983 26943))
 ;;; Generated autoloads from url/url-cookie.el
 
 ;;;***
 
-;;;### (autoloads nil "url-file" "url/url-file.el" (12851 23583))
+;;;### (autoloads nil "url-file" "url/url-file.el" (12983 26941))
 ;;; Generated autoloads from url/url-file.el
-
-;;;### (autoloads nil "url-gopher" "url/url-gopher.el" (12639 8908))
+
+;;;***
+
+;;;### (autoloads nil "url-gopher" "url/url-gopher.el" (12983 26225))
 ;;; Generated autoloads from url/url-gopher.el
 
 ;;;***
 
-;;;### (autoloads nil "url-hash" "url/url-hash.el" (12851 23573))
+;;;### (autoloads nil "url-hash" "url/url-hash.el" (12983 26939))
 ;;; Generated autoloads from url/url-hash.el
 
 ;;;***
 
-;;;### (autoloads nil "url-http" "url/url-http.el" (12851 23584))
+;;;### (autoloads nil "url-http" "url/url-http.el" (12983 26941))
 ;;; Generated autoloads from url/url-http.el
 
 ;;;***
 
-;;;### (autoloads nil "url-irc" "url/url-irc.el" (12851 23582))
+;;;### (autoloads nil "url-irc" "url/url-irc.el" (12983 26943))
 ;;; Generated autoloads from url/url-irc.el
 
 ;;;***
 
-;;;### (autoloads nil "url-mail" "url/url-mail.el" (12727 30990))
+;;;### (autoloads nil "url-mail" "url/url-mail.el" (12983 26225))
 ;;; Generated autoloads from url/url-mail.el
-
-;;;### (autoloads nil "url-misc" "url/url-misc.el" (12740 27393))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "url-misc" "url/url-misc.el" (12983 26225))
 ;;; Generated autoloads from url/url-misc.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "url-news" "url/url-news.el" (12851 23585))
+
+;;;### (autoloads nil "url-news" "url/url-news.el" (12983 26942))
 ;;; Generated autoloads from url/url-news.el
-
-;;;### (autoloads nil "url-nfs" "url/url-nfs.el" (12740 27199))
+
+;;;***
+
+;;;### (autoloads nil "url-nfs" "url/url-nfs.el" (12983 26228))
 ;;; Generated autoloads from url/url-nfs.el
 
 ;;;***
 
-;;;### (autoloads nil "url-parse" "url/url-parse.el" (12639 8912))
+;;;### (autoloads nil "url-parse" "url/url-parse.el" (12983 26227))
 ;;; Generated autoloads from url/url-parse.el
-
-;;;### (autoloads nil "url-pgp" "url/url-pgp.el" (12714 11780))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "url-pgp" "url/url-pgp.el" (12983 26227))
 ;;; Generated autoloads from url/url-pgp.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "url-sysdp" "url/url-sysdp.el" (12851 23586))
+
+;;;### (autoloads nil "url-sysdp" "url/url-sysdp.el" (12983 26942))
 ;;; Generated autoloads from url/url-sysdp.el
 
 ;;;***
 
-;;;### (autoloads nil "url-vars" "url/url-vars.el" (12851 23588))
+;;;### (autoloads nil "url-vars" "url/url-vars.el" (12983 26941))
 ;;; Generated autoloads from url/url-vars.el
 
 ;;;***
 
-;;;### (autoloads nil "url-wais" "url/url-wais.el" (12851 23588))
+;;;### (autoloads nil "url-wais" "url/url-wais.el" (12983 26942))
 ;;; Generated autoloads from url/url-wais.el
 
-;;;### (autoloads (url-retrieve url-cache-expired url-popup-info url-get-url-at-point url-buffer-visiting url-normalize-url url-file-attributes) "url" "url/url.el" (12851 23581))
+;;;### (autoloads (url-retrieve url-cache-expired url-popup-info url-get-url-at-point url-buffer-visiting url-normalize-url url-file-attributes) "url" "url/url.el" (12983 26939))
 ;;; Generated autoloads from url/url.el
 
 (autoload 'url-file-attributes "url" "\
@@ -11493,18 +11850,20 @@
 be honored before this function exits." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "urlauth" "url/urlauth.el" (12639 8898))
+
+;;;***
+
+;;;### (autoloads nil "urlauth" "url/urlauth.el" (12983 26222))
 ;;; Generated autoloads from url/urlauth.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "abbrevlist" "utils/abbrevlist.el" (12860 19437))
+;;;### (autoloads nil "abbrevlist" "utils/abbrevlist.el" (12983 26850))
 ;;; Generated autoloads from utils/abbrevlist.el
 
-;;;### (autoloads (defadvice ad-add-advice) "advice" "utils/advice.el" (12860 19442))
+;;;### (autoloads (defadvice ad-add-advice) "advice" "utils/advice.el" (12983 26852))
 ;;; Generated autoloads from utils/advice.el
 
 (defvar ad-redefinition-action 'warn "\
@@ -11593,7 +11952,7 @@
 
 ;;;***
 
-;;;### (autoloads (all-annotations annotation-list annotations-at annotations-in-region annotation-at annotationp delete-annotation make-annotation) "annotations" "utils/annotations.el" (12559 34930))
+;;;### (autoloads (all-annotations annotation-list annotations-at annotations-in-region annotation-at annotationp delete-annotation make-annotation) "annotations" "utils/annotations.el" (12983 26084))
 ;;; Generated autoloads from utils/annotations.el
 
 (defvar make-annotation-hook nil "\
@@ -11644,16 +12003,18 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "assoc" "utils/assoc.el" (12860 19447))
+
+;;;***
+
+;;;### (autoloads nil "assoc" "utils/assoc.el" (12983 26858))
 ;;; Generated autoloads from utils/assoc.el
-
-;;;### (autoloads nil "atomic-extents" "utils/atomic-extents.el" (12639 8649))
+
+;;;***
+
+;;;### (autoloads nil "atomic-extents" "utils/atomic-extents.el" (12983 26084))
 ;;; Generated autoloads from utils/atomic-extents.el
-
-;;;***
-
-;;;### (autoloads (batch-update-autoloads update-directory-autoloads update-autoloads-here update-file-autoloads generate-file-autoloads) "autoload" "utils/autoload.el" (12639 8647))
+
+;;;### (autoloads (batch-update-autoloads update-directory-autoloads update-autoloads-here update-file-autoloads generate-file-autoloads) "autoload" "utils/autoload.el" (12983 26074))
 ;;; Generated autoloads from utils/autoload.el
 
 (autoload 'generate-file-autoloads "autoload" "\
@@ -11683,11 +12044,18 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "blessmail" "utils/blessmail.el" (12860 19451))
+
+;;;***
+
+;;;### (autoloads nil "bench" "utils/bench.el" (12988 33419))
+;;; Generated autoloads from utils/bench.el
+
+;;;***
+
+;;;### (autoloads nil "blessmail" "utils/blessmail.el" (12983 26859))
 ;;; Generated autoloads from utils/blessmail.el
 
-;;;### (autoloads (browse-url-lynx-emacs browse-url-lynx-xterm browse-url-w3 browse-url-iximosaic browse-url-grail browse-url-mosaic browse-url-netscape) "browse-url" "utils/browse-url.el" (12928 48607))
+;;;### (autoloads (browse-url-lynx-emacs browse-url-lynx-xterm browse-url-w3 browse-url-iximosaic browse-url-grail browse-url-mosaic browse-url-netscape) "browse-url" "utils/browse-url.el" (12983 26091))
 ;;; Generated autoloads from utils/browse-url.el
 
 (defvar browse-url-browser-function 'browse-url-w3 "\
@@ -11737,21 +12105,23 @@
 an Emacs buffer." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "crontab" "utils/crontab.el" (12559 34936))
+
+;;;***
+
+;;;### (autoloads nil "crontab" "utils/crontab.el" (12983 26090))
 ;;; Generated autoloads from utils/crontab.el
 
 ;;;***
-
-;;;### (autoloads nil "delbackspace" "utils/delbackspace.el" (12740 50723))
+
+;;;***
+
+;;;### (autoloads nil "delbackspace" "utils/delbackspace.el" (12992 6983))
 ;;; Generated autoloads from utils/delbackspace.el
-
-;;;***
-
-;;;### (autoloads nil "derived" "utils/derived.el" (12860 19437))
+
+;;;### (autoloads nil "derived" "utils/derived.el" (12983 26850))
 ;;; Generated autoloads from utils/derived.el
 
-;;;### (autoloads (docref-setup) "docref" "utils/docref.el" (12860 19452))
+;;;### (autoloads (docref-setup) "docref" "utils/docref.el" (12983 26859))
 ;;; Generated autoloads from utils/docref.el
 
 (autoload 'docref-setup "docref" "\
@@ -11760,7 +12130,7 @@
 
 ;;;***
 
-;;;### (autoloads (easy-menu-define) "easymenu" "utils/easymenu.el" (12860 19455))
+;;;### (autoloads (easy-menu-define) "easymenu" "utils/easymenu.el" (12983 26853))
 ;;; Generated autoloads from utils/easymenu.el
 
 (autoload 'easy-menu-define "easymenu" "\
@@ -11829,7 +12199,7 @@
 
 ;;;***
 
-;;;### (autoloads (elp-submit-bug-report elp-results elp-instrument-package elp-instrument-list elp-restore-function elp-instrument-function) "elp" "utils/elp.el" (12912 14855))
+;;;### (autoloads (elp-submit-bug-report elp-results elp-instrument-package elp-instrument-list elp-restore-function elp-instrument-function) "elp" "utils/elp.el" (12983 27353))
 ;;; Generated autoloads from utils/elp.el
 
 (autoload 'elp-instrument-function "elp" "\
@@ -11861,7 +12231,7 @@
 
 ;;;***
 
-;;;### (autoloads (list-colors-display facemenu-read-color list-text-properties-at facemenu-remove-special facemenu-remove-props facemenu-set-read-only facemenu-set-intangible facemenu-set-invisible facemenu-make-much-smaller facemenu-make-much-larger facemenu-make-smaller facemenu-make-larger facemenu-set-size-default facemenu-set-face-from-menu facemenu-set-background facemenu-set-foreground facemenu-set-face) "facemenu" "utils/facemenu.el" (12657 40747))
+;;;### (autoloads (list-colors-display facemenu-read-color list-text-properties-at facemenu-remove-special facemenu-remove-props facemenu-set-read-only facemenu-set-intangible facemenu-set-invisible facemenu-make-much-smaller facemenu-make-much-larger facemenu-make-smaller facemenu-make-larger facemenu-set-size-default facemenu-set-face-from-menu facemenu-set-background facemenu-set-foreground facemenu-set-face) "facemenu" "utils/facemenu.el" (12983 26077))
 ;;; Generated autoloads from utils/facemenu.el
 
 (defvar facemenu-menu nil "\
@@ -11961,21 +12331,27 @@
 of colors that the current display can handle." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "find-gc" "utils/find-gc.el" (12546 50541))
+
+;;;***
+
+;;;### (autoloads nil "find-gc" "utils/find-gc.el" (12983 26089))
 ;;; Generated autoloads from utils/find-gc.el
-
-;;;### (autoloads nil "finder-inf" "utils/finder-inf.el" (12376 19577))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "finder-inf" "utils/finder-inf.el" (12983 26084))
 ;;; Generated autoloads from utils/finder-inf.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "finder" "utils/finder.el" (12860 19447))
+
+;;;### (autoloads nil "finder" "utils/finder.el" (12983 26856))
 ;;; Generated autoloads from utils/finder.el
-
-;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" "utils/flow-ctrl.el" (12869 51011))
+
+;;;***
+
+;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" "utils/flow-ctrl.el" (12983 27359))
 ;;; Generated autoloads from utils/flow-ctrl.el
 
 (autoload 'enable-flow-control "flow-ctrl" "\
@@ -12000,20 +12376,20 @@
 
 ;;;***
 
-;;;### (autoloads nil "foldout" "utils/foldout.el" (12860 19450))
+;;;### (autoloads nil "foldout" "utils/foldout.el" (12983 26859))
 ;;; Generated autoloads from utils/foldout.el
 
 ;;;***
 
-;;;### (autoloads nil "forms-d2" "utils/forms-d2.el" (12860 19445))
+;;;### (autoloads nil "forms-d2" "utils/forms-d2.el" (12983 26855))
 ;;; Generated autoloads from utils/forms-d2.el
 
 ;;;***
 
-;;;### (autoloads nil "forms-pass" "utils/forms-pass.el" (12860 19445))
+;;;### (autoloads nil "forms-pass" "utils/forms-pass.el" (12983 26856))
 ;;; Generated autoloads from utils/forms-pass.el
 
-;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) "forms" "utils/forms.el" (12869 55653))
+;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) "forms" "utils/forms.el" (12983 27356))
 ;;; Generated autoloads from utils/forms.el
 
 (autoload 'forms-mode "forms" "\
@@ -12043,11 +12419,13 @@
 Visit a file in Forms mode in other window." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "hide-copyleft" "utils/hide-copyleft.el" (12743 20032))
+
+;;;***
+
+;;;### (autoloads nil "hide-copyleft" "utils/hide-copyleft.el" (12983 26092))
 ;;; Generated autoloads from utils/hide-copyleft.el
 
-;;;### (autoloads (highlight-headers-follow-url highlight-headers-follow-url-mosaic highlight-headers-follow-url-netscape highlight-headers) "highlight-headers" "utils/highlight-headers.el" (12851 23484))
+;;;### (autoloads (highlight-headers-follow-url highlight-headers-follow-url-mosaic highlight-headers-follow-url-netscape highlight-headers) "highlight-headers" "utils/highlight-headers.el" (12983 26851))
 ;;; Generated autoloads from utils/highlight-headers.el
 
 (autoload 'highlight-headers "highlight-headers" "\
@@ -12077,7 +12455,7 @@
 
 ;;;***
 
-;;;### (autoloads (id-select-double-click-hook id-select-and-kill-thing id-select-and-copy-thing id-select-goto-matching-tag id-select-thing-with-mouse id-select-thing) "id-select" "utils/id-select.el" (12967 2888))
+;;;### (autoloads (id-select-double-click-hook id-select-and-kill-thing id-select-and-copy-thing id-select-goto-matching-tag id-select-thing-with-mouse id-select-thing) "id-select" "utils/id-select.el" (12983 27361))
 ;;; Generated autoloads from utils/id-select.el
 
 (autoload 'id-select-thing "id-select" "\
@@ -12111,16 +12489,18 @@
 the type of selection is displayed in the minibuffer." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "lib-complete" "utils/lib-complete.el" (12675 57130))
+
+;;;***
+
+;;;### (autoloads nil "lib-complete" "utils/lib-complete.el" (12983 26089))
 ;;; Generated autoloads from utils/lib-complete.el
 
 ;;;***
 
-;;;### (autoloads nil "live-icon" "utils/live-icon.el" (12657 40747))
+;;;### (autoloads nil "live-icon" "utils/live-icon.el" (12983 26087))
 ;;; Generated autoloads from utils/live-icon.el
 
-;;;### (autoloads (unload-feature) "loadhist" "utils/loadhist.el" (12860 19452))
+;;;### (autoloads (unload-feature) "loadhist" "utils/loadhist.el" (12983 26859))
 ;;; Generated autoloads from utils/loadhist.el
 
 (autoload 'unload-feature "loadhist" "\
@@ -12130,7 +12510,7 @@
 
 ;;;***
 
-;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" "utils/mail-extr.el" (12976 37825))
+;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" "utils/mail-extr.el" (12983 27955))
 ;;; Generated autoloads from utils/mail-extr.el
 
 (autoload 'mail-extract-address-components "mail-extr" "\
@@ -12151,7 +12531,7 @@
 
 ;;;***
 
-;;;### (autoloads (mail-fetch-field mail-file-babyl-p) "mail-utils" "utils/mail-utils.el" (12743 11630))
+;;;### (autoloads (mail-fetch-field mail-file-babyl-p) "mail-utils" "utils/mail-utils.el" (12983 26072))
 ;;; Generated autoloads from utils/mail-utils.el
 
 (defvar mail-use-rfc822 nil "\
@@ -12170,19 +12550,23 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "mailpost" "utils/mailpost.el" (12860 19438))
+
+;;;***
+
+;;;### (autoloads nil "mailpost" "utils/mailpost.el" (12983 26850))
 ;;; Generated autoloads from utils/mailpost.el
-
-;;;### (autoloads nil "map-ynp" "utils/map-ynp.el" (12740 25222))
+
+;;;***
+
+;;;### (autoloads nil "map-ynp" "utils/map-ynp.el" (12983 26072))
 ;;; Generated autoloads from utils/map-ynp.el
 
 ;;;***
 
-;;;### (autoloads nil "meese" "utils/meese.el" (12860 19438))
+;;;### (autoloads nil "meese" "utils/meese.el" (12983 26850))
 ;;; Generated autoloads from utils/meese.el
 
-;;;### (autoloads (read-passwd) "passwd" "utils/passwd.el" (12559 34928))
+;;;### (autoloads (read-passwd) "passwd" "utils/passwd.el" (12983 26082))
 ;;; Generated autoloads from utils/passwd.el
 
 (autoload 'read-passwd "passwd" "\
@@ -12241,7 +12625,7 @@
 
 ;;;***
 
-;;;### (autoloads (pp-eval-last-sexp pp-eval-expression pp) "pp" "utils/pp.el" (12860 19446))
+;;;### (autoloads (pp-eval-last-sexp pp-eval-expression pp) "pp" "utils/pp.el" (12983 26856))
 ;;; Generated autoloads from utils/pp.el
 
 (defalias 'pprint 'pp)
@@ -12266,23 +12650,25 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "regi" "utils/regi.el" (12860 19444))
+
+;;;***
+
+;;;### (autoloads nil "regi" "utils/regi.el" (12983 26854))
 ;;; Generated autoloads from utils/regi.el
 
-;;;### (autoloads (reporter-submit-bug-report) "reporter" "utils/reporter.el" (12860 19442))
+;;;### (autoloads (reporter-submit-bug-report) "reporter" "utils/reporter.el" (12983 26854))
 ;;; Generated autoloads from utils/reporter.el
 
 (autoload 'reporter-submit-bug-report "reporter" nil nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "rfc822" "utils/rfc822.el" (12559 34920))
+
+;;;***
+
+;;;### (autoloads nil "rfc822" "utils/rfc822.el" (12983 26072))
 ;;; Generated autoloads from utils/rfc822.el
-
-;;;***
-
-;;;### (autoloads (make-ring ringp) "ring" "utils/ring.el" (12860 19443))
+
+;;;### (autoloads (make-ring ringp) "ring" "utils/ring.el" (12983 26854))
 ;;; Generated autoloads from utils/ring.el
 
 (autoload 'ringp "ring" "\
@@ -12296,11 +12682,17 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "shadowfile" "utils/shadowfile.el" (12860 19453))
+
+;;;***
+
+;;;### (autoloads nil "shadowfile" "utils/shadowfile.el" (12983 26860))
 ;;; Generated autoloads from utils/shadowfile.el
-
-;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy skeleton-proxy-new define-skeleton) "skeleton" "utils/skeleton.el" (12860 19448))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy skeleton-proxy-new define-skeleton) "skeleton" "utils/skeleton.el" (12983 26853))
 ;;; Generated autoloads from utils/skeleton.el
 
 (defvar skeleton-filter 'identity "\
@@ -12406,37 +12798,41 @@
 ;;;***
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "smtpmail" "utils/smtpmail.el" (12871 64617))
+
+;;;### (autoloads nil "smtpmail" "utils/smtpmail.el" (12983 27361))
 ;;; Generated autoloads from utils/smtpmail.el
-
-;;;### (autoloads nil "soundex" "utils/soundex.el" (12860 19454))
+
+;;;***
+
+;;;### (autoloads nil "soundex" "utils/soundex.el" (12983 26860))
 ;;; Generated autoloads from utils/soundex.el
-
-;;;### (autoloads nil "symbol-syntax" "utils/symbol-syntax.el" (12573 6370))
+
+;;;***
+
+;;;### (autoloads nil "symbol-syntax" "utils/symbol-syntax.el" (12983 26071))
 ;;; Generated autoloads from utils/symbol-syntax.el
 
 ;;;***
 
-;;;### (autoloads nil "sysdep" "utils/sysdep.el" (12714 11722))
+;;;### (autoloads nil "sysdep" "utils/sysdep.el" (12983 26088))
 ;;; Generated autoloads from utils/sysdep.el
 
 ;;;***
 
-;;;### (autoloads nil "text-props" "utils/text-props.el" (12851 23491))
+;;;### (autoloads nil "text-props" "utils/text-props.el" (12983 26855))
 ;;; Generated autoloads from utils/text-props.el
-
-;;;### (autoloads nil "thing" "utils/thing.el" (12558 60956))
+
+;;;***
+
+;;;### (autoloads nil "thing" "utils/thing.el" (12983 26090))
 ;;; Generated autoloads from utils/thing.el
 
 ;;;***
 
-;;;### (autoloads nil "timezone" "utils/timezone.el" (12546 50543))
+;;;### (autoloads nil "timezone" "utils/timezone.el" (12983 26092))
 ;;; Generated autoloads from utils/timezone.el
 
-;;;### (autoloads (tq-create) "tq" "utils/tq.el" (12860 19454))
+;;;### (autoloads (tq-create) "tq" "utils/tq.el" (12983 26861))
 ;;; Generated autoloads from utils/tq.el
 
 (autoload 'tq-create "tq" "\
@@ -12447,7 +12843,7 @@
 
 ;;;***
 
-;;;### (autoloads (trace-function-background trace-function) "trace" "utils/trace.el" (12860 19443))
+;;;### (autoloads (trace-function-background trace-function) "trace" "utils/trace.el" (12983 26855))
 ;;; Generated autoloads from utils/trace.el
 
 (defvar trace-buffer "*trace-output*" "\
@@ -12471,16 +12867,18 @@
 the window or buffer configuration at all." t nil)
 
 ;;;***
-
-;;;### (autoloads nil "tree-menu" "utils/tree-menu.el" (12558 60954))
+
+;;;***
+
+;;;### (autoloads nil "tree-menu" "utils/tree-menu.el" (12983 26087))
 ;;; Generated autoloads from utils/tree-menu.el
 
 ;;;***
 
-;;;### (autoloads nil "uniquify" "utils/uniquify.el" (12860 19513))
+;;;### (autoloads nil "uniquify" "utils/uniquify.el" (12983 26861))
 ;;; Generated autoloads from utils/uniquify.el
 
-;;;### (autoloads (y-or-n-p-with-timeout yes-or-no-p-with-timeout with-timeout with-timeout-internal) "with-timeout" "utils/with-timeout.el" (12558 60948))
+;;;### (autoloads (y-or-n-p-with-timeout yes-or-no-p-with-timeout with-timeout with-timeout-internal) "with-timeout" "utils/with-timeout.el" (12983 26073))
 ;;; Generated autoloads from utils/with-timeout.el
 
 (autoload 'with-timeout-internal "with-timeout" nil nil nil)
@@ -12503,7 +12901,7 @@
 
 ;;;***
 
-;;;### (autoloads (xbm-button-create) "xbm-button" "utils/xbm-button.el" (12639 8650))
+;;;### (autoloads (xbm-button-create) "xbm-button" "utils/xbm-button.el" (12983 26092))
 ;;; Generated autoloads from utils/xbm-button.el
 
 (autoload 'xbm-button-create "xbm-button" "\
@@ -12519,7 +12917,7 @@
 
 ;;;***
 
-;;;### (autoloads (xpm-button-create) "xpm-button" "utils/xpm-button.el" (12648 18605))
+;;;### (autoloads (xpm-button-create) "xpm-button" "utils/xpm-button.el" (12983 26076))
 ;;; Generated autoloads from utils/xpm-button.el
 
 (autoload 'xpm-button-create "xpm-button" "\
@@ -12537,29 +12935,33 @@
 It should be a string." nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "viper-ex" "viper/viper-ex.el" (12745 61913))
+
+;;;***
+
+;;;### (autoloads nil "viper-ex" "viper/viper-ex.el" (12983 26192))
 ;;; Generated autoloads from viper/viper-ex.el
 
 ;;;***
 
-;;;### (autoloads nil "viper-keym" "viper/viper-keym.el" (12639 8723))
+;;;### (autoloads nil "viper-keym" "viper/viper-keym.el" (12983 26193))
 ;;; Generated autoloads from viper/viper-keym.el
-
-;;;### (autoloads nil "viper-macs" "viper/viper-macs.el" (12728 13099))
+
+;;;***
+
+;;;### (autoloads nil "viper-macs" "viper/viper-macs.el" (12983 26192))
 ;;; Generated autoloads from viper/viper-macs.el
 
 ;;;***
 
-;;;### (autoloads nil "viper-mous" "viper/viper-mous.el" (12728 13099))
+;;;### (autoloads nil "viper-mous" "viper/viper-mous.el" (12983 26193))
 ;;; Generated autoloads from viper/viper-mous.el
 
 ;;;***
 
-;;;### (autoloads nil "viper-util" "viper/viper-util.el" (12745 61913))
+;;;### (autoloads nil "viper-util" "viper/viper-util.el" (12983 26194))
 ;;; Generated autoloads from viper/viper-util.el
 
-;;;### (autoloads (viper-mode) "viper" "viper/viper.el" (12745 61914))
+;;;### (autoloads (viper-mode) "viper" "viper/viper.el" (12983 26196))
 ;;; Generated autoloads from viper/viper.el
 
 (autoload 'viper-mode "viper" "\
@@ -12568,8 +12970,10 @@
 (defalias 'vip-mode 'viper-mode)
 
 ;;;***
-
-;;;### (autoloads nil "tapestry" "vm/tapestry.el" (12376 19602))
+
+;;;***
+
+;;;### (autoloads nil "tapestry" "vm/tapestry.el" (12983 26104))
 ;;; Generated autoloads from vm/tapestry.el
 
 ;;;***
@@ -12577,26 +12981,28 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "vm-autoload" "vm/vm-autoload.el" (12860 37536))
+
+;;;***
+
+;;;### (autoloads nil "vm-autoload" "vm/vm-autoload.el" (12995 34887))
 ;;; Generated autoloads from vm/vm-autoload.el
-
-;;;***
-
-;;;### (autoloads nil "vm-byteopts" "vm/vm-byteopts.el" (12244 51680))
+
+;;;### (autoloads nil "vm-byteopts" "vm/vm-byteopts.el" (12983 26104))
 ;;; Generated autoloads from vm/vm-byteopts.el
-
-;;;### (autoloads nil "vm-delete" "vm/vm-delete.el" (12851 23492))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "vm-delete" "vm/vm-delete.el" (12983 26862))
 ;;; Generated autoloads from vm/vm-delete.el
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "vm-digest" "vm/vm-digest.el" (12860 19456))
+
+;;;### (autoloads nil "vm-digest" "vm/vm-digest.el" (12983 26861))
 ;;; Generated autoloads from vm/vm-digest.el
 
-;;;### (autoloads (vm-easy-menu-create-keymaps vm-easy-menu-define) "vm-easymenu" "vm/vm-easymenu.el" (12312 61359))
+;;;### (autoloads (vm-easy-menu-create-keymaps vm-easy-menu-define) "vm-easymenu" "vm/vm-easymenu.el" (12983 26104))
 ;;; Generated autoloads from vm/vm-easymenu.el
 
 (autoload 'vm-easy-menu-define "vm-easymenu" "\
@@ -12666,108 +13072,122 @@
 (autoload 'vm-easy-menu-create-keymaps "vm-easymenu" nil nil nil)
 
 ;;;***
-
-;;;### (autoloads nil "vm-edit" "vm/vm-edit.el" (12376 19587))
+
+;;;***
+
+;;;### (autoloads nil "vm-edit" "vm/vm-edit.el" (12983 26093))
 ;;; Generated autoloads from vm/vm-edit.el
 
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "vm-folder" "vm/vm-folder.el" (12851 23493))
+
+;;;***
+
+;;;### (autoloads nil "vm-folder" "vm/vm-folder.el" (12989 40981))
 ;;; Generated autoloads from vm/vm-folder.el
-
-;;;***
-
-;;;### (autoloads nil "vm-license" "vm/vm-license.el" (12244 51663))
+
+;;;### (autoloads nil "vm-license" "vm/vm-license.el" (12983 26094))
 ;;; Generated autoloads from vm/vm-license.el
-
-;;;### (autoloads nil "vm-mark" "vm/vm-mark.el" (12376 19590))
+
+;;;***
+
+;;;### (autoloads nil "vm-mark" "vm/vm-mark.el" (12983 26094))
 ;;; Generated autoloads from vm/vm-mark.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-menu" "vm/vm-menu.el" (12376 19592))
+;;;### (autoloads nil "vm-menu" "vm/vm-menu.el" (12983 26094))
 ;;; Generated autoloads from vm/vm-menu.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-message" "vm/vm-message.el" (12376 19589))
+;;;### (autoloads nil "vm-message" "vm/vm-message.el" (12983 26094))
 ;;; Generated autoloads from vm/vm-message.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-minibuf" "vm/vm-minibuf.el" (12376 19600))
+;;;### (autoloads nil "vm-minibuf" "vm/vm-minibuf.el" (12983 26104))
 ;;; Generated autoloads from vm/vm-minibuf.el
 
 ;;;***
-
-;;;### (autoloads nil "vm-misc" "vm/vm-misc.el" (12740 28349))
+
+;;;***
+
+;;;### (autoloads nil "vm-misc" "vm/vm-misc.el" (12989 40635))
 ;;; Generated autoloads from vm/vm-misc.el
-
-;;;***
-
-;;;### (autoloads nil "vm-motion" "vm/vm-motion.el" (12740 28349))
+
+;;;### (autoloads nil "vm-motion" "vm/vm-motion.el" (12983 26097))
 ;;; Generated autoloads from vm/vm-motion.el
-
-;;;### (autoloads nil "vm-mouse" "vm/vm-mouse.el" (12376 19602))
+
+;;;***
+
+;;;### (autoloads nil "vm-mouse" "vm/vm-mouse.el" (12983 26103))
 ;;; Generated autoloads from vm/vm-mouse.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-page" "vm/vm-page.el" (12376 19594))
+;;;### (autoloads nil "vm-page" "vm/vm-page.el" (12983 26097))
 ;;; Generated autoloads from vm/vm-page.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-pop" "vm/vm-pop.el" (12740 28349))
+;;;### (autoloads nil "vm-pop" "vm/vm-pop.el" (12983 26094))
 ;;; Generated autoloads from vm/vm-pop.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-reply" "vm/vm-reply.el" (12860 19457))
+;;;### (autoloads nil "vm-reply" "vm/vm-reply.el" (12983 26862))
 ;;; Generated autoloads from vm/vm-reply.el
-
-;;;### (autoloads nil "vm-save" "vm/vm-save.el" (12376 19592))
+
+;;;***
+
+;;;### (autoloads nil "vm-save" "vm/vm-save.el" (12983 26097))
 ;;; Generated autoloads from vm/vm-save.el
 
 ;;;***
-
-;;;### (autoloads nil "vm-search" "vm/vm-search.el" (12740 30223))
+
+;;;***
+
+;;;### (autoloads nil "vm-search" "vm/vm-search.el" (12995 34859))
 ;;; Generated autoloads from vm/vm-search.el
 
-;;;### (autoloads nil "vm-search18" "vm/vm-search18.el" (12244 51678))
+;;;### (autoloads nil "vm-search18" "vm/vm-search18.el" (12983 26102))
 ;;; Generated autoloads from vm/vm-search18.el
-
-;;;### (autoloads nil "vm-search19" "vm/vm-search19.el" (12376 19598))
+
+;;;***
+
+;;;### (autoloads nil "vm-search19" "vm/vm-search19.el" (12983 26103))
 ;;; Generated autoloads from vm/vm-search19.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-sort" "vm/vm-sort.el" (12376 19598))
+;;;### (autoloads nil "vm-sort" "vm/vm-sort.el" (12983 26101))
 ;;; Generated autoloads from vm/vm-sort.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-startup" "vm/vm-startup.el" (12740 35805))
+;;;### (autoloads nil "vm-startup" "vm/vm-startup.el" (12983 26104))
 ;;; Generated autoloads from vm/vm-startup.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-summary" "vm/vm-summary.el" (12740 28349))
+;;;### (autoloads nil "vm-summary" "vm/vm-summary.el" (12983 26098))
 ;;; Generated autoloads from vm/vm-summary.el
-
-;;;### (autoloads nil "vm-thread" "vm/vm-thread.el" (12376 19602))
+
+;;;***
+
+;;;### (autoloads nil "vm-thread" "vm/vm-thread.el" (12983 26104))
 ;;; Generated autoloads from vm/vm-thread.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-toolbar" "vm/vm-toolbar.el" (12714 11723))
+;;;### (autoloads nil "vm-toolbar" "vm/vm-toolbar.el" (12983 26105))
 ;;; Generated autoloads from vm/vm-toolbar.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-undo" "vm/vm-undo.el" (12244 51671))
+;;;### (autoloads nil "vm-undo" "vm/vm-undo.el" (12983 26098))
 ;;; Generated autoloads from vm/vm-undo.el
 
 ;;;***
@@ -12775,76 +13195,80 @@
 ;;;***
 
 ;;;***
-
-;;;### (autoloads nil "vm-vars" "vm/vm-vars.el" (12860 19459))
+
+;;;***
+
+;;;### (autoloads nil "vm-vars" "vm/vm-vars.el" (12997 29669))
 ;;; Generated autoloads from vm/vm-vars.el
-
-;;;***
-
-;;;### (autoloads nil "vm-version" "vm/vm-version.el" (12740 28351))
+
+;;;### (autoloads nil "vm-version" "vm/vm-version.el" (12983 26101))
 ;;; Generated autoloads from vm/vm-version.el
-
-;;;### (autoloads nil "vm-virtual" "vm/vm-virtual.el" (12312 61353))
+
+;;;***
+
+;;;### (autoloads nil "vm-virtual" "vm/vm-virtual.el" (12983 26101))
 ;;; Generated autoloads from vm/vm-virtual.el
 
 ;;;***
 
-;;;### (autoloads nil "vm-window" "vm/vm-window.el" (12740 28350))
+;;;### (autoloads nil "vm-window" "vm/vm-window.el" (12983 26101))
 ;;; Generated autoloads from vm/vm-window.el
 
 ;;;***
 
 ;;;***
 
-;;;### (autoloads nil "docomp" "w3/docomp.el" (12851 23512))
+;;;### (autoloads nil "docomp" "w3/docomp.el" (12983 26881))
 ;;; Generated autoloads from w3/docomp.el
 
 ;;;***
 
-;;;### (autoloads nil "font" "w3/font.el" (12851 23504))
+;;;### (autoloads nil "font" "w3/font.el" (12983 26884))
 ;;; Generated autoloads from w3/font.el
 
 ;;;***
 
-;;;### (autoloads nil "images" "w3/images.el" (12851 23505))
+;;;### (autoloads nil "images" "w3/images.el" (12983 26883))
 ;;; Generated autoloads from w3/images.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-about" "w3/w3-about.el" (12851 23537))
+;;;### (autoloads nil "w3-about" "w3/w3-about.el" (12983 26881))
 ;;; Generated autoloads from w3/w3-about.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-annotat" "w3/w3-annotat.el" (12851 23513))
+;;;### (autoloads nil "w3-annotat" "w3/w3-annotat.el" (12983 26885))
 ;;; Generated autoloads from w3/w3-annotat.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-auto" "w3/w3-auto.el" (12851 23540))
+;;;### (autoloads nil "w3-auto" "w3/w3-auto.el" (12983 26891))
 ;;; Generated autoloads from w3/w3-auto.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-draw" "w3/w3-draw.el" (12851 23509))
+;;;### (autoloads nil "w3-draw" "w3/w3-draw.el" (12983 26886))
 ;;; Generated autoloads from w3/w3-draw.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-e19" "w3/w3-e19.el" (12851 23517))
+;;;### (autoloads nil "w3-e19" "w3/w3-e19.el" (12983 26882))
 ;;; Generated autoloads from w3/w3-e19.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-emulate" "w3/w3-emulate.el" (12851 23506))
+;;;### (autoloads nil "w3-emulate" "w3/w3-emulate.el" (12983 26885))
 ;;; Generated autoloads from w3/w3-emulate.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-forms" "w3/w3-forms.el" (12851 23511))
+;;;### (autoloads nil "w3-forms" "w3/w3-forms.el" (12983 26884))
 ;;; Generated autoloads from w3/w3-forms.el
-
-;;;### (autoloads (w3-use-hotlist) "w3-hot" "w3/w3-hot.el" (12851 23539))
+
+;;;***
+
+;;;### (autoloads (w3-use-hotlist) "w3-hot" "w3/w3-hot.el" (12983 26887))
 ;;; Generated autoloads from w3/w3-hot.el
 
 (autoload 'w3-use-hotlist "w3-hot" "\
@@ -12857,90 +13281,92 @@
 
 ;;;***
 
-;;;### (autoloads nil "w3-imap" "w3/w3-imap.el" (12851 23517))
+;;;### (autoloads nil "w3-imap" "w3/w3-imap.el" (12983 26886))
 ;;; Generated autoloads from w3/w3-imap.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-keyword" "w3/w3-keyword.el" (12851 23541))
+;;;### (autoloads nil "w3-keyword" "w3/w3-keyword.el" (12983 26887))
 ;;; Generated autoloads from w3/w3-keyword.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-latex" "w3/w3-latex.el" (12851 23543))
+;;;### (autoloads nil "w3-latex" "w3/w3-latex.el" (12983 26891))
 ;;; Generated autoloads from w3/w3-latex.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-menu" "w3/w3-menu.el" (12851 23542))
+;;;### (autoloads nil "w3-menu" "w3/w3-menu.el" (12983 26889))
 ;;; Generated autoloads from w3/w3-menu.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-mouse" "w3/w3-mouse.el" (12851 23543))
+;;;### (autoloads nil "w3-mouse" "w3/w3-mouse.el" (12983 26890))
 ;;; Generated autoloads from w3/w3-mouse.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-mule" "w3/w3-mule.el" (12851 23509))
+;;;### (autoloads nil "w3-mule" "w3/w3-mule.el" (12983 26885))
 ;;; Generated autoloads from w3/w3-mule.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-parse" "w3/w3-parse.el" (12851 23520))
+;;;### (autoloads nil "w3-parse" "w3/w3-parse.el" (12983 26887))
 ;;; Generated autoloads from w3/w3-parse.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-prefs" "w3/w3-prefs.el" (12851 23544))
+;;;### (autoloads nil "w3-prefs" "w3/w3-prefs.el" (12983 26892))
 ;;; Generated autoloads from w3/w3-prefs.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-print" "w3/w3-print.el" (12851 23537))
+;;;### (autoloads nil "w3-print" "w3/w3-print.el" (12983 26888))
 ;;; Generated autoloads from w3/w3-print.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-speak" "w3/w3-speak.el" (12851 23545))
+;;;### (autoloads nil "w3-speak" "w3/w3-speak.el" (12983 26892))
 ;;; Generated autoloads from w3/w3-speak.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-style" "w3/w3-style.el" (12851 23516))
+;;;### (autoloads nil "w3-style" "w3/w3-style.el" (12983 26890))
 ;;; Generated autoloads from w3/w3-style.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-sysdp" "w3/w3-sysdp.el" (12851 23541))
+;;;### (autoloads nil "w3-sysdp" "w3/w3-sysdp.el" (12983 26885))
 ;;; Generated autoloads from w3/w3-sysdp.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-toolbar" "w3/w3-toolbar.el" (12851 23506))
+;;;### (autoloads nil "w3-toolbar" "w3/w3-toolbar.el" (12983 26889))
 ;;; Generated autoloads from w3/w3-toolbar.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-vars" "w3/w3-vars.el" (12851 23524))
+;;;### (autoloads nil "w3-vars" "w3/w3-vars.el" (12983 26883))
 ;;; Generated autoloads from w3/w3-vars.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-widget" "w3/w3-widget.el" (12851 23518))
+;;;### (autoloads nil "w3-widget" "w3/w3-widget.el" (12983 26891))
 ;;; Generated autoloads from w3/w3-widget.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-xem20" "w3/w3-xem20.el" (12851 23771))
+;;;### (autoloads nil "w3-xem20" "w3/w3-xem20.el" (12983 26892))
 ;;; Generated autoloads from w3/w3-xem20.el
 
 ;;;***
 
-;;;### (autoloads nil "w3-xemac" "w3/w3-xemac.el" (12851 23514))
+;;;### (autoloads nil "w3-xemac" "w3/w3-xemac.el" (12983 26886))
 ;;; Generated autoloads from w3/w3-xemac.el
-
-;;;### (autoloads (w3-follow-link w3-follow-link-other-frame w3-do-setup w3 w3-preview-this-buffer w3-batch-fetch w3-follow-url-at-point w3-follow-url-at-point-other-frame w3-maybe-follow-link w3-maybe-follow-link-mouse w3-fetch w3-fetch-other-frame w3-find-file w3-open-local) "w3" "w3/w3.el" (12851 23536))
+
+;;;***
+
+;;;### (autoloads (w3-follow-link w3-follow-link-other-frame w3-do-setup w3 w3-preview-this-buffer w3-batch-fetch w3-follow-url-at-point w3-follow-url-at-point-other-frame w3-maybe-follow-link w3-maybe-follow-link-mouse w3-fetch w3-fetch-other-frame w3-find-file w3-open-local) "w3" "w3/w3.el" (12983 26882))
 ;;; Generated autoloads from w3/w3.el
 
 (autoload 'w3-open-local "w3" "\
@@ -13033,29 +13459,35 @@
 
 ;;;***
 
-;;;### (autoloads nil "widget-edit" "w3/widget-edit.el" (12851 23539))
+;;;### (autoloads nil "widget-edit" "w3/widget-edit.el" (12983 26890))
 ;;; Generated autoloads from w3/widget-edit.el
-
-;;;### (autoloads nil "widget" "w3/widget.el" (12720 56523))
+
+;;;***
+
+;;;### (autoloads nil "widget" "w3/widget.el" (12983 26133))
 ;;; Generated autoloads from w3/widget.el
 
 ;;;***
 
-;;;### (autoloads nil "x-compose" "x11/x-compose.el" (12851 23496))
+;;;### (autoloads nil "x-compose" "x11/x-compose.el" (12983 26871))
 ;;; Generated autoloads from x11/x-compose.el
 
 ;;;***
 
-;;;### (autoloads nil "x-faces" "x11/x-faces.el" (12698 33571))
+;;;### (autoloads nil "x-faces" "x11/x-faces.el" (12983 26108))
 ;;; Generated autoloads from x11/x-faces.el
-
-;;;### (autoloads (font-menu-weight-constructor font-menu-size-constructor font-menu-family-constructor reset-device-font-menus) "x-font-menu" "x11/x-font-menu.el" (12874 15156))
+
+;;;***
+
+;;;***
+
+;;;### (autoloads (font-menu-weight-constructor font-menu-size-constructor font-menu-family-constructor reset-device-font-menus) "x-font-menu" "x11/x-font-menu.el" (12996 41586))
 ;;; Generated autoloads from x11/x-font-menu.el
 
 (defvar font-menu-ignore-scaled-fonts t "\
 *If non-nil, then the font menu will try to show only bitmap fonts.")
 
-(defvar font-menu-this-frame-only-p t "\
+(defvar font-menu-this-frame-only-p nil "\
 *If non-nil, then changing the default font from the font menu will only
 affect one frame instead of all frames.")
 
@@ -13078,41 +13510,45 @@
 ;;;***
 
 ;;;***
-
-;;;***
-
-;;;### (autoloads nil "x-init" "x11/x-init.el" (12933 12020))
+
+;;;### (autoloads nil "x-init" "x11/x-init.el" (12983 27374))
 ;;; Generated autoloads from x11/x-init.el
-
-;;;### (autoloads nil "x-iso8859-1" "x11/x-iso8859-1.el" (12639 8655))
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;***
+
+;;;### (autoloads nil "x-iso8859-1" "x11/x-iso8859-1.el" (12983 26108))
 ;;; Generated autoloads from x11/x-iso8859-1.el
 
 ;;;***
 
 ;;;***
-
-;;;***
-
-;;;***
-
-;;;### (autoloads nil "x-menubar" "x11/x-menubar.el" (12976 37346))
+
+;;;### (autoloads nil "x-menubar" "x11/x-menubar.el" (12997 29205))
 ;;; Generated autoloads from x11/x-menubar.el
 
-;;;### (autoloads nil "x-misc" "x11/x-misc.el" (12639 8659))
+;;;### (autoloads nil "x-misc" "x11/x-misc.el" (12983 26110))
 ;;; Generated autoloads from x11/x-misc.el
-
-;;;### (autoloads nil "x-mouse" "x11/x-mouse.el" (12698 33572))
+
+;;;***
+
+;;;### (autoloads nil "x-mouse" "x11/x-mouse.el" (12983 26109))
 ;;; Generated autoloads from x11/x-mouse.el
 
 ;;;***
 
-;;;### (autoloads nil "x-scrollbar" "x11/x-scrollbar.el" (12639 8659))
+;;;### (autoloads nil "x-scrollbar" "x11/x-scrollbar.el" (12983 26110))
 ;;; Generated autoloads from x11/x-scrollbar.el
-
-;;;### (autoloads nil "x-select" "x11/x-select.el" (12546 50544))
+
+;;;***
+
+;;;### (autoloads nil "x-select" "x11/x-select.el" (12983 26107))
 ;;; Generated autoloads from x11/x-select.el
-
-;;;***
 
 ;;;### (autoloads nil "x-toolbar" "x11/x-toolbar.el" (12714 11727))
 ;;; Generated autoloads from x11/x-toolbar.el
--- a/lisp/prim/sort.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/prim/sort.el	Mon Aug 13 08:47:52 2007 +0200
@@ -48,6 +48,8 @@
 
 Usually the records are rearranged in order of ascending sort key.
 If REVERSE is non-nil, they are rearranged in order of descending sort key.
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
 
 The next four arguments are functions to be called to move point
 across a sort record.  They will be called many times from within sort-subr.
@@ -194,7 +196,9 @@
 (defun sort-lines (reverse beg end) 
   "Sort lines in region alphabetically; argument means descending order.
 Called from a program, there are three arguments:
-REVERSE (non-nil means reverse order), BEG and END (region to sort)."
+REVERSE (non-nil means reverse order), BEG and END (region to sort).
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order."
   (interactive "P\nr")
   (save-excursion
     (save-restriction
@@ -206,7 +210,9 @@
 (defun sort-paragraphs (reverse beg end)
   "Sort paragraphs in region alphabetically; argument means descending order.
 Called from a program, there are three arguments:
-REVERSE (non-nil means reverse order), BEG and END (region to sort)."
+REVERSE (non-nil means reverse order), BEG and END (region to sort).
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order."
   (interactive "P\nr")
   (save-excursion
     (save-restriction
@@ -223,7 +229,9 @@
 (defun sort-pages (reverse beg end)
   "Sort pages in region alphabetically; argument means descending order.
 Called from a program, there are three arguments:
-REVERSE (non-nil means reverse order), BEG and END (region to sort)."
+REVERSE (non-nil means reverse order), BEG and END (region to sort).
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order."
   (interactive "P\nr")
   (save-excursion
     (save-restriction
@@ -254,6 +262,8 @@
 With a negative arg, sorts by the ARGth field counted from the right.
 Called from a program, there are three arguments:
 FIELD, BEG and END.  BEG and END specify region to sort.
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
 If you want to sort floating-point numbers, try `sort-float-fields'."
   (interactive "p\nr")
   (sort-fields-1 field beg end
@@ -386,6 +396,9 @@
 
 With a negative prefix arg sorts in reverse order.
 
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
+
 For example: to sort lines in the region by the first word on each line
  starting with the letter \"f\",
  RECORD-REGEXP would be \"^.*$\" and KEY would be \"\\\\=\\<f\\\\w*\\\\>\""
@@ -420,7 +433,7 @@
 					(setq n 0))
 				       (t (throw 'key nil)))
 				 (condition-case ()
-				     (if (fboundp 'buffer-substring-lessp)
+				     (if (fboundp 'compare-buffer-substrings)
 					 (cons (match-beginning n)
 					       (match-end n))
 					 (buffer-substring (match-beginning n)
@@ -438,6 +451,8 @@
 the entire line that point is in and the entire line the mark is in.
 The column positions of point and mark bound the range of columns to sort on.
 A prefix argument means sort into reverse order.
+The variable `sort-fold-case' determines whether alphabetic case affects
+the sort order.
 
 Note that `sort-columns' rejects text that contains tabs,
 because tabs could be split across the specified columns
--- a/lisp/prim/startup.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/prim/startup.el	Mon Aug 13 08:47:52 2007 +0200
@@ -115,7 +115,7 @@
 
 (defvar command-line-processed nil "t once command line has been processed")
 
-(defconst startup-message-timeout 120)
+(defconst startup-message-timeout 1200) ; More or less disable the timeout
 
 (defconst inhibit-startup-message nil
   "*Non-nil inhibits the initial startup message.
--- a/lisp/psgml/psgml-style.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-;;; style.el --- example style file for psgml-fs.el and catalog.sgml
-
-(
- ("example"
-  default-top 1
-  default-bottom 1)
- ("front")
- ("body")
- ("pubfront" text "")
- ("abstract"
-  block t
-  before (block t text "ABSTRACT")
-  left 4)
- ("p" block t)
- ("title" block t)
- ("titlegrp" block t bottom 2 default-bottom 0 default-top 0)
- ("subtitle" before (text " // "))
- ("list" block t)
- ("head" block t)
- ("item"
-  left (+ (fs-char 'left) 3)
-  hang-from " * ")
- ("keyword"
-  before (text "|")
-  after (text "|"))
- ("chapter"  block t  top 2  before (text "CHAPTER"))
- ("lit" block t literal t)
- (t
-  before (text (format "<%s>" (sgml-element-gi e)))
-  after (text " ")
-  )
-) 
--- a/lisp/rmail/rmail-lucid.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-;; Mouse and font support for RMAIL running in Lucid GNU Emacs
-;; written by Wilson H. Tien (wtien@urbana.mcd.mot.com); modified by jwz.
-;; Copyright (C) 1992-1993 Free Software Foundation, Inc.
-
-;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-;;; Right button pops up a menu of commands in Rmail and Rmail summary buffers.
-;;; Middle button selects indicated mail message in Rmail summary buffer
-
-(defvar rmail-summary-mode-menu
-  '("Rmail Summary Commands"
-    ["Select Message" rmail-summary-goto-msg t nil]
-    "----"
-    ["Previous Page" scroll-down t]
-    ["Next Page" scroll-up t]
-    "----"
-    ["Delete Message" rmail-summary-delete-forward t nil]
-    ["Undelete Message" rmail-summary-undelete t nil]
-    "----"
-    ["Exit rmail Summary" rmail-summary-exit t]
-    ["Quit rmail" rmail-summary-quit t]))
-
-(defun rmail-summary-update-menubar ()
-  ;; if min point is in visible in the window, don't make page-up menu item
-  ;; selectable
-  (let ((current-menubar rmail-summary-mode-menu)
-	(select '("Select Message"))
-	(delete '("Delete Message"))
-	(undelete '("Undelete Message"))
-	(prev-page '("Previous Page"))
-	(next-page '("Next Page")))
-    (beginning-of-line)
-    (let ((curmsg (string-to-int
-		 (buffer-substring (point)
-				   (min (point-max) (+ 5 (point))))))
-	  deleted-p)
-      (if (= 0 curmsg)
-	  (progn
-	    (rmail-update-menu-item delete nil)
-	    (rmail-update-menu-item undelete nil)
-	    (rmail-update-menu-item select nil))
-	(pop-to-buffer rmail-buffer)
-	(setq deleted-p (rmail-message-deleted-p curmsg))
-	(pop-to-buffer rmail-summary-buffer)
-	(let ((delete-menu-item 
-	       (car (find-menu-item current-menubar delete)))
-	      (undelete-menu-item 
-	       (car (find-menu-item current-menubar undelete)))
-	      (select-menu-item 
-	       (car (find-menu-item current-menubar select)))
-	      (msg (format "#%d" curmsg)))
-	  (aset delete-menu-item 2 (not deleted-p))
-	  (aset delete-menu-item 3 msg)
-	  (aset undelete-menu-item 2 deleted-p)
-	  (aset undelete-menu-item 3 msg)
-	  (aset select-menu-item 2 t)
-	  (aset select-menu-item 3 msg))))
-    (rmail-update-menu-item prev-page (> (window-start) (point-min)))
-    (rmail-update-menu-item next-page (< (window-end) (point-max)))))
-  
-(defun rmail-summary-mode-menu (event)
-  "Pops up a menu of applicable rmail summary commands."
-  (interactive "e")
-  (mouse-set-point event)
-  (beginning-of-line)
-  (rmail-summary-update-menubar)
-  (popup-menu rmail-summary-mode-menu))
-
-;; The following are for rmail mode 
-(defconst rmail-mode-menu
-  '("Rmail Commands"
-    ["Previous Page" scroll-down t]
-    ["Next Page" scroll-up t]
-    ["Top Of This Message" rmail-beginning-of-message t]
-    "----"
-    "Go To Message:"
-    "----"
-    ["Next Nondeleted Message" rmail-next-undeleted-message t]
-    ["Previous Nondeleted Message" rmail-previous-undeleted-message t]
-    ["Next Message" rmail-next-message t]
-    ["Previous Message" rmail-previous-message t]
-    ["First Message" rmail-show-message t]
-    ["Last Message" rmail-last-message t]
-    "----"
-    ["Delete This Message" rmail-delete-forward t]
-    ["Undelete This Message" rmail-undelete-previous-message t]
-    ["Save This Message" rmail-output-to-rmail-file t]
-    "----"
-    ["Reply This Message" rmail-reply t]
-    ["Forward This Message" rmail-forward t]
-;    ["Continue This Message" rmail-continue t]
-    "----"
-    ["Add Label" rmail-add-label t]
-    ["Kill Label" rmail-kill-label t]
-    ["Next Labeled Message" rmail-next-labeled-message t]
-    ["Previous Labeled Message" rmail-previous-labeled-message t]
-    ["Summary by Label" rmail-summary-by-labels t]
-    "----"
-    ["Summary" rmail-summary t]
-    ["Get New Mail" rmail-get-new-mail t]
-    ["rmail Input From" rmail-input t]
-    ["Expunge rmail" rmail-expunge t]
-    ["Expunge and Save" rmail-expunge-and-save t]
-    ["Quit rmail" rmail-quit t]))
-
-(defun rmail-update-menu-item (item p)
-  "If P is true, enable the menu item. O/w disable it."
-  (aset (car (or (find-menu-item current-menubar item)
-		 (error "couldn't find rmail menu item %S" item)))
-	2 p))
-
-(defun rmail-update-menubar ()
-  (let ((current-menubar rmail-mode-menu)
-	(prev-page '("Previous Page"))
-	(next-page '("Next Page"))
-	(top-page '("Top Of This Message"))
-	(real-next '("Next Message"))
-	(real-prev '("Previous Message"))
-	(undel-next '("Next Nondeleted Message"))
-	(undel-prev '("Previous Nondeleted Message"))
-	(delete '("Delete This Message"))
-	(undelete '("Undelete This Message"))
-	i)
-    ;; Disable/enable page-up/page-down menu items
-    (rmail-update-menu-item prev-page (> (window-start) (point-min)))
-    (rmail-update-menu-item next-page (< (window-end) (point-max)))
-    (rmail-update-menu-item top-page (> (window-start) (point-min)))
-    (rmail-update-menu-item real-next
-		      (/= rmail-current-message rmail-total-messages))
-    (rmail-update-menu-item real-prev (/= rmail-current-message 1))
-    (setq i (1+ rmail-current-message))
-    (while (and (<= i rmail-total-messages) (rmail-message-deleted-p i))
-      (setq i (1+ i)))
-    (rmail-update-menu-item undel-next (<= i rmail-total-messages))
-    (setq i (1- rmail-current-message))
-    (while (and (>= i 1) (rmail-message-deleted-p i))
-      (setq i (1- i)))
-    (rmail-update-menu-item undel-prev (>= i 1))
-    (rmail-update-menu-item delete 
-		      (not (rmail-message-deleted-p rmail-current-message)))
-    (rmail-update-menu-item undelete 
-		      (rmail-message-deleted-p rmail-current-message))
-    t))
-  
-(defun rmail-mode-menu (event)
-  "Pops up a menu of applicable rmail commands."
-  (interactive "e")
-  (select-window (event-window event))
-  (rmail-update-menubar)
-  (popup-menu rmail-mode-menu))
-
-(defun rmail-activate-menubar-hook ()
-  (cond ((eq major-mode 'rmail-mode)
-	 (rmail-update-menubar))
-	((eq major-mode 'rmail-summary-mode)
-	 (rmail-summary-update-menubar))))
-
-(add-hook 'activate-menubar-hook 'rmail-activate-menubar-hook)
-
-;;; Put message headers in boldface, etc...
-
-(require 'highlight-headers)
-
-(defun rmail-fontify-headers ()
-  (highlight-headers (point-min) (point-max) t))
-
-(add-hook 'rmail-show-message-hook 'rmail-fontify-headers)
-
-;; MENU and MENUBAR setup for both Rmail and Rmail summary buffers
-(defun rmail-install-menubar ()
-  (if (and current-menubar (not (assoc (car rmail-mode-menu) current-menubar)))
-      (let ((menu (cond ((eq major-mode 'rmail-mode) rmail-mode-menu)
-			((eq major-mode 'rmail-summary-mode)
-			 rmail-summary-mode-menu)
-			(t (error "not rmail or rmail summary mode")))))
-	(set-buffer-menubar (copy-sequence current-menubar))
-	(add-menu nil (car rmail-mode-menu) (cdr menu)))))
-
-(defun rmail-mode-menu-setup ()
-  (rmail-install-menubar)
-  (define-key rmail-mode-map 'button3 'rmail-mode-menu))
-
-(add-hook 'rmail-mode-hook 'rmail-mode-menu-setup)
-
-(defun rmail-summary-mode-menu-setup ()
-  (rmail-install-menubar)
-  (define-key rmail-summary-mode-map 'button2 'rmail-summary-mouse-goto-msg)
-  (define-key rmail-summary-mode-map 'button3 'rmail-summary-mode-menu))
-
-(defun rmail-summary-mouse-goto-msg (e)
-  (interactive "e")
-  (mouse-set-point e)
-  (beginning-of-line)
-  (rmail-summary-goto-msg))
-
-(defun rmail-install-mouse-tracker ()
-  (require 'mode-motion)
-  (setq mode-motion-hook 'mode-motion-highlight-line))
-
-(add-hook 'rmail-summary-mode-hook 'rmail-install-mouse-tracker)
-(add-hook 'rmail-summary-mode-hook 'rmail-summary-mode-menu-setup)
-
-
-(provide 'rmail-lucid)
--- a/lisp/tl/cless.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/cless.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: cless.el,v 1.2 1996/12/22 00:29:30 steve Exp $
+;;	$Id: cless.el,v 1.3 1996/12/29 00:15:08 steve Exp $
 ;; Keywords: common lisp
 
 ;; This file is not part of GNU Emacs.
--- a/lisp/tl/emu-e19.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/emu-e19.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,10 +3,10 @@
 ;; Copyright (C) 1995,1996 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: emu-e19.el,v 1.1.1.1 1996/12/18 03:55:31 steve Exp $
+;; Version: $Id: emu-e19.el,v 1.2 1996/12/29 00:15:08 steve Exp $
 ;; Keywords: emulation, compatibility, mule, Latin-1
 
-;; This file is part of tl (Tiny Library).
+;; This file is part of emu.
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
@@ -39,13 +39,13 @@
 ;;;
 
 (defconst charset-ascii 0 "Character set of ASCII")
-(defconst charset-latin-1 129 "Character set of ISO-8859-1")
+(defconst charset-latin-iso8859-1 129 "Character set of ISO-8859-1")
 
 (defun charset-description (charset)
   "Return description of CHARSET. [emu-e19.el]"
   (if (< charset 128)
       (documentation-property 'charset-ascii 'variable-documentation)
-    (documentation-property 'charset-latin-1 'variable-documentation)
+    (documentation-property 'charset-latin-iso8859-1 'variable-documentation)
     ))
 
 (defun charset-registry (charset)
@@ -68,7 +68,7 @@
   "Return a list of charsets in the string.
 \[emu-e19.el; Mule emulating function]"
   (if (string-match "[\200-\377]" str)
-      (list lc-ltn1)
+      (list charset-latin-iso8859-1)
     ))
 
 (defalias 'find-non-ascii-charset-string 'find-charset-string)
@@ -82,17 +82,11 @@
 	  (goto-char start)
 	  (re-search-forward "[\200-\377]" nil t)
 	  ))
-      (list lc-ltn1)
+      (list charset-latin-iso8859-1)
     ))
 
 (defalias 'find-non-ascii-charset-region 'find-charset-region)
 
-;;; @@ for old MULE emulation
-;;;
-
-(defconst lc-ascii 0)
-(defconst lc-ltn1 129)
-
 
 ;;; @ coding-system
 ;;;
@@ -213,7 +207,7 @@
 \[emu-e19.el; XEmacs 20 emulating function]"
   (if (< chr 128)
       charset-ascii
-    charset-latin-1))
+    charset-latin-iso8859-1))
 
 (defun char-bytes (char)
   "Return number of bytes a character in CHAR occupies in a buffer.
--- a/lisp/tl/file-detect.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/file-detect.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: file-detect.el,v 1.2 1996/12/22 00:29:31 steve Exp $
+;;	$Id: file-detect.el,v 1.3 1996/12/29 00:15:09 steve Exp $
 ;; Keywords: install, module
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/filename.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/filename.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1996 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: filename.el,v 1.1 1996/12/22 00:37:04 steve Exp $
+;; Version: $Id: filename.el,v 1.2 1996/12/29 00:15:09 steve Exp $
 ;; Keywords: string, file name
 
 ;; This file is part of tl (Tiny Library).
@@ -130,8 +130,9 @@
 
 (defun replace-as-filename (string)
   "Return safety filename from STRING. [filename.el]"
-  (poly-funcall filename-filters string)
-  )
+  (and string
+       (poly-funcall filename-filters string)
+       ))
 
 
 ;;; @ end
--- a/lisp/tl/mime-setup.el	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-;;; mime-setup.el --- setup file for tm viewer and composer.
-
-;; Copyright (C) 1995,1996 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version:
-;;	$Id: mime-setup.el,v 1.1.1.1 1996/12/18 03:55:31 steve Exp $
-;; Keywords: mail, news, MIME, multimedia, multilingual, encoded-word
-
-;; This file is part of tm (Tools for MIME).
-
-;; This program 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.
-
-;; This program 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 GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-
-(require 'tl-misc)
-
-(defvar mime-viewer/external-progs 
-  (expand-file-name "lib-src" data-directory))
-(require 'tm-setup)
-
-(autoload 'mime/editor-mode "tm-edit"
-  "Minor mode for editing MIME message." t)
-(autoload 'mime/decode-message-header "tm-ew-d"
-  "Decode MIME encoded-words in message header." t)
-
-(defun mime-setup-decode-message-header ()
-  (save-excursion
-    (save-restriction
-      (goto-char (point-min))
-      (narrow-to-region
-       (point-min)
-       (if (re-search-forward
-	    (concat "^" (regexp-quote mail-header-separator) "$")
-	    nil t)
-	   (match-beginning 0)
-	 (point-max)
-	 ))
-      (mime/decode-message-header)
-      (set-buffer-modified-p nil)
-      )))
-
-(add-hook 'mime/editor-mode-hook 'mime-setup-decode-message-header)
-
-
-;;; @ variables
-;;;
-
-(defvar mime-setup-use-sc nil
-  "If it is not nil, mime-setup requires sc-setup. [mime-setup.el]")
-
-(defvar mime-setup-use-signature t
-  "If it is not nil, mime-setup sets up to use signature.el.
-\[mime-setup.el]")
-
-(defvar mime-setup-default-signature-key "\C-c\C-s"
-  "*Key to insert signature. [mime-setup.el]")
-
-(defvar mime-setup-signature-key-alist '((mail-mode . "\C-c\C-w"))
-  "Alist of major-mode vs. key to insert signature. [mime-setup.el]")
-
-
-;;; @ for signature
-;;;
-
-(defun mime-setup-set-signature-key ()
-  (let ((key (or (cdr (assq major-mode mime-setup-signature-key-alist))
-		 mime-setup-default-signature-key)))
-    (define-key (current-local-map) key (function insert-signature))
-    ))
-
-(if mime-setup-use-signature
-    (progn
-      (autoload 'insert-signature "signature" "Insert signature" t)
-      (add-hook 'mime/editor-mode-hook 'mime-setup-set-signature-key)
-      (setq gnus-signature-file nil)
-      (setq mail-signature nil)
-      (setq message-signature nil)
-      ))
-
-
-;;; @ about SuperCite
-;;;
-
-(if mime-setup-use-sc
-    (require 'sc-setup)
-  )
-
-
-;;; @ for mu-cite
-;;;
-
-(add-hook 'mu-cite/pre-cite-hook 'mime/decode-message-header)
-
-
-;;; @ for RMAIL and VM
-;;;
-
-(add-hook 'mail-setup-hook 'mime/decode-message-header)
-(add-hook 'mail-setup-hook 'mime/editor-mode 'append)
-(add-hook 'mail-send-hook  'mime-editor/maybe-translate)
-
-
-;;; @ for mh-e
-;;;
-
-(defun mime-setup-mh-draft-setting ()
-  (mime/editor-mode)
-  (make-local-variable 'mail-header-separator)
-  (setq mail-header-separator "--------")
-  (save-excursion
-    (goto-char (point-min))
-    (setq buffer-read-only nil)
-    (if (re-search-forward "^-*$" nil t)
-	(progn
-	  (replace-match mail-header-separator)
-	  (set-buffer-modified-p (buffer-modified-p))
-	  ))
-    ))
-
-(add-hook 'mh-letter-mode-hook 'mime-setup-mh-draft-setting t)
-(add-hook 'mh-before-send-letter-hook 'mime-editor/maybe-translate)
-
-
-;;; @ for GNUS
-;;;
-
-(add-hook 'news-reply-mode-hook 'mime/editor-mode)
-(add-hook 'news-inews-hook      'mime-editor/maybe-translate)
-
-
-;;; @ for message (September Gnus 0.58 or later)
-;;;
-
-(defun message-maybe-setup-default-charset ()
-  (let ((charset
-	 (and (boundp 'gnus-summary-buffer)
-              (buffer-live-p gnus-summary-buffer)
-	      (save-excursion
-		(set-buffer gnus-summary-buffer)
-		default-mime-charset))))
-    (if charset
-	(progn
-	  (make-local-variable 'default-mime-charset)
-	  (setq default-mime-charset charset)
-	  ))))
-
-(or (boundp 'epoch::version)
-    (progn
-      (add-hook 'message-setup-hook 'mime/editor-mode)
-      (add-hook 'message-setup-hook 'message-maybe-setup-default-charset)
-      (add-hook 'message-send-hook  'mime-editor/maybe-translate)
-      (add-hook 'message-header-hook 'mime/encode-message-header)
-      
-      (call-after-loaded
-       'message
-       (function
-	(lambda ()
-	  (require 'message-mime)
-	  )))
-      ))
-
-
-;;; @ end
-;;;
-
-(provide 'mime-setup)
-
-(run-hooks 'mime-setup-load-hook)
-
-;;; mime-setup.el ends here
-;;;
-;;; Local Variables:
-;;; mode: emacs-lisp
-;;; End:
--- a/lisp/tl/range.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/range.el	Mon Aug 13 08:47:52 2007 +0200
@@ -6,7 +6,7 @@
 ;;         Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: range.el,v 1.2 1996/12/22 00:29:31 steve Exp $
+;;	$Id: range.el,v 1.3 1996/12/29 00:15:09 steve Exp $
 ;; Keywords: range
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/texi-util.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/texi-util.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1996 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: texi-util.el,v 1.2 1996/12/22 00:29:31 steve Exp $
+;; Version: $Id: texi-util.el,v 1.3 1996/12/29 00:15:09 steve Exp $
 ;; Keywords: Texinfo
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/tl-atype.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tl-atype.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1994,1995,1996 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: tl-atype.el,v 1.2 1996/12/22 00:29:32 steve Exp $
+;; Version: $Id: tl-atype.el,v 1.3 1996/12/29 00:15:09 steve Exp $
 ;; Keywords: atype
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/tl-list.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tl-list.el	Mon Aug 13 08:47:52 2007 +0200
@@ -6,7 +6,7 @@
 ;;         Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;         Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
 ;; Version:
-;;	$Id: tl-list.el,v 1.2 1996/12/22 00:29:32 steve Exp $
+;;	$Id: tl-list.el,v 1.3 1996/12/29 00:15:09 steve Exp $
 ;; Keywords: list
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/tl-misc.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tl-misc.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: tl-misc.el,v 1.2 1996/12/22 00:29:32 steve Exp $
+;;	$Id: tl-misc.el,v 1.3 1996/12/29 00:15:10 steve Exp $
 ;; Keywords: load-path, module, structure
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/tl-num.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tl-num.el	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: tl-num.el,v 1.2 1996/12/22 00:29:32 steve Exp $
+;;; $Id: tl-num.el,v 1.3 1996/12/29 00:15:10 steve Exp $
 ;;;
 ;;; by MORIOKA Tomohiko <morioka@jaist.ac.jp>, 1993/10/4
 ;;;
--- a/lisp/tl/tl-seq.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tl-seq.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: tl-seq.el,v 1.2 1996/12/22 00:29:33 steve Exp $
+;;	$Id: tl-seq.el,v 1.3 1996/12/29 00:15:10 steve Exp $
 ;; Keywords: sequence
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/tu-comment.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tu-comment.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1995/10/27
-;; Version: $Id: tu-comment.el,v 1.2 1996/12/22 00:29:33 steve Exp $
+;; Version: $Id: tu-comment.el,v 1.3 1996/12/29 00:15:10 steve Exp $
 ;; Keywords: comment, Lisp
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tl/tu-replace.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tl/tu-replace.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1995,1996 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: tu-replace.el,v 1.2 1996/12/22 00:29:33 steve Exp $
+;; Version: $Id: tu-replace.el,v 1.3 1996/12/29 00:15:11 steve Exp $
 ;; Keywords: replace
 
 ;; This file is part of tl (Tiny Library).
--- a/lisp/tm/gnus-mime-old.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/gnus-mime-old.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/9/4
 ;; Version:
-;;	$Id: gnus-mime-old.el,v 1.2 1996/12/22 00:29:34 steve Exp $
+;;	$Id: gnus-mime-old.el,v 1.3 1996/12/29 00:15:12 steve Exp $
 ;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 
 ;; This file is not part of GNU Emacs yet.
--- a/lisp/tm/gnus-mime.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/gnus-mime.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/8/6
-;; Version: $Revision: 1.2 $
+;; Version: $Revision: 1.3 $
 ;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 
 ;; This file is not part of GNU Emacs yet.
@@ -33,7 +33,7 @@
 ;;;
 
 (defconst gnus-mime-RCS-ID
-  "$Id: gnus-mime.el,v 1.2 1996/12/22 00:29:35 steve Exp $")
+  "$Id: gnus-mime.el,v 1.3 1996/12/29 00:15:12 steve Exp $")
 
 (defconst gnus-mime-version
   (get-version-string gnus-mime-RCS-ID))
--- a/lisp/tm/gnus-sum-mime.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/gnus-sum-mime.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/8/6
 ;; Version:
-;;	$Id: gnus-sum-mime.el,v 1.2 1996/12/22 00:29:35 steve Exp $
+;;	$Id: gnus-sum-mime.el,v 1.3 1996/12/29 00:15:12 steve Exp $
 ;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 
 ;; This file is not part of GNU Emacs yet.
--- a/lisp/tm/message-mime.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/message-mime.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/8/6
 ;; Version:
-;;	$Id: message-mime.el,v 1.2 1996/12/22 00:29:36 steve Exp $
+;;	$Id: message-mime.el,v 1.3 1996/12/29 00:15:12 steve Exp $
 ;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 
 ;; This file is not part of GNU Emacs yet.
--- a/lisp/tm/mime-setup.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/mime-setup.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: mime-setup.el,v 1.1 1996/12/22 00:36:44 steve Exp $
+;;	$Id: mime-setup.el,v 1.2 1996/12/29 00:15:12 steve Exp $
 ;; Keywords: mail, news, MIME, multimedia, multilingual, encoded-word
 
 ;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/sc-setup.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/sc-setup.el	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: sc-setup.el,v 1.2 1996/12/22 00:29:37 steve Exp $
+;;; $Id: sc-setup.el,v 1.3 1996/12/29 00:15:12 steve Exp $
 ;;;
 
 (require 'emu)
--- a/lisp/tm/signature.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/signature.el	Mon Aug 13 08:47:52 2007 +0200
@@ -9,7 +9,7 @@
 ;; Maintainer: Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
 ;; Created: 1994/7/11
 ;; Version:
-;;	$Id: signature.el,v 1.2 1996/12/22 00:29:37 steve Exp $
+;;	$Id: signature.el,v 1.3 1996/12/29 00:15:12 steve Exp $
 ;; Keywords: mail, news, signature
 
 ;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/tm-def.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-def.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1995,1996 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: tm-def.el,v 1.2 1996/12/22 00:29:38 steve Exp $
+;; Version: $Id: tm-def.el,v 1.3 1996/12/29 00:15:13 steve Exp $
 ;; Keywords: mail, news, MIME, multimedia, definition
 
 ;; This file is part of tm (Tools for MIME).
@@ -104,8 +104,12 @@
     (tl:overlay-put overlay 'face face)
     ))
 
-(setq tm:button-face 'bold)
-(setq tm:mouse-face 'highlight)
+(defvar tm:button-face 'bold
+  "Face used for content-button or URL-button of MIME-Preview buffer.
+\[tm-def.el]")
+
+(defvar tm:mouse-face 'highlight
+  "Face used for MIME-preview buffer mouse highlighting. [tm-def.el]")
 
 (defun tm:add-button (from to func &optional data)
   "Create a button between FROM and TO with callback FUNC and data DATA."
--- a/lisp/tm/tm-edit-mc.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-edit-mc.el	Mon Aug 13 08:47:52 2007 +0200
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1996 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: tm-edit-mc.el,v 1.2 1996/12/22 00:29:38 steve Exp $
+;; Version: $Id: tm-edit-mc.el,v 1.3 1996/12/29 00:15:13 steve Exp $
 ;; Keywords: mail, news, MIME, multimedia, multilingual, security, PGP
 
 ;; This file is part of tm (Tools for MIME).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/tm/tm-edit-tipgp.el	Mon Aug 13 08:47:52 2007 +0200
@@ -0,0 +1,132 @@
+;;; tm-edit-tipgp.el -- TinyPgp.el PGP interface
+
+;; Copyright (C) 1996 Jari aalto
+
+;; Author: Jari Aalto <jari.aalto@poboxes.com>
+;; Version: $Id: tm-edit-tipgp.el,v 1.1 1996/12/29 00:18:17 steve Exp $
+;; Keywords: mail, news, MIME, multimedia, multilingual, security, PGP
+
+;; This file is part of tm (Tools for MIME).
+
+;; This program 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.
+
+;; This program 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 GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'tinypgpa.el)
+
+(defun tm:tipgp-process-region (result-buffer boundary)
+  (let ((obuf (current-buffer))
+	)
+    (cond
+     (boundary
+      (goto-char (point-min))
+      (insert (format "--%s\n" boundary))
+      (goto-char (point-max))
+      (insert (format "\n--%s
+Content-Type: application/pgp-signature
+Content-Transfer-Encoding: 7bit
+
+" boundary))
+      (insert-buffer-substring result-buffer)
+      (goto-char (point-max))
+      (insert (format "\n--%s--\n" boundary))
+      )
+     (t
+      (delete-region beg end)
+      (goto-char beg)
+      (insert-buffer-substring result-buffer)
+      ))
+  ))
+
+
+
+
+(defun tm:tipgp-sign-region (start end &optional id unclear boundary)
+  ;; start end	= Region
+  ;; id		=
+  ;; unclear	=
+  ;; boundary	= pgp-sign-Multipart_Wed_Dec__4_11:14:41_1996-1
+
+  (let (tipgp-:xpgp-header-mode		;Do not use X-Pgp signing
+	passwd
+    	ret
+	)
+
+    (setq passwd (tipgp-password-get-old "Sign pass phrase: "))
+
+
+    ;;  The region is already narrowed by TM, so we pass the
+    ;;  point-min point-max
+    ;;
+    ;;  The macro tipgp-run-in-tmp-buffer cpies the contents to
+    ;;  another buffer and when signing is over, it will
+    ;;  contain fully signed message
+    ;;
+    (setq
+     ret
+     (tipgp-run-in-tmp-buffer nil
+       (tipgp-sign-region
+	(point-min) (point-max) passwd 'verb
+	(format
+	 "+comment=\"Processed by TinyPgp.el %s\""
+	 (strmatget "[0-9][0-9.]+" 0 tipgp-version-id)
+	 )
+	'noerr
+	)))
+
+    (if ret
+	(tm:tipgp-process-region tipgp-:buffer-tmp-copy boundary))
+
+    (cond
+     ((and boundary ret)
+      (goto-char (point-min))
+      (insert
+       (format "\
+--[[multipart/signed; protocol=\"application/pgp-signature\";
+ boundary=\"%s\"; micalg=pgp-md5][7bit]]\n" boundary))
+      ))
+    ret
+    ))
+
+
+
+(defun tm:tipgp-pgp-encrypt-region (recipients start end &optional id sign)
+  (let (;;  do not use these hooks while in TM
+
+	tipgp-cmd-macro-before-hook
+	tipgp-cmd-macro-after-hook
+
+	;; TinyPgp.el: has separate encrypt and signing functions.
+	;;
+;;;	(mc-pgp-always-sign
+;;;	 (if (eq sign 'maybe)
+;;;	     mc-pgp-always-sign
+;;;	   'never))
+
+	(elist (ti::mt-email-from-string recipients))
+	)
+    (if (null elist)
+	(error "TO,CC,BCC fields don't contain email addresses."))
+    (tipgp-encrypt-region (point-min) (point-max) elist nil 'verb)
+    ))
+
+
+;;; @ end
+;;;
+
+(provide 'tm-edit-tipgp)
+
+;;; tm-edit-tipgp.el ends here
--- a/lisp/tm/tm-edit.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-edit.el	Mon Aug 13 08:47:52 2007 +0200
@@ -6,7 +6,7 @@
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1994/08/21 renamed from mime.el
-;; Version: $Revision: 1.2 $
+;; Version: $Revision: 1.3 $
 ;; Keywords: mail, news, MIME, multimedia, multilingual
 
 ;; This file is part of tm (Tools for MIME).
@@ -120,7 +120,7 @@
 ;;;
 
 (defconst mime-editor/RCS-ID
-  "$Id: tm-edit.el,v 1.2 1996/12/22 00:29:39 steve Exp $")
+  "$Id: tm-edit.el,v 1.3 1996/12/29 00:15:13 steve Exp $")
 
 (defconst mime-editor/version (get-version-string mime-editor/RCS-ID))
 
@@ -292,42 +292,42 @@
      )
     ("\\.tar\\.gz$"
      "application" "octet-stream" (("type" . "tar+gzip"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.tgz$"
      "application" "octet-stream" (("type" . "tar+gzip"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.tar\\.Z$"
      "application" "octet-stream" (("type" . "tar+compress"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.taz$"
      "application" "octet-stream" (("type" . "tar+compress"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.gz$"
      "application" "octet-stream" (("type" . "gzip"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.Z$"
      "application" "octet-stream" (("type" . "compress"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.lzh$"
      "application" "octet-stream" (("type" . "lha"))
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.zip$"
      "application" "zip" nil
-     nil
+     "base64"
      "attachment"	(("filename" . file))
      )
     ("\\.diff$"
@@ -355,7 +355,7 @@
 ;;;
 
 (defvar mime-editor/transfer-level 7
-  "*A number of network transfer level. It should be bigger than 7.")
+  "*A number of network transfer level.  It should be bigger than 7.")
 (make-variable-buffer-local 'mime-editor/transfer-level)
 
 (defvar mime-editor/transfer-level-string
@@ -657,7 +657,7 @@
 In this mode, basically, the message is composed in the tagged MIME
 format. The message tag looks like:
 
-	`--[[text/plain; charset=ISO-2022-JP][7bit]]'.
+	--[[text/plain; charset=ISO-2022-JP][7bit]]
 
 The tag specifies the MIME content type, subtype, optional parameters
 and transfer encoding of the message following the tag. Messages
@@ -697,6 +697,8 @@
 which key is MIME charset and value is coding-system.
 
 Following commands are available in addition to major mode commands:
+
+\[make single part\]
 \\[mime-editor/insert-text]	insert a text message.
 \\[mime-editor/insert-file]	insert a (binary) file.
 \\[mime-editor/insert-external]	insert a reference to external body.
@@ -704,18 +706,28 @@
 \\[mime-editor/insert-message]	insert a mail or news message.
 \\[mime-editor/insert-mail]	insert a mail message.
 \\[mime-editor/insert-signature]	insert a signature file at end.
+\\[mime-editor/insert-key]	insert PGP public key.
 \\[mime-editor/insert-tag]	insert a new MIME tag.
+
+\[make enclosure (maybe multipart)\]
 \\[mime-editor/enclose-alternative-region]	enclose as multipart/alternative.
 \\[mime-editor/enclose-parallel-region]	enclose as multipart/parallel.
 \\[mime-editor/enclose-mixed-region]	enclose as multipart/mixed.
 \\[mime-editor/enclose-digest-region]	enclose as multipart/digest.
 \\[mime-editor/enclose-signed-region]	enclose as PGP signed.
 \\[mime-editor/enclose-encrypted-region]	enclose as PGP encrypted.
-\\[mime-editor/insert-key]	insert PGP public key.
+\\[mime-editor/enclose-quote-region]	enclose as verbose mode (to avoid to expand tags)
+
+\[other commands\]
+\\[mime-editor/set-transfer-level-7bit]	set transfer-level as 7.
+\\[mime-editor/set-transfer-level-8bit]	set transfer-level as 8.
+\\[mime-editor/set-split]	set message splitting mode.
+\\[mime-editor/set-sign]	set PGP-sign mode.
+\\[mime-editor/set-encrypt]	set PGP-encryption mode.
 \\[mime-editor/preview-message]	preview editing MIME message.
 \\[mime-editor/exit]	exit and translate into a MIME compliant message.
+\\[mime-editor/help]	show this help.
 \\[mime-editor/maybe-translate]	exit and translate if in MIME mode, then split.
-\\[mime-editor/help]	show this help.
 
 Additional commands are available in some major modes:
 C-c C-c		exit, translate and run the original command.
@@ -747,13 +759,14 @@
  mime-ignore-trailing-spaces
     Trailing white spaces in a message body are ignored if non-nil.
 
- mime-auto-fill-header
-    Fill header fields that contain encoded-words if non-nil.
-
  mime-auto-hide-body
     Hide a non-textual body message encoded in base64 after insertion
     if non-nil.
 
+ mime-editor/transfer-level
+    A number of network transfer level.  It should be bigger than 7.
+    If you are in 8bit-through environment, please set 8.
+
  mime-editor/voice-recorder
     Specifies a function to record a voice message and encode it.
     The function `mime-editor/voice-recorder-for-sun' is for Sun
@@ -883,32 +896,24 @@
 	      (enriched-mode nil)
 	    ))))))
 
-(defun mime-editor/insert-file (file)
+(defun mime-editor/insert-file (file &optional verbose)
   "Insert a message from a file."
-  (interactive "fInsert file as MIME message: ")
+  (interactive "fInsert file as MIME message: \nP")
   (let*  ((guess (mime-find-file-type file))
-	  (pritype (nth 0 guess))
+	  (type (nth 0 guess))
 	  (subtype (nth 1 guess))
 	  (parameters (nth 2 guess))
-	  (default (nth 3 guess))	;Guess encoding from its file name.
+	  (encoding (nth 3 guess))
 	  (disposition-type (nth 4 guess))
 	  (disposition-params (nth 5 guess))
-	  (encoding
-	   (if (not (interactive-p))
-	       default
-	     (completing-read
-	      (concat "What transfer encoding"
-		      (if default
-			  (concat " (default "
-				  (if (string-equal default "")
-				      "\"\""
-				    default)
-				  ")"
-				  ))
-		      ": ")
-	      mime-file-encoding-method-alist nil t nil))))
-    (if (string-equal encoding "")
-	(setq encoding default))
+	  )
+    (if verbose
+	(setq type    (mime-prompt-for-type type)
+	      subtype (mime-prompt-for-subtype type subtype)
+	      ))
+    (if (or (interactive-p) verbose)
+	(setq encoding (mime-prompt-for-encoding encoding))
+      )
     (if (or (consp parameters) (stringp disposition-type))
 	(let ((rest parameters) cell attribute value)
 	  (setq parameters "")
@@ -943,7 +948,7 @@
 		  )
 		))
 	  ))
-    (mime-editor/insert-tag pritype subtype parameters)
+    (mime-editor/insert-tag type subtype parameters)
     (mime-editor/insert-binary-file file encoding)
     ))
 
@@ -1296,7 +1301,7 @@
     guess
     ))
 
-(defun mime-prompt-for-type ()
+(defun mime-prompt-for-type (&optional default)
   "Ask for Content-type."
   (let ((type ""))
     ;; Repeat until primary content type is specified.
@@ -1306,7 +1311,7 @@
 			     mime-content-types
 			     nil
 			     'require-match ;Type must be specified.
-			     nil
+			     default
 			     ))
       (if (string-equal type "")
 	  (progn
@@ -1315,19 +1320,22 @@
 	    (sit-for 1)
 	    ))
       )
-    type
-    ))
+    type))
 
-(defun mime-prompt-for-subtype (pritype)
-  "Ask for Content-type subtype of Content-Type PRITYPE."
-  (let* ((default (car (car (cdr (assoc pritype mime-content-types)))))
-	 (answer
+(defun mime-prompt-for-subtype (type &optional default)
+  "Ask for subtype of media-type TYPE."
+  (let ((subtypes (cdr (assoc type mime-content-types))))
+    (or (and default
+	     (assoc default subtypes))
+	(setq default (car (car subtypes)))
+	))
+  (let* ((answer
 	  (completing-read
 	   (if default
 	       (concat
 		"What content subtype: (default " default ") ")
 	     "What content subtype: ")
-	   (cdr (assoc pritype mime-content-types))
+	   (cdr (assoc type mime-content-types))
 	   nil
 	   'require-match		;Subtype must be specified.
 	   nil
@@ -1390,17 +1398,17 @@
 	  (mime-prompt-for-parameters-1 (cdr (assoc answer (cdr parameter)))))
     ))
 
-(defun mime-flag-region (from to flag)
-  "Hides or shows lines from FROM to TO, according to FLAG.
-If FLAG is `\\n' (newline character) then text is shown,
-while if FLAG is `\\^M' (control-M) the text is hidden."
-  (let ((buffer-read-only nil)		;Okay even if write protected.
-	(modp (buffer-modified-p)))
-    (unwind-protect
-        (subst-char-in-region from to
-			      (if (= flag ?\n) ?\^M ?\n)
-			      flag t)
-      (set-buffer-modified-p modp))))
+(defun mime-prompt-for-encoding (default)
+  "Ask for Content-Transfer-Encoding. [tm-edit.el]"
+  (let (encoding)
+    (while (string=
+	    (setq encoding
+		  (completing-read
+		   "What transfer encoding: "
+		   mime-file-encoding-method-alist nil t default)
+		  )
+	    ""))
+    encoding))
 
 
 ;;; @ Translate the tagged MIME messages into a MIME compliant message.
--- a/lisp/tm/tm-file.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-file.el	Mon Aug 13 08:47:52 2007 +0200
@@ -4,7 +4,7 @@
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; modified by Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;; Version: $Id: tm-file.el,v 1.2 1996/12/22 00:29:39 steve Exp $
+;; Version: $Id: tm-file.el,v 1.3 1996/12/29 00:15:13 steve Exp $
 ;; Keywords: mail, news, MIME, multimedia, file, extract
 
 ;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/tm-ftp.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-ftp.el	Mon Aug 13 08:47:52 2007 +0200
@@ -6,7 +6,7 @@
 ;;; modified by MORIOKA Tomohiko <morioka@jaist.ac.jp>  (1994/11/ 8)
 ;;;         and OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp> (1994/11/11)
 ;;;
-;;; $Id: tm-ftp.el,v 1.2 1996/12/22 00:29:39 steve Exp $
+;;; $Id: tm-ftp.el,v 1.3 1996/12/29 00:15:13 steve Exp $
 ;;;
 
 (require 'tm-view)
--- a/lisp/tm/tm-html.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-html.el	Mon Aug 13 08:47:52 2007 +0200
@@ -8,7 +8,7 @@
 ;;; Created: 1995/9/14
 ;;;    based on tm-latex.el by OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
 ;;; Version:
-;;;	$Id: tm-html.el,v 1.2 1996/12/22 00:29:40 steve Exp $
+;;;	$Id: tm-html.el,v 1.3 1996/12/29 00:15:14 steve Exp $
 ;;; Keywords: mail, news, MIME, multimedia, HTML, WWW
 ;;;
 ;;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/tm-image.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-image.el	Mon Aug 13 08:47:52 2007 +0200
@@ -7,7 +7,7 @@
 ;;         Dan Rich <drich@morpheus.corp.sgi.com>
 ;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1995/12/15
-;; Version: $Id: tm-image.el,v 1.2 1996/12/22 00:29:40 steve Exp $
+;; Version: $Id: tm-image.el,v 1.3 1996/12/29 00:15:14 steve Exp $
 
 ;; Keywords: mail, news, MIME, multimedia, image, picture, X-Face
 
--- a/lisp/tm/tm-latex.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-latex.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;;;
 ;;; modified by MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;;
-;;; $Id: tm-latex.el,v 1.2 1996/12/22 00:29:40 steve Exp $
+;;; $Id: tm-latex.el,v 1.3 1996/12/29 00:15:14 steve Exp $
 ;;;
 
 (require 'tm-view)
--- a/lisp/tm/tm-mail.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-mail.el	Mon Aug 13 08:47:52 2007 +0200
@@ -7,7 +7,7 @@
 ;;         and Neal Becker <neal@neal.ctd.comsat.com>
 ;; Maintainer: KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
 ;; Created: 1995/11/27
-;; Version: $Id: tm-mail.el,v 1.2 1996/12/22 00:29:40 steve Exp $
+;; Version: $Id: tm-mail.el,v 1.3 1996/12/29 00:15:14 steve Exp $
 ;; Keywords: mail, MIME, multimedia
 
 ;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/tm-partial.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-partial.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: OKABE Yasuo @ Kyoto University
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Version:
-;;	$Id: tm-partial.el,v 1.2 1996/12/22 00:29:41 steve Exp $ 
+;;	$Id: tm-partial.el,v 1.3 1996/12/29 00:15:14 steve Exp $ 
 ;; Keywords: mail, news, MIME, multimedia, message/partial
 
 ;; This file is a part of tm (Tools for MIME).
--- a/lisp/tm/tm-pgp.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-pgp.el	Mon Aug 13 08:47:52 2007 +0200
@@ -5,7 +5,7 @@
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1995/12/7
-;; Version: $Id: tm-pgp.el,v 1.2 1996/12/22 00:29:41 steve Exp $
+;; Version: $Id: tm-pgp.el,v 1.3 1996/12/29 00:15:14 steve Exp $
 ;; Keywords: mail, news, MIME, multimedia, PGP, security
 
 ;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/tm-tar.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-tar.el	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: tm-tar.el,v 1.2 1996/12/22 00:29:42 steve Exp $
+;;; $Id: tm-tar.el,v 1.3 1996/12/29 00:15:14 steve Exp $
 ;;;
 ;;; tm-tar.el
 ;;;
--- a/lisp/tm/tm-text.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tm-text.el	Mon Aug 13 08:47:52 2007 +0200
@@ -8,7 +8,7 @@
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Version:
-;;;	$Id: tm-text.el,v 1.2 1996/12/22 00:29:42 steve Exp $
+;;;	$Id: tm-text.el,v 1.3 1996/12/29 00:15:15 steve Exp $
 ;;; Keywords: mail, news, MIME, multimedia, text
 ;;;
 ;;; This file is part of tm (Tools for MIME).
--- a/lisp/tm/tmh-comp.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/tm/tmh-comp.el	Mon Aug 13 08:47:52 2007 +0200
@@ -6,7 +6,7 @@
 ;;         OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
 ;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/2/29 (separated from tm-mh-e.el)
-;; Version: $Id: tmh-comp.el,v 1.2 1996/12/22 00:29:44 steve Exp $
+;; Version: $Id: tmh-comp.el,v 1.3 1996/12/29 00:15:15 steve Exp $
 ;; Keywords: mail, MH, MIME, multimedia, encoded-word, multilingual
 
 ;; This file is part of tm (Tools for MIME).
--- a/lisp/utils/delbackspace.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/utils/delbackspace.el	Mon Aug 13 08:47:52 2007 +0200
@@ -60,11 +60,26 @@
 (define-key key-translation-map [(alt backspace)]
   [intercepted_alt_backspace])
 (define-key global-map 'intercepted_alt_backspace 'backward-kill-sentence)
-(mapcar #'(lambda (map)
-	    (define-key map [(alt backspace)] 'backward-kill-sexp))
-	(list
-	 c-mode-map c++-mode-map objc-mode-map java-mode-map
-	 emacs-lisp-mode-map lisp-mode-map minibuffer-local-map))
+(if (boundp 'c-mode-map)
+    (mapcar (lambda (map)
+		(define-key map [(alt backspace)] 'backward-kill-sexp))
+	    (list
+	     c-mode-map c++-mode-map objc-mode-map java-mode-map
+	     emacs-lisp-mode-map lisp-mode-map minibuffer-local-map))
+  (setq after-load-alist
+	(append '(("cc-mode"
+		   (mapcar (lambda (map)
+			     (define-key map
+			       [(alt backspace)]
+			       'backward-kill-sexp)
+			     (define-key map [(alt delete)] 'kill-sexp))
+			   (list
+			    c-mode-map
+			    c++-mode-map
+			    objc-mode-map
+			    java-mode-map))))
+		after-load-alist)))
+
 
 ;; (meta shift) backspace paragraph before cursor
 (global-set-key [(meta shift backspace)] 'backward-kill-paragraph)
@@ -82,11 +97,19 @@
 (define-key key-translation-map [(alt delete)]
   [intercepted_alt_delete])
 (define-key global-map 'intercepted_alt_delete 'kill-sentence)
-(mapcar #'(lambda (map)
-	    (define-key map [(alt delete)] 'kill-sexp))
+(mapcar (lambda (map)
+	  (define-key map [(alt delete)] 'kill-sexp))
 	(list
-	 c-mode-map c++-mode-map objc-mode-map java-mode-map
 	 emacs-lisp-mode-map lisp-mode-map minibuffer-local-map))
+(when (boundp 'c-mode-map)
+  (mapcar (lambda (map)
+	      (define-key map [(alt delete)] 'kill-sexp))
+	  (list
+	   c-mode-map c++-mode-map objc-mode-map java-mode-map)))
 
 ;; (meta shift) delete next paragraph
 (global-set-key [(meta shift delete)] 'kill-paragraph)
+
+(provide 'delbackspace)
+
+;;; delbackspace.el ends here
--- a/lisp/version.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/version.el	Mon Aug 13 08:47:52 2007 +0200
@@ -26,7 +26,7 @@
 (defconst emacs-version "19.15" "\
 Version numbers of this version of Emacs.")
 
-(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta5)")))
+(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta6)")))
 
 (defconst emacs-major-version
   (progn (or (string-match "^[0-9]+" emacs-version)
--- a/lisp/vm/Makefile	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/Makefile	Mon Aug 13 08:47:52 2007 +0200
@@ -12,13 +12,13 @@
 EMACS_VERSION = 19
 
 # what emacs is called on your system
-EMACS = ../../src/xemacs
+EMACS = emacs
 
 # where the Info file should go
-INFODIR = ../../info
+INFODIR = /usr/local/lib/emacs/info
 
 # where the vm.elc, tapestry.elc, etc. files should go
-#LISPDIR = /usr/local/lib/emacs/site-lisp
+LISPDIR = /usr/local/lib/emacs/site-lisp
 
 # where the toolbar pixmaps should go.
 # vm-toolbar-pixmap-directory must point to the same place.
@@ -68,24 +68,18 @@
 
 vm:	vm.elc
 
-vm.elc:	.autoload
+vm.elc:	autoload
 
-.noautoload:	$(OBJECTS) tapestry.elc
+noautoload:	$(OBJECTS) tapestry.elc
 	@echo "building vm.elc (with all modules included)..."
 	@cat $(OBJECTS) tapestry.elc > vm.elc
-	# in case the -f flag doesn't exist (e.g. on HPUX)
-	-chmod +w .noautoload
-	touch -f .noautoload || touch .noautoload
 
-.autoload:	vm-autoload.elc $(OBJECTS) tapestry.elc
+autoload:	vm-autoload.elc $(OBJECTS) tapestry.elc
 	@echo "building vm.elc (with all modules set to autoload)..."
 	@echo "(require 'vm-startup)" > vm.elc
 	@echo "(require 'vm-vars)" >> vm.elc
 	@echo "(require 'vm-version)" >> vm.elc
 	@echo "(require 'vm-autoload)" >> vm.elc
-	# in case the -f flag doesn't exist (e.g. on HPUX)
-	-chmod +w .autoload
-	touch -f .autoload || touch .autoload
 
 all:	vm.info vm
 
@@ -93,10 +87,10 @@
 	@echo "building vm.elc (uncompiled, no autoloads)..."
 	@cat $(SOURCES) tapestry.el > vm.elc
 
-#install:	all
-#	cp vm.info $(INFODIR)/vm
-#	cp *.elc $(LISPDIR)
-#	cp pixmaps/*.xpm $(PIXMAPDIR)
+install:	all
+	cp vm.info $(INFODIR)/vm
+	cp *.elc $(LISPDIR)
+	cp pixmaps/*.xpm $(PIXMAPDIR)
 
 clean:
 	rm -f vm-autoload.el vm-autoload.elc $(OBJECTS) tapestry.elc
--- a/lisp/vm/mh-to-vm.sh	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# Date: Thu, 9 Dec 93 18:23:56 -0500
-# From: kyle@crystal.WonderWorks.com (Kyle Jones)
-# To: lipp@networx.com
-# Cc: info-vm@uunet.uu.net
-# Subject: Converting MH folders to VM
-# 
-# Damon Lipparelli writes:
-#  > Does anyone have a way of converting MH folders to VM folders?  I've just
-#  > switched to using VM and I don't want to have to re-mail myself all of my
-#  > old mail messages stored with MH to get them into VM folders.
-# 
-# If I remember correctly MH folders are just directories, with one
-# message per file.  No UNIX From lines control-As or any of that
-# cruft.  So you need to roll these messages into one file that VM
-# can handle.  To get UNIX From style folders this script ought to
-# do it.  Run it like this
-# 
-# % mh-to-vm.sh MH-folder-directory new-VM-folder-file
-# 
-# It doesn't remove anything so if it doesn't work, then no harm done.
-
-source=$1
-dest=$2
-
-leader="From nobody `date`"
-trailer=""
-
-for message in $source/*
-do
-   echo $leader >> $dest
-   sed 's/^From />From /' < $message >> $dest
-   echo $trailer >> $dest
-done
-
-exit
--- a/lisp/vm/vm-autoload.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-autoload.el	Mon Aug 13 08:47:52 2007 +0200
@@ -7,7 +7,7 @@
 time the current folder is expunged.
 
 With a prefix argument COUNT, the current message and the next
-COUNT - 1 messages are deleted.  A negative argument means
+COUNT - 1 messages are deleted.  A negative argument means the
 the current message and the previous |COUNT| - 1 messages are
 deleted.
 
@@ -19,7 +19,7 @@
 (autoload (quote vm-undelete-message) "vm-delete" "Remove the `deleted' attribute from the current message.
 
 With a prefix argument COUNT, the current message and the next
-COUNT - 1 messages are undeleted.  A negative argument means
+COUNT - 1 messages are undeleted.  A negative argument means the
 the current message and the previous |COUNT| - 1 messages are
 deleted.
 
@@ -100,19 +100,6 @@
 to be forwarded.  See the docs for vm-reorder-message-headers
 to find out how KEEP-LIST and DISCARD-REGEXP are used." nil nil)
 
-(autoload (quote vm-rfc1521-encapsulate-messages) "vm-digest" "Encapsulate the messages in MESSAGE-LIST as per RFC 1521 (MIME).
-The resulting digest is inserted at point in the current buffer.
-MIME headers at point-max are added/updated.
-Point is not moved.
-
-MESSAGE-LIST should be a list of message structs (real or virtual).
-These are the messages that will be encapsulated.
-KEEP-LIST should be a list of regexps matching headers to keep.
-DISCARD-REGEXP should be a regexp that matches headers to be discarded.
-KEEP-LIST and DISCARD-REGEXP are used to order and trim the headers
-to be forwarded.  See the docs for vm-reorder-message-headers
-to find out how KEEP-LIST and DISCARD-REGEXP are used." nil nil)
-
 (autoload (quote vm-rfc1153-or-rfc934-burst-message) "vm-digest" "Burst messages from the digest message M.
 M should be a message struct for a real message.
 If RFC1153 is non-nil, assume the digest is of the form specified by
@@ -140,11 +127,9 @@
 
 (autoload (quote vm-burst-rfc1153-digest) "vm-digest" "Burst an RFC 1153 style digest" t nil)
 
-(autoload (quote vm-burst-rfc1521-digest) "vm-digest" "Burst an RFC 1521 (MIME) style digest" t nil)
-
 (autoload (quote vm-guess-digest-type) "vm-digest" "Guess the digest type of the message M.
 M should be the message struct of a real message.
-Returns either \"rfc934\", \"rfc1153\", or  \"rfc1521\"." nil nil)
+Returns either \"rfc934\" or \"rfc1153\"." nil nil)
 
 (autoload (quote vm-easy-menu-define) "vm-easymenu" "Define a menu bar submenu in maps MAPS, according to MENU.
 The menu keymap is stored in symbol SYMBOL, both as its value
@@ -401,7 +386,7 @@
 This function works by examining the beginning of a folder.
 If optional arg FILE is present the type of FILE is returned instead.
 If optional second and third arg START and END are provided,
-vm-get-folder-type will examine the text between those buffer
+vm-get-folder-type will examine the the text between those buffer
 positions.  START and END default to 1 and (buffer-size) + 1.
 
 Returns
@@ -570,9 +555,9 @@
 (autoload (quote vm-quit-just-iconify) "vm-folder" "Iconify the frame and bury the current VM folder and summary buffers.
 The folder is not altered and Emacs is still visiting it." t nil)
 
-(autoload (quote vm-quit-no-change) "vm-folder" "Exit VM without saving changes made to the folder." t nil)
-
-(autoload (quote vm-quit) "vm-folder" "Quit VM, saving changes.  Deleted messages are not expunged." t nil)
+(autoload (quote vm-quit-no-change) "vm-folder" "Quit visiting the current folder without saving changes made to the folder." t nil)
+
+(autoload (quote vm-quit) "vm-folder" "Quit visiting the current folder, saving changes.  Deleted messages are not expunged." t nil)
 
 (autoload (quote vm-start-itimers-if-needed) "vm-folder" nil nil nil)
 
@@ -1487,8 +1472,6 @@
 
 (autoload (quote vm-send-rfc1153-digest) "vm-reply" "Like vm-send-digest but always sends an RFC 1153 digest." t nil)
 
-(autoload (quote vm-send-rfc1521-digest) "vm-reply" "Like vm-send-digest but always sends an RFC 1521 (MIME) digest." t nil)
-
 (autoload (quote vm-continue-composing-message) "vm-reply" "Find and select the most recently used mail composition buffer.
 If the selected buffer is already a Mail mode buffer then it is
 buried before beginning the search.  Non Mail mode buffers and
@@ -1520,8 +1503,6 @@
 
 (autoload (quote vm-send-rfc1153-digest-other-frame) "vm-reply" "Like vm-send-rfc1153-digest, but run in a newly created frame." t nil)
 
-(autoload (quote vm-send-rfc1521-digest-other-frame) "vm-reply" "Like vm-send-rfc1521-digest, but run in a newly created frame." t nil)
-
 (autoload (quote vm-match-data) "vm-save" nil nil nil)
 
 (autoload (quote vm-auto-select-folder) "vm-save" nil nil nil)
--- a/lisp/vm/vm-delete.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-delete.el	Mon Aug 13 08:47:52 2007 +0200
@@ -24,7 +24,7 @@
 time the current folder is expunged.
 
 With a prefix argument COUNT, the current message and the next
-COUNT - 1 messages are deleted.  A negative argument means
+COUNT - 1 messages are deleted.  A negative argument means the
 the current message and the previous |COUNT| - 1 messages are
 deleted.
 
@@ -71,7 +71,7 @@
   "Remove the `deleted' attribute from the current message.
 
 With a prefix argument COUNT, the current message and the next
-COUNT - 1 messages are undeleted.  A negative argument means
+COUNT - 1 messages are undeleted.  A negative argument means the
 the current message and the previous |COUNT| - 1 messages are
 deleted.
 
--- a/lisp/vm/vm-digest.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-digest.el	Mon Aug 13 08:47:52 2007 +0200
@@ -210,88 +210,6 @@
 	  (insert (format "This is an RFC 1153 digest.\n(%d message%s)\n----------------------------------------------------------------------\n" (length message-list) (if (cdr message-list) "s" "")))
 	  (goto-char start)))))
 
-(defun vm-rfc1521-encapsulate-messages (message-list keep-list discard-regexp)
-  "Encapsulate the messages in MESSAGE-LIST as per RFC 1521 (MIME).
-The resulting digest is inserted at point in the current buffer.
-MIME headers at point-max are added/updated.
-Point is not moved.
-
-MESSAGE-LIST should be a list of message structs (real or virtual).
-These are the messages that will be encapsulated.
-KEEP-LIST should be a list of regexps matching headers to keep.
-DISCARD-REGEXP should be a regexp that matches headers to be discarded.
-KEEP-LIST and DISCARD-REGEXP are used to order and trim the headers
-to be forwarded.  See the docs for vm-reorder-message-headers
-to find out how KEEP-LIST and DISCARD-REGEXP are used."
-  (if message-list
-      (let ((target-buffer (current-buffer))
-	    (mlist message-list)
-	    (boundary (format "-----%07X%07X" (abs (random)) (abs (random))))
-;	    insertion-point
-	    source-buffer m start)
-	(save-restriction
-	  ;; narrow to a zero length region to avoid interacting
-	  ;; with anything that might have already been inserted
-	  ;; into the buffer.
-	  (narrow-to-region (point) (point))
-	  (setq start (point))
-	  (while mlist
-	    (insert "--" boundary "\nContent-Type: message/rfc822\n\n")
-	    (setq m (vm-real-message-of (car mlist))
-		  source-buffer (vm-buffer-of m))
-	    (save-excursion
-	      (set-buffer source-buffer)
-	      (save-restriction
-		(widen)
-		(save-excursion
-		  (set-buffer target-buffer)
-		  (let ((beg (point)))
-		    (insert-buffer-substring source-buffer (vm-headers-of m)
-					     (vm-text-end-of m))
-		    (goto-char beg)
-		    (vm-reorder-message-headers nil nil
-						"\\(X-VM-\\|Status:\\)")
-		    (vm-reorder-message-headers nil keep-list discard-regexp)
-		    ))))
-	    (goto-char (point-max))
-	    (insert "\n")
-	    (setq mlist (cdr mlist)))
-	  (insert "--" boundary "--\n")
-
-	  (goto-char start)
-	  (insert "--" boundary "\nContent-Type: text/plain\n\n")
-	  (insert (format
-		   "This is an RFC 1521 (MIME) digest; %d message%s.\n\n\n\n\n"
-			  (length message-list)
-			  (if (cdr message-list) "s" "")))
-;	  (setq insertion-point (point-marker))
-	  (goto-char start))
-
-	;; outside of the save-restriction
-	(save-excursion
-	  (let (end)
-	    (goto-char (point-min))
-	    (re-search-forward
-	     (concat "^" (regexp-quote mail-header-separator) "$")
-	     nil t)
-	    (setq end (point))
-	    (goto-char (point-min))
-	    (cond
-	     ((re-search-forward "^content-type:" end t)
-	      (delete-region (point) (progn (forward-line 1) (point)))
-	      (while (looking-at " \t")
-		(delete-region (point) (progn (forward-line 1) (point))))))
-	    (goto-char end)
-	    (insert "MIME-Version: 1.0\n"
-		    "Content-Type: multipart/digest; boundary=\""
-		    boundary "\"\n")
-	    ))
-
-;	(goto-char insertion-point)
-;	(set-marker insertion-point nil)
-	)))
-
-
 (defun vm-rfc1153-or-rfc934-burst-message (m rfc1153)
   "Burst messages from the digest message M.
 M should be a message struct for a real message.
@@ -453,8 +371,6 @@
 	       (vm-rfc934-burst-message m))
 	      ((equal digest-type "rfc1153")
 	       (vm-rfc1153-burst-message m))
-	      ((equal digest-type "rfc1521")
-	       (error "Don't yet know how to burst MIME digests."))
 	      (t (error "Unknown digest type: %s" digest-type)))
 	(message "Bursting %s digest... done" digest-type)
 	(vm-clear-modification-flag-undos)
@@ -477,8 +393,7 @@
     (setq totals-blurb (vm-emit-totals-blurb))
     (vm-display nil nil '(vm-burst-digest
 			  vm-burst-rfc934-digest
-			  vm-burst-rfc1153-digest
-			  vm-burst-rfc1521-digest)
+			  vm-burst-rfc1153-digest)
 		(list this-command))
     (if (vm-thoughtfully-select-message)
 	(vm-preview-current-message)
@@ -495,25 +410,16 @@
   (interactive)
   (vm-burst-digest "rfc1153"))
 
-(defun vm-burst-rfc1521-digest ()
-  "Burst an RFC 1521 (MIME) style digest"
-  (interactive)
-  (vm-burst-digest "rfc1521"))
-
 (defun vm-guess-digest-type (m)
   "Guess the digest type of the message M.
 M should be the message struct of a real message.
-Returns either \"rfc934\", \"rfc1153\", or  \"rfc1521\"."
+Returns either \"rfc934\" or \"rfc1153\"."
   (save-excursion
     (set-buffer (vm-buffer-of m))
     (save-excursion
       (save-restriction
 	(widen)
-	(goto-char (vm-headers-of m))
-	(if (let ((case-fold-search t))
-	      (re-search-forward "^MIME-Version:" nil t))
-	    "rfc1521"
-	  (goto-char (vm-text-of m))
-	  (if (search-forward "\n----------------------------------------------------------------------\n" nil t)
-	      "rfc1153"
-	    "rfc934"))))))
+	(goto-char (vm-text-of m))
+	(if (search-forward "\n----------------------------------------------------------------------\n" nil t)
+	    "rfc1153"
+	  "rfc934")))))
--- a/lisp/vm/vm-folder.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-folder.el	Mon Aug 13 08:47:52 2007 +0200
@@ -440,7 +440,7 @@
 This function works by examining the beginning of a folder.
 If optional arg FILE is present the type of FILE is returned instead.
 If optional second and third arg START and END are provided,
-vm-get-folder-type will examine the text between those buffer
+vm-get-folder-type will examine the the text between those buffer
 positions.  START and END default to 1 and (buffer-size) + 1.
 
 Returns
@@ -1473,6 +1473,8 @@
 	   attributes cache
 	   (case-fold-search t)
 	   (buffer-read-only nil)
+	   ;; don't truncate the printing of large Lisp objects
+	   (print-length nil)
 	   opoint
 	   ;; This prevents file locking from occuring.  Disabling
 	   ;; locking can speed things noticeably if the lock
@@ -1653,6 +1655,8 @@
 	   ;; oh well, no way around this.
 	   (insert vm-labels-header " "
 		   (let ((print-escape-newlines t)
+			 ;; don't truncate the printing of large Lisp objects
+			 (print-length nil)
 			 (list nil))
 		     (mapatoms (function
 				(lambda (sym)
@@ -1713,6 +1717,8 @@
 	 (widen)
 	 (let ((old-buffer-modified-p (buffer-modified-p))
 	       (case-fold-search t)
+	       ;; don't truncate the printing of large Lisp objects
+	       (print-length nil)
 	       ;; This prevents file locking from occuring.  Disabling
 	       ;; locking can speed things noticeably if the lock
 	       ;; directory is on a slow device.  We don't need locking
@@ -1759,6 +1765,8 @@
 	       (case-fold-search t)
 	       (print-escape-newlines t)
 	       lim
+	       ;; don't truncate the printing of large Lisp objects
+	       (print-length nil)
 	       (buffer-read-only nil)
 	       ;; This prevents file locking from occuring.  Disabling
 	       ;; locking can speed things noticeably if the lock
@@ -1802,6 +1810,8 @@
 	 (widen)
 	 (let ((old-buffer-modified-p (buffer-modified-p))
 	       (case-fold-search t)
+	       ;; don't truncate the printing of large Lisp objects
+	       (print-length nil)
 	       ;; This prevents file locking from occuring.  Disabling
 	       ;; locking can speed things noticeably if the lock
 	       ;; directory is on a slow device.  We don't need locking
@@ -1958,12 +1968,12 @@
   (vm-iconify-frame))
 
 (defun vm-quit-no-change ()
-  "Exit VM without saving changes made to the folder."
+  "Quit visiting the current folder without saving changes made to the folder."
   (interactive)
   (vm-quit t))
 
 (defun vm-quit (&optional no-change)
-  "Quit VM, saving changes.  Deleted messages are not expunged."
+  "Quit visiting the current folder, saving changes.  Deleted messages are not expunged."
   (interactive)
   (vm-select-folder-buffer)
   (if (not (memq major-mode '(vm-mode vm-virtual-mode)))
--- a/lisp/vm/vm-misc.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-misc.el	Mon Aug 13 08:47:52 2007 +0200
@@ -70,21 +70,20 @@
 		      (if (or (null (string-match "^[\t\f\n\r ]+$" s))
 			      (not (string= s "")))
 			  (setq list (cons s list)))
-		      (forward-char 1)
-		      (skip-chars-forward "\t\f\n\r ")
+		      (skip-chars-forward ",\t\f\n\r ")
 		      (setq start (point)))
 		     ((= char ?\")
-		      (forward-char 1)
 		      (re-search-forward "[^\\]\"" nil 0))
 		     ((= char ?\()
 		      (let ((parens 1))
 			(forward-char 1)
 			(while (and (not (eobp)) (not (zerop parens)))
-			  (re-search-forward "[^\\][()]" nil 0)
-			  (cond ((eobp))
+			  (re-search-forward "[()]" nil 0)
+			  (cond ((or (eobp)
+				     (= (char-after (- (point) 2)) ?\\)))
 				((= (preceding-char) ?\()
 				 (setq parens (1+ parens)))
-				((= (preceding-char) ?\))
+				(t
 				 (setq parens (1- parens)))))))))
 	     (setq s (buffer-substring start (point)))
 	     (if (and (null (string-match "^[\t\f\n\r ]+$" s))
@@ -140,8 +139,8 @@
   '(while vm-folder-read-only
      (signal 'folder-read-only (list (current-buffer)))))
 
-;; XEmacs change
-(define-error 'folder-read-only "Folder is read-only")
+(put 'folder-read-only 'error-conditions '(folder-read-only error))
+(put 'folder-read-only 'error-message "Folder is read-only")
 
 (defmacro vm-error-if-virtual-folder ()
   '(and (eq major-mode 'vm-virtual-mode)
@@ -292,9 +291,11 @@
       (set-buffer buffer)
       (vm-mapc 'set variables values))))
 
-;; XEmacs change
-(define-error 'folder-empty  "Folder is empty")
-(define-error 'unrecognized-folder-type "Unrecognized folder type")
+(put 'folder-empty 'error-conditions '(folder-empty error))
+(put 'folder-empty 'error-message "Folder is empty")
+(put 'unrecognized-folder-type 'error-conditions
+     '(unrecognized-folder-type error))
+(put 'unrecognized-folder-type 'error-message "Unrecognized folder type")
 
 (defun vm-error-if-folder-empty ()
   (while (null vm-message-list)
@@ -343,7 +344,9 @@
   (vm-multiple-frames-possible-p))
 
 (defun vm-menu-support-possible-p ()
-  (or (and (boundp 'window-system) (eq window-system 'x))
+  (or (and (boundp 'window-system)
+	   (or (eq window-system 'x)
+	       (eq window-system 'win32)))
       (and (fboundp 'device-type) (eq (device-type) 'x))))
 
 (defun vm-toolbar-support-possible-p ()
@@ -365,9 +368,10 @@
       (apply function args)
     (error nil)))
 
-;; XEmacs change
-(define-error 'beginning-of-folder "Beginning of folder")
-(define-error 'end-of-folder "End of folder")
+(put 'beginning-of-folder 'error-conditions '(beginning-of-folder error))
+(put 'beginning-of-folder 'error-message "Beginning of folder")
+(put 'end-of-folder 'error-conditions '(end-of-folder error))
+(put 'end-of-folder 'error-message "End of folder")
 
 (defun vm-trace (&rest args)
   (save-excursion
--- a/lisp/vm/vm-reply.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-reply.el	Mon Aug 13 08:47:52 2007 +0200
@@ -529,10 +529,6 @@
 	       (vm-rfc1153-encapsulate-messages
 		vm-forward-list vm-forwarded-headers
 		vm-unforwarded-header-regexp))
-	      ((equal vm-forwarding-digest-type "rfc1521")
-	       (vm-rfc1521-encapsulate-messages
-		vm-forward-list vm-forwarded-headers
-		vm-unforwarded-header-regexp))
 	      ((equal vm-forwarding-digest-type nil)
 	       (vm-no-frills-encapsulate-message
 		(car vm-forward-list) vm-forwarded-headers
@@ -690,11 +686,7 @@
 	    ((equal vm-digest-send-type "rfc1153")
 	     (vm-rfc1153-encapsulate-messages
 	      mlist vm-rfc1153-digest-headers
-	      vm-rfc1153-digest-discard-header-regexp))
-	    ((equal vm-digest-send-type "rfc1521")
-	     (vm-rfc1521-encapsulate-messages
-	      mlist vm-rfc1521-digest-headers
-	      vm-rfc1521-digest-discard-header-regexp)))
+	      vm-rfc1153-digest-discard-header-regexp)))
       (goto-char start)
       (setq mp mlist)
       (if prefix
@@ -726,12 +718,6 @@
   (let ((vm-digest-send-type "rfc1153"))
     (vm-send-digest preamble)))
 
-(defun vm-send-rfc1521-digest (&optional preamble)
-  "Like vm-send-digest but always sends an RFC 1521 (MIME) digest."
-  (interactive "P")
-  (let ((vm-digest-send-type "rfc1521"))
-    (vm-send-digest preamble)))
-
 (defun vm-continue-composing-message (&optional not-picky)
   "Find and select the most recently used mail composition buffer.
 If the selected buffer is already a Mail mode buffer then it is
@@ -866,8 +852,6 @@
 		  vm-send-rfc934-digest-other-frame
 		  vm-send-rfc1153-digest
 		  vm-send-rfc1153-digest-other-frame
-		  vm-send-rfc1521-digest
-		  vm-send-rfc1521-digest-other-frame
 		  vm-forward-message
 		  vm-forward-message-other-frame
 		  vm-forward-message-all-headers
@@ -1001,14 +985,3 @@
     (vm-send-rfc1153-digest prefix))
   (if (vm-multiple-frames-possible-p)
       (vm-set-hooks-for-frame-deletion)))
-
-(defun vm-send-rfc1521-digest-other-frame (&optional prefix)
-  "Like vm-send-rfc1521-digest, but run in a newly created frame."
-  (interactive "P")
-  (if (vm-multiple-frames-possible-p)
-      (vm-goto-new-frame 'composition))
-  (let ((vm-frame-per-composition nil)
-	(vm-search-other-frames nil))
-    (vm-send-rfc1153-digest prefix))
-  (if (vm-multiple-frames-possible-p)
-      (vm-set-hooks-for-frame-deletion)))
--- a/lisp/vm/vm-startup.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-startup.el	Mon Aug 13 08:47:52 2007 +0200
@@ -154,7 +154,7 @@
 	  (vm-display (current-buffer) t nil nil))
       ;; need to do this after any frame creation because the
       ;; toolbar sets frame-specific height and width specifiers.
-      (and full-startup (vm-toolbar-support-possible-p) vm-use-toolbar
+      (and (vm-toolbar-support-possible-p) vm-use-toolbar
 	   (progn
 	     (vm-toolbar-install-toolbar)
 	     (vm-toolbar-update-toolbar)))
--- a/lisp/vm/vm-toolbar.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-toolbar.el	Mon Aug 13 08:47:52 2007 +0200
@@ -18,7 +18,6 @@
 (provide 'vm-toolbar)
 
 (defvar vm-toolbar-specifier nil)
-(defvar vm-toolbar nil)
 
 (defvar vm-toolbar-next-button
   [vm-toolbar-next-icon
@@ -156,7 +155,7 @@
 
 (defvar vm-toolbar-quit-button
   [vm-toolbar-quit-icon vm-toolbar-quit-command t
-   "Quit VM.\n
+   "Quit visiting this folder.\n
 The command `vm-toolbar-quit-command' is run, which is normally
 bound to `vm-quit'.
 You can make this button run some other command by using a Lisp
@@ -235,39 +234,41 @@
 			       'vm-toolbar-helper-icon))
   (and vm-toolbar-specifier
        (progn
-	 (let ((locale (if (memq 'vm-delete-buffer-frame kill-buffer-hook)
-			   (selected-frame)
-			 (current-buffer))))
-	   (set-specifier vm-toolbar-specifier (cons locale nil))
-	   (set-specifier vm-toolbar-specifier (cons locale vm-toolbar))))))
+	 (set-specifier vm-toolbar-specifier (cons (current-buffer) nil))
+	 (set-specifier vm-toolbar-specifier (cons (current-buffer)
+						   vm-toolbar)))))
 
 (defun vm-toolbar-install-toolbar ()
   (vm-toolbar-initialize)
-  (let ((toolbar (vm-toolbar-make-toolbar-spec))
-	(height (+ 4 (glyph-height (car vm-toolbar-help-icon))))
+  (let ((height (+ 4 (glyph-height (car vm-toolbar-help-icon))))
 	(width (+ 4 (glyph-width (car vm-toolbar-help-icon))))
-	(locale (if (memq 'vm-delete-buffer-frame kill-buffer-hook)
-		    (selected-frame)
-		  (current-buffer))))
-    (setq vm-toolbar toolbar)
+	toolbar )
+    ;; honor user setting of vm-toolbar if they are daring enough
+    ;; to set it.
+    (if vm-toolbar
+	(setq toolbar vm-toolbar)
+      (setq toolbar (vm-toolbar-make-toolbar-spec)
+	    vm-toolbar toolbar))
     (cond ((eq vm-toolbar-orientation 'right)
 	   (setq vm-toolbar-specifier right-toolbar)
-	   (set-specifier right-toolbar (cons locale toolbar))
-	   (set-specifier right-toolbar-width (cons (selected-frame) width)))
+	   (set-specifier right-toolbar (cons (current-buffer) toolbar))
+	   (set-specifier right-toolbar-width
+			  (cons (selected-frame) width)))
 	  ((eq vm-toolbar-orientation 'left)
 	   (setq vm-toolbar-specifier left-toolbar)
-	   (set-specifier left-toolbar (cons locale toolbar))
-	   (set-specifier left-toolbar-width (cons (selected-frame) width)))
+	   (set-specifier left-toolbar (cons (current-buffer) toolbar))
+	   (set-specifier left-toolbar-width
+			  (cons (selected-frame) width)))
 	  ((eq vm-toolbar-orientation 'bottom)
 	   (setq vm-toolbar-specifier bottom-toolbar)
-	   (set-specifier bottom-toolbar (cons locale toolbar))
-	   (set-specifier bottom-toolbar-height (cons (selected-frame)
-						      height)))
+	   (set-specifier bottom-toolbar (cons (current-buffer) toolbar))
+	   (set-specifier bottom-toolbar-height
+			  (cons (selected-frame) height)))
 	  (t
 	   (setq vm-toolbar-specifier top-toolbar)
-	   (set-specifier top-toolbar (cons locale toolbar))
-	   (set-specifier top-toolbar-height (cons (selected-frame)
-						   height))))))
+	   (set-specifier top-toolbar (cons (current-buffer) toolbar))
+	   (set-specifier top-toolbar-height
+			  (cons (selected-frame) height))))))
 
 (defun vm-toolbar-make-toolbar-spec ()
   (let ((button-alist '(
--- a/lisp/vm/vm-vars.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-vars.el	Mon Aug 13 08:47:52 2007 +0200
@@ -762,7 +762,6 @@
 
 \"rfc934\"
 \"rfc1153\"
-\"rfc1521\"
 nil
 
 A nil value means don't use a digest, just mark the beginning and
@@ -792,20 +791,18 @@
 
    \"rfc934\"
    \"rfc1153\"
-   \"rfc1521\"
    \"guess\"
 
 If the value is \"guess\", and you take the default
 response when vm-burst-digest queries you, VM will try to guess
 the digest type.")
 
-(defvar vm-digest-send-type "rfc1521"
+(defvar vm-digest-send-type "rfc934"
   "*String that specifies the type of digest vm-send-digest will use.
 Legal values of this variable are:
 
 \"rfc934\"
 \"rfc1153\"
-\"rfc1521\"
 
 ")
 
@@ -899,48 +896,6 @@
 vm-rfc1153-digest-headers list appearing last in the headers of
 the digestified messages.")
 
-(defvar vm-rfc1521-digest-headers
-  '()
-  "*List of headers that should be appear in RFC 1521 digests
-created by VM.  These should be listed in the order you wish them
-to appear in the digest.  Regular expressions are allowed.
-There is no need to anchor patterns with \"^\", as searches always
-start at the beginning of a line.  Put a colon at the end of
-patterns to get exact matches.  (E.g. \"Date\" matches \"Date\"
-and \"Date-Sent\".)  Header names are always matched case
-insensitively.
-
-If the value of vm-rfc1521-digest-discard-header-regexp is nil, the headers
-matched by vm-rfc1521-digest-headers are the only headers that will be
-kept.
-
-If vm-rfc1521-digest-discard-header-regexp is non-nil, then only
-headers matched by that variable will be discarded; all others
-will be kept.  vm-rfc1521-digest-headers determines the order of
-appearance in that case, with headers not matching any in the
-vm-rfc1521-digest-headers list appearing last in the headers of
-the digestified messages.")
-
-
-(defvar vm-rfc1521-digest-discard-header-regexp "\\(X400-\\)?Received:"
-  "*Non-nil value should be a regular expression header that tells
-what headers should not appear in RFC 1521 digests created by VM.  This
-variable along with vm-rfc1521-digest-headers determines which headers
-are kept and which headers are discarded.
-
-If the value of vm-rfc1521-digest-discard-header-regexp is nil, the headers
-matched by vm-rfc1521-digest-headers are the only headers that will be
-kept.
-
-If vm-rfc1521-digest-discard-header-regexp is non-nil, then only
-headers matched by this variable will be discarded; all others
-will be kept.  vm-rfc1521-digest-headers determines the order of
-appearance in that case, with headers not matching any in the
-vm-1521-digest-headers list appearing last in the headers of
-the digestified messages.")
-
-
-
 (defvar vm-resend-bounced-headers
   '("Resent-"
     "From:" "Sender:" "Reply-To:"
@@ -1090,7 +1045,7 @@
 the maximum allowed length of the substituted string.  If the
 string is longer than this value the right end of the string is
 truncated.  If the value is negative, the string is truncated on
-the left instead of the right.
+on the left instead of the right.
 
 The summary format need not be one line per message but it must end with
 a newline, otherwise the message pointer will not be displayed correctly
@@ -1261,14 +1216,7 @@
 under X Windows or some other window system that allows multiple
 Emacs frames.")
 
-;; #### Chuck, I know you don't like external package mods but
-;; this one is an absolute travesty, and VM has a simply
-;; abominable time between releases.  If you don't at least give
-;; the VM frames a special name, it makes it impossible for lots
-;; of other things to work sensibly.
-(defvar vm-frame-parameter-alist
-  (if (string-match "XEmacs" emacs-version)
-      '((folder ((name . "VM")))))
+(defvar vm-frame-parameter-alist nil
   "*Non-nil value is an alist of types and lists of frame parameters.
 This list tells VM what frame parameters to associate with each
 new frame it creates of a specific type.
@@ -1277,8 +1225,9 @@
 
 ((SYMBOL PARAMLIST) (SYMBOL2 PARAMLIST2) ...)
 
-SYMBOL must be one of `composition', `edit', `folder' or `summary'.
-It specifies the type of frame that the following PARAMLIST applies to.
+SYMBOL must be one of `composition', `edit', `folder',
+`primary-folder' or `summary'.  It specifies the type of frame
+that the following PARAMLIST applies to.
 
 `composition' specifies parameters for mail composition frames.
 `edit' specifies parameters for message edit frames
@@ -1340,6 +1289,18 @@
   (expand-file-name (concat data-directory "vm/"))
   "*Value specifies the directory VM should find its toolbar pixmaps.")
 
+(defvar vm-toolbar nil
+  "*Non-nil value should be a list of toolbar button descriptors.
+See the documentation for the variable default-toolbar for a
+definition of what a toolbar button descriptor is.
+
+If vm-toolbar is set non-nil VM will use its value as a toolbar
+instantiator instead of the usual beavior of building a button
+list based on the value of vm-use-toolbar.  vm-use-toolbar still
+must be set non-nil for a toolbar to appear, however.
+
+Consider this variable experimental; it may not be supported forever.")
+
 (defvar vm-use-menus '(folder motion send mark label sort
 		       virtual undo dispose emacs nil help)
   "*Non-nil value causes VM to provide a menu interface.
@@ -1379,7 +1340,7 @@
 
 Nil means don't move the mouse cursor.")
 
-;; if browse-url is around (always will be in XEmacs 19.14) use it;
+;; if browse-url is around (always will be in XEmacs 19.14 or later) use it;
 ;; otherwise do our own support.
 (if (boundp 'browse-url-browser-function)
     (defvaralias 'vm-url-browser 'browse-url-browser-function)
@@ -1389,7 +1350,7 @@
 	  ((fboundp 'w3-fetch)
 	   'w3-fetch)
 	  (t 'vm-mouse-send-url-to-netscape))
-  "*Non-nil value means VM should enable URL passing.
+    "*Non-nil value means VM should enable URL passing.
 This means that VM will search for URLs (Universal Resource
 Locators) in messages and make it possible for you to pass them
 to a World Wide Web browser.
@@ -1567,7 +1528,7 @@
 (defvar vm-strip-reply-headers nil
   "*Non-nil value causes VM to strip away all comments and extraneous text
 from the headers generated in reply messages.  If you use the \"fakemail\"
-program as distributed with Emacs, you probably want to set this variable
+program as distributed with Emacs, you probably want to set this variable to
 to t, because as of Emacs v18.52 \"fakemail\" could not handle unstripped
 headers.")
 
@@ -1738,7 +1699,7 @@
   "*List of hook functions that are run whenever VM iconifies a frame.")
 
 (defvar vm-menu-setup-hook nil
-  "*List of hook function that are run just after all menus are initialized.")
+  "*List of hook functions that are run just after all menus are initialized.")
 
 (defvar mail-yank-hooks nil
   "Hooks called after a message is yanked into a mail composition.
@@ -2065,7 +2026,6 @@
     ("vm-burst-digest")
     ("vm-burst-rfc934-digest")
     ("vm-burst-rfc1153-digest")
-    ("vm-burst-rfc1521-digest")
     ("vm-edit-message")
     ("vm-discard-cached-data")
     ("vm-edit-message-end")
@@ -2134,7 +2094,6 @@
     ("vm-send-digest")
     ("vm-send-rfc934-digest")
     ("vm-send-rfc1153-digest")
-    ("vm-send-rfc1521-digest")
     ("vm-reply-other-frame")
     ("vm-reply-include-text-other-frame")
     ("vm-followup-other-frame")
@@ -2148,7 +2107,6 @@
     ("vm-send-digest-other-frame")
     ("vm-send-rfc934-digest-other-frame")
     ("vm-send-rfc1153-digest-other-frame")
-    ("vm-send-rfc1521-digest-other-frame")
     ("vm-continue-composing-message")
     ("vm-auto-archive-messages")
     ("vm-save-message")
@@ -2224,7 +2182,7 @@
     "unanswered"))
 
 (defvar vm-key-functions nil)
-(defconst vm-digest-type-alist '(("rfc934") ("rfc1153") ("rfc1521")))
+(defconst vm-digest-type-alist '(("rfc934") ("rfc1153")))
 (defvar vm-completion-auto-correct t
   "Non-nil means that minibuffer-complete-file should aggressively erase
 the trailing part of a word that caused completion to fail, and retry
--- a/lisp/vm/vm-version.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-version.el	Mon Aug 13 08:47:52 2007 +0200
@@ -2,7 +2,7 @@
 
 (provide 'vm-version)
 
-(defconst vm-version "5.96 (beta)"
+(defconst vm-version "5.97"
   "Version number of VM.")
 
 (defun vm-version ()
--- a/lisp/vm/vm-window.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/vm/vm-window.el	Mon Aug 13 08:47:52 2007 +0200
@@ -64,8 +64,7 @@
   (vm-save-buffer-excursion
    (let ((w (and buffer (vm-get-buffer-window buffer))))
      (and buffer (set-buffer buffer))
-;     (and w display (vm-raise-frame (vm-window-frame w)))
-     (and w display (vm-window-frame w))
+     (and w display (vm-raise-frame (vm-window-frame w)))
      (and w display (not (eq (vm-selected-frame) (vm-window-frame w)))
 	  (vm-select-frame (vm-window-frame w)))
      (cond ((and buffer display)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/vm/vm.el	Mon Aug 13 08:47:52 2007 +0200
@@ -0,0 +1,4 @@
+(require 'vm-startup)
+(require 'vm-vars)
+(require 'vm-version)
+(require 'vm-autoload)
--- a/lisp/x11/x-font-menu.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/x11/x-font-menu.el	Mon Aug 13 08:47:52 2007 +0200
@@ -117,7 +117,7 @@
   "*If non-nil, then the font menu will try to show only bitmap fonts.")
 
 ;;;###autoload
-(defvar font-menu-this-frame-only-p t
+(defvar font-menu-this-frame-only-p nil
   "*If non-nil, then changing the default font from the font menu will only
 affect one frame instead of all frames.")
 
--- a/lisp/x11/x-menubar.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/x11/x-menubar.el	Mon Aug 13 08:47:52 2007 +0200
@@ -380,6 +380,9 @@
        ["Blinking Cursor" (blink-cursor-mode)
 	:style toggle
 	:selected (and (boundp 'blink-cursor-mode) blink-cursor-mode)]
+       ["Frame-Local Font Menu" (setq font-menu-this-frame-only-p
+				    (not font-menu-this-frame-only-p))
+	:style toggle :selected font-menu-this-frame-only-p]
 ;     ["Line Numbers" (line-number-mode nil)
 ;      :style toggle :selected line-number-mode]
       )
@@ -426,9 +429,6 @@
 	:selected buffers-menu-submenus-for-groups-p
 	:active (not (null buffers-menu-grouping-function))]
        "---"
-       ["Frame-Local Font Menu" (setq font-menu-this-frame-only-p
-				    (not font-menu-this-frame-only-p))
-	:style toggle :selected font-menu-this-frame-only-p]
        ["Ignore Scaled Fonts" (setq font-menu-ignore-scaled-fonts
 				    (not font-menu-ignore-scaled-fonts))
 	:style toggle :selected font-menu-ignore-scaled-fonts]
@@ -523,42 +523,48 @@
 
      ("Help"
       ["About XEmacs..."	about-xemacs		t]
+      ("Basics"
+       ["XEmacs Tutorial"	help-with-tutorial	t]
+       ["XEmacs News"		view-emacs-news		t]
+       ["Package Browser"	finder-by-keyword	t]
+       ["Splash Screen"		xemacs-splash-buffer	t])
       "-----"
-      ["XEmacs WWW Page"	xemacs-www-page		t]
-      ["Newest XEmacs FAQ via WWW"	xemacs-www-faq	t]
-      ["XEmacs FAQ (local)"	xemacs-local-faq	t]
-      ["XEmacs Tutorial"	help-with-tutorial	t]
-      ["XEmacs News"		view-emacs-news		t]
-      ["Sample .emacs"		(find-file
+      ("XEmacs FAQ & Web Page"
+       ["XEmacs WWW Page"	xemacs-www-page		t]
+       ["Newest XEmacs FAQ via WWW"	xemacs-www-faq	t]
+       ["XEmacs FAQ (local)"	xemacs-local-faq	t])
+      ("Samples"
+       ["Sample .emacs"		(find-file
 				 (expand-file-name "sample.emacs"
 						   data-directory))
-							t]
-      ["Sample .Xdefaults"	(find-file
+	t]
+       ["Sample .Xdefaults"	(find-file
 				 (expand-file-name "sample.Xdefaults"
 						   data-directory))
-							t]
+	t])
       "-----"
-      ["Info (Detailed Docs)"	info			t]
       ("Lookup in Info"
        ["Key/Mouse Binding..."	Info-goto-emacs-key-command-node t]
        ["Command..."		Info-goto-emacs-command-node t]
        ["Elisp Function..."	Info-elisp-ref		t]
        ["Topic..."		Info-query		t])
-      ["Package Browser"	finder-by-keyword	t]
-      ["Describe Mode"		describe-mode		t]
-      ["Apropos..."		hyper-apropos		t]
-      ["Apropos Documentation..."	apropos-documentation		t]
+      ("Manuals"
+       ["Info (Detailed Docs)"	info			t]
+       ["Unix Manual..."	manual-entry		t])
+      ("Commands & Keys"
+       ["Describe Mode"		describe-mode		t]
+       ["Apropos..."		hyper-apropos		t]
+       ["Apropos Documentation..."	apropos-documentation		t]
+       "-----"
+       ["Describe Key/Mouse..."	describe-key		t]
+       ["List Key Bindings"	describe-bindings	t]
+       ["List Mouse Bindings"	describe-pointer	t]
+       "-----"
+       ["Describe Function..."	describe-function	t]
+       ["Describe Variable..."	describe-variable	t]
+       ["Where Is Command..."	where-is		t])
       "-----"
       ["Recent Keystrokes/Messages" view-lossage	t]
-      ["Describe Key/Mouse..."	describe-key		t]
-      ["List Key Bindings"	describe-bindings	t]
-      ["List Mouse Bindings"	describe-pointer	t]
-      "-----"
-      ["Describe Function..."	describe-function	t]
-      ["Describe Variable..."	describe-variable	t]
-      ["Where Is Command..."	where-is		t]
-      "-----"
-      ["Unix Manual..."		manual-entry		t]
       ("Misc"
        ["Describe No Warranty"	describe-no-warranty	t]
        ["Describe XEmacs License" describe-copying	t]
@@ -1384,6 +1390,15 @@
 ;        "shadowDoubleEtchedOutDash"
 ;        ))
 
+(defun xemacs-splash-buffer ()
+  "Redisplay XEmacs splash screen in a buffer."
+  (interactive)
+  (let ((buffer (get-buffer-create "*Splash*")))
+    (set-buffer buffer)
+    (erase-buffer buffer)
+    (startup-splash-frame)
+    (pop-to-buffer buffer)
+    (delete-other-windows)))
 
 (provide 'x-menubar)
 
--- a/lisp/x11/x-toolbar.el	Mon Aug 13 08:47:36 2007 +0200
+++ b/lisp/x11/x-toolbar.el	Mon Aug 13 08:47:52 2007 +0200
@@ -53,10 +53,10 @@
 	(progn
 	  (setq toolbar-mail-frame (make-frame))
 	  (add-hook 'vm-quit-hook
-		    '(lambda ()
-		       (save-excursion
-			 (if (frame-live-p toolbar-mail-frame)
-			     (delete-frame toolbar-mail-frame)))))
+		    (lambda ()
+		      (save-excursion
+			(if (frame-live-p toolbar-mail-frame)
+			    (delete-frame toolbar-mail-frame)))))
 	  (select-frame toolbar-mail-frame)
 	  (raise-frame toolbar-mail-frame)
 	  (funcall toolbar-mail-command)))
@@ -124,19 +124,20 @@
   "The frame in which news is displayed.")
 
 (defun toolbar-news ()
-  "Run GNUS in a separate frame."
+  "Run Gnus in a separate frame."
   (interactive)
-  (if (or (not toolbar-news-frame)
-	  (not (frame-live-p toolbar-news-frame)))
-      (progn
-	(setq toolbar-news-frame (make-frame))
-	(add-hook 'gnus-exit-gnus-hook
-		  '(lambda ()
-		     (if (frame-live-p toolbar-news-frame)
-			 (delete-frame toolbar-news-frame))))
-	(select-frame toolbar-news-frame)
-	(raise-frame toolbar-news-frame)
-	(gnus)))
+  (when (or (not toolbar-news-frame)
+	    (not (frame-live-p toolbar-news-frame)))
+    (setq toolbar-news-frame (make-frame))
+    (add-hook 'gnus-exit-gnus-hook
+	      (lambda ()
+		(when (frame-live-p toolbar-news-frame)
+		  (if (cdr (frame-list))
+		      (delete-frame toolbar-news-frame))
+                  (setq toolbar-news-frame nil))))
+    (select-frame toolbar-news-frame)
+    (raise-frame toolbar-news-frame)
+    (gnus))
   (if (frame-iconified-p toolbar-news-frame)
       (deiconify-frame toolbar-news-frame))
   (select-frame toolbar-news-frame)
@@ -206,22 +207,22 @@
 
 (defun init-x-toolbar ()
   (mapcar
-   #'(lambda (cons)
-       (let ((prefix (expand-file-name (cdr cons) toolbar-icon-directory)))
-	 (set (car cons)
-	      (if (featurep 'xpm)
-		  (toolbar-make-button-list
-                   (concat prefix "-up.xpm")
-		   nil
-                   (concat prefix "-xx.xpm")
-                   (concat prefix "-cap-up.xpm")
-		   nil
-                   (concat prefix "-cap-xx.xpm"))
-                (toolbar-make-button-list
-                 (concat prefix "-up.xbm")
-                 (concat prefix "-dn.xbm")
-                 (concat prefix "-xx.xbm")
-                 )))))
+   (lambda (cons)
+     (let ((prefix (expand-file-name (cdr cons) toolbar-icon-directory)))
+       (set (car cons)
+	    (if (featurep 'xpm)
+		(toolbar-make-button-list
+		 (concat prefix "-up.xpm")
+		 nil
+		 (concat prefix "-xx.xpm")
+		 (concat prefix "-cap-up.xpm")
+		 nil
+		 (concat prefix "-cap-xx.xpm"))
+	      (toolbar-make-button-list
+	       (concat prefix "-up.xbm")
+	       (concat prefix "-dn.xbm")
+	       (concat prefix "-xx.xbm")
+	       )))))
    init-x-toolbar-list)
   ;; do this now because errors will occur if the icon symbols
   ;; are not initted
--- a/lwlib/xlwscrollbar.c	Mon Aug 13 08:47:36 2007 +0200
+++ b/lwlib/xlwscrollbar.c	Mon Aug 13 08:47:52 2007 +0200
@@ -14,11 +14,11 @@
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /* Created by Douglas Keller <dkeller@vnet.ibm.com> */
-/* Last changed 03/24/95 */
 
 /*
  * Athena-style scrollbar button bindings added on Sun Dec 24 22:03:57 1995
@@ -80,9 +80,9 @@
 #define DBUG(x)
 
 #define MINL(x,y) ((((unsigned long) (x)) < ((unsigned long) (y))) \
-		   ? ((unsigned long) (x)) : ((unsigned long) (y)))
+		  ? ((unsigned long) (x)) : ((unsigned long) (y)))
 
-#define VERT(w) (w->sb.orientation == XmVERTICAL)
+#define VERT(w) ((w)->sb.orientation == XmVERTICAL)
 
 #define SS_MIN 8
 
@@ -234,13 +234,13 @@
 **
 */
 static XtActionsRec actions[] = {
-    {(String) "Select",     		Select},
-    {(String) "PageDownOrRight",	PageDownOrRight},
-    {(String) "PageUpOrLeft",	    	PageUpOrLeft},
-    {(String) "Drag",			Drag},
-    {(String) "Release",		Release},
-    {(String) "Jump",			Jump},
-    {(String) "Abort",			Abort},
+    {(String) "Select",		Select},
+    {(String) "PageDownOrRight",PageDownOrRight},
+    {(String) "PageUpOrLeft",	PageUpOrLeft},
+    {(String) "Drag",		Drag},
+    {(String) "Release",	Release},
+    {(String) "Jump",		Jump},
+    {(String) "Abort",		Abort},
 };
 
 /************************************************************************
@@ -307,41 +307,45 @@
 
 /************************************************************************
 **
-** Debug funcitons
+** Debug functions
 **
 */
 
 #ifdef SHOW_CLEAR
-static void myXClearArea(Display *dpy, Drawable d, int x, int y, int w, int h, Boolean exp, XlwScrollBarWidget widget)
+static void
+myXClearArea(Display *dpy, Drawable d, int x, int y, int w, int h,
+	     Boolean exp, XlwScrollBarWidget widget)
 {
-  XFillRectangle(dpy, d, widget->sb.topShadowGC, x, y, w, h);
-  XSync(dpy, False);
-  sleep(2);
-  XClearArea(dpy, d, x, y, w, h, exp);
+  XFillRectangle (dpy, d, widget->sb.topShadowGC, x, y, w, h);
+  XSync (dpy, False);
+  sleep (2);
+  XClearArea (dpy, d, x, y, w, h, exp);
 }
 
 #define XClearArea(dpy,win,x,y,width,height,exp) myXClearArea(dpy,win,x,y,width,height,exp,w)
 #endif
 
 #ifdef CHECK_VALUES
-static void check(XlwScrollBarWidget w)
+static void
+check(XlwScrollBarWidget w)
 {
   int height;
   
-  height= widget_h(w);
-  if( w->sb.showArrows ) height -= (2*arrow_h(w));
+  height= widget_h (w);
+  if (w->sb.showArrows) height -= (2 * arrow_h (w));
 
-  if( (w->sb.above + w->sb.ss + w->sb.below > height) ||
+  if ((w->sb.above + w->sb.ss + w->sb.below > height) ||
       (w->sb.value < w->sb.minimum) ||
-      (w->sb.value > w->sb.maximum - w->sb.sliderSize )
+      (w->sb.value > w->sb.maximum - w->sb.sliderSize)
       )
-      {
+    {
       printf("above=%d ss=%d below=%d height=%d\n", 
 	     w->sb.above, w->sb.ss, w->sb.below, height);
       printf("value=%d min=%d max=%d ss=%d max-ss=%d\n",
-	     w->sb.value, w->sb.minimum, w->sb.maximum, w->sb.sliderSize, w->sb.maximum - w->sb.sliderSize);
+	     w->sb.value, w->sb.minimum, w->sb.maximum,
+	     w->sb.sliderSize, w->sb.maximum - w->sb.sliderSize);
       abort();
-      }
+    }
 }
 
 #  define CHECK(w) check(w)
@@ -351,213 +355,213 @@
 
 /************************************************************************
 **
-** Static funcitons
+** Static functions
 **
 */
 
-static void call_callbacks(XlwScrollBarWidget w, int reason, int value, int pixel,
-			   XEvent *event)
+static void
+call_callbacks (XlwScrollBarWidget w, int reason,
+		int value, int pixel, XEvent *event)
 {
   XlwScrollBarCallbackStruct cbs;
   Boolean called_anything;
 
-  cbs.reason  = reason;
-  cbs.event   = event;
-  cbs.value   = value;
-  cbs.pixel   = pixel;
+  cbs.reason = reason;
+  cbs.event  = event;
+  cbs.value  = value;
+  cbs.pixel  = pixel;
 
   called_anything = False;
 
-  switch( reason )
-      {
-      case XmCR_VALUE_CHANGED:
-	  XtCallCallbackList( (Widget)w, w->sb.valueChangedCBL, &cbs );
+  switch (reason)
+    {
+    case XmCR_VALUE_CHANGED:
+      XtCallCallbackList ((Widget) w, w->sb.valueChangedCBL, &cbs);
+      called_anything = True;
+      break;
+    case XmCR_INCREMENT:
+      if (w->sb.incrementCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.incrementCBL, &cbs);
+	  called_anything = True;
+	}
+      break;
+    case XmCR_DECREMENT:
+      if (w->sb.decrementCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.decrementCBL, &cbs);
+	  called_anything = True;
+	}
+      break;
+    case XmCR_PAGE_INCREMENT:
+      if (w->sb.incrementCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.pageIncrementCBL, &cbs);
 	  called_anything = True;
-	  break;
-      case XmCR_INCREMENT:
-	  if( w->sb.incrementCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.incrementCBL, &cbs );
-	      called_anything = True;
-	      }
-	  break;
-      case XmCR_DECREMENT:
-	  if( w->sb.decrementCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.decrementCBL, &cbs );
-	      called_anything = True;
-	      }
-	  break;
-      case XmCR_PAGE_INCREMENT:
-	  if( w->sb.incrementCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.pageIncrementCBL, &cbs );
-	      called_anything = True;
-	      }
-	  break;
-      case XmCR_PAGE_DECREMENT:
-	  if( w->sb.decrementCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.pageDecrementCBL, &cbs );
-	      called_anything = True;
-	      }
-	  break;
-      case XmCR_TO_TOP:
-	  if( w->sb.toTopCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.toTopCBL, &cbs );
-	      called_anything = True;
-	      }
-	  break;
-      case XmCR_TO_BOTTOM:
-	  if( w->sb.toBottomCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.toBottomCBL, &cbs );
-	      called_anything = True;
-	      }
-	  break;
-      case XmCR_DRAG:
-	  if( w->sb.dragCBL )
-	      {
-	      XtCallCallbackList( (Widget)w, w->sb.dragCBL, &cbs );
-	      }
-	  called_anything = True; /* Special Case */
-	  break;
-      }
+	}
+      break;
+    case XmCR_PAGE_DECREMENT:
+      if (w->sb.decrementCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.pageDecrementCBL, &cbs);
+	  called_anything = True;
+	}
+      break;
+    case XmCR_TO_TOP:
+      if (w->sb.toTopCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.toTopCBL, &cbs);
+	  called_anything = True;
+	}
+      break;
+    case XmCR_TO_BOTTOM:
+      if (w->sb.toBottomCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.toBottomCBL, &cbs);
+	  called_anything = True;
+	}
+      break;
+    case XmCR_DRAG:
+      if (w->sb.dragCBL)
+	{
+	  XtCallCallbackList ((Widget) w, w->sb.dragCBL, &cbs);
+	}
+      called_anything = True; /* Special Case */
+      break;
+    }
 
-  if( !called_anything )
-      {
+  if (!called_anything)
+    {
       cbs.reason = XmCR_VALUE_CHANGED;
-      XtCallCallbackList( (Widget)w, w->sb.valueChangedCBL, &cbs );
-      }
+      XtCallCallbackList ((Widget) w, w->sb.valueChangedCBL, &cbs);
+    }
 }
 
 /*
 ** Widget sizes minus the shadow and highlight area
-**
 */
-static int widget_x(XlwScrollBarWidget w)
+static int
+widget_x (XlwScrollBarWidget w)
 {
-  return( w->sb.shadowThickness );
+  return w->sb.shadowThickness;
 }
 
-static int widget_y(XlwScrollBarWidget w)
+static int
+widget_y (XlwScrollBarWidget w)
 {
-  return( w->sb.shadowThickness );
+  return w->sb.shadowThickness;
 }
 
-static int widget_w(XlwScrollBarWidget w)
+static int
+widget_w (XlwScrollBarWidget w)
 {
   int width, x = w->sb.shadowThickness;
 
-  width = VERT(w) ? w->core.width : w->core.height;
+  width = VERT (w) ? w->core.width : w->core.height;
 
-  if( width <= (2 * x) )
-      return( 1 );
+  if (width <= (2 * x))
+    return 1;
   else
-      return( width - (2 * x) );
+    return width - (2 * x);
 }
 
-static int widget_h(XlwScrollBarWidget w)
+static int
+widget_h (XlwScrollBarWidget w)
 {
   int height, y = w->sb.shadowThickness;
 
-  height = VERT(w) ? w->core.height : w->core.width;
+  height = VERT (w) ? w->core.height : w->core.width;
 
-  if( height <= (2 * y) )
-      return( 1 );
+  if (height <= (2 * y))
+    return 1;
   else
-      return( height - (2 * y) );
+    return height - (2 * y);
 }
 
-static int arrow_h(XlwScrollBarWidget w)
+static int
+arrow_h (XlwScrollBarWidget w)
 {
   int width, height;
 
-  width = widget_w(w);
-  height= widget_h(w);
+  width = widget_w (w);
+  height= widget_h (w);
 
-  if( width > ((height / 2) - (SS_MIN / 2) - 1) )
-      {
-      return( ((height / 2) - (SS_MIN / 2) - 1) );
-      }
+  if (width > ((height / 2) - (SS_MIN / 2) - 1))
+    return     (height / 2) - (SS_MIN / 2) - 1 ;
   else
-      {
-      return( width );
-      }
+    return width;
 }
 
-static int event_x(XlwScrollBarWidget w, XEvent *event)
+static int
+event_x (XlwScrollBarWidget w, XEvent *event)
 {
-  return( VERT(w) ? event->xbutton.x : event->xbutton.y );
+  return VERT (w) ? event->xbutton.x : event->xbutton.y;
 }
 
-static int event_y(XlwScrollBarWidget w, XEvent *event)
+static int
+event_y (XlwScrollBarWidget w, XEvent *event)
 {
-  return( VERT(w) ? event->xbutton.y : event->xbutton.x );
+  return VERT (w) ? event->xbutton.y : event->xbutton.x;
 }
 
 /*
 ** Safe addition and subtraction
 */
-static int safe_add(int a, int b)
+static int
+safe_add (int a, int b)
 {
-  if( a > 0 && INT_MAX - a < b ) return( INT_MAX );
-  else return( a + b );
-}
-
-static int safe_subtract(int a, int b)
-{
-  if( a < 0 && -(INT_MIN - a) < b ) return( INT_MIN );
-  else return( a - b );
+  if (a > 0 && INT_MAX - a < b) return INT_MAX;
+  else return a + b;
 }
 
-static int knob_style(XlwScrollBarWidget w)
+static int
+safe_subtract (int a, int b)
 {
-  if( w->sb.knobStyle )
-      {
-      if( w->sb.knobStyle[0] == 'd' )
-	  {
-	  return( KNOB_DIMPLE );
-	  }
-      }
-  return( KNOB_PLAIN );
+  if (a < 0 && -(INT_MIN - a) < b) return INT_MIN;
+  else return a - b;
 }
 
-static Boolean arrow_same_end(XlwScrollBarWidget w)
+static int
+knob_style (XlwScrollBarWidget w)
 {
-  if( w->sb.arrowPosition && w->sb.arrowPosition[0] == 's' )
-      {
-      return( True );
-      }
-  return( False );
+  return w->sb.knobStyle && w->sb.knobStyle[0] == 'd' ?
+    KNOB_DIMPLE :
+    KNOB_PLAIN;
+}
+
+static Boolean
+arrow_same_end (XlwScrollBarWidget w)
+{
+  return w->sb.arrowPosition && w->sb.arrowPosition[0] == 's' ? True : False;
 }
 
 /*
 ** GC and Pixel allocation
 */
-static GC get_gc(XlwScrollBarWidget w, Pixel fg, Pixel bg, Pixmap pm)
+static GC
+get_gc (XlwScrollBarWidget w, Pixel fg, Pixel bg, Pixmap pm)
 {
   XGCValues values;
   XtGCMask mask;
 
-  if (pm == w->sb.grayPixmap) {
+  if (pm == w->sb.grayPixmap)
+    {
       /* If we're using the gray pixmap, guarantee white on black ...
        * otherwise, we could end up with something odd like grey on white
        * when we're on a color display that ran out of color cells
        */
 
-      fg = WhitePixelOfScreen(DefaultScreenOfDisplay(XtDisplay(w)));
-      bg = BlackPixelOfScreen(DefaultScreenOfDisplay(XtDisplay(w)));
-  }
+      fg = WhitePixelOfScreen (DefaultScreenOfDisplay (XtDisplay (w)));
+      bg = BlackPixelOfScreen (DefaultScreenOfDisplay (XtDisplay (w)));
+    }
  
   values.foreground = fg;
   values.background = bg;
   values.fill_style = FillOpaqueStippled;
   values.stipple    = pm;
   mask              = GCForeground | GCBackground |
-      ( pm == None ? 0 : GCStipple | GCFillStyle );
-  return( XtGetGC((Widget)w, mask, &values) );
+     (pm == None ? 0 : GCStipple | GCFillStyle);
+  return XtGetGC((Widget) w, mask, &values);
 }
 
 /* Replacement for XAllocColor() that tries to return the nearest
@@ -567,69 +571,52 @@
 allocate_nearest_color (Display *display, Colormap screen_colormap,
 		        XColor *color_def)
 {
-  int status;
+  int status = XAllocColor (display, screen_colormap, color_def);
+  if (status)
+    return status;
 
-  status = XAllocColor (display, screen_colormap, color_def);
-  if (!status)
     {
       /* If we got to this point, the colormap is full, so we're
-	 going to try and get the next closest color.
+	 going to try to get the next closest color.
 	 The algorithm used is a least-squares matching, which is
 	 what X uses for closest color matching with StaticColor visuals.  */
 
-      XColor *cells;
-      int no_cells;
-      int nearest;
-      long nearest_delta, trial_delta;
-      int x;
+      int nearest, x;
+      unsigned long nearest_delta, trial_delta;
 
-      no_cells = XDisplayCells (display, XDefaultScreen (display));
+      int no_cells = XDisplayCells (display, XDefaultScreen (display));
       /* Don't use alloca here because lwlib doesn't have the
          necessary configuration information that src does. */
-      cells = (XColor *) malloc (sizeof (XColor) * no_cells);
+      XColor *cells = (XColor *) malloc (sizeof (XColor) * no_cells);
 
       for (x = 0; x < no_cells; x++)
 	cells[x].pixel = x;
 
       XQueryColors (display, screen_colormap, cells, no_cells);
-      nearest = 0;
-      /* I'm assuming CSE so I'm not going to condense this. */
-      nearest_delta = ((((color_def->red >> 8) - (cells[0].red >> 8))
-			* ((color_def->red >> 8) - (cells[0].red >> 8)))
-		       +
-		       (((color_def->green >> 8) - (cells[0].green >> 8))
-			* ((color_def->green >> 8) - (cells[0].green >> 8)))
-		       +
-		       (((color_def->blue >> 8) - (cells[0].blue >> 8))
-			* ((color_def->blue >> 8) - (cells[0].blue >> 8))));
-      for (x = 1; x < no_cells; x++)
+
+      for (x = 0; x < no_cells; x++)
 	{
-	  trial_delta = ((((color_def->red >> 8) - (cells[x].red >> 8))
-			  * ((color_def->red >> 8) - (cells[x].red >> 8)))
-			 +
-			 (((color_def->green >> 8) - (cells[x].green >> 8))
-			  * ((color_def->green >> 8) - (cells[x].green >> 8)))
-			 +
-			 (((color_def->blue >> 8) - (cells[x].blue >> 8))
-			  * ((color_def->blue >> 8) - (cells[x].blue >> 8))));
-	  if (trial_delta < nearest_delta)
+	  long dred   = (color_def->red   >> 8) - (cells[x].red   >> 8);
+	  long dgreen = (color_def->green >> 8) - (cells[x].green >> 8);
+	  long dblue  = (color_def->blue  >> 8) - (cells[x].blue  >> 8);
+	  trial_delta = dred * dred + dgreen * dgreen + dblue * dblue;
+
+	  if (x == 0 || trial_delta < nearest_delta)
 	    {
 	      nearest = x;
 	      nearest_delta = trial_delta;
 	    }
 	}
-      color_def->red = cells[nearest].red;
+      color_def->red   = cells[nearest].red;
       color_def->green = cells[nearest].green;
-      color_def->blue = cells[nearest].blue;
-      status = XAllocColor (display, screen_colormap, color_def);
-
+      color_def->blue  = cells[nearest].blue;
       free (cells);
+      return XAllocColor (display, screen_colormap, color_def);
     }
-
-  return status;
 }
 
-static void make_shadow_pixels(XlwScrollBarWidget w)
+static void
+make_shadow_pixels (XlwScrollBarWidget w)
 {
   Display *dpy = XtDisplay((Widget) w);
   Colormap cmap = w->core.colormap;
@@ -642,89 +629,89 @@
   bg = w->core.background_pixel;
   fg = w->sb.foreground;
 
-  if( w->sb.topShadowColor    == (Pixel)~0) w->sb.topShadowColor    = bg;
-  if( w->sb.bottomShadowColor == (Pixel)~0) w->sb.bottomShadowColor = fg;
+  if (w->sb.topShadowColor    == (Pixel)~0) w->sb.topShadowColor    = bg;
+  if (w->sb.bottomShadowColor == (Pixel)~0) w->sb.bottomShadowColor = fg;
 
-  if( w->sb.topShadowColor == bg || w->sb.topShadowColor == fg )
-      {
+  if (w->sb.topShadowColor == bg || w->sb.topShadowColor == fg)
+    {
       topc.pixel = bg;
-      XQueryColor( dpy, cmap, &topc );
+      XQueryColor (dpy, cmap, &topc);
       /* don't overflow/wrap! */
       topc.red   = MINL(65535, topc.red   * 1.2);
       topc.green = MINL(65535, topc.green * 1.2);
       topc.blue  = MINL(65535, topc.blue  * 1.2);
-      if( allocate_nearest_color(dpy, cmap, &topc) )
-	  {
-	  if( topc.pixel == bg )
-	      {
-	      XFreeColors( dpy, cmap, &topc.pixel, 1, 0);
+      if (allocate_nearest_color (dpy, cmap, &topc))
+	{
+	  if (topc.pixel == bg)
+	    {
+	      XFreeColors (dpy, cmap, &topc.pixel, 1, 0);
 	      topc.red   = MINL(65535, topc.red   + 0x8000);
 	      topc.green = MINL(65535, topc.green + 0x8000);
 	      topc.blue  = MINL(65535, topc.blue  + 0x8000);
-	      if( allocate_nearest_color(dpy, cmap, &topc) )
-		  {
+	      if (allocate_nearest_color (dpy, cmap, &topc))
+		{
 		  w->sb.topShadowColor = topc.pixel;
-		  }
-	      }
+		}
+	    }
 	  else
-	      {
+	    {
 	      w->sb.topShadowColor = topc.pixel;
-	      }
+	    }
 
 	  top_frobbed = 1;
-	  }
-      }
+	}
+    }
 
-  if( w->sb.bottomShadowColor == fg || w->sb.bottomShadowColor == bg )
-      {
+  if (w->sb.bottomShadowColor == fg || w->sb.bottomShadowColor == bg)
+    {
       botc.pixel = bg;
-      XQueryColor( dpy, cmap, &botc );
+      XQueryColor (dpy, cmap, &botc);
       botc.red   *= 0.6;
       botc.green *= 0.6;
       botc.blue  *= 0.6;
-      if( allocate_nearest_color(dpy, cmap, &botc) )
-	  {
-	  if( botc.pixel == bg )
-	      {
-	      XFreeColors( dpy, cmap, &botc.pixel, 1, 0);
+      if (allocate_nearest_color (dpy, cmap, &botc))
+	{
+	  if (botc.pixel == bg)
+	    {
+	      XFreeColors (dpy, cmap, &botc.pixel, 1, 0);
 	      botc.red   = MINL(65535, botc.red   + 0x4000);
 	      botc.green = MINL(65535, botc.green + 0x4000);
 	      botc.blue  = MINL(65535, botc.blue  + 0x4000);
-	      if( allocate_nearest_color(dpy, cmap, &botc) )
-		  {
+	      if (allocate_nearest_color (dpy, cmap, &botc))
+		{
 		  w->sb.bottomShadowColor = botc.pixel;
-		  }
-	      }
+		}
+	    }
 	  else
-	      {
+	    {
 	      w->sb.bottomShadowColor = botc.pixel;
-	      }
+	    }
 	  bottom_frobbed = 1;
-	  }
-      }
+	}
+    }
 
-  if( top_frobbed && bottom_frobbed )
-      {
+  if (top_frobbed && bottom_frobbed)
+    {
       int top_avg = ((topc.red / 3) + (topc.green / 3) + (topc.blue / 3));
       int bot_avg = ((botc.red / 3) + (botc.green / 3) + (botc.blue / 3));
-      if( bot_avg > top_avg )
-	  {
+      if (bot_avg > top_avg)
+	{
 	  Pixel tmp = w->sb.topShadowColor;
 	  w->sb.topShadowColor = w->sb.bottomShadowColor;
 	  w->sb.bottomShadowColor = tmp;
-	  }
-      else if( topc.pixel == botc.pixel )
-	  {
-	  if( botc.pixel == bg )
-	      w->sb.topShadowColor = bg;
+	}
+      else if (topc.pixel == botc.pixel)
+	{
+	  if (botc.pixel == bg)
+	    w->sb.topShadowColor = bg;
 	  else
-	      w->sb.bottomShadowColor = fg;
-	  }
-      }
+	    w->sb.bottomShadowColor = fg;
+	}
+    }
 
-  if (w->sb.topShadowColor == w->core.background_pixel || 
-      w->sb.bottomShadowColor == w->core.background_pixel) {
-
+  if (w->sb.topShadowColor    == w->core.background_pixel || 
+      w->sb.bottomShadowColor == w->core.background_pixel)
+    {
       /* Assume we're in mono. This code should be okay even if we're
        * really in color but just short on color cells -- We want the 
        * following behavior, which has been empirically determined to
@@ -734,123 +721,119 @@
        * black bottom shadow.
        */
 
-      Pixel white = WhitePixelOfScreen(DefaultScreenOfDisplay(XtDisplay(w)));
-      Pixel black = BlackPixelOfScreen(DefaultScreenOfDisplay(XtDisplay(w)));
+      Pixel white = WhitePixelOfScreen (DefaultScreenOfDisplay (XtDisplay (w)));
+      Pixel black = BlackPixelOfScreen (DefaultScreenOfDisplay (XtDisplay (w)));
 
       /* Note: core.background_pixel is the color of the thumb ... */
 
       if (w->core.background_pixel == black &&
-        w->sb.troughColor == black) {
-
-        w->sb.topShadowColor = white;
-        w->sb.bottomShadowPixmap = w->sb.grayPixmap;
-
-      } else {
-
-        w->sb.topShadowPixmap = w->sb.grayPixmap;
-        w->sb.bottomShadowColor = black;
-      }
-
-  }
-      
-
+	  w->sb.troughColor == black)
+	{
+	  w->sb.topShadowColor = white;
+	  w->sb.bottomShadowPixmap = w->sb.grayPixmap;
+	} else {
+	  w->sb.topShadowPixmap = w->sb.grayPixmap;
+	  w->sb.bottomShadowColor = black;
+	}
+    }
 }
 
-static void make_trough_pixel(XlwScrollBarWidget w)
+static void
+make_trough_pixel (XlwScrollBarWidget w)
 {
   Display *dpy = XtDisplay((Widget) w);
-  Colormap cmap = DefaultColormapOfScreen( XtScreen((Widget)w) );
+  Colormap cmap = DefaultColormapOfScreen (XtScreen ((Widget) w));
   XColor troughC;
 
-  if( w->sb.troughColor == (Pixel)~0) w->sb.troughColor = w->core.background_pixel;
+  if (w->sb.troughColor == (Pixel)~0) w->sb.troughColor = w->core.background_pixel;
 
-  if( w->sb.troughColor == w->core.background_pixel )
-      {
+  if (w->sb.troughColor == w->core.background_pixel)
+    {
       troughC.pixel = w->core.background_pixel;
-      XQueryColor( dpy, cmap, &troughC );
+      XQueryColor (dpy, cmap, &troughC);
       troughC.red   *= 0.8;
       troughC.green *= 0.8;
       troughC.blue  *= 0.8;
-      if( allocate_nearest_color(dpy, cmap, &troughC) )
-	  {
-	  w->sb.troughColor = troughC.pixel;
-	  }
-      }
+      if (allocate_nearest_color (dpy, cmap, &troughC))
+	w->sb.troughColor = troughC.pixel;
+    }
 }
 
 /*
 ** Draw 3d border
 */
-static void draw_shadows(Display *dpy, Drawable d, 
-			 GC shine_gc, GC shadow_gc, 
-			 int x, int y, int width, int height, 
-			 int shadowT)
+static void
+draw_shadows (Display *dpy, Drawable d, GC shine_gc, GC shadow_gc,
+	      int x, int y, int width, int height, int shadowT)
 {
-   XSegment shine[10], shadow[10];
-   int i;
+  XSegment shine[10], shadow[10];
+  int i;
 
-   if(shadowT > (width / 2)) shadowT = (width / 2);
-   if(shadowT > (height / 2)) shadowT = (height / 2);
-   if(shadowT <= 0) return;
+  if (shadowT > (width  / 2)) shadowT = (width  / 2);
+  if (shadowT > (height / 2)) shadowT = (height / 2);
+  if (shadowT <= 0) return;
 
-   for(i = 0; i < shadowT; i++)
-       {
-       /*  Top segments  */
-       shine[i].x1 = x;
-       shine[i].y2 = shine[i].y1 = y + i;
-       shine[i].x2 = x + width - i - 1;
-       /*  Left segments  */
-       shine[i + shadowT].x2 = shine[i + shadowT].x1 = x + i;
-       shine[i + shadowT].y1 = y + shadowT;
-       shine[i + shadowT].y2 = y + height - i - 1;
+  for (i = 0; i < shadowT; i++)
+    {
+      /*  Top segments  */
+      shine[i].x1 = x;
+      shine[i].y2 = shine[i].y1 = y + i;
+      shine[i].x2 = x + width - i - 1;
+      /*  Left segments  */
+      shine[i + shadowT].x2 = shine[i + shadowT].x1 = x + i;
+      shine[i + shadowT].y1 = y + shadowT;
+      shine[i + shadowT].y2 = y + height - i - 1;
 
-       /*  Bottom segments  */
-       shadow[i].x1 = x + i;
-       shadow[i].y2 = shadow[i].y1 = y + height - i - 1;
-       shadow[i].x2 = x + width - 1 ;
-       /*  Right segments  */
-       shadow[i + shadowT].x2 = shadow[i + shadowT].x1 = x + width - i - 1;
-       shadow[i + shadowT].y1 = y + i + 1;
-       shadow[i + shadowT].y2 = y + height - 1 ;
-       }
+      /*  Bottom segments  */
+      shadow[i].x1 = x + i;
+      shadow[i].y2 = shadow[i].y1 = y + height - i - 1;
+      shadow[i].x2 = x + width - 1 ;
+      /*  Right segments  */
+      shadow[i + shadowT].x2 = shadow[i + shadowT].x1 = x + width - i - 1;
+      shadow[i + shadowT].y1 = y + i + 1;
+      shadow[i + shadowT].y2 = y + height - 1 ;
+    }
 
-   XDrawSegments( dpy, d, shine_gc, shine, shadowT * 2 );
-   XDrawSegments( dpy, d, shadow_gc, shadow, shadowT * 2 );
+  XDrawSegments (dpy, d, shine_gc,  shine,  shadowT * 2);
+  XDrawSegments (dpy, d, shadow_gc, shadow, shadowT * 2);
 }
 
 /*
 ** Draw 3d arrows, left, up, down, and right
 */
-static int make_vert_seg(XSegment *seg, int x1, int y1, int x2, int y2, int shadowT)
+static int
+make_vert_seg (XSegment *seg, int x1, int y1, int x2, int y2, int shadowT)
 {
   int i;
 
-  for(i=0; i<shadowT; i++)
-      {
+  for (i=0; i<shadowT; i++)
+    {
       seg[i].x1 = x1;
       seg[i].y1 = y1 + i;
       seg[i].x2 = x2;
       seg[i].y2 = y2 + i;
-      }
-  return( shadowT );
+    }
+  return shadowT;
 }
 
-static int make_hor_seg(XSegment *seg, int x1, int y1, int x2, int y2, int shadowT)
+static int
+make_hor_seg (XSegment *seg, int x1, int y1, int x2, int y2, int shadowT)
 {
   int i;
 
-  for(i=0; i<shadowT; i++)
-      {
+  for (i=0; i<shadowT; i++)
+    {
       seg[i].x1 = x1 + i;
       seg[i].y1 = y1;
       seg[i].x2 = x2 + i;
       seg[i].y2 = y2;
-      }
-  return( shadowT );
+    }
+  return shadowT;
 }
 
-static void draw_arrow_up(Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
-			  int x, int y, int width, int height, int shadowT)
+static void
+draw_arrow_up (Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
+	       int x, int y, int width, int height, int shadowT)
 {
   XSegment shine[10], shadow[10];
   XPoint triangle[3];
@@ -858,21 +841,21 @@
 
   mid = width / 2;
 
-  if(shadowT > (width / 2)) shadowT = (width / 2);
-  if(shadowT > (height / 2)) shadowT = (height / 2);
-  if(shadowT <= 0) shadowT = 0;
+  if (shadowT > (width  / 2)) shadowT = (width  / 2);
+  if (shadowT > (height / 2)) shadowT = (height / 2);
+  if (shadowT <= 0) shadowT = 0;
 
   /*  /  */
-  make_vert_seg( shine,
+  make_vert_seg (shine,
 		 x,       y + height - shadowT - 1,
-		 x + mid, y, shadowT );
+		 x + mid, y, shadowT);
   /*  _\  */
-  make_vert_seg( shadow,
+  make_vert_seg (shadow,
 		 x,             y + height - shadowT - 1,
-		 x + width - 1, y + height - shadowT - 1, shadowT );
-  make_vert_seg( shadow + shadowT,
+		 x + width - 1, y + height - shadowT - 1, shadowT);
+  make_vert_seg (shadow + shadowT,
 		 x + mid,       y,
-		 x + width - 1, y + height - shadowT - 1, shadowT );
+		 x + width - 1, y + height - shadowT - 1, shadowT);
 
   triangle[0].x = x;
   triangle[0].y = y + height - 1;
@@ -881,14 +864,15 @@
   triangle[2].x = x + width - 1;
   triangle[2].y = y + height - 1;
 
-  XFillPolygon( dpy, win, bgGC, triangle, 3, Convex, ArcChord );
+  XFillPolygon (dpy, win, bgGC, triangle, 3, Convex, ArcChord);
 
-  XDrawSegments( dpy, win, shadowGC, shadow, shadowT * 2 );
-  XDrawSegments( dpy, win, shineGC, shine, shadowT );
+  XDrawSegments (dpy, win, shadowGC, shadow, shadowT * 2);
+  XDrawSegments (dpy, win, shineGC,  shine,  shadowT);
 }
 
-static void draw_arrow_left(Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
-			    int x, int y, int width, int height, int shadowT)
+static void
+draw_arrow_left (Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
+		 int x, int y, int width, int height, int shadowT)
 {
   XSegment shine[10], shadow[10];
   XPoint triangle[3];
@@ -896,21 +880,21 @@
 
   mid = width / 2;
 
-  if(shadowT > (width / 2)) shadowT = (width / 2);
-  if(shadowT > (height / 2)) shadowT = (height / 2);
-  if(shadowT <= 0) shadowT = 0;
+  if (shadowT > (width  / 2)) shadowT = (width  / 2);
+  if (shadowT > (height / 2)) shadowT = (height / 2);
+  if (shadowT <= 0) shadowT = 0;
 
   /*  /  */
-  make_hor_seg( shine,
-		 x,         y + mid,
-		 x + width - shadowT - 1, y, shadowT );
+  make_hor_seg (shine,
+		x,         y + mid,
+		x + width - shadowT - 1, y, shadowT);
   /*  \|  */
-  make_hor_seg( shadow,
-		 x,         y + mid,
-		 x + width - shadowT - 1, y + height - 1, shadowT );
-  make_hor_seg( shadow + shadowT,
-		 x + width - shadowT - 1, y,
-		 x + width - shadowT - 1, y + height - 1, shadowT );
+  make_hor_seg (shadow,
+		x,         y + mid,
+		x + width - shadowT - 1, y + height - 1, shadowT);
+  make_hor_seg (shadow + shadowT,
+		x + width - shadowT - 1, y,
+		x + width - shadowT - 1, y + height - 1, shadowT);
 
   triangle[0].x = x + width - 1;
   triangle[0].y = y + height - 1;
@@ -919,14 +903,15 @@
   triangle[2].x = x + width - 1;
   triangle[2].y = y;
 
-  XFillPolygon( dpy, win, bgGC, triangle, 3, Convex, ArcChord );
+  XFillPolygon (dpy, win, bgGC, triangle, 3, Convex, ArcChord);
 
-  XDrawSegments( dpy, win, shadowGC, shadow, shadowT * 2 );
-  XDrawSegments( dpy, win, shineGC, shine, shadowT );
+  XDrawSegments (dpy, win, shadowGC, shadow, shadowT * 2);
+  XDrawSegments (dpy, win, shineGC,  shine,  shadowT);
 }
 
-static void draw_arrow_down(Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
-			    int x, int y, int width, int height, int shadowT)
+static void
+draw_arrow_down (Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
+		 int x, int y, int width, int height, int shadowT)
 {
   XSegment shine[10], shadow[10];
   XPoint triangle[3];
@@ -934,21 +919,21 @@
 
   mid = width / 2;
 
-  if(shadowT > (width / 2)) shadowT = (width / 2);
-  if(shadowT > (height / 2)) shadowT = (height / 2);
-  if(shadowT <= 0) shadowT = 0;
+  if (shadowT > (width  / 2)) shadowT = (width  / 2);
+  if (shadowT > (height / 2)) shadowT = (height / 2);
+  if (shadowT <= 0) shadowT = 0;
       
   /*  \-  */
-  make_vert_seg( shine,
+  make_vert_seg (shine,
 		 x,       y,
-		 x + mid, y + height - shadowT - 1, shadowT );
-  make_vert_seg( shine + shadowT,
+		 x + mid, y + height - shadowT - 1, shadowT);
+  make_vert_seg (shine + shadowT,
 		 x,             y,
-		 x + width - 1, y, shadowT );
+		 x + width - 1, y, shadowT);
   /*  /  */
-  make_vert_seg( shadow,
+  make_vert_seg (shadow,
 		 x + width - 1, y,
-		 x + mid,       y + height - shadowT - 1, shadowT );
+		 x + mid,       y + height - shadowT - 1, shadowT);
 
   triangle[0].x = x;
   triangle[0].y = y;
@@ -957,14 +942,15 @@
   triangle[2].x = x + width - 1;
   triangle[2].y = y;
 
-  XFillPolygon( dpy, win, bgGC, triangle, 3, Convex, ArcChord );
+  XFillPolygon (dpy, win, bgGC, triangle, 3, Convex, ArcChord);
 
-  XDrawSegments( dpy, win, shadowGC, shadow, shadowT );
-  XDrawSegments( dpy, win, shineGC, shine, shadowT * 2 );
+  XDrawSegments (dpy, win, shadowGC, shadow, shadowT);
+  XDrawSegments (dpy, win, shineGC,  shine,  shadowT * 2);
 }
 
-static void draw_arrow_right(Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
-			     int x, int y, int width, int height, int shadowT)
+static void
+draw_arrow_right (Display *dpy, Drawable win, GC bgGC, GC shineGC, GC shadowGC,
+		  int x, int y, int width, int height, int shadowT)
 {
   XSegment shine[10], shadow[10];
   XPoint triangle[3];
@@ -972,21 +958,21 @@
 
   mid = width / 2;
 
-  if(shadowT > (width / 2)) shadowT = (width / 2);
-  if(shadowT > (height / 2)) shadowT = (height / 2);
-  if(shadowT <= 0) shadowT = 0;
+  if (shadowT > (width  / 2)) shadowT = (width  / 2);
+  if (shadowT > (height / 2)) shadowT = (height / 2);
+  if (shadowT <= 0) shadowT = 0;
       
   /*  |\  */
-  make_hor_seg( shine,
+  make_hor_seg (shine,
 		x,       y,
-		x + width - shadowT - 1, y + mid, shadowT );
-  make_hor_seg( shine + shadowT,
+		x + width - shadowT - 1, y + mid, shadowT);
+  make_hor_seg (shine + shadowT,
 		x, y,
-		x, y + height -1, shadowT );
+		x, y + height -1, shadowT);
   /*  /  */
-  make_hor_seg( shadow,
+  make_hor_seg (shadow,
 		x, y + height -1,
-		x + width - shadowT - 1, y + mid, shadowT );
+		x + width - shadowT - 1, y + mid, shadowT);
 
   triangle[0].x = x + 1;
   triangle[0].y = y + height - 1;
@@ -995,32 +981,34 @@
   triangle[2].x = x + 1;
   triangle[2].y = y;
 
-  XFillPolygon( dpy, win, bgGC, triangle, 3, Convex, ArcChord );
+  XFillPolygon (dpy, win, bgGC, triangle, 3, Convex, ArcChord);
 
-  XDrawSegments( dpy, win, shadowGC, shadow, shadowT );
-  XDrawSegments( dpy, win, shineGC, shine, shadowT * 2 );
+  XDrawSegments (dpy, win, shadowGC, shadow, shadowT);
+  XDrawSegments (dpy, win, shineGC,  shine,  shadowT * 2);
 }
 
-static void draw_dimple(Display *dpy, Drawable win, GC shine, GC shadow,
-			int x, int y, int width, int height)
+static void
+draw_dimple (Display *dpy, Drawable win, GC shine, GC shadow,
+	     int x, int y, int width, int height)
 {
-  XDrawArc(dpy, win, shine, x, y, width, height, 46*64, 180*64);
-  XDrawArc(dpy, win, shadow, x, y, width, height, 45*64, -179*64);
+  XDrawArc (dpy, win, shine,  x, y, width, height, 46*64, 180*64);
+  XDrawArc (dpy, win, shadow, x, y, width, height, 45*64, -179*64);
 }
 
 /*
 ** Scrollbar values -> pixels, pixels -> scrollbar values
 */
 
-static void seg_pixel_sizes(XlwScrollBarWidget w, int *above_return, int *ss_return,
-			    int *below_return)
+static void
+seg_pixel_sizes (XlwScrollBarWidget w, int *above_return,
+		 int *ss_return, int *below_return)
 {
   float total, height, fuz;
   int value;
   int above, ss, below;
 
-  height= widget_h(w);
-  if( w->sb.showArrows ) height -= (2*arrow_h(w));
+  height= widget_h (w);
+  if (w->sb.showArrows) height -= (2 * arrow_h (w));
 
   value = w->sb.value - w->sb.minimum;
 
@@ -1032,89 +1020,85 @@
   below = ((height) - (ss + above));
 
   /* Dont' let knob get smaller than SS_MIN */
-  if( ss < SS_MIN )
-      {
-      /* add a percent amount for interger rounding */
-      float tmp = ((((float)(SS_MIN - ss) * (float)value)) / total) + 0.5;
+  if (ss < SS_MIN)
+    {
+      /* add a percent amount for integer rounding */
+      float tmp = ((((float) (SS_MIN - ss) * (float) value)) / total) + 0.5;
 
-      above -= (int)tmp;
+      above -= (int) tmp;
       ss     = SS_MIN;
       below = ((height) - (ss + above));
 
-      if( above < 0 )
-	  {
+      if (above < 0)
+	{
 	  above = 0;
 	  below = height - ss;
-	  }
-      if( below < 0 )
-	  {
+	}
+      if (below < 0)
+	{
 	  above = height - ss;
 	  below = 0;
-	  }
-      if( ss > height )
-	  {
+	}
+      if (ss > height)
+	{
 	  above = 0;
 	  ss    = height;
 	  below = 0;
-	  }
-      }
+	}
+    }
 
   *above_return = above;
   *ss_return    = ss;
   *below_return = below;
 
-  CHECK(w);
+  CHECK (w);
 }
 
-static void verify_values(XlwScrollBarWidget w)
+static void
+verify_values (XlwScrollBarWidget w)
 {
   int total = w->sb.maximum - w->sb.minimum;
 
-  if( w->sb.sliderSize > total )
-      {
+  if (w->sb.sliderSize > total)
       w->sb.sliderSize = total;
-      }
-  if( w->sb.pageIncrement > total )
-      {
+
+  if (w->sb.pageIncrement > total)
       w->sb.pageIncrement = total;
-      }
-  if( w->sb.increment > total )
-      {
+
+  if (w->sb.increment > total)
       w->sb.increment = total;
-      }
-  if( w->sb.value < w->sb.minimum )
-      {
+
+  if (w->sb.value < w->sb.minimum)
       w->sb.value = w->sb.minimum;
-      }
-  if( w->sb.value > w->sb.maximum - w->sb.sliderSize)
-      {
+
+  if (w->sb.value > w->sb.maximum - w->sb.sliderSize)
       w->sb.value = w->sb.maximum - w->sb.sliderSize;
-      }
+
 }
 
-static int value_from_pixel(XlwScrollBarWidget w, int above)
+static int
+value_from_pixel (XlwScrollBarWidget w, int above)
 {
   float total, height, fuz;
   int value, ss;
 
-  height= widget_h(w);
-  if( w->sb.showArrows ) height -= (2*arrow_h(w));
+  height= widget_h (w);
+  if (w->sb.showArrows) height -= (2 * arrow_h (w));
 
   total = w->sb.maximum - w->sb.minimum;
-  fuz   = height / 2;
+  fuz = height / 2;
 
-  ss    = ((height * w->sb.sliderSize + (total / 2)) / total);
+  ss = ((height * w->sb.sliderSize + (total / 2)) / total);
 
-  if( ss < SS_MIN )
-      {
-      /* add a percent amount for interger rounding */
+  if (ss < SS_MIN)
+    {
+      /* add a percent amount for integer rounding */
       above += ((((SS_MIN - ss) * above) + fuz) / height);
-      }
+    }
 
   {
-    /* Prevent SIGFPE's that would occur if we don't truncate the
-       value. */
-    float floatval = w->sb.minimum + ((float)(above * total + fuz ) / height);
+    /* Prevent SIGFPE's that would occur if we don't truncate the value. */
+    float floatval = w->sb.minimum + ((float)(above * total + fuz) / height);
     if (floatval >= (float) INT_MAX)
       value = INT_MAX;
     else if (floatval <= (float) INT_MIN)
@@ -1123,28 +1107,29 @@
       value = floatval;
   }
 
-  return( value );
+  return value;
 }
 
 
-static void redraw_dimple(XlwScrollBarWidget w, Display *dpy, Window win,
-			  int x, int y, int width, int height)
+static void
+redraw_dimple (XlwScrollBarWidget w, Display *dpy, Window win,
+	       int x, int y, int width, int height)
 {
   GC shine, shadow;
   int shadowT, size;
 
-  if( KNOB_DIMPLE == knob_style(w) )
-      {
-      if( w->sb.armed == ARM_KNOB )
-	  {
-	  shine = w->sb.bottomShadowGC;
+  if (KNOB_DIMPLE == knob_style (w))
+    {
+      if (w->sb.armed == ARM_KNOB)
+	{
+	  shine  = w->sb.bottomShadowGC;
 	  shadow = w->sb.topShadowGC;
-	  }
+	}
       else
-	  {
-	  shine = w->sb.topShadowGC;
+	{
+	  shine  = w->sb.topShadowGC;
 	  shadow = w->sb.bottomShadowGC;
-	  }
+	}
 
       shadowT = w->sb.shadowThickness;
 
@@ -1155,241 +1140,247 @@
 
       size = (width < height ? width : height) * 3 / 4;
 
-      if( size%2 != (width < height ? width : height)%2 ) size--;
+      if (size%2 != (width < height ? width : height)%2) size--;
 
-      DBUG (fprintf(stderr, "%d %d\n",
-		    x + (width / 2) - (size / 2) - 2*shadowT,
-		    width - size - shadowT));
+      DBUG (fprintf (stderr, "%d %d\n",
+		     x + (width / 2) - (size / 2) - 2*shadowT,
+		     width - size - shadowT));
 
-      draw_dimple( dpy, win, shine, shadow,
-		   x + (width / 2) - (size / 2),
+      draw_dimple (dpy, win, shine, shadow,
+		   x + (width  / 2) - (size / 2),
 		   y + (height / 2) - (size / 2),
-		   size, size );
-      }
+		   size, size);
+    }
 }
 
-static void draw_knob(XlwScrollBarWidget w, int above, int ss, int below)
+static void
+draw_knob (XlwScrollBarWidget w, int above, int ss, int below)
 {
-  Display *dpy = XtDisplay((Widget)w);
-  Window   win = XtWindow((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
+  Window   win = XtWindow  ((Widget) w);
   int x, y, width, height;
   int shadowT;
 
-  x       = widget_x(w);
-  y       = widget_y(w);
-  width   = widget_w(w);
-  height  = widget_h(w);
+  x       = widget_x (w);
+  y       = widget_y (w);
+  width   = widget_w (w);
+  height  = widget_h (w);
 
   shadowT = w->sb.shadowThickness;
 
-  if(shadowT > (width / 2)) shadowT = (width / 2);
-  if(shadowT > (height / 2)) shadowT = (height / 2);
-  if(shadowT <= 0) return;
+  if (shadowT > (width  / 2)) shadowT = (width  / 2);
+  if (shadowT > (height / 2)) shadowT = (height / 2);
+  if (shadowT <= 0) return;
 
-  if( w->sb.showArrows && !arrow_same_end(w) ) y += (arrow_h(w));
+  if (w->sb.showArrows && !arrow_same_end (w)) y += arrow_h (w);
 
   /* trough above knob */
-  if( above > 0 )
-      {
-      if( VERT(w) )
-	  XClearArea( dpy, win, x, y, width, above, False );
+  if (above > 0)
+    {
+      if (VERT (w))
+	XClearArea (dpy, win, x, y, width, above, False);
       else
-	  XClearArea( dpy, win, y, x, above, width, False );
-      }
+	XClearArea (dpy, win, y, x, above, width, False);
+    }
 
   /* knob */
-  if( VERT(w) )
-      {
-      draw_shadows( dpy, win, w->sb.topShadowGC, w->sb.bottomShadowGC,
+  if (VERT (w))
+    {
+      draw_shadows (dpy, win, w->sb.topShadowGC, w->sb.bottomShadowGC,
 		    x, y + above, width, ss, shadowT);
-      XFillRectangle( dpy, win,
+      XFillRectangle (dpy, win,
 		      w->sb.backgroundGC,
-		      x+shadowT, y + above + shadowT, width-2*shadowT, ss-2*shadowT );
-      redraw_dimple(w, dpy, win, x, y + above, width, ss);
-      }
+		      x+shadowT, y + above + shadowT, width-2*shadowT, ss-2*shadowT);
+      redraw_dimple (w, dpy, win, x, y + above, width, ss);
+    }
   else
-      {
-      draw_shadows( dpy, win, w->sb.topShadowGC, w->sb.bottomShadowGC,
+    {
+      draw_shadows (dpy, win, w->sb.topShadowGC, w->sb.bottomShadowGC,
 		    y + above, x, ss, width, shadowT);
-      XFillRectangle( dpy, win,
+      XFillRectangle (dpy, win,
 		      w->sb.backgroundGC,
-		      y + above + shadowT, x+shadowT, ss-2*shadowT, width-2*shadowT );
-      redraw_dimple(w, dpy, win, y + above, x, ss, width);
-      }
+		      y + above + shadowT, x+shadowT, ss-2*shadowT, width-2*shadowT);
+      redraw_dimple (w, dpy, win, y + above, x, ss, width);
+    }
 
   /* trough below knob */
-  if( below > 0 )
-      {
-      if( VERT(w) )
-	  XClearArea( dpy, win, x, y + above + ss, width, below, False );
+  if (below > 0)
+    {
+      if (VERT (w))
+	XClearArea (dpy, win, x, y + above + ss, width, below, False);
       else
-	  XClearArea( dpy, win, y + above + ss, x, below, width, False );
-      }
+	XClearArea (dpy, win, y + above + ss, x, below, width, False);
+    }
 
-  CHECK(w);
+  CHECK (w);
 }
 
-static void redraw_up_arrow(XlwScrollBarWidget w, Boolean armed, Boolean clear_behind)
+static void
+redraw_up_arrow (XlwScrollBarWidget w, Boolean armed, Boolean clear_behind)
 {
-  Display *dpy = XtDisplay((Widget)w);
-  Window   win = XtWindow((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
+  Window   win = XtWindow  ((Widget) w);
   GC bg, shine, shadow;
   int x, y, width, height, arrow_height, shadowT;
 
-  x       = widget_x(w);
-  y       = widget_y(w);
-  width   = widget_w(w);
-  height  = widget_h(w);
-  arrow_height = arrow_h(w);
+  x       = widget_x (w);
+  y       = widget_y (w);
+  width   = widget_w (w);
+  height  = widget_h (w);
+  arrow_height = arrow_h (w);
 
   shadowT = w->sb.shadowThickness;
   bg      = w->sb.backgroundGC;
 
-  if( armed )
-      {
+  if (armed)
+    {
       shine   = w->sb.bottomShadowGC;
       shadow  = w->sb.topShadowGC;
-      }
+    }
   else
-      {
+    {
       shine   = w->sb.topShadowGC;
       shadow  = w->sb.bottomShadowGC;
-      }
+    }
 
-  if( VERT(w) )
-      {
-      if( arrow_same_end(w) )
-	  {
-	  y += height - 2*arrow_h(w) + 2;
-	  }
-      if( clear_behind )
-	  XClearArea( dpy, win, x, y, width, arrow_height + 1, False );
-      draw_arrow_up( dpy, win, bg, shine, shadow,
+  if (VERT (w))
+    {
+      if (arrow_same_end (w))
+	{
+	  y += height - 2 * arrow_h (w) + 2;
+	}
+      if (clear_behind)
+	XClearArea (dpy, win, x, y, width, arrow_height + 1, False);
+      draw_arrow_up (dpy, win, bg, shine, shadow,
 		     x + (width - arrow_height)/2, y,
-		     arrow_height, arrow_height, shadowT );
-      }
+		     arrow_height, arrow_height, shadowT);
+    }
   else
-      {
-      if( arrow_same_end(w) )
-	  {
-	  y += height - 2*arrow_h(w);
-	  }
-      if( clear_behind )
-	  XClearArea( dpy, win, y, x, arrow_height + 1, height, False );
-      draw_arrow_left( dpy, win, bg, shine, shadow,
+    {
+      if (arrow_same_end (w))
+	{
+	  y += height - 2 * arrow_h (w);
+	}
+      if (clear_behind)
+	XClearArea (dpy, win, y, x, arrow_height + 1, height, False);
+      draw_arrow_left (dpy, win, bg, shine, shadow,
 		       y, x + (width - arrow_height)/2,
-		       arrow_height, arrow_height, shadowT );
-      }
+		       arrow_height, arrow_height, shadowT);
+    }
 }
 
-static void redraw_down_arrow(XlwScrollBarWidget w, Boolean armed, Boolean clear_behind)
+static void
+redraw_down_arrow (XlwScrollBarWidget w, Boolean armed, Boolean clear_behind)
 {
-  Display *dpy = XtDisplay((Widget)w);
-  Window   win = XtWindow((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
+  Window   win = XtWindow  ((Widget) w);
   GC bg, shine, shadow;
   int x, y, width, height, arrow_height, shadowT;
 
-  x       = widget_x(w);
-  y       = widget_y(w);
-  width   = widget_w(w);
-  height  = widget_h(w);
-  arrow_height = arrow_h(w);
+  x       = widget_x (w);
+  y       = widget_y (w);
+  width   = widget_w (w);
+  height  = widget_h (w);
+  arrow_height = arrow_h (w);
 
   shadowT = w->sb.shadowThickness;
   bg      = w->sb.backgroundGC;
 
-  if( armed )
-      {
-      shine   = w->sb.bottomShadowGC;
-      shadow  = w->sb.topShadowGC;
-      }
+  if (armed)
+    {
+      shine  = w->sb.bottomShadowGC;
+      shadow = w->sb.topShadowGC;
+    }
   else
-      {
-      shine   = w->sb.topShadowGC;
-      shadow  = w->sb.bottomShadowGC;
-      }
+    {
+      shine  = w->sb.topShadowGC;
+      shadow = w->sb.bottomShadowGC;
+    }
 
-  if( VERT(w) )
-      {
-      if( clear_behind )
-	  XClearArea( dpy, win, x, y + height - arrow_height, width, arrow_height + 1, False );
-      draw_arrow_down( dpy, win, bg, shine, shadow,
-		       x + (width - arrow_height)/2, y + height - arrow_height + 1,
-		       arrow_height, arrow_height, shadowT );
-      }
+  if (VERT (w))
+    {
+      if (clear_behind)
+	XClearArea (dpy, win, x, y + height - arrow_height, width,
+		    arrow_height + 1, False);
+      draw_arrow_down (dpy, win, bg, shine, shadow,
+		       x + (width - arrow_height)/2,
+		       y + height - arrow_height + 1,
+		       arrow_height, arrow_height, shadowT);
+    }
   else
-      {
-      if( clear_behind )
-	  XClearArea( dpy, win, y + height - arrow_height, x, arrow_height + 1, height, False );
-      draw_arrow_right( dpy, win, bg, shine, shadow,
-			y + height - arrow_height + 1, x + (width - arrow_height)/2,
-			arrow_height, arrow_height, shadowT );
-      }
+    {
+      if (clear_behind)
+	XClearArea (dpy, win, y + height - arrow_height, x,
+		    arrow_height + 1, height, False);
+      draw_arrow_right (dpy, win, bg, shine, shadow,
+			y + height - arrow_height + 1,
+			x + (width - arrow_height)/2,
+			arrow_height, arrow_height, shadowT);
+    }
 }
 
-static void redraw_everything(XlwScrollBarWidget w, Region region, Boolean behind_arrows)
+static void
+redraw_everything (XlwScrollBarWidget w, Region region, Boolean behind_arrows)
 {
-  Display *dpy = XtDisplay((Widget)w);
-  Window   win = XtWindow((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
+  Window   win = XtWindow  ((Widget) w);
   int x, y, width, height, shadowT, tmp;
 
-  x       = widget_x(w);
-  y       = widget_y(w);
-  width   = widget_w(w);
-  height  = widget_h(w);
+  x       = widget_x (w);
+  y       = widget_y (w);
+  width   = widget_w (w);
+  height  = widget_h (w);
   shadowT = w->sb.shadowThickness;
 
-  if( w->sb.showArrows )
-      {
-      if( region == NULL || XRectInRegion( region, x, y, width, width ) )
-	  {
-	  redraw_up_arrow( w, False, behind_arrows );
-	  }
-      if( VERT(w) )
-	  {
+  if (w->sb.showArrows)
+    {
+      if (region == NULL || XRectInRegion (region, x, y, width, width))
+	{
+	  redraw_up_arrow (w, False, behind_arrows);
+	}
+      if (VERT (w))
+	{
 	  y = y + height - width + 1;
-	  }
+	}
       else
-	  {
+	{
 	  tmp = y;
 	  y = x;
 	  x = tmp + height - width + 1;
-	  }
-      if( region == NULL || XRectInRegion( region, x, y, width, width ) )
-	  {
-	  redraw_down_arrow( w, False, behind_arrows );
-	  }
-      }
+	}
+      if (region == NULL || XRectInRegion (region, x, y, width, width))
+	{
+	  redraw_down_arrow (w, False, behind_arrows);
+	}
+    }
 
-  draw_shadows( dpy, win, w->sb.bottomShadowGC, w->sb.topShadowGC,
+  draw_shadows (dpy, win, w->sb.bottomShadowGC, w->sb.topShadowGC,
 		0, 0, w->core.width, w->core.height, shadowT);
 
-  draw_knob( w, w->sb.above, w->sb.ss, w->sb.below );
+  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
 }
 
 /************************************************************************
 **
-** Method funcitons
+** Method functions
 **
 */
 
-/*
-** Initialize
-*/
-static void Initialize(Widget treq, Widget tnew, ArgList args, Cardinal *num_args)
+static void
+Initialize (Widget treq, Widget tnew, ArgList args, Cardinal *num_args)
 {
   XlwScrollBarWidget request = (XlwScrollBarWidget) treq;
   XlwScrollBarWidget w = (XlwScrollBarWidget) tnew;
-  Display *dpy = XtDisplay((Widget)w);
-  Window win = RootWindowOfScreen( DefaultScreenOfDisplay(dpy) );
+  Display *dpy = XtDisplay ((Widget) w);
+  Window win = RootWindowOfScreen (DefaultScreenOfDisplay (dpy));
 
-  DBUG(fprintf(stderr, "Initialize\n"));
+  DBUG (fprintf (stderr, "Initialize\n"));
 
-  if( request->core.width == 0 ) w->core.width += (VERT(w) ? 12 : 25);
-  if( request->core.height == 0 ) w->core.height += (VERT(w) ? 25 : 12);
+  if (request->core.width  == 0) w->core.width  += (VERT (w) ? 12 : 25);
+  if (request->core.height == 0) w->core.height += (VERT (w) ? 25 : 12);
 
-  verify_values(w);
+  verify_values (w);
 
   w->sb.lastY = 0;
   w->sb.above = 0;
@@ -1397,456 +1388,469 @@
   w->sb.below = 0;
   w->sb.armed = ARM_NONE;
 
-  if( w->sb.shadowThickness > 5 ) w->sb.shadowThickness = 5;
+  if (w->sb.shadowThickness > 5) w->sb.shadowThickness = 5;
 
   w->sb.grayPixmap =
-      XCreatePixmapFromBitmapData( dpy, win, (char *) gray_bits, gray_width,
-				   gray_height, 1, 0, 1);
+    XCreatePixmapFromBitmapData (dpy, win, (char *) gray_bits, gray_width,
+				 gray_height, 1, 0, 1);
 
-  make_trough_pixel( w );
+  make_trough_pixel (w);
+
+  make_shadow_pixels (w);
 
-  make_shadow_pixels( w );
-
-  w->sb.backgroundGC   = get_gc(w, w->core.background_pixel, w->core.background_pixel, None);
-  w->sb.topShadowGC    = get_gc(w, w->sb.topShadowColor, w->core.background_pixel, w->sb.topShadowPixmap);
-  w->sb.bottomShadowGC = get_gc(w, w->sb.bottomShadowColor, w->core.background_pixel, w->sb.bottomShadowPixmap);
+  w->sb.backgroundGC =
+    get_gc (w, w->core.background_pixel, w->core.background_pixel, None);
+  w->sb.topShadowGC =
+    get_gc (w, w->sb.topShadowColor, w->core.background_pixel,
+	    w->sb.topShadowPixmap);
+  w->sb.bottomShadowGC =
+    get_gc (w, w->sb.bottomShadowColor, w->core.background_pixel,
+	    w->sb.bottomShadowPixmap);
 
   w->sb.fullRedrawNext = True;
+
+  w->sb.timerActive = False;
 }
 
-/*
-** Destroy
-*/
-static void Destroy(Widget widget)
+static void
+Destroy (Widget widget)
 {
   XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
-  Display *dpy = XtDisplay((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
 
-  DBUG(fprintf(stderr, "Destroy\n"));
+  DBUG (fprintf (stderr, "Destroy\n"));
 
-  XtReleaseGC(widget, w->sb.bottomShadowGC);
-  XtReleaseGC(widget, w->sb.topShadowGC);
-  XtReleaseGC(widget, w->sb.backgroundGC);
+  XtReleaseGC (widget, w->sb.bottomShadowGC);
+  XtReleaseGC (widget, w->sb.topShadowGC);
+  XtReleaseGC (widget, w->sb.backgroundGC);
 
-  XFreePixmap( dpy, w->sb.grayPixmap );
+  XFreePixmap (dpy, w->sb.grayPixmap);
+
+  if (w->sb.timerActive)
+    XtRemoveTimeOut (w->sb.timerId);
 }
 
-/*
-** Realize
-*/
-static void Realize(Widget widget, XtValueMask *valuemask, XSetWindowAttributes *attr)
+static void
+Realize (Widget widget, XtValueMask *valuemask, XSetWindowAttributes *attr)
 {
   XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
-  Display *dpy = XtDisplay((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
   Window win;
   XSetWindowAttributes win_attr;
 
-  DBUG(fprintf(stderr, "Realize\n"));
+  DBUG (fprintf (stderr, "Realize\n"));
 
   (*coreClassRec.core_class.realize)(widget, valuemask, attr);
 
-  win = XtWindow((Widget)w);
+  win = XtWindow ((Widget) w);
 
-  seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
+  seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
 
-  XSetWindowBackground( dpy, win, w->sb.troughColor);
+  XSetWindowBackground (dpy, win, w->sb.troughColor);
 
   /* Change bit gravity so widget is not cleared on resize */
   win_attr.bit_gravity   = NorthWestGravity;
-  XChangeWindowAttributes( dpy, win, CWBitGravity , &win_attr);
+  XChangeWindowAttributes (dpy, win, CWBitGravity , &win_attr);
 
 }
 
-/*
-** Resize
-*/
-static void Resize(Widget widget)
+static void
+Resize (Widget widget)
 {
   XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
-  Display *dpy = XtDisplay((Widget)w);
-  Window win = XtWindow((Widget)w);
+  Display *dpy = XtDisplay ((Widget) w);
+  Window win   = XtWindow  ((Widget) w);
 
-  if( XtIsRealized(widget) )
-      {
-      DBUG(fprintf(stderr, "Resize = %08lx\n", w));
+  if (XtIsRealized (widget))
+    {
+      DBUG (fprintf (stderr, "Resize = %08lx\n", w));
 
-      seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
+      seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
 
       /*redraw_everything(w, NULL, True);*/
 
       w->sb.fullRedrawNext = True;
       /* Force expose event */
-      XClearArea(dpy, win, widget_x(w), widget_y(w), 1, 1, True);
-      }
+      XClearArea (dpy, win, widget_x(w), widget_y(w), 1, 1, True);
+    }
 }
 
-/*
-** Redisplay
-*/
-static void Redisplay(Widget widget, XEvent *event, Region region)
+static void
+Redisplay (Widget widget, XEvent *event, Region region)
 {
   XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
 
-  DBUG(fprintf(stderr, "Redisplay = %08lx\n", w));
+  DBUG (fprintf (stderr, "Redisplay = %08lx\n", w));
 
-  if( XtIsRealized(widget) )
-      {
-      if( w->sb.fullRedrawNext )
-	  {
-	  redraw_everything(w, NULL, True);
-	  }
+  if (XtIsRealized (widget))
+    {
+      if (w->sb.fullRedrawNext)
+	{
+	  redraw_everything (w, NULL, True);
+	}
       else
-	  {
-	  redraw_everything(w, region, False);
-	  }
+	{
+	  redraw_everything (w, region, False);
+	}
       w->sb.fullRedrawNext = False;
-      }
+    }
 }
 
-/*
-** SetValues
-*/
-static Boolean SetValues(Widget current, Widget request, Widget neww, ArgList args, Cardinal *num_args)
+static Boolean
+SetValues (Widget current, Widget request, Widget neww,
+	   ArgList args, Cardinal *num_args)
 {
   XlwScrollBarWidget cur = (XlwScrollBarWidget) current;
   XlwScrollBarWidget w = (XlwScrollBarWidget) neww;
   Boolean do_redisplay = False;
 
-  if( cur->sb.troughColor != w->sb.troughColor )
-      {
-      if( XtIsRealized((Widget)w) )
-	  {
-	  XSetWindowBackground( XtDisplay((Widget)w), XtWindow((Widget)w),
+  if (cur->sb.troughColor != w->sb.troughColor)
+    {
+      if (XtIsRealized ((Widget) w))
+	{
+	  XSetWindowBackground (XtDisplay((Widget) w), XtWindow ((Widget) w),
 				w->sb.troughColor);
 	  do_redisplay = True;
-	  }
-      }
+	}
+    }
 
-  if( cur->core.background_pixel != w->core.background_pixel )
-      {
-      XtReleaseGC((Widget)cur, cur->sb.backgroundGC);
-      w->sb.backgroundGC = get_gc(w, w->core.background_pixel, w->core.background_pixel, None);
+  if (cur->core.background_pixel != w->core.background_pixel)
+    {
+      XtReleaseGC ((Widget)cur, cur->sb.backgroundGC);
+      w->sb.backgroundGC =
+	get_gc (w, w->core.background_pixel, w->core.background_pixel, None);
       do_redisplay = True;
-      }
+    }
 
-  if( cur->sb.topShadowColor != w->sb.topShadowColor ||
-      cur->sb.topShadowPixmap != w->sb.topShadowPixmap )
-      {
-      XtReleaseGC((Widget)cur, cur->sb.topShadowGC);
-      w->sb.topShadowGC = get_gc(w, w->sb.topShadowColor, w->core.background_pixel, w->sb.topShadowPixmap);
+  if (cur->sb.topShadowColor != w->sb.topShadowColor ||
+      cur->sb.topShadowPixmap != w->sb.topShadowPixmap)
+    {
+      XtReleaseGC ((Widget)cur, cur->sb.topShadowGC);
+      w->sb.topShadowGC =
+	get_gc (w, w->sb.topShadowColor, w->core.background_pixel,
+		w->sb.topShadowPixmap);
       do_redisplay = True;
-      }
+    }
 
-  if( cur->sb.bottomShadowColor != w->sb.bottomShadowColor ||
-      cur->sb.bottomShadowPixmap != w->sb.bottomShadowPixmap )
-      {
-      XtReleaseGC((Widget)cur, cur->sb.bottomShadowGC);
-      w->sb.bottomShadowGC = get_gc(w, w->sb.bottomShadowColor, w->core.background_pixel, w->sb.bottomShadowPixmap);
+  if (cur->sb.bottomShadowColor != w->sb.bottomShadowColor ||
+      cur->sb.bottomShadowPixmap != w->sb.bottomShadowPixmap)
+    {
+      XtReleaseGC ((Widget)cur, cur->sb.bottomShadowGC);
+      w->sb.bottomShadowGC =
+	get_gc (w, w->sb.bottomShadowColor, w->core.background_pixel,
+		w->sb.bottomShadowPixmap);
       do_redisplay = True;
-      }
+    }
 
-  if( cur->sb.orientation != w->sb.orientation )
-      {
+  if (cur->sb.orientation != w->sb.orientation)
+    {
       do_redisplay = True;
-      }
+    }
 
 
-  if( cur->sb.minimum       != w->sb.minimum       ||
+  if (cur->sb.minimum       != w->sb.minimum       ||
       cur->sb.maximum       != w->sb.maximum       ||
       cur->sb.sliderSize    != w->sb.sliderSize    ||
       cur->sb.value         != w->sb.value         ||
       cur->sb.pageIncrement != w->sb.pageIncrement ||
-      cur->sb.increment     != w->sb.increment )
-      {
-      verify_values(w);
-      if( XtIsRealized((Widget)w) )
-	  {
-	  seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
-	  draw_knob( w, w->sb.above, w->sb.ss, w->sb.below );
-	  }
-      }
+      cur->sb.increment     != w->sb.increment)
+    {
+      verify_values (w);
+      if (XtIsRealized ((Widget) w))
+	{
+	  seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
+	  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
+	}
+    }
 
-  if( w->sb.shadowThickness > 5 ) w->sb.shadowThickness = 5;
+  if (w->sb.shadowThickness > 5) w->sb.shadowThickness = 5;
 
-  return( do_redisplay );
+  return do_redisplay;
 }
 
-void XlwScrollBarGetValues(Widget widget, int *value, int *sliderSize,
-			   int *increment, int *pageIncrement)
+void
+XlwScrollBarGetValues (Widget widget, int *value, int *sliderSize,
+		       int *increment, int *pageIncrement)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
 
-  if( w && XtClass((Widget)w) == xlwScrollBarWidgetClass )
-      {
-      if( value )         *value         = w->sb.value;
-      if( sliderSize )    *sliderSize    = w->sb.sliderSize;
-      if( increment )     *increment     = w->sb.increment;
-      if( pageIncrement ) *pageIncrement = w->sb.pageIncrement;
-      }
+  if (w && XtClass ((Widget) w) == xlwScrollBarWidgetClass)
+    {
+      if (value)         *value         = w->sb.value;
+      if (sliderSize)    *sliderSize    = w->sb.sliderSize;
+      if (increment)     *increment     = w->sb.increment;
+      if (pageIncrement) *pageIncrement = w->sb.pageIncrement;
+    }
 }
 
-void XlwScrollBarSetValues(Widget widget, int value, int sliderSize,
-			   int increment, int pageIncrement, Boolean notify)
+void
+XlwScrollBarSetValues (Widget widget, int value, int sliderSize,
+		       int increment, int pageIncrement, Boolean notify)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
   int last_value;
 
-  if( w && XtClass((Widget)w) == xlwScrollBarWidgetClass &&
+  if (w && XtClass ((Widget) w) == xlwScrollBarWidgetClass &&
       (w->sb.value         != value         ||
        w->sb.sliderSize    != sliderSize    ||
        w->sb.increment     != increment     ||
-       w->sb.pageIncrement != pageIncrement ))
-      {
+       w->sb.pageIncrement != pageIncrement))
+    {
       w->sb.value         = value;
       w->sb.sliderSize    = sliderSize;
       w->sb.increment     = increment;
       w->sb.pageIncrement = pageIncrement;
 
-      verify_values(w);
+      verify_values (w);
 
-      if( XtIsRealized(widget) )
-	  {
-	  seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
+      if (XtIsRealized (widget))
+	{
+	  seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
+	  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
 	  last_value  = w->sb.value;
-	  w->sb.value = value_from_pixel(w, w->sb.above);
-	  verify_values(w);
+	  w->sb.value = value_from_pixel (w, w->sb.above);
+	  verify_values (w);
 
-	  if( w->sb.value != last_value && notify )
-	      {
-	      call_callbacks( w, XmCR_VALUE_CHANGED, w->sb.value, 0, NULL );
-	      }
-	  }
-      }
+	  if (w->sb.value != last_value && notify)
+	    {
+	      call_callbacks (w, XmCR_VALUE_CHANGED, w->sb.value, 0, NULL);
+	    }
+	}
+    }
 }
 
 /************************************************************************
 **
-** Action funcitons
+** Action functions
 **
 */
 
-static void timer(XtPointer data, XtIntervalId *id)
+static void
+timer (XtPointer data, XtIntervalId *id)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)data;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) data;
   int reason, last_value;
+  
+  w->sb.timerActive = False;
 
-  if( w->sb.armed != ARM_NONE )
-      {
+  if (w->sb.armed != ARM_NONE)
+    {
       last_value = w->sb.value;
       reason     = XmCR_NONE;
 
-      switch( w->sb.armed )
-	  {
-	  case ARM_PAGEUP:
-	      w->sb.value = safe_subtract( w->sb.value, w->sb.pageIncrement );
-	      reason = XmCR_PAGE_DECREMENT;
-	      break;
-	  case ARM_PAGEDOWN:
-	      w->sb.value = safe_add( w->sb.value, w->sb.pageIncrement );
-	      reason = XmCR_PAGE_INCREMENT;
-	      break;
-	  case ARM_UP:
-	      w->sb.value = safe_subtract( w->sb.value, w->sb.increment );
-	      reason = XmCR_DECREMENT;
-	      break;
-	  case ARM_DOWN:
-	      w->sb.value = safe_add( w->sb.value, w->sb.increment );
-	      reason = XmCR_INCREMENT;
-	      break;
-	  }
+      switch (w->sb.armed)
+	{
+	case ARM_PAGEUP:
+	  w->sb.value = safe_subtract (w->sb.value, w->sb.pageIncrement);
+	  reason = XmCR_PAGE_DECREMENT;
+	  break;
+	case ARM_PAGEDOWN:
+	  w->sb.value = safe_add (w->sb.value, w->sb.pageIncrement);
+	  reason = XmCR_PAGE_INCREMENT;
+	  break;
+	case ARM_UP:
+	  w->sb.value = safe_subtract (w->sb.value, w->sb.increment);
+	  reason = XmCR_DECREMENT;
+	  break;
+	case ARM_DOWN:
+	  w->sb.value = safe_add (w->sb.value, w->sb.increment);
+	  reason = XmCR_INCREMENT;
+	  break;
+	}
 
-      verify_values(w);
+      verify_values (w);
+
+      if (last_value != w->sb.value)
+	{
+	  seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
+	  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
-      if( last_value != w->sb.value )
-	  {
-	  seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
-	  
-	  call_callbacks( w, reason, w->sb.value, 0, NULL );
+	  call_callbacks (w, reason, w->sb.value, 0, NULL);
 
-	  XtAppAddTimeOut( XtWidgetToApplicationContext((Widget)w),
-			   (unsigned long) w->sb.repeatDelay,
-			   timer,  (XtPointer) w );
-	  }
-      }
+	  w->sb.timerId =
+	    XtAppAddTimeOut (XtWidgetToApplicationContext ((Widget) w),
+			     (unsigned long) w->sb.repeatDelay,
+			     timer,  (XtPointer) w);
+	  w->sb.timerActive = True;
+	}
+    }
 }
 
-static int what_button(XlwScrollBarWidget w, int mouse_x, int mouse_y)
+static int
+what_button (XlwScrollBarWidget w, int mouse_x, int mouse_y)
 {
   int x, y, width, height, arrow_height_top, arrow_height_bottom;
   int where;
 
-  x       = widget_x(w);
-  y       = widget_y(w);
-  width   = widget_w(w);
-  height  = widget_h(w);
+  x       = widget_x (w);
+  y       = widget_y (w);
+  width   = widget_w (w);
+  height  = widget_h (w);
 
 #if 0
-  arrow_height = w->sb.showArrows ? arrow_h(w) : 0;
+  arrow_height = w->sb.showArrows ? arrow_h (w) : 0;
 #endif
-  if( w->sb.showArrows )
-      {
-      if( arrow_same_end(w) )
-	  {
+  if (w->sb.showArrows)
+    {
+      if (arrow_same_end (w))
+	{
 	  arrow_height_top = 0;
-	  arrow_height_bottom = 2*arrow_h(w);
-	  }
+	  arrow_height_bottom = 2 * arrow_h (w);
+	}
       else
-	  {
-	  arrow_height_top = arrow_height_bottom = arrow_h(w);
-	  }
-      }
+	{
+	  arrow_height_top = arrow_height_bottom = arrow_h (w);
+	}
+    }
   else
-      {
+    {
       arrow_height_top = arrow_height_bottom = 0;
-      }
+    }
 
   where = BUTTON_NONE;
 
-  if( mouse_x > x && mouse_x < (x + width) )
-      {
-      if( mouse_y > (y + arrow_height_top) && mouse_y < (y + height - arrow_height_bottom) )
-	  {
-	  if( mouse_y < (y + w->sb.above + arrow_height_top) )
-	      {
+  if (mouse_x > x && mouse_x < (x + width))
+    {
+      if (mouse_y > (y + arrow_height_top) &&
+	  mouse_y < (y + height - arrow_height_bottom))
+	{
+	  if (mouse_y < (y + w->sb.above + arrow_height_top))
+	    {
 	      where = BUTTON_TROUGH_ABOVE;
-	      }
-	  else if( mouse_y > (y + w->sb.above + w->sb.ss + arrow_height_top) )
-	      {
+	    }
+	  else if (mouse_y > (y + w->sb.above + w->sb.ss + arrow_height_top))
+	    {
 	      where = BUTTON_TROUGH_BELOW;
-	      }
+	    }
 	  else
-	      {
+	    {
 	      where = BUTTON_KNOB;
-	      }
-	  }
-      else if( arrow_same_end(w) )
-	  {
-	  if( mouse_y > (y + height - arrow_height_bottom + 1) && mouse_y < (y + height) )
-	      {
-	      if( mouse_y < (y + height - arrow_height_bottom/2) )
-		  {
+	    }
+	}
+      else if (arrow_same_end (w))
+	{
+	  if (mouse_y > (y + height - arrow_height_bottom + 1) &&
+	      mouse_y < (y + height))
+	    {
+	      if (mouse_y < (y + height - arrow_height_bottom/2))
+		{
 		  where = BUTTON_UP_ARROW;
-		  }
+		}
 	      else
-		  {
+		{
 		  where = BUTTON_DOWN_ARROW;
-		  }
-	      }
-	  }
+		}
+	    }
+	}
       else
-	  {
-	  if( mouse_y > y && mouse_y < (y + arrow_height_top) )
-	      {
+	{
+	  if (mouse_y > y && mouse_y < (y + arrow_height_top))
+	    {
 	      where = BUTTON_UP_ARROW;
-	      }
-	  else if( mouse_y > (y + height - arrow_height_bottom + 1) && mouse_y < (y + height) )
-	      {
+	    }
+	  else if (mouse_y > (y + height - arrow_height_bottom + 1) &&
+		   mouse_y < (y + height))
+	    {
 	      where = BUTTON_DOWN_ARROW;
-	      }
-	  }
-      }
+	    }
+	}
+    }
 #if 0
-  if( mouse_x > x && mouse_x < (x + width) )
-      {
-      if( mouse_y > (y + arrow_height) && mouse_y < (y + height - arrow_height) )
-	  {
-	  if( mouse_y < (y+w->sb.above+arrow_height) )
-	      {
+  if (mouse_x > x && mouse_x < (x + width))
+    {
+      if (mouse_y > (y + arrow_height) && mouse_y < (y + height - arrow_height))
+	{
+	  if (mouse_y < (y+w->sb.above+arrow_height))
+	    {
 	      where = BUTTON_TROUGH_ABOVE;
-	      }
-	  else if( mouse_y > (y + w->sb.above + w->sb.ss + arrow_height) )
-	      {
+	    }
+	  else if (mouse_y > (y + w->sb.above + w->sb.ss + arrow_height))
+	    {
 	      where = BUTTON_TROUGH_BELOW;
-	      }
+	    }
 	  else
-	      {
+	    {
 	      where = BUTTON_KNOB;
-	      }
-	  }
-      else if( mouse_y > y && mouse_y < (y + arrow_height) )
-	  {
+	    }
+	}
+      else if (mouse_y > y && mouse_y < (y + arrow_height))
+	{
 	  where = BUTTON_UP_ARROW;
-	  }
-      else if( mouse_y > (y + height - arrow_height + 1) && mouse_y < (y + height) )
-	  {
+	}
+      else if (mouse_y > (y + height - arrow_height + 1) &&
+	       mouse_y < (y + height))
+	{
 	  where = BUTTON_DOWN_ARROW;
-	  }
-      }
+	}
+    }
 #endif
-  return( where );
+  return where;
 }
 
-#define FORCED_SCROLL_NONE		0
+#define FORCED_SCROLL_NONE	0
 #define FORCED_SCROLL_DOWNRIGHT	1
 #define FORCED_SCROLL_UPLEFT	2
 
 int forced_scroll_flag = FORCED_SCROLL_NONE;
 
-/*
-** PageDownOrRight
-*/
-static void PageDownOrRight(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+PageDownOrRight (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
   forced_scroll_flag = FORCED_SCROLL_DOWNRIGHT;
-  Select(widget, event, parms, num_parms);
+  Select (widget, event, parms, num_parms);
   forced_scroll_flag = FORCED_SCROLL_NONE;
 }
 
-/*
-** PageUpOrLeft
-*/
-static void PageUpOrLeft(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+PageUpOrLeft (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
   forced_scroll_flag = FORCED_SCROLL_UPLEFT;
-  Select(widget, event, parms, num_parms);
+  Select (widget, event, parms, num_parms);
   forced_scroll_flag = FORCED_SCROLL_NONE;
 }
 
-/*
-** Select
-*/
-static void Select(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+Select (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
   int mouse_x, mouse_y;
   int reason, last_value;
   int sb_button;
 
-  DBUG(fprintf(stderr, "Select:\n"));
+  DBUG (fprintf (stderr, "Select:\n"));
 
-  mouse_x = event_x( w, event );
-  mouse_y = event_y( w, event );
+  mouse_x = event_x (w, event);
+  mouse_y = event_y (w, event);
 
   w->sb.savedValue = w->sb.value;
 
   last_value = w->sb.value;
   reason     = XmCR_NONE;
 
-  XtGrabKeyboard( (Widget)w, False, GrabModeAsync, GrabModeAsync, event->xbutton.time );
-
-  sb_button = what_button(w, mouse_x, mouse_y);
+  XtGrabKeyboard ((Widget) w, False, GrabModeAsync, GrabModeAsync,
+		  event->xbutton.time);
 
-  if ( forced_scroll_flag != FORCED_SCROLL_NONE )
+  sb_button = what_button (w, mouse_x, mouse_y);
+
+  if (forced_scroll_flag != FORCED_SCROLL_NONE)
     {
-      switch ( sb_button )
+      switch  (sb_button)
 	{
 	case BUTTON_TROUGH_ABOVE:
 	case BUTTON_TROUGH_BELOW:
 	case BUTTON_KNOB:
 	  sb_button= BUTTON_NONE; /* cause next switch to fall through */
-	  if ( forced_scroll_flag == FORCED_SCROLL_UPLEFT )
+	  if (forced_scroll_flag == FORCED_SCROLL_UPLEFT)
 	    {
-	      w->sb.value = safe_subtract( w->sb.value, w->sb.pageIncrement );
+	      w->sb.value = safe_subtract (w->sb.value, w->sb.pageIncrement);
 	      w->sb.armed = ARM_PAGEUP;
 	      reason      = XmCR_PAGE_DECREMENT;
 	      break;
 	    }
-	  else if ( forced_scroll_flag == FORCED_SCROLL_DOWNRIGHT )
+	  else if (forced_scroll_flag == FORCED_SCROLL_DOWNRIGHT)
 	    {
-	      w->sb.value = safe_add( w->sb.value, w->sb.pageIncrement );
+	      w->sb.value = safe_add (w->sb.value, w->sb.pageIncrement);
 	      w->sb.armed = ARM_PAGEDOWN;
 	      reason      = XmCR_PAGE_INCREMENT;
 	      break;
@@ -1855,277 +1859,271 @@
 	}
     }
 
-  switch( sb_button )
-      {
-      case BUTTON_TROUGH_ABOVE:
-	  w->sb.value = safe_subtract( w->sb.value, w->sb.pageIncrement );
-	  w->sb.armed = ARM_PAGEUP;
-	  reason      = XmCR_PAGE_DECREMENT;
-	  break;
-      case BUTTON_TROUGH_BELOW:
-	  w->sb.value = safe_add( w->sb.value, w->sb.pageIncrement );
-	  w->sb.armed = ARM_PAGEDOWN;
-	  reason      = XmCR_PAGE_INCREMENT;
-	  break;
-      case BUTTON_KNOB:
-	  w->sb.lastY = mouse_y;
-	  w->sb.armed = ARM_KNOB;
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
-	  break;
-      case BUTTON_UP_ARROW:
-	  if( event->xbutton.state & ControlMask )
-	      {
-	      w->sb.value = INT_MIN;
-	      w->sb.armed = ARM_UP;
-	      reason      = XmCR_TO_TOP;
-	      }
-	  else
-	      {
-	      w->sb.value = safe_subtract( w->sb.value, w->sb.increment );
-	      w->sb.armed = ARM_UP;
-	      reason      = XmCR_DECREMENT;
-	      }
-	  redraw_up_arrow(w, True, False);
-	  break;
-      case BUTTON_DOWN_ARROW:
-	  if( event->xbutton.state & ControlMask )
-	      {
-	      w->sb.value = INT_MAX;
-	      w->sb.armed = ARM_DOWN;
-	      reason      = XmCR_TO_BOTTOM;
-	      }
-	  else
-	      {
-	      w->sb.value = safe_add( w->sb.value, w->sb.increment );
-	      w->sb.armed = ARM_DOWN;
-	      reason      = XmCR_INCREMENT;
-	      }
-	  redraw_down_arrow(w, True, False);
-	  break;
-      }
+  switch (sb_button)
+    {
+    case BUTTON_TROUGH_ABOVE:
+      w->sb.value = safe_subtract (w->sb.value, w->sb.pageIncrement);
+      w->sb.armed = ARM_PAGEUP;
+      reason      = XmCR_PAGE_DECREMENT;
+      break;
+    case BUTTON_TROUGH_BELOW:
+      w->sb.value = safe_add (w->sb.value, w->sb.pageIncrement);
+      w->sb.armed = ARM_PAGEDOWN;
+      reason      = XmCR_PAGE_INCREMENT;
+      break;
+    case BUTTON_KNOB:
+      w->sb.lastY = mouse_y;
+      w->sb.armed = ARM_KNOB;
+      draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
+      break;
+    case BUTTON_UP_ARROW:
+      if (event->xbutton.state & ControlMask)
+	{
+	  w->sb.value = INT_MIN;
+	  w->sb.armed = ARM_UP;
+	  reason      = XmCR_TO_TOP;
+	}
+      else
+	{
+	  w->sb.value = safe_subtract (w->sb.value, w->sb.increment);
+	  w->sb.armed = ARM_UP;
+	  reason      = XmCR_DECREMENT;
+	}
+      redraw_up_arrow (w, True, False);
+      break;
+    case BUTTON_DOWN_ARROW:
+      if (event->xbutton.state & ControlMask)
+	{
+	  w->sb.value = INT_MAX;
+	  w->sb.armed = ARM_DOWN;
+	  reason      = XmCR_TO_BOTTOM;
+	}
+      else
+	{
+	  w->sb.value = safe_add (w->sb.value, w->sb.increment);
+	  w->sb.armed = ARM_DOWN;
+	  reason      = XmCR_INCREMENT;
+	}
+      redraw_down_arrow (w, True, False);
+      break;
+    }
 
-  verify_values(w);
+  verify_values (w);
 
-  if( last_value != w->sb.value )
-      {
-      seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
-      draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
+  if (last_value != w->sb.value)
+    {
+      seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
+      draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 	  
-      call_callbacks( w, reason, w->sb.value, mouse_y, event );
+      call_callbacks (w, reason, w->sb.value, mouse_y, event);
+
+      if (w->sb.timerActive)
+	XtRemoveTimeOut (w->sb.timerId);
 
-      XtAppAddTimeOut( XtWidgetToApplicationContext((Widget)w),
-		       (unsigned long) w->sb.initialDelay,
-		       timer,  (XtPointer) w );
-      }
+      w->sb.timerId =
+	XtAppAddTimeOut (XtWidgetToApplicationContext ((Widget) w),
+			 (unsigned long) w->sb.initialDelay,
+			 timer,  (XtPointer) w);
+      w->sb.timerActive = True;
+    }
 
-  CHECK(w);
+  CHECK (w);
 }
 
-/*
-** Drag
-*/
-static void Drag(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+Drag (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
   int diff;
   int height, mouse_y;
   int last_value, last_above;
 
-  DBUG(fprintf(stderr, "Drag:\n"));
+  DBUG (fprintf (stderr, "Drag:\n"));
 
-  if( w->sb.armed == ARM_KNOB )
-      {
-      height  = widget_h(w);
-      if( w->sb.showArrows ) height -= (2*arrow_h(w));
+  if (w->sb.armed == ARM_KNOB)
+    {
+      height  = widget_h (w);
+      if (w->sb.showArrows) height -= (2 * arrow_h (w));
 
-      mouse_y = event_y( w, event );
+      mouse_y = event_y (w, event);
 
       diff = mouse_y - w->sb.lastY;
 
       last_above = w->sb.above;
       last_value = w->sb.value;
 
-      if( diff < 0 )
-	  {
+      if (diff < 0)
+	{
 	  /* up */
 	  w->sb.above -= (-diff);
-	  if( w->sb.above < 0 )
-	      {
+	  if (w->sb.above < 0)
+	    {
 	      mouse_y = (mouse_y - w->sb.above);
 	      w->sb.above = 0;
 	      diff = 0;
 	      w->sb.below = height - w->sb.ss;
-	      }
+	    }
 	  w->sb.below -= diff;
-	  CHECK(w);
-	  }
-      else if( diff > 0 )
-	  {
+	  CHECK (w);
+	}
+      else if (diff > 0)
+	{
 	  /* down */
 	  w->sb.above += diff;
-	  if( w->sb.above + w->sb.ss > height )
-	      {
+	  if (w->sb.above + w->sb.ss > height)
+	    {
 	      mouse_y = height + (mouse_y - (w->sb.above + w->sb.ss));
 	      w->sb.above = height - w->sb.ss;
 	      diff = 0;
 	      w->sb.below = 0;
-	      }
+	    }
 	  w->sb.below -= diff;
-	  CHECK(w);
-	  }
+	  CHECK (w);
+	}
 
-      if( last_above != w->sb.above )
-	  {
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
+      if (last_above != w->sb.above)
+	{
+	  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
 	  w->sb.lastY = mouse_y;
 
-	  w->sb.value = value_from_pixel(w, w->sb.above);
-	  verify_values(w);
-	  CHECK(w);
+	  w->sb.value = value_from_pixel (w, w->sb.above);
+	  verify_values (w);
+	  CHECK (w);
 
-	  if( w->sb.value != last_value )
-	      {
-	      call_callbacks( w, XmCR_DRAG, w->sb.value, event_y(w, event), event );
-	      }
-	  }
-      }
-  CHECK(w);
+	  if (w->sb.value != last_value)
+	    call_callbacks (w, XmCR_DRAG, w->sb.value, event_y (w, event), event);
+	}
+    }
+  CHECK (w);
 }
 
-/*
-** Release
-*/
-static void Release(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+Release (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
 
-  DBUG(fprintf(stderr, "EndDrag:\n"));
+  DBUG (fprintf (stderr, "EndDrag:\n"));
 
-  switch( w->sb.armed )
-      {
-      case ARM_KNOB:
-	  call_callbacks( w, XmCR_VALUE_CHANGED, w->sb.value, event_y(w, event), event );
-	  w->sb.armed = ARM_NONE;
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
-	  break;
-      case ARM_UP:
-	  redraw_up_arrow(w, False, False);
-	  break;
-      case ARM_DOWN:
-	  redraw_down_arrow(w, False, False);
-	  break;
-      }
+  switch (w->sb.armed)
+    {
+    case ARM_KNOB:
+      call_callbacks (w, XmCR_VALUE_CHANGED, w->sb.value, event_y (w, event), event);
+      w->sb.armed = ARM_NONE;
+      draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
+      break;
+    case ARM_UP:
+      redraw_up_arrow (w, False, False);
+      break;
+    case ARM_DOWN:
+      redraw_down_arrow (w, False, False);
+      break;
+    }
 
-  XtUngrabKeyboard( (Widget)w, event->xbutton.time );
+  XtUngrabKeyboard ((Widget) w, event->xbutton.time);
 
   w->sb.armed = ARM_NONE;
 }
 
-/*
-** Jump
-*/
-static void Jump(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+Jump (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
   int x, y, width, height, mouse_x, mouse_y;
   int arrow_height;
   int last_above, last_value;
 
-  DBUG(fprintf(stderr, "Jump:\n"));
+  DBUG (fprintf (stderr, "Jump:\n"));
 
-  x       = widget_x(w);
-  y       = widget_y(w);
-  width   = widget_w(w);
-  height  = widget_h(w);
-  mouse_x = event_x( w, event );
-  mouse_y = event_y( w, event );
+  x       = widget_x (w);
+  y       = widget_y (w);
+  width   = widget_w (w);
+  height  = widget_h (w);
+  
+  mouse_x = event_x (w, event);
+  mouse_y = event_y (w, event);
 
-  arrow_height = w->sb.showArrows ? arrow_h(w) : 0;
+  arrow_height = w->sb.showArrows ? arrow_h (w) : 0;
 
-  XtGrabKeyboard( (Widget)w, False, GrabModeAsync, GrabModeAsync, event->xbutton.time );
+  XtGrabKeyboard ((Widget) w, False, GrabModeAsync, GrabModeAsync,
+		  event->xbutton.time);
 
-  switch( what_button(w, mouse_x, mouse_y) )
-      {
-      case BUTTON_TROUGH_ABOVE:
-      case BUTTON_TROUGH_BELOW:
-      case BUTTON_KNOB:
-	  w->sb.savedValue = w->sb.value;
+  switch (what_button (w, mouse_x, mouse_y))
+    {
+    case BUTTON_TROUGH_ABOVE:
+    case BUTTON_TROUGH_BELOW:
+    case BUTTON_KNOB:
+      w->sb.savedValue = w->sb.value;
 
-	  height -= (2*arrow_height);
-	  y      += arrow_height;
+      height -= (2*arrow_height);
+      y      += arrow_height;
 
-	  last_above = w->sb.above;
-	  last_value = w->sb.value;
+      last_above = w->sb.above;
+      last_value = w->sb.value;
 
-	  w->sb.armed = ARM_KNOB;
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
+      w->sb.armed = ARM_KNOB;
+      draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
-	  w->sb.above = mouse_y - (w->sb.ss / 2) - arrow_height;
-	  if( w->sb.above < 0 )
-	      {
-	      w->sb.above = 0;
-	      }
-	  else if( w->sb.above + w->sb.ss > height )
-	      {
-	      w->sb.above = height - w->sb.ss;
-	      }
-	  w->sb.below = (height - (w->sb.ss + w->sb.above));
+      w->sb.above = mouse_y - (w->sb.ss / 2) - arrow_height;
+      if (w->sb.above < 0)
+	{
+	  w->sb.above = 0;
+	}
+      else if (w->sb.above + w->sb.ss > height)
+	{
+	  w->sb.above = height - w->sb.ss;
+	}
+      w->sb.below = (height - (w->sb.ss + w->sb.above));
 
-	  if( last_above != w->sb.above )
-	      {
-	      draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
+      if (last_above != w->sb.above)
+	{
+	  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
-	      w->sb.value = value_from_pixel(w, w->sb.above);
-	      verify_values(w);
-	      CHECK(w);
+	  w->sb.value = value_from_pixel (w, w->sb.above);
+	  verify_values (w);
+	  CHECK (w);
 
-	      w->sb.lastY = mouse_y;
-	      w->sb.lastY = w->sb.above + arrow_height + (w->sb.ss / 2);
+	  w->sb.lastY = mouse_y;
+	  w->sb.lastY = w->sb.above + arrow_height + (w->sb.ss / 2);
 
-	      if( w->sb.value != last_value )
-		  {
-		  call_callbacks( w, XmCR_DRAG, w->sb.value, event_y(w, event), event );
-		  }
-	      }
-	  break;
-      }
-  CHECK(w);
+	  if (w->sb.value != last_value)
+	    {
+	      call_callbacks (w, XmCR_DRAG, w->sb.value, event_y (w, event), event);
+	    }
+	}
+      break;
+    }
+  CHECK (w);
 }
 
-/*
-** Abort
-*/
-static void Abort(Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
+static void
+Abort (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
 {
-  XlwScrollBarWidget w = (XlwScrollBarWidget)widget;
+  XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
 
-  DBUG(fprintf(stderr, "Abort:\n"));
+  DBUG (fprintf (stderr, "Abort:\n"));
 
-  if( w->sb.armed != ARM_NONE )
-      {
-      if( w->sb.value != w->sb.savedValue )
-	  {
+  if (w->sb.armed != ARM_NONE)
+    {
+      if (w->sb.value != w->sb.savedValue)
+	{
 	  w->sb.value = w->sb.savedValue;
 
-	  seg_pixel_sizes(w, &w->sb.above, &w->sb.ss, &w->sb.below);
-	  draw_knob(w, w->sb.above, w->sb.ss, w->sb.below);
-
-	  call_callbacks( w, XmCR_VALUE_CHANGED, w->sb.value, event_y(w, event), event );
-	  }
+	  seg_pixel_sizes (w, &w->sb.above, &w->sb.ss, &w->sb.below);
+	  draw_knob (w, w->sb.above, w->sb.ss, w->sb.below);
 
-      switch( w->sb.armed )
-	  {
-	  case ARM_UP:
-	      redraw_up_arrow(w, False, False);
-	      break;
-	  case ARM_DOWN:
-	      redraw_down_arrow(w, False, False);
-	      break;
-	  }
+	  call_callbacks (w, XmCR_VALUE_CHANGED, w->sb.value,
+			  event_y (w, event), event);
+	}
+
+      switch (w->sb.armed)
+	{
+	case ARM_UP:   redraw_up_arrow   (w, False, False); break;
+	case ARM_DOWN: redraw_down_arrow (w, False, False); break;
+	}
 
       w->sb.armed = ARM_NONE;
 
-      XtUngrabKeyboard( (Widget)w, event->xbutton.time );
-      }
+      XtUngrabKeyboard ((Widget) w, event->xbutton.time);
+    }
 }
--- a/lwlib/xlwscrollbar.h	Mon Aug 13 08:47:36 2007 +0200
+++ b/lwlib/xlwscrollbar.h	Mon Aug 13 08:47:52 2007 +0200
@@ -14,11 +14,11 @@
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /* Created by Douglas Keller <dkeller@vnet.ibm.com> */
-/* Last changed 02/05/95 */
 
 #ifndef _XlwScrollbar_h
 #define _XlwScrollbar_h
@@ -28,70 +28,71 @@
 /* Motif-compatible resource names */
 #ifndef _XmStrDefs_h_
 
-#define XmNbackground            "background"
-#define XmNbottomShadowColor     "bottomShadowColor"
-#define XmNbottomShadowPixmap    "bottomShadowPixmap"
-#define XmNforeground            "foreground"
-#define XmNincrement             "increment"
-#define XmNinitialDelay          "initialDelay"
-#define XmNmaximum               "maximum"
-#define XmNminimum               "minimum"
-#define XmNpageIncrement         "pageIncrement"
-#define XmNrepeatDelay           "repeatDelay"
-#define XmNshadowThickness       "shadowThickness"
-#define XmNborderWidth           "borderWidth"
-#define XmNshowArrows            "showArrows"
-#define XmNsliderSize            "sliderSize"
-#define XmNtopShadowColor        "topShadowColor"
-#define XmNtopShadowPixmap       "topShadowPixmap"
-#define XmNtroughColor           "troughColor"
-#define XmNvalue                 "value"
-#define XmNvalueChangedCallback  "valueChangedCallback"
-#define XmNincrementCallback     "incrementCallback"
-#define XmNdecrementCallback     "decrementCallback"
+#define XmNbackground		"background"
+#define XmNbottomShadowColor	"bottomShadowColor"
+#define XmNbottomShadowPixmap	"bottomShadowPixmap"
+#define XmNforeground		"foreground"
+#define XmNincrement		"increment"
+#define XmNinitialDelay		"initialDelay"
+#define XmNmaximum		"maximum"
+#define XmNminimum		"minimum"
+#define XmNpageIncrement	"pageIncrement"
+#define XmNrepeatDelay		"repeatDelay"
+#define XmNshadowThickness	"shadowThickness"
+#define XmNborderWidth		"borderWidth"
+#define XmNshowArrows		"showArrows"
+#define XmNsliderSize		"sliderSize"
+#define XmNtopShadowColor	"topShadowColor"
+#define XmNtopShadowPixmap	"topShadowPixmap"
+#define XmNtroughColor		"troughColor"
+#define XmNvalue		"value"
+#define XmNvalueChangedCallback	"valueChangedCallback"
+#define XmNincrementCallback	"incrementCallback"
+#define XmNdecrementCallback	"decrementCallback"
 #define XmNpageIncrementCallback "pageIncrementCallback"
 #define XmNpageDecrementCallback "pageDecrementCallback"
-#define XmNtoTopCallback         "toTopCallback"
-#define XmNtoBottomCallback      "toBottomCallback"
-#define XmNdragCallback          "dragCallback"
-#define XmNorientation           "orientation"
+#define XmNtoTopCallback	"toTopCallback"
+#define XmNtoBottomCallback	"toBottomCallback"
+#define XmNdragCallback		"dragCallback"
+#define XmNorientation		"orientation"
 
-#define XmCBackground            "Background"
-#define XmCBottomShadowColor     "BottomShadowColor"
-#define XmCBottomShadowPixmap    "BottomShadowPixmap"
-#define XmCTopShadowPixmap       "TopShadowPixmap"
-#define XmCForeground            "Foreground"
-#define XmCIncrement             "Increment"
-#define XmCInitialDelay          "InitialDelay"
-#define XmCMaximum               "Maximum"
-#define XmCMinimum               "Minimum"
-#define XmCPageIncrement         "PageIncrement"
-#define XmCRepeatDelay           "RepeatDelay"
-#define XmCShadowThickness       "ShadowThickness"
-#define XmCBorderWidth           "BorderWidth"
-#define XmCShowArrows            "ShowArrows"
-#define XmCSliderSize            "SliderSize"
-#define XmCTopShadowColor        "TopShadowColor"
-#define XmCTroughColor           "TroughColor"
-#define XmCValue                 "Value"
-#define XmCValueChangedCallback  "ValueChangedCallback"
-#define XmCIncrementCallback     "IncrementCallback"
-#define XmCDecrementCallback     "DecrementCallback"
+#define XmCBackground		"Background"
+#define XmCBottomShadowColor	"BottomShadowColor"
+#define XmCBottomShadowPixmap	"BottomShadowPixmap"
+#define XmCTopShadowPixmap	"TopShadowPixmap"
+#define XmCForeground		"Foreground"
+#define XmCIncrement		"Increment"
+#define XmCInitialDelay		"InitialDelay"
+#define XmCMaximum		"Maximum"
+#define XmCMinimum		"Minimum"
+#define XmCPageIncrement	"PageIncrement"
+#define XmCRepeatDelay		"RepeatDelay"
+#define XmCShadowThickness	"ShadowThickness"
+#define XmCBorderWidth		"BorderWidth"
+#define XmCShowArrows		"ShowArrows"
+#define XmCSliderSize		"SliderSize"
+#define XmCTopShadowColor	"TopShadowColor"
+#define XmCTroughColor		"TroughColor"
+#define XmCValue		"Value"
+#define XmCValueChangedCallback	"ValueChangedCallback"
+#define XmCIncrementCallback	"IncrementCallback"
+#define XmCDecrementCallback	"DecrementCallback"
 #define XmCPageIncrementCallback "PageIncrementCallback"
 #define XmCPageDecrementCallback "PageDecrementCallback"
-#define XmCToTopCallback         "ToTopCallback"
-#define XmCToBottomCallback      "ToBottomCallback"
-#define XmCDragCallback          "DragCallback"
-#define XmCOrientation           "Orientation"
+#define XmCToTopCallback	"ToTopCallback"
+#define XmCToBottomCallback	"ToBottomCallback"
+#define XmCDragCallback		"DragCallback"
+#define XmCOrientation		"Orientation"
 
 #endif /* _XmStrDefs_h_ */
 
-/* New resouces that Motif does not have, maybe we should use a different prefix. */
-#define XmNknobStyle             "knobStyle"
-#define XmCKnobStyle             "KnobStyle"
+/* New resources that Motif does not have.
+   Maybe we should use a different prefix. */
+#define XmNknobStyle		"knobStyle"
+#define XmCKnobStyle		"KnobStyle"
 
-#define XmNarrowPosition         "arrowPosition"
-#define XmCArrowPosition         "ArrowPosition"
+#define XmNarrowPosition	"arrowPosition"
+#define XmCArrowPosition	"ArrowPosition"
 
 #ifndef _Xm_h
 
@@ -134,5 +135,4 @@
 void XlwScrollBarSetValues(Widget widget, int value, int sliderSize,
 			   int increment, int pageIncrement, Boolean notify);
 
-
 #endif
--- a/lwlib/xlwscrollbarP.h	Mon Aug 13 08:47:36 2007 +0200
+++ b/lwlib/xlwscrollbarP.h	Mon Aug 13 08:47:52 2007 +0200
@@ -14,11 +14,11 @@
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /* Created by Douglas Keller <dkeller@vnet.ibm.com> */
-/* Last changed 02/05/95 */
 
 #ifndef _XlwScrollBarP_h
 #define _XlwScrollBarP_h
@@ -43,63 +43,66 @@
 typedef struct {
 
     /* resources */
-    XtCallbackList      valueChangedCBL;
-    XtCallbackList      incrementCBL;
-    XtCallbackList      decrementCBL;
-    XtCallbackList      pageIncrementCBL;
-    XtCallbackList      pageDecrementCBL;
-    XtCallbackList      toTopCBL;
-    XtCallbackList      toBottomCBL;
-    XtCallbackList      dragCBL;
+    XtCallbackList	valueChangedCBL;
+    XtCallbackList	incrementCBL;
+    XtCallbackList	decrementCBL;
+    XtCallbackList	pageIncrementCBL;
+    XtCallbackList	pageDecrementCBL;
+    XtCallbackList	toTopCBL;
+    XtCallbackList	toBottomCBL;
+    XtCallbackList	dragCBL;
 
-    Pixel               foreground;
+    Pixel		foreground;
 
-    Pixel               topShadowColor;
-    Pixel               bottomShadowColor;
+    Pixel		topShadowColor;
+    Pixel		bottomShadowColor;
 
-    Pixel               troughColor;
+    Pixel		troughColor;
 
-    Pixel               armColor;
-    Pixel               armTopShadowColor;
-    Pixel               armBottomShadowColor;
+    Pixel		armColor;
+    Pixel		armTopShadowColor;
+    Pixel		armBottomShadowColor;
 
-    Pixmap              topShadowPixmap;
-    Pixmap              bottomShadowPixmap;
+    Pixmap		topShadowPixmap;
+    Pixmap		bottomShadowPixmap;
 
-    int                 shadowThickness;
+    int			shadowThickness;
 
-    Boolean             showArrows;
+    Boolean		showArrows;
 
-    int                 minimum;
-    int                 maximum;
-    int                 sliderSize;
-    int                 value;
-    int                 pageIncrement;
-    int                 increment;
+    int			minimum;
+    int			maximum;
+    int			sliderSize;
+    int			value;
+    int			pageIncrement;
+    int			increment;
 
-    int                 initialDelay;
-    int                 repeatDelay;
+    int			initialDelay;
+    int			repeatDelay;
 
-    unsigned char       orientation;
+    unsigned char	orientation;
 
-    char               *knobStyle;
-    char               *arrowPosition;
+    char		*knobStyle;
+    char		*arrowPosition;
 
     /* private */
-    Pixmap              grayPixmap;
+    Pixmap		grayPixmap;
 
-    GC                  backgroundGC;
-    GC                  topShadowGC;
-    GC                  bottomShadowGC;
+    GC			backgroundGC;
+    GC			topShadowGC;
+    GC			bottomShadowGC;
+
+    int			above, ss, below;
+    int			lastY;
 
-    int                 above, ss, below;
-    int                 lastY;
+    int			armed;
+
+    int			savedValue;
 
-    int                 armed;
+    Boolean		fullRedrawNext;
 
-    int                 savedValue;
-
-    Boolean             fullRedrawNext;
+    Boolean		timerActive;
+    XtIntervalId	timerId;
 
 } XlwScrollBarPart;
 
--- a/man/Makefile	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/Makefile	Mon Aug 13 08:47:52 2007 +0200
@@ -26,16 +26,16 @@
 .SUFFIXES: .info .texi .dvi
 
 # Subdirectories to make recursively.
-SUBDIR = xemacs lispref new-users-guide internals
+SUBDIR = xemacs lispref new-users-guide internals tm
 
 ../info/%.info : %.texi
 	makeinfo -o $@ $<
 
 # hyperbole and oo-browser manuals broken - do not TeX properly
 srcs = ange-ftp cc-mode cl dired ediff external-widget forms gnus \
-       ilisp info ispell mailcrypt message mh-e \
+       hyperbole ilisp info ispell mailcrypt message mh-e oo-browser \
        pcl-cvs psgml psgml-api rmail standards supercite term \
-       termcap texinfo viper vm w3 xemacs-faq
+       termcap texinfo vhdl-mode viper vm w3 xemacs-faq
 
 info = $(srcs:%=../info/%.info)
 dvi  = $(srcs:%=%.dvi)
--- a/man/hyperbole.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/hyperbole.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -498,9 +498,11 @@
 @display
 Mail list for discussion of all Hyperbole issues.  Bug reports and
 suggestions may also be sent here.@refill
+@end display
 
 @cindex e-mail, effective communication
 @cindex effective communication
+@display
 Always use your Subject and/or Summary: lines to state the position that
 your message takes on the topic that it addresses.
 
@@ -516,10 +518,12 @@
 and high energy, high impact declarations with exclamation points.  This
 simple rule makes all e-mail communication much easier for recipients to
 handle appropriately.@refill
+@end display
 
 @cindex Hyperbole version
 @cindex Emacs version
 @vindex emacs-version
+@display
 If you ask a question, your subject line should end with a ?,
 e.g@. "Subject: How can man page SEE ALSOs be made implicit buttons?"  A
 "Subject: Re: How can ..." then indicates an answer to the question.
@@ -2317,8 +2321,6 @@
 The Otl/ menu entry on the Hyperbole top-level menu provides access to
 a number of major outliner commands:
 
-@example
-@group
 @cindex outliner commands
 @cindex Koutliner commands
 @findex kotl-mode:show-all
@@ -2333,6 +2335,8 @@
 @findex kotl-mode:top-cells
 @findex kvspec:activate
 @cindex menu, Outline
+@example
+@group
 Menu Item    Command                    Description
 ====================================================================
 All          kotl-mode:show-all         Expand all cells
@@ -3347,8 +3351,6 @@
 user interface to the rolodex.  The rolo menu provides access to the
 following commands:
 
-@example
-@group
 @cindex rolodex commands
 @cindex Wrolo commands
 @findex rolo-add
@@ -3361,6 +3363,8 @@
 @findex rolo-fgrep
 @findex rolo-word
 @findex rolo-yank
+@example
+@group
 Menu Item       Command               Description
 ====================================================================
 Add             rolo-add              Adds a rolodex entry
@@ -3588,10 +3592,10 @@
 WinConfig>  AddName  DeleteName  RestoreName  PopRing  SaveRing  YankRing
 @end display
 
+@cindex wconfig commands
+@cindex window configuration commands
 @example
 @group
-@cindex wconfig commands
-@cindex window configuration commands
 @findex wconfig-add-by-name
 @findex wconfig-delete-by-name
 @findex wconfig-restore-by-name
@@ -4576,10 +4580,10 @@
 Hyperbole.  The Smart Key operations in, @ref{Smart Keyboard Keys},
 apply to both mouse and keyboard Smart Key usage.
 
+@cindex drag, side edge
+@cindex side drag
 @format
 @group
-@cindex drag, side edge
-@cindex side drag
 If dragged from a side-by-side window edge or from the immediate left of
 a vertical scroll bar:
   ACTION or ASSIST
@@ -4587,9 +4591,9 @@
 @end group
 @end format
 
+@cindex drag, between windows
 @format
 @group
-@cindex drag, between windows
 If dragged from inside one window to another:
   ACTION
      Creates a new link button at the drag start location, linked to the
@@ -4601,10 +4605,10 @@
 @end format
 
 @page
+@cindex drag, horizontal
+@cindex horizontal drag
 @format
 @group
-@cindex drag, horizontal
-@cindex horizontal drag
 If dragged horizontally within a single window while depressed
 (hmouse-x-drag-sensitivity sets the minimal horizontal movement which
 registers a drag):
@@ -4616,10 +4620,10 @@
 @end group
 @end format
 
+@cindex depress, modeline
+@cindex modeline depress
 @format
 @group
-@cindex depress, modeline
-@cindex modeline depress
 If depressed within a window mode line:
   ACTION
      (1) clicked on left edge of a window's modeline,
@@ -4650,10 +4654,10 @@
 @end format
 
 @page
+@cindex drag, vertical
+@cindex vertical drag
 @format
 @group
-@cindex drag, vertical
-@cindex vertical drag
 If dragged vertically within a single window while depressed
 (hmouse-y-drag-sensitivity sets the minimal vertical movement which
 registers a drag):
@@ -4662,10 +4666,10 @@
 @end group
 @end format
 
+@cindex drag, diagonal
+@cindex diagonal drag
 @format
 @group
-@cindex drag, diagonal
-@cindex diagonal drag
 If dragged diagonally within a single window while depressed
 (hmouse-x-diagonal-sensitivity and hmouse-y-diagonal-sensitivity set the
 minimal diagonal movement which registers a drag):
@@ -4710,10 +4714,10 @@
 @vindex smart-scroll-proportional
 @cindex proportional scrolling
 @cindex scrolling
+@cindex click, end of line
+@cindex end of line click
 @format
 @group
-@cindex click, end of line
-@cindex end of line click
 When pressed at the end of a line but not the end of a buffer:
   ACTION
      Scrolls up according to value of smart-scroll-proportional.  If
@@ -4730,10 +4734,10 @@
 @end group
 @end format
 
+@cindex click, button
+@cindex button click
 @format
 @group
-@cindex click, button
-@cindex button click
 When pressed on a Hyperbole button:
   ACTION
      Activates button.
@@ -5046,10 +5050,10 @@
 @end group
 @end format
 
+@cindex click, Info
+@cindex Info browsing
 @format
 @group
-@cindex click, Info
-@cindex Info browsing
 If pressed within an Info manual node:
   ACTION
      (1) the first line of an Info Menu Entry or Cross Reference, the desired
@@ -5106,10 +5110,10 @@
 @end group
 @end format
 
+@cindex click, GNUS
+@cindex GNUS browsing
 @format
 @group
-@cindex click, GNUS
-@cindex GNUS browsing
 If pressed within a GNUS listing of newsgroups buffer at:
   ACTION
      (1) a GNUS-GROUP line, that newsgroup is read;
@@ -5159,10 +5163,10 @@
 @end format
 
 @page
+@cindex click, buffer menu
+@cindex buffer menu
 @format
 @group
-@cindex click, buffer menu
-@cindex buffer menu
 If pressed within a listing of buffers (Buffer-menu-mode):
   ACTION
      (1) on the first column of an entry, the selected buffer is marked for
@@ -5184,10 +5188,10 @@
 @end group
 @end format
 
+@cindex click, dired
+@cindex dired browsing
 @format
 @group
-@cindex click, dired
-@cindex dired browsing
 If pressed within a dired-mode buffer:
   ACTION
      (1) within an entry line, the selected file/directory is displayed
@@ -5208,11 +5212,11 @@
 @end format
 
 @page
-@format
-@group
 @cindex click, tar
 @cindex tar archive browsing
 @cindex extracting from tar files
+@format
+@group
 If pressed within a tar-mode buffer:
   ACTION
      (1) within an entry line, the selected file/directory is displayed
@@ -5227,9 +5231,9 @@
 @end group
 @end format
 
+@cindex man page references
 @format
 @group
-@cindex man page references
 If pressed on a cross reference within a man page entry section labeled
 NAME, SEE ALSO, or PACKAGES USED, or within a man page C routine
 specification (see 'smart-man-c-routine-ref') and man page buffer
@@ -5240,12 +5244,12 @@
 @end group
 @end format
 
-@format
-@group
 @cindex click, world-wide web
 @cindex W3
 @cindex URL
 @cindex world-wide web
+@format
+@group
 If pressed on a world-wide web universal resource locator:
   ACTION
      Displays the URL referent at point.
@@ -5254,10 +5258,10 @@
 @end group
 @end format
 
+@cindex game, gomoku
+@cindex gomoku
 @format
 @group
-@cindex game, gomoku
-@cindex gomoku
 If pressed in a Gomoku game buffer.
   ACTION
      Makes a move at the space pointed to.
@@ -5266,10 +5270,10 @@
 @end group
 @end format
 
+@cindex click, wrolo matches
+@cindex wrolo matches
 @format
 @group
-@cindex click, wrolo matches
-@cindex wrolo matches
 If pressed within an entry in the wrolo match display buffer:
   ACTION or ASSIST
      The entry is edited in the other window.
--- a/man/oo-browser.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/oo-browser.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,4 +1,4 @@
-\input psfig
+\input psfig.sty
 \input texinfo  @c -*-texinfo-*-
 
 @c
--- a/man/tm/gnus-mime-en.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/gnus-mime-en.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 <!doctype sinfo system>
-<!-- $Id: gnus-mime-en.sgml,v 1.1 1996/12/22 00:09:31 steve Exp $ -->
+<!-- $Id: gnus-mime-en.sgml,v 1.2 1996/12/29 00:15:28 steve Exp $ -->
 <head>
 <title>gnus-mime 0.10 reference manual (English Version)
 <author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
--- a/man/tm/gnus-mime-en.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/gnus-mime-en.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -26,9 +26,10 @@
 
 @node Introduction, Automatic MIME Preview, Top, Top
 @chapter What is gnus-mime?
+@cindex gnus-mime
 
-@cindex{gnus-mime}@strong{gnus-mime} is a MIME (@ref{(tm-en)MIME})
-extender for Gnus (@ref{(gnus)}) using tm (@ref{(tm-en)tm-kernel}).
+@strong{gnus-mime} is a MIME (@ref{(tm-en)MIME}) extender for Gnus
+(@ref{(gnus)}) using tm (@ref{(tm-en)tm-kernel}).
 
 @noindent
 @strong{[Notice]}
@@ -61,12 +62,13 @@
 
 @node Automatic MIME Preview, mule, Introduction, Top
 @chapter Inline display for MIME message
+@cindex XEmacs
+@cindex automatic MIME preview
 
-@cindex{automatic MIME preview}@strong{automatic MIME preview} feature
-is available for gnus-mime.  In automatic MIME preview mode, when
-reading an article in summary mode, gnus-mime displays preview buffer
-processed by tm-view instead of raw article
-buffer. (cf. @ref{(tm-view-en)}) @refill
+@strong{automatic MIME preview} feature is available for gnus-mime.  In
+automatic MIME preview mode, when reading an article in summary mode,
+gnus-mime displays preview buffer processed by tm-view instead of raw
+article buffer. (cf. @ref{(tm-view-en)}) @refill
 
 Therefore if an article is encoded by Base64 (@ref{(tm-en)Base64}) or
 Quoted-Printable (@ref{(tm-en)Quoted-Printable}), a decoded article is
@@ -75,8 +77,8 @@
 multipart (@ref{(tm-en)multipart}) article is dealt with
 correctly.@refill
 
-In addition, in @cindex{XEmacs}@strong{XEmacs}, images are displayed in
-preview buffer as same as text.@refill
+In addition, in @strong{XEmacs}, images are displayed in preview buffer
+as same as text.@refill
 
 Different from using metamail, speaker does not roar just then read an
 article includes audio content, video player does not play just then
@@ -174,12 +176,13 @@
 
 @node Two buffers for an article,  , MIME processing, Automatic MIME Preview
 @section Mechanism of Automatic MIME preview
+@cindex preview buffer
+@cindex raw article buffer
 
 Gnus 5.2 or later has two buffers for an article,
 @code{gnus-original-article-buffer} (@code{" *Original Article*"}) and
 @code{gnus-article-buffer} (@code{"*Article*"}).  The former is called
-@cindex{raw article buffer}@strong{raw article buffer}, the latter is
-called @cindex{preview buffer}@strong{preview buffer}.@refill
+@strong{raw article buffer}, the latter is called @strong{preview buffer}.@refill
 
 Content of raw article buffer is non-processed ``raw message''.  In
 particular, for emacs variants includes mule (@ref{(tm-en)mule})
--- a/man/tm/gnus-mime-ja.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/gnus-mime-ja.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 <!doctype sinfo system>
-<!-- $Id: gnus-mime-ja.sgml,v 1.1 1996/12/22 00:09:31 steve Exp $ -->
+<!-- $Id: gnus-mime-ja.sgml,v 1.2 1996/12/29 00:15:29 steve Exp $ -->
 <head>
 <title>gnus-mime 0.10 $B@bL@=q!JF|K\8lHG!K(B
 <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail>
--- a/man/tm/gnus-mime-ja.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/gnus-mime-ja.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -29,10 +29,11 @@
 
 @node Introduction, Automatic MIME Preview, Top, Top
 @chapter gnus-mime $B$C$F2?!)(B
+@cindex gnus-mime
 
-@cindex{gnus-mime}@strong{gnus-mime} $B$O(B tm (@ref{(tm-ja)tm-kernel}) $B$r;H$C(B
-$B$F(B Gnus (@ref{(gnus)}) $B$N(B MIME (@ref{(tm-ja)MIME}) $B5!G=$r6/2=$9$k$?$a$N(B 
-package $B$G$9!#(B
+@strong{gnus-mime} $B$O(B tm (@ref{(tm-ja)tm-kernel}) $B$r;H$C$F(B Gnus
+(@ref{(gnus)}) $B$N(B MIME (@ref{(tm-ja)MIME}) $B5!G=$r6/2=$9$k$?$a$N(B package 
+$B$G$9!#(B
 
 @noindent
 @strong{[$BCm0U(B]}
@@ -65,11 +66,13 @@
 
 @node Automatic MIME Preview, mule, Introduction, Top
 @chapter MIME message $B$N(B inline $BI=<((B
+@cindex XEmacs
+@cindex automatic MIME preview
 
-gnus-mime $B$G$O(B @cindex{automatic MIME preview}@strong{automatic MIME
-preview} $B5!G=$rMxMQ$9$k$3$H$,$G$-$^$9!#$3$N5!G=$r;H$&$H(B Summary mode $B$G(B
-$B5-;v$rFI$`;~!"DL>oI=<($5$l$k(B Article buffer $B$NBe$o$j$K(B tm-view $B$G=hM}$5(B
-$B$l$?(B preview buffer $B$rI=<($7$^$9!#(B(cf. @ref{(tm-view-ja)}) @refill
+gnus-mime $B$G$O(B @strong{automatic MIME preview} $B5!G=$rMxMQ$9$k$3$H$,$G$-(B
+$B$^$9!#$3$N5!G=$r;H$&$H(B Summary mode $B$G5-;v$rFI$`;~!"DL>oI=<($5$l$k(B 
+Article buffer $B$NBe$o$j$K(B tm-view $B$G=hM}$5$l$?(B preview buffer $B$rI=<($7$^(B
+$B$9!#(B(cf. @ref{(tm-view-ja)}) @refill
 
 $B$3$N$?$a!"(BBase64 (@ref{(tm-ja)Base64}) $B$d(B Quoted-Printable
 (@ref{(tm-ja)Quoted-Printable}) $B$G(B encode $B$5$l$?5-;v$r(B decode $B$7$FI=<($9(B
@@ -78,8 +81,8 @@
 $BA3$N$3$H$J$,$i!"(Bmultipart (@ref{(tm-ja)multipart}) $B$N5-;v$b@5$7$/=hM}$G(B
 $B$-$^$9!#(B@refill
 
-$B$^$?!"(B@cindex{XEmacs}@strong{XEmacs} $B$G$O(B text $B$HF1MM$K3($b(B preview
-buffer $BFb$GI=<($9$k$3$H$,$G$-$^$9!#(B@refill
+$B$^$?!"(B@strong{XEmacs} $B$G$O(B text $B$HF1MM$K3($b(B preview buffer $BFb$GI=<($9$k(B
+$B$3$H$,$G$-$^$9!#(B@refill
 
 metamail $B$r;H$C$?>l9g$H0[$J$j!"2;$NF~$C$?5-;v$rFI$s$@$H$?$s!"$$$-$J$j!"(B
 $B2;$,LD$j=P$7$?$j!"(Bvideo $B$NF~$C$?5-;v$rFI$`$?$S$K(B video $B$,:F@8$5$l$?$j!"(B
@@ -178,13 +181,14 @@
 
 @node Two buffers for an article,  , MIME processing, Automatic MIME Preview
 @section Automatic MIME preview $B$N;EAH$_(B
+@cindex preview buffer
+@cindex raw article buffer
 
 Gnus 5.2 $B0J9_$G$O(B Gnus $B$O#1$D$N(B article $B$KBP$7$F(B 
 @code{gnus-original-article-buffer} (@code{" *Original Article*"}) $B$H(B
 @code{gnus-article-buffer} (@code{"*Article*"}) $B$H$$$&#2$D$N(B buffer $B$r;}$C(B
-$B$F$$$^$9!#$3$3$G$OA0<T$r(B @cindex{raw article buffer}@strong{raw article
-buffer}, $B8e<T$r(B @cindex{preview buffer}@strong{preview buffer} $B$H8F$V$3(B
-$B$H$K$7$^$9!#(B@refill
+$B$F$$$^$9!#$3$3$G$OA0<T$r(B @strong{raw article buffer}, $B8e<T$r(B 
+@strong{preview buffer} $B$H8F$V$3$H$K$7$^$9!#(B@refill
 
 raw article buffer $B$K$O2?$b=hM}$r$5$l$F$$$J$$!X@8$N(B article$B!Y$,F~$C$F$$(B
 $B$^$9!#FC$K!"(Bmule (@ref{(tm-ja)mule}) $B$G$O(B code $BJQ49$r9T$J$o$J$$>uBV$N5-(B
@@ -207,8 +211,7 @@
 @chapter $B9q:]2=(B
 
 MULE (@ref{(tm-ja)mule}), XEmacs/mule, $B$*$h$S!"(Bmule $BE}9gHG(B Emacs (*1) $B$J(B
-$B$I$N(B mule $B5!G=$r;}$C$?(B emacs $B$G$O(B MIME charset (@ref{(tm-ja)MIME
-charset}) $B$*$h$S!"Hs(B MIME message/part $B$KBP$9$k(B newsgroup $BKh$K;XDj$5$l$?(B 
+$B$I$N(B mule $B5!G=$r;}$C$?(B emacs $B$G$O(B MIME charset (@ref{(tm-ja)MIME charset}) $B$*$h$S!"Hs(B MIME message/part $B$KBP$9$k(B newsgroup $BKh$K;XDj$5$l$?(B 
 @code{default-mime-charset} $B$G$N(B code $BJQ49$,9T$o$l$^$9!#(B
 
 @noindent
--- a/man/tm/tm-edit-en.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-edit-en.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,9 +1,9 @@
 <!doctype sinfo system>
-<!-- $Id: tm-edit-en.sgml,v 1.1 1996/12/22 00:09:32 steve Exp $ -->
+<!-- $Id: tm-edit-en.sgml,v 1.2 1996/12/29 00:15:29 steve Exp $ -->
 <head>
-<title>tm-edit 7.90 Reference Manual (English Version)
+<title>tm-edit 7.100 Reference Manual (English Version)
 <author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
-<date>1996/10/11
+<date>1996/12/25
 
 <toc>
 </head>
@@ -109,7 +109,9 @@
 </kd>
 <kt>C-c C-x C-i
 <kd>
-Insert file as a MIME attachment.
+Insert file as a MIME attachment.  If <kbd>C-u</kbd> is followed by
+it, it asks media-type, subtype or encoding even if their default
+values are specified. <cf node="tag specification for inserted file">
 </kd>
 <kt>C-c C-x C-e
 <kd>
@@ -227,6 +229,68 @@
 </kl>
 
 
+<h1> Default media-type or encoding for inserted file
+<node> tag specification for inserted file
+<p>
+When <kbd>C-c C-x C-i</kbd> (<code>mime-editor/insert-file</code>) is
+pressed, tag parameters for inserted file, such as media-type or
+encoding, are detected by variable <code>mime-file-types</code>.
+<p>
+When <kbd>C-u</kbd> is followed by it or parameter is not found from
+the variable, it asks from user.  (When <kbd>C-u</kbd> is followed by
+it, detected value is used as default value)
+<p>
+If you want to change default value for file names, please change
+variable <code>mime-file-types</code>.
+
+
+<defvar name="mime-file-types">
+<p>
+Specification of default value of tag for file name of inserted file.
+<p>
+It is a list of following list:
+
+<lisp>
+	(FILE_PAT TYPE SUBTYPE PARAMS ENCODING
+	 DISPOSITION_TYPE DISPOSITION_PARAMS)
+</lisp>
+
+Each elements of the list are following:
+
+<dl>
+<dt>FILE_PAT
+<dd>regular expression of file name
+<dt>TYPE
+<dd>media type
+<dt>SUBTYPE
+<dd>media subtype
+<dt>PARAMS
+<dd>parameters of Content-Type field
+<dt>ENCODING
+<dd>Content-Transfer-Encoding
+<dt>DISPOSITION_TYPE
+<dd>disposition-type
+<dt>DISPOSITION_PARAMS
+<dd>parameters of Content-Disposition field
+</dl>
+
+<noindent>
+Example: Specify application/rtf as default media type for
+<file>*.rtf</file>
+
+<lisp>
+(call-after-loaded
+ 'tm-edit
+ (lambda ()
+   (set-alist 'mime-file-types
+	      "\\.rtf$"
+	      '("application" "rtf" nil nil
+		"attachment" (("filename" . file)))
+	      )))
+</lisp>
+</defvar>
+
+
 <h1> transfer level
 <node> transfer level
 <p>
@@ -428,6 +492,16 @@
 </defvar>
 
 
+<h1> Acknowledgments
+<node> Acknowledgments
+<p>
+First of all, I thank UMEDA Masanobu for his work of
+<file>mime.el</file>, which is the origin of tm-edit, and permission
+to rewrite his work as tm-edit.
+<p>
+I thank members of two tm mailing lists, Japanese and English version.
+
+
 <h1> Concept Index
 <node> Concept Index
 
--- a/man/tm/tm-edit-en.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-edit-en.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,13 +1,13 @@
 \input texinfo.tex
 @setfilename tm-edit-en.info
-@settitle{tm-edit 7.90 Reference Manual (English Version)}
+@settitle{tm-edit 7.100 Reference Manual (English Version)}
 @titlepage
-@title tm-edit 7.90 Reference Manual (English Version)
+@title tm-edit 7.100 Reference Manual (English Version)
 @author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
-@subtitle 1996/10/11
+@subtitle 1996/12/25
 @end titlepage
 @node Top, Introduction, (dir), (dir)
-@top tm-edit 7.90 Reference Manual (English Version)
+@top tm-edit 7.100 Reference Manual (English Version)
 
 @ifinfo
 
@@ -20,9 +20,11 @@
 * single-part operations::      
 * enclosure operation::         
 * other operations of mime/editor-mode::  
+* tag specification for inserted file::  Default media-type or encoding for inserted file
 * transfer level::              
 * header::                      Using non-ASCII characters in header
 * PGP::                         
+* Acknowledgments::             
 * Concept Index::               
 * Function Index::              
 * Variable Index::              
@@ -30,9 +32,9 @@
 
 @node Introduction, mime/editor-mode, Top, Top
 @chapter What is tm-edit?
+@cindex tm-edit
 
-@cindex{tm-edit}@strong{tm-edit} is a general MIME composer for GNU
-Emacs.@refill
+@strong{tm-edit} is a general MIME composer for GNU Emacs.@refill
 
 tm-edit is based on mime.el by UMEDA Masanobu
 <umerin@@mse.kyutech.ac.jp>, who is famous as the author of
@@ -60,11 +62,15 @@
 
 @node mime/editor-mode, single-part operations, Introduction, Top
 @chapter mime/editor-mode
+@cindex enclosure
+@cindex multi-part ending tag
+@cindex multi-part beginning tag
+@cindex tag
+@cindex mime/editor-mode
 
-@cindex{mime/editor-mode}@strong{mime/editor-mode} is a minor mode to
-compose MIME message.  In this mode, @cindex{tag}@strong{tag} represents
-various kinds of data, you can edit multi part (@ref{(tm-en)multipart})
-message.@refill
+@strong{mime/editor-mode} is a minor mode to compose MIME message.  In
+this mode, @strong{tag} represents various kinds of data, you can edit
+multi part (@ref{(tm-en)multipart}) message.@refill
 
 There are 2 kinds of tags:
 
@@ -93,9 +99,8 @@
 and Content-Transfer-Encoding field.@refill
 
 multi-part tags represent multi part (@ref{(tm-en)multipart}).  They
-consist of a pair of @cindex{multi-part beginning tag}@strong{multi-part
-beginning tag} and @cindex{multi-part ending tag}@strong{multi-part
-ending tag}.@refill
+consist of a pair of @strong{multi-part beginning tag} and
+@strong{multi-part ending tag}.@refill
 
 multi-part beginning tag's form is following:@refill
 
@@ -110,7 +115,7 @@
 @end example
 
 A region from multi-part beginning tag to multi-part ending tag is
-called as @cindex{enclosure}@strong{enclosure}.
+called as @strong{enclosure}.
 
 
 @node single-part operations, enclosure operation, mime/editor-mode, Top
@@ -123,7 +128,9 @@
 Insert single-part tag indicates text part.
 
 @item @key{C-c C-x C-i}
-Insert file as a MIME attachment.
+Insert file as a MIME attachment.  If @kbd{C-u} is followed by it, it
+asks media-type, subtype or encoding even if their default values are
+specified. (cf. @ref{tag specification for inserted file})
 
 @item @key{C-c C-x C-e}
 Insert external part.
@@ -184,7 +191,7 @@
 
 
 
-@node other operations of mime/editor-mode, transfer level, enclosure operation, Top
+@node other operations of mime/editor-mode, tag specification for inserted file, enclosure operation, Top
 @chapter other operations of mime/editor-mode
 
 There are another operations in mime/editor-mode.
@@ -223,8 +230,81 @@
 
 
 
-@node transfer level, header, other operations of mime/editor-mode, Top
+@node tag specification for inserted file, transfer level, other operations of mime/editor-mode, Top
+@chapter Default media-type or encoding for inserted file
+
+When @kbd{C-c C-x C-i} (@code{mime-editor/insert-file}) is pressed, tag
+parameters for inserted file, such as media-type or encoding, are
+detected by variable @code{mime-file-types}.@refill
+
+When @kbd{C-u} is followed by it or parameter is not found from the
+variable, it asks from user.  (When @kbd{C-u} is followed by it,
+detected value is used as default value)@refill
+
+If you want to change default value for file names, please change
+variable @code{mime-file-types}.
+
+
+@defvar mime-file-types
+
+Specification of default value of tag for file name of inserted
+file.@refill
+
+It is a list of following list:
+
+@lisp
+	(FILE_PAT TYPE SUBTYPE PARAMS ENCODING
+	 DISPOSITION_TYPE DISPOSITION_PARAMS)
+@end lisp
+
+
+Each elements of the list are following:
+
+@table @samp
+@item FILE_PAT
+regular expression of file name
+
+@item TYPE
+media type
+
+@item SUBTYPE
+media subtype
+
+@item PARAMS
+parameters of Content-Type field
+
+@item ENCODING
+Content-Transfer-Encoding
+
+@item DISPOSITION_TYPE
+disposition-type
+
+@item DISPOSITION_PARAMS
+parameters of Content-Disposition field
+
+@end table
+
+@noindent
+Example: Specify application/rtf as default media type for
+@file{*.rtf}
+
+@lisp
+(call-after-loaded
+ 'tm-edit
+ (lambda ()
+   (set-alist 'mime-file-types
+	      "\\.rtf$"
+	      '("application" "rtf" nil nil
+		"attachment" (("filename" . file)))
+	      )))
+@end lisp
+@end defvar
+
+
+
+@node transfer level, header, tag specification for inserted file, Top
 @chapter transfer level
+@cindex transfer level
 
 Contents inserted in a message are represented by 7bit
 (@ref{(tm-en)7bit}), 8bit (@ref{(tm-en)8bit}) or binary
@@ -250,7 +330,7 @@
 Maybe there are binary-through MTA, but I think it is not major.
 @end quotation
 
-@cindex{transfer level}@strong{transfer level} represents how range data is
+@strong{transfer level} represents how range data is
 available.  tm-edit has a variable
 @code{mime-editor/transfer-level} to represent transfer level.
 
@@ -282,11 +362,12 @@
 
 @node header, PGP, transfer level, Top
 @chapter Using non-ASCII characters in header
+@cindex encoded-word
 
 RFC 1522 (@ref{(tm-en)RFC 1522}) defines representation of non-ASCII
 characters in header.@refill
 
-It is a format called as @cindex{encoded-word}@strong{encoded-word}
+It is a format called as @strong{encoded-word}
 (@ref{(tm-en)encoded-word}), it is available to represent every
 non-ASCII characters by 7bit (@ref{(tm-en)7bit}) to declare MIME charset
 (@ref{(tm-en)MIME charset}).
@@ -394,13 +475,15 @@
 
 
 
-@node PGP, Concept Index, header, Top
+@node PGP, Acknowledgments, header, Top
 @chapter PGP
+@cindex PGP-kazu
+@cindex PGP/MIME
 
 tm-edit provides PGP encryption, signature and inserting public-key
-features based on @cindex{PGP/MIME}@strong{PGP/MIME}
-(@ref{(tm-en)PGP/MIME}) (RFC 2015) or @cindex{PGP-kazu}@strong{PGP-kazu}
-(@ref{(tm-en)PGP-kazu}) (draft-kazu-pgp-mime-00.txt).@refill
+features based on @strong{PGP/MIME} (@ref{(tm-en)PGP/MIME}) (RFC 2015)
+or @strong{PGP-kazu} (@ref{(tm-en)PGP-kazu})
+(draft-kazu-pgp-mime-00.txt).@refill
 
 This feature requires pgp command and Mailcrypt package
 (@ref{(mailcrypt)}).@refill
@@ -434,7 +517,17 @@
 
 
 
-@node Concept Index, Function Index, PGP, Top
+@node Acknowledgments, Concept Index, PGP, Top
+@chapter Acknowledgments
+
+First of all, I thank UMEDA Masanobu for his work of @file{mime.el},
+which is the origin of tm-edit, and permission to rewrite his work as
+tm-edit.@refill
+
+I thank members of two tm mailing lists, Japanese and English version.
+
+
+@node Concept Index, Function Index, Acknowledgments, Top
 @chapter Concept Index
 
 @printindex cp
--- a/man/tm/tm-edit-ja.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-edit-ja.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,9 +1,9 @@
 <!doctype sinfo system>
-<!-- $Id: tm-edit-ja.sgml,v 1.1 1996/12/22 00:09:32 steve Exp $ -->
+<!-- $Id: tm-edit-ja.sgml,v 1.2 1996/12/29 00:15:30 steve Exp $ -->
 <head>
-<title>tm-edit 7.90 $B@bL@=q!JF|K\8lHG!K(B
+<title>tm-edit 7.100 $B@bL@=q!JF|K\8lHG!K(B
 <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail>
-<date>1996/10/11
+<date>1996/12/25
 
 <toc>
 </head>
@@ -122,7 +122,9 @@
 </kd>
 <kt>C-c C-x C-i
 <kd>
-file $B$r(B MIME part $B$H$7$FE:IU$7$^$9!#(B
+file $B$r(B MIME part $B$H$7$FE:IU$7$^$9!#A0$K(B <kbd>C-u</kbd> $B$rIU$1$?>l9g!"(B
+$B>o$K(B media-type, subtype $BEy$rJ9$$$FMh$^$9!#(B<cf node="tag specification
+for inserted file">
 </kd>
 <kt>C-c C-x C-e
 <kd>
@@ -180,11 +182,11 @@
 </kd>
 <kt>C-c C-x s
 <kd>
-$B;XDj$7$?(B region $B$KEE;R=pL>$r9T$$$^$9!#(B(<ref node="PGP">)
+$B;XDj$7$?(B region $B$KEE;R=pL>$r9T$$$^$9!#(B<cf node="PGP">
 </kd>
 <kt>C-c C-x e
 <kd>
-$B;XDj$7$?(B region $B$r0E9f2=$7$^$9!#(B(<ref node="PGP">)
+$B;XDj$7$?(B region $B$r0E9f2=$7$^$9!#(B<cf node="PGP">
 <kt>C-c C-x q
 <kd>
 $B;XDj$7$?(B region $BFb$N(B tag $B$rL58z$K$7!"$=$N(B tag $B$rJ8;zNs$H$7$FMxMQ$G$-$k(B
@@ -205,8 +207,8 @@
 </kd>
 <kt>C-c C-x C-p
 <kd>
-$BJT=8Cf$N(B message $B$r(B preview $B$7$^$9!#(B(<ref file="tm-view-ja"
-node="mime/viewer-mode">)
+$BJT=8Cf$N(B message $B$r(B preview $B$7$^$9!#(B<cf file="tm-view-ja"
+node="mime/viewer-mode">
 </kd>
 <kt>C-c C-x C-z
 <kd>
@@ -231,17 +233,78 @@
 </kd>
 <kt>C-c C-x v
 <kd>
-message $BA4BN$rEE;R=pL>$9$k$+$I$&$+$r7h$a$^$9!#(B(<ref node="PGP">)
+message $BA4BN$rEE;R=pL>$9$k$+$I$&$+$r7h$a$^$9!#(B<cf node="PGP">
 </kd>
 <kt>C-c C-x h
 <kd>
-message $BA4BN$r0E9f2=$9$k$+$I$&$+$r7h$a$^$9!#(B(<ref node="PGP">)
+message $BA4BN$r0E9f2=$9$k$+$I$&$+$r7h$a$^$9!#(B<cf node="PGP">
 <kt>C-c C-x ?
 <kd>
 help message $B$rI=<($7$^$9!#(B
 </kl>
 
 
+<h1> $BA^F~$5$l$k(B file $B$KBP$9$k(B tag $B$N7hDj(B
+<node> tag specification for inserted file
+<p>
+<kbd>C-c C-x C-i</kbd> (<code>mime-editor/insert-file</code>) $B$r<B9T$7(B
+$B$?;~!"A^F~$5$l$k(B file $B$KBP$9$k(B media-type $B$d(B encoding $B$J$I$N(B tag $B$N>p(B
+$BJs$OJQ?t(B <code>mime-file-types</code> $B$K$h$C$F(B file $BL>$+$i?dB,$5$l$^$9!#(B
+<p>
+$BA0$K(B <kbd>C-u</kbd> $B$rIU$1$?;~!"$*$h$S!"E,Ev$JCM$,8+IU$+$i$J$+$C$?>l9g!"(B
+user $B$KBP$7$FCM$NF~NO$rB%$7$^$9!#!JA0$K(B <kbd>C-u</kbd> $B$rIU$1$?;~!"?d(B
+$BB,$5$l$?CM$,4{DjCM$H$7$FMQ$$$i$l$^$9!K(B
+<p>
+file $BL>$KBP$9$k4{DjCM$rJQ$($?$$>l9g$OJQ?t(B <code>mime-file-types</code>
+$B$r@_Dj$7$F2<$5$$!#(B
+
+<defvar name="mime-file-types">
+<p>
+$BA^F~$5$l$k(B file $B$N(B file $BL>$KBP$9$k(B tag $B$N4{DjCM$rM?$($k!#(B
+<p>
+$B$3$NJQ?t$O(B
+
+<lisp>
+	(FILE_PAT TYPE SUBTYPE PARAMS ENCODING
+	 DISPOSITION_TYPE DISPOSITION_PARAMS)
+</lisp>
+
+$B$H$$$&(B list $B$N(B list $B$G!"3FMWAG$O0J2<$NDL$j$G$"$k!'(B
+
+<dl>
+<dt>FILE_PAT
+<dd>file $BL>$rI=$9@55,I=8=(B
+<dt>TYPE
+<dd>media type
+<dt>SUBTYPE
+<dd>media subtype
+<dt>PARAMS
+<dd>Content-Type field $B$N(B parameter
+<dt>ENCODING
+<dd>Content-Transfer-Encoding
+<dt>DISPOSITION_TYPE
+<dd>disposition-type
+<dt>DISPOSITION_PARAMS
+<dd>Content-Disposition field $B$N(B parameter
+</dl>
+
+<noindent>
+$B@_DjNc!'(B <file>*.rtf</file> $B$KBP$9$k(B media type $B$r(B application/rtf $B$K(B
+$B$9$k>l9g(B
+
+<lisp>
+(call-after-loaded
+ 'tm-edit
+ (lambda ()
+   (set-alist 'mime-file-types
+	      "\\.rtf$"
+	      '("application" "rtf" nil nil
+		"attachment" (("filename" . file)))
+	      )))
+</lisp>
+</defvar>
+
+
 <h1> transfer level
 <node> transfer level
 <p>
@@ -447,6 +510,18 @@
 </defvar>
 
 
+<h1> $B<U<-(B
+<node> Acknowledgments
+<p>
+$B:G=i$K!"(Btm-edit $B$NA0?H$H$J$C$?(B <file>mime.el</file> $B$r=q$-!"$=$NG[I[$H(B
+$B2~B$$r$*5v$72<$5$C$?!"G_ED@/?.$5$s$K46<U$7$^$9!#(Btm-edit $B$N(B user
+interface $B$N4pK\E*$J@_7W$OG_ED$5$s$N<j$K$h$k$b$N$G!"$H$F$bNI$$@_7W$G$"$C(B
+$B$?$H;W$$$^$9!#(B
+<p>
+$B<!$K!"(Bbeta test $B$K6(NO$7$F2<$5$C$?F|K\8lHG!"1Q8lHGAPJ}$N(B tm mailing
+list $B$N(B member $B$K46<U$7$^$9!#(B
+
+
 <h1> $B35G0:w0z(B
 <node> Concept Index
 
--- a/man/tm/tm-edit-ja.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-edit-ja.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,13 +1,13 @@
 \input texinfo.tex
 @setfilename tm-edit-ja.info
-@settitle{tm-edit 7.90 $B@bL@=q!JF|K\8lHG!K(B}
+@settitle{tm-edit 7.100 $B@bL@=q!JF|K\8lHG!K(B}
 @titlepage
-@title tm-edit 7.90 $B@bL@=q!JF|K\8lHG!K(B
+@title tm-edit 7.100 $B@bL@=q!JF|K\8lHG!K(B
 @author $B<i2,(B $BCNI'(B <morioka@@jaist.ac.jp>
-@subtitle 1996/10/11
+@subtitle 1996/12/25
 @end titlepage
 @node Top, Introduction, (dir), (dir)
-@top tm-edit 7.90 $B@bL@=q!JF|K\8lHG!K(B
+@top tm-edit 7.100 $B@bL@=q!JF|K\8lHG!K(B
 
 @ifinfo
 
@@ -22,9 +22,11 @@
 * single-part operations::      single-part $B$KBP$9$kA`:n(B
 * enclosure operation::         enclosure $B$KBP$9$kA`:n(B
 * other operations of mime/editor-mode::  mime/editor-mode $B$K$*$1$k$=$NB>$NA`:n(B
+* tag specification for inserted file::  $BA^F~$5$l$k(B file $B$KBP$9$k(B tag $B$N7hDj(B
 * transfer level::              
 * header::                      header $B$G$NHs(B ASCII $BJ8;z$N;HMQ(B
 * PGP::                         
+* Acknowledgments::             $B<U<-(B
 * Concept Index::               $B35G0:w0z(B
 * Function Index::              $B4X?t:w0z(B
 * Variable Index::              $BJQ?t:w0z(B
@@ -32,9 +34,10 @@
 
 @node Introduction, mime/editor-mode, Top, Top
 @chapter What is tm-edit?
+@cindex tm-edit
 
-@cindex{tm-edit}@strong{tm-edit} $B$O(B GNU Emacs $B$GF0:n$9$kHFMQE*$J(B MIME
-composer $B$G$9!#(B@refill
+@strong{tm-edit} $B$O(B GNU Emacs $B$GF0:n$9$kHFMQE*$J(B MIME composer $B$G$9!#(B
+@refill
 
 tm-edit $B$O(B GNUS $B$N:n<T$H$7$F$bM-L>$J(B $BG_ED(B $B@/?.(B
 <umerin@@mse.kyutech.ac.jp> $B$5$s$,=q$+$l$?(B 
@@ -63,11 +66,16 @@
 
 @node mime/editor-mode, single-part operations, Introduction, Top
 @chapter mime/editor-mode
+@cindex enclosure
+@cindex multi-part $B=*N;(B tag
+@cindex multi-part $B3+;O(B tag
+@cindex tag
+@cindex mime/editor-mode
 
-@cindex{mime/editor-mode}@strong{mime/editor-mode} $B$O(B MIME message $B$r:n(B
-$B@.$9$k$?$a$N(B minor mode $B$G$9!#$3$N(B mode $B$G$O(B @cindex{tag}@strong{tag} $B$r(B
-$B;H$C$F$5$^$6$^$J<oN`$N(B data $B$rI=8=$7!"J#?t$NItJ,$+$i$J$k(B message
-(@ref{(tm-ja)multipart}) $B$rJT=8$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B@refill
+@strong{mime/editor-mode} $B$O(B MIME message $B$r:n@.$9$k$?$a$N(B minor mode $B$G(B
+$B$9!#$3$N(B mode $B$G$O(B @strong{tag} $B$r;H$C$F$5$^$6$^$J<oN`$N(B data $B$rI=8=$7!"(B
+$BJ#?t$NItJ,$+$i$J$k(B message (@ref{(tm-ja)multipart}) $B$rJT=8$9$k$3$H$r2DG=(B
+$B$K$7$F$$$^$9!#(B@refill
 
 tag $B$K$O(B
 
@@ -109,7 +117,7 @@
 @end example
 
 @noindent
-$B$H$$$&7A$N(B @cindex{multi-part $B3+;O(B tag}@strong{multi-part $B3+;O(B tag} $B$H8F$P$l$k(B multi
+$B$H$$$&7A$N(B @strong{multi-part $B3+;O(B tag} $B$H8F$P$l$k(B multi
 part $B$N3+;O$r<($9(B tag $B$H(B
 
 @example
@@ -117,11 +125,11 @@
 @end example
 
 @noindent
-$B$H$$$&7A$N(B @cindex{multi-part $B=*N;(B tag}@strong{multi-part $B=*N;(B tag} $B$H8F$P$l$k(B multi
+$B$H$$$&7A$N(B @strong{multi-part $B=*N;(B tag} $B$H8F$P$l$k(B multi
 part $B$N=*N;$r<($9(B tag $B$,$"$j$^$9!#(B
 
 $B$^$?!"(Bmulti-part $B3+;O(B tag $B$H(B multi-part $B=*N;(B tag $B$G0O$^$l$?ItJ,$r(B 
-@cindex{enclosure}@strong{enclosure} $B$H8F$S$^$9!#(B
+@strong{enclosure} $B$H8F$S$^$9!#(B
 
 
 @node single-part operations, enclosure operation, mime/editor-mode, Top
@@ -134,7 +142,8 @@
 text part $B$rI=$9(B single-part tag $B$rA^F~$7$^$9!#(B
 
 @item @key{C-c C-x C-i}
-file $B$r(B MIME part $B$H$7$FE:IU$7$^$9!#(B
+file $B$r(B MIME part $B$H$7$FE:IU$7$^$9!#A0$K(B @kbd{C-u} $B$rIU$1$?>l9g!">o$K(B 
+media-type, subtype $BEy$rJ9$$$FMh$^$9!#(B(cf. @ref{tag specification for inserted file})
 
 @item @key{C-c C-x C-e}
 external part $B$rA^F~$7$^$9!#(B
@@ -182,10 +191,10 @@
 $B;XDj$7$?(B region $B$r(B multipart/digest $B$H$7$F0O$_$^$9!#(B
 
 @item @key{C-c C-x s}
-$B;XDj$7$?(B region $B$KEE;R=pL>$r9T$$$^$9!#(B(@ref{PGP})
+$B;XDj$7$?(B region $B$KEE;R=pL>$r9T$$$^$9!#(B(cf. @ref{PGP})
 
 @item @key{C-c C-x e}
-$B;XDj$7$?(B region $B$r0E9f2=$7$^$9!#(B(@ref{PGP})
+$B;XDj$7$?(B region $B$r0E9f2=$7$^$9!#(B(cf. @ref{PGP})
 
 @item @key{C-c C-x q}
 $B;XDj$7$?(B region $BFb$N(B tag $B$rL58z$K$7!"$=$N(B tag $B$rJ8;zNs$H$7$FMxMQ$G$-$k(B
@@ -196,7 +205,7 @@
 
 
 
-@node other operations of mime/editor-mode, transfer level, enclosure operation, Top
+@node other operations of mime/editor-mode, tag specification for inserted file, enclosure operation, Top
 @chapter mime/editor-mode $B$K$*$1$k$=$NB>$NA`:n(B
 
 mime/editor-mode $B$K$*$1$k$=$NB>$NA`:n$r@bL@$7$^$9!#(B
@@ -206,7 +215,8 @@
 $BJT=8Cf$N(B message $B$rAw?.$7$^$9!#(B
 
 @item @key{C-c C-x C-p}
-$BJT=8Cf$N(B message $B$r(B preview $B$7$^$9!#(B(@ref{(tm-view-ja)mime/viewer-mode})
+$BJT=8Cf$N(B message $B$r(B preview $B$7$^$9!#(B
+(cf. @ref{(tm-view-ja)mime/viewer-mode})
 
 @item @key{C-c C-x C-z}
 $BJT=8Cf$N(B message $B$rAw?.$9$k$3$H$J$/!"(Bmime/editor-mode $B$r=*N;$7$^$9!#(B
@@ -227,10 +237,10 @@
 $B$9!#(B
 
 @item @key{C-c C-x v}
-message $BA4BN$rEE;R=pL>$9$k$+$I$&$+$r7h$a$^$9!#(B(@ref{PGP})
+message $BA4BN$rEE;R=pL>$9$k$+$I$&$+$r7h$a$^$9!#(B(cf. @ref{PGP})
 
 @item @key{C-c C-x h}
-message $BA4BN$r0E9f2=$9$k$+$I$&$+$r7h$a$^$9!#(B(@ref{PGP})
+message $BA4BN$r0E9f2=$9$k$+$I$&$+$r7h$a$^$9!#(B(cf. @ref{PGP})
 
 @item @key{C-c C-x ?}
 help message $B$rI=<($7$^$9!#(B
@@ -239,8 +249,79 @@
 
 
 
-@node transfer level, header, other operations of mime/editor-mode, Top
+@node tag specification for inserted file, transfer level, other operations of mime/editor-mode, Top
+@chapter $BA^F~$5$l$k(B file $B$KBP$9$k(B tag $B$N7hDj(B
+
+@kbd{C-c C-x C-i} (@code{mime-editor/insert-file}) $B$r<B9T$7$?;~!"A^F~$5(B
+$B$l$k(B file $B$KBP$9$k(B media-type $B$d(B encoding $B$J$I$N(B tag $B$N>pJs$OJQ?t(B 
+@code{mime-file-types} $B$K$h$C$F(B file $BL>$+$i?dB,$5$l$^$9!#(B@refill
+
+$BA0$K(B @kbd{C-u} $B$rIU$1$?;~!"$*$h$S!"E,Ev$JCM$,8+IU$+$i$J$+$C$?>l9g!"(Buser 
+$B$KBP$7$FCM$NF~NO$rB%$7$^$9!#!JA0$K(B @kbd{C-u} $B$rIU$1$?;~!"?dB,$5$l$?CM$,(B
+$B4{DjCM$H$7$FMQ$$$i$l$^$9!K(B@refill
+
+file $BL>$KBP$9$k4{DjCM$rJQ$($?$$>l9g$OJQ?t(B @code{mime-file-types}
+$B$r@_Dj$7$F2<$5$$!#(B
+
+@defvar mime-file-types
+
+$BA^F~$5$l$k(B file $B$N(B file $BL>$KBP$9$k(B tag $B$N4{DjCM$rM?$($k!#(B@refill
+
+$B$3$NJQ?t$O(B
+
+@lisp
+	(FILE_PAT TYPE SUBTYPE PARAMS ENCODING
+	 DISPOSITION_TYPE DISPOSITION_PARAMS)
+@end lisp
+
+
+$B$H$$$&(B list $B$N(B list $B$G!"3FMWAG$O0J2<$NDL$j$G$"$k!'(B
+
+@table @samp
+@item FILE_PAT
+file $BL>$rI=$9@55,I=8=(B
+
+@item TYPE
+media type
+
+@item SUBTYPE
+media subtype
+
+@item PARAMS
+Content-Type field $B$N(B parameter
+
+@item ENCODING
+Content-Transfer-Encoding
+
+@item DISPOSITION_TYPE
+disposition-type
+
+@item DISPOSITION_PARAMS
+Content-Disposition field $B$N(B parameter
+
+@end table
+
+@noindent
+$B@_DjNc!'(B @file{*.rtf} $B$KBP$9$k(B media type $B$r(B application/rtf $B$K(B
+$B$9$k>l9g(B
+
+@lisp
+(call-after-loaded
+ 'tm-edit
+ (lambda ()
+   (set-alist 'mime-file-types
+	      "\\.rtf$"
+	      '("application" "rtf" nil nil
+		"attachment" (("filename" . file)))
+	      )))
+@end lisp
+@end defvar
+
+
+
+@node transfer level, header, tag specification for inserted file, Top
 @chapter transfer level
+@cindex transfer level
 
 message $B$KA^F~$9$k(B data $B$O(B 7bit (@ref{(tm-ja)7bit}) $B$J$$$7(B 8bit
 (@ref{(tm-ja)8bit}) $B$b$7$/$O(B binary (@ref{(tm-ja)binary}) $B$GI=8=$9$k$3$H(B
@@ -267,7 +348,7 @@
 $B$J$$$G$7$g$&!#(B
 @end quotation
 
-@cindex{transfer level}@strong{transfer level} $B$H$$$&$N$O$I$NHO0O$N(B data $B$^$GAw$l$k(B
+@strong{transfer level} $B$H$$$&$N$O$I$NHO0O$N(B data $B$^$GAw$l$k(B
 $B$+$H$$$&$3$H$rI=$9$b$N$G$9!#(Btm-edit $B$O(B 
 @code{mime-editor/transfer-level} $B$H$$$&JQ?t$r;}$C$F$*$j!"$3$l$G(B 
 transfer level $B$rI=8=$7$^$9!#(B
@@ -292,8 +373,7 @@
 @strong{[Memo]}
 @quotation
 transfer level $B$O(B message header (@ref{header}) $B$K$O4X78$7$J$$!#(BRFC 1521 
-$B$O(B body $B$K$*$$$F!"(B8bit $B$N(B data $B$r;H$($k$h$&$K(B RFC 822 (@ref{(tm-ja)RFC
-822}) $B$r3HD%$7$F$$$k$,!"(Bmessage header $B$G$O(B us-ascii
+$B$O(B body $B$K$*$$$F!"(B8bit $B$N(B data $B$r;H$($k$h$&$K(B RFC 822 (@ref{(tm-ja)RFC 822}) $B$r3HD%$7$F$$$k$,!"(Bmessage header $B$G$O(B us-ascii
 (@ref{(tm-ja)us-ascii}) $B$N$_$rMQ$$$k$3$H$r5a$a$F$$$k!#(B
 @end quotation
 
@@ -301,14 +381,14 @@
 
 @node header, PGP, transfer level, Top
 @chapter header $B$G$NHs(B ASCII $BJ8;z$N;HMQ(B
+@cindex encoded-word
 
 RFC 1522 (@ref{(tm-ja)RFC 1522}) $B$G$O(B header $B$GHs(B ASCII $BJ8;z$rI=8=$9$k$?(B
 $B$a$NJ}K!$rDj5A$7$F$$$^$9!#(B@refill
 
-$B$3$l$O(B @cindex{encoded-word}@strong{encoded-word}
-(@ref{(tm-ja)encoded-word}) $B$H8F$P$l$k7?<0$G!"(BMIME charset
-(@ref{(tm-ja)MIME charset}) $B$r@k8@$7!"$+$D!"(B7bit (@ref{(tm-ja)7bit}) $B$G(B
-$BI=8=$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B
+$B$3$l$O(B @strong{encoded-word} (@ref{(tm-ja)encoded-word}) $B$H8F$P$l$k7?<0(B
+$B$G!"(BMIME charset (@ref{(tm-ja)MIME charset}) $B$r@k8@$7!"$+$D!"(B7bit
+(@ref{(tm-ja)7bit}) $B$GI=8=$9$k$3$H$r2DG=$K$7$F$$$^$9!#(B
 
 
 @menu
@@ -416,13 +496,14 @@
 
 
 
-@node PGP, Concept Index, header, Top
+@node PGP, Acknowledgments, header, Top
 @chapter PGP
+@cindex PGP-kazu
+@cindex PGP/MIME
 
-tm-edit $B$G$O(B @cindex{PGP/MIME}@strong{PGP/MIME} (@ref{(tm-ja)PGP/MIME})
-(RFC 2015) $B$*$h$S(B @cindex{PGP-kazu}@strong{PGP-kazu}
-(@ref{(tm-ja)PGP-kazu}) (draft-kazu-pgp-mime-00.txt) $B$K$h$k0E9f2=!&EE;R(B
-$B=pL>!&8x3+80$NA^F~5!G=$rMxMQ$9$k$3$H$,$G$-$^$9!#(B@refill
+tm-edit $B$G$O(B @strong{PGP/MIME} (@ref{(tm-ja)PGP/MIME}) (RFC 2015) $B$*$h$S(B 
+@strong{PGP-kazu} (@ref{(tm-ja)PGP-kazu}) (draft-kazu-pgp-mime-00.txt) 
+$B$K$h$k0E9f2=!&EE;R=pL>!&8x3+80$NA^F~5!G=$rMxMQ$9$k$3$H$,$G$-$^$9!#(B
 
 $BC"$7!"$3$N5!G=$rMxMQ$9$k$K$O(B Mailcrypt package (@ref{(mailcrypt)}) $B$H(B 
 pgp command $B$,I,MW$G$9!#(B@refill
@@ -456,7 +537,19 @@
 
 
 
-@node Concept Index, Function Index, PGP, Top
+@node Acknowledgments, Concept Index, PGP, Top
+@chapter $B<U<-(B
+
+$B:G=i$K!"(Btm-edit $B$NA0?H$H$J$C$?(B @file{mime.el} $B$r=q$-!"$=$NG[I[$H2~B$$r$*(B
+$B5v$72<$5$C$?!"G_ED@/?.$5$s$K46<U$7$^$9!#(Btm-edit $B$N(B user interface $B$N4pK\(B
+$BE*$J@_7W$OG_ED$5$s$N<j$K$h$k$b$N$G!"$H$F$bNI$$@_7W$G$"$C$?$H;W$$$^$9!#(B
+@refill
+
+$B<!$K!"(Bbeta test $B$K6(NO$7$F2<$5$C$?F|K\8lHG!"1Q8lHGAPJ}$N(B tm mailing
+list $B$N(B member $B$K46<U$7$^$9!#(B
+
+
+@node Concept Index, Function Index, Acknowledgments, Top
 @chapter $B35G0:w0z(B
 
 @printindex cp
--- a/man/tm/tm-en.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-en.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,9 +1,9 @@
 <!doctype sinfo system>
-<!-- $Id: tm-en.sgml,v 1.1 1996/12/22 00:09:33 steve Exp $ -->
+<!-- $Id: tm-en.sgml,v 1.2 1996/12/29 00:15:30 steve Exp $ -->
 <head>
-<title>tm 7.90 Manual (English Version)
+<title>tm 7.100 Manual (English Version)
 <author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
-<date>1996/10/15
+<date>1996/12/25
 
 <toc>
 </head>
@@ -20,7 +20,7 @@
 <p>
 The tm package is a set of modules to enjoy MIME on GNU Emacs.  Using
 tm, you can
-
+<p>
 <ul>
 <li> playback or view the MIME messages using tm-view
 <li> compose MIME message using tm-edit
@@ -128,9 +128,10 @@
 <h3> ASCII
 <node> ASCII
 <p>
-$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?(B <dref>94-character set</dref>.
-A-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(B<a node="ISO
-646">ISO 646</a> $B$N0l$D!#(B
+<concept>ASCII</concept> is a <dref>94-character set</dref> contains
+primary latin characters (A-Z, a-z), numbers and some characters.  It
+is a standard of the United States of America.  It is a variant of <a
+node="ISO 646">ISO 646</a>.
 
 <standard abbrev="ASCII" title-en="Coded Character Set -- 7-Bit
 	      American Standard Code for Information Interchange"
@@ -156,65 +157,65 @@
 <h3> binary
 <node> binary
 <p>
-$BG$0U$N(B byte $BNs$r(B <concept>binary</concept> $B$H8F$V$3$H$K$7$^$9!#(B
-<p>
-<a node="8bit">8bit</a> $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G(B
-$B$9!#(B
-<p>
-$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary
-$B$H8F$V$3$H$K$7$^$9!#(B
+Any byte stream is called <concept>binary</concept>.
 <p>
-$B$A$J$_$K!"(B<a node="7bit">7bit</a> $B$d(B 8bit $B$GI=8=$G$-$k(B data $B$O(B binary 
-$B$G$bI=8=$G$-$^$9!#$h$C$F!"(B<concept>binary data</concept> $B$H8@$C$?>l9g!"(B
-$BG$0U$N(B data $B$r;X$9$3$H$,$"$j$^$9!#(B
-
-
-<h3> Graphic Character Set
-<node> graphic character set
+It does not require structureof lines.  It differs from from <a
+node="8bit">8bit</a>.
 <p>
-<dref>Coded character set</dref> for graphic characters.
+In addition, if line structured data contain too long line (more than
+998 bytes), it is regarded as binary.
 
 
 <h3> cn-gb, gb2312
 <node> cn-gb
 <p>
-$BCf9qBgN&$G$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B <a
-node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+A <a node="MIME charset">MIME charset</a> for simplified Chinese
+mainly used in the Chinese mainland.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B <dref>GB
-2312</dref> $B$r(B <dref>8bit</dref> $B$G(B<a node="Code extension">$BId9f(B
-$B3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>GB 2312</dref>.
 <p>
-<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+It is defined in <a node="RFC 1922">RFC 1922</a>.
 
 
 <h3> cn-big5, big5
 <node> cn-big5
 <p>
-$BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-<a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+A <a node="MIME charset">MIME charset</a> for traditional Chinese
+mainly used in Taiwan and Hon Kong.
 <p>
-<dref>ISO 2022</dref> $B$K4p$+$J$$(B <dref>8bit</dref> $B$N(B
-<dref>coded character set</dref>$B$G(B de-fact standard $B$G(B
-$B$"$k!#(B<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> not based
+on <dref>ISO 2022</dref>.  It is a de-fact standard.
+<p>
+It is defined in <a node="RFC 1922">RFC 1922</a>.
 <p>
 cf. <report abbrev="BIG5" author="Institute for Information Industry"
 	      title-en="Chinese Coded Character Set in Computer"
 	      date="March 1984">
 <p>
-<a node="CNS">CNS 11643-1986</a> $B$HBP1~4X78$,$"$k!#(B
+It corresponds to <dref>CNS 11643</dref>.
 
 
 <h3> CNS 11643-1992
-<node> CNS
+<node> CNS 11643
+<p>
+<a node="graphic character set">Graphic character sets</a> for Chinese
+mainly written by traditional Chinese mainly used in Taiwan and Hong
+Kong.  It is a standard of Taiwan.  Currently there are seven
+<dref>94x94-character set</dref>.
 <p>
-$BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-<a node="Character set">$BJ8;z=89g(B</a>$B!#BfOQ$NI8=`!#8=:_!"(B<a node="94x94
-character set">94$B!_(B94</a> $B$NLL$,Bh#1LL$+$iBh#7LL$^$G$"$k!#(B
-<p>
-<dref>ISO 2022</dref> $B$G$N=*C<J8;z$O!"Bh#1LL$,(B `G', $BBh#2LL$,(B 
-`H', $BBh#3LL$,(B `I', $BBh#4LL$,(B `J', $BBh#5LL$,(B `K', $BBh#6LL$,(B `L', $BBh#7LL$,(B 
-`M' $B$G$"$k!#(B
+Final byte of <dref>ISO 2022</dref> are following:
+
+<dl>
+<dt>plane 1<dd>04/07 (`G')
+<dt>plane 2<dd>04/08 (`H')
+<dt>plane 3<dd>04/09 (`I')
+<dt>plane 4<dd>04/10 (`J')
+<dt>plane 5<dd>04/11 (`K')
+<dt>plane 6<dd>04/12 (`L')
+<dt>plane 7<dd>04/13 (`M')
+</dl>
 
 <standard abbrev="CNS 11643-1992" title-en="Standard Interchange Code
 	      for Generally-Used Chinese Characters" number="CNS
@@ -239,8 +240,8 @@
 <h3> Content-Disposition field
 <node> Content-Disposition
 <p>
-Content $B$NI=<($N;EJ}$d(B file $BL>$rI=8=$9$k$?$a$N(B field. <a
-node="MIME">MIME</a> $B$N3HD%$N#1$D!#(B
+A field to specify presentation of entity or file name.  It is an
+extension for <dref>MIME</dref>.
 <p>
 <rfc number="1806" type="Experimental" author="E R. Troost and
 	      S. Dorner" title="Communicating Presentation Information
@@ -248,48 +249,6 @@
 	      date="June 1995">
 
 
-<h3> media type
-<node> media type
-<p>
-<concept>media type</concept> specifies the nature of the data in the
-body of <dref>MIME</dref> <dref>entity</dref>.  It consists of
-<concept>type</> and <concept>subtype</concept>.  It is defined in
-<dref>RFC 2046</dref>.
-<p>
-Currently there are following types:
-
-<ul>
-<li><concept>text</concept>
-</li>
-<li><concept>image</concept>
-</li>
-<li><concept>audio</concept>
-</li>
-<li><concept>video</concept>
-</li>
-<li><concept>application</concept>
-</li>
-<li><a node="multipart"><concept>multipart</concept></a>
-</li>
-<li><concept>message</concept>
-</ul>
-
-<p>
-And there are various subtypes, for example, application/octet-stream,
-audio/basic, image/jpeg, <dref>multipart/mixed</dref>,
-<dref>text/plain</dref>, video/mpeg...
-<p>
-You can refer registered media types at <a
-href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
-TYPES</a>.
-<p>
-In addition, you can use private type or subtype using
-<concept>x-token</concept>, which as the prefix `x-'.  However you can
-not use them in public.
-<p>
-<cf node="Content-Type field">
-
-
 <h3> Content-Type field
 <node> Content-Type field
 <p>
@@ -355,8 +314,8 @@
 <h3> Emacs
 <node> Emacs
 <p>
-$B$3$3$G$O(B `Emacs' $B$G(B FSF $B$,G[I[$7$F$$$k(B GNU Emacs $B$r;X$7!"(B`emacs' $B$G(B
-GNU Emacs $B$NJQ<o$NAm>N$H$9$k!#(B
+In this document, `Emacs' means GNU Emacs released by FSF, and `emacs'
+means any variants of GNU Emacs.
 
 
 <h3> encoded-word
@@ -374,23 +333,36 @@
 <h3> encapsulation
 <node> encapsulation
 <p>
-<a node="RFC 822">Internet mail</a> $B$rB>$N5-;v$K$^$k$4$HF~$l$kJ}K!!#(B
+Method to insert whole <a node="RFC 822">Internet message</a> into
+another Internet message.
 <p>
-$BNc$($P!"5-;v$rE>Aw$7$?$j$9$k$N$KMQ$$$k!#(B
+For example, it is used to forward a message.
 <p>
 <cf node="message/rfc822">
 
 
+<h3> Entity
+<node> entity
+<p>
+Header fields and contents of a message or one of the parts in the
+body of a <dref>multipart</dref> entity.
+
+<memo>
+<p>
+In this document, `entity' might be called ``part''.
+</memo>
+
+
 <h3> euc-kr
 <node> euc-kr
 <p>
-$B4Z9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+A <dref>MIME charset</dref> for Korean.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B
-<a node="KS C5601">KS C5601</a> $B$r(B <dref>8bit</dref> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>KS C5601</dref>.
 <p>
-<a node="RFC 1557">RFC 1557</a> $B$GDj5A$5$l$F$$$k!#(B
+It is defined in <dref>RFC 1557</dref>.
 <p>
 cf. <standard abbrev="euc-kr" org="Korea Industrial Standards
 	      Association" title-en="Hangul Unix Environment"
@@ -399,9 +371,6 @@
 
 <h3> FTP <node> FTP
 <p>
-Internet $B$G(B file $B$rE>Aw$9$k$?$a$N(B protocol $B$N#1$D!#(BRFC 959 $B$GDj5A$5$l(B
-$B$F$$$k!#(B
-<p>
 <rfc name="FTP" number="959" type="STD 9" author="Postel, J. and
 	      J. Reynolds" title="File Transfer Protocol"
 	      date="October 1985">
@@ -410,14 +379,13 @@
 <h3> GB 2312-1980
 <node> GB 2312
 <p>
-$BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=$9$?$a$N(B 
-<dref>94x94-character set</dref>$B!#Cf9q$N9q2HI8=`!#(B<a node="ISO
-2022">ISO 2022</a> $B$G$N=*C<J8;z$O(B `A'.
+A <dref>94x94-character set</dref> for Chinese mainly written by
+simplified Chinese mainly used in the Chinese mainland.  It is a
+standard of China.
 <p>
-$B$3$l$O(B GB $B$K$*$1$k4pK\=8$G$"$k!#(B
+Final byte of <dref>ISO 2022</dref> is 04/01 (`A').
 
 <standard abbrev="GB 2312"
-	      title-cn="$B?.B)8r49MQ4A;zJTb{;zId=8(B -- $B4pK\=8(B"
 	      title-en="Code of Chinese Graphic Character Set for
 	      Information Interchange - Primary Set" number="GB 2312"
 	      year="1980">
@@ -426,9 +394,8 @@
 <h3> GB 8565.2-1988
 <node> GB 8565.2
 <p>
-$BCf9q8l$N$?$a$NJd=u(B<a node="Character set">$BJ8;z=89g(B</a>$B!#Cf9q$N9q2HI8=`!#(B
-<a node="GB 2312">GB 2312</a> $B$N6u$-ItJ,$KJd=<$9$k$h$&$KDj5A$5$l$?$i$7(B
-$B$$!#(B
+A <dref>94x94-character set</dref> for Chinese as supplement to
+<dref>GB 2312</dref>.  It is a standard of China.
 
 <standard abbrev="GB 8565.2" title-en="Information Processing - Coded
 	      Character Sets for Text Communication - Part 2: Graphic
@@ -436,17 +403,25 @@
 	      year="1988">
 
 
+<h3> Graphic Character Set
+<node> graphic character set
+<p>
+<a node="coded character set">Coded character set</a> for graphic
+characters.
+
+
 <h3> hz-gb2312
 <node> hz-gb2312
 <p>
-$BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B <a
-node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+A <a node="MIME charset">MIME charset</a> for simplified Chinese
+mainly used in the Chinese mainland.
 <p>
-<dref>ASCII</dref> $B$K(B <a node="GB 2312">GB 2312</a> $B$r(B 7bit $B$G(B
-<a node="Code extension">$BId9f3HD%(B</a>$B$7$?$b$N$r(B ASCII printable $B$K$J$k(B
-$B$h$&$K9)IW$7$F$$$k!#(B
+It extends <dref>ASCII</dref> to combine <dref>GB 2312</dref>, its
+technique is like <dref>iso-2022-jp</dref>, but it is designed to be 
+ASCII printable to use special form for ESC sequence to designate GB
+2312 to G0.
 <p>
-RFC 1842, 1843 $B$GDj5A$5$l$F$$$k!#(B
+It is defined in RFC 1842 and 1843.
 
 <rfc number="1842" type="Informational" author="Y. Wei, Y. Zhang,
 	      J. Li, J. Ding and Y. Jiang" title="ASCII Printable
@@ -460,11 +435,8 @@
 <h3> ISO 2022
 <node> ISO 2022
 <p>
-<a node="Code extension">$BId9f3HD%(B</a>$B$N$?$a$N9q:]I8=`!#(B
-<p>
-$B$3$l$rMQ$$$FJ#?t$N(B<a node="Character set">$BJ8;z=89g(B</a>$B$rAH9g$;$F(B <a
-node="7bit">7bit</a> $B$J$$$7(B <dref>8bit</dref> $B$N(B <a node="Coded
-character set">$BId9f2=J8;z=89g(B</a> $B$r:n$k$3$H$,$G$-$k!#(B
+It is a standard for character code structure and <dref>code
+extension</dref> technique.
 
 <standard abbrev="ISO 2022" org="International Organization for
 	      Standardization (ISO)" title-en="Information Processing:
@@ -475,50 +447,50 @@
 <h3> iso-2022-cn
 <node> iso-2022-cn
 <p>
-$BCf9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+A <dref>MIME charset</dref> for Chinese.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B 
-<a node="GB 2312">GB 2312</a>, <a node="CNS">CNS 11643 plain 1, plain
-2</a> $B$r(B <a node="7bit">7bit</a> $B$G(B<a node="Code extension">$BId9f3HD%(B
-</a>$B$7$F$$$k!#(B
+It is a <dref>7bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>GB 2312</dref> and/or <a node="CNS 11643">CNS 11643 plain 1,
+plain 2</a>.
 <p>
-<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+It is defined in <dref>RFC 1922</dref>.
 
 
 <h3> iso-2022-cn-ext
 <node> iso-2022-cn-ext
 <p>
-$BCf9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+A <dref>MIME charset</dref> for Chinese.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B 
-<a node="GB 2312">GB 2312</a>, <a node="CNS">CNS 11643 plain 1
-.. 7</a>, <a node="ISO-IR-165">ISO-IR-165</a> $BEy$r(B <a
-node="7bit">7bit</a> $B$G(B<a node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>7bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>GB 2312</dref>, <a node="CNS 11643">CNS 11643 plain 1 .. 7</a>, 
+<dref>ISO-IR-165</dref> and other Chinese graphic character sets.
 <p>
-<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+It is defined in <dref>RFC 1922</dref>.
 <p>
 <memo>
-MULE 2.3 $B$*$h$S!"8=:_$N(B XEmacs/mule $B$G$O@5$7$/07$&$3$H$O$G$-$J$$!#(B
+MULE 2.3 and current XEmacs/mule can not use it correctly.
 <p>
-Emacs/mule $B$G$OMxMQ2DG=$G$"$k!#(B
+Emacs/mule can use it.
 </memo>
 
 
 <h3> iso-2022-jp
 <node> iso-2022-jp
 <p>
-$BF|K\8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N0l$D!#(B
+A <dref>MIME charset</dref> for Japanese.
 <p>
-$B8E$$(B <dref>ISO 2022</dref> $B$K4p$$$F(B <a
-node="ASCII">ASCII</a>, JIS X0201-Latin, <a node="JIS C6226-1978">JIS
-X0208-1978</a>, <a node="JIS X0208">JIS X0208-1983</a> $B$r@Z$jBX$($k(B <a
-node="7bit">7bit</a> $BJ8;zId9f!#(B
+It is a <dref>7bit</dref> <dref>coded character set</dref> based on
+old <dref>ISO 2022</dref>.  It switches <dref>ASCII</dref>, JIS
+X0201-Latin, <a node="JIS C6226">JIS X0208-1978</a> and <a node="JIS
+X0208">JIS X0208-1983</a>.
 <p>
-RFC 1468 $B$GDj5A$5$l$F$$$k!#(B
+It is defined in RFC 1468.
 <p>
 <memo>
-JIS X0208-1996? $B$G$O(B <dref>ISO 2022</dref> $B$HFHN)$KDj5A$5$l(B
-$B$kM=Dj!#(B
+JIS X0208-1997? will define it in annex as non-<dref>ISO 2022</dref>
+encoding.
 </memo>
 
 <rfc name="iso-2022-jp" number="1468" author="Murai J., M. Crispin,
@@ -547,8 +519,8 @@
 script).
 <p>
 It is based on <dref>ISO 2022</dref> <dref>code extension</dref>
-technique to extends <dref>ASCII</dref> to use <dref>KS C5601</dref>
-as <dref>7bit</dref> text.
+technique to extend <dref>ASCII</dref> to use <dref>KS C5601</dref> as
+<dref>7bit</dref> text.
 <p>
 It is defined in <dref>RFC 1557</dref>.
 
@@ -556,12 +528,6 @@
 <h3> ISO 646
 <node> ISO 646
 <p>
-$B3F9q$G6&DL$K;H$($k:G>.8BEY$N(B<a node="Character set">$BJ8;z=89g(B</a>$B$rDj$a(B
-$B$?$b$N!#(B<a node="94 character set">94 $BJ8;z=89g(B</a>$B$N#1$D!#(BISO 646 IRV
-$B!J9q:]4p=`HG!K$r85$K4v$D$+$NJ8;z$O3F9q$G0c$&J8;z$r3dEv$k$3$H$r5v$7$F$$(B
-$B$F!"4v$D$+$NJQ<o$,B8:_$9$k!#(B<dref>ASCII</dref> $B$d(B JIS
-X0201-Latin $B$O$=$N0l<o!#(B
-
 <standard abbrev="ISO 646" org="International Organization for
 	      Standardization (ISO)" title-en="Information technology:
 	      ISO 7-bit coded character set for information
@@ -584,9 +550,9 @@
 <concept>iso-8859-1</concept> is a <dref>MIME charset</dref> for
 west-European languages written by Latin script.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B 
-<a node="ISO 8859-1">ISO 8859-1</a> $B$r(B <dref>8bit</dref> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>ISO 8859-1</dref>.
 <p>
 It is defined in <dref>RFC 2046</dref>.
 
@@ -607,9 +573,9 @@
 <concept>iso-8859-2</concept> is a <dref>MIME charset</dref> for
 east-European languages written by Latin script.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B 
-<a node="ISO 8859-2">ISO 8859-2</a> $B$r(B <dref>8bit</dref> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>ISO 8859-2</dref>.
 <p>
 It is defined in <dref>RFC 2046</dref>.
 
@@ -650,9 +616,9 @@
 <concept>iso-8859-5</concept> is a <dref>MIME charset</dref> for
 Cyrillic script.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B 
-<a node="ISO 8859-5">ISO 8859-5</a> $B$r(B <dref>8bit</dref> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>ISO 8859-5</dref>.
 <p>
 It is defined in <dref>RFC 2046</dref>.
 
@@ -683,9 +649,9 @@
 <concept>iso-8859-7</concept> is a <dref>MIME charset</dref> for
 Greek script.
 <p>
-<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B 
-<a node="ISO 8859-7">ISO 8859-7</a> $B$r(B <dref>8bit</dref> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+It is a <dref>8bit</dref> <dref>coded character set</dref> based on
+<dref>ISO 2022</dref>.  It extends <dref>ASCII</dref> to combine
+<dref>ISO 8859-7</dref>.
 <p>
 It is defined in RFC 1947.
 
@@ -716,44 +682,42 @@
 
 <h3> ISO-IR-165, CCITT Extended GB <node> ISO-IR-165
 <p>
-CCITT $B$,EPO?$7$?!"Cf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=(B
-$B8=$9$k$?$a$N(B <dref>94x94-character set</dref>$B!#(B
+A <dref>94x94-character set</dref> for Chinese mainly written by
+simplified Chinese mainly used in the Chinese mainland registered by
+CCITT.
 <p>
-<a node="GB 2312">GB 2312</a> $B$H(B <a node="GB 8865.2">GB 8565 $BI=#2(B</a> 
-$B$K(B 150 $BJ8;z$[$I$rDI2C$7$?$b$N$i$7$$!#(B
+It consists of <dref>GB 2312</dref>, <dref>GB 8565.2</dref> and
+additional 150 characters.
 <p>
-<dref>ISO 2022</dref> $B$G$N=*C<J8;z$O(B `E' $B$G$"$k!#(B
+Final byte of <dref>ISO 2022</dref> is 04/05 (`E').
 
 
 <h3> JIS X0201
 <node> JIS X0201
 <p>
-<a node="ISO 646">ISO 646</a> $B$NJQ<o$N#1$D$G$"$k(B Latin $BJ8;z=89g$H(B 1
-byte $B$N%+%?%+%JJ8;z=89g$+$i$J$k!#(B
+It defines two <dref>94-character set</dref>, for Latin script (a
+variant of <dref>ISO 646</dref>) and Katakana script, and 7bit and
+8bit <dref>coded character set</dref>s.
 <p>
-$B85$O(B <concept>JIS C6220-1976</concept> $B$H8@$C$?$,(B <concept>JIS
-X0201</concept> $B$KHV9f$,JQ99$5$l$?!#(B
+It was renamed from <concept>JIS C6220-1976</concept>.
 
-<standard abbrev="JIS X0201-1976" org="$BF|K\5,3J6(2q(B (Japanese
-	      Standards Association)" title-ja="$B>pJs8r49MQId9f(B"
+<standard abbrev="JIS X0201-1976" org="Japanese Standards Association"
 	      title-en="Code for Information Interchange" number="JIS
 	      X 0201-1976">
 
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=P$kM=Dj!#(B
+In addition, revised version will be published in 1997.
 
-<standard abbrev="JIS X0201-1996?" org="$BF|K\5,3J6(2q(B (Japanese
-	      Standards Association)"
-	      title-ja="$B#7%S%C%H5Z$S#8%S%C%H$N>pJs8r49MQId9f2=J8;z=89g(B"
-	      title-en="7-bit and 8-bit coded character sets for
-	      information interchange" number="JIS X 0201" year="1996?
-	      draft">
+<standard abbrev="JIS X0201-1997?" org="Japanese Standards
+	      Association" title-en="7-bit and 8-bit coded character
+	      sets for information interchange" number="JIS X 0201"
+	      year="1997?  draft">
 
 
 <h3> JIS C6226-1978
 <node> JIS C6226
 <p>
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B <dref>94x94-character set</dref>$B!#F|K\$N9q(B
-$B2HI8=`!#(BJIS X0208-1978 $B$H$b$$$&!#(B
+A <dref>94x94-character set</dref> for Japanese.  It was renamed to
+JIS X0208-1978.
 <p>
 <cf node="JIS X0208">
 
@@ -761,45 +725,46 @@
 <h3> JIS X0208
 <node> JIS X0208
 <p>
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B <dref>94x94-character set</dref>$B!#F|K\$N9q(B
-$B2HI8=`!#(B1978 $BG/HG!"(B1983 $BG/HG!"(B1990 $BG/HG$,$"$k$,!"(BInternet $B$G$O(B 1983 $BG/(B
-$BHG$,$b$C$H$bNI$/;H$o$l$F$$$k!#(B
+A <dref>94x94-character set</dref> for Japanese.  Japanese standard.
+It was published in 1978, and revised in 1983 and 1990.  In the
+Internet message, 1983 edition is major.
 <p>
-JIS X0208 $B$O5-9f!"?t;z!"%m!<%^;z!"$R$i$,$J!"%+%?%+%J!"%.%j%7%cJ8;z!"%-(B
-$B%j%kJ8;z!"7S@~AG!"Bh#1?e=`!"Bh#2?e=`$N4A;z$,4^$^$l$k!#C"$7!"(B1983 $BG/HG(B
-$B$N0lIt$N5-9f$H7S@~AG$O(B 1978 $BG/HG$K$O$J$$!#$^$?!"0lIt$N4A;z$N;z7A$,(B 
-1983 $BG/HG$G$OJQ99$5$l!"$^$?!"Bh#1?e=`$HBh#2?e=`$,F~$lBX$o$C$F$$$?$j$9(B
-$B$k!#$3$N$?$a!"(B1978 $BG/HG$H(B 1983 $BG/HG$O0[$J$kJ8;z=89g$H$7$F07$o$l$k!#(B
+JIS X0208 contains some symbols, numbers, primary Latin script,
+Hiragana script, Katakana script, Greek script, Cyrillic script, box
+drawing parts, Kanji (Ideographic characters used in Japanese).
+Notice that some symbols and box drawing parts were added in 1983 and
+some Kanjis were changed or swapped code points.  So 1978 edition and
+1983 edition are regarded as different graphic character set.
 <p>
-1990 $BG/$N2~Dj$G$O(B 1983 $BG/HG$KBP$9$kDI2C$,9T$o$l$?!#$3$N$?$a!"(B1990 $BG/HG(B
-$B$r;X<($9$k>l9g$OA0$K99?7%7!<%1%s%9$rMQ$$$k!#(B
+1990 edition added some characters, so designation of 1990 edition
+requires `identify revised registration' sequence, ESC 02/06 4/0 as
+prefix of designation sequence.
 
-<standard abbrev="JIS X0208-1978" org="$BF|K\5,3J6(2q(B (Japanese Standards
-	      Association)" title-ja="$B>pJs8r49MQ4A;zId9f7O(B"
+<standard abbrev="JIS X0208-1978" org="Japanese Standards Association"
 	      title-en="Code of the Japanese graphic character set for
 	      information interchange" number="JIS C6226" year="1978">
-<standard abbrev="JIS X0208-1983,1990" org="$BF|K\5,3J6(2q(B (Japanese Standards
-	      Association)" title-ja="$B>pJs8r49MQ4A;zId9f7O(B"
-	      title-en="Code of the Japanese graphic character set for
-	      information interchange" number="JIS X0208" year="1983,1990">
+<standard abbrev="JIS X0208-1983,1990" org="Japanese Standards
+	      Association" title-en="Code of the Japanese graphic
+	      character set for information interchange" number="JIS
+	      X0208" year="1983,1990">
 
 <p>
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=PHG$5$l$kM=Dj!#!J;z7A$NJQ99$O9T$o$l$J$$$N$GJ8(B
-$B;z=89g$H$7$F$O(B 1990 $BG/HG$HF10l$G$"$k!K(B
+In addition, revised version will be published in 1997. (It does not
+change graphic character set)
 
-<standard abbrev="JIS X0208-1996?" org="$BF|K\5,3J6(2q(B (Japanese
-	      Standards Association)" title-ja="$B#7%S%C%H5Z$S#8%S%C%H$N(B
-	      $B#2%P%$%H>pJs8r49MQId9f2=4A;z=89g(B" title-en="7-bit and
-	      8-bit double byte coded Kanji sets for information
-	      interchange" number="JIS X 0208" year="1996? draft">
+<standard abbrev="JIS X0208-1997?" org="Japanese Standards
+	      Association" title-en="7-bit and 8-bit double byte coded
+	      Kanji sets for information interchange" number="JIS X
+	      0208" year="1997? draft">
 
 
 <h3> JIS X0212-1990
 <node> JIS X0212
 <p>
-<a node="JIS X0208">JIS X0208</a> $B$K$J$+$C$?J8;z$r=8$a$?(B 
-<dref>94x94-character set</dref>$B!#!VJd=u4A;z!W$H$b8F$P$l$k!#F|K\$N9q2H(B
-$BI8=`!#(B<dref>ISO 2022</dref> $B$G$N=*C<J8;z$O(B `D'.
+A <dref>94x94-character set</dref> for Japanese as supplement to
+<dref>JIS X0208</dref>.  It is a standard of Japan.
+<p>
+Final byte of <dref>ISO 2022</dref> is 04/04 (`D').
 
 
 <h3> koi8-r
@@ -822,18 +787,60 @@
 <p>
 A <dref>94x94-character set</dref> for Korean language (Hangul
 script).  Korean Standard.  Final byte of <dref>ISO 2022</dref> is
-`C'.
+04/03 (`C').
 
 <standard abbrev="KS C5601" org="Korea Industrial Standards
 	      Association" title-en="Code for Information Interchange
 	      (Hangul and Hanja)" number="KS C 5601" year="1987">
 
 
+<h3> media type
+<node> media type
+<p>
+<concept>media type</concept> specifies the nature of the data in the
+body of <dref>MIME</dref> <dref>entity</dref>.  It consists of
+<concept>type</concept> and <concept>subtype</concept>.  It is defined
+in <dref>RFC 2046</dref>.
+<p>
+Currently there are following types:
+
+<ul>
+<li><concept>text</concept>
+</li>
+<li><concept>image</concept>
+</li>
+<li><concept>audio</concept>
+</li>
+<li><concept>video</concept>
+</li>
+<li><concept>application</concept>
+</li>
+<li><a node="multipart"><concept>multipart</concept></a>
+</li>
+<li><concept>message</concept>
+</ul>
+
+<p>
+And there are various subtypes, for example, application/octet-stream,
+audio/basic, image/jpeg, <dref>multipart/mixed</dref>,
+<dref>text/plain</dref>, video/mpeg...
+<p>
+You can refer registered media types at <a
+href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
+TYPES</a>.
+<p>
+In addition, you can use private type or subtype using
+<concept>x-token</concept>, which as the prefix `x-'.  However you can
+not use them in public.
+<p>
+<cf node="Content-Type field">
+
+
 <h3> message
 <node> message
 <p>
-$B$3$3$G$O(B <dref>RFC 822</dref> $B$GDj5A$5$l$k(B mail $B$H(B <dref>RFC
-1036</dref> $B$GDj5A$5$l$k(B news $B5-;v$NAm>N$H$7$FMQ$$$k!#(B
+In this document, it means mail defined in <dref>RFC 822</dref> and
+news message defined in <dref>RFC 1036</dref>.
 
 
 <h3> message/rfc822
@@ -848,9 +855,13 @@
 <h3> method
 <node> method
 <p>
-tm $B$GFCDj$N<oN`$N(B data $B$r:F@8$7$?$H$-<B:]$K$=$N=hM}$r9T$J$&(B
-program. Emacs Lisp $B$G=q$+$l$?(B <concept>internal method</concept> $B$H(B C 
-$B$d(B script $B8@8l$J$I$G=q$+$l$?(B <concept>external method</concept> $B$,$"$k!#(B
+Application program of tm-view to process for specified <dref>media
+type</dref> when user plays an entity.
+<p>
+There are two kinds of methods, <concept>internal method</concept> and
+<concept>external method</concept>.  Internal method is written by
+Emacs Lisp.  External method is written by C or script languages and
+called by asynchronous process call.
 <p>
 <cf file="tm-view-en" node="method">
 
@@ -889,22 +900,23 @@
 <h3> MIME charset
 <node> MIME charset
 <p>
-<dref>Coded character set</dref> used in <dref>Content-Type
-field</dref> or charset parameter of <a
+<a node="coded character set">Coded character set</a> used in
+<dref>Content-Type field</dref> or charset parameter of <a
 node="encoded-word">encoded-word</a>.
 <p>
 It is defined in <dref>RFC 2045</dref>.
 <p>
-<dref>iso-2022-jp</dref> $B$d(B <a node="euc-kr">euc-kr</a> $B$O$=$N#1$D!#(B
-$B!J$3$3$G$O!"(BMIME charset $B$O(B<a node="Character set">$BJ8;z=89g(B</a>$B$H6hJL(B
-$B$7$F>.J8;z$G=q$$$F$$$k!K(B
+<dref>iso-2022-jp</dref> or <dref>euc-kr</dref> are kinds of it.  (In
+this document, MIME charsets are written by small letters to
+distinguish <dref>graphic character set</dref>.  For example, ISO
+8859-1 is a graphic character set, and iso-8859-1 is a MIME charset)
 
 
 <h3> MTA
 <node> MTA
 <p>
-<concept>Message Transfer Agent</concept> $B$NN,$G!"(Bsendmail $B$J$I$N(B mail 
-$BG[Aw(B program $B$H(B news server $B$NAm>N!#(B
+<concept>Message Transfer Agent</concept>.  It means mail transfer
+programs (ex. sendmail) and news servers.
 <p>
 <cf node="MUA">
 
@@ -912,8 +924,8 @@
 <h3> MUA
 <node> MUA
 <p>
-<concept>Message User Agent</concept> $B$NN,$G!"(Bmail reader $B$H(B news
-reader $B$NAm>N!#(B
+<concept>Message User Agent</concept>.  It means mail readers and news
+readers.
 <p>
 <cf node="MTA">
 
@@ -921,32 +933,34 @@
 <h3> MULE
 <node> MULE
 <p>
-$BH>ED(B $B7u0l;a$i$,:n$C$?!"B?8@8l$5$l$?(B <a node="Emacs">Emacs</a>.
-<p>
-[MULE] Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual
-Enhancement to GNU Emacs'', Proc. of INET'93, August, 1993.
-<p>
-$B8=:_!"(BMULE $B$N5!G=$r(B Emacs $B$K(B merge $B$9$k:n6H$,9T$o$l$F$*$j!"(B<a
-href="ftp://etlport.etl.go.jp/pub/mule/mule-19.33-gamma.taz"> alpha $BHG(B
-</a> $B$,B8:_$9$k!#(B
+Multilingual extension of GNU <dref>Emacs</dref> by HANDA Ken'ichi et
+al.
+
+<inproc abbrev="MULE" author="Nishikimi M., Handa K. and Tomura S."
+	      title-en="Mule: MULtilingual Enhancement to GNU Emacs"
+	      book-en="Proc. of INET'93" date="August, 1993">
 <p>
-$B$=$NB>!"(BXEmacs $B$K(B merge $B$7$?$b$N$bB8:_$9$k!#(B
+Now, FSF and HANDA Ken'ichi et al. are working to merge MULE feature
+into Emacs, there is <a
+href="ftp://etlport.etl.go.jp/pub/mule/mule-19.33-delta.taz">alpha
+version of mule merged emacs</a>.
 <p>
-$B$3$N$?$a!"8=:_$G$OB?8@8l(B Emacs $B$O!"85!9$N(B MULE $B$r4^$a$F#3<oN`$"$k$3$H(B
-$B$K$J$k!#(B
+In addition, there is XEmacs with mule feature.
 <p>
-$B$=$3$G!"$3$3$G$O!"B?8@8l(B Emacs $B$NAm>N$r(B <concept>mule</concept>, $B85!9(B
-$B$N(B MULE $B$r(B <concept>MULE</concept>, mule $B5!G=$r(B merge $B$7$?(B Emacs $B$r(B
-<concept>Emacs/mule</concept>, mule $B5!G=$r(B merge $B$7$?(B XEmacs $B$r(B 
-<concept>XEmacs/mule</concept> $B$H8F$V$3$H$K$9$k!#(B
+So now, there are 3 kinds of mule variants.
+<p>
+In this document, <concept>mule</concept> means any mule variants,
+<concept>MULE</concept> means original MULE (..2.3),
+<concept>Emacs/mule</concept> means mule merged Emacs,
+<concept>XEmacs/mule</concept> means XEmacs with mule feature.
 
 
 <h3> Multipart
 <node> multipart
 <p>
 <concept>multipart</concept> means <dref>media type</dref> to insert
-multiple <dref>entities</dref> in a single body.  Or it also indicates
-a message consists of multiple entities.
+multiple <a node="entity">entities</a> in a single body.  Or it also
+indicates a message consists of multiple entities.
 <p>
 There are following subtypes registered in <dref>RFC 2046</dref>:
 
@@ -997,8 +1011,8 @@
 <h3> multipart/encrypted
 <node> multipart/encrypted
 <p>
-RFC 1847 $B$GDj5A$5$l$?(B <dref>Security multipart</dref> $B$N#1$D$G!"0E9f2=(B
-$B$5$l$?(B message $B$rI=8=$9$k$N$KMQ$$$k!#(B
+It is a <dref>Security multipart</dref> defined in 
+RFC 1847, used to represent encrypted message.
 <p>
 <cf node="PGP/MIME">
 
@@ -1028,8 +1042,8 @@
 <h3> multipart/signed
 <node> multipart/signed
 <p>
-RFC 1847 $B$GDj5A$5$l$?(B <dref>Security multipart</dref> $B$N#1$D$G!"EE;R=p(B
-$BL>$rI=8=$9$k$N$KMQ$$$k!#(B
+It is a <dref>Security multipart</dref> defined in 
+RFC 1847, used to represent signed message.
 <p>
 <cf node="PGP/MIME">
 
@@ -1037,15 +1051,14 @@
 <h3> PGP
 <node> PGP
 <p>
-Phil Zimmermann $B;a$,:n@.$7$?8x3+800E9f=hM}7O$N#1$D!#(B
-<dref>message</dref> $B$N0E9f2=$dEE;R=pL>$r9T$&$3$H$,$G$-$k!#(BPretty Good
-Privacy $B$NN,!#(B
+A public key encryption program by Phil Zimmermann.  It provides
+encryption and signature for <dref>message</dref>.  PGP stands for
+<concept>Pretty Good Privacy</concept>.
 <p>
-$BEAE}E*$J(B PGP $B$G$O(B <dref>encapsulation</dref> $B$K(B <dref>RFC 934</dref>$B$K(B
-$B=`$8$?J}K!$rMQ$$$k!#$3$l$O(B <dref>MIME</dref> $B$HL7=b$9$k$N$G(B 
-<dref>PGP/MIME</dref> $B$,Ds0F$5$l$F$$$k!#0lJ}!"(BMIME $B$K$*$$$F(B PGP $B$N(B
-encapsulation $B$rMQ$$$kJ}K!(B <cf node="PGP-kazu"> $B$bMxMQ$5$l$F$-$?!#$7$+(B
-$B$7!":#8e$O(B PGP/MIME $B$KE}0l$7$F$$$/J}$,K>$^$7$$!#(B
+Traditional PGP uses <dref>RFC 934</dref> <dref>encapsulation</dref>.
+It is conflict with <dref>MIME</dref>.  So <dref>PGP/MIME</dref> is
+defined.  On the other hand, <dref>PGP-kazu</dref> was proposed to use
+PGP encapsulation in MIME.  But it is obsoleted.
 <p>
 <rfc name="PGP" number="1991" type="Informational" author="D. Atkins,
 	      W. Stallings and P. Zimmermann" title="PGP Message
@@ -1056,50 +1069,33 @@
 <h3> PGP-kazu
 <node> PGP-kazu
 <p>
-$B;3K\(B $BOBI'(B $B;a$,Ds0F$7$?(B <a node="MIME">MIME</a> $B$G(B <a
-node="PGP">PGP</a> $B$rMxMQ$9$k$?$a$NJ}K!$r$3$3$G$O(B 
-<concept>PGP-kazu</concept> $B$H8F$V$3$H$K$9$k!#(B
+In this document, <concept>PGP-kazu</concept> means a method to use
+traditional PGP encapsulation in <dref>MIME</dref>, proposed by
+YAMAMOTO Kazuhiko.
 <p>
-PGP-kazu $B$O(B <concept>application/pgp</concept> $B$H$$$&(B 
-<dref>content-type</dref> $B$rDj5A$9$k!#(B
+PGP-kazu defines a <dref>media type</dref>,
+<concept>application/pgp</concept>.
 <p>
-application/pgp $B$N(B part $B$G$O(B PGP $B$N(B <dref>encapsulation</dref> $B$,MQ$$(B
-$B$i$l$k!#(BPGP $B$N(B encapsulation <cf node="RFC 934"> $B$H(B MIME $B$N(B 
-encapsulation $B$OL7=b$9$k$N$G!"(BPGP $B$N(B encapsulation $B$r2r$+$J$$8B$j!"Cf(B
-$B$K4^$^$l$?(B MIME message $B$rFI$`$3$H$,$G$-$J$/$J$k!#B($A!"(BPGP-kazu $B$KBP(B
-$B1~$7$F$$$J$$(B MIME $B$KBP1~$7$?(B <dref>MUA</dref> $B$O$=$N(B part $B$,FI$a$J$/$J(B
-$B$k!#$=$NBe$o$j!"(BMIME $B$KBP1~$7$F$$$J$$(B PGP $BBP1~$N(B <dref>MUA</dref> $B$G$b(B 
-message $B$rFI$`$3$H$,$G$-$k!#(B
+In application/pgp entity, PGP <dref>encapsulation</dref> is used.
+PGP encapsulation conflicts with MIME, so it requires PGP-processing
+to read as MIME message.
 <p>
-PGP-kazu $B$G$O(B MUA $B$O(B PGP $B$N$H(B MIME $B$N$H$$$&#2$D$N(B encapsulation $B$rCN$i(B
-$B$J$1$l$P$J$i$J$$!#$^$?!"(Bapplication/pgp part $B$r(B parse $B$9$k$?$a$K$O!"$^(B
-$B$:!"(Bpgp $B$N=hM}$r9T$o$J$1$l$P$J$i$J$$$N$G!"(Bparse $B=hM}$,J#;($K$J$k!#(B
-<p>
-$B$^$?!"(BInternet $B$G$O:#8e(B <dref>PGP/MIME</dref> $B$NJ}8~$GI8=`2=$7$F$$$3$&(B
-$B$H$$$&$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP-kazu $B$OMQ$$$J$$$N$,K>(B
-$B$^$7$$!#(B
-<p>
-[draft-kazu-pgp-mime-00.txt] Yamamoto K., ``PGP MIME Integration'',
-October, 1995
+It was obsoleted, so you should use <dref>PGP/MIME</dref>.  However if
+you want to use traditional PGP message, it might be available.
 
 
 <h3> PGP/MIME
 <node> PGP/MIME
 <p>
-Michael Elkins $B;a$,Ds0F$7$?(B <a node="MIME">MIME</a> $B$G(B <a
-node="PGP">PGP</a> $B$rMxMQ$9$k$?$a$NJ}K!!#(B
-<p>
-<a node="Security multipart">RFC 1847</a> $B$K4p$-!"(BMIME $B$N(B multipart $B$K(B
-$B$h$k(B <dref>encapsulation</dref> $B$r9T$&!#$3$N$?$a!"(BMIME $B$N<+A3$J3HD%$K(B
-$B$J$C$F$$$k!#$7$+$7!"EAE}E*$J(B PGP$B$H$N8_49@-$,<:$o$l$F$$$k!#(B
+<dref>PGP</dref> and <dref>MIME</dref> integration proposed by Michael
+Elkins.
 <p>
-PGP/MIME $B$G$O(B <dref>PGP-kazu</dref> $B$H0[$J$j!"(BMIME $B$N(B encapsulation $B$N(B
-$B$_$rMQ$$$k!#$^$?!"$3$N$?$a!"(BPGP $B$N=hM}$r9T$&A0$K(B message $B$N(B parse $B$r9T(B
-$B$&$3$H$,$G$-$k!#(B
+It is based on <a node="Security multipart">RFC 1847</a>, so it is
+harmonious with MIME, but it is not compatible with traditional PGP
+encapsulation.  However MIME MUA can read PGP/MIME signed message even
+if it does not support PGP/MIME.
 <p>
-Internet $B$G$O:#8e(B <dref>PGP/MIME</dref> $B$NJ}8~$GI8=`2=$7$F$$$3$&$H$$$&(B
-$B$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP $B$rMQ$$$k>l9g$O(B PGP/MIME$B$rMQ(B
-$B$$$k$N$,K>$^$7$$!#(B
+<dref>PGP/MIME</dref> will be standard of PGP message.
 
 <rfc name="PGP/MIME" number="2015" type="Standards Track"
 	      author="M. Elkins" title="MIME Security with Pretty Good
@@ -1121,9 +1117,6 @@
 <h3> RFC 821
 <node> RFC 821
 <p>
-<concept>SMTP</concept> $B$H8F$P$l$k(B Internet mail $B$NG[AwK!$NI8=`$rDj$a(B
-$B$F$$$k(B RFC.
-
 <rfc name="SMTP" number="821" type="STD 10" author="J. Postel"
 	      title="Simple Mail Transfer Protocol" date="August
 	      1982">
@@ -1132,14 +1125,14 @@
 <h3> RFC 822
 <node> RFC 822
 <p>
-Internet mail $B$N<g$K(B <concept>message header</concept> $B$K4X$9$k7A<0$K(B
-$B4X$9$kI8=`$rDj$a$F$$$k(B RFC.
+A RFC defines format of Internet mail message, mainly <concept>message
+header</concept>.
 
 <memo>
 <p>
-news message $B$b$3$l$K=`$8$F$$$k$N$G!"(B<concept>Internet mail</concept> 
-$B$H=q$/$h$j$b!"(B<concept>Internet message</concept> $B$H=q$$$?J}$,NI$$$+$b(B
-$B$7$l$J$$!#(B
+news message is based on RFC 822, so <concept>Internet
+message</concept> may be more suitable than <concept>Internet
+mail</concept> .
 </memo>
 
 <rfc number="822" type="STD 11" author="D. Crocker" title="Standard
@@ -1150,12 +1143,12 @@
 <h3> RFC 934
 <node> RFC 934
 <p>
-<a node="RFC 822">Internet mail</a> $B$N(B <a node="encapsulation">
-<concept>encapsulation</concept></a> $B$NJ}K!$rDj$a$?(B RFC.
+A RFC defines an <a node="encapsulation">
+<concept>encapsulation</concept></a> method for <a node="RFC
+822">Internet mail</a>.
 <p>
-<dref>MIME</dref> $B$HL7=b$9$k$N$G!"8=:_$G$O(B <dref>message/rfc822</dref> 
-$B$rMQ$$$k$Y$-$G$"$k!#(B
-
+It conflicts with <dref>MIME</dref>, so you should use
+<dref>message/rfc822</dref>.
 
 <rfc number="934" author="Marshall T. Rose and Einar A. Stefferud"
 	      title="Proposed Standard for Message Encapsulation"
@@ -1165,9 +1158,9 @@
 <h3> RFC 1036
 <node> RFC 1036
 <p>
-USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC. <a node="RFC 822">RFC 822</a>
-$B$N(B subset $B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B 
-netnews $B$G$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#(B
+A RFC defines format of USENET message.  It is a subset of <dref>RFC
+822</dref>.  It is not Internet standard, but a lot of netnews
+excepting Usenet uses it.
 
 <rfc name="USENET" number="1036" author="M. Horton and R. Adams"
 	      title="Standard for Interchange of USENET Messages"
@@ -1177,15 +1170,6 @@
 <h3> RFC 1153
 <node> RFC 1153
 <p>
-$BJ#?t$N(B <a node="RFC 822">Internet mail</a> $B$r(B <a node="encapsulation">
-<concept>encapsulation</concept></a> $B$9$k$?$a$NJ}K!$rDj$a$?(B 
-RFC. <dref>RFC 934</dref> $B$rMQ$$$k!#(B
-<p>
-<dref>MIME</dref> $B$HL7=b$9$k$N$G!"8=:_$G$O(B <dref>message/rfc822</dref> 
-$B$rMQ$$$?(B <dref>multipart</dref> $B$rMQ$$$k$Y$-$G$"$k!#(B
-<p>
-<cf node="multipart/digest">
-
 <rfc number="1153" author="F. Wancho" title="Digest Message Format"
 	      date="April 1990">
 
@@ -1193,8 +1177,8 @@
 <h3> RFC 1557
 <node> RFC 1557
 <p>
-<dref>euc-kr</dref> $B$H(B <dref>iso-2022-kr</dref> $B$H$$$&4Z9q8l$N$?$a$N(B 
-<a node="MIME charset">MIME charset</a> $B$rDj5A$7$F$$$k(B RFC.
+A RFC defines <dref>MIME charset</dref>s for Korean,
+<dref>euc-kr</dref> and <dref>iso-2022-kr</dref>.
 
 <rfc number="1557" type="Informational" author="U. Choi, K. Chon and
 	      H. Park" title="Korean Character Encoding for Internet
@@ -1204,13 +1188,13 @@
 <h3> RFC 1922
 <node> RFC 1922
 <p>
+A RFC defines <dref>MIME charset</dref>s for Chinese,
 <dref>iso-2022-cn</dref>, <dref>iso-2022-cn-ext</dref>,
-<dref>cn-gb</dref>, <dref>cn-big5</dref> $B$H$$$C$?Cf9q8l$N$?$a$N(B <a
-node="MIME charset">MIME charset</a> $B$rDj5A$7$F$$$k(B RFC.
+<dref>cn-gb</dref>, <dref>cn-big5</dref>, etc.
 <p>
-$B$3$l$K2C$($F!"(B<concept>charset-edition</concept> $B$H(B 
-<concept>charset-extension</concept> $B$H$$$&(B <dref>Content-Type
-field</dref> $B$N(B parameter $B$rDj5A$7$F$$$k!#(B
+In addition, it defines additional parameters of <dref>Content-Type
+field</dref> field, <concept>charset-edition</concept> and
+<concept>charset-extension</concept>.
 
 <rfc number="1922" type="Informational" author="Zhu, HF., Hu, DY.,
 	      Wang, ZG., Kao, TC., Chang, WCH. and Crispin, M."
@@ -1259,18 +1243,21 @@
 <h3> plain text
 <node> plain text
 <p>
-$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$(B <a node="Coded character set">$BJ8;zId(B
-$B9f(B</a>$B$N$_$GI=8=$5$l$k(B text $B>pJs!#(B<cf node="text/plain">
+A textual data represented by only <dref>coded character set</dref>.
+It does not have information about font or typesetting.
+<cf node="text/plain">
 
 
 <h3> Security multipart
 <node> Security multipart
 <p>
-<a node="MIME">MIME</a> $B$G0E9f$dEE;R=qL>$rMQ$$$k$?$a$N7A<0!#(B<a
-node="multipart/signed"><concept>multipart/signed</concept></a> $B$H(B <a
-node="multipart/encrypted"><concept>multipart/encrypted</concept></a> 
-$B$H$$$&(B multipart $B$rMQ$$$k!#(BMOSS $B$d(B <a node="PGP/MIME">PGP/MIME</a> $B$O(B
-$B$3$l$K4p$$$F$$$k!#(B
+A format to represent signed/encrypted message in <dref>MIME</dref>.
+<p>
+It defines two multipart media types, <a
+node="multipart/signed"><concept>multipart/signed</concept></a> and <a
+node="multipart/encrypted"><concept>multipart/encrypted</concept></a>.
+<p>
+MOSS and <dref>PGP/MIME</dref> are based on it.
 
 <rfc name="Security multipart" number="1847" type="Standards Track"
 	      author="James Galvin, Gale Murphy, Steve Crocker and Ned
@@ -1282,10 +1269,6 @@
 <h3> text/enriched
 <node> text/enriched
 <p>
-RFC 1521 $B$GDj5A$5$l$?(B <concept>text/richtext</concept> $B$KBe$o$C$F!"=q(B
-$BBN$dAHHG$K4X$9$k>pJs$r;}$C$?(B text$B$rI=8=$9$k$?$a$N(B <dref>media
-type</dref>.
-
 <rfc name="text/enriched" number="1896" author="P. Resnick and
 	      A. Walker" title="The text/enriched MIME Content-type"
 	      date="February 1996" obsolete="1563">
@@ -1307,15 +1290,15 @@
 <h3> tm-kernel, tm
 <node> tm-kernel
 <p>
-Emacs $B$G(B <a node="MIME">MIME</a> $B$rMxMQ$9$k$?$a$N(B user interface $B$rDs(B
-$B6!$9$k(B library $B72!#(B`tools for MIME' $B$NN,!#(B
+A libraries to provide user interface about <dref>MIME</dref> for
+emacs.  tm stands for `tools for MIME'.
 
-<memo title="$B$I$&$G$bNI$$$3$H(B(^-^;">
+<memo title="Unimportant notice(^-^;">
 <p>
 <ul>
-  <li> tm $B$O(B ``tiny-mime'' $B$NN,$8$c$J$$$i$7$$$>(B (^-^;
-  <li> tm $B$O:n<T$N%$%K%7%c%k$8$c$J$$$i$7$$$>(B (^-^;
-  <li> ``Tools for MIME'' $B$NN,$H$$$&$N$O$3$8$D$1$i$7$$$>(B (^-^;
+  <li> tm may not stand for ``tiny-mime''(^-^;
+  <li> tm may not stand for initial of an author (^-^;
+  <li> ``Tools for MIME'' may be strained (^-^;
 </ul>
 </memo>
 
@@ -1323,40 +1306,35 @@
 <h3> tm-MUA
 <node> tm-MUA
 <p>
-<a node="tm-kernel">tm</a> $B$rMQ$$$?(B <a node="MUA">MUA</a> $B$b$7$/$O(B MUA 
-$B$KBP$9$k(B extender.
+<dref>MUA</dref> or MUA extender using <a node="tm-kernel">tm</a>.
 <p>
-<concept>tm $BBg@9$j(B package</concept> $B$K$O(B
+<concept>tm oomori package</concept> has following extenders:
 
 <ul>
-<li><a file="mh-e">mh-e</a> $BMQ$N(B <concept>tm-mh-e</concept>
-<li>GNUS $BMQ$N(B <concept>tm-gnus</concept>
-<li>Gnus $BMQ$N(B <a file="gnus-mime-en"><concept>gnus-mime</concept></a>
-<li>VM $BMQ$N(B <concept>tm-vm</concept>
-<li>RMAIL $BMQ$N(B <concept>tm-rmail</concept>
+<li><a file="tm-mh-e-en"><concept>tm-mh-e</concept></a>
+ for <a file="mh-e">mh-e</a>
+<li><a file="tm-gnus_en"><concept>tm-gnus</concept></a> for GNUS
+<li><a file="gnus-mime-en"><concept>gnus-mime</concept></a> for Gnus
+<li><a file="tm-vm_en"><concept>tm-vm</concept></a> for VM
+<li><concept>tm-rmail</concept> for RMAIL
 </ul>
 
-<noindent>
-$B$,4^$^$l$F$$$k!#(B
-<p>
-$BFHN)$7$?(B MUA $B$H$7$F$O(B <a file="cmail">cmail</a> $B$,(B tm $B$rMxMQ2DG=$G$"$k!#(B
-
 
 <h3> us-ascii
 <node> us-ascii
 <p>
-$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N(B <a node="MIME
-charset">MIME charset</a> $B$N#1$D!#(B
-<p>
-<dref>ASCII</dref> $B$N$_$+$i$J$j(B <dref>ISO 2022</dref> $B$K$h$k(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$O5v$5$l$J$$!#(B
+A <a node="MIME charset">MIME charset</a> for primary Latin script
+mainly written by English or other languages.
 <p>
-Internet mail $B$K$*$1$kI8=`$N(B<a node="Coded character set">$BId9f2=J8;z=8(B
-$B9g(B</a>$B$G$"$j!"L@<(E*$K(B MIME charset $B$,<($5$l$J$$>l9g$O86B'$H$7$F(B 
-<concept>us-ascii</concept> $B$,;H$o$l$k!#(B
+It is a 7bit <dref>coded character set</dref> based on <dref>ISO
+2022</dref>, it contains only
+<dref>ASCII</dref> and <dref>code extension</dref> is not allowed.
 <p>
-$B$^$?!"(B<a node="RFC 822">RFC 822</a> $B$K$*$1$k(B <concept>ASCII</concept> 
-$B$O(B us-ascii $B$r;X$9$b$N$H2r<a$9$Y$-$G$"$k!#(B
+It is standard coded character set of Internet mail.  If MIME charset
+is not specified, <concept>us-ascii</concept> is used as default.
+<p>
+In addition, <concept>ASCII</concept> of <dref>RFC 822</dref> should
+be interpreted as us-ascii.
 
 
 <h1> Setting
@@ -1568,6 +1546,34 @@
 body in human-recognizable language (^_^).
 
 
+<h1> Acknowledgments
+<node> Acknowledgments
+<p>
+I thank MASUTANI Yasuhiro.  He requested me a lot of important
+features and gave me a lot of suggestions when tm-view was born.
+tm-view is based on his influence.
+<p>
+I thank ENAMI Tsugutomo for work of <file>mime.el</file>, which is an
+origin of <file>tm-ew-d.el</file> and <file>mel-b.el</file>, and
+permission to rewrite for tm.
+<p>
+I thank OKABE Yasuo for work of internal method for LaTeX and
+automatic assembling method for message/partial.  I thank UENO
+Hiroshi for work of internal method for tar archive.
+<p>
+I thank UMEDA Masanobu for his work of <file>mime.el</file>, which is
+the origin of tm-edit, and permission to rewrite his work as tm-edit.
+<p>
+I thank KOBAYASHI Shuhei for his work as a tm maintainer.  In
+addition, he often points out or suggests about conformity with RFCs.
+<p>
+I thank Oscar Figueiredo for his work as the maintainer of tm-vm.  He
+improves tm-vm and wrote a good manual of tm-vm.
+<p>
+Last of all, I thank members of two tm mailing lists, Japanese and
+English version.
+
+
 <h1> Concept Index
 <node> Concept Index
 
--- a/man/tm/tm-en.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-en.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,13 +1,13 @@
 \input texinfo.tex
 @setfilename tm-en.info
-@settitle{tm 7.90 Manual (English Version)}
+@settitle{tm 7.100 Manual (English Version)}
 @titlepage
-@title tm 7.90 Manual (English Version)
+@title tm 7.100 Manual (English Version)
 @author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
-@subtitle 1996/10/15
+@subtitle 1996/12/25
 @end titlepage
 @node Top, Introduction, (dir), (dir)
-@top tm 7.90 Manual (English Version)
+@top tm 7.100 Manual (English Version)
 
 @ifinfo
 
@@ -18,6 +18,7 @@
 * Introduction::                What is tm?
 * Setting::                     
 * Bug report::                  How to report bug and about mailing list of tm
+* Acknowledgments::             
 * Concept Index::               
 * Variable Index::              
 @end menu
@@ -26,7 +27,7 @@
 @chapter What is tm?
 
 The tm package is a set of modules to enjoy MIME on GNU Emacs.  Using
-tm, you can
+tm, you can@refill
 
 @itemize @bullet
 @item
@@ -74,22 +75,22 @@
 * ASCII::                       
 * Base64::                      
 * binary::                      
-* graphic character set::       Graphic Character Set
 * cn-gb::                       cn-gb, gb2312
 * cn-big5::                     cn-big5, big5
-* CNS::                         CNS 11643-1992
+* CNS 11643::                   CNS 11643-1992
 * coded character set::         Coded character set, Character code
 * code extension::              Code extension
 * Content-Disposition::         Content-Disposition field
-* media type::                  
 * Content-Type field::          
 * Emacs::                       
 * encoded-word::                
 * encapsulation::               
+* entity::                      Entity
 * euc-kr::                      
 * FTP::                         FTP 
 * GB 2312::                     GB 2312-1980
 * GB 8565.2::                   GB 8565.2-1988
+* graphic character set::       Graphic Character Set
 * hz-gb2312::                   
 * ISO 2022::                    
 * iso-2022-cn::                 
@@ -118,6 +119,7 @@
 * JIS X0212::                   JIS X0212-1990
 * koi8-r::                      
 * KS C5601::                    KS C5601-1987
+* media type::                  
 * message::                     
 * message/rfc822::              
 * method::                      
@@ -159,24 +161,24 @@
 
 @node 7bit, 8bit, Glossary, Glossary
 @subsection 7bit
-
-@cindex{7bit}@strong{7bit} means any integer between 0 .. 127.@refill
-
-Any data represented by 7bit integers is called @cindex{7bit
-data}@strong{7bit data}.@refill
+@cindex 7bit (textual) string
+@cindex 7bit data
+@cindex 7bit
+
+@strong{7bit} means any integer between 0 .. 127.@refill
+
+Any data represented by 7bit integers is called @strong{7bit data}.@refill
 
 Textual string consisted of Control characters between 0 .. 31 and 127,
 and space represented by 32, and graphic characters between 33 .. 236
-are called @cindex{7bit (textual) string}@strong{7bit (textual)
-string}.@refill
+are called @strong{7bit (textual) string}.@refill
 
 Traditional Internet MTA (@ref{MTA}) can translate 7bit data, so it is
 no need to translate by Quoted-Printable (@ref{Quoted-Printable}) or
 Base64 (@ref{Base64}) for 7bit data.@refill
 
 However if there are too long lines, it can not translate by 7bit MTA
-even if it is 7bit data.  RFC 821 (@ref{RFC 821}) and RFC 2045 (@ref{RFC
-2045}) require lines in 7bit data must be less than 998 bytes.  So if a
+even if it is 7bit data.  RFC 821 (@ref{RFC 821}) and RFC 2045 (@ref{RFC 2045}) require lines in 7bit data must be less than 998 bytes.  So if a
 ``7bit data'' has a line more than 999 bytes, it is regarded as binary
 (@ref{binary}).  For example, Postscript file should be encoded by
 Quoted-Printable.
@@ -184,16 +186,17 @@
 
 @node 8bit, 94-character set, 7bit, Glossary
 @subsection 8bit
-
-@cindex{8bit}@strong{8bit} means any integer between 0 .. 255.@refill
-
-Any data represented by 8bit integers is called @cindex{8bit
-data}@strong{8bit data}.@refill
+@cindex 8bit (textual) string
+@cindex 8bit data
+@cindex 8bit
+
+@strong{8bit} means any integer between 0 .. 255.@refill
+
+Any data represented by 8bit integers is called @strong{8bit data}.@refill
 
 Textual string consisted of Control characters between 0 .. 31, 127, and
 128 .. 159, and space represented by 32, and graphic characters between
-33 .. 236 and 160 .. 255 are called @cindex{8bit (textual)
-string}@strong{8bit (textual) string}.@refill
+33 .. 236 and 160 .. 255 are called @strong{8bit (textual) string}.@refill
 
 For example, iso-8859-1 (@ref{iso-8859-1}) or euc-kr (@ref{euc-kr}) are
 coded-character-set represented by 8bit textual string.@refill
@@ -214,39 +217,44 @@
 
 @node 94-character set, 96-character set, 8bit, Glossary
 @subsection 94-character set
-
-@cindex{94-character set}@strong{94-character set} is a kind of 1 byte
-graphic character set (@ref{graphic character set}), each characters are
-in positions 02/01 (33) to 07/14 (126) or 10/01 (161) to 15/14 (254).
-(ex. ASCII (@ref{ASCII}), JIS X0201-Latin)
+@cindex 94-character set
+
+@strong{94-character set} is a kind of 1 byte graphic character set
+(@ref{graphic character set}), each characters are in positions 02/01
+(33) to 07/14 (126) or 10/01 (161) to 15/14 (254).  (ex. ASCII
+(@ref{ASCII}), JIS X0201-Latin)
 
 
 @node 96-character set, 94x94-character set, 94-character set, Glossary
 @subsection 96-character set
-
-@cindex{96-character set}@strong{96-character set} is a kind of 1 byte
-graphic character set (@ref{graphic character set}), each characters are
-in positions 02/00 (32) to 07/15 (126) or 10/00 (160) to 15/15
-(255). (ex. ISO 8859)
+@cindex 96-character set
+
+@strong{96-character set} is a kind of 1 byte graphic character set
+(@ref{graphic character set}), each characters are in positions 02/00
+(32) to 07/15 (126) or 10/00 (160) to 15/15 (255). (ex. ISO 8859)
 
 
 @node 94x94-character set, ASCII, 96-character set, Glossary
 @subsection 94x94-character set
-
-@cindex{94x94-character set}@strong{94x94-character set} is a kind of 2
-byte graphic character set (@ref{graphic character set}), each bytes are
-in positions 02/01 (33) to 07/14 (126) or 10/01 (161) to 15/14 (254).
-(ex. JIS X0208 (@ref{JIS X0208}), GB 2312 (@ref{GB 2312}))
+@cindex 94x94-character set
+
+@strong{94x94-character set} is a kind of 2 byte graphic character set
+(@ref{graphic character set}), each bytes are in positions 02/01 (33) to
+07/14 (126) or 10/01 (161) to 15/14 (254).  (ex. JIS X0208 (@ref{JIS X0208}), GB 2312 (@ref{GB 2312}))
 
 
 @node ASCII, Base64, 94x94-character set, Glossary
 @subsection ASCII
-
-$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?(B 94-character set
-(@ref{94-character set}).  A-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+(B
-$B$i$J$k!#(BISO 646 (@ref{ISO 646}) $B$N0l$D!#(B
-
-@cindex{ASCII}@cindex{ANSI X3.4:1986}
+@cindex ANSI X3.4:1986
+@cindex ASCII
+@cindex ASCII
+
+@strong{ASCII} is a 94-character set (@ref{94-character set}) contains
+primary latin characters (A-Z, a-z), numbers and some characters.  It is
+a standard of the United States of America.  It is a variant of ISO 646
+(@ref{ISO 646}).
+
+
 @noindent
 [ASCII]
 @quotation
@@ -258,66 +266,60 @@
 
 @node Base64, binary, ASCII, Glossary
 @subsection Base64
-
-@cindex{Base64}@strong{Base64} is a transfer encoding method of MIME
-(@ref{MIME}) defined in RFC 2045 (@ref{RFC 2045}).@refill
+@cindex pad
+@cindex Base64
+
+@strong{Base64} is a transfer encoding method of MIME (@ref{MIME})
+defined in RFC 2045 (@ref{RFC 2045}).@refill
 
 The encoding process represents 24-bit groups of input bits as output
 strings of 4 encoded characters.  Encoded characters represent integer 0
-.. 63 or @cindex{pad}@strong{pad}.  Base64 data must be 4 * n bytes, so
-pad is used to adjust size.@refill
+.. 63 or @strong{pad}.  Base64 data must be 4 * n bytes, so pad is used
+to adjust size.@refill
 
 These 65 characters are subset of all versions of ISO 646, including
 US-ASCII, and all versions of EBCDIC.  So it is safe even if it is
 translated by non-Internet gateways.
 
 
-@node binary, graphic character set, Base64, Glossary
+@node binary, cn-gb, Base64, Glossary
 @subsection binary
-
-$BG$0U$N(B byte $BNs$r(B @cindex{binary}@strong{binary} $B$H8F$V$3$H$K$7$^$9!#(B
-@refill
-
-8bit (@ref{8bit}) $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$9!#(B
-
-$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary$B$H8F(B
-$B$V$3$H$K$7$^$9!#(B@refill
-
-$B$A$J$_$K!"(B7bit (@ref{7bit}) $B$d(B 8bit $B$GI=8=$G$-$k(B data $B$O(B binary $B$G$bI=8=(B
-$B$G$-$^$9!#$h$C$F!"(B@cindex{binary data}@strong{binary data} $B$H8@$C$?>l9g!"(B
-$BG$0U$N(B data $B$r;X$9$3$H$,$"$j$^$9!#(B
-
-
-@node graphic character set, cn-gb, binary, Glossary
-@subsection Graphic Character Set
-
-Coded character set (@ref{Coded character set}) for graphic characters.
-
-
-@node cn-gb, cn-big5, graphic character set, Glossary
+@cindex binary
+
+Any byte stream is called @strong{binary}.@refill
+
+It does not require structureof lines.  It differs from from 8bit
+(@ref{8bit}).@refill
+
+In addition, if line structured data contain too long line (more than
+998 bytes), it is regarded as binary.
+
+
+@node cn-gb, cn-big5, binary, Glossary
 @subsection cn-gb, gb2312
 
-$BCf9qBgN&$G$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B MIME
-charset (@ref{MIME charset}) $B$N#1$D!#(B@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}) $B$K(B GB 2312
-(@ref{GB 2312}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7(B
-$B$F$$$k!#(B@refill
-
-RFC 1922 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B
-
-
-@node cn-big5, CNS, cn-gb, Glossary
+A MIME charset (@ref{MIME charset}) for simplified Chinese mainly used
+in the Chinese mainland.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}).@refill
+
+It is defined in RFC 1922 (@ref{RFC 1922}).
+
+
+@node cn-big5, CNS 11643, cn-gb, Glossary
 @subsection cn-big5, big5
-
-$BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-MIME charset (@ref{MIME charset}) $B$N#1$D!#(B@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$+$J$$(B 8bit (@ref{8bit}) $B$N(Bcoded character
-set (@ref{coded character set})$B$G(B de-fact standard $B$G$"$k!#(BRFC 1922
-(@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B@refill
-
-cf. @cindex{BIG5}
+@cindex BIG5
+
+A MIME charset (@ref{MIME charset}) for traditional Chinese mainly used
+in Taiwan and Hon Kong.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) not based on ISO 2022 (@ref{ISO 2022}).  It is a de-fact
+standard.@refill
+
+It is defined in RFC 1922 (@ref{RFC 1922}).@refill
+
+cf. 
 @noindent
 [BIG5]
 @quotation
@@ -325,21 +327,47 @@
 Computer'', March 1984.
 @end quotation
 
-CNS 11643-1986 (@ref{CNS}) $B$HBP1~4X78$,$"$k!#(B
-
-
-@node CNS, coded character set, cn-big5, Glossary
+It corresponds to CNS 11643 (@ref{CNS 11643}).
+
+
+@node CNS 11643, coded character set, cn-big5, Glossary
 @subsection CNS 11643-1992
-
-$BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-$BJ8;z=89g(B(@ref{Character set})$B!#BfOQ$NI8=`!#8=:_!"(B94$B!_(B94 (@ref{94x94
-character set}) $B$NLL$,Bh#1LL$+$iBh#7LL$^$G$"$k!#(B@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O!"Bh#1LL$,(B `G', $BBh#2LL$,(B `H', $BBh(B
-$B#3LL$,(B `I', $BBh#4LL$,(B `J', $BBh#5LL$,(B `K', $BBh#6LL$,(B `L', $BBh#7LL$,(B `M' $B$G$"(B
-$B$k!#(B
-
-@cindex{CNS 11643-1992}@cindex{CNS        11643:1992}
+@cindex CNS        11643:1992
+@cindex CNS 11643-1992
+
+Graphic character sets (@ref{graphic character set}) for Chinese mainly
+written by traditional Chinese mainly used in Taiwan and Hong Kong.  It
+is a standard of Taiwan.  Currently there are seven 94x94-character set
+(@ref{94x94-character set}).@refill
+
+Final byte of ISO 2022 (@ref{ISO 2022}) are following:
+
+@table @samp
+@item plane 1
+04/07 (`G')
+
+@item plane 2
+04/08 (`H')
+
+@item plane 3
+04/09 (`I')
+
+@item plane 4
+04/10 (`J')
+
+@item plane 5
+04/11 (`K')
+
+@item plane 6
+04/12 (`L')
+
+@item plane 7
+04/13 (`M')
+
+@end table
+
+
+
 @noindent
 [CNS 11643-1992]
 @quotation
@@ -349,7 +377,7 @@
 
 
 
-@node coded character set, code extension, CNS, Glossary
+@node coded character set, code extension, CNS 11643, Glossary
 @subsection Coded character set, Character code
 
 A set of unambiguous rules that establishes a character set and the
@@ -364,13 +392,15 @@
 the character set of a given code. (ex. ISO 2022 (@ref{ISO 2022}))
 
 
-@node Content-Disposition, media type, code extension, Glossary
+@node Content-Disposition, Content-Type field, code extension, Glossary
 @subsection Content-Disposition field
-
-Content $B$NI=<($N;EJ}$d(B file $BL>$rI=8=$9$k$?$a$N(B field. MIME (@ref{MIME}) 
-$B$N3HD%$N#1$D!#(B@refill
-
-@cindex{Experimental}@cindex{RFC 1806}
+@cindex RFC 1806
+@cindex Experimental
+
+A field to specify presentation of entity or file name.  It is an
+extension for MIME (@ref{MIME}).@refill
+
+
 @noindent
 [RFC 1806]
 @quotation
@@ -381,51 +411,11 @@
 
 
 
-@node media type, Content-Type field, Content-Disposition, Glossary
-@subsection media type
-
-@cindex{media type}@strong{media type} specifies the nature of the data
-in the body of MIME (@ref{MIME}) entity (@ref{entity}).  It consists of
-@cindex{type}@strong{type} and @cindex{subtype}@strong{subtype}.  It is
-defined in RFC 2046 (@ref{RFC 2046}).@refill
-
-Currently there are following types:
-
-@itemize @bullet
-@item
-@cindex{text}@strong{text}
-@item
-@cindex{image}@strong{image}
-@item
-@cindex{audio}@strong{audio}
-@item
-@cindex{video}@strong{video}
-@item
-@cindex{application}@strong{application}
-@item
-@cindex{multipart}@strong{multipart} (@ref{multipart})
-@item
-@cindex{message}@strong{message}
-@end itemize
-
-
-And there are various subtypes, for example, application/octet-stream,
-audio/basic, image/jpeg, multipart/mixed (@ref{multipart/mixed}),
-text/plain (@ref{text/plain}), video/mpeg...@refill
-
-You can refer registered media types at MEDIA TYPES
-(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types).@refill
-
-In addition, you can use private type or subtype using
-@cindex{x-token}@strong{x-token}, which as the prefix `x-'.  However you
-can not use them in public.@refill
-
-(cf. @ref{Content-Type field})
-
-
-
-@node Content-Type field, Emacs, media type, Glossary
+@node Content-Type field, Emacs, Content-Disposition, Glossary
 @subsection Content-Type field
+@cindex parameter
+@cindex subtype
+@cindex type
 
 Header field to represent information about body, such as media type
 (@ref{media type}), MIME charset (@ref{MIME charset}).  It is defined in
@@ -444,8 +434,8 @@
 Content-Type field is defined as following:
 
 @quotation
-``Content-Type'' ``:'' @cindex{type}@strong{type} ``/''
-@cindex{subtype}@strong{subtype} *( ``;'' @cindex{parameter}@strong{parameter} )
+``Content-Type'' ``:'' @strong{type} ``/''
+@strong{subtype} *( ``;'' @strong{parameter} )
 @end quotation
 
 
@@ -496,17 +486,20 @@
 @node Emacs, encoded-word, Content-Type field, Glossary
 @subsection Emacs
 
-$B$3$3$G$O(B `Emacs' $B$G(B FSF $B$,G[I[$7$F$$$k(B GNU Emacs $B$r;X$7!"(B`emacs' $B$G(B
-GNU Emacs $B$NJQ<o$NAm>N$H$9$k!#(B
+In this document, `Emacs' means GNU Emacs released by FSF, and `emacs'
+means any variants of GNU Emacs.
 
 
 @node encoded-word, encapsulation, Emacs, Glossary
 @subsection encoded-word
+@cindex RFC 2047
+@cindex Standards Track
+@cindex RFC 2047
 
 Representation non ASCII (@ref{ASCII}) characters in header.  It is
-defined in @cindex{RFC 2047}@strong{RFC 2047}.@refill
-
-@cindex{Standards Track}@cindex{RFC 2047}
+defined in @strong{RFC 2047}.@refill
+
+
 @noindent
 [RFC 2047]
 @quotation
@@ -517,29 +510,46 @@
 
 
 
-@node encapsulation, euc-kr, encoded-word, Glossary
+@node encapsulation, entity, encoded-word, Glossary
 @subsection encapsulation
 
-Internet mail (@ref{RFC 822}) $B$rB>$N5-;v$K$^$k$4$HF~$l$kJ}K!!#(B@refill
-
-$BNc$($P!"5-;v$rE>Aw$7$?$j$9$k$N$KMQ$$$k!#(B@refill
+Method to insert whole Internet message (@ref{RFC 822}) into another
+Internet message.@refill
+
+For example, it is used to forward a message.@refill
 
 (cf. @ref{message/rfc822})
 
 
 
-@node euc-kr, FTP, encapsulation, Glossary
+@node entity, euc-kr, encapsulation, Glossary
+@subsection Entity
+
+Header fields and contents of a message or one of the parts in the body
+of a multipart (@ref{multipart}) entity.
+
+@noindent
+@strong{[Memo]}
+@quotation
+
+In this document, `entity' might be called ``part''.
+@end quotation
+
+
+
+@node euc-kr, FTP, entity, Glossary
 @subsection euc-kr
-
-$B4Z9q8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}) $B$K(BKS C5601
-(@ref{KS C5601}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code extension})
-$B$7$F$$$k!#(B@refill
-
-RFC 1557 (@ref{RFC 1557}) $B$GDj5A$5$l$F$$$k!#(B@refill
-
-cf. @cindex{euc-kr}@cindex{KS C 5861:1992}
+@cindex KS C 5861:1992
+@cindex euc-kr
+
+A MIME charset (@ref{MIME charset}) for Korean.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine KS C5601 (@ref{KS C5601}).@refill
+
+It is defined in RFC 1557 (@ref{RFC 1557}).@refill
+
+cf. 
 @noindent
 [euc-kr]
 @quotation
@@ -551,11 +561,11 @@
 
 @node FTP, GB 2312, euc-kr, Glossary
 @subsection FTP 
-
-Internet $B$G(B file $B$rE>Aw$9$k$?$a$N(B protocol $B$N#1$D!#(BRFC 959 $B$GDj5A$5$l$F(B
-$B$$$k!#(B@refill
-
-@cindex{FTP}@cindex{STD 9}@cindex{RFC 959}
+@cindex RFC 959
+@cindex STD 9
+@cindex FTP
+
+
 @noindent
 [FTP: RFC 959]
 @quotation
@@ -567,30 +577,34 @@
 
 @node GB 2312, GB 8565.2, FTP, Glossary
 @subsection GB 2312-1980
-
-$BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=$9$?$a$N(B 
-94x94-character set (@ref{94x94-character set})$B!#Cf9q$N9q2HI8=`!#(BISO
-2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B `A'.@refill
-
-$B$3$l$O(B GB $B$K$*$1$k4pK\=8$G$"$k!#(B
-
-@cindex{GB 2312}@cindex{GB 2312:1980}
+@cindex GB 2312:1980
+@cindex GB 2312
+
+A 94x94-character set (@ref{94x94-character set}) for Chinese mainly
+written by simplified Chinese mainly used in the Chinese mainland.  It
+is a standard of China.@refill
+
+Final byte of ISO 2022 (@ref{ISO 2022}) is 04/01 (`A').
+
+
 @noindent
 [GB 2312]
 @quotation
-$B!X?.B)8r49MQ4A;zJTb{;zId=8(B -- $B4pK\=8!Y(B, ``Code of Chinese Graphic
-Character Set for Information Interchange - Primary Set'', GB 2312:1980.
+``Code of Chinese Graphic Character Set for Information Interchange -
+Primary Set'', GB 2312:1980.
 @end quotation
 
 
 
-@node GB 8565.2, hz-gb2312, GB 2312, Glossary
+@node GB 8565.2, graphic character set, GB 2312, Glossary
 @subsection GB 8565.2-1988
-
-$BCf9q8l$N$?$a$NJd=uJ8;z=89g(B(@ref{Character set})$B!#Cf9q$N9q2HI8=`!#(BGB 2312
-(@ref{GB 2312}) $B$N6u$-ItJ,$KJd=<$9$k$h$&$KDj5A$5$l$?$i$7$$!#(B
-
-@cindex{GB 8565.2}@cindex{GB 8565.2:1988}
+@cindex GB 8565.2:1988
+@cindex GB 8565.2
+
+A 94x94-character set (@ref{94x94-character set}) for Chinese as
+supplement to GB 2312 (@ref{GB 2312}).  It is a standard of China.
+
+
 @noindent
 [GB 8565.2]
 @quotation
@@ -600,19 +614,30 @@
 
 
 
-@node hz-gb2312, ISO 2022, GB 8565.2, Glossary
+@node graphic character set, hz-gb2312, GB 8565.2, Glossary
+@subsection Graphic Character Set
+
+Coded character set (@ref{coded character set}) for graphic characters.
+
+
+@node hz-gb2312, ISO 2022, graphic character set, Glossary
 @subsection hz-gb2312
-
-$BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B MIME
-charset (@ref{MIME charset}) $B$N#1$D!#(B@refill
-
-ASCII (@ref{ASCII}) $B$K(B GB 2312 (@ref{GB 2312}) $B$r(B 7bit $B$GId9f3HD%(B
-(@ref{Code extension})$B$7$?$b$N$r(B ASCII printable $B$K$J$k$h$&$K9)IW$7$F$$(B
-$B$k!#(B@refill
-
-RFC 1842, 1843 $B$GDj5A$5$l$F$$$k!#(B
-
-@cindex{Informational}@cindex{RFC 1842}
+@cindex RFC 1843
+@cindex Informational
+@cindex RFC 1842
+@cindex Informational
+
+A MIME charset (@ref{MIME charset}) for simplified Chinese mainly used
+in the Chinese mainland.@refill
+
+It extends ASCII (@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}), its
+technique is like iso-2022-jp (@ref{iso-2022-jp}), but it is designed to
+be ASCII printable to use special form for ESC sequence to designate GB
+2312 to G0.@refill
+
+It is defined in RFC 1842 and 1843.
+
+
 @noindent
 [RFC 1842]
 @quotation
@@ -621,7 +646,7 @@
 August 1995, Informational.
 @end quotation
 
-@cindex{Informational}@cindex{RFC 1843}
+
 @noindent
 [RFC 1843]
 @quotation
@@ -633,14 +658,13 @@
 
 @node ISO 2022, iso-2022-cn, hz-gb2312, Glossary
 @subsection ISO 2022
-
-$BId9f3HD%(B(@ref{Code extension})$B$N$?$a$N9q:]I8=`!#(B@refill
-
-$B$3$l$rMQ$$$FJ#?t$NJ8;z=89g(B(@ref{Character set})$B$rAH9g$;$F(B 7bit
-(@ref{7bit}) $B$J$$$7(B 8bit (@ref{8bit}) $B$N(B $BId9f2=J8;z=89g(B(@ref{Coded
-character set}) $B$r:n$k$3$H$,$G$-$k!#(B
-
-@cindex{ISO 2022}@cindex{ISO/IEC 2022:1994}
+@cindex ISO/IEC 2022:1994
+@cindex ISO 2022
+
+It is a standard for character code structure and code extension
+(@ref{code extension}) technique.
+
+
 @noindent
 [ISO 2022]
 @quotation
@@ -654,56 +678,59 @@
 @node iso-2022-cn, iso-2022-cn-ext, ISO 2022, Glossary
 @subsection iso-2022-cn
 
-$BCf9q8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}) $B$K(B GB 2312
-(@ref{GB 2312}), CNS 11643 plain 1, plain 2 (@ref{CNS}) $B$r(B 7bit
-(@ref{7bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
-
-RFC 1922 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B
+A MIME charset (@ref{MIME charset}) for Chinese.@refill
+
+It is a 7bit (@ref{7bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}) and/or CNS 11643 plain
+1, plain 2 (@ref{CNS 11643}).@refill
+
+It is defined in RFC 1922 (@ref{RFC 1922}).
 
 
 @node iso-2022-cn-ext, iso-2022-jp, iso-2022-cn, Glossary
 @subsection iso-2022-cn-ext
 
-$BCf9q8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}) $B$K(B GB 2312
-(@ref{GB 2312}), CNS 11643 plain 1 .. 7 (@ref{CNS}), ISO-IR-165
-(@ref{ISO-IR-165}) $BEy$r(B 7bit (@ref{7bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
-
-RFC 1922 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B@refill
+A MIME charset (@ref{MIME charset}) for Chinese.@refill
+
+It is a 7bit (@ref{7bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}), CNS 11643 plain 1 .. 7
+(@ref{CNS 11643}), ISO-IR-165 (@ref{ISO-IR-165}) and other Chinese
+graphic character sets.@refill
+
+It is defined in RFC 1922 (@ref{RFC 1922}).@refill
 
 @noindent
 @strong{[Memo]}
 @quotation
-MULE 2.3 $B$*$h$S!"8=:_$N(B XEmacs/mule $B$G$O@5$7$/07$&$3$H$O$G$-$J$$!#(B
-
-Emacs/mule $B$G$OMxMQ2DG=$G$"$k!#(B
+MULE 2.3 and current XEmacs/mule can not use it correctly.
+
+Emacs/mule can use it.
 @end quotation
 
 
 
 @node iso-2022-jp, iso-2022-jp-2, iso-2022-cn-ext, Glossary
 @subsection iso-2022-jp
-
-$BF|K\8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N0l$D!#(B
-
-$B8E$$(B ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}), JIS
-X0201-Latin, JIS X0208-1978 (@ref{JIS C6226-1978}), JIS X0208-1983
-(@ref{JIS X0208}) $B$r@Z$jBX$($k(B 7bit (@ref{7bit}) $BJ8;zId9f!#(B@refill
-
-RFC 1468 $B$GDj5A$5$l$F$$$k!#(B@refill
+@cindex RFC 1468
+@cindex iso-2022-jp
+
+A MIME charset (@ref{MIME charset}) for Japanese.@refill
+
+It is a 7bit (@ref{7bit}) coded character set (@ref{coded character set}) based on old ISO 2022 (@ref{ISO 2022}).  It switches ASCII
+(@ref{ASCII}), JIS X0201-Latin, JIS X0208-1978 (@ref{JIS C6226}) and JIS
+X0208-1983 (@ref{JIS X0208}).@refill
+
+It is defined in RFC 1468.@refill
 
 @noindent
 @strong{[Memo]}
 @quotation
-JIS X0208-1996? $B$G$O(B ISO 2022 (@ref{ISO 2022}) $B$HFHN)$KDj5A$5$l$kM=Dj!#(B
+JIS X0208-1997? will define it in annex as non-ISO 2022 (@ref{ISO 2022})
+encoding.
 @end quotation
 
 
-@cindex{iso-2022-jp}@cindex{RFC 1468}
+
 @noindent
 [iso-2022-jp: RFC 1468]
 @quotation
@@ -715,13 +742,16 @@
 
 @node iso-2022-jp-2, iso-2022-kr, iso-2022-jp, Glossary
 @subsection iso-2022-jp-2
+@cindex RFC 1554
+@cindex Informational
+@cindex iso-2022-jp-2
 
 A MIME charset (@ref{MIME charset}), which is a multilingual extension
 of iso-2022-jp (@ref{iso-2022-jp}).@refill
 
 It is defined in RFC 1554.
 
-@cindex{iso-2022-jp-2}@cindex{Informational}@cindex{RFC 1554}
+
 @noindent
 [iso-2022-jp-2: RFC 1554]
 @quotation
@@ -737,8 +767,7 @@
 A MIME charset (@ref{MIME charset}) for Korean language (Hangul
 script).@refill
 
-It is based on ISO 2022 (@ref{ISO 2022}) code extension (@ref{code
-extension}) technique to extends ASCII (@ref{ASCII}) to use KS C5601
+It is based on ISO 2022 (@ref{ISO 2022}) code extension (@ref{code extension}) technique to extend ASCII (@ref{ASCII}) to use KS C5601
 (@ref{KS C5601}) as 7bit (@ref{7bit}) text.@refill
 
 It is defined in RFC 1557 (@ref{RFC 1557}).
@@ -746,13 +775,10 @@
 
 @node ISO 646, ISO 8859-1, iso-2022-kr, Glossary
 @subsection ISO 646
-
-$B3F9q$G6&DL$K;H$($k:G>.8BEY$NJ8;z=89g(B(@ref{Character set})$B$rDj$a$?$b$N!#(B
-94 $BJ8;z=89g(B (@ref{94 character set})$B$N#1$D!#(BISO 646 IRV$B!J9q:]4p=`HG!K$r(B
-$B85$K4v$D$+$NJ8;z$O3F9q$G0c$&J8;z$r3dEv$k$3$H$r5v$7$F$$$F!"4v$D$+$NJQ<o$,(B
-$BB8:_$9$k!#(BASCII (@ref{ASCII}) $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
-
-@cindex{ISO 646}@cindex{ISO/IEC 646:1991}
+@cindex ISO/IEC 646:1991
+@cindex ISO 646
+
+
 @noindent
 [ISO 646]
 @quotation
@@ -765,8 +791,10 @@
 
 @node ISO 8859-1, iso-8859-1, ISO 646, Glossary
 @subsection ISO 8859-1
-
-@cindex{ISO 8859-1}@cindex{ISO 8859-1:1987}
+@cindex ISO 8859-1:1987
+@cindex ISO 8859-1
+
+
 @noindent
 [ISO 8859-1]
 @quotation
@@ -779,21 +807,23 @@
 
 @node iso-8859-1, ISO 8859-2, ISO 8859-1, Glossary
 @subsection iso-8859-1
-
-@cindex{iso-8859-1}@strong{iso-8859-1} is a MIME charset (@ref{MIME
-charset}) for west-European languages written by Latin script.@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-1
-(@ref{ISO 8859-1}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+@cindex iso-8859-1
+
+@strong{iso-8859-1} is a MIME charset (@ref{MIME charset}) for
+west-European languages written by Latin script.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine ISO 8859-1 (@ref{ISO 8859-1}).@refill
 
 It is defined in RFC 2046 (@ref{RFC 2046}).
 
 
 @node ISO 8859-2, iso-8859-2, iso-8859-1, Glossary
 @subsection ISO 8859-2
-
-@cindex{ISO 8859-2}@cindex{ISO 8859-2:1987}
+@cindex ISO 8859-2:1987
+@cindex ISO 8859-2
+
+
 @noindent
 [ISO 8859-2]
 @quotation
@@ -806,21 +836,23 @@
 
 @node iso-8859-2, ISO 8859-3, ISO 8859-2, Glossary
 @subsection iso-8859-2
-
-@cindex{iso-8859-2}@strong{iso-8859-2} is a MIME charset (@ref{MIME
-charset}) for east-European languages written by Latin script.@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-2
-(@ref{ISO 8859-2}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+@cindex iso-8859-2
+
+@strong{iso-8859-2} is a MIME charset (@ref{MIME charset}) for
+east-European languages written by Latin script.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine ISO 8859-2 (@ref{ISO 8859-2}).@refill
 
 It is defined in RFC 2046 (@ref{RFC 2046}).
 
 
 @node ISO 8859-3, ISO 8859-4, iso-8859-2, Glossary
 @subsection ISO 8859-3
-
-@cindex{ISO 8859-3}@cindex{ISO 8859-3:1988}
+@cindex ISO 8859-3:1988
+@cindex ISO 8859-3
+
+
 @noindent
 [ISO 8859-3]
 @quotation
@@ -833,8 +865,10 @@
 
 @node ISO 8859-4, ISO 8859-5, ISO 8859-3, Glossary
 @subsection ISO 8859-4
-
-@cindex{ISO 8859-4}@cindex{ISO 8859-4:1988}
+@cindex ISO 8859-4:1988
+@cindex ISO 8859-4
+
+
 @noindent
 [ISO 8859-4]
 @quotation
@@ -847,8 +881,10 @@
 
 @node ISO 8859-5, iso-8859-5, ISO 8859-4, Glossary
 @subsection ISO 8859-5
-
-@cindex{ISO 8859-5}@cindex{ISO 8859-5:1988}
+@cindex ISO 8859-5:1988
+@cindex ISO 8859-5
+
+
 @noindent
 [ISO 8859-5]
 @quotation
@@ -861,21 +897,23 @@
 
 @node iso-8859-5, ISO 8859-6, ISO 8859-5, Glossary
 @subsection iso-8859-5
-
-@cindex{iso-8859-5}@strong{iso-8859-5} is a MIME charset (@ref{MIME
-charset}) for Cyrillic script.@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-5
-(@ref{ISO 8859-5}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+@cindex iso-8859-5
+
+@strong{iso-8859-5} is a MIME charset (@ref{MIME charset}) for Cyrillic
+script.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine ISO 8859-5 (@ref{ISO 8859-5}).@refill
 
 It is defined in RFC 2046 (@ref{RFC 2046}).
 
 
 @node ISO 8859-6, ISO 8859-7, iso-8859-5, Glossary
 @subsection ISO 8859-6
-
-@cindex{ISO 8859-6}@cindex{ISO 8859-6:1987}
+@cindex ISO 8859-6:1987
+@cindex ISO 8859-6
+
+
 @noindent
 [ISO 8859-6]
 @quotation
@@ -888,8 +926,10 @@
 
 @node ISO 8859-7, iso-8859-7, ISO 8859-6, Glossary
 @subsection ISO 8859-7
-
-@cindex{ISO 8859-7}@cindex{ISO 8859-7:1987}
+@cindex ISO 8859-7:1987
+@cindex ISO 8859-7
+
+
 @noindent
 [ISO 8859-7]
 @quotation
@@ -902,17 +942,20 @@
 
 @node iso-8859-7, ISO 8859-8, ISO 8859-7, Glossary
 @subsection iso-8859-7
-
-@cindex{iso-8859-7}@strong{iso-8859-7} is a MIME charset (@ref{MIME
-charset}) for Greek script.@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-7
-(@ref{ISO 8859-7}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+@cindex RFC 1947
+@cindex Informational
+@cindex iso-8859-7
+@cindex iso-8859-7
+
+@strong{iso-8859-7} is a MIME charset (@ref{MIME charset}) for Greek
+script.@refill
+
+It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
+(@ref{ASCII}) to combine ISO 8859-7 (@ref{ISO 8859-7}).@refill
 
 It is defined in RFC 1947.
 
-@cindex{iso-8859-7}@cindex{Informational}@cindex{RFC 1947}
+
 @noindent
 [iso-8859-7: RFC 1947]
 @quotation
@@ -924,8 +967,10 @@
 
 @node ISO 8859-8, ISO 8859-9, iso-8859-7, Glossary
 @subsection ISO 8859-8
-
-@cindex{ISO 8859-8}@cindex{ISO 8859-8:1988}
+@cindex ISO 8859-8:1988
+@cindex ISO 8859-8
+
+
 @noindent
 [ISO 8859-8]
 @quotation
@@ -938,8 +983,10 @@
 
 @node ISO 8859-9, ISO-IR-165, ISO 8859-8, Glossary
 @subsection ISO 8859-9
-
-@cindex{ISO 8859-9}@cindex{ISO 8859-9:1990}
+@cindex ISO 8859-9:1990
+@cindex ISO 8859-9
+
+
 @noindent
 [ISO 8859-9]
 @quotation
@@ -953,43 +1000,47 @@
 @node ISO-IR-165, JIS X0201, ISO 8859-9, Glossary
 @subsection ISO-IR-165, CCITT Extended GB 
 
-CCITT $B$,EPO?$7$?!"Cf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=(B
-$B$9$k$?$a$N(B 94x94-character set (@ref{94x94-character set})$B!#(B@refill
-
-GB 2312 (@ref{GB 2312}) $B$H(B GB 8565 $BI=#2(B (@ref{GB 8865.2}) $B$K(B 150 $BJ8;z$[(B
-$B$I$rDI2C$7$?$b$N$i$7$$!#(B@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B `E' $B$G$"$k!#(B
+A 94x94-character set (@ref{94x94-character set}) for Chinese mainly
+written by simplified Chinese mainly used in the Chinese mainland
+registered by CCITT.@refill
+
+It consists of GB 2312 (@ref{GB 2312}), GB 8565.2 (@ref{GB 8565.2}) and
+additional 150 characters.@refill
+
+Final byte of ISO 2022 (@ref{ISO 2022}) is 04/05 (`E').
 
 
 @node JIS X0201, JIS C6226, ISO-IR-165, Glossary
 @subsection JIS X0201
-
-ISO 646 (@ref{ISO 646}) $B$NJQ<o$N#1$D$G$"$k(B Latin $BJ8;z=89g$H(B 1 byte $B$N%+(B
-$B%?%+%JJ8;z=89g$+$i$J$k!#(B@refill
-
-$B85$O(B @cindex{JIS C6220-1976}@strong{JIS C6220-1976} $B$H8@$C$?$,(B @cindex{JIS
-X0201}@strong{JIS
-X0201} $B$KHV9f$,JQ99$5$l$?!#(B
-
-@cindex{JIS X0201-1976}@cindex{JIS        X 0201-1976:}
+@cindex JIS X 0201:1997?  draft
+@cindex JIS X0201-1997?
+@cindex JIS        X 0201-1976:
+@cindex JIS X0201-1976
+@cindex JIS C6220-1976
+
+It defines two 94-character set (@ref{94-character set}), for Latin
+script (a variant of ISO 646 (@ref{ISO 646})) and Katakana script, and
+7bit and 8bit coded character set (@ref{coded character set})s.@refill
+
+It was renamed from @strong{JIS C6220-1976}.
+
+
 @noindent
 [JIS X0201-1976]
 @quotation
-$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X>pJs8r49MQId9f!Y(B, ``Code
-for Information Interchange'', JIS X 0201-1976:.
+Japanese Standards Association, ``Code for Information Interchange'',
+JIS X 0201-1976:.
 @end quotation
 
 
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=P$kM=Dj!#(B
-
-@cindex{JIS X0201-1996?}@cindex{JIS X 0201:1996?        draft}
+In addition, revised version will be published in 1997.
+
+
 @noindent
-[JIS X0201-1996?]
+[JIS X0201-1997?]
 @quotation
-$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X#7%S%C%H5Z$S#8%S%C%H$N>p(B
-$BJs8r49MQId9f2=J8;z=89g!Y(B, ``7-bit and 8-bit coded character sets for
-information interchange'', JIS X 0201:1996?  draft.
+Japanese Standards Association, ``7-bit and 8-bit coded character sets
+for information interchange'', JIS X 0201:1997?  draft.
 @end quotation
 
 
@@ -997,8 +1048,8 @@
 @node JIS C6226, JIS X0208, JIS X0201, Glossary
 @subsection JIS C6226-1978
 
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B 94x94-character set (@ref{94x94-character
-set})$B!#F|K\$N9q2HI8=`!#(BJIS X0208-1978 $B$H$b$$$&!#(B@refill
+A 94x94-character set (@ref{94x94-character set}) for Japanese.  It was
+renamed to JIS X0208-1978.@refill
 
 (cf. @ref{JIS X0208})
 
@@ -1006,49 +1057,54 @@
 
 @node JIS X0208, JIS X0212, JIS C6226, Glossary
 @subsection JIS X0208
-
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B 94x94-character set (@ref{94x94-character
-set})$B!#F|K\$N9q2HI8=`!#(B1978 $BG/HG!"(B1983 $BG/HG!"(B1990 $BG/HG$,$"$k$,!"(BInternet 
-$B$G$O(B 1983 $BG/HG$,$b$C$H$bNI$/;H$o$l$F$$$k!#(B@refill
-
-JIS X0208 $B$O5-9f!"?t;z!"%m!<%^;z!"$R$i$,$J!"%+%?%+%J!"%.%j%7%cJ8;z!"%-%j(B
-$B%kJ8;z!"7S@~AG!"Bh#1?e=`!"Bh#2?e=`$N4A;z$,4^$^$l$k!#C"$7!"(B1983 $BG/HG$N0l(B
-$BIt$N5-9f$H7S@~AG$O(B 1978 $BG/HG$K$O$J$$!#$^$?!"0lIt$N4A;z$N;z7A$,(B 1983 $BG/HG(B
-$B$G$OJQ99$5$l!"$^$?!"Bh#1?e=`$HBh#2?e=`$,F~$lBX$o$C$F$$$?$j$9$k!#$3$N$?$a!"(B
-1978 $BG/HG$H(B 1983 $BG/HG$O0[$J$kJ8;z=89g$H$7$F07$o$l$k!#(B@refill
-
-1990 $BG/$N2~Dj$G$O(B 1983 $BG/HG$KBP$9$kDI2C$,9T$o$l$?!#$3$N$?$a!"(B1990 $BG/HG(B
-$B$r;X<($9$k>l9g$OA0$K99?7%7!<%1%s%9$rMQ$$$k!#(B
-
-@cindex{JIS X0208-1978}@cindex{JIS C6226:1978}
+@cindex JIS X        0208:1997? draft
+@cindex JIS X0208-1997?
+@cindex JIS        X0208:1983,1990
+@cindex JIS X0208-1983,1990
+@cindex JIS C6226:1978
+@cindex JIS X0208-1978
+
+A 94x94-character set (@ref{94x94-character set}) for Japanese.
+Japanese standard.  It was published in 1978, and revised in 1983 and
+1990.  In the Internet message, 1983 edition is major.@refill
+
+JIS X0208 contains some symbols, numbers, primary Latin script, Hiragana
+script, Katakana script, Greek script, Cyrillic script, box drawing
+parts, Kanji (Ideographic characters used in Japanese).  Notice that
+some symbols and box drawing parts were added in 1983 and some Kanjis
+were changed or swapped code points.  So 1978 edition and 1983 edition
+are regarded as different graphic character set.@refill
+
+1990 edition added some characters, so designation of 1990 edition
+requires `identify revised registration' sequence, ESC 02/06 4/0 as
+prefix of designation sequence.
+
+
 @noindent
 [JIS X0208-1978]
 @quotation
-$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X>pJs8r49MQ4A;zId9f7O!Y(B,
-``Code of the Japanese graphic character set for information
-interchange'', JIS C6226:1978.
+Japanese Standards Association, ``Code of the Japanese graphic character
+set for information interchange'', JIS C6226:1978.
 @end quotation
 
-@cindex{JIS X0208-1983,1990}@cindex{JIS X0208:1983,1990}
+
 @noindent
 [JIS X0208-1983,1990]
 @quotation
-$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X>pJs8r49MQ4A;zId9f7O!Y(B,
-``Code of the Japanese graphic character set for information
-interchange'', JIS X0208:1983,1990.
+Japanese Standards Association, ``Code of the Japanese graphic character
+set for information interchange'', JIS X0208:1983,1990.
 @end quotation
 
 
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=PHG$5$l$kM=Dj!#!J;z7A$NJQ99$O9T$o$l$J$$$N$GJ8(B
-$B;z=89g$H$7$F$O(B 1990 $BG/HG$HF10l$G$"$k!K(B
-
-@cindex{JIS X0208-1996?}@cindex{JIS X 0208:1996? draft}
+In addition, revised version will be published in 1997. (It does not
+change graphic character set)
+
+
 @noindent
-[JIS X0208-1996?]
+[JIS X0208-1997?]
 @quotation
-$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X#7%S%C%H5Z$S#8%S%C%H$N(B 
-$B#2%P%$%H>pJs8r49MQId9f2=4A;z=89g!Y(B, ``7-bit and 8-bit double byte coded
-Kanji sets for information interchange'', JIS X 0208:1996? draft.
+Japanese Standards Association, ``7-bit and 8-bit double byte coded
+Kanji sets for information interchange'', JIS X 0208:1997? draft.
 @end quotation
 
 
@@ -1056,24 +1112,26 @@
 @node JIS X0212, koi8-r, JIS X0208, Glossary
 @subsection JIS X0212-1990
 
-JIS X0208 (@ref{JIS X0208}) $B$K$J$+$C$?J8;z$r=8$a$?(B 94x94-character set
-(@ref{94x94-character set})$B!#!VJd=u4A;z!W$H$b8F$P$l$k!#F|K\$N9q2HI8=`!#(B
-ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B `D'.
+A 94x94-character set (@ref{94x94-character set}) for Japanese as
+supplement to JIS X0208 (@ref{JIS X0208}).  It is a standard of
+Japan.@refill
+
+Final byte of ISO 2022 (@ref{ISO 2022}) is 04/04 (`D').
 
 
 @node koi8-r, KS C5601, JIS X0212, Glossary
 @subsection koi8-r
+@cindex RFC 1489
 
 A MIME charset (@ref{MIME charset}) for Cyrillic script for Russian or
 other languages.@refill
 
-It is a 1 byte 8bit (@ref{8bit}) coded character set (@ref{coded
-character set}), not based on ISO 2022 (@ref{ISO 2022}).  It is a
+It is a 1 byte 8bit (@ref{8bit}) coded character set (@ref{coded character set}), not based on ISO 2022 (@ref{ISO 2022}).  It is a
 de-fact standard.@refill
 
 It is defined in RFC 1489.@refill
 
-@cindex{RFC 1489}
+
 @noindent
 [RFC 1489]
 @quotation
@@ -1082,14 +1140,15 @@
 
 
 
-@node KS C5601, message, koi8-r, Glossary
+@node KS C5601, media type, koi8-r, Glossary
 @subsection KS C5601-1987
+@cindex KS C 5601:1987
+@cindex KS C5601
 
 A 94x94-character set (@ref{94x94-character set}) for Korean language
-(Hangul script).  Korean Standard.  Final byte of ISO 2022 (@ref{ISO
-2022}) is `C'.
-
-@cindex{KS C5601}@cindex{KS C 5601:1987}
+(Hangul script).  Korean Standard.  Final byte of ISO 2022 (@ref{ISO 2022}) is 04/03 (`C').
+
+
 @noindent
 [KS C5601]
 @quotation
@@ -1099,30 +1158,88 @@
 
 
 
-@node message, message/rfc822, KS C5601, Glossary
+@node media type, message, KS C5601, Glossary
+@subsection media type
+@cindex x-token
+@cindex message
+@cindex multipart
+@cindex application
+@cindex video
+@cindex audio
+@cindex image
+@cindex text
+@cindex subtype
+@cindex type
+@cindex media type
+
+@strong{media type} specifies the nature of the data in the body of MIME
+(@ref{MIME}) entity (@ref{entity}).  It consists of @strong{type} and
+@strong{subtype}.  It is defined in RFC 2046 (@ref{RFC 2046}).@refill
+
+Currently there are following types:
+
+@itemize @bullet
+@item
+@strong{text}
+@item
+@strong{image}
+@item
+@strong{audio}
+@item
+@strong{video}
+@item
+@strong{application}
+@item
+@strong{multipart} (@ref{multipart})
+@item
+@strong{message}
+@end itemize
+
+
+And there are various subtypes, for example, application/octet-stream,
+audio/basic, image/jpeg, multipart/mixed (@ref{multipart/mixed}),
+text/plain (@ref{text/plain}), video/mpeg...@refill
+
+You can refer registered media types at MEDIA TYPES
+(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types).@refill
+
+In addition, you can use private type or subtype using @strong{x-token},
+which as the prefix `x-'.  However you can not use them in
+public.@refill
+
+(cf. @ref{Content-Type field})
+
+
+
+@node message, message/rfc822, media type, Glossary
 @subsection message
 
-$B$3$3$G$O(B RFC 822 (@ref{RFC 822}) $B$GDj5A$5$l$k(B mail $B$H(B RFC 1036 (@ref{RFC
-1036}) $B$GDj5A$5$l$k(B news $B5-;v$NAm>N$H$7$FMQ$$$k!#(B
+In this document, it means mail defined in RFC 822 (@ref{RFC 822}) and
+news message defined in RFC 1036 (@ref{RFC 1036}).
 
 
 @node message/rfc822, method, message, Glossary
 @subsection message/rfc822
-
-@cindex{message/rfc822}@strong{message/rfc822} indicates that the body
-contains an encapsulated message, with the syntax of an RFC 822
-(@ref{RFC 822}) message.  It is the replacement of traditional RFC 934
-(@ref{RFC 934}) encapsulation.  It is defined in RFC 2046 (@ref{RFC
-2046}).
+@cindex message/rfc822
+
+@strong{message/rfc822} indicates that the body contains an encapsulated
+message, with the syntax of an RFC 822 (@ref{RFC 822}) message.  It is
+the replacement of traditional RFC 934 (@ref{RFC 934}) encapsulation.
+It is defined in RFC 2046 (@ref{RFC 2046}).
 
 
 @node method, MIME, message/rfc822, Glossary
 @subsection method
-
-tm $B$GFCDj$N<oN`$N(B data $B$r:F@8$7$?$H$-<B:]$K$=$N=hM}$r9T$J$&(B
-program. Emacs Lisp $B$G=q$+$l$?(B @cindex{internal method}@strong{internal
-method} $B$H(B C $B$d(B script $B8@8l$J$I$G=q$+$l$?(B @cindex{external
-method}@strong{external method} $B$,$"$k!#(B@refill
+@cindex external method
+@cindex internal method
+
+Application program of tm-view to process for specified media type
+(@ref{media type}) when user plays an entity.@refill
+
+There are two kinds of methods, @strong{internal method} and
+@strong{external method}.  Internal method is written by Emacs Lisp.
+External method is written by C or script languages and called by
+asynchronous process call.@refill
 
 (cf. @ref{(tm-view-en)method})
 
@@ -1130,9 +1247,9 @@
 
 @node MIME, MIME charset, method, Glossary
 @subsection MIME
-
-MIME stands for @cindex{Multipurpose Internet Mail
-Extensions}@strong{Multipurpose Internet Mail Extensions}, it is an
+@cindex Multipurpose Internet Mail Extensions
+
+MIME stands for @strong{Multipurpose Internet Mail Extensions}, it is an
 extension for RFC 822 (@ref{RFC 822}).@refill
 
 According to RFC 2045:@refill
@@ -1165,22 +1282,25 @@
 @node MIME charset, MTA, MIME, Glossary
 @subsection MIME charset
 
-Coded character set (@ref{Coded character set}) used in Content-Type
+Coded character set (@ref{coded character set}) used in Content-Type
 field (@ref{Content-Type field}) or charset parameter of encoded-word
 (@ref{encoded-word}).@refill
 
 It is defined in RFC 2045 (@ref{RFC 2045}).@refill
 
-iso-2022-jp (@ref{iso-2022-jp}) $B$d(B euc-kr (@ref{euc-kr}) $B$O$=$N#1$D!#(B
-$B!J$3$3$G$O!"(BMIME charset $B$OJ8;z=89g(B (@ref{Character set})$B$H6hJL$7$F>.J8(B
-$B;z$G=q$$$F$$$k!K(B
+iso-2022-jp (@ref{iso-2022-jp}) or euc-kr (@ref{euc-kr}) are kinds of
+it.  (In this document, MIME charsets are written by small letters to
+distinguish graphic character set (@ref{graphic character set}).  For
+example, ISO 8859-1 is a graphic character set, and iso-8859-1 is a MIME
+charset)
 
 
 @node MTA, MUA, MIME charset, Glossary
 @subsection MTA
-
-@cindex{Message Transfer Agent}@strong{Message Transfer Agent} $B$NN,$G!"(B
-sendmail $B$J$I$N(B mail $BG[Aw(B program $B$H(B news server $B$NAm>N!#(B@refill
+@cindex Message Transfer Agent
+
+@strong{Message Transfer Agent}.  It means mail transfer programs
+(ex. sendmail) and news servers.@refill
 
 (cf. @ref{MUA})
 
@@ -1188,9 +1308,10 @@
 
 @node MUA, MULE, MTA, Glossary
 @subsection MUA
-
-@cindex{Message User Agent}@strong{Message User Agent} $B$NN,$G!"(Bmail
-reader $B$H(B news reader $B$NAm>N!#(B@refill
+@cindex Message User Agent
+
+@strong{Message User Agent}.  It means mail readers and news
+readers.@refill
 
 (cf. @ref{MTA})
 
@@ -1198,32 +1319,44 @@
 
 @node MULE, multipart, MUA, Glossary
 @subsection MULE
-
-$BH>ED(B $B7u0l;a$i$,:n$C$?!"B?8@8l$5$l$?(B Emacs (@ref{Emacs}).@refill
-
-[MULE] Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual
-Enhancement to GNU Emacs'', Proc. of INET'93, August, 1993.@refill
-
-$B8=:_!"(BMULE $B$N5!G=$r(B Emacs $B$K(B merge $B$9$k:n6H$,9T$o$l$F$*$j!"(Balpha $BHG(B
-(ftp://etlport.etl.go.jp/pub/mule/mule-19.33-gamma.taz) $B$,B8:_$9$k!#(B
-
-$B$=$NB>!"(BXEmacs $B$K(B merge $B$7$?$b$N$bB8:_$9$k!#(B@refill
-
-$B$3$N$?$a!"8=:_$G$OB?8@8l(B Emacs $B$O!"85!9$N(B MULE $B$r4^$a$F#3<oN`$"$k$3$H$K(B
-$B$J$k!#(B@refill
-
-$B$=$3$G!"$3$3$G$O!"B?8@8l(B Emacs $B$NAm>N$r(B @cindex{mule}@strong{mule}, $B85!9(B
-$B$N(B MULE $B$r(B @cindex{MULE}@strong{MULE}, mule $B5!G=$r(B merge $B$7$?(B Emacs $B$r(B
-@cindex{Emacs/mule}@strong{Emacs/mule}, mule $B5!G=$r(B merge $B$7$?(B XEmacs $B$r(B 
-@cindex{XEmacs/mule}@strong{XEmacs/mule} $B$H8F$V$3$H$K$9$k!#(B
+@cindex XEmacs/mule
+@cindex Emacs/mule
+@cindex MULE
+@cindex mule
+@cindex MULE
+
+Multilingual extension of GNU Emacs (@ref{Emacs}) by HANDA Ken'ichi et
+al.
+
+
+@noindent
+[MULE]
+@quotation
+Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual Enhancement
+to GNU Emacs'', Proc. of INET'93, August, 1993.
+@end quotation
+
+Now, FSF and HANDA Ken'ichi et al. are working to merge MULE feature
+into Emacs, there is alpha version of mule merged emacs
+(ftp://etlport.etl.go.jp/pub/mule/mule-19.33-delta.taz).@refill
+
+In addition, there is XEmacs with mule feature.@refill
+
+So now, there are 3 kinds of mule variants.@refill
+
+In this document, @strong{mule} means any mule variants,
+@strong{MULE} means original MULE (..2.3),
+@strong{Emacs/mule} means mule merged Emacs,
+@strong{XEmacs/mule} means XEmacs with mule feature.
 
 
 @node multipart, multipart/alternative, MULE, Glossary
 @subsection Multipart
-
-@cindex{multipart}@strong{multipart} means media type (@ref{media type})
-to insert multiple entities (@ref{entities}) in a single body.  Or it
-also indicates a message consists of multiple entities.@refill
+@cindex multipart
+
+@strong{multipart} means media type (@ref{media type}) to insert
+multiple entities (@ref{entity}) in a single body.  Or it also indicates
+a message consists of multiple entities.@refill
 
 There are following subtypes registered in RFC 2046 (@ref{RFC 2046}):
 
@@ -1252,12 +1385,13 @@
 
 @node multipart/alternative, multipart/digest, multipart, Glossary
 @subsection multipart/alternative
-
-@cindex{multipart/digest}@strong{multipart/digest} is one of multipart
-(@ref{multipart}) media types.  This type is syntactically identical to
-multipart/mixed (@ref{multipart/mixed}), but the semantics are
-different.  In particular, each of the body parts is an ``alternative''
-version of the same information.@refill
+@cindex multipart/digest
+
+@strong{multipart/digest} is one of multipart (@ref{multipart}) media
+types.  This type is syntactically identical to multipart/mixed
+(@ref{multipart/mixed}), but the semantics are different.  In
+particular, each of the body parts is an ``alternative'' version of the
+same information.@refill
 
 (cf. @ref{RFC 2046})
 
@@ -1265,13 +1399,14 @@
 
 @node multipart/digest, multipart/encrypted, multipart/alternative, Glossary
 @subsection multipart/digest
-
-@cindex{multipart/digest}@strong{multipart/digest} is one of multipart
-(@ref{multipart}) media types.  This type is syntactically identical to
-multipart/mixed (@ref{multipart/mixed}), but the semantics are
-different.  In particular, in a digest, the default Content-Type value
-for a body part is changed from text/plain (@ref{text/plain}) to
-message/rfc822 (@ref{message/rfc822}).@refill
+@cindex multipart/digest
+
+@strong{multipart/digest} is one of multipart (@ref{multipart}) media
+types.  This type is syntactically identical to multipart/mixed
+(@ref{multipart/mixed}), but the semantics are different.  In
+particular, in a digest, the default Content-Type value for a body part
+is changed from text/plain (@ref{text/plain}) to message/rfc822
+(@ref{message/rfc822}).@refill
 
 This is the replacement of traditional RFC 1153 (@ref{RFC 1153}) based
 encapsulation (@ref{encapsulation}).@refill
@@ -1283,8 +1418,8 @@
 @node multipart/encrypted, multipart/mixed, multipart/digest, Glossary
 @subsection multipart/encrypted
 
-RFC 1847 $B$GDj5A$5$l$?(B Security multipart (@ref{Security multipart}) $B$N#1(B
-$B$D$G!"0E9f2=$5$l$?(B message $B$rI=8=$9$k$N$KMQ$$$k!#(B@refill
+It is a Security multipart (@ref{Security multipart}) defined in RFC
+1847, used to represent encrypted message.@refill
 
 (cf. @ref{PGP/MIME})
 
@@ -1303,12 +1438,13 @@
 
 @node multipart/parallel, multipart/signed, multipart/mixed, Glossary
 @subsection multipart/parallel
-
-@cindex{multipart/parallel}@strong{multipart/parallel} is a subtype of
-multipart (@ref{multipart}).  This type is syntactically identical to
-multipart/mixed (@ref{multipart/mixed}), but the semantics are
-different.  In particular, in a parallel entity, the order of body parts
-is not significant.@refill
+@cindex multipart/parallel
+
+@strong{multipart/parallel} is a subtype of multipart (@ref{multipart}).
+This type is syntactically identical to multipart/mixed
+(@ref{multipart/mixed}), but the semantics are different.  In
+particular, in a parallel entity, the order of body parts is not
+significant.@refill
 
 (cf. @ref{RFC 2046})
 
@@ -1317,8 +1453,8 @@
 @node multipart/signed, PGP, multipart/parallel, Glossary
 @subsection multipart/signed
 
-RFC 1847 $B$GDj5A$5$l$?(B Security multipart (@ref{Security multipart}) $B$N#1(B
-$B$D$G!"EE;R=pL>$rI=8=$9$k$N$KMQ$$$k!#(B@refill
+It is a Security multipart (@ref{Security multipart}) defined in RFC
+1847, used to represent signed message.@refill
 
 (cf. @ref{PGP/MIME})
 
@@ -1326,19 +1462,22 @@
 
 @node PGP, PGP-kazu, multipart/signed, Glossary
 @subsection PGP
-
-Phil Zimmermann $B;a$,:n@.$7$?8x3+800E9f=hM}7O$N#1$D!#(Bmessage
-(@ref{message}) $B$N0E9f2=$dEE;R=pL>$r9T$&$3$H$,$G$-$k!#(BPretty Good
-Privacy $B$NN,!#(B@refill
-
-$BEAE}E*$J(B PGP $B$G$O(B encapsulation (@ref{encapsulation}) $B$K(B RFC 934
-(@ref{RFC 934})$B$K=`$8$?J}K!$rMQ$$$k!#$3$l$O(B MIME (@ref{MIME}) $B$HL7=b$9$k(B
-$B$N$G(B PGP/MIME (@ref{PGP/MIME}) $B$,Ds0F$5$l$F$$$k!#0lJ}!"(BMIME $B$K$*$$$F(B PGP 
-$B$N(Bencapsulation $B$rMQ$$$kJ}K!(B (cf. @ref{PGP-kazu})
- $B$bMxMQ$5$l$F$-$?!#$7$+$7!":#8e$O(B PGP/MIME $B$KE}0l$7$F$$$/J}$,K>$^$7$$!#(B
-@refill
-
-@cindex{PGP}@cindex{Informational}@cindex{RFC 1991}
+@cindex RFC 1991
+@cindex Informational
+@cindex PGP
+@cindex Pretty Good Privacy
+
+A public key encryption program by Phil Zimmermann.  It provides
+encryption and signature for message (@ref{message}).  PGP stands for
+@strong{Pretty Good Privacy}.@refill
+
+Traditional PGP uses RFC 934 (@ref{RFC 934}) encapsulation
+(@ref{encapsulation}).  It is conflict with MIME (@ref{MIME}).  So
+PGP/MIME (@ref{PGP/MIME}) is defined.  On the other hand, PGP-kazu
+(@ref{PGP-kazu}) was proposed to use PGP encapsulation in MIME.  But it
+is obsoleted.@refill
+
+
 @noindent
 [PGP: RFC 1991]
 @quotation
@@ -1351,52 +1490,41 @@
 
 @node PGP-kazu, PGP/MIME, PGP, Glossary
 @subsection PGP-kazu
-
-$B;3K\(B $BOBI'(B $B;a$,Ds0F$7$?(B MIME (@ref{MIME}) $B$G(B PGP (@ref{PGP}) $B$rMxMQ$9$k$?(B
-$B$a$NJ}K!$r$3$3$G$O(B @cindex{PGP-kazu}@strong{PGP-kazu} $B$H8F$V$3$H$K$9$k!#(B
-
-PGP-kazu $B$O(B @cindex{application/pgp}@strong{application/pgp} $B$H$$$&(B 
-content-type (@ref{content-type}) $B$rDj5A$9$k!#(B@refill
-
-application/pgp $B$N(B part $B$G$O(B PGP $B$N(B encapsulation (@ref{encapsulation}) 
-$B$,MQ$$$i$l$k!#(BPGP $B$N(B encapsulation (cf. @ref{RFC 934})
- $B$H(B MIME $B$N(B encapsulation $B$OL7=b$9$k$N$G!"(BPGP $B$N(B encapsulation $B$r2r$+$J(B
-$B$$8B$j!"Cf$K4^$^$l$?(B MIME message $B$rFI$`$3$H$,$G$-$J$/$J$k!#B($A!"(B
-PGP-kazu $B$KBP1~$7$F$$$J$$(B MIME $B$KBP1~$7$?(B MUA (@ref{MUA}) $B$O$=$N(B part $B$,(B
-$BFI$a$J$/$J$k!#$=$NBe$o$j!"(BMIME $B$KBP1~$7$F$$$J$$(B PGP $BBP1~$N(B MUA
-(@ref{MUA}) $B$G$b(B message $B$rFI$`$3$H$,$G$-$k!#(B@refill
-
-PGP-kazu $B$G$O(B MUA $B$O(B PGP $B$N$H(B MIME $B$N$H$$$&#2$D$N(B encapsulation $B$rCN$i$J(B
-$B$1$l$P$J$i$J$$!#$^$?!"(Bapplication/pgp part $B$r(B parse $B$9$k$?$a$K$O!"$^$:!"(B
-pgp $B$N=hM}$r9T$o$J$1$l$P$J$i$J$$$N$G!"(Bparse $B=hM}$,J#;($K$J$k!#(B@refill
-
-$B$^$?!"(BInternet $B$G$O:#8e(B PGP/MIME (@ref{PGP/MIME}) $B$NJ}8~$GI8=`2=$7$F$$$3(B
-$B$&$H$$$&$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP-kazu $B$OMQ$$$J$$$N$,K>(B
-$B$^$7$$!#(B@refill
-
-[draft-kazu-pgp-mime-00.txt] Yamamoto K., ``PGP MIME Integration'',
-October, 1995
+@cindex application/pgp
+@cindex PGP-kazu
+
+In this document, @strong{PGP-kazu} means a method to use traditional
+PGP encapsulation in MIME (@ref{MIME}), proposed by YAMAMOTO
+Kazuhiko.@refill
+
+PGP-kazu defines a media type (@ref{media type}),
+@strong{application/pgp}.@refill
+
+In application/pgp entity, PGP encapsulation (@ref{encapsulation}) is
+used.  PGP encapsulation conflicts with MIME, so it requires
+PGP-processing to read as MIME message.@refill
+
+It was obsoleted, so you should use PGP/MIME (@ref{PGP/MIME}).  However
+if you want to use traditional PGP message, it might be available.
 
 
 @node PGP/MIME, Quoted-Printable, PGP-kazu, Glossary
 @subsection PGP/MIME
-
-Michael Elkins $B;a$,Ds0F$7$?(B MIME (@ref{MIME}) $B$G(B PGP (@ref{PGP}) $B$rMxMQ(B
-$B$9$k$?$a$NJ}K!!#(B@refill
-
-RFC 1847 (@ref{Security multipart}) $B$K4p$-!"(BMIME $B$N(B multipart $B$K$h$k(B 
-encapsulation (@ref{encapsulation}) $B$r9T$&!#$3$N$?$a!"(BMIME $B$N<+A3$J3HD%(B
-$B$K$J$C$F$$$k!#$7$+$7!"EAE}E*$J(B PGP$B$H$N8_49@-$,<:$o$l$F$$$k!#(B@refill
-
-PGP/MIME $B$G$O(B PGP-kazu (@ref{PGP-kazu}) $B$H0[$J$j!"(BMIME $B$N(B encapsulation 
-$B$N$_$rMQ$$$k!#$^$?!"$3$N$?$a!"(BPGP $B$N=hM}$r9T$&A0$K(B message $B$N(B parse $B$r9T(B
-$B$&$3$H$,$G$-$k!#(B@refill
-
-Internet $B$G$O:#8e(B PGP/MIME (@ref{PGP/MIME}) $B$NJ}8~$GI8=`2=$7$F$$$3$&$H$$(B
-$B$&$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP $B$rMQ$$$k>l9g$O(B PGP/MIME$B$rMQ(B
-$B$$$k$N$,K>$^$7$$!#(B
-
-@cindex{PGP/MIME}@cindex{Standards Track}@cindex{RFC 2015}
+@cindex RFC 2015
+@cindex Standards Track
+@cindex PGP/MIME
+
+PGP (@ref{PGP}) and MIME (@ref{MIME}) integration proposed by Michael
+Elkins.@refill
+
+It is based on RFC 1847 (@ref{Security multipart}), so it is harmonious
+with MIME, but it is not compatible with traditional PGP encapsulation.
+However MIME MUA can read PGP/MIME signed message even if it does not
+support PGP/MIME.@refill
+
+PGP/MIME (@ref{PGP/MIME}) will be standard of PGP message.
+
+
 @noindent
 [PGP/MIME: RFC 2015]
 @quotation
@@ -1408,10 +1536,10 @@
 
 @node Quoted-Printable, RFC 821, PGP/MIME, Glossary
 @subsection Quoted-Printable
-
-@cindex{Quoted-Printable}@strong{Quoted-Printable} is a transfer
-encoding method of MIME (@ref{MIME}) defined in RFC 2045 (@ref{RFC
-2045}).@refill
+@cindex Quoted-Printable
+
+@strong{Quoted-Printable} is a transfer encoding method of MIME
+(@ref{MIME}) defined in RFC 2045 (@ref{RFC 2045}).@refill
 
 If the data being encoded are mostly US-ASCII text, the encoded form of
 the data remains largely recognizable by humans.@refill
@@ -1422,11 +1550,11 @@
 
 @node RFC 821, RFC 822, Quoted-Printable, Glossary
 @subsection RFC 821
-
-@cindex{SMTP}@strong{SMTP} $B$H8F$P$l$k(B Internet mail $B$NG[AwK!$NI8=`$rDj$a(B
-$B$F$$$k(B RFC.
-
-@cindex{SMTP}@cindex{STD 10}@cindex{RFC 821}
+@cindex RFC 821
+@cindex STD 10
+@cindex SMTP
+
+
 @noindent
 [SMTP: RFC 821]
 @quotation
@@ -1437,21 +1565,24 @@
 
 @node RFC 822, RFC 934, RFC 821, Glossary
 @subsection RFC 822
-
-Internet mail $B$N<g$K(B @cindex{message header}@strong{message header} $B$K4X$9$k7A<0$K(B
-$B4X$9$kI8=`$rDj$a$F$$$k(B RFC.
+@cindex RFC 822
+@cindex STD 11
+@cindex Internet mail
+@cindex Internet message
+@cindex message header
+
+A RFC defines format of Internet mail message, mainly @strong{message header}.
 
 @noindent
 @strong{[Memo]}
 @quotation
 
-news message $B$b$3$l$K=`$8$F$$$k$N$G!"(B@cindex{Internet
-mail}@strong{Internet mail} $B$H=q$/$h$j$b!"(B@cindex{Internet
-message}@strong{Internet message} $B$H=q$$$?J}$,NI$$$+$b$7$l$J$$!#(B
+news message is based on RFC 822, so @strong{Internet message} may be
+more suitable than @strong{Internet mail} .
 @end quotation
 
 
-@cindex{STD 11}@cindex{RFC 822}
+
 @noindent
 [RFC 822]
 @quotation
@@ -1463,16 +1594,16 @@
 
 @node RFC 934, RFC 1036, RFC 822, Glossary
 @subsection RFC 934
-
-Internet mail (@ref{RFC 822}) $B$N(B 
-@cindex{encapsulation}@strong{encapsulation} (@ref{encapsulation}) $B$NJ}(B
-$BK!$rDj$a$?(B RFC.@refill
-
-MIME (@ref{MIME}) $B$HL7=b$9$k$N$G!"8=:_$G$O(B message/rfc822
-(@ref{message/rfc822}) $B$rMQ$$$k$Y$-$G$"$k!#(B
-
-
-@cindex{RFC 934}
+@cindex RFC 934
+@cindex encapsulation
+
+A RFC defines an @strong{encapsulation} (@ref{encapsulation}) method for
+Internet mail (@ref{RFC 822}).@refill
+
+It conflicts with MIME (@ref{MIME}), so you should use message/rfc822
+(@ref{message/rfc822}).
+
+
 @noindent
 [RFC 934]
 @quotation
@@ -1484,12 +1615,14 @@
 
 @node RFC 1036, RFC 1153, RFC 934, Glossary
 @subsection RFC 1036
-
-USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC. RFC 822 (@ref{RFC 822})$B$N(B subset 
-$B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B netnews $B$G$b$3$l(B
-$B$K=`$8$F$$$k$b$N$,B?$$!#(B
-
-@cindex{USENET}@cindex{RFC 1036}
+@cindex RFC 1036
+@cindex USENET
+
+A RFC defines format of USENET message.  It is a subset of RFC 822
+(@ref{RFC 822}).  It is not Internet standard, but a lot of netnews
+excepting Usenet uses it.
+
+
 @noindent
 [USENET: RFC 1036]
 @quotation
@@ -1501,19 +1634,9 @@
 
 @node RFC 1153, RFC 1557, RFC 1036, Glossary
 @subsection RFC 1153
-
-$BJ#?t$N(B Internet mail (@ref{RFC 822}) $B$r(B 
-@cindex{encapsulation}@strong{encapsulation} (@ref{encapsulation}) $B$9$k(B
-$B$?$a$NJ}K!$rDj$a$?(B RFC. RFC 934 (@ref{RFC 934}) $B$rMQ$$$k!#(B@refill
-
-MIME (@ref{MIME}) $B$HL7=b$9$k$N$G!"8=:_$G$O(B message/rfc822
-(@ref{message/rfc822}) $B$rMQ$$$?(B multipart (@ref{multipart}) $B$rMQ$$$k$Y$-(B
-$B$G$"$k!#(B@refill
-
-(cf. @ref{multipart/digest})
-
-
-@cindex{RFC 1153}
+@cindex RFC 1153
+
+
 @noindent
 [RFC 1153]
 @quotation
@@ -1524,11 +1647,13 @@
 
 @node RFC 1557, RFC 1922, RFC 1153, Glossary
 @subsection RFC 1557
-
-euc-kr (@ref{euc-kr}) $B$H(B iso-2022-kr (@ref{iso-2022-kr}) $B$H$$$&4Z9q8l$N(B
-$B$?$a$N(B MIME charset (@ref{MIME charset}) $B$rDj5A$7$F$$$k(B RFC.
-
-@cindex{Informational}@cindex{RFC 1557}
+@cindex RFC 1557
+@cindex Informational
+
+A RFC defines MIME charset (@ref{MIME charset})s for Korean, euc-kr
+(@ref{euc-kr}) and iso-2022-kr (@ref{iso-2022-kr}).
+
+
 @noindent
 [RFC 1557]
 @quotation
@@ -1540,17 +1665,21 @@
 
 @node RFC 1922, RFC 2045, RFC 1557, Glossary
 @subsection RFC 1922
-
+@cindex RFC 1922
+@cindex Informational
+@cindex charset-extension
+@cindex charset-edition
+
+A RFC defines MIME charset (@ref{MIME charset})s for Chinese,
 iso-2022-cn (@ref{iso-2022-cn}), iso-2022-cn-ext
-(@ref{iso-2022-cn-ext}), cn-gb (@ref{cn-gb}), cn-big5 (@ref{cn-big5}) $B$H(B
-$B$$$C$?Cf9q8l$N$?$a$N(B MIME charset (@ref{MIME charset}) $B$rDj5A$7$F$$$k(B 
-RFC.@refill
-
-$B$3$l$K2C$($F!"(B@cindex{charset-edition}@strong{charset-edition} $B$H(B 
-@cindex{charset-extension}@strong{charset-extension} $B$H$$$&(B Content-Type
-field (@ref{Content-Type field}) $B$N(B parameter $B$rDj5A$7$F$$$k!#(B
-
-@cindex{Informational}@cindex{RFC 1922}
+(@ref{iso-2022-cn-ext}), cn-gb (@ref{cn-gb}), cn-big5 (@ref{cn-big5}),
+etc.@refill
+
+In addition, it defines additional parameters of Content-Type field
+(@ref{Content-Type field}) field, @strong{charset-edition} and
+@strong{charset-extension}.
+
+
 @noindent
 [RFC 1922]
 @quotation
@@ -1563,8 +1692,10 @@
 
 @node RFC 2045, RFC 2046, RFC 1922, Glossary
 @subsection RFC 2045
-
-@cindex{Standards Track}@cindex{RFC 2045}
+@cindex RFC 2045
+@cindex Standards Track
+
+
 @noindent
 [RFC 2045]
 @quotation
@@ -1577,8 +1708,10 @@
 
 @node RFC 2046, RFC 2048, RFC 2045, Glossary
 @subsection RFC 2046
-
-@cindex{Standards Track}@cindex{RFC 2046}
+@cindex RFC 2046
+@cindex Standards Track
+
+
 @noindent
 [RFC 2046]
 @quotation
@@ -1591,8 +1724,10 @@
 
 @node RFC 2048, RFC 2049, RFC 2046, Glossary
 @subsection RFC 2048
-
-@cindex{Standards Track}@cindex{RFC 2048}
+@cindex RFC 2048
+@cindex Standards Track
+
+
 @noindent
 [RFC 2048]
 @quotation
@@ -1605,8 +1740,10 @@
 
 @node RFC 2049, plain text, RFC 2048, Glossary
 @subsection RFC 2049
-
-@cindex{Standards Track}@cindex{RFC 2049}
+@cindex RFC 2049
+@cindex Standards Track
+
+
 @noindent
 [RFC 2049]
 @quotation
@@ -1620,22 +1757,29 @@
 @node plain text, Security multipart, RFC 2049, Glossary
 @subsection plain text
 
-$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$(B $BJ8;zId9f(B(@ref{Coded character set})$B$N$_(B
-$B$GI=8=$5$l$k(B text $B>pJs!#(B(cf. @ref{text/plain})
+A textual data represented by only coded character set (@ref{coded character set}).  It does not have information about font or
+typesetting.  (cf. @ref{text/plain})
 
 
 
 @node Security multipart, text/enriched, plain text, Glossary
 @subsection Security multipart
-
-MIME (@ref{MIME}) $B$G0E9f$dEE;R=qL>$rMQ$$$k$?$a$N7A<0!#(B
-@cindex{multipart/signed}@strong{multipart/signed}
-(@ref{multipart/signed}) $B$H(B 
-@cindex{multipart/encrypted}@strong{multipart/encrypted}
-(@ref{multipart/encrypted}) $B$H$$$&(B multipart $B$rMQ$$$k!#(BMOSS $B$d(B PGP/MIME
-(@ref{PGP/MIME}) $B$O$3$l$K4p$$$F$$$k!#(B
-
-@cindex{Security multipart}@cindex{Standards Track}@cindex{RFC 1847}
+@cindex RFC 1847
+@cindex Standards Track
+@cindex Security multipart
+@cindex multipart/encrypted
+@cindex multipart/signed
+
+A format to represent signed/encrypted message in MIME
+(@ref{MIME}).@refill
+
+It defines two multipart media types, @strong{multipart/signed}
+(@ref{multipart/signed}) and @strong{multipart/encrypted}
+(@ref{multipart/encrypted}).@refill
+
+MOSS and PGP/MIME (@ref{PGP/MIME}) are based on it.
+
+
 @noindent
 [Security multipart: RFC 1847]
 @quotation
@@ -1648,12 +1792,10 @@
 
 @node text/enriched, text/plain, Security multipart, Glossary
 @subsection text/enriched
-
-RFC 1521 $B$GDj5A$5$l$?(B @cindex{text/richtext}@strong{text/richtext} $B$KBe(B
-$B$o$C$F!"=qBN$dAHHG$K4X$9$k>pJs$r;}$C$?(B text$B$rI=8=$9$k$?$a$N(B media type
-(@ref{media type}).
-
-@cindex{text/enriched}@cindex{RFC 1896}
+@cindex RFC 1896
+@cindex text/enriched
+
+
 @noindent
 [text/enriched: RFC 1896]
 @quotation
@@ -1665,10 +1807,10 @@
 
 @node text/plain, tm-kernel, text/enriched, Glossary
 @subsection text/plain
-
-@cindex{text/plain}@strong{text/plain} is a media type (@ref{media
-type}) for plain text (@ref{plain text}), defined in RFC 2046 (@ref{RFC
-2046}).@refill
+@cindex text/plain
+
+@strong{text/plain} is a media type (@ref{media type}) for plain text
+(@ref{plain text}), defined in RFC 2046 (@ref{RFC 2046}).@refill
 
 The default media type of ``text/plain; charset=us-ascii'' for Internet
 mail describes existing Internet practice.  That is, it is the type of
@@ -1681,22 +1823,22 @@
 @node tm-kernel, tm-MUA, text/plain, Glossary
 @subsection tm-kernel, tm
 
-Emacs $B$G(B MIME (@ref{MIME}) $B$rMxMQ$9$k$?$a$N(B user interface $B$rDs6!$9$k(B 
-library $B72!#(B`tools for MIME' $B$NN,!#(B
+A libraries to provide user interface about MIME (@ref{MIME}) for emacs.
+tm stands for `tools for MIME'.
 
 @noindent
-@strong{[$B$I$&$G$bNI$$$3$H(B(^-^;]}
+@strong{[Unimportant notice(^-^;]}
 @quotation
 
 @itemize @bullet
 @item
- tm $B$O(B ``tiny-mime'' $B$NN,$8$c$J$$$i$7$$$>(B (^-^;
+ tm may not stand for ``tiny-mime''(^-^;
   
 @item
- tm $B$O:n<T$N%$%K%7%c%k$8$c$J$$$i$7$$$>(B (^-^;
+ tm may not stand for initial of an author (^-^;
   
 @item
- ``Tools for MIME'' $B$NN,$H$$$&$N$O$3$8$D$1$i$7$$$>(B (^-^;
+ ``Tools for MIME'' may be strained (^-^;
 @end itemize
 @end quotation
 
@@ -1704,46 +1846,50 @@
 
 @node tm-MUA, us-ascii, tm-kernel, Glossary
 @subsection tm-MUA
-
-tm (@ref{tm-kernel}) $B$rMQ$$$?(B MUA (@ref{MUA}) $B$b$7$/$O(B MUA $B$KBP$9$k(B 
-extender.@refill
-
-@cindex{tm $BBg@9$j(B package}@strong{tm $BBg@9$j(B package} $B$K$O(B
+@cindex tm-rmail
+@cindex tm-vm
+@cindex gnus-mime
+@cindex tm-gnus
+@cindex tm-mh-e
+@cindex tm oomori package
+
+MUA (@ref{MUA}) or MUA extender using tm (@ref{tm-kernel}).@refill
+
+@strong{tm oomori package} has following extenders:
 
 @itemize @bullet
 @item
-mh-e (@ref{(mh-e)}) $BMQ$N(B @cindex{tm-mh-e}@strong{tm-mh-e}
-@item
-GNUS $BMQ$N(B @cindex{tm-gnus}@strong{tm-gnus}
+@strong{tm-mh-e} (@ref{(tm-mh-e-en)})
+ for mh-e (@ref{(mh-e)})
 @item
-Gnus $BMQ$N(B @cindex{gnus-mime}@strong{gnus-mime} (@ref{(gnus-mime-en)})
-@item
-VM $BMQ$N(B @cindex{tm-vm}@strong{tm-vm}
+@strong{tm-gnus} (@ref{(tm-gnus_en)}) for GNUS
 @item
-RMAIL $BMQ$N(B @cindex{tm-rmail}@strong{tm-rmail}
+@strong{gnus-mime} (@ref{(gnus-mime-en)}) for Gnus
+@item
+@strong{tm-vm} (@ref{(tm-vm_en)}) for VM
+@item
+@strong{tm-rmail} for RMAIL
 @end itemize
 
-@noindent
-$B$,4^$^$l$F$$$k!#(B
-
-$BFHN)$7$?(B MUA $B$H$7$F$O(B cmail (@ref{(cmail)}) $B$,(B tm $B$rMxMQ2DG=$G$"$k!#(B
 
 
 @node us-ascii,  , tm-MUA, Glossary
 @subsection us-ascii
-
-$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N(B MIME charset
-(@ref{MIME charset}) $B$N#1$D!#(B@refill
-
-ASCII (@ref{ASCII}) $B$N$_$+$i$J$j(B ISO 2022 (@ref{ISO 2022}) $B$K$h$kId9f3H(B
-$BD%(B (@ref{Code extension})$B$O5v$5$l$J$$!#(B@refill
-
-Internet mail $B$K$*$1$kI8=`$NId9f2=J8;z=89g(B(@ref{Coded character set})$B$G(B
-$B$"$j!"L@<(E*$K(B MIME charset $B$,<($5$l$J$$>l9g$O86B'$H$7$F(B 
-@cindex{us-ascii}@strong{us-ascii} $B$,;H$o$l$k!#(B@refill
-
-$B$^$?!"(BRFC 822 (@ref{RFC 822}) $B$K$*$1$k(B @cindex{ASCII}@strong{ASCII} $B$O(B 
-us-ascii $B$r;X$9$b$N$H2r<a$9$Y$-$G$"$k!#(B
+@cindex ASCII
+@cindex us-ascii
+
+A MIME charset (@ref{MIME charset}) for primary Latin script mainly
+written by English or other languages.@refill
+
+It is a 7bit coded character set (@ref{coded character set}) based on
+ISO 2022 (@ref{ISO 2022}), it contains only ASCII (@ref{ASCII}) and code
+extension (@ref{code extension}) is not allowed.@refill
+
+It is standard coded character set of Internet mail.  If MIME charset is
+not specified, @strong{us-ascii} is used as default.@refill
+
+In addition, @strong{ASCII} of RFC 822 (@ref{RFC 822}) should be
+interpreted as us-ascii.
 
 
 @node Setting, Bug report, Introduction, Top
@@ -1766,8 +1912,9 @@
 
 @node mime-setup, tm-setup, Setting, Setting
 @section Normal setting
-
-If you want normal setting, please use @cindex{mime-setup}@strong{mime-setup}.
+@cindex mime-setup
+
+If you want normal setting, please use @strong{mime-setup}.
 For example, please insert following into @file{~/.emacs}:
 
 @lisp
@@ -1788,10 +1935,9 @@
 
 @node signature, Notice about GNUS, mime-setup, mime-setup
 @subsection signature
-
-You can set up the @cindex{automatic signature selection
-tool}@strong{automatic signature selection
-tool} using @file{mime-setup}. If you want to
+@cindex automatic signature selection tool
+
+You can set up the @strong{automatic signature selection tool} using @file{mime-setup}. If you want to
 automatically select the signature file depending on how the message
 headers show, add lines like shown below to your .emacs (Refer to the
 reference manual of @file{signature.el} for more details).
@@ -1871,11 +2017,12 @@
 
 @node tm-setup, setting for VM, mime-setup, Setting
 @section Setting not to use tm-edit
-
-@cindex{tm-setup}@strong{tm-setup} only sets up tm-MUA (@ref{tm-MUA})s.
-In other words, it is a setting to avoid to use tm-edit.  If you don't
-want to compose MIME message or want to use other MIME composer, please
-use it instead of @file{mime-setup.el}.@refill
+@cindex tm-setup
+
+@strong{tm-setup} only sets up tm-MUA (@ref{tm-MUA})s.  In other words,
+it is a setting to avoid to use tm-edit.  If you don't want to compose
+MIME message or want to use other MIME composer, please use it instead
+of @file{mime-setup.el}.@refill
 
 For example, please insert following into @file{~/.emacs}:
 
@@ -1897,8 +2044,10 @@
 
 @node setting for VM, manual setting, tm-setup, Setting
 @section Setting for VM
-
-If you use @cindex{vm}@strong{vm}, please insert following in
+@cindex BBDB
+@cindex vm
+
+If you use @strong{vm}, please insert following in
 @file{~/.vm}:
 
 @lisp
@@ -1911,8 +2060,8 @@
 @strong{[Notice]}
 @quotation
 
-If you use @cindex{BBDB}@strong{BBDB}, please insert @code{(require
-'tm-vm)} @strong{after} @code{(bbdb-insinuate-vm)}.
+If you use @strong{BBDB}, please insert @code{(require 'tm-vm)}
+@strong{after} @code{(bbdb-insinuate-vm)}.
 @end quotation
 
 
@@ -1941,8 +2090,9 @@
 
 
 
-@node Bug report, Concept Index, Setting, Top
+@node Bug report, Acknowledgments, Setting, Top
 @chapter How to report bug and about mailing list of tm
+@cindex good bug report
 
 If you write bug-reports and/or suggestions for improvement, please
 send them to the tm Mailing List:
@@ -1959,11 +2109,11 @@
 Bugs in old version might be fixed.  So please try latest version at
 first.@refill
 
-You should write @cindex{good bug report}@strong{good bug report}.  If
-you write only ``tm does not work'', we can not find such situations.
-At least, you should write name, type, variants and version of OS,
-emacs, tm and MUA, and setting.  In addition, if error occurs, to send
-backtrace is very important. (cf. @ref{(emacs)Bugs}) @refill
+You should write @strong{good bug report}.  If you write only ``tm does
+not work'', we can not find such situations.  At least, you should write
+name, type, variants and version of OS, emacs, tm and MUA, and setting.
+In addition, if error occurs, to send backtrace is very
+important. (cf. @ref{(emacs)Bugs}) @refill
 
 Bug may not appear only your environment, but also in a lot of
 environment (otherwise it might not bug).  Therefor if you send mail to
@@ -1986,7 +2136,35 @@
 body in human-recognizable language (^_^).
 
 
-@node Concept Index, Variable Index, Bug report, Top
+@node Acknowledgments, Concept Index, Bug report, Top
+@chapter Acknowledgments
+
+I thank MASUTANI Yasuhiro.  He requested me a lot of important features
+and gave me a lot of suggestions when tm-view was born.  tm-view is
+based on his influence.@refill
+
+I thank ENAMI Tsugutomo for work of @file{mime.el}, which is an origin
+of @file{tm-ew-d.el} and @file{mel-b.el}, and permission to rewrite for
+tm.@refill
+
+I thank OKABE Yasuo for work of internal method for LaTeX and automatic
+assembling method for message/partial.  I thank UENO Hiroshi for work of
+internal method for tar archive.@refill
+
+I thank UMEDA Masanobu for his work of @file{mime.el}, which is the
+origin of tm-edit, and permission to rewrite his work as tm-edit.@refill
+
+I thank KOBAYASHI Shuhei for his work as a tm maintainer.  In addition,
+he often points out or suggests about conformity with RFCs.@refill
+
+I thank Oscar Figueiredo for his work as the maintainer of tm-vm.  He
+improves tm-vm and wrote a good manual of tm-vm.@refill
+
+Last of all, I thank members of two tm mailing lists, Japanese and
+English version.
+
+
+@node Concept Index, Variable Index, Acknowledgments, Top
 @chapter Concept Index
 
 @printindex cp
--- a/man/tm/tm-ja.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-ja.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,9 +1,9 @@
 <!doctype sinfo system>
-<!-- $Id: tm-ja.sgml,v 1.1 1996/12/22 00:09:33 steve Exp $ -->
+<!-- $Id: tm-ja.sgml,v 1.2 1996/12/29 00:15:31 steve Exp $ -->
 <head>
-<title>tm 7.90 Manual$B!JF|K\8lHG!K(B
+<title>tm 7.100 Manual$B!JF|K\8lHG!K(B
 <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail>
-<date>1996/10/15
+<date>1996/12/25
 
 <toc>
 </head>
@@ -51,98 +51,95 @@
 <h3> 7bit
 <node> 7bit
 <p>
-$B$3$3$G$O(B 0 $B$+$i(B 127 $B$N@0?t$r;X$7$^$9!#(B
+$B$3$3$G$O(B 0 $B$+$i(B 127 $B$N@0?t$r;X$9!#(B
 <p>
 0 $B$+$i(B 127 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``7bit $B$N(B data'' $B$H8F(B
-$B$S$^$9!#(B
+$B$V!#(B
 <p>
 $B$^$?!"(B0 $B$+$i(B 31 $B$*$h$S(B 127 $B$GI=8=$5$l$k@)8fJ8;z$H(B 32 $B$GI=8=$5$l$k6uGr(B
 $B$H(B 33 $B$+$i(B 126 $B$GI=8=$5$l$k?^7AJ8;z$+$i$J$kJ8;zNs$N$3$H$r(B ``7bit $B$NJ8(B
-$B;zNs(B'' $B$H8F$S$^$9!J$3$l$O(B <a node="ISO 2022">ISO 2022</a> $B$N!V(B7 $BC10L7O!W(B
-$B$HF1MM$G$9!K!#(B
+$B;zNs(B'' $B$H8F$V!J$3$l$O(B <dref>ISO 2022</dref> $B$N!V(B7 $BC10L7O!W$HF1MM!K!#(B
+<p>
+$BEAE}E*$J(B Internet $B$N(B <dref>MTA</dref> $B$O(B 7bit $B$N(B data $B$rE>Aw$G$-$k$N$G!"(B
+7bit $B$N(B data $B$O(B <dref>Quoted-Printable</dref> $B$d(B <dref>Base64</dref> 
+$B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$k!#(B
 <p>
-$BEAE}E*$J(B Internet $B$N(B <a node="MTA">MTA</a> $B$O(B 7bit $B$N(B data $B$rE>Aw$G$-(B
-$B$k$N$G!"(B7bit $B$N(B data $B$O(B <a
-node="Quoted-Printable">Quoted-Printable</a> $B$d(B <a
-node="Base64">Base64</a> $B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$^(B
-$B$9!#(B
-<p>
-$B$7$+$7!"(B7bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($^$;$s!#$J$<$J$i!"#1(B
-$B9T$ND9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$(B
-$B$+$i$G$9!#$A$J$_$K!"(B<a node="RFC 821">RFC 821</a> $B$O#19T$O2~9TJ8;z$r=|(B
-$B$$$F(B 998 byte $B0JFb$G$"$k$3$H$r5a$a$F$$$^$9!#$h$C$F!"$3$l0J>e$N9T$,4^$^(B
-$B$l$k2DG=@-$N$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B 
-Quoted-Printable $BEy$G(B encode$B$9$kI,MQ$,$"$j$^$9!#(B
+$B$7$+$7!"(B7bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T(B
+$B$ND9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+(B
+$B$i$G$"$k!#$A$J$_$K!"(B<dref>RFC 821</dref> $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
+byte $B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-(B
+$B$N$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B 
+encode$B$9$kI,MQ$,$"$k!#(B
 
 
 <h3> 8bit
 <node> 8bit
 <p>
-$B$3$3$G$O(B 0 $B$+$i(B 255 $B$N@0?t$r;X$7$^$9!#(B
+$B$3$3$G$O(B 0 $B$+$i(B 255 $B$N@0?t$r;X$9!#(B
 <p>
 0 $B$+$i(B 255 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``8bit $B$N(B data'' $B$H8F(B
-$B$S$^$9!#(B
+$B$V!#(B
 <p>
 $B$^$?!"(B0 $B$+$i(B 31, 127 $B$*$h$S(B 128 $B$+$i(B 159 $B$GI=8=$5$l$k@)8fJ8;z$H(B 32 $B$G(B
 $BI=8=$5$l$k6uGr$H(B 33 $B$+$i(B 126 $B$H(B 160 $B$+$i(B 255 $B$GI=8=$5$l$k?^7AJ8;z$+$i(B
-$B$J$kJ8;zNs$N$3$H$r(B ``8bit $B$NJ8;zNs(B'' $B$H8F$S$^$9!J$3$l$O(B <a node="ISO
-2022">ISO 2022</a> $B$N!V(B8 $BC10L7O!W$HF1MM$G$9!K!#(B
+$B$J$kJ8;zNs$N$3$H$r(B ``8bit $B$NJ8;zNs(B'' $B$H8F$V!J$3$l$O(B <dref>ISO
+2022</dref> $B$N!V(B8 $BC10L7O!W$HF1MM!K!#(B
 <p>
-<a node="iso-8859-1">iso-8859-1</a> $B$d(B <a node="euc-kr">euc-kr</a> $B$H(B
-$B$$$C$?Id9f2=J8;z=89g$O(B 8bit $B$NJ8;zNs$G$9!#(B
+<dref>iso-8859-1</dref> $B$d(B <dref>euc-kr</dref> $B$H$$$C$?Id9f2=J8;z=89g(B
+$B$O(B 8bit $B$NJ8;zNs$G$"$k!#(B
 <p>
-$BEAE}E*$J(B Internet $B$N(B <a node="MTA">MTA</a> $B$O(B <a node="7bit">7bit</a> 
-$B$N(B data $B$7$+E>Aw$G$-$J$$$N$G!"$=$&$7$?(B MTA $B$r7PM3$9$k>l9g!"(B<a
-node="Quoted-Printable">Quoted-Printable</a> $B$d(B <a
-node="Base64">Base64</a> $B$H$$$C$?JQ49$r9T$o$J$/$F$O$J$j$^$;$s!#(B
+$BEAE}E*$J(B Internet $B$N(B <dref>MTA</dref> $B$O(B <dref>7bit</dref> $B$N(B data $B$7(B
+$B$+E>Aw$G$-$J$$$N$G!"$=$&$7$?(B MTA $B$r7PM3$9$k>l9g!"(B
+<dref>Quoted-Printable</dref> $B$d(B <dref>Base64</dref> $B$H$$$C$?JQ49$r9T(B
+$B$o$J$/$F$O$J$i$J$$!#(B
 <p>
 $B$7$+$7!":G6a$G$O(B 8bit $B$NJ8;zNs$r$=$N$^$^DL$9$3$H$,$G$-$k(B MTA $B$bEP>l$7(B
-$B$F$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$^$7$?!#(B
+$B$F$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$?!#(B
 <p>
-$B$7$+$7!"(B8bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($^$;$s!#$J$<$J$i!"#1(B
-$B9T$ND9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$(B
-$B$+$i$G$9!#$A$J$_$K!"(BRFC 821 $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998 byte $B0JFb$G$"(B
-$B$k$3$H$r5a$a$F$$$^$9!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N$"$k(B data, 
-$BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B encode$B$9$kI,MQ(B
-$B$,$"$j$^$9!#(B
+$B$7$+$7!"(B8bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T(B
+$B$ND9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+(B
+$B$i$G$"$k!#$A$J$_$K!"(B<dref>RFC 821</dref> $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
+byte $B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-(B
+$B$N$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B 
+encode$B$9$kI,MQ$,$"$k!#(B
 <p>
 $B$^$?!"$3$&$7$?M}M3$+$i!"#19T$,(B 999 byte $B0J>e$N9T$,B8:_$9$k2DG=@-$N$"$k(B
-data $B$O(B <a node="binary"><concept>binary</concept></a> $B$H8F$V$3$H$K$7(B
-$B$^$9!#(B
+data $B$O(B <a node="binary"><concept>binary</concept></a> $B$H8F$V$3$H$K$9(B
+$B$k!#(B
 <p>
-$B$A$J$_$K!"(B7bit $B$GI=8=$G$-$k(B data $B$O(B 8bit $B$G$bI=8=$G$-$^$9!#$h$C$F!"(B
+$B$A$J$_$K!"(B7bit $B$GI=8=$G$-$k(B data $B$O(B 8bit $B$G$bI=8=$G$-$k!#$h$C$F!"(B
 ``8bit'' $B$H8@$C$?>l9g!"#19T$,(B 998 byte $B0J2<$NG$0U$N(B data $B$r;X$9$3$H$,(B
-$B$"$j$^$9!#(B
+$B$"$k!#(B
 
 
 <h3> 94 $BJ8;z=89g(B
-<node> 94 character set
+<node> 94-character set
 <p>
-33 $B$+$i(B 126 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B <a node="Character set">$BJ8;z=89g(B
-</a>$B!#(B<a node="ASCII">ASCII</a> $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
+33 $B$+$i(B 126 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B <a node="Graphic character set">
+$B?^7AJ8;z=89g(B</a>$B!#(B<dref>ASCII</dref> $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
 
 
 <h3> 96 $BJ8;z=89g(B
-<node> 96 character set
+<node> 96-character set
 <p>
-32 $B$+$i(B 127 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B <a node="Character set">$BJ8;z=89g(B
-</a>$B!#(BISO 8859 $B%7%j!<%:$O$=$N0l<o!#(B
+32 $B$+$i(B 127 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B <a node="Graphic character set">
+$B?^7AJ8;z=89g(B</a>$B!#(BISO 8859 $B%7%j!<%:$O$=$N0l<o!#(B
 
 
 <h3> 94$B!_(B94 $BJ8;z=89g(B
-<node> 94x94 character set
+<node> 94x94-character set
 <p>
-33 $B$+$i(B 126 $B$NHO0O$N(B 2 byte $B$+$i$J$k(B <a node="Character set">$BJ8;z=89g(B
-</a>$B!#(B<a node="JIS X0208">JIS X0208</a> $B$d(B <a node="GB 2312">GB
-2312</a> $B$O$=$N0l<o!#(B
+33 $B$+$i(B 126 $B$NHO0O$N(B 2 byte $B$+$i$J$k(B <a node="Graphic character set">
+$B?^7AJ8;z=89g(B</a>$B!#(B<dref>JIS X0208</dref> $B$d(B <dref>GB 2312</dref> $B$O$=(B
+$B$N0l<o!#(B
 
 
 <h3> ASCII
 <node> ASCII
 <p>
-$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?(B <a node="94 character set">94 
-$BJ8;z=89g(B</a>$B!#(BA-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(B<a
-node="ISO 646">ISO 646</a> $B$N0l$D!#(B
+$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?(B <a node="94-character set">94 
+$BJ8;z=89g(B</a>$B!#(BA-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(B
+<dref>ISO 646</dref> $B$N0l$D!#(B
 
 <standard abbrev="ASCII" title-en="Coded Character Set -- 7-Bit
 	      American Standard Code for Information Interchange"
@@ -167,67 +164,69 @@
 <h3> binary
 <node> binary
 <p>
-$BG$0U$N(B byte $BNs$r(B <concept>binary</concept> $B$H8F$V$3$H$K$7$^$9!#(B
+$BG$0U$N(B byte $BNs$r(B <concept>binary</concept> $B$H8F$V!#(B
 <p>
-<a node="8bit">8bit</a> $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G(B
-$B$9!#(B
-<p>
-$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary
-$B$H8F$V$3$H$K$7$^$9!#(B
+<dref>8bit</dref> $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$"$k!#(B
 <p>
-$B$A$J$_$K!"(B<a node="7bit">7bit</a> $B$d(B 8bit $B$GI=8=$G$-$k(B data $B$O(B binary 
-$B$G$bI=8=$G$-$^$9!#$h$C$F!"(B<concept>binary data</concept> $B$H8@$C$?>l9g!"(B
-$BG$0U$N(B data $B$r;X$9$3$H$,$"$j$^$9!#(B
-
-
-<h3> Character Set$B!JJ8;z=89g!K(B
-<node> Character Set
+$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary 
+$B$H8F$V$3$H$K$9$k!#(B
 <p>
-<a node="Coded character set">$BId9f2=J8;z=89g(B</a>$B!#C"$7!"$3$3$G$O(B <a
-node="Code extension">$BId9f3HD%(B</a> $B$5$l$F$J$$J8;z=89g$H$$$&%K%e%"%s%9(B
-$B$r9~$a$F$$$k!#(B
+$B$A$J$_$K!"(B<dref>7bit</dref> $B$d(B 8bit $B$GI=8=$G$-$k(B data $B$O(B binary $B$G$bI=(B
+$B8=$G$-$k!#$h$C$F!"(B<concept>binary data</concept> $B$H8@$C$?>l9g!"G$0U$N(B 
+data $B$r;X$9$3$H$,$"$k!#(B
 
 
 <h3> cn-gb, gb2312
 <node> cn-gb
 <p>
-$BCf9qBgN&$G$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B <a
-node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+$BCf9qBgN&$G$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
+<dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F(B <a node="ASCII">ASCII</a> $B$K(B 
-<a node="GB 2312">GB 2312</a> $B$r(B <a node="8bit">8bit</a> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B <dref>GB
+2312</dref> $B$r(B <dref>8bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B
+</a>$B$7$F$$$k!#(B
 <p>
-<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+<dref>RFC 1922</dref> $B$GDj5A$5$l$F$$$k!#(B
 
 
 <h3> cn-big5, big5
 <node> cn-big5
 <p>
 $BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-<a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+<dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$+$J$$(B <a node="8bit">8bit</a> $B$N(B
+<dref>ISO 2022</dref> $B$K4p$+$J$$(B <dref>8bit</dref> $B$N(B
 <a node="Coded character set">$BId9f2=J8;z=89g(B</a>$B$G(B de-fact standard $B$G(B
-$B$"$k!#(B<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+$B$"$k!#(B<dref>RFC 1922</dref> $B$GDj5A$5$l$F$$$k!#(B
 <p>
 cf. <report abbrev="BIG5" author="Institute for Information Industry"
 	      title-en="Chinese Coded Character Set in Computer"
 	      date="March 1984">
 <p>
-<a node="CNS">CNS 11643-1986</a> $B$HBP1~4X78$,$"$k!#(B
+<dref>CNS 11643</dref> $B$HBP1~4X78$,$"$k!#(B
 
 
 <h3> CNS 11643-1992
-<node> CNS
+<node> CNS 11643
 <p>
 $BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-<a node="Character set">$BJ8;z=89g(B</a>$B!#BfOQ$NI8=`!#8=:_!"(B<a node="94x94
-character set">94$B!_(B94</a> $B$NLL$,Bh#1LL$+$iBh#7LL$^$G$"$k!#(B
+<a node="Graphic character set">$B?^7AJ8;z=89g(B</a>$B!#BfOQ$NI8=`!#8=:_!"(B<a
+node="94x94 character set">94$B!_(B94</a> $B$NLL$,Bh#1LL$+$iBh#7LL$^$G$"$k!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$G$N=*C<J8;z$O!"Bh#1LL$,(B `G', $BBh#2LL$,(B 
-`H', $BBh#3LL$,(B `I', $BBh#4LL$,(B `J', $BBh#5LL$,(B `K', $BBh#6LL$,(B `L', $BBh#7LL$,(B 
-`M' $B$G$"$k!#(B
+<dref>ISO 2022</dref> $B$G$N=*C<J8;z$O(B
+
+<dl>
+<dt>plane 1<dd>04/07 (`G')
+<dt>plane 2<dd>04/08 (`H')
+<dt>plane 3<dd>04/09 (`I')
+<dt>plane 4<dd>04/10 (`J')
+<dt>plane 5<dd>04/11 (`K')
+<dt>plane 6<dd>04/12 (`L')
+<dt>plane 7<dd>04/13 (`M')
+</dl>
+
+<noindent>
+$B$G$"$k!#(B
 
 <standard abbrev="CNS 11643-1992" title-en="Standard Interchange Code
 	      for Generally-Used Chinese Characters" number="CNS
@@ -243,78 +242,28 @@
 <h3> Code extension$B!JId9f3HD%!K(B
 <node> Code extension
 <p>
-$BM?$($i$l$?(B<a node="Character set">$BJ8;z=89g(B</a>$B$K4^$^$l$F$$$J$$J8;z$NId(B
-$B9f2=$N$?$a$KMQ$$$k<jK!!#(B<a node="ISO 2022">ISO 2022</a> $B$O$=$N#1$D!#(B
+$BM?$($i$l$?(B<a node="Graphic character set">$B?^7AJ8;z=89g(B</a>$B$K4^$^$l$F$$(B
+$B$J$$J8;z$NId9f2=$N$?$a$KMQ$$$k<jK!!#(B<dref>ISO 2022</dref> $B$O$=$N#1$D!#(B
 
 
 <h3> Content-Disposition field
 <node> Content-Disposition
 <p>
-Content $B$NI=<($N;EJ}$d(B file $BL>$rI=8=$9$k$?$a$N(B field. <a
-node="MIME">MIME</a> $B$N3HD%$N#1$D!#(B
-<p>
+Content $B$NI=<($N;EJ}$d(B file $BL>$rI=8=$9$k$?$a$N(B field.
+<dref>MIME</dref> $B$N3HD%$N#1$D!#(B
+
 <rfc number="1806" type="Experimental" author="E R. Troost and
 	      S. Dorner" title="Communicating Presentation Information
 	      in Internet Messages: The Content-Disposition Header"
 	      date="June 1995">
 
 
-<h3> media type
-<node> media type
-<p>
-<dref>MIME</dref> $B$K$*$1$k(B <dref>entity</dref> $B$N<oN`!#(B
-<concept>type</> $B$H(B <concept>subtype</concept> $B$+$i$J$k!#(B<dref>RFC
-2046</dref> $B$GDj5A$5$l$F$$$k!#(B
-<p>
-type $B$OI8=`$G$O(B
-
-<ul>
-<li><concept>text</concept>
-</li>
-<li><concept>image</concept>
-</li>
-<li><concept>audio</concept>
-</li>
-<li><concept>video</concept>
-</li>
-<li><concept>application</concept>
-</li>
-<li><a node="multipart"><concept>multipart</concept></a>
-</li>
-<li><concept>message</concept>
-</ul>
-
-<noindent>
-$B$,Dj5A$5$l!"$=$l$>$l$K$O(B application/octet-stream, audio/basic,
-image/jpeg, <dref>multipart/mixed</dref>, <dref>text/plain</dref>,
-video/mpeg $B$J$I$N$5$^$6$^$J(B subtype $B$,Dj5A$5$l$F$$$k!#(B
-
-<memo title="$BCm0U(B">
-<p>
-$B$3$3$G$O!"(Btext/plain $B$J$I$N(B type/subtype $B$NAH$r$7$P$7$P(B 
-<concept>content-type/subtype</concept> $B$H=q$/!#(B
-</memo>
-
-<p>
-media type $B$O!"(BRFC 2046 $B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G(B
-$B$-$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O(B <a
-href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
-TYPES</a> $B$G;2>H$G$-$k!#(B
-<p>
-$B$^$?!"(Btype $B$b$7$/$O(B subtype $B$K!"A0$K(B `x-' $B$rIU$1$?(B 
-<concept>x-token</concept> $B$rMQ$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r(B
-$B;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"EvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J(B 
-content-type $B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a$G$-$J$$$N$GMxMQ$K$OCm0U$9$k(B
-$B$3$H!#(B
-<p>
-<cf node="Content-Type field">
-
-
 <h3> Content-Type field
 <node> Content-Type field
 <p>
-<dref>media type</dref> $B$d(B <dref>MIME charset</dref> $B$J$I$N(B part $B$K4X(B
-$B$9$k>pJs$rI=8=$9$k$?$a$N(B field. <dref>RFC 2045</dref> $B$GDj5A$5$l$F$$$k!#(B
+<dref>media type</dref> $B$d(B <dref>MIME charset</dref> $B$J$I$N(B body $B$K4X(B
+$B$9$k>pJs$rI=8=$9$k$?$a$N(B field.  <dref>RFC 2045</dref> $B$GDj5A$5$l$F$$(B
+$B$k!#(B
 
 <memo>
 <p>
@@ -380,7 +329,7 @@
 <h3> encoded-word
 <node> encoded-word
 <p>
-header $B$K$*$1$kHs(B <a node="ASCII">ASCII</a> $BJ8;z$NI=8=!#(B<concept>RFC
+header $B$K$*$1$kHs(B <dref>ASCII</dref> $BJ8;z$NI=8=!#(B<concept>RFC
 2047</concept> $B$GDj5A$5$l$F$$$k!#(B
 <p>
 <rfc number="2047" type="Standards Track" author="K. Moore"
@@ -399,13 +348,25 @@
 <cf node="message/rfc822">
 
 
+<h3> Entity
+<node> entity
+<p>
+$B$"$k(B message $B$b$7$/$O(B <dref>multipart</dref> message $B$N#1$D$N(B part $B$N(B 
+header $B$H(B body $B$rJ;$;$?$b$N!#(B
+
+<memo>
+<p>
+$B$3$3$G$O(B part $B$H8F$V$3$H$b$"$k!#(B
+</memo>
+
+
 <h3> euc-kr
 <node> euc-kr
 <p>
-$B4Z9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+$B4Z9q8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F(B <a node="ASCII">ASCII</a> $B$K(B
-<a node="KS C5601">KS C5601</a> $B$r(B <a node="8bit">8bit</a> $B$G(B<a
+<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B
+<a node="KS C5601">KS C5601</a> $B$r(B <dref>8bit</dref> $B$G(B<a
 node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
 <p>
 <a node="RFC 1557">RFC 1557</a> $B$GDj5A$5$l$F$$$k!#(B
@@ -429,8 +390,8 @@
 <node> GB 2312
 <p>
 $BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=$9$?$a$N(B <a
-node="94x94 character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#Cf9q$N9q2HI8=`!#(B<a
-node="ISO 2022">ISO 2022</a> $B$G$N=*C<J8;z$O(B `A'.
+node="94x94-character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#Cf9q$N9q2HI8=`!#(B
+<dref>ISO 2022</dref> $B$G$N=*C<(B byte $B$O(B 04/01 (`A').
 <p>
 $B$3$l$O(B GB $B$K$*$1$k4pK\=8$G$"$k!#(B
 
@@ -444,9 +405,9 @@
 <h3> GB 8565.2-1988
 <node> GB 8565.2
 <p>
-$BCf9q8l$N$?$a$NJd=u(B<a node="Character set">$BJ8;z=89g(B</a>$B!#Cf9q$N9q2HI8=`!#(B
-<a node="GB 2312">GB 2312</a> $B$N6u$-ItJ,$KJd=<$9$k$h$&$KDj5A$5$l$?$i$7(B
-$B$$!#(B
+$BCf9q8l$N$?$a$NJd=u(B<a node="Graphic character set">$B?^7AJ8;z=89g(B</a>$B!#Cf(B
+$B9q$N9q2HI8=`!#(B<dref>GB 2312</dref> $B$N6u$-ItJ,$KJd=<$9$k$h$&$KDj5A$5$l(B
+$B$?$i$7$$!#(B
 
 <standard abbrev="GB 8565.2" title-en="Information Processing - Coded
 	      Character Sets for Text Communication - Part 2: Graphic
@@ -454,15 +415,21 @@
 	      year="1988">
 
 
+<h3> Graphic character set$B!J?^7AJ8;z=89g!K(B
+<node> Graphic character set
+<p>
+$B?^7AJ8;z$+$i$J$k(B <a node="Coded character set">$BId9f2=J8;z=89g(B</a>$B!#(B
+
+
 <h3> hz-gb2312
 <node> hz-gb2312
 <p>
-$BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B <a
-node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+$BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
+<dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ASCII">ASCII</a> $B$K(B <a node="GB 2312">GB 2312</a> $B$r(B 7bit $B$G(B
-<a node="Code extension">$BId9f3HD%(B</a>$B$7$?$b$N$r(B ASCII printable $B$K$J$k(B
-$B$h$&$K9)IW$7$F$$$k!#(B
+<dref>ASCII</dref> $B$K(B <dref>GB 2312</dref> $B$r(B 7bit $B$G(B<a node="Code
+extension">$BId9f3HD%(B</a>$B$7$?$b$N$r(B ASCII printable $B$K$J$k$h$&$K9)IW$7$F(B
+$B$$$k!#(B
 <p>
 RFC 1842, 1843 $B$GDj5A$5$l$F$$$k!#(B
 
@@ -478,11 +445,12 @@
 <h3> ISO 2022
 <node> ISO 2022
 <p>
-<a node="Code extension">$BId9f3HD%(B</a>$B$N$?$a$N9q:]I8=`!#(B
+$BId9f2=J8;z=89g$N9=B$$H(B<a node="Code extension">$BId9f3HD%(B</a>$BK!$rDj$a$?(B
+$B9q:]I8=`!#(B
 <p>
-$B$3$l$rMQ$$$FJ#?t$N(B<a node="Character set">$BJ8;z=89g(B</a>$B$rAH9g$;$F(B <a
-node="7bit">7bit</a> $B$J$$$7(B <a node="8bit">8bit</a> $B$N(B <a node="Coded
-character set">$BId9f2=J8;z=89g(B</a> $B$r:n$k$3$H$,$G$-$k!#(B
+$B$3$l$rMQ$$$FJ#?t$N(B<a node="Graphic character set">$B?^7AJ8;z=89g(B</a>$B$rAH(B
+$B9g$;$F(B <a node="7bit">7bit</a> $B$J$$$7(B <dref>8bit</dref> $B$N(B <a
+node="Coded character set">$BId9f2=J8;z=89g(B</a> $B$r:n$k$3$H$,$G$-$k!#(B
 
 <standard abbrev="ISO 2022" org="International Organization for
 	      Standardization (ISO)" title-en="Information Processing:
@@ -493,27 +461,26 @@
 <h3> iso-2022-cn
 <node> iso-2022-cn
 <p>
-$BCf9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+$BCf9q8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F(B <a node="ASCII">ASCII</a> $B$K(B 
-<a node="GB 2312">GB 2312</a>, <a node="CNS">CNS 11643 plain 1, plain
-2</a> $B$r(B <a node="7bit">7bit</a> $B$G(B<a node="Code extension">$BId9f3HD%(B
-</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B <dref>GB
+2312</dref>, <a node="CNS 11643">CNS 11643 plain 1, plain 2</a> $B$r(B 
+<dref>7bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
 <p>
-<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+<dref>RFC 1922</dref> $B$GDj5A$5$l$F$$$k!#(B
 
 
 <h3> iso-2022-cn-ext
 <node> iso-2022-cn-ext
 <p>
-$BCf9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+$BCf9q8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F(B <a node="ASCII">ASCII</a> $B$K(B 
-<a node="GB 2312">GB 2312</a>, <a node="CNS">CNS 11643 plain 1
-.. 7</a>, <a node="ISO-IR-165">ISO-IR-165</a> $BEy$r(B <a
-node="7bit">7bit</a> $B$G(B<a node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B <dref>GB
+2312</dref>, <a node="CNS 11643">CNS 11643 plain 1 .. 7</a>,
+<dref>ISO-IR-165</dref> $BEy$r(B <dref>7bit</dref> $B$G(B<a node="Code
+extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
 <p>
-<a node="RFC 1922">RFC 1922</a> $B$GDj5A$5$l$F$$$k!#(B
+<dref>RFC 1922</dref> $B$GDj5A$5$l$F$$$k!#(B
 <p>
 <memo>
 MULE 2.3 $B$*$h$S!"8=:_$N(B XEmacs/mule $B$G$O@5$7$/07$&$3$H$O$G$-$J$$!#(B
@@ -525,18 +492,16 @@
 <h3> iso-2022-jp
 <node> iso-2022-jp
 <p>
-$BF|K\8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N0l$D!#(B
+$BF|K\8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N0l$D!#(B
 <p>
-$B8E$$(B <a node="ISO 2022">ISO 2022</a> $B$K4p$$$F(B <a
-node="ASCII">ASCII</a>, JIS X0201-Latin, <a node="JIS C6226-1978">JIS
-X0208-1978</a>, <a node="JIS X0208">JIS X0208-1983</a> $B$r@Z$jBX$($k(B <a
-node="7bit">7bit</a> $BJ8;zId9f!#(B
+$B8E$$(B <dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref>, JIS
+X0201-Latin, <a node="JIS C6226">JIS X0208-1978</a>, <a node="JIS
+X0208">JIS X0208-1983</a> $B$r@Z$jBX$($k(B <dref>7bit</dref> $BJ8;zId9f!#(B
 <p>
 RFC 1468 $B$GDj5A$5$l$F$$$k!#(B
 <p>
 <memo>
-JIS X0208-1996? $B$G$O(B <a node="ISO 2022">ISO 2022</a> $B$HFHN)$KDj5A$5$l(B
-$B$kM=Dj!#(B
+JIS X0208-1997? $B$G$O(B <dref>ISO 2022</dref> $B$HFHN)$KDj5A$5$l$kM=Dj!#(B
 </memo>
 
 <rfc name="iso-2022-jp" number="1468" author="Murai J., M. Crispin,
@@ -547,8 +512,8 @@
 <h3> iso-2022-jp-2
 <node> iso-2022-jp-2
 <p>
-<a node="iso-2022-jp">iso-2022-jp</a> $B$r3HD%$7$?(B <a node="MIME
-charset">MIME charset</a> $B$N0l$D!#(B
+<a node="iso-2022-jp">iso-2022-jp</a> $B$r3HD%$7$?(B <dref>MIME
+charset</dref> $B$N0l$D!#(B
 <p>
 RFC 1554 $B$GDj5A$5$l$F$$$k!#(B
 
@@ -561,22 +526,22 @@
 <h3> iso-2022-kr
 <node> iso-2022-kr
 <p>
-$B4Z9q8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1$D!#(B
+$B4Z9q8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F(B <a node="ASCII">ASCII</a> $B$K(B 
-<a node="KS C5601">KS C5601</a> $B$r(B <a node="7bit">7bit</a> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F(B <dref>ASCII</dref> $B$K(B <dref>KS
+C5601</dref> $B$r(B <dref>7bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B
+</a>$B$7$F$$$k!#(B
 <p>
-<a node="RFC 1557">RFC 1557</a> $B$GDj5A$5$l$F$$$k!#(B
+<dref>RFC 1557</dref> $B$GDj5A$5$l$F$$$k!#(B
 
 
 <h3> ISO 646
 <node> ISO 646
 <p>
-$B3F9q$G6&DL$K;H$($k:G>.8BEY$N(B<a node="Character set">$BJ8;z=89g(B</a>$B$rDj$a(B
-$B$?$b$N!#(B<a node="94 character set">94 $BJ8;z=89g(B</a>$B$N#1$D!#(BISO 646 IRV
-$B!J9q:]4p=`HG!K$r85$K4v$D$+$NJ8;z$O3F9q$G0c$&J8;z$r3dEv$k$3$H$r5v$7$F$$(B
-$B$F!"4v$D$+$NJQ<o$,B8:_$9$k!#(B<a node="ASCII">ASCII</a> $B$d(B JIS
+$B3F9q$G6&DL$K;H$($k:G>.8BEY$N(B<a node="Graphic character set">$B?^7AJ8;z=8(B
+$B9g(B</a>$B$rDj$a$?$b$N!#(B<a node="94-character set">94 $BJ8;z=89g(B</a>$B$N#1$D!#(B
+ISO 646 IRV$B!J9q:]4p=`HG!K$r85$K4v$D$+$NJ8;z$O3F9q$G0c$&J8;z$r3dEv$k$3(B
+$B$H$r5v$7$F$$$F!"4v$D$+$NJQ<o$,B8:_$9$k!#(B<dref>ASCII</dref> $B$d(B JIS
 X0201-Latin $B$O$=$N0l<o!#(B
 
 <standard abbrev="ISO 646" org="International Organization for
@@ -588,8 +553,8 @@
 <h3> ISO 8859-1
 <node> ISO 8859-1
 <p>
-$B@>2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B <a node="96
-character set">96 $BJ8;z=89g(B</a>$B!#(B
+$B@>2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B <a
+node="96-character set">96 $BJ8;z=89g(B</a>$B!#(B
 
 <standard abbrev="ISO 8859-1" org="International Organization for
 	      Standardization (ISO)" title-en="Information Processing
@@ -603,9 +568,9 @@
 <p>
 $B@>2$=t8l$J$I$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F!"(B<a node="ASCII">ASCII</a> $B$K(B 
-<a node="ISO 8859-1">ISO 8859-1</a> $B$r(B <a node="8bit">8bit</a> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B <dref>ISO
+8859-1</dref> $B$r(B <dref>8bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B
+</a>$B$7$F$$$k!#(B
 <p>
 <dref>RFC 2046</dref> $B$GDj5A$5$l$F$$$k!#(B
 
@@ -613,8 +578,8 @@
 <h3> ISO 8859-2
 <node> ISO 8859-2
 <p>
-$BEl2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B <a node="96
-character set">96 $BJ8;z=89g(B</a>$B!#(B
+$BEl2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B <a
+node="96-character set">96 $BJ8;z=89g(B</a>$B!#(B
 
 <standard abbrev="ISO 8859-2" org="International Organization for
 	      Standardization (ISO)" title-en="Information Processing
@@ -626,12 +591,12 @@
 <h3> iso-8859-2
 <node> iso-8859-2
 <p>
-$BEl2$=t8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N#1(B
+$BEl2$=t8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N#1(B
 $B$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F!"(B<a node="ASCII">ASCII</a> $B$K(B 
-<a node="ISO 8859-2">ISO 8859-2</a> $B$r(B <a node="8bit">8bit</a> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B <dref>ISO
+8859-2</dref> $B$r(B <dref>8bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B
+</a>$B$7$F$$$k!#(B
 <p>
 <dref>RFC 2046</dref> $B$GDj5A$5$l$F$$$k!#(B
 
@@ -659,7 +624,7 @@
 <h3> ISO 8859-5
 <node> ISO 8859-5
 <p>
-$B%-%j%kJ8;z$d5-9f$+$i$J$k(B <a node="96 character set">96 $BJ8;z=89g(B</a>$B!#(B
+$B%-%j%kJ8;z$d5-9f$+$i$J$k(B <a node="96-character set">96 $BJ8;z=89g(B</a>$B!#(B
 
 <standard abbrev="ISO 8859-5" org="International Organization for
 	      Standardization (ISO)" title-en="Information Processing
@@ -671,12 +636,12 @@
 <h3> iso-8859-5
 <node> iso-8859-5
 <p>
-$B%-%j%kJ8;z$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N(B
+$B%-%j%kJ8;z$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N(B
 $B#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F!"(B<a node="ASCII">ASCII</a> $B$K(B 
-<a node="ISO 8859-5">ISO 8859-5</a> $B$r(B <a node="8bit">8bit</a> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B <dref>ISO
+8859-5</dref> $B$r(B <dref>8bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B
+</a>$B$7$F$$$k!#(B
 <p>
 <dref>RFC 2046</dref> $B$GDj5A$5$l$F$$$k!#(B
 
@@ -694,7 +659,7 @@
 <h3> ISO 8859-7
 <node> ISO 8859-7
 <p>
-$B%.%j%7%"J8;z$d5-9f$+$i$J$k(B <a node="96 character set">96 $BJ8;z=89g(B</a>$B!#(B
+$B%.%j%7%"J8;z$d5-9f$+$i$J$k(B <a node="96-character set">96 $BJ8;z=89g(B</a>$B!#(B
 
 <standard abbrev="ISO 8859-7" org="International Organization for
 	      Standardization (ISO)" title-en="Information Processing
@@ -706,12 +671,12 @@
 <h3> iso-8859-7
 <node> iso-8859-7
 <p>
-$B%.%j%7%"8l$rI=8=$9$k$?$a$N(B <a node="MIME charset">MIME charset</a> $B$N(B
+$B%.%j%7%"8l$rI=8=$9$k$?$a$N(B <dref>MIME charset</dref> $B$N(B
 $B#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$$$F!"(B<a node="ASCII">ASCII</a> $B$K(B 
-<a node="ISO 8859-7">ISO 8859-7</a> $B$r(B <a node="8bit">8bit</a> $B$G(B<a
-node="Code extension">$BId9f3HD%(B</a>$B$7$F$$$k!#(B
+<dref>ISO 2022</dref> $B$K4p$$$F!"(B<dref>ASCII</dref> $B$K(B <dref>ISO
+8859-7</dref> $B$r(B <dref>8bit</dref> $B$G(B<a node="Code extension">$BId9f3HD%(B
+</a>$B$7$F$$$k!#(B
 <p>
 RFC 1947 $B$GDj5A$5$l$F$$$k!#(B
 
@@ -740,22 +705,24 @@
 		number="ISO 8859-9" year="1990">
 
 
-<h3> ISO-IR-165, CCITT Extended GB <node> ISO-IR-165
+<h3> ISO-IR-165, CCITT Extended GB
+<node> ISO-IR-165
 <p>
 CCITT $B$,EPO?$7$?!"Cf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=(B
-$B8=$9$k$?$a$N(B <a node="94x94 character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#(B
+$B8=$9$k$?$a$N(B<a node="94x94-character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#(B
 <p>
-<a node="GB 2312">GB 2312</a> $B$H(B <a node="GB 8865.2">GB 8565 $BI=#2(B</a> 
-$B$K(B 150 $BJ8;z$[$I$rDI2C$7$?$b$N$i$7$$!#(B
+<dref>GB 2312</dref> $B$H(B <a node="GB 8565.2">GB 8565 $BI=#2(B</a> $B$K(B 150 $BJ8(B
+$B;z$[$I$rDI2C$7$?$b$N$i$7$$!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$G$N=*C<J8;z$O(B `E' $B$G$"$k!#(B
+<dref>ISO 2022</dref> $B$G$N=*C<(B byte $B$O(B 04/05 (`E') $B$G$"$k!#(B
 
 
 <h3> JIS X0201
 <node> JIS X0201
 <p>
-<a node="ISO 646">ISO 646</a> $B$NJQ<o$N#1$D$G$"$k(B Latin $BJ8;z=89g$H(B 1
-byte $B$N%+%?%+%JJ8;z=89g$+$i$J$k!#(B
+<dref>ISO 646</dref> $B$NJQ<o$N#1$D$G$"$k(B Latin $BJ8;z=89g$H(B 1 byte $B$N%+%?(B
+$B%+%JJ8;z=89g$H!"$3$l$i$+$i$J$k(B 7bit $B$*$h$S(B 8bit <a node="Coded
+character set">$BId9f2=J8;z=89g(B</a> $B$rDj5A$7$F$$$k!#(B
 <p>
 $B85$O(B <concept>JIS C6220-1976</concept> $B$H8@$C$?$,(B <concept>JIS
 X0201</concept> $B$KHV9f$,JQ99$5$l$?!#(B
@@ -765,20 +732,19 @@
 	      title-en="Code for Information Interchange" number="JIS
 	      X 0201-1976">
 
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=P$kM=Dj!#(B
+$B$^$?!"(B1997 $BG/$K2~DjHG$,=P$kM=Dj!#(B
 
-<standard abbrev="JIS X0201-1996?" org="$BF|K\5,3J6(2q(B (Japanese
-	      Standards Association)"
-	      title-ja="$B#7%S%C%H5Z$S#8%S%C%H$N>pJs8r49MQId9f2=J8;z=89g(B"
-	      title-en="7-bit and 8-bit coded character sets for
-	      information interchange" number="JIS X 0201" year="1996?
-	      draft">
+<standard abbrev="JIS X0201-1997?" org="$BF|K\5,3J6(2q(B (Japanese
+	      Standards Association)" title-ja="$B#7%S%C%H5Z$S#8%S%C%H$N(B
+	      $B>pJs8r49MQId9f2=J8;z=89g(B" title-en="7-bit and 8-bit
+	      coded character sets for information interchange"
+	      number="JIS X 0201" year="1997?  draft">
 
 
 <h3> JIS C6226-1978
 <node> JIS C6226
 <p>
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B <a node="94x94 character set">94$B!_(B94 $BJ8;z=8(B
+$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B<a node="94x94-character set">94$B!_(B94 $BJ8;z=8(B
 $B9g(B</a>$B!#F|K\$N9q2HI8=`!#(BJIS X0208-1978 $B$H$b$$$&!#(B
 <p>
 <cf node="JIS X0208">
@@ -787,7 +753,7 @@
 <h3> JIS X0208
 <node> JIS X0208
 <p>
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B <a node="94x94 character set">94$B!_(B94 $BJ8;z=8(B
+$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B<a node="94x94-character set">94$B!_(B94 $BJ8;z=8(B
 $B9g(B</a>$B!#F|K\$N9q2HI8=`!#(B1978 $BG/HG!"(B1983 $BG/HG!"(B1990 $BG/HG$,$"$k$,!"(B
 Internet $B$G$O(B 1983 $BG/HG$,$b$C$H$bNI$/;H$o$l$F$$$k!#(B
 <p>
@@ -798,7 +764,7 @@
 $B$k!#$3$N$?$a!"(B1978 $BG/HG$H(B 1983 $BG/HG$O0[$J$kJ8;z=89g$H$7$F07$o$l$k!#(B
 <p>
 1990 $BG/$N2~Dj$G$O(B 1983 $BG/HG$KBP$9$kDI2C$,9T$o$l$?!#$3$N$?$a!"(B1990 $BG/HG(B
-$B$r;X<($9$k>l9g$OA0$K99?7%7!<%1%s%9$rMQ$$$k!#(B
+$B$r;X<($9$k>l9g$OA0$K99?7%7!<%1%s%9(B (ESC 02/06 4/0) $B$rMQ$$$k!#(B
 
 <standard abbrev="JIS X0208-1978" org="$BF|K\5,3J6(2q(B (Japanese Standards
 	      Association)" title-ja="$B>pJs8r49MQ4A;zId9f7O(B"
@@ -810,34 +776,32 @@
 	      information interchange" number="JIS X0208" year="1983,1990">
 
 <p>
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=PHG$5$l$kM=Dj!#!J;z7A$NJQ99$O9T$o$l$J$$$N$GJ8(B
+$B$^$?!"(B1997 $BG/$K2~DjHG$,=PHG$5$l$kM=Dj!#!J;z7A$NJQ99$O9T$o$l$J$$$N$GJ8(B
 $B;z=89g$H$7$F$O(B 1990 $BG/HG$HF10l$G$"$k!K(B
 
-<standard abbrev="JIS X0208-1996?" org="$BF|K\5,3J6(2q(B (Japanese
+<standard abbrev="JIS X0208-1997?" org="$BF|K\5,3J6(2q(B (Japanese
 	      Standards Association)" title-ja="$B#7%S%C%H5Z$S#8%S%C%H$N(B
 	      $B#2%P%$%H>pJs8r49MQId9f2=4A;z=89g(B" title-en="7-bit and
 	      8-bit double byte coded Kanji sets for information
-	      interchange" number="JIS X 0208" year="1996? draft">
+	      interchange" number="JIS X 0208" year="1997? draft">
 
 
 <h3> JIS X0212-1990
 <node> JIS X0212
 <p>
-<a node="JIS X0208">JIS X0208</a> $B$K$J$+$C$?J8;z$r=8$a$?(B <a
-node="94x94 character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#!VJd=u4A;z!W$H$b8F$P$l(B
-$B$k!#F|K\$N9q2HI8=`!#(B<a node="ISO 2022">ISO 2022</a> $B$G$N=*C<J8;z$O(B 
-`D'.
+<dref>JIS X0208</dref> $B$K$J$+$C$?J8;z$r=8$a$?(B<a node="94x94-character
+set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#!VJd=u4A;z!W$H$b8F$P$l$k!#F|K\$N9q2HI8=`!#(B
+<dref>ISO 2022</dref> $B$G$N=*C<(B byte $B$O(B 04/04 (`D').
 
 
 <h3> koi8-r
 <node> koi8-r
 <p>
-$B%m%7%d8lEy$GMQ$$$i$l$k%-%j%kJ8;z$rI=8=$9$k$?$a$N(B <a node="MIME
-charset">MIME charset</a> $B$N#1$D!#(B
+$B%m%7%d8lEy$GMQ$$$i$l$k%-%j%kJ8;z$rI=8=$9$k$?$a$N(B <dref>MIME
+charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ISO 2022">ISO 2022</a> $B$K4p$+$J$$(B <a node="8bit">8bit</a> $B$N(B
-<a node="Coded character set">$BId9f2=J8;z=89g(B</a>$B$G(B de-fact standard $B$G(B
-$B$"$k!#(B
+<dref>ISO 2022</dref> $B$K4p$+$J$$(B <dref>8bit</dref> $B$N(B<a node="Coded
+character set">$BId9f2=J8;z=89g(B</a>$B$G(B de-fact standard $B$G$"$k!#(B
 <p>
 RFC 1489 $B$GDj5A$5$l$F$$$k!#(B
 <p>
@@ -848,14 +812,65 @@
 <h3> KS C5601-1987
 <node> KS C5601
 <p>
-$B4Z9q8l$rI=$9$?$a$N(B <a node="94x94 character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#(B
-$B4Z9q$N9q2HI8=`!#(B<a node="ISO 2022">ISO 2022</a> $B$G$N=*C<J8;z$O(B `C'.
+$B4Z9q8l$rI=$9$?$a$N(B <a node="94x94-character set">94$B!_(B94 $BJ8;z=89g(B</a>$B!#(B
+$B4Z9q$N9q2HI8=`!#(B<dref>ISO 2022</dref> $B$G$N=*C<(B byte $B$O(B 04/03 (`C').
 
 <standard abbrev="KS C5601" org="Korea Industrial Standards
 	      Association" title-en="Code for Information Interchange
 	      (Hangul and Hanja)" number="KS C 5601" year="1987">
 
 
+<h3> media type
+<node> media type
+<p>
+<dref>MIME</dref> $B$K$*$1$k(B <dref>entity</dref> $B$N<oN`!#(B
+<concept>type</concept> $B$H(B <concept>subtype</concept> $B$+$i$J$k!#(B
+<dref>RFC 2046</dref> $B$GDj5A$5$l$F$$$k!#(B
+<p>
+type $B$OI8=`$G$O(B
+
+<ul>
+<li><concept>text</concept>
+</li>
+<li><concept>image</concept>
+</li>
+<li><concept>audio</concept>
+</li>
+<li><concept>video</concept>
+</li>
+<li><concept>application</concept>
+</li>
+<li><a node="multipart"><concept>multipart</concept></a>
+</li>
+<li><concept>message</concept>
+</ul>
+
+<noindent>
+$B$,Dj5A$5$l!"$=$l$>$l$K$O(B application/octet-stream, audio/basic,
+image/jpeg, <dref>multipart/mixed</dref>, <dref>text/plain</dref>,
+video/mpeg $B$J$I$N$5$^$6$^$J(B subtype $B$,Dj5A$5$l$F$$$k!#(B
+
+<memo title="$BCm0U(B">
+<p>
+$B$3$3$G$O!"(Btext/plain $B$J$I$N(B type/subtype $B$NAH$r$7$P$7$P(B 
+<concept>content-type/subtype</concept> $B$H=q$/!#(B
+</memo>
+
+<p>
+media type $B$O!"(BRFC 2046 $B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G(B
+$B$-$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O(B <a
+href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
+TYPES</a> $B$G;2>H$G$-$k!#(B
+<p>
+$B$^$?!"(Btype $B$b$7$/$O(B subtype $B$K!"A0$K(B `x-' $B$rIU$1$?(B 
+<concept>x-token</concept> $B$rMQ$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r(B
+$B;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"EvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J(B 
+content-type $B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a$G$-$J$$$N$GMxMQ$K$OCm0U$9$k(B
+$B$3$H!#(B
+<p>
+<cf node="Content-Type field">
+
+
 <h3> message
 <node> message
 <p>
@@ -873,9 +888,9 @@
 <h3> method
 <node> method
 <p>
-tm $B$GFCDj$N<oN`$N(B data $B$r:F@8$7$?$H$-<B:]$K$=$N=hM}$r9T$J$&(B
-program. Emacs Lisp $B$G=q$+$l$?(B <concept>internal method</concept> $B$H(B C 
-$B$d(B script $B8@8l$J$I$G=q$+$l$?(B <concept>external method</concept> $B$,$"$k!#(B
+tm $B$GFCDj$N<oN`$N(B data $B$r:F@8$7$?$H$-<B:]$K$=$N=hM}$r9T$J$&(B program.
+Emacs Lisp $B$G=q$+$l$?(B <concept>internal method</concept> $B$H(B C $B$d(B 
+script $B8@8l$J$I$G=q$+$l$?(B <concept>external method</concept> $B$,$"$k!#(B
 <p>
 <cf file="tm-view-ja" node="method">
 
@@ -915,15 +930,15 @@
 <h3> MIME charset
 <node> MIME charset
 <p>
-<dref>Content-Type field</dref> $B$d(B <a
-node="encoded-word">encoded-word</a> $B$N(B charset parameter $B$GMQ$$$i$l$k(B
-$BEPO?$5$l$?(B<a node="Coded character set">$BId9f2=J8;z=89g(B</a>$B!#(B
+<dref>Content-Type field</dref> $B$d(B <dref>encoded-word</dref> $B$N(B 
+charset parameter $B$GMQ$$$i$l$kEPO?$5$l$?(B<a node="Coded character set">
+$BId9f2=J8;z=89g(B</a>$B!#(B
 <p>
 <dref>RFC 2045</dref> $B$GDj5A$5$l$F$$$k!#(B
 <p>
-<a node="iso-2022-jp">iso-2022-jp</a> $B$d(B <a node="euc-kr">euc-kr</a> 
-$B$O$=$N#1$D!#!J$3$3$G$O!"(BMIME charset $B$O(B<a node="Character set">$BJ8;z=8(B
-$B9g(B</a>$B$H6hJL$7$F>.J8;z$G=q$$$F$$$k!K(B
+<dref>iso-2022-jp</dref> $B$d(B <dref>euc-kr</dref> $B$O$=$N#1$D!#!J$3$3$G$O!"(B
+MIME charset $B$O(B<a node="Graphic character set">$B?^7AJ8;z=89g(B</a>$B$H6hJL(B
+$B$7$F>.J8;z$G=q$$$F$$$k!K(B
 
 
 <h3> MTA
@@ -947,14 +962,15 @@
 <h3> MULE
 <node> MULE
 <p>
-$BH>ED(B $B7u0l;a$i$,:n$C$?!"B?8@8l$5$l$?(B <a node="Emacs">Emacs</a>.
-<p>
-[MULE] Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual
-Enhancement to GNU Emacs'', Proc. of INET'93, August, 1993.
+$BH>ED(B $B7u0l;a$i$,:n$C$?!"B?8@8l$5$l$?(B GNU <dref>Emacs</dref>.
+
+<inproc abbrev="MULE" author="Nishikimi M., Handa K. and Tomura S."
+	      title-en="Mule: MULtilingual Enhancement to GNU Emacs"
+	      book-en="Proc. of INET'93" date="August, 1993">
 <p>
 $B8=:_!"(BMULE $B$N5!G=$r(B Emacs $B$K(B merge $B$9$k:n6H$,9T$o$l$F$*$j!"(B<a
-href="ftp://etlport.etl.go.jp/pub/mule/mule-19.33-gamma.taz"> alpha $BHG(B
-</a> $B$,B8:_$9$k!#(B
+href="ftp://etlport.etl.go.jp/pub/mule/mule-19.33-delta.taz">alpha $BHG(B
+</a>$B$,B8:_$9$k!#(B
 <p>
 $B$=$NB>!"(BXEmacs $B$K(B merge $B$7$?$b$N$bB8:_$9$k!#(B
 <p>
@@ -1078,9 +1094,8 @@
 <h3> PGP-kazu
 <node> PGP-kazu
 <p>
-$B;3K\(B $BOBI'(B $B;a$,Ds0F$7$?(B <a node="MIME">MIME</a> $B$G(B <a
-node="PGP">PGP</a> $B$rMxMQ$9$k$?$a$NJ}K!$r$3$3$G$O(B 
-<concept>PGP-kazu</concept> $B$H8F$V$3$H$K$9$k!#(B
+$B;3K\(B $BOBI'(B $B;a$,Ds0F$7$?(B <dref>MIME</dref> $B$G(B <dref>PGP</dref> $B$rMxMQ$9(B
+$B$k$?$a$NJ}K!$r$3$3$G$O(B <concept>PGP-kazu</concept> $B$H8F$V$3$H$K$9$k!#(B
 <p>
 PGP-kazu $B$O(B <concept>application/pgp</concept> $B$H$$$&(B 
 <dref>content-type</dref> $B$rDj5A$9$k!#(B
@@ -1100,16 +1115,13 @@
 $B$^$?!"(BInternet $B$G$O:#8e(B <dref>PGP/MIME</dref> $B$NJ}8~$GI8=`2=$7$F$$$3$&(B
 $B$H$$$&$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP-kazu $B$OMQ$$$J$$$N$,K>(B
 $B$^$7$$!#(B
-<p>
-[draft-kazu-pgp-mime-00.txt] Yamamoto K., ``PGP MIME Integration'',
-October, 1995
 
 
 <h3> PGP/MIME
 <node> PGP/MIME
 <p>
-Michael Elkins $B;a$,Ds0F$7$?(B <a node="MIME">MIME</a> $B$G(B <a
-node="PGP">PGP</a> $B$rMxMQ$9$k$?$a$NJ}K!!#(B
+Michael Elkins $B;a$,Ds0F$7$?(B <dref>MIME</dref> $B$G(B <dref>PGP</dref> $B$rMx(B
+$BMQ$9$k$?$a$NJ}K!!#(B
 <p>
 <a node="Security multipart">RFC 1847</a> $B$K4p$-!"(BMIME $B$N(B multipart $B$K(B
 $B$h$k(B <dref>encapsulation</dref> $B$r9T$&!#$3$N$?$a!"(BMIME $B$N<+A3$J3HD%$K(B
@@ -1190,9 +1202,9 @@
 <h3> RFC 1036
 <node> RFC 1036
 <p>
-USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC. <a node="RFC 822">RFC 822</a>
-$B$N(B subset $B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B 
-netnews $B$G$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#(B
+USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC.  <dref>RFC 822</dref> $B$N(B 
+subset $B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B netnews 
+$B$G$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#(B
 
 <rfc name="USENET" number="1036" author="M. Horton and R. Adams"
 	      title="Standard for Interchange of USENET Messages"
@@ -1203,8 +1215,7 @@
 <node> RFC 1153
 <p>
 $BJ#?t$N(B <a node="RFC 822">Internet mail</a> $B$r(B <a node="encapsulation">
-<concept>encapsulation</concept></a> $B$9$k$?$a$NJ}K!$rDj$a$?(B 
-RFC. <dref>RFC 934</dref> $B$rMQ$$$k!#(B
+<concept>encapsulation</concept></a> $B$9$k$?$a$NJ}K!$rDj$a$?(B RFC.
 <p>
 <dref>MIME</dref> $B$HL7=b$9$k$N$G!"8=:_$G$O(B <dref>message/rfc822</dref> 
 $B$rMQ$$$?(B <dref>multipart</dref> $B$rMQ$$$k$Y$-$G$"$k!#(B
@@ -1219,7 +1230,7 @@
 <node> RFC 1557
 <p>
 <dref>euc-kr</dref> $B$H(B <dref>iso-2022-kr</dref> $B$H$$$&4Z9q8l$N$?$a$N(B 
-<a node="MIME charset">MIME charset</a> $B$rDj5A$7$F$$$k(B RFC.
+<dref>MIME charset</dref> $B$rDj5A$7$F$$$k(B RFC.
 
 <rfc number="1557" type="Informational" author="U. Choi, K. Chon and
 	      H. Park" title="Korean Character Encoding for Internet
@@ -1230,8 +1241,8 @@
 <node> RFC 1922
 <p>
 <dref>iso-2022-cn</dref>, <dref>iso-2022-cn-ext</dref>,
-<dref>cn-gb</dref>, <dref>cn-big5</dref> $B$H$$$C$?Cf9q8l$N$?$a$N(B <a
-node="MIME charset">MIME charset</a> $B$rDj5A$7$F$$$k(B RFC.
+<dref>cn-gb</dref>, <dref>cn-big5</dref> $B$H$$$C$?Cf9q8l$N$?$a$N(B 
+<dref>MIME charset</dref> $B$rDj5A$7$F$$$k(B RFC.
 <p>
 $B$3$l$K2C$($F!"(B<concept>charset-edition</concept> $B$H(B 
 <concept>charset-extension</concept> $B$H$$$&(B <dref>Content-Type
@@ -1284,18 +1295,21 @@
 <h3> plain text
 <node> plain text
 <p>
-$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$(B <a node="Coded character set">$BJ8;zId(B
-$B9f(B</a>$B$N$_$GI=8=$5$l$k(B text $B>pJs!#(B<cf node="text/plain">
+$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$(B<a node="Coded character set">$BJ8;zId9f(B
+</a>$B$N$_$GI=8=$5$l$k(B text $B>pJs!#(B<cf node="text/plain">
 
 
 <h3> Security multipart
 <node> Security multipart
 <p>
-<a node="MIME">MIME</a> $B$G0E9f$dEE;R=qL>$rMQ$$$k$?$a$N7A<0!#(B<a
-node="multipart/signed"><concept>multipart/signed</concept></a> $B$H(B <a
+<dref>MIME</dref> $B$G0E9f$dEE;R=qL>$rMQ$$$k$?$a$N7A<0!#(B
+<p>
+<a node="multipart/signed"><concept>multipart/signed</concept></a> $B$H(B 
+<a
 node="multipart/encrypted"><concept>multipart/encrypted</concept></a> 
-$B$H$$$&(B multipart $B$rMQ$$$k!#(BMOSS $B$d(B <a node="PGP/MIME">PGP/MIME</a> $B$O(B
-$B$3$l$K4p$$$F$$$k!#(B
+$B$H$$$&(B multipart $B$rMQ$$$k!#(B
+<p>
+MOSS $B$d(B <dref>PGP/MIME</dref> $B$O$3$l$K4p$$$F$$$k!#(B
 
 <rfc name="Security multipart" number="1847" type="Standards Track"
 	      author="James Galvin, Gale Murphy, Steve Crocker and Ned
@@ -1322,16 +1336,16 @@
 <dref>RFC 2046</dref> $B$GDj5A$5$l$?!"(B<dref>plain text</dref> $B$rI=8=$9$k(B
 $B$?$a$N(B <dref>media type</dref>.
 <p>
-$BHs(B MIME message $B$J$I$N(B content-type $B$,Dj5A$5$l$J$$(B part $B$O(B <dref>MIME
-charset</dref> $B$,(B <dref>us-ascii</dref> $B$G$"$k(B 
-<concept>text/plain</concept> $B$N(B part $B$G$"$k$H8+Pv$5$l$k$3$H$K$J$C$F$$(B
-$B$k!#(B
+$BHs(B MIME message $B$J$I$N(B content-type $B$,Dj5A$5$l$J$$(B <dref>entity</dref> 
+$B$O(B <dref>MIME charset</dref> $B$,(B <dref>us-ascii</dref> $B$G$"$k(B 
+<concept>text/plain</concept> $B$N(B entity $B$G$"$k$H8+Pv$5$l$k$3$H$K$J$C$F(B
+$B$$$k!#(B
 
 
 <h3> tm-kernel, tm
 <node> tm-kernel
 <p>
-Emacs $B$G(B <a node="MIME">MIME</a> $B$rMxMQ$9$k$?$a$N(B user interface $B$rDs(B
+Emacs $B$G(B <dref>MIME</dref> $B$rMxMQ$9$k$?$a$N(B user interface $B$rDs(B
 $B6!$9$k(B library $B72!#(B`tools for MIME' $B$NN,!#(B
 
 <memo title="$B$I$&$G$bNI$$$3$H(B(^-^;">
@@ -1347,8 +1361,8 @@
 <h3> tm-MUA
 <node> tm-MUA
 <p>
-<a node="tm-kernel">tm</a> $B$rMQ$$$?(B <a node="MUA">MUA</a> $B$b$7$/$O(B MUA 
-$B$KBP$9$k(B extender.
+<a node="tm-kernel">tm</a> $B$rMQ$$$?(B <dref>MUA</dref> $B$b$7$/$O(B MUA $B$KBP(B
+$B$9$k(B extender.
 <p>
 <concept>tm $BBg@9$j(B package</concept> $B$K$O(B
 
@@ -1369,17 +1383,17 @@
 <h3> us-ascii
 <node> us-ascii
 <p>
-$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N(B <a node="MIME
-charset">MIME charset</a> $B$N#1$D!#(B
+$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N(B <dref>MIME
+charset</dref> $B$N#1$D!#(B
 <p>
-<a node="ASCII">ASCII</a> $B$N$_$+$i$J$j(B <a node="ISO 2022">ISO 2022</a> 
-$B$K$h$k(B<a node="Code extension">$BId9f3HD%(B</a>$B$O5v$5$l$J$$!#(B
+<dref>ASCII</dref> $B$N$_$+$i$J$j(B <dref>ISO 2022</dref> $B$K$h$k(B<a
+node="Code extension">$BId9f3HD%(B</a>$B$O5v$5$l$J$$!#(B
 <p>
 Internet mail $B$K$*$1$kI8=`$N(B<a node="Coded character set">$BId9f2=J8;z=8(B
 $B9g(B</a>$B$G$"$j!"L@<(E*$K(B MIME charset $B$,<($5$l$J$$>l9g$O86B'$H$7$F(B 
 <concept>us-ascii</concept> $B$,;H$o$l$k!#(B
 <p>
-$B$^$?!"(B<a node="RFC 822">RFC 822</a> $B$K$*$1$k(B <concept>ASCII</concept> 
+$B$^$?!"(B<dref>RFC 822</dref> $B$K$*$1$k(B <concept>ASCII</concept> 
 $B$O(B us-ascii $B$r;X$9$b$N$H2r<a$9$Y$-$G$"$k!#(B
 
 
@@ -1614,6 +1628,37 @@
 $B$F2<$5$$!#(B(^_^)
 
 
+<h1> $B<U<-(B
+<node> Acknowledgments
+<p>
+$B;d$,(B tm-view $B$r:G=i$K:n$C$?;~$K!"87$7$$CmJ8$HM-1W$J=u8@$r2<$5$j!"$=$N(B
+$B@_7W$KB?Bg$JM?$($i$l$?>#C+J]Gn$5$s$K46<U$7$^$9!#(B
+<p>
+<file>tm-ew-d.el</file> $B$H(B <file>mel-b.el</file> $B$NA0?H$KEv$?$k(B
+<file>mime.el</file> $B$r=q$-!"$=$NG[I[$H2~B$$r$*5v$72<$5$C$?1]JB;LCR$5(B
+$B$s$K46<U$7$^$9!#(B
+<p>
+$B$^$?!"(BLaTeX $BMQ$NFbIt(B method $B$H(B message/partial $BMQ$N<+F07k9g(B method $B$r(B
+$BDs6!$7$F2<$5$C$?2,It<wCK$5$s!"(Btar archive $BMQ$NFbIt(B method $B$rDs6!$7$F2<(B
+$B$5$C$?>eLnGn$5$s$K46<U$7$^$9!#(B
+<p>
+tm-edit $B$NA0?H$H$J$C$?(B <file>mime.el</file> $B$r=q$-!"$=$NG[I[$H2~B$$r$*(B
+$B5v$72<$5$C$?!"G_ED@/?.$5$s$K46<U$7$^$9!#(Btm-edit $B$N(B user interface $B$N4p(B
+$BK\E*$J@_7W$OG_ED$5$s$N<j$K$h$k$b$N$G!"$H$F$bNI$$@_7W$G$"$C$?$H;W$$$^$9!#(B
+<p>
+tm $B$N4v$D$+$N(B module $B$N(B maintainer $B$r0z$-<u$1$F2<$5$C$?>.NS=$J?$5$s!"(B
+$BH`$O$^$?!"(BRFC $B$KBP$9$kE,9g@-$KBP$7$F1T$$;XE&$rB?!99T$&$3$H$G(B tm $B$NF0:n(B
+$B$N5,3J$KBP$9$kCi<BEY$r>e$2$k$N$KHs>o$J9W8%$r9T$$$^$7$?!#(B
+<p>
+$B$^$?!"(Btm-vm $B$N(B maintainer $B$r0z$-<u$1$F2<$5$C$?(B Oscar Figueiredo $B$5$s$K(B
+$B46<U$7$^$9!#@:NOE*$K(B tm-vm $B$r2~NI$7!"$^$?!"N)GI$J@bL@=q$r=q$$$F2<$5$$(B
+$B$^$7$?!#(B
+<p>
+$B:G8e$K!"(Bbeta test $B$K6(NO$7$F2<$5$C$?F|K\8lHG!"1Q8lHGAPJ}$N(B tm mailing
+list $B$N(B member $B$K46<U$7$^$9!#$^$?!"(Bpatch $B$rAw$C$F2<$5$C$?A4$F$NJ}$K46(B
+$B<U$7$^$9!#(B
+
+
 <h1> $B35G0:w0z(B
 <node> Concept Index
 
--- a/man/tm/tm-ja.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-ja.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,13 +1,13 @@
 \input texinfo.tex
 @setfilename tm-ja.info
-@settitle{tm 7.90 Manual$B!JF|K\8lHG!K(B}
+@settitle{tm 7.100 Manual$B!JF|K\8lHG!K(B}
 @titlepage
-@title tm 7.90 Manual$B!JF|K\8lHG!K(B
+@title tm 7.100 Manual$B!JF|K\8lHG!K(B
 @author $B<i2,(B $BCNI'(B <morioka@@jaist.ac.jp>
-@subtitle 1996/10/15
+@subtitle 1996/12/25
 @end titlepage
 @node Top, Introduction, (dir), (dir)
-@top tm 7.90 Manual$B!JF|K\8lHG!K(B
+@top tm 7.100 Manual$B!JF|K\8lHG!K(B
 
 @ifinfo
 
@@ -20,6 +20,7 @@
 * Introduction::                tm $B$C$F2?!)(B
 * Setting::                     $B@_Dj(B
 * Bug report::                  bug $BJs9p$N;EJ}(B
+* Acknowledgments::             $B<U<-(B
 * Concept Index::               $B35G0:w0z(B
 * Variable Index::              $BJQ?t:w0z(B
 @end menu
@@ -70,28 +71,28 @@
 @menu
 * 7bit::                        
 * 8bit::                        
-* 94 character set::            94 $BJ8;z=89g(B
-* 96 character set::            96 $BJ8;z=89g(B
-* 94x94 character set::         94$B!_(B94 $BJ8;z=89g(B
+* 94-character set::            94 $BJ8;z=89g(B
+* 96-character set::            96 $BJ8;z=89g(B
+* 94x94-character set::         94$B!_(B94 $BJ8;z=89g(B
 * ASCII::                       
 * Base64::                      
 * binary::                      
-* Character Set::               Character Set$B!JJ8;z=89g!K(B
 * cn-gb::                       cn-gb, gb2312
 * cn-big5::                     cn-big5, big5
-* CNS::                         CNS 11643-1992
+* CNS 11643::                   CNS 11643-1992
 * Coded character set::         Coded character set$B!JId9f2=J8;z=89g!K(B, Character code$B!JJ8;zId9f!K(B
 * Code extension::              Code extension$B!JId9f3HD%!K(B
 * Content-Disposition::         Content-Disposition field
-* media type::                  
 * Content-Type field::          
 * Emacs::                       
 * encoded-word::                
 * encapsulation::               
+* entity::                      Entity
 * euc-kr::                      
 * FTP::                         FTP 
 * GB 2312::                     GB 2312-1980
 * GB 8565.2::                   GB 8565.2-1988
+* Graphic character set::       Graphic character set$B!J?^7AJ8;z=89g!K(B
 * hz-gb2312::                   
 * ISO 2022::                    
 * iso-2022-cn::                 
@@ -113,13 +114,14 @@
 * iso-8859-7::                  
 * ISO 8859-8::                  
 * ISO 8859-9::                  
-* ISO-IR-165::                  ISO-IR-165, CCITT Extended GB 
+* ISO-IR-165::                  ISO-IR-165, CCITT Extended GB
 * JIS X0201::                   
 * JIS C6226::                   JIS C6226-1978
 * JIS X0208::                   
 * JIS X0212::                   JIS X0212-1990
 * koi8-r::                      
 * KS C5601::                    KS C5601-1987
+* media type::                  
 * message::                     
 * message/rfc822::              
 * method::                      
@@ -162,95 +164,93 @@
 @node 7bit, 8bit, Glossary, Glossary
 @subsection 7bit
 
-$B$3$3$G$O(B 0 $B$+$i(B 127 $B$N@0?t$r;X$7$^$9!#(B@refill
-
-0 $B$+$i(B 127 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``7bit $B$N(B data'' $B$H8F$S(B
-$B$^$9!#(B@refill
+$B$3$3$G$O(B 0 $B$+$i(B 127 $B$N@0?t$r;X$9!#(B@refill
+
+0 $B$+$i(B 127 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``7bit $B$N(B data'' $B$H8F$V!#(B
+@refill
 
 $B$^$?!"(B0 $B$+$i(B 31 $B$*$h$S(B 127 $B$GI=8=$5$l$k@)8fJ8;z$H(B 32 $B$GI=8=$5$l$k6uGr$H(B 
 33 $B$+$i(B 126 $B$GI=8=$5$l$k?^7AJ8;z$+$i$J$kJ8;zNs$N$3$H$r(B ``7bit $B$NJ8;zNs(B'' 
-$B$H8F$S$^$9!J$3$l$O(B ISO 2022 (@ref{ISO 2022}) $B$N!V(B7 $BC10L7O!W$HF1MM$G$9!K!#(B
+$B$H8F$V!J$3$l$O(B ISO 2022 (@ref{ISO 2022}) $B$N!V(B7 $BC10L7O!W$HF1MM!K!#(B
 
 $BEAE}E*$J(B Internet $B$N(B MTA (@ref{MTA}) $B$O(B 7bit $B$N(B data $B$rE>Aw$G$-$k$N$G!"(B
 7bit $B$N(B data $B$O(B Quoted-Printable (@ref{Quoted-Printable}) $B$d(B Base64
-(@ref{Base64}) $B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$^$9!#(B@refill
-
-$B$7$+$7!"(B7bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($^$;$s!#$J$<$J$i!"#19T(B
-$B$ND9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i(B
-$B$G$9!#$A$J$_$K!"(BRFC 821 (@ref{RFC 821}) $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
-byte $B0JFb$G$"$k$3$H$r5a$a$F$$$^$9!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-(B
-$B$N$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B 
-encode$B$9$kI,MQ$,$"$j$^$9!#(B
-
-
-@node 8bit, 94 character set, 7bit, Glossary
+(@ref{Base64}) $B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$k!#(B@refill
+
+$B$7$+$7!"(B7bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N(B
+$BD9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G(B
+$B$"$k!#$A$J$_$K!"(BRFC 821 (@ref{RFC 821}) $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
+byte $B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N(B
+$B$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B 
+encode$B$9$kI,MQ$,$"$k!#(B
+
+
+@node 8bit, 94-character set, 7bit, Glossary
 @subsection 8bit
-
-$B$3$3$G$O(B 0 $B$+$i(B 255 $B$N@0?t$r;X$7$^$9!#(B@refill
-
-0 $B$+$i(B 255 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``8bit $B$N(B data'' $B$H8F$S(B
-$B$^$9!#(B@refill
+@cindex binary
+
+$B$3$3$G$O(B 0 $B$+$i(B 255 $B$N@0?t$r;X$9!#(B@refill
+
+0 $B$+$i(B 255 $B$N@0?t$NNs$GI=8=$G$-$k$h$&$J(B data $B$r(B ``8bit $B$N(B data'' $B$H8F$V!#(B
+@refill
 
 $B$^$?!"(B0 $B$+$i(B 31, 127 $B$*$h$S(B 128 $B$+$i(B 159 $B$GI=8=$5$l$k@)8fJ8;z$H(B 32 $B$GI=(B
 $B8=$5$l$k6uGr$H(B 33 $B$+$i(B 126 $B$H(B 160 $B$+$i(B 255 $B$GI=8=$5$l$k?^7AJ8;z$+$i$J$k(B
-$BJ8;zNs$N$3$H$r(B ``8bit $B$NJ8;zNs(B'' $B$H8F$S$^$9!J$3$l$O(B ISO 2022 (@ref{ISO
-2022}) $B$N!V(B8 $BC10L7O!W$HF1MM$G$9!K!#(B@refill
+$BJ8;zNs$N$3$H$r(B ``8bit $B$NJ8;zNs(B'' $B$H8F$V!J$3$l$O(B ISO 2022 (@ref{ISO 2022}) $B$N!V(B8 $BC10L7O!W$HF1MM!K!#(B@refill
 
 iso-8859-1 (@ref{iso-8859-1}) $B$d(B euc-kr (@ref{euc-kr}) $B$H$$$C$?Id9f2=J8(B
-$B;z=89g$O(B 8bit $B$NJ8;zNs$G$9!#(B@refill
+$B;z=89g$O(B 8bit $B$NJ8;zNs$G$"$k!#(B@refill
 
 $BEAE}E*$J(B Internet $B$N(B MTA (@ref{MTA}) $B$O(B 7bit (@ref{7bit}) $B$N(B data $B$7$+E>(B
 $BAw$G$-$J$$$N$G!"$=$&$7$?(B MTA $B$r7PM3$9$k>l9g!"(BQuoted-Printable
 (@ref{Quoted-Printable}) $B$d(B Base64 (@ref{Base64}) $B$H$$$C$?JQ49$r9T$o$J$/(B
-$B$F$O$J$j$^$;$s!#(B@refill
+$B$F$O$J$i$J$$!#(B@refill
 
 $B$7$+$7!":G6a$G$O(B 8bit $B$NJ8;zNs$r$=$N$^$^DL$9$3$H$,$G$-$k(B MTA $B$bEP>l$7$F(B
-$B$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$^$7$?!#(B@refill
-
-$B$7$+$7!"(B8bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($^$;$s!#$J$<$J$i!"#19T(B
-$B$ND9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i(B
-$B$G$9!#$A$J$_$K!"(BRFC 821 $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998 byte $B0JFb$G$"$k$3$H(B
-$B$r5a$a$F$$$^$9!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N$"$k(B data, $BNc$($P!"(B
-Postscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B encode$B$9$kI,MQ$,$"$j$^$9!#(B
-@refill
+$B$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$?!#(B@refill
+
+$B$7$+$7!"(B8bit $B$G$"$l$P$I$s$J(B data $B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N(B
+$BD9$5$,$"$^$j$KD9$$$H!"(BMTA $B$O$=$N(B message $B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G(B
+$B$"$k!#$A$J$_$K!"(BRFC 821 (@ref{RFC 821}) $B$O#19T$O2~9TJ8;z$r=|$$$F(B 998
+byte $B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N(B
+$B$"$k(B data, $BNc$($P!"(BPostscript $B$N(B data $B$J$I$O(B Quoted-Printable $BEy$G(B 
+encode$B$9$kI,MQ$,$"$k!#(B@refill
 
 $B$^$?!"$3$&$7$?M}M3$+$i!"#19T$,(B 999 byte $B0J>e$N9T$,B8:_$9$k2DG=@-$N$"$k(B
-data $B$O(B @cindex{binary}@strong{binary} (@ref{binary}) $B$H8F$V$3$H$K$7$^$9!#(B
-
-$B$A$J$_$K!"(B7bit $B$GI=8=$G$-$k(B data $B$O(B 8bit $B$G$bI=8=$G$-$^$9!#$h$C$F!"(B
+data $B$O(B @strong{binary} (@ref{binary}) $B$H8F$V$3$H$K$9$k!#(B@refill
+
+$B$A$J$_$K!"(B7bit $B$GI=8=$G$-$k(B data $B$O(B 8bit $B$G$bI=8=$G$-$k!#$h$C$F!"(B
 ``8bit'' $B$H8@$C$?>l9g!"#19T$,(B 998 byte $B0J2<$NG$0U$N(B data $B$r;X$9$3$H$,(B
-$B$"$j$^$9!#(B
-
-
-@node 94 character set, 96 character set, 8bit, Glossary
+$B$"$k!#(B
+
+
+@node 94-character set, 96-character set, 8bit, Glossary
 @subsection 94 $BJ8;z=89g(B
 
-33 $B$+$i(B 126 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B $BJ8;z=89g(B(@ref{Character set})$B!#(B
-ASCII (@ref{ASCII}) $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
-
-
-@node 96 character set, 94x94 character set, 94 character set, Glossary
+33 $B$+$i(B 126 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B $B?^7AJ8;z=89g(B(@ref{Graphic character set})$B!#(BASCII (@ref{ASCII}) $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
+
+
+@node 96-character set, 94x94-character set, 94-character set, Glossary
 @subsection 96 $BJ8;z=89g(B
 
-32 $B$+$i(B 127 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B $BJ8;z=89g(B(@ref{Character set})$B!#(BISO
-8859 $B%7%j!<%:$O$=$N0l<o!#(B
-
-
-@node 94x94 character set, ASCII, 96 character set, Glossary
+32 $B$+$i(B 127 $B$NHO0O$N(B 1 byte $B$+$i$J$k(B $B?^7AJ8;z=89g(B(@ref{Graphic character set})$B!#(BISO 8859 $B%7%j!<%:$O$=$N0l<o!#(B
+
+
+@node 94x94-character set, ASCII, 96-character set, Glossary
 @subsection 94$B!_(B94 $BJ8;z=89g(B
 
-33 $B$+$i(B 126 $B$NHO0O$N(B 2 byte $B$+$i$J$k(B $BJ8;z=89g(B(@ref{Character set})$B!#(BJIS
-X0208 (@ref{JIS X0208}) $B$d(B GB 2312 (@ref{GB 2312}) $B$O$=$N0l<o!#(B
-
-
-@node ASCII, Base64, 94x94 character set, Glossary
+33 $B$+$i(B 126 $B$NHO0O$N(B 2 byte $B$+$i$J$k(B $B?^7AJ8;z=89g(B(@ref{Graphic character set})$B!#(BJIS X0208 (@ref{JIS X0208}) $B$d(B GB 2312 (@ref{GB 2312}) $B$O$=$N0l<o!#(B
+
+
+@node ASCII, Base64, 94x94-character set, Glossary
 @subsection ASCII
-
-$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?(B 94 $BJ8;z=89g(B(@ref{94 character
-set})$B!#(BA-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(BISO 646
+@cindex ANSI X3.4:1986
+@cindex ASCII
+
+$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?(B 94 $BJ8;z=89g(B(@ref{94-character set})$B!#(BA-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(BISO 646
 (@ref{ISO 646}) $B$N0l$D!#(B
 
-@cindex{ASCII}@cindex{ANSI X3.4:1986}
+
 @noindent
 [ASCII]
 @quotation
@@ -262,44 +262,38 @@
 
 @node Base64, binary, ASCII, Glossary
 @subsection Base64
+@cindex pad
 
 RFC 2045 (@ref{RFC 2045}) $B$GDj5A$5$l$F$$$k(B MIME (@ref{MIME}) $B$K$*$1$k(B 
 binary data (@ref{binary}) $B$N(B network $B$G$NJQ49K!$N#1$D!#(B@refill
 
 $B!X(B64 $B?J?t!Y$H$$$&0UL#$G!"(B3 byte $B$N(B data $B$r(B 0 $B$+$i(B 63 $B$N?t$rI=$9(B ASCII
 (@ref{ASCII}) 4 $BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"(B4 $BJ8;z$K$J$i$J$1$l$P(B 
-@cindex{pad}@strong{pad} $B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K(B@refill
+@strong{pad} $B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K(B@refill
 
 $B$3$N(B 65 $B<oN`$NJ8;z$O(B ASCII $B$H(B EBCDIC $B$N6&DLItJ,$+$iA*$P$l$F$*$j!"(B
 Internet $B0J30$N(B network $B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5(B
 $B$l$F$$$k!#(B
 
 
-@node binary, Character Set, Base64, Glossary
+@node binary, cn-gb, Base64, Glossary
 @subsection binary
-
-$BG$0U$N(B byte $BNs$r(B @cindex{binary}@strong{binary} $B$H8F$V$3$H$K$7$^$9!#(B
-@refill
-
-8bit (@ref{8bit}) $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$9!#(B
-
-$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary$B$H8F(B
-$B$V$3$H$K$7$^$9!#(B@refill
+@cindex binary data
+@cindex binary
+
+$BG$0U$N(B byte $BNs$r(B @strong{binary} $B$H8F$V!#(B@refill
+
+8bit (@ref{8bit}) $B$H0[$J$k$N$O(B data $B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$"$k!#(B
+
+$B$^$?!"9T$N9=B$$,$"$C$F$b!"(B999 byte $B0J>e$+$i$J$k9T$,$"$k>l9g$b(B binary $B$H(B
+$B8F$V$3$H$K$9$k!#(B@refill
 
 $B$A$J$_$K!"(B7bit (@ref{7bit}) $B$d(B 8bit $B$GI=8=$G$-$k(B data $B$O(B binary $B$G$bI=8=(B
-$B$G$-$^$9!#$h$C$F!"(B@cindex{binary data}@strong{binary data} $B$H8@$C$?>l9g!"(B
-$BG$0U$N(B data $B$r;X$9$3$H$,$"$j$^$9!#(B
-
-
-@node Character Set, cn-gb, binary, Glossary
-@subsection Character Set$B!JJ8;z=89g!K(B
-
-$BId9f2=J8;z=89g(B(@ref{Coded character set})$B!#C"$7!"$3$3$G$O(B $BId9f3HD%(B
-(@ref{Code extension}) $B$5$l$F$J$$J8;z=89g$H$$$&%K%e%"%s%9$r9~(B
-$B$a$F$$$k!#(B
-
-
-@node cn-gb, cn-big5, Character Set, Glossary
+$B$G$-$k!#$h$C$F!"(B@strong{binary data} $B$H8@$C$?>l9g!"G$0U$N(B data $B$r;X$9$3(B
+$B$H$,$"$k!#(B
+
+
+@node cn-gb, cn-big5, binary, Glossary
 @subsection cn-gb, gb2312
 
 $BCf9qBgN&$G$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B MIME
@@ -312,8 +306,9 @@
 RFC 1922 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B
 
 
-@node cn-big5, CNS, cn-gb, Glossary
+@node cn-big5, CNS 11643, cn-gb, Glossary
 @subsection cn-big5, big5
+@cindex BIG5
 
 $BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
 MIME charset (@ref{MIME charset}) $B$N#1$D!#(B@refill
@@ -322,7 +317,7 @@
 (@ref{Coded character set})$B$G(B de-fact standard $B$G$"$k!#(BRFC 1922
 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B@refill
 
-cf. @cindex{BIG5}
+cf. 
 @noindent
 [BIG5]
 @quotation
@@ -330,21 +325,48 @@
 Computer'', March 1984.
 @end quotation
 
-CNS 11643-1986 (@ref{CNS}) $B$HBP1~4X78$,$"$k!#(B
-
-
-@node CNS, Coded character set, cn-big5, Glossary
+CNS 11643 (@ref{CNS 11643}) $B$HBP1~4X78$,$"$k!#(B
+
+
+@node CNS 11643, Coded character set, cn-big5, Glossary
 @subsection CNS 11643-1992
+@cindex CNS        11643:1992
+@cindex CNS 11643-1992
 
 $BBfOQ$d9a9A$GMQ$$$i$l$F$$$k<g$KHKBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B 
-$BJ8;z=89g(B(@ref{Character set})$B!#BfOQ$NI8=`!#8=:_!"(B94$B!_(B94 (@ref{94x94
-character set}) $B$NLL$,Bh#1LL$+$iBh#7LL$^$G$"$k!#(B@refill
-
-ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O!"Bh#1LL$,(B `G', $BBh#2LL$,(B `H', $BBh(B
-$B#3LL$,(B `I', $BBh#4LL$,(B `J', $BBh#5LL$,(B `K', $BBh#6LL$,(B `L', $BBh#7LL$,(B `M' $B$G$"(B
-$B$k!#(B
-
-@cindex{CNS 11643-1992}@cindex{CNS        11643:1992}
+$B?^7AJ8;z=89g(B(@ref{Graphic character set})$B!#BfOQ$NI8=`!#8=:_!"(B94$B!_(B94
+(@ref{94x94 character set}) $B$NLL$,Bh#1LL$+$iBh#7LL$^$G$"$k!#(B@refill
+
+ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B
+
+@table @samp
+@item plane 1
+04/07 (`G')
+
+@item plane 2
+04/08 (`H')
+
+@item plane 3
+04/09 (`I')
+
+@item plane 4
+04/10 (`J')
+
+@item plane 5
+04/11 (`K')
+
+@item plane 6
+04/12 (`L')
+
+@item plane 7
+04/13 (`M')
+
+@end table
+
+@noindent
+$B$G$"$k!#(B
+
+
 @noindent
 [CNS 11643-1992]
 @quotation
@@ -354,7 +376,7 @@
 
 
 
-@node Coded character set, Code extension, CNS, Glossary
+@node Coded character set, Code extension, CNS 11643, Glossary
 @subsection Coded character set$B!JId9f2=J8;z=89g!K(B, Character code$B!JJ8;zId9f!K(B
 
 $BJ8;z$H(B byte $BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#(B
@@ -363,17 +385,19 @@
 @node Code extension, Content-Disposition, Coded character set, Glossary
 @subsection Code extension$B!JId9f3HD%!K(B
 
-$BM?$($i$l$?J8;z=89g(B(@ref{Character set})$B$K4^$^$l$F$$$J$$J8;z$NId9f2=$N$?(B
-$B$a$KMQ$$$k<jK!!#(BISO 2022 (@ref{ISO 2022}) $B$O$=$N#1$D!#(B
-
-
-@node Content-Disposition, media type, Code extension, Glossary
+$BM?$($i$l$??^7AJ8;z=89g(B(@ref{Graphic character set})$B$K4^$^$l$F$$$J$$J8;z(B
+$B$NId9f2=$N$?$a$KMQ$$$k<jK!!#(BISO 2022 (@ref{ISO 2022}) $B$O$=$N#1$D!#(B
+
+
+@node Content-Disposition, Content-Type field, Code extension, Glossary
 @subsection Content-Disposition field
-
-Content $B$NI=<($N;EJ}$d(B file $BL>$rI=8=$9$k$?$a$N(B field. MIME (@ref{MIME}) 
-$B$N3HD%$N#1$D!#(B@refill
-
-@cindex{Experimental}@cindex{RFC 1806}
+@cindex RFC 1806
+@cindex Experimental
+
+Content $B$NI=<($N;EJ}$d(B file $BL>$rI=8=$9$k$?$a$N(B field.  MIME (@ref{MIME}) 
+$B$N3HD%$N#1$D!#(B
+
+
 @noindent
 [RFC 1806]
 @quotation
@@ -384,66 +408,15 @@
 
 
 
-@node media type, Content-Type field, Content-Disposition, Glossary
-@subsection media type
-
-MIME (@ref{MIME}) $B$K$*$1$k(B entity (@ref{entity}) $B$N<oN`!#(B
-@cindex{type}@strong{type} $B$H(B @cindex{subtype}@strong{subtype} $B$+$i$J$k!#(B
-RFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$F$$$k!#(B@refill
-
-type $B$OI8=`$G$O(B
-
-@itemize @bullet
-@item
-@cindex{text}@strong{text}
-@item
-@cindex{image}@strong{image}
-@item
-@cindex{audio}@strong{audio}
-@item
-@cindex{video}@strong{video}
-@item
-@cindex{application}@strong{application}
-@item
-@cindex{multipart}@strong{multipart} (@ref{multipart})
-@item
-@cindex{message}@strong{message}
-@end itemize
-
-@noindent
-$B$,Dj5A$5$l!"$=$l$>$l$K$O(B application/octet-stream, audio/basic,
-image/jpeg, multipart/mixed (@ref{multipart/mixed}), text/plain
-(@ref{text/plain}), video/mpeg $B$J$I$N$5$^$6$^$J(B subtype $B$,Dj5A$5$l$F$$$k!#(B
-
-@noindent
-@strong{[$BCm0U(B]}
-@quotation
-
-$B$3$3$G$O!"(Btext/plain $B$J$I$N(B type/subtype $B$NAH$r$7$P$7$P(B 
-@cindex{content-type/subtype}@strong{content-type/subtype} $B$H=q$/!#(B
-@end quotation
-
-
-media type $B$O!"(BRFC 2046 $B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G$-(B
-$B$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O(B MEDIA TYPES
-(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types) $B$G;2>H$G$-$k!#(B
-
-$B$^$?!"(Btype $B$b$7$/$O(B subtype $B$K!"A0$K(B `x-' $B$rIU$1$?(B 
-@cindex{x-token}@strong{x-token} $B$rMQ$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b(B
-$B$N$r;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"EvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J(B 
-content-type $B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a$G$-$J$$$N$GMxMQ$K$OCm0U$9$k$3(B
-$B$H!#(B@refill
-
-(cf. @ref{Content-Type field})
-
-
-
-@node Content-Type field, Emacs, media type, Glossary
+@node Content-Type field, Emacs, Content-Disposition, Glossary
 @subsection Content-Type field
+@cindex parameter
+@cindex subtype
+@cindex type
 
 media type (@ref{media type}) $B$d(B MIME charset (@ref{MIME charset}) $B$J$I(B
-$B$N(B part $B$K4X$9$k>pJs$rI=8=$9$k$?$a$N(B field. RFC 2045 (@ref{RFC 2045}) $B$G(B
-$BDj5A$5$l$F$$$k!#(B
+$B$N(B body $B$K4X$9$k>pJs$rI=8=$9$k$?$a$N(B field.  RFC 2045 (@ref{RFC 2045}) 
+$B$GDj5A$5$l$F$$$k!#(B
 
 @noindent
 @strong{[Memo]}
@@ -459,8 +432,8 @@
 Content-Type field $B$O(B
 
 @quotation
-``Content-Type'' ``:'' @cindex{type}@strong{type} ``/''
-@cindex{subtype}@strong{subtype} *( ``;'' @cindex{parameter}@strong{parameter} )
+``Content-Type'' ``:'' @strong{type} ``/''
+@strong{subtype} *( ``;'' @strong{parameter} )
 @end quotation
 
 @noindent
@@ -513,11 +486,14 @@
 
 @node encoded-word, encapsulation, Emacs, Glossary
 @subsection encoded-word
-
-header $B$K$*$1$kHs(B ASCII (@ref{ASCII}) $BJ8;z$NI=8=!#(B@cindex{RFC
-2047}@strong{RFC 2047} $B$GDj5A$5$l$F$$$k!#(B@refill
-
-@cindex{Standards Track}@cindex{RFC 2047}
+@cindex RFC 2047
+@cindex Standards Track
+@cindex RFC 2047
+
+header $B$K$*$1$kHs(B ASCII (@ref{ASCII}) $BJ8;z$NI=8=!#(B@strong{RFC 2047} $B$GDj(B
+$B5A$5$l$F$$$k!#(B@refill
+
+
 @noindent
 [RFC 2047]
 @quotation
@@ -528,7 +504,7 @@
 
 
 
-@node encapsulation, euc-kr, encoded-word, Glossary
+@node encapsulation, entity, encoded-word, Glossary
 @subsection encapsulation
 
 Internet mail (@ref{RFC 822}) $B$rB>$N5-;v$K$^$k$4$HF~$l$kJ}K!!#(B@refill
@@ -539,8 +515,25 @@
 
 
 
-@node euc-kr, FTP, encapsulation, Glossary
+@node entity, euc-kr, encapsulation, Glossary
+@subsection Entity
+
+$B$"$k(B message $B$b$7$/$O(B multipart (@ref{multipart}) message $B$N#1$D$N(B part 
+$B$N(B header $B$H(B body $B$rJ;$;$?$b$N!#(B
+
+@noindent
+@strong{[Memo]}
+@quotation
+
+$B$3$3$G$O(B part $B$H8F$V$3$H$b$"$k!#(B
+@end quotation
+
+
+
+@node euc-kr, FTP, entity, Glossary
 @subsection euc-kr
+@cindex KS C 5861:1992
+@cindex euc-kr
 
 $B4Z9q8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
@@ -550,7 +543,7 @@
 
 RFC 1557 (@ref{RFC 1557}) $B$GDj5A$5$l$F$$$k!#(B@refill
 
-cf. @cindex{euc-kr}@cindex{KS C 5861:1992}
+cf. 
 @noindent
 [euc-kr]
 @quotation
@@ -562,11 +555,14 @@
 
 @node FTP, GB 2312, euc-kr, Glossary
 @subsection FTP 
+@cindex RFC 959
+@cindex STD 9
+@cindex FTP
 
 Internet $B$G(B file $B$rE>Aw$9$k$?$a$N(B protocol $B$N#1$D!#(BRFC 959 $B$GDj5A$5$l$F(B
 $B$$$k!#(B@refill
 
-@cindex{FTP}@cindex{STD 9}@cindex{RFC 959}
+
 @noindent
 [FTP: RFC 959]
 @quotation
@@ -578,14 +574,15 @@
 
 @node GB 2312, GB 8565.2, FTP, Glossary
 @subsection GB 2312-1980
+@cindex GB 2312:1980
+@cindex GB 2312
 
 $BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=$9$?$a$N(B 94$B!_(B94 $BJ8;z(B
-$B=89g(B(@ref{94x94 character set})$B!#Cf9q$N9q2HI8=`!#(BISO 2022 (@ref{ISO
-2022}) $B$G$N=*C<J8;z$O(B `A'.@refill
+$B=89g(B(@ref{94x94-character set})$B!#Cf9q$N9q2HI8=`!#(BISO 2022 (@ref{ISO 2022}) $B$G$N=*C<(B byte $B$O(B 04/01 (`A').@refill
 
 $B$3$l$O(B GB $B$K$*$1$k4pK\=8$G$"$k!#(B
 
-@cindex{GB 2312}@cindex{GB 2312:1980}
+
 @noindent
 [GB 2312]
 @quotation
@@ -595,13 +592,15 @@
 
 
 
-@node GB 8565.2, hz-gb2312, GB 2312, Glossary
+@node GB 8565.2, Graphic character set, GB 2312, Glossary
 @subsection GB 8565.2-1988
-
-$BCf9q8l$N$?$a$NJd=uJ8;z=89g(B(@ref{Character set})$B!#Cf9q$N9q2HI8=`!#(BGB 2312
-(@ref{GB 2312}) $B$N6u$-ItJ,$KJd=<$9$k$h$&$KDj5A$5$l$?$i$7$$!#(B
-
-@cindex{GB 8565.2}@cindex{GB 8565.2:1988}
+@cindex GB 8565.2:1988
+@cindex GB 8565.2
+
+$BCf9q8l$N$?$a$NJd=u?^7AJ8;z=89g(B(@ref{Graphic character set})$B!#Cf9q$N9q2H(B
+$BI8=`!#(BGB 2312 (@ref{GB 2312}) $B$N6u$-ItJ,$KJd=<$9$k$h$&$KDj5A$5$l$?$i$7$$!#(B
+
+
 @noindent
 [GB 8565.2]
 @quotation
@@ -611,8 +610,18 @@
 
 
 
-@node hz-gb2312, ISO 2022, GB 8565.2, Glossary
+@node Graphic character set, hz-gb2312, GB 8565.2, Glossary
+@subsection Graphic character set$B!J?^7AJ8;z=89g!K(B
+
+$B?^7AJ8;z$+$i$J$k(B $BId9f2=J8;z=89g(B(@ref{Coded character set})$B!#(B
+
+
+@node hz-gb2312, ISO 2022, Graphic character set, Glossary
 @subsection hz-gb2312
+@cindex RFC 1843
+@cindex Informational
+@cindex RFC 1842
+@cindex Informational
 
 $BCf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=$9$k$?$a$N(B MIME
 charset (@ref{MIME charset}) $B$N#1$D!#(B@refill
@@ -623,7 +632,7 @@
 
 RFC 1842, 1843 $B$GDj5A$5$l$F$$$k!#(B
 
-@cindex{Informational}@cindex{RFC 1842}
+
 @noindent
 [RFC 1842]
 @quotation
@@ -632,7 +641,7 @@
 August 1995, Informational.
 @end quotation
 
-@cindex{Informational}@cindex{RFC 1843}
+
 @noindent
 [RFC 1843]
 @quotation
@@ -644,14 +653,15 @@
 
 @node ISO 2022, iso-2022-cn, hz-gb2312, Glossary
 @subsection ISO 2022
-
-$BId9f3HD%(B(@ref{Code extension})$B$N$?$a$N9q:]I8=`!#(B@refill
-
-$B$3$l$rMQ$$$FJ#?t$NJ8;z=89g(B(@ref{Character set})$B$rAH9g$;$F(B 7bit
-(@ref{7bit}) $B$J$$$7(B 8bit (@ref{8bit}) $B$N(B $BId9f2=J8;z=89g(B(@ref{Coded
-character set}) $B$r:n$k$3$H$,$G$-$k!#(B
-
-@cindex{ISO 2022}@cindex{ISO/IEC 2022:1994}
+@cindex ISO/IEC 2022:1994
+@cindex ISO 2022
+
+$BId9f2=J8;z=89g$N9=B$$HId9f3HD%(B(@ref{Code extension})$BK!$rDj$a$?9q:]I8=`!#(B
+
+$B$3$l$rMQ$$$FJ#?t$N?^7AJ8;z=89g(B(@ref{Graphic character set})$B$rAH9g$;$F(B 
+7bit (@ref{7bit}) $B$J$$$7(B 8bit (@ref{8bit}) $B$N(B $BId9f2=J8;z=89g(B(@ref{Coded character set}) $B$r:n$k$3$H$,$G$-$k!#(B
+
+
 @noindent
 [ISO 2022]
 @quotation
@@ -668,7 +678,7 @@
 $BCf9q8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}) $B$K(B GB 2312
-(@ref{GB 2312}), CNS 11643 plain 1, plain 2 (@ref{CNS}) $B$r(B 7bit
+(@ref{GB 2312}), CNS 11643 plain 1, plain 2 (@ref{CNS 11643}) $B$r(B 7bit
 (@ref{7bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
 
 RFC 1922 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B
@@ -680,9 +690,8 @@
 $BCf9q8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}) $B$K(B GB 2312
-(@ref{GB 2312}), CNS 11643 plain 1 .. 7 (@ref{CNS}), ISO-IR-165
-(@ref{ISO-IR-165}) $BEy$r(B 7bit (@ref{7bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+(@ref{GB 2312}), CNS 11643 plain 1 .. 7 (@ref{CNS 11643}), ISO-IR-165
+(@ref{ISO-IR-165}) $BEy$r(B 7bit (@ref{7bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
 
 RFC 1922 (@ref{RFC 1922}) $B$GDj5A$5$l$F$$$k!#(B@refill
 
@@ -698,23 +707,24 @@
 
 @node iso-2022-jp, iso-2022-jp-2, iso-2022-cn-ext, Glossary
 @subsection iso-2022-jp
+@cindex RFC 1468
+@cindex iso-2022-jp
 
 $BF|K\8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N0l$D!#(B
 
 $B8E$$(B ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F(B ASCII (@ref{ASCII}), JIS
-X0201-Latin, JIS X0208-1978 (@ref{JIS C6226-1978}), JIS X0208-1983
-(@ref{JIS X0208}) $B$r@Z$jBX$($k(B 7bit (@ref{7bit}) $BJ8;zId9f!#(B@refill
+X0201-Latin, JIS X0208-1978 (@ref{JIS C6226}), JIS X0208-1983 (@ref{JIS X0208}) $B$r@Z$jBX$($k(B 7bit (@ref{7bit}) $BJ8;zId9f!#(B@refill
 
 RFC 1468 $B$GDj5A$5$l$F$$$k!#(B@refill
 
 @noindent
 @strong{[Memo]}
 @quotation
-JIS X0208-1996? $B$G$O(B ISO 2022 (@ref{ISO 2022}) $B$HFHN)$KDj5A$5$l$kM=Dj!#(B
+JIS X0208-1997? $B$G$O(B ISO 2022 (@ref{ISO 2022}) $B$HFHN)$KDj5A$5$l$kM=Dj!#(B
 @end quotation
 
 
-@cindex{iso-2022-jp}@cindex{RFC 1468}
+
 @noindent
 [iso-2022-jp: RFC 1468]
 @quotation
@@ -726,13 +736,15 @@
 
 @node iso-2022-jp-2, iso-2022-kr, iso-2022-jp, Glossary
 @subsection iso-2022-jp-2
-
-iso-2022-jp (@ref{iso-2022-jp}) $B$r3HD%$7$?(B MIME charset (@ref{MIME
-charset}) $B$N0l$D!#(B@refill
+@cindex RFC 1554
+@cindex Informational
+@cindex iso-2022-jp-2
+
+iso-2022-jp (@ref{iso-2022-jp}) $B$r3HD%$7$?(B MIME charset (@ref{MIME charset}) $B$N0l$D!#(B@refill
 
 RFC 1554 $B$GDj5A$5$l$F$$$k!#(B
 
-@cindex{iso-2022-jp-2}@cindex{Informational}@cindex{RFC 1554}
+
 @noindent
 [iso-2022-jp-2: RFC 1554]
 @quotation
@@ -756,13 +768,15 @@
 
 @node ISO 646, ISO 8859-1, iso-2022-kr, Glossary
 @subsection ISO 646
-
-$B3F9q$G6&DL$K;H$($k:G>.8BEY$NJ8;z=89g(B(@ref{Character set})$B$rDj$a$?$b$N!#(B
-94 $BJ8;z=89g(B (@ref{94 character set})$B$N#1$D!#(BISO 646 IRV$B!J9q:]4p=`HG!K$r(B
-$B85$K4v$D$+$NJ8;z$O3F9q$G0c$&J8;z$r3dEv$k$3$H$r5v$7$F$$$F!"4v$D$+$NJQ<o$,(B
-$BB8:_$9$k!#(BASCII (@ref{ASCII}) $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
-
-@cindex{ISO 646}@cindex{ISO/IEC 646:1991}
+@cindex ISO/IEC 646:1991
+@cindex ISO 646
+
+$B3F9q$G6&DL$K;H$($k:G>.8BEY$N?^7AJ8;z=89g(B(@ref{Graphic character set})$B$r(B
+$BDj$a$?$b$N!#(B94 $BJ8;z=89g(B (@ref{94-character set})$B$N#1$D!#(BISO 646 IRV$B!J9q(B
+$B:]4p=`HG!K$r85$K4v$D$+$NJ8;z$O3F9q$G0c$&J8;z$r3dEv$k$3$H$r5v$7$F$$$F!"4v(B
+$B$D$+$NJQ<o$,B8:_$9$k!#(BASCII (@ref{ASCII}) $B$d(B JIS X0201-Latin $B$O$=$N0l<o!#(B
+
+
 @noindent
 [ISO 646]
 @quotation
@@ -775,11 +789,13 @@
 
 @node ISO 8859-1, iso-8859-1, ISO 646, Glossary
 @subsection ISO 8859-1
-
-$B@>2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B(@ref{96
-character set})$B!#(B
-
-@cindex{ISO 8859-1}@cindex{ISO 8859-1:1987}
+@cindex ISO 8859-1:1987
+@cindex ISO 8859-1
+
+$B@>2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B
+(@ref{96-character set})$B!#(B
+
+
 @noindent
 [ISO 8859-1]
 @quotation
@@ -796,19 +812,20 @@
 $B@>2$=t8l$J$I$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-1
-(@ref{ISO 8859-1}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+(@ref{ISO 8859-1}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
 
 RFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$F$$$k!#(B
 
 
 @node ISO 8859-2, iso-8859-2, iso-8859-1, Glossary
 @subsection ISO 8859-2
-
-$BEl2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B(@ref{96
-character set})$B!#(B
-
-@cindex{ISO 8859-2}@cindex{ISO 8859-2:1987}
+@cindex ISO 8859-2:1987
+@cindex ISO 8859-2
+
+$BEl2$=t8l$GMQ$$$i$l$k3HD%(B Latin $BJ8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B
+(@ref{96-character set})$B!#(B
+
+
 @noindent
 [ISO 8859-2]
 @quotation
@@ -825,16 +842,17 @@
 $BEl2$=t8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-2
-(@ref{ISO 8859-2}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+(@ref{ISO 8859-2}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
 
 RFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$F$$$k!#(B
 
 
 @node ISO 8859-3, ISO 8859-4, iso-8859-2, Glossary
 @subsection ISO 8859-3
-
-@cindex{ISO 8859-3}@cindex{ISO 8859-3:1988}
+@cindex ISO 8859-3:1988
+@cindex ISO 8859-3
+
+
 @noindent
 [ISO 8859-3]
 @quotation
@@ -847,8 +865,10 @@
 
 @node ISO 8859-4, ISO 8859-5, ISO 8859-3, Glossary
 @subsection ISO 8859-4
-
-@cindex{ISO 8859-4}@cindex{ISO 8859-4:1988}
+@cindex ISO 8859-4:1988
+@cindex ISO 8859-4
+
+
 @noindent
 [ISO 8859-4]
 @quotation
@@ -861,10 +881,12 @@
 
 @node ISO 8859-5, iso-8859-5, ISO 8859-4, Glossary
 @subsection ISO 8859-5
-
-$B%-%j%kJ8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B(@ref{96 character set})$B!#(B
-
-@cindex{ISO 8859-5}@cindex{ISO 8859-5:1988}
+@cindex ISO 8859-5:1988
+@cindex ISO 8859-5
+
+$B%-%j%kJ8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B(@ref{96-character set})$B!#(B
+
+
 @noindent
 [ISO 8859-5]
 @quotation
@@ -881,16 +903,17 @@
 $B%-%j%kJ8;z$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-5
-(@ref{ISO 8859-5}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+(@ref{ISO 8859-5}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
 
 RFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$F$$$k!#(B
 
 
 @node ISO 8859-6, ISO 8859-7, iso-8859-5, Glossary
 @subsection ISO 8859-6
-
-@cindex{ISO 8859-6}@cindex{ISO 8859-6:1987}
+@cindex ISO 8859-6:1987
+@cindex ISO 8859-6
+
+
 @noindent
 [ISO 8859-6]
 @quotation
@@ -903,10 +926,12 @@
 
 @node ISO 8859-7, iso-8859-7, ISO 8859-6, Glossary
 @subsection ISO 8859-7
-
-$B%.%j%7%"J8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B(@ref{96 character set})$B!#(B
-
-@cindex{ISO 8859-7}@cindex{ISO 8859-7:1987}
+@cindex ISO 8859-7:1987
+@cindex ISO 8859-7
+
+$B%.%j%7%"J8;z$d5-9f$+$i$J$k(B 96 $BJ8;z=89g(B(@ref{96-character set})$B!#(B
+
+
 @noindent
 [ISO 8859-7]
 @quotation
@@ -919,16 +944,18 @@
 
 @node iso-8859-7, ISO 8859-8, ISO 8859-7, Glossary
 @subsection iso-8859-7
+@cindex RFC 1947
+@cindex Informational
+@cindex iso-8859-7
 
 $B%.%j%7%"8l$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$$$F!"(BASCII (@ref{ASCII}) $B$K(B ISO 8859-7
-(@ref{ISO 8859-7}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code
-extension})$B$7$F$$$k!#(B@refill
+(@ref{ISO 8859-7}) $B$r(B 8bit (@ref{8bit}) $B$GId9f3HD%(B (@ref{Code extension})$B$7$F$$$k!#(B@refill
 
 RFC 1947 $B$GDj5A$5$l$F$$$k!#(B
 
-@cindex{iso-8859-7}@cindex{Informational}@cindex{RFC 1947}
+
 @noindent
 [iso-8859-7: RFC 1947]
 @quotation
@@ -940,8 +967,10 @@
 
 @node ISO 8859-8, ISO 8859-9, iso-8859-7, Glossary
 @subsection ISO 8859-8
-
-@cindex{ISO 8859-8}@cindex{ISO 8859-8:1988}
+@cindex ISO 8859-8:1988
+@cindex ISO 8859-8
+
+
 @noindent
 [ISO 8859-8]
 @quotation
@@ -954,8 +983,10 @@
 
 @node ISO 8859-9, ISO-IR-165, ISO 8859-8, Glossary
 @subsection ISO 8859-9
-
-@cindex{ISO 8859-9}@cindex{ISO 8859-9:1990}
+@cindex ISO 8859-9:1990
+@cindex ISO 8859-9
+
+
 @noindent
 [ISO 8859-9]
 @quotation
@@ -967,28 +998,33 @@
 
 
 @node ISO-IR-165, JIS X0201, ISO 8859-9, Glossary
-@subsection ISO-IR-165, CCITT Extended GB 
+@subsection ISO-IR-165, CCITT Extended GB
 
 CCITT $B$,EPO?$7$?!"Cf9qBgN&$GMQ$$$i$l$F$$$k4JBN;z$GI=5-$5$l$kCf9q8l$rI=8=(B
-$B$9$k$?$a$N(B 94$B!_(B94 $BJ8;z=89g(B(@ref{94x94 character set})$B!#(B@refill
-
-GB 2312 (@ref{GB 2312}) $B$H(B GB 8565 $BI=#2(B (@ref{GB 8865.2}) $B$K(B 150 $BJ8;z$[(B
+$B$9$k$?$a$N(B94$B!_(B94 $BJ8;z=89g(B(@ref{94x94-character set})$B!#(B@refill
+
+GB 2312 (@ref{GB 2312}) $B$H(B GB 8565 $BI=#2(B (@ref{GB 8565.2}) $B$K(B 150 $BJ8;z$[(B
 $B$I$rDI2C$7$?$b$N$i$7$$!#(B@refill
 
-ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B `E' $B$G$"$k!#(B
+ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<(B byte $B$O(B 04/05 (`E') $B$G$"$k!#(B
 
 
 @node JIS X0201, JIS C6226, ISO-IR-165, Glossary
 @subsection JIS X0201
+@cindex JIS X 0201:1997?  draft
+@cindex JIS X0201-1997?
+@cindex JIS        X 0201-1976:
+@cindex JIS X0201-1976
+@cindex JIS X0201
+@cindex JIS C6220-1976
 
 ISO 646 (@ref{ISO 646}) $B$NJQ<o$N#1$D$G$"$k(B Latin $BJ8;z=89g$H(B 1 byte $B$N%+(B
-$B%?%+%JJ8;z=89g$+$i$J$k!#(B@refill
-
-$B85$O(B @cindex{JIS C6220-1976}@strong{JIS C6220-1976} $B$H8@$C$?$,(B @cindex{JIS
-X0201}@strong{JIS
-X0201} $B$KHV9f$,JQ99$5$l$?!#(B
-
-@cindex{JIS X0201-1976}@cindex{JIS        X 0201-1976:}
+$B%?%+%JJ8;z=89g$H!"$3$l$i$+$i$J$k(B 7bit $B$*$h$S(B 8bit $BId9f2=J8;z=89g(B
+(@ref{Coded character set}) $B$rDj5A$7$F$$$k!#(B@refill
+
+$B85$O(B @strong{JIS C6220-1976} $B$H8@$C$?$,(B @strong{JIS X0201} $B$KHV9f$,JQ99$5$l$?!#(B
+
+
 @noindent
 [JIS X0201-1976]
 @quotation
@@ -997,15 +1033,15 @@
 @end quotation
 
 
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=P$kM=Dj!#(B
-
-@cindex{JIS X0201-1996?}@cindex{JIS X 0201:1996?        draft}
+$B$^$?!"(B1997 $BG/$K2~DjHG$,=P$kM=Dj!#(B
+
+
 @noindent
-[JIS X0201-1996?]
+[JIS X0201-1997?]
 @quotation
-$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X#7%S%C%H5Z$S#8%S%C%H$N>p(B
-$BJs8r49MQId9f2=J8;z=89g!Y(B, ``7-bit and 8-bit coded character sets for
-information interchange'', JIS X 0201:1996?  draft.
+$BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X#7%S%C%H5Z$S#8%S%C%H$N(B 
+$B>pJs8r49MQId9f2=J8;z=89g!Y(B, ``7-bit and 8-bit coded character sets for
+information interchange'', JIS X 0201:1997?  draft.
 @end quotation
 
 
@@ -1013,8 +1049,8 @@
 @node JIS C6226, JIS X0208, JIS X0201, Glossary
 @subsection JIS C6226-1978
 
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B 94$B!_(B94 $BJ8;z=89g(B(@ref{94x94 character set})$B!#(B
-$BF|K\$N9q2HI8=`!#(BJIS X0208-1978 $B$H$b$$$&!#(B@refill
+$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B94$B!_(B94 $BJ8;z=89g(B(@ref{94x94-character set})$B!#F|(B
+$BK\$N9q2HI8=`!#(BJIS X0208-1978 $B$H$b$$$&!#(B@refill
 
 (cf. @ref{JIS X0208})
 
@@ -1022,9 +1058,15 @@
 
 @node JIS X0208, JIS X0212, JIS C6226, Glossary
 @subsection JIS X0208
-
-$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B 94$B!_(B94 $BJ8;z=89g(B(@ref{94x94 character set})$B!#(B
-$BF|K\$N9q2HI8=`!#(B1978 $BG/HG!"(B1983 $BG/HG!"(B1990 $BG/HG$,$"$k$,!"(BInternet $B$G$O(B 
+@cindex JIS X 0208:1997? draft
+@cindex JIS X0208-1997?
+@cindex JIS X0208:1983,1990
+@cindex JIS X0208-1983,1990
+@cindex JIS C6226:1978
+@cindex JIS X0208-1978
+
+$BF|K\8l$rI=$9$?$a$K:n$i$l$?(B94$B!_(B94 $BJ8;z=89g(B(@ref{94x94-character set})$B!#F|(B
+$BK\$N9q2HI8=`!#(B1978 $BG/HG!"(B1983 $BG/HG!"(B1990 $BG/HG$,$"$k$,!"(BInternet $B$G$O(B 
 1983 $BG/HG$,$b$C$H$bNI$/;H$o$l$F$$$k!#(B@refill
 
 JIS X0208 $B$O5-9f!"?t;z!"%m!<%^;z!"$R$i$,$J!"%+%?%+%J!"%.%j%7%cJ8;z!"%-%j(B
@@ -1034,9 +1076,9 @@
 1978 $BG/HG$H(B 1983 $BG/HG$O0[$J$kJ8;z=89g$H$7$F07$o$l$k!#(B@refill
 
 1990 $BG/$N2~Dj$G$O(B 1983 $BG/HG$KBP$9$kDI2C$,9T$o$l$?!#$3$N$?$a!"(B1990 $BG/HG(B
-$B$r;X<($9$k>l9g$OA0$K99?7%7!<%1%s%9$rMQ$$$k!#(B
-
-@cindex{JIS X0208-1978}@cindex{JIS C6226:1978}
+$B$r;X<($9$k>l9g$OA0$K99?7%7!<%1%s%9(B (ESC 02/06 4/0) $B$rMQ$$$k!#(B
+
+
 @noindent
 [JIS X0208-1978]
 @quotation
@@ -1045,7 +1087,7 @@
 interchange'', JIS C6226:1978.
 @end quotation
 
-@cindex{JIS X0208-1983,1990}@cindex{JIS X0208:1983,1990}
+
 @noindent
 [JIS X0208-1983,1990]
 @quotation
@@ -1055,16 +1097,16 @@
 @end quotation
 
 
-$B$^$?!"(B1996 $BG/$K2~DjHG$,=PHG$5$l$kM=Dj!#!J;z7A$NJQ99$O9T$o$l$J$$$N$GJ8(B
+$B$^$?!"(B1997 $BG/$K2~DjHG$,=PHG$5$l$kM=Dj!#!J;z7A$NJQ99$O9T$o$l$J$$$N$GJ8(B
 $B;z=89g$H$7$F$O(B 1990 $BG/HG$HF10l$G$"$k!K(B
 
-@cindex{JIS X0208-1996?}@cindex{JIS X 0208:1996? draft}
+
 @noindent
-[JIS X0208-1996?]
+[JIS X0208-1997?]
 @quotation
 $BF|K\5,3J6(2q(B (Japanese Standards Association),$B!X#7%S%C%H5Z$S#8%S%C%H$N(B 
 $B#2%P%$%H>pJs8r49MQId9f2=4A;z=89g!Y(B, ``7-bit and 8-bit double byte coded
-Kanji sets for information interchange'', JIS X 0208:1996? draft.
+Kanji sets for information interchange'', JIS X 0208:1997? draft.
 @end quotation
 
 
@@ -1072,23 +1114,23 @@
 @node JIS X0212, koi8-r, JIS X0208, Glossary
 @subsection JIS X0212-1990
 
-JIS X0208 (@ref{JIS X0208}) $B$K$J$+$C$?J8;z$r=8$a$?(B 94$B!_(B94 $BJ8;z=89g(B
-(@ref{94x94 character set})$B!#!VJd=u4A;z!W$H$b8F$P$l$k!#F|K\$N9q2HI8=`!#(B
-ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B `D'.
+JIS X0208 (@ref{JIS X0208}) $B$K$J$+$C$?J8;z$r=8$a$?(B94$B!_(B94 $BJ8;z=89g(B
+(@ref{94x94-character set})$B!#!VJd=u4A;z!W$H$b8F$P$l$k!#F|K\$N9q2HI8=`!#(B
+ISO 2022 (@ref{ISO 2022}) $B$G$N=*C<(B byte $B$O(B 04/04 (`D').
 
 
 @node koi8-r, KS C5601, JIS X0212, Glossary
 @subsection koi8-r
-
-$B%m%7%d8lEy$GMQ$$$i$l$k%-%j%kJ8;z$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME
-charset}) $B$N#1$D!#(B@refill
+@cindex RFC 1489
+
+$B%m%7%d8lEy$GMQ$$$i$l$k%-%j%kJ8;z$rI=8=$9$k$?$a$N(B MIME charset (@ref{MIME charset}) $B$N#1$D!#(B@refill
 
 ISO 2022 (@ref{ISO 2022}) $B$K4p$+$J$$(B 8bit (@ref{8bit}) $B$NId9f2=J8;z=89g(B
 (@ref{Coded character set})$B$G(B de-fact standard $B$G$"$k!#(B
 
 RFC 1489 $B$GDj5A$5$l$F$$$k!#(B@refill
 
-@cindex{RFC 1489}
+
 @noindent
 [RFC 1489]
 @quotation
@@ -1097,13 +1139,15 @@
 
 
 
-@node KS C5601, message, koi8-r, Glossary
+@node KS C5601, media type, koi8-r, Glossary
 @subsection KS C5601-1987
-
-$B4Z9q8l$rI=$9$?$a$N(B 94$B!_(B94 $BJ8;z=89g(B(@ref{94x94 character set})$B!#4Z9q$N9q(B
-$B2HI8=`!#(BISO 2022 (@ref{ISO 2022}) $B$G$N=*C<J8;z$O(B `C'.
-
-@cindex{KS C5601}@cindex{KS C 5601:1987}
+@cindex KS C 5601:1987
+@cindex KS C5601
+
+$B4Z9q8l$rI=$9$?$a$N(B 94$B!_(B94 $BJ8;z=89g(B(@ref{94x94-character set})$B!#4Z9q$N9q(B
+$B2HI8=`!#(BISO 2022 (@ref{ISO 2022}) $B$G$N=*C<(B byte $B$O(B 04/03 (`C').
+
+
 @noindent
 [KS C5601]
 @quotation
@@ -1113,11 +1157,73 @@
 
 
 
-@node message, message/rfc822, KS C5601, Glossary
+@node media type, message, KS C5601, Glossary
+@subsection media type
+@cindex x-token
+@cindex content-type/subtype
+@cindex message
+@cindex multipart
+@cindex application
+@cindex video
+@cindex audio
+@cindex image
+@cindex text
+@cindex subtype
+@cindex type
+
+MIME (@ref{MIME}) $B$K$*$1$k(B entity (@ref{entity}) $B$N<oN`!#(B@strong{type} 
+$B$H(B @strong{subtype} $B$+$i$J$k!#(BRFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$F$$$k!#(B
+
+type $B$OI8=`$G$O(B
+
+@itemize @bullet
+@item
+@strong{text}
+@item
+@strong{image}
+@item
+@strong{audio}
+@item
+@strong{video}
+@item
+@strong{application}
+@item
+@strong{multipart} (@ref{multipart})
+@item
+@strong{message}
+@end itemize
+
+@noindent
+$B$,Dj5A$5$l!"$=$l$>$l$K$O(B application/octet-stream, audio/basic,
+image/jpeg, multipart/mixed (@ref{multipart/mixed}), text/plain
+(@ref{text/plain}), video/mpeg $B$J$I$N$5$^$6$^$J(B subtype $B$,Dj5A$5$l$F$$$k!#(B
+
+@noindent
+@strong{[$BCm0U(B]}
+@quotation
+
+$B$3$3$G$O!"(Btext/plain $B$J$I$N(B type/subtype $B$NAH$r$7$P$7$P(B 
+@strong{content-type/subtype} $B$H=q$/!#(B
+@end quotation
+
+
+media type $B$O!"(BRFC 2046 $B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G$-(B
+$B$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O(B MEDIA TYPES
+(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types) $B$G;2>H$G$-$k!#(B
+
+$B$^$?!"(Btype $B$b$7$/$O(B subtype $B$K!"A0$K(B `x-' $B$rIU$1$?(B @strong{x-token} $B$rMQ(B
+$B$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"(B
+$BEvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J(B content-type $B$ONJ2r$rF@$?<T$N4V$G$7$+2r(B
+$B<a$G$-$J$$$N$GMxMQ$K$OCm0U$9$k$3$H!#(B@refill
+
+(cf. @ref{Content-Type field})
+
+
+
+@node message, message/rfc822, media type, Glossary
 @subsection message
 
-$B$3$3$G$O(B RFC 822 (@ref{RFC 822}) $B$GDj5A$5$l$k(B mail $B$H(B RFC 1036 (@ref{RFC
-1036}) $B$GDj5A$5$l$k(B news $B5-;v$NAm>N$H$7$FMQ$$$k!#(B
+$B$3$3$G$O(B RFC 822 (@ref{RFC 822}) $B$GDj5A$5$l$k(B mail $B$H(B RFC 1036 (@ref{RFC 1036}) $B$GDj5A$5$l$k(B news $B5-;v$NAm>N$H$7$FMQ$$$k!#(B
 
 
 @node message/rfc822, method, message, Glossary
@@ -1130,11 +1236,12 @@
 
 @node method, MIME, message/rfc822, Glossary
 @subsection method
-
-tm $B$GFCDj$N<oN`$N(B data $B$r:F@8$7$?$H$-<B:]$K$=$N=hM}$r9T$J$&(B
-program. Emacs Lisp $B$G=q$+$l$?(B @cindex{internal method}@strong{internal
-method} $B$H(B C $B$d(B script $B8@8l$J$I$G=q$+$l$?(B @cindex{external
-method}@strong{external method} $B$,$"$k!#(B@refill
+@cindex external method
+@cindex internal method
+
+tm $B$GFCDj$N<oN`$N(B data $B$r:F@8$7$?$H$-<B:]$K$=$N=hM}$r9T$J$&(B program.
+Emacs Lisp $B$G=q$+$l$?(B @strong{internal method} $B$H(B C $B$d(B script $B8@8l$J$I$G(B
+$B=q$+$l$?(B @strong{external method} $B$,$"$k!#(B@refill
 
 (cf. @ref{(tm-view-ja)method})
 
@@ -1142,11 +1249,11 @@
 
 @node MIME, MIME charset, method, Glossary
 @subsection MIME
-
-@cindex{Multipurpose Internet Mail Extensions}@strong{Multipurpose
-Internet Mail Extensions} $B$NN,$G!"(BInternet $B$N(B mail $B$d(B news $B$G(B us-ascii
-plain text (@ref{us-ascii}) $B0J30$NJ8;z$r;H$&$?$a$N(B RFC 822 (@ref{RFC
-822}) $B$KBP$9$k3HD%!#(B@refill
+@cindex Multipurpose Internet Mail Extensions
+
+@strong{Multipurpose Internet Mail Extensions} $B$NN,$G!"(BInternet $B$N(B mail 
+$B$d(B news $B$G(B us-ascii plain text (@ref{us-ascii}) $B0J30$NJ8;z$r;H$&$?$a$N(B 
+RFC 822 (@ref{RFC 822}) $B$KBP$9$k3HD%!#(B@refill
 
 RFC 2045 $B$OKAF,$G<!$N$h$&$K=R$Y$F$$$k!'(B@refill
 
@@ -1170,8 +1277,7 @@
 
 
 RFC 2045 (@ref{RFC 2045}), RFC 2046 (@ref{RFC 2046}), RFC 2047
-(@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}), RFC 2049 (@ref{RFC
-2049}) $B$GDj5A$5$l$F$$$k!#(B
+(@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}), RFC 2049 (@ref{RFC 2049}) $B$GDj5A$5$l$F$$$k!#(B
 
 
 @node MIME charset, MTA, MIME, Glossary
@@ -1184,15 +1290,16 @@
 RFC 2045 (@ref{RFC 2045}) $B$GDj5A$5$l$F$$$k!#(B@refill
 
 iso-2022-jp (@ref{iso-2022-jp}) $B$d(B euc-kr (@ref{euc-kr}) $B$O$=$N#1$D!#(B
-$B!J$3$3$G$O!"(BMIME charset $B$OJ8;z=89g(B (@ref{Character set})$B$H6hJL$7$F>.J8(B
-$B;z$G=q$$$F$$$k!K(B
+$B!J$3$3$G$O!"(BMIME charset $B$O?^7AJ8;z=89g(B (@ref{Graphic character set})$B$H(B
+$B6hJL$7$F>.J8;z$G=q$$$F$$$k!K(B
 
 
 @node MTA, MUA, MIME charset, Glossary
 @subsection MTA
-
-@cindex{Message Transfer Agent}@strong{Message Transfer Agent} $B$NN,$G!"(B
-sendmail $B$J$I$N(B mail $BG[Aw(B program $B$H(B news server $B$NAm>N!#(B@refill
+@cindex Message Transfer Agent
+
+@strong{Message Transfer Agent} $B$NN,$G!"(Bsendmail $B$J$I$N(B mail $BG[Aw(B 
+program $B$H(B news server $B$NAm>N!#(B@refill
 
 (cf. @ref{MUA})
 
@@ -1200,9 +1307,10 @@
 
 @node MUA, MULE, MTA, Glossary
 @subsection MUA
-
-@cindex{Message User Agent}@strong{Message User Agent} $B$NN,$G!"(Bmail
-reader $B$H(B news reader $B$NAm>N!#(B@refill
+@cindex Message User Agent
+
+@strong{Message User Agent} $B$NN,$G!"(Bmail reader $B$H(B news reader $B$NAm>N!#(B
+@refill
 
 (cf. @ref{MTA})
 
@@ -1210,35 +1318,45 @@
 
 @node MULE, multipart, MUA, Glossary
 @subsection MULE
-
-$BH>ED(B $B7u0l;a$i$,:n$C$?!"B?8@8l$5$l$?(B Emacs (@ref{Emacs}).@refill
-
-[MULE] Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual
-Enhancement to GNU Emacs'', Proc. of INET'93, August, 1993.@refill
+@cindex XEmacs/mule
+@cindex Emacs/mule
+@cindex MULE
+@cindex mule
+@cindex MULE
+
+$BH>ED(B $B7u0l;a$i$,:n$C$?!"B?8@8l$5$l$?(B GNU Emacs (@ref{Emacs}).
+
+
+@noindent
+[MULE]
+@quotation
+Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual Enhancement
+to GNU Emacs'', Proc. of INET'93, August, 1993.
+@end quotation
 
 $B8=:_!"(BMULE $B$N5!G=$r(B Emacs $B$K(B merge $B$9$k:n6H$,9T$o$l$F$*$j!"(Balpha $BHG(B
-(ftp://etlport.etl.go.jp/pub/mule/mule-19.33-gamma.taz) $B$,B8:_$9$k!#(B
+(ftp://etlport.etl.go.jp/pub/mule/mule-19.33-delta.taz)$B$,B8:_$9$k!#(B
 
 $B$=$NB>!"(BXEmacs $B$K(B merge $B$7$?$b$N$bB8:_$9$k!#(B@refill
 
 $B$3$N$?$a!"8=:_$G$OB?8@8l(B Emacs $B$O!"85!9$N(B MULE $B$r4^$a$F#3<oN`$"$k$3$H$K(B
 $B$J$k!#(B@refill
 
-$B$=$3$G!"$3$3$G$O!"B?8@8l(B Emacs $B$NAm>N$r(B @cindex{mule}@strong{mule}, $B85!9(B
-$B$N(B MULE $B$r(B @cindex{MULE}@strong{MULE}, mule $B5!G=$r(B merge $B$7$?(B Emacs $B$r(B
-@cindex{Emacs/mule}@strong{Emacs/mule}, mule $B5!G=$r(B merge $B$7$?(B XEmacs $B$r(B 
-@cindex{XEmacs/mule}@strong{XEmacs/mule} $B$H8F$V$3$H$K$9$k!#(B
+$B$=$3$G!"$3$3$G$O!"B?8@8l(B Emacs $B$NAm>N$r(B @strong{mule}, $B85!9(B
+$B$N(B MULE $B$r(B @strong{MULE}, mule $B5!G=$r(B merge $B$7$?(B Emacs $B$r(B
+@strong{Emacs/mule}, mule $B5!G=$r(B merge $B$7$?(B XEmacs $B$r(B 
+@strong{XEmacs/mule} $B$H8F$V$3$H$K$9$k!#(B
 
 
 @node multipart, multipart/alternative, MULE, Glossary
 @subsection Multipart
+@cindex multipart
 
 $B#1$D$N(B message (@ref{message}) $B$KJ#?t$N(B entity (@ref{entity}) $B$rF~$l$k$?(B
 $B$a$N(B MIME (@ref{MIME}) $B$K$*$1$k(B media type (@ref{media type}) $B$N#1$D!"$b(B
 $B$7$/$O!"J#?t$N(B entity $B$+$i$J$k(B message $B$r;X$9!#(B@refill
 
-$B8=:_!"Dj5A$5$l$F$$$k(B @cindex{multipart}@strong{multipart} $B$H$7$F$O!"(BRFC
-2046 (@ref{RFC 2046}) $B$GDj5A$5$l$?(B
+$B8=:_!"Dj5A$5$l$F$$$k(B @strong{multipart} $B$H$7$F$O!"(BRFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$?(B
 
 @itemize @bullet
 @item
@@ -1277,12 +1395,13 @@
 
 @node multipart/digest, multipart/encrypted, multipart/alternative, Glossary
 @subsection multipart/digest
+@cindex multipart/digest
 
 multipart (@ref{multipart}) $B$N#1$D$G!"4^$^$l$k(B entity (@ref{entity}) $B$N(B 
 default $B$N(Bmedia type (@ref{media type}) $B$,(B multipart/mixed
 (@ref{multipart/mixed}) $B$J$I$N>l9g(B text/plain (@ref{text/plain}) $B$G$"$k(B
-$B$N$KBP$7!"(B@cindex{multipart/digest}@strong{multipart/digest}$B$G$O(B 
-message/rfc822 (@ref{message/rfc822}) $B$,MQ$$$i$l$kE@$,0[$J$k!#(B@refill
+$B$N$KBP$7!"(B@strong{multipart/digest}$B$G$O(B message/rfc822
+(@ref{message/rfc822}) $B$,MQ$$$i$l$kE@$,0[$J$k!#(B@refill
 
 $B$3$l$OEAE}E*$J(B RFC 1153 (@ref{RFC 1153}) $B$K4p$E$/(B encapsulation
 (@ref{encapsulation}) $B$KBe$o$k$b$N$G$"$k!#(B@refill
@@ -1333,6 +1452,9 @@
 
 @node PGP, PGP-kazu, multipart/signed, Glossary
 @subsection PGP
+@cindex RFC 1991
+@cindex Informational
+@cindex PGP
 
 Phil Zimmermann $B;a$,:n@.$7$?8x3+800E9f=hM}7O$N#1$D!#(Bmessage
 (@ref{message}) $B$N0E9f2=$dEE;R=pL>$r9T$&$3$H$,$G$-$k!#(BPretty Good
@@ -1345,7 +1467,7 @@
  $B$bMxMQ$5$l$F$-$?!#$7$+$7!":#8e$O(B PGP/MIME $B$KE}0l$7$F$$$/J}$,K>$^$7$$!#(B
 @refill
 
-@cindex{PGP}@cindex{Informational}@cindex{RFC 1991}
+
 @noindent
 [PGP: RFC 1991]
 @quotation
@@ -1358,12 +1480,14 @@
 
 @node PGP-kazu, PGP/MIME, PGP, Glossary
 @subsection PGP-kazu
+@cindex application/pgp
+@cindex PGP-kazu
 
 $B;3K\(B $BOBI'(B $B;a$,Ds0F$7$?(B MIME (@ref{MIME}) $B$G(B PGP (@ref{PGP}) $B$rMxMQ$9$k$?(B
-$B$a$NJ}K!$r$3$3$G$O(B @cindex{PGP-kazu}@strong{PGP-kazu} $B$H8F$V$3$H$K$9$k!#(B
-
-PGP-kazu $B$O(B @cindex{application/pgp}@strong{application/pgp} $B$H$$$&(B 
-content-type (@ref{content-type}) $B$rDj5A$9$k!#(B@refill
+$B$a$NJ}K!$r$3$3$G$O(B @strong{PGP-kazu} $B$H8F$V$3$H$K$9$k!#(B@refill
+
+PGP-kazu $B$O(B @strong{application/pgp} $B$H$$$&(B content-type
+(@ref{content-type}) $B$rDj5A$9$k!#(B@refill
 
 application/pgp $B$N(B part $B$G$O(B PGP $B$N(B encapsulation (@ref{encapsulation}) 
 $B$,MQ$$$i$l$k!#(BPGP $B$N(B encapsulation (cf. @ref{RFC 934})
@@ -1379,14 +1503,14 @@
 
 $B$^$?!"(BInternet $B$G$O:#8e(B PGP/MIME (@ref{PGP/MIME}) $B$NJ}8~$GI8=`2=$7$F$$$3(B
 $B$&$H$$$&$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP-kazu $B$OMQ$$$J$$$N$,K>(B
-$B$^$7$$!#(B@refill
-
-[draft-kazu-pgp-mime-00.txt] Yamamoto K., ``PGP MIME Integration'',
-October, 1995
+$B$^$7$$!#(B
 
 
 @node PGP/MIME, Quoted-Printable, PGP-kazu, Glossary
 @subsection PGP/MIME
+@cindex RFC 2015
+@cindex Standards Track
+@cindex PGP/MIME
 
 Michael Elkins $B;a$,Ds0F$7$?(B MIME (@ref{MIME}) $B$G(B PGP (@ref{PGP}) $B$rMxMQ(B
 $B$9$k$?$a$NJ}K!!#(B@refill
@@ -1403,7 +1527,7 @@
 $B$&$3$H$G9g0U$,<h$l$F$$$k!#$h$C$F!":#8e$O(B PGP $B$rMQ$$$k>l9g$O(B PGP/MIME$B$rMQ(B
 $B$$$k$N$,K>$^$7$$!#(B
 
-@cindex{PGP/MIME}@cindex{Standards Track}@cindex{RFC 2015}
+
 @noindent
 [PGP/MIME: RFC 2015]
 @quotation
@@ -1430,11 +1554,15 @@
 
 @node RFC 821, RFC 822, Quoted-Printable, Glossary
 @subsection RFC 821
-
-@cindex{SMTP}@strong{SMTP} $B$H8F$P$l$k(B Internet mail $B$NG[AwK!$NI8=`$rDj$a(B
+@cindex RFC 821
+@cindex STD 10
+@cindex SMTP
+@cindex SMTP
+
+@strong{SMTP} $B$H8F$P$l$k(B Internet mail $B$NG[AwK!$NI8=`$rDj$a(B
 $B$F$$$k(B RFC.
 
-@cindex{SMTP}@cindex{STD 10}@cindex{RFC 821}
+
 @noindent
 [SMTP: RFC 821]
 @quotation
@@ -1445,21 +1573,25 @@
 
 @node RFC 822, RFC 934, RFC 821, Glossary
 @subsection RFC 822
-
-Internet mail $B$N<g$K(B @cindex{message header}@strong{message header} $B$K4X$9$k7A<0$K(B
+@cindex RFC 822
+@cindex STD 11
+@cindex Internet message
+@cindex Internet mail
+@cindex message header
+
+Internet mail $B$N<g$K(B @strong{message header} $B$K4X$9$k7A<0$K(B
 $B4X$9$kI8=`$rDj$a$F$$$k(B RFC.
 
 @noindent
 @strong{[Memo]}
 @quotation
 
-news message $B$b$3$l$K=`$8$F$$$k$N$G!"(B@cindex{Internet
-mail}@strong{Internet mail} $B$H=q$/$h$j$b!"(B@cindex{Internet
-message}@strong{Internet message} $B$H=q$$$?J}$,NI$$$+$b$7$l$J$$!#(B
+news message $B$b$3$l$K=`$8$F$$$k$N$G!"(B@strong{Internet mail} $B$H=q$/$h$j$b!"(B
+@strong{Internet message} $B$H=q$$$?J}$,NI$$$+$b$7$l$J$$!#(B
 @end quotation
 
 
-@cindex{STD 11}@cindex{RFC 822}
+
 @noindent
 [RFC 822]
 @quotation
@@ -1471,16 +1603,17 @@
 
 @node RFC 934, RFC 1036, RFC 822, Glossary
 @subsection RFC 934
-
-Internet mail (@ref{RFC 822}) $B$N(B 
-@cindex{encapsulation}@strong{encapsulation} (@ref{encapsulation}) $B$NJ}(B
-$BK!$rDj$a$?(B RFC.@refill
+@cindex RFC 934
+@cindex encapsulation
+
+Internet mail (@ref{RFC 822}) $B$N(B @strong{encapsulation}
+(@ref{encapsulation}) $B$NJ}K!$rDj$a$?(B RFC.@refill
 
 MIME (@ref{MIME}) $B$HL7=b$9$k$N$G!"8=:_$G$O(B message/rfc822
 (@ref{message/rfc822}) $B$rMQ$$$k$Y$-$G$"$k!#(B
 
 
-@cindex{RFC 934}
+
 @noindent
 [RFC 934]
 @quotation
@@ -1492,12 +1625,14 @@
 
 @node RFC 1036, RFC 1153, RFC 934, Glossary
 @subsection RFC 1036
-
-USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC. RFC 822 (@ref{RFC 822})$B$N(B subset 
-$B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B netnews $B$G$b$3$l(B
-$B$K=`$8$F$$$k$b$N$,B?$$!#(B
-
-@cindex{USENET}@cindex{RFC 1036}
+@cindex RFC 1036
+@cindex USENET
+
+USENET $B$G$N(B message $B$N7A<0$rDj$a$?(B RFC.  RFC 822 (@ref{RFC 822}) $B$N(B 
+subset $B$K$J$C$F$$$k!#(BInternet $B$NI8=`$G$O$J$$$,!"(BUSENET $B0J30$N(B netnews $B$G(B
+$B$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#(B
+
+
 @noindent
 [USENET: RFC 1036]
 @quotation
@@ -1509,10 +1644,11 @@
 
 @node RFC 1153, RFC 1557, RFC 1036, Glossary
 @subsection RFC 1153
-
-$BJ#?t$N(B Internet mail (@ref{RFC 822}) $B$r(B 
-@cindex{encapsulation}@strong{encapsulation} (@ref{encapsulation}) $B$9$k(B
-$B$?$a$NJ}K!$rDj$a$?(B RFC. RFC 934 (@ref{RFC 934}) $B$rMQ$$$k!#(B@refill
+@cindex RFC 1153
+@cindex encapsulation
+
+$BJ#?t$N(B Internet mail (@ref{RFC 822}) $B$r(B @strong{encapsulation}
+(@ref{encapsulation}) $B$9$k$?$a$NJ}K!$rDj$a$?(B RFC.@refill
 
 MIME (@ref{MIME}) $B$HL7=b$9$k$N$G!"8=:_$G$O(B message/rfc822
 (@ref{message/rfc822}) $B$rMQ$$$?(B multipart (@ref{multipart}) $B$rMQ$$$k$Y$-(B
@@ -1521,7 +1657,7 @@
 (cf. @ref{multipart/digest})
 
 
-@cindex{RFC 1153}
+
 @noindent
 [RFC 1153]
 @quotation
@@ -1532,11 +1668,13 @@
 
 @node RFC 1557, RFC 1922, RFC 1153, Glossary
 @subsection RFC 1557
+@cindex RFC 1557
+@cindex Informational
 
 euc-kr (@ref{euc-kr}) $B$H(B iso-2022-kr (@ref{iso-2022-kr}) $B$H$$$&4Z9q8l$N(B
 $B$?$a$N(B MIME charset (@ref{MIME charset}) $B$rDj5A$7$F$$$k(B RFC.
 
-@cindex{Informational}@cindex{RFC 1557}
+
 @noindent
 [RFC 1557]
 @quotation
@@ -1548,17 +1686,21 @@
 
 @node RFC 1922, RFC 2045, RFC 1557, Glossary
 @subsection RFC 1922
+@cindex RFC 1922
+@cindex Informational
+@cindex charset-extension
+@cindex charset-edition
 
 iso-2022-cn (@ref{iso-2022-cn}), iso-2022-cn-ext
 (@ref{iso-2022-cn-ext}), cn-gb (@ref{cn-gb}), cn-big5 (@ref{cn-big5}) $B$H(B
 $B$$$C$?Cf9q8l$N$?$a$N(B MIME charset (@ref{MIME charset}) $B$rDj5A$7$F$$$k(B 
 RFC.@refill
 
-$B$3$l$K2C$($F!"(B@cindex{charset-edition}@strong{charset-edition} $B$H(B 
-@cindex{charset-extension}@strong{charset-extension} $B$H$$$&(B Content-Type
-field (@ref{Content-Type field}) $B$N(B parameter $B$rDj5A$7$F$$$k!#(B
-
-@cindex{Informational}@cindex{RFC 1922}
+$B$3$l$K2C$($F!"(B@strong{charset-edition} $B$H(B @strong{charset-extension} $B$H(B
+$B$$$&(B Content-Type field (@ref{Content-Type field}) $B$N(B parameter $B$rDj5A$7(B
+$B$F$$$k!#(B
+
+
 @noindent
 [RFC 1922]
 @quotation
@@ -1571,8 +1713,10 @@
 
 @node RFC 2045, RFC 2046, RFC 1922, Glossary
 @subsection RFC 2045
-
-@cindex{Standards Track}@cindex{RFC 2045}
+@cindex RFC 2045
+@cindex Standards Track
+
+
 @noindent
 [RFC 2045]
 @quotation
@@ -1585,8 +1729,10 @@
 
 @node RFC 2046, RFC 2048, RFC 2045, Glossary
 @subsection RFC 2046
-
-@cindex{Standards Track}@cindex{RFC 2046}
+@cindex RFC 2046
+@cindex Standards Track
+
+
 @noindent
 [RFC 2046]
 @quotation
@@ -1599,8 +1745,10 @@
 
 @node RFC 2048, RFC 2049, RFC 2046, Glossary
 @subsection RFC 2048
-
-@cindex{Standards Track}@cindex{RFC 2048}
+@cindex RFC 2048
+@cindex Standards Track
+
+
 @noindent
 [RFC 2048]
 @quotation
@@ -1613,8 +1761,10 @@
 
 @node RFC 2049, plain text, RFC 2048, Glossary
 @subsection RFC 2049
-
-@cindex{Standards Track}@cindex{RFC 2049}
+@cindex RFC 2049
+@cindex Standards Track
+
+
 @noindent
 [RFC 2049]
 @quotation
@@ -1628,22 +1778,28 @@
 @node plain text, Security multipart, RFC 2049, Glossary
 @subsection plain text
 
-$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$(B $BJ8;zId9f(B(@ref{Coded character set})$B$N$_(B
+$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$J8;zId9f(B(@ref{Coded character set})$B$N$_(B
 $B$GI=8=$5$l$k(B text $B>pJs!#(B(cf. @ref{text/plain})
 
 
 
 @node Security multipart, text/enriched, plain text, Glossary
 @subsection Security multipart
-
-MIME (@ref{MIME}) $B$G0E9f$dEE;R=qL>$rMQ$$$k$?$a$N7A<0!#(B
-@cindex{multipart/signed}@strong{multipart/signed}
-(@ref{multipart/signed}) $B$H(B 
-@cindex{multipart/encrypted}@strong{multipart/encrypted}
-(@ref{multipart/encrypted}) $B$H$$$&(B multipart $B$rMQ$$$k!#(BMOSS $B$d(B PGP/MIME
-(@ref{PGP/MIME}) $B$O$3$l$K4p$$$F$$$k!#(B
-
-@cindex{Security multipart}@cindex{Standards Track}@cindex{RFC 1847}
+@cindex RFC 1847
+@cindex Standards Track
+@cindex Security multipart
+@cindex multipart/encrypted
+@cindex multipart/signed
+
+MIME (@ref{MIME}) $B$G0E9f$dEE;R=qL>$rMQ$$$k$?$a$N7A<0!#(B@refill
+
+@strong{multipart/signed} (@ref{multipart/signed}) $B$H(B 
+@strong{multipart/encrypted} (@ref{multipart/encrypted}) $B$H$$$&(B 
+multipart $B$rMQ$$$k!#(B@refill
+
+MOSS $B$d(B PGP/MIME (@ref{PGP/MIME}) $B$O$3$l$K4p$$$F$$$k!#(B
+
+
 @noindent
 [Security multipart: RFC 1847]
 @quotation
@@ -1656,12 +1812,14 @@
 
 @node text/enriched, text/plain, Security multipart, Glossary
 @subsection text/enriched
-
-RFC 1521 $B$GDj5A$5$l$?(B @cindex{text/richtext}@strong{text/richtext} $B$KBe(B
-$B$o$C$F!"=qBN$dAHHG$K4X$9$k>pJs$r;}$C$?(B text$B$rI=8=$9$k$?$a$N(B media type
-(@ref{media type}).
-
-@cindex{text/enriched}@cindex{RFC 1896}
+@cindex RFC 1896
+@cindex text/enriched
+@cindex text/richtext
+
+RFC 1521 $B$GDj5A$5$l$?(B @strong{text/richtext} $B$KBe$o$C$F!"=qBN$dAHHG$K4X(B
+$B$9$k>pJs$r;}$C$?(B text$B$rI=8=$9$k$?$a$N(B media type (@ref{media type}).
+
+
 @noindent
 [text/enriched: RFC 1896]
 @quotation
@@ -1673,14 +1831,14 @@
 
 @node text/plain, tm-kernel, text/enriched, Glossary
 @subsection text/plain
+@cindex text/plain
 
 RFC 2046 (@ref{RFC 2046}) $B$GDj5A$5$l$?!"(Bplain text (@ref{plain text}) $B$r(B
 $BI=8=$9$k$?$a$N(B media type (@ref{media type}).@refill
 
-$BHs(B MIME message $B$J$I$N(B content-type $B$,Dj5A$5$l$J$$(B part $B$O(B MIME charset
-(@ref{MIME charset}) $B$,(B us-ascii (@ref{us-ascii}) $B$G$"$k(B 
-@cindex{text/plain}@strong{text/plain} $B$N(B part $B$G$"$k$H8+Pv$5$l$k$3$H$K(B
-$B$J$C$F$$$k!#(B
+$BHs(B MIME message $B$J$I$N(B content-type $B$,Dj5A$5$l$J$$(B entity (@ref{entity}) 
+$B$O(B MIME charset (@ref{MIME charset}) $B$,(B us-ascii (@ref{us-ascii}) $B$G$"$k(B 
+@strong{text/plain} $B$N(B entity $B$G$"$k$H8+Pv$5$l$k$3$H$K$J$C$F$$$k!#(B
 
 
 @node tm-kernel, tm-MUA, text/plain, Glossary
@@ -1709,23 +1867,29 @@
 
 @node tm-MUA, us-ascii, tm-kernel, Glossary
 @subsection tm-MUA
+@cindex tm-rmail
+@cindex tm-vm
+@cindex gnus-mime
+@cindex tm-gnus
+@cindex tm-mh-e
+@cindex tm $BBg@9$j(B package
 
 tm (@ref{tm-kernel}) $B$rMQ$$$?(B MUA (@ref{MUA}) $B$b$7$/$O(B MUA $B$KBP$9$k(B 
 extender.@refill
 
-@cindex{tm $BBg@9$j(B package}@strong{tm $BBg@9$j(B package} $B$K$O(B
+@strong{tm $BBg@9$j(B package} $B$K$O(B
 
 @itemize @bullet
 @item
-mh-e (@ref{(mh-e)}) $BMQ$N(B @cindex{tm-mh-e}@strong{tm-mh-e}
+mh-e (@ref{(mh-e)}) $BMQ$N(B @strong{tm-mh-e}
 @item
-GNUS $BMQ$N(B @cindex{tm-gnus}@strong{tm-gnus}
+GNUS $BMQ$N(B @strong{tm-gnus}
 @item
-Gnus $BMQ$N(B @cindex{gnus-mime}@strong{gnus-mime} (@ref{(gnus-mime-ja)})
+Gnus $BMQ$N(B @strong{gnus-mime} (@ref{(gnus-mime-ja)})
 @item
-VM $BMQ$N(B @cindex{tm-vm}@strong{tm-vm}
+VM $BMQ$N(B @strong{tm-vm}
 @item
-RMAIL $BMQ$N(B @cindex{tm-rmail}@strong{tm-rmail}
+RMAIL $BMQ$N(B @strong{tm-rmail}
 @end itemize
 
 @noindent
@@ -1736,6 +1900,8 @@
 
 @node us-ascii,  , tm-MUA, Glossary
 @subsection us-ascii
+@cindex ASCII
+@cindex us-ascii
 
 $B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N(B MIME charset
 (@ref{MIME charset}) $B$N#1$D!#(B@refill
@@ -1745,10 +1911,10 @@
 
 Internet mail $B$K$*$1$kI8=`$NId9f2=J8;z=89g(B(@ref{Coded character set})$B$G(B
 $B$"$j!"L@<(E*$K(B MIME charset $B$,<($5$l$J$$>l9g$O86B'$H$7$F(B 
-@cindex{us-ascii}@strong{us-ascii} $B$,;H$o$l$k!#(B@refill
-
-$B$^$?!"(BRFC 822 (@ref{RFC 822}) $B$K$*$1$k(B @cindex{ASCII}@strong{ASCII} $B$O(B 
-us-ascii $B$r;X$9$b$N$H2r<a$9$Y$-$G$"$k!#(B
+@strong{us-ascii} $B$,;H$o$l$k!#(B@refill
+
+$B$^$?!"(BRFC 822 (@ref{RFC 822}) $B$K$*$1$k(B @strong{ASCII} $B$O(B us-ascii $B$r;X$9(B
+$B$b$N$H2r<a$9$Y$-$G$"$k!#(B
 
 
 @node Setting, Bug report, Introduction, Top
@@ -1772,10 +1938,10 @@
 
 @node mime-setup, tm-setup, Setting, Setting
 @section $BI8=`E*$J@_Dj(B
-
-tm $B$N0lHLE*$J@_Dj$r9T$$$?$$>l9g$O!"(B
-@cindex{mime-setup}@strong{mime-setup} $B$H$$$&I8=`@_Dj(B file $B$r;H$C$F$/$@(B
-$B$5$$!#Nc$($P!"(B@file{~/.emacs} $BEy$G!"(B@refill
+@cindex mime-setup
+
+tm $B$N0lHLE*$J@_Dj$r9T$$$?$$>l9g$O!"(B@strong{mime-setup} $B$H$$$&I8=`@_Dj(B 
+file $B$r;H$C$F$/$@$5$$!#Nc$($P!"(B@file{~/.emacs} $BEy$G!"(B@refill
 
 @lisp
 (load "mime-setup")
@@ -1796,8 +1962,9 @@
 
 @node signature, Notice about GNUS, mime-setup, mime-setup
 @subsection signature.el
-
-tm $B$K$O(B @cindex{signature}@strong{signature} $B$H$$$&(B signature $B$N<+F0@ZBX$((B 
+@cindex signature
+
+tm $B$K$O(B @strong{signature} $B$H$$$&(B signature $B$N<+F0@ZBX$((B 
 tool $B$,ImB0$7$F$*$j!"(B@file{mime-setup.el} $B$O$3$N@_Dj$b9T$J$$$^$9!#(B
 message header $B$N(B field $B$K9g$o$;$F(B signature $B$N<+F0@ZBX$r9T$J$$$?$$>l(B
 $B9g$O(B @file{~/.emacs} $B$K0J2<$N$h$&$J$b$N$rF~$l$F2<$5$$!#!J>\$7$/(B
@@ -1883,14 +2050,15 @@
 
 @node tm-setup, setting for VM, mime-setup, Setting
 @section tm-edit $B$r;H$o$J$$@_Dj(B
-
-
-@cindex{tm-setup}@strong{tm-setup} $B$O(B tm-MUA (@ref{tm-MUA}) $B$N@_Dj$N$_$r(B
-$B9T$J$&(B module $B$G$9!#$3$N@_Dj(B file $B$G$O(B tm-edit (@ref{(tm-edit-ja)}) $B$r;H$C(B
-$B$?(B MIME message $B$N:n@.$K4X$9$k@_Dj$O9T$o$l$:!"(BMIME message $B$N1\Mw$K4X$9(B
-$B$k@_Dj$N$_$,9T$o$l$^$9!#(BMIME message $B$rFI$_$?$$$,<+J,$G$O:n@.$7$J$$$H$+!"(B
-tm-edit $B0J30$N(B MIME composer $B$r;H$$$?$$>l9g$K$O(B mime-setup.el $B$NBe$o$j$K(B
-$B$3$N@_Dj(B file $B$r;H$C$F$/$@$5$$!#(B@refill
+@cindex tm-setup
+
+
+@strong{tm-setup} $B$O(B tm-MUA (@ref{tm-MUA}) $B$N@_Dj$N$_$r9T$J$&(B module $B$G(B
+$B$9!#$3$N@_Dj(B file $B$G$O(B tm-edit (@ref{(tm-edit-ja)}) $B$r;H$C$?(B MIME
+message $B$N:n@.$K4X$9$k@_Dj$O9T$o$l$:!"(BMIME message $B$N1\Mw$K4X$9$k@_Dj$N(B
+$B$_$,9T$o$l$^$9!#(BMIME message $B$rFI$_$?$$$,<+J,$G$O:n@.$7$J$$$H$+!"(Btm-edit 
+$B0J30$N(B MIME composer $B$r;H$$$?$$>l9g$K$O(B mime-setup.el $B$NBe$o$j$K$3$N@_Dj(B 
+file $B$r;H$C$F$/$@$5$$!#(B@refill
 
 $BNc$($P!"(B@file{~/.emacs} $BEy$K(B
 
@@ -1914,9 +2082,11 @@
 
 @node setting for VM, manual setting, tm-setup, Setting
 @section VM $B$r;H$&>l9g$N@_Dj(B
-
-
-@cindex{vm}@strong{vm} $B$r;H$&>l9g$O(B @file{~/.vm} $B$K(B
+@cindex BBDB
+@cindex vm
+
+
+@strong{vm} $B$r;H$&>l9g$O(B @file{~/.vm} $B$K(B
 
 @lisp
 (require 'tm-vm)
@@ -1930,8 +2100,8 @@
 @strong{[$BCm0U(B]}
 @quotation
 
-@cindex{BBDB}@strong{BBDB} $B$r;H$&>l9g$O(B @code{(bbdb-insinuate-vm)} $B$N(B 
-@strong{$B8e(B} $B$K(B @code{(require 'tm-vm)} $B$rF~$l$F$/$@$5$$!#(B
+@strong{BBDB} $B$r;H$&>l9g$O(B @code{(bbdb-insinuate-vm)} $B$N(B @strong{$B8e(B} $B$K(B 
+@code{(require 'tm-vm)} $B$rF~$l$F$/$@$5$$!#(B
 @end quotation
 
 
@@ -1962,7 +2132,7 @@
 
 
 
-@node Bug report, Concept Index, Setting, Top
+@node Bug report, Acknowledgments, Setting, Top
 @chapter bug $BJs9p$N;EJ}(B
 
 tm $B$N%P%0$r8+$D$1$?$i!"0J2<$N(B address $B$K(B mail $B$rAw$C$F$/$@$5$$!'(B
@@ -2004,7 +2174,37 @@
 $B$F2<$5$$!#(B(^_^)
 
 
-@node Concept Index, Variable Index, Bug report, Top
+@node Acknowledgments, Concept Index, Bug report, Top
+@chapter $B<U<-(B
+
+$B;d$,(B tm-view $B$r:G=i$K:n$C$?;~$K!"87$7$$CmJ8$HM-1W$J=u8@$r2<$5$j!"$=$N@_(B
+$B7W$KB?Bg$JM?$($i$l$?>#C+J]Gn$5$s$K46<U$7$^$9!#(B@refill
+
+@file{tm-ew-d.el} $B$H(B @file{mel-b.el} $B$NA0?H$KEv$?$k(B@file{mime.el} $B$r=q$-!"(B
+$B$=$NG[I[$H2~B$$r$*5v$72<$5$C$?1]JB;LCR$5$s$K46<U$7$^$9!#(B@refill
+
+$B$^$?!"(BLaTeX $BMQ$NFbIt(B method $B$H(B message/partial $BMQ$N<+F07k9g(B method $B$rDs(B
+$B6!$7$F2<$5$C$?2,It<wCK$5$s!"(Btar archive $BMQ$NFbIt(B method $B$rDs6!$7$F2<$5$C(B
+$B$?>eLnGn$5$s$K46<U$7$^$9!#(B@refill
+
+tm-edit $B$NA0?H$H$J$C$?(B @file{mime.el} $B$r=q$-!"$=$NG[I[$H2~B$$r$*5v$72<$5$C(B
+$B$?!"G_ED@/?.$5$s$K46<U$7$^$9!#(Btm-edit $B$N(B user interface $B$N4pK\E*$J@_7W$O(B
+$BG_ED$5$s$N<j$K$h$k$b$N$G!"$H$F$bNI$$@_7W$G$"$C$?$H;W$$$^$9!#(B@refill
+
+tm $B$N4v$D$+$N(B module $B$N(B maintainer $B$r0z$-<u$1$F2<$5$C$?>.NS=$J?$5$s!"H`(B
+$B$O$^$?!"(BRFC $B$KBP$9$kE,9g@-$KBP$7$F1T$$;XE&$rB?!99T$&$3$H$G(B tm $B$NF0:n$N5,(B
+$B3J$KBP$9$kCi<BEY$r>e$2$k$N$KHs>o$J9W8%$r9T$$$^$7$?!#(B@refill
+
+$B$^$?!"(Btm-vm $B$N(B maintainer $B$r0z$-<u$1$F2<$5$C$?(B Oscar Figueiredo $B$5$s$K46(B
+$B<U$7$^$9!#@:NOE*$K(B tm-vm $B$r2~NI$7!"$^$?!"N)GI$J@bL@=q$r=q$$$F2<$5$$$^$7(B
+$B$?!#(B@refill
+
+$B:G8e$K!"(Bbeta test $B$K6(NO$7$F2<$5$C$?F|K\8lHG!"1Q8lHGAPJ}$N(B tm mailing
+list $B$N(B member $B$K46<U$7$^$9!#$^$?!"(Bpatch $B$rAw$C$F2<$5$C$?A4$F$NJ}$K46(B
+$B<U$7$^$9!#(B
+
+
+@node Concept Index, Variable Index, Acknowledgments, Top
 @chapter $B35G0:w0z(B
 
 @printindex cp
--- a/man/tm/tm-mh-e-en.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-mh-e-en.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 <!doctype sinfo system>
-<!-- $Id: tm-mh-e-en.sgml,v 1.1 1996/12/22 00:09:34 steve Exp $ -->
+<!-- $Id: tm-mh-e-en.sgml,v 1.2 1996/12/29 00:15:31 steve Exp $ -->
 <head>
 <title>tm-mh-e 7.71 Reference Manual (English Version)
 <author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
--- a/man/tm/tm-mh-e-en.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-mh-e-en.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -26,10 +26,10 @@
 
 @node Introduction, mh-folder-mode, Top, Top
 @chapter What is tm-mh-e?
+@cindex tm-mh-e
 
-@cindex{tm-mh-e}@strong{tm-mh-e} is a mh-e (@ref{(mh-e)}) extender to
-use MIME (@ref{(tm-en)MIME}) feature using tm
-(@ref{(tm-en)tm-kernel}).@refill
+@strong{tm-mh-e} is a mh-e (@ref{(mh-e)}) extender to use MIME
+(@ref{(tm-en)MIME}) feature using tm (@ref{(tm-en)tm-kernel}).@refill
 
 tm-mh-e extends following features:
 
@@ -71,12 +71,13 @@
 
 @node Automatic MIME Preview, mule, mh-folder-mode, Top
 @chapter Inline display for MIME message
+@cindex XEmacs
+@cindex automatic MIME preview
 
-@cindex{automatic MIME preview}@strong{automatic MIME preview} feature
-is available in tm-mh-e.  In automatic MIME preview mode, when reading
-an article in MH-Folder mode (@ref{(mh-e)Reading Mail}), tm-mh-e
-displays preview buffer processed by tm-view (@ref{(tm-view-en)})
-instead of raw show buffer.@refill
+@strong{automatic MIME preview} feature is available in tm-mh-e.  In
+automatic MIME preview mode, when reading an article in MH-Folder mode
+(@ref{(mh-e)Reading Mail}), tm-mh-e displays preview buffer processed by
+tm-view (@ref{(tm-view-en)}) instead of raw show buffer.@refill
 
 Therefore if an article is encoded by Base64 (@ref{(tm-en)Base64}) or
 Quoted-Printable (@ref{(tm-en)Quoted-Printable}), a decoded article is
@@ -85,8 +86,8 @@
 multipart (@ref{(tm-en)multipart}) article is dealt with
 correctly.@refill
 
-In addition, in @cindex{XEmacs}@strong{XEmacs}, images are displayed in
-preview buffer as same as text.@refill
+In addition, in @strong{XEmacs}, images are displayed in preview buffer
+as same as text.@refill
 
 Different from using metamail, speaker does not roar just then read an
 article includes audio content, video player does not play just then
--- a/man/tm/tm-mh-e-ja.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-mh-e-ja.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 <!doctype sinfo system>
-<!-- $Id: tm-mh-e-ja.sgml,v 1.1 1996/12/22 00:09:34 steve Exp $ -->
+<!-- $Id: tm-mh-e-ja.sgml,v 1.2 1996/12/29 00:15:32 steve Exp $ -->
 <head>
 <title>tm-mh-e 7.71 $B@bL@=q!JF|K\8lHG!K(B
 <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail>
--- a/man/tm/tm-mh-e-ja.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-mh-e-ja.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -28,10 +28,11 @@
 
 @node Introduction, mh-folder-mode, Top, Top
 @chapter tm-mh-e $B$C$F2?!)(B
+@cindex tm-mh-e
 
-@cindex{tm-mh-e}@strong{tm-mh-e} $B$O(B tm (@ref{(tm-ja)tm-kernel}) $B$r;H$C$F(B 
-mh-e (@ref{(mh-e)}) $B$N(B MIME (@ref{(tm-ja)MIME}) $B5!G=$r6/2=$9$k$?$a$N(B 
-package $B$G$9!#(B@refill
+@strong{tm-mh-e} $B$O(B tm (@ref{(tm-ja)tm-kernel}) $B$r;H$C$F(B mh-e
+(@ref{(mh-e)}) $B$N(B MIME (@ref{(tm-ja)MIME}) $B5!G=$r6/2=$9$k$?$a$N(B package 
+$B$G$9!#(B@refill
 
 tm-mh-e $B$K$h$C$F6/2=$5$l$k5!G=$O<!$NDL$j$G$9!'(B
 
@@ -73,12 +74,13 @@
 
 @node Automatic MIME Preview, mule, mh-folder-mode, Top
 @chapter MIME message $B$N(B inline $BI=<((B
+@cindex XEmacs
+@cindex automatic MIME preview
 
-tm-mh-e $B$G$O(B @cindex{automatic MIME preview}@strong{automatic MIME
-preview} $B5!G=$rMxMQ$9$k$3$H$,$G$-$^$9!#$3$N5!G=$r;H$&$H(B MH-Folder mode
-(@ref{(mh-e)Reading Mail}) $B$G5-;v$rFI$`;~!"DL>oI=<($5$l$k(B show buffer $B$N(B
-$BBe$o$j$K(B tm-view (@ref{(tm-view-ja)}) $B$G=hM}$5$l$?(B preview buffer $B$rI=<((B
-$B$7$^$9!#(B@refill
+tm-mh-e $B$G$O(B @strong{automatic MIME preview} $B5!G=$rMxMQ$9$k$3$H$,$G$-$^(B
+$B$9!#$3$N5!G=$r;H$&$H(B MH-Folder mode (@ref{(mh-e)Reading Mail}) $B$G5-;v$r(B
+$BFI$`;~!"DL>oI=<($5$l$k(B show buffer $B$NBe$o$j$K(B tm-view
+(@ref{(tm-view-ja)}) $B$G=hM}$5$l$?(B preview buffer $B$rI=<($7$^$9!#(B@refill
 
 
 $B$3$N$?$a!"(BQuoted-Printable (@ref{(tm-ja)Quoted-Printable}) $B$d(B Base64
@@ -87,8 +89,8 @@
 $B$J=qBN$dAHHG$K4X$9$k>pJs$r;}$C$?5-;v$r@07A$7$FI=<($G$-$^$9!#EvA3$N$3$H$J(B
 $B$,$i!"(Bmultipart (@ref{(tm-ja)multipart}) $B$N5-;v$b@5$7$/=hM}$G$-$^$9!#(B
 
-$B$^$?!"(B@cindex{XEmacs}@strong{XEmacs} $B$G$O(B text $B$HF1MM$K3($b(B preview
-buffer $BFb$GI=<($9$k$3$H$,$G$-$^$9!#(B@refill
+$B$^$?!"(B@strong{XEmacs} $B$G$O(B text $B$HF1MM$K3($b(B preview buffer $BFb$GI=<($9$k(B
+$B$3$H$,$G$-$^$9!#(B@refill
 
 metamail $B$r;H$C$?>l9g$H0[$J$j!"2;$NF~$C$?5-;v$rFI$s$@$H$?$s!"$$$-$J$j!"(B
 $B2;$,LD$j=P$7$?$j!"(Bvideo $B$NF~$C$?5-;v$rFI$`$?$S$K(B video $B$,:F@8$5$l$?$j!"(B
@@ -112,8 +114,7 @@
 @chapter $B9q:]2=(B
 
 MULE (@ref{(tm-ja)mule}), XEmacs/mule, $B$*$h$S!"(Bmule $BE}9gHG(B Emacs (*1) $B$J(B
-$B$I$N(B mule $B5!G=$r;}$C$?(B emacs $B$G$O(B MIME charset (@ref{(tm-ja)MIME
-charset}) $B$*$h$S!"Hs(B MIME message/part $B$KBP$9$k(B newsgroup $BKh$K;XDj$5$l$?(B 
+$B$I$N(B mule $B5!G=$r;}$C$?(B emacs $B$G$O(B MIME charset (@ref{(tm-ja)MIME charset}) $B$*$h$S!"Hs(B MIME message/part $B$KBP$9$k(B newsgroup $BKh$K;XDj$5$l$?(B 
 @code{default-mime-charset} $B$G$N(B code $BJQ49$,9T$o$l$^$9!#(B
 
 @noindent
--- a/man/tm/tm-view-en.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-view-en.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,9 +1,9 @@
 <!doctype sinfo system>
-<!-- $Id: tm-view-en.sgml,v 1.1 1996/12/22 00:09:35 steve Exp $ -->
+<!-- $Id: tm-view-en.sgml,v 1.2 1996/12/29 00:15:32 steve Exp $ -->
 <head>
-<title>tm-view 7.77 Reference Manual (English Version)
+<title>tm-view 7.79 Reference Manual (English Version)
 <author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
-<date>1996/10/11
+<date>1996/12/25
 
 <toc>
 </head>
@@ -974,6 +974,25 @@
 </defun>
 
 
+<h1> Acknowledgments
+<node> Acknowledgments
+<p>
+First of all, I thank MASUTANI Yasuhiro.  He requested me a lot of
+important features and gave me a lot of suggestions when tm-view was
+born.  tm-view is based on his influence.
+<p>
+I thank ENAMI Tsugutomo for work of <file>mime.el</file>, which is an
+origin of <file>tm-ew-d.el</file> and <file>mel-b.el</file>, and
+permission to rewrite for tm.
+<p>
+I thank OKABE Yasuo for work of internal method for LaTeX and
+automatic assembling method for message/partial.  I thank UENO
+Hiroshi for work of internal method for tar archive.
+<p>
+Last of all, I thank members of two tm mailing lists, Japanese and
+English version.
+
+
 <h1> Concept Index
 <node> Concept Index
 
--- a/man/tm/tm-view-en.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-view-en.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,13 +1,13 @@
 \input texinfo.tex
 @setfilename tm-view-en.info
-@settitle{tm-view 7.77 Reference Manual (English Version)}
+@settitle{tm-view 7.79 Reference Manual (English Version)}
 @titlepage
-@title tm-view 7.77 Reference Manual (English Version)
+@title tm-view 7.79 Reference Manual (English Version)
 @author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
-@subtitle 1996/10/11
+@subtitle 1996/12/25
 @end titlepage
 @node Top, Introduction, (dir), (dir)
-@top tm-view 7.77 Reference Manual (English Version)
+@top tm-view 7.79 Reference Manual (English Version)
 
 @ifinfo
 
@@ -21,6 +21,7 @@
 * method::                      Mechanism of decoding
 * Two buffers for an article::  raw-article-buffer and preview-buffer
 * API::                         Functions to decode MIME message
+* Acknowledgments::             
 * Concept Index::               
 * Function Index::              
 * Variable Index::              
@@ -28,6 +29,8 @@
 
 @node Introduction, MIME display, Top, Top
 @chapter What is tm-view?
+@cindex filter
+@cindex method
 
 The tm-view is a general MIME viewer running on GNU Emacs.@refill
 
@@ -37,12 +40,10 @@
 
 tm-view is a user interface kernel to view and navigate MIME message.
 tm-view drives some programs to navigate each content-type
-(@ref{(tm-en)content-type})s, they are called
-@cindex{method}@strong{method} (@ref{method}).  tm-view calls some
-programs to display each contents and headers in preview buffer, they
-are called @cindex{filter}@strong{filter} (@ref{Two buffers for an
-article}).  Method and filters are tm-view application program.  They
-expand tm-view to treat various kinds of MIME types.
+(@ref{(tm-en)content-type})s, they are called @strong{method}
+(@ref{method}).  tm-view calls some programs to display each contents
+and headers in preview buffer, they are called @strong{filter} (@ref{Two buffers for an article}).  Method and filters are tm-view application
+program.  They expand tm-view to treat various kinds of MIME types.
 
 
 @node MIME display, mime/viewer-mode, Introduction, Top
@@ -123,6 +124,7 @@
 
 @node content-button, content-header, MIME display, MIME display
 @section content-button
+@cindex content-number
 
 content-subject displays abstract for the part.  It is placed in top of
 the part.@refill
@@ -135,8 +137,8 @@
 
 
 First number field represents position of a content in the part.  It is
-called @cindex{content-number}@strong{content-number}.  It can be
-considered as the chapter number in the message.@refill
+called @strong{content-number}.  It can be considered as the chapter
+number in the message.@refill
 
 Second string part represents title.  It is created by following:
 
@@ -189,6 +191,7 @@
 
 @node content-header, content-body, content-button, MIME display
 @section content-header
+@cindex content-header-filter
 
 A content header displays the header portion of a part in the
 preview-buffer.  However it is annoying to display header for every
@@ -210,9 +213,8 @@
 @code{mime-viewer/childrens-header-showing-Content-Type-list}.@refill
 
 When content-header is displayed, content-header are formated by the
-program called by
-@cindex{content-header-filter}@strong{content-header-filter}.
-Content-header-filter is searched from variable
+program called by @strong{content-header-filter}.  Content-header-filter
+is searched from variable
 @code{mime-viewer/content-header-filter-alist}.  Its key is major-mode
 of the raw-article-buffer (@ref{raw-article-buffer}).  If not found,
 function @code{mime-viewer/default-content-header-filter} is
@@ -275,9 +277,10 @@
 
 @node content-body, content-separator, content-header, MIME display
 @section content-body
+@cindex content-filter
+@cindex content-body
 
-@cindex{content-body}@strong{content-body} represents content of the
-part.@refill
+@strong{content-body} represents content of the part.@refill
 
 tm-view does not display raw content body.  For example, if a content
 has binary, it is hidden.  If a content has text/enriched, it is
@@ -290,10 +293,9 @@
 @code{mime-viewer/default-showing-Content-Type-list}.@refill
 
 When content-body of a content is displayed, content-body is formated by
-@cindex{content-filter}@strong{content-filter}.  Content-filter is
-searched from variable @code{mime-viewer/content-filter-alist}.  At this
-time, major-mode of the raw-article-buffer (@ref{raw-article-buffer}) is
-used as the key.
+@strong{content-filter}.  Content-filter is searched from variable
+@code{mime-viewer/content-filter-alist}.  At this time, major-mode of
+the raw-article-buffer (@ref{raw-article-buffer}) is used as the key.
 
 If it is not found, function
 @code{mime-viewer/default-content-filter} is called.
@@ -338,9 +340,10 @@
 
 @node content-separator,  , content-body, MIME display
 @section content-separator
+@cindex content-separator
 
-@cindex{content-separator}@strong{content-separator} is displayed to
-represent boundary of contents.@refill
+@strong{content-separator} is displayed to represent boundary of
+contents.@refill
 
 Content-separator is displayed by function
 @code{mime-viewer/default-content-separator}.  In default, it displays
@@ -435,22 +438,25 @@
 
 @node method, Two buffers for an article, mime/viewer-mode, Top
 @chapter Mechanism of decoding
+@cindex external method
+@cindex internal method
+@cindex method
+@cindex decoding-mode
+@cindex decoding operation(s) (for a part)
 
 In @code{mime/viewer-mode}, you can do play (@kbd{v}), extract
 (@kbd{e}), or print (@kbd{C-c C-p}) for each parts.  These operations
-are called @cindex{decoding operation(s) (for a part)}@strong{decoding
-operation(s) (for a part)}.  And kind of decoding operations are called
-@cindex{decoding-mode}@strong{decoding-mode}.@refill
+are called @strong{decoding operation(s) (for a part)}.  And kind of
+decoding operations are called @strong{decoding-mode}.@refill
 
 When decoding operation is driven, tm-view calls a procedure matched for
 the condition, such as content-type (@ref{(tm-en)content-type}) of the
 part or its environment.  This procedure is called
-@cindex{method}@strong{method}.@refill
+@strong{method}.@refill
 
 There are two kinds of methods.  One is Emacs Lisp function, called
-@cindex{internal method}@strong{internal method}.  Another one is
-external program, called @cindex{external method}@strong{external
-method}.@refill
+@strong{internal method}.  Another one is external program, called
+@strong{external method}.@refill
 
 Internal method operates in Emacs, so it can do carefully.@refill
 
@@ -716,14 +722,17 @@
 
 @node Two buffers for an article, API, method, Top
 @chapter raw-article-buffer and preview-buffer
+@cindex filter
+@cindex content-filter
+@cindex header-filter
+@cindex preview-buffer
+@cindex raw-article-buffer
 
 tm-view managements two buffers, one is for raw message called
-@cindex{raw-article-buffer}@strong{raw-article-buffer}, another one is
-to preview for user called
-@cindex{preview-buffer}@strong{preview-buffer}.  major-mode of
-raw-article-buffer is same as major-mode for article of original MUA,
-major-mode of preview-buffer is @code{mime/viewer-mode}
-(@ref{mime/viewer-mode}).@refill
+@strong{raw-article-buffer}, another one is to preview for user called
+@strong{preview-buffer}.  major-mode of raw-article-buffer is same as
+major-mode for article of original MUA, major-mode of preview-buffer is
+@code{mime/viewer-mode} (@ref{mime/viewer-mode}).@refill
 
 When called @code{mime/viewer-mode}, tm-view analyzes
 raw-article-buffer, and sets its result to the variable
@@ -732,10 +741,9 @@
 After that, tm-view create a preview-buffer corresponded to the
 raw-article-buffer.  As this time, tm-view modifies header and body of
 each parts of the message by specified conditions.  Filter program for
-header is called @cindex{header-filter}@strong{header-filter}
-(@ref{content-header}), filter program for body is called
-@cindex{content-filter}@strong{content-filter} (@ref{content-body}), and
-they are called @cindex{filter}@strong{filter}.@refill
+header is called @strong{header-filter} (@ref{content-header}), filter
+program for body is called @strong{content-filter} (@ref{content-body}),
+and they are called @strong{filter}.@refill
 
 When preview-buffer is made, buffer local variable of preview-buffer
 @code{mime::preview/content-list} is made to register structure of
@@ -759,11 +767,12 @@
 
 @node raw-article-buffer, preview-buffer, Two buffers for an article, Two buffers for an article
 @section buffer local variables of raw-article-buffer
+@cindex content-info
 
 @deffn{Structure} mime::content-info rcnum point-min point-max type parameters encoding children
 
 structure to represent MIME content in raw-article-buffer.  It is called
-by @cindex{content-info}@strong{content-info}.@refill
+by @strong{content-info}.@refill
 
 Please use reference function @code{mime::content-info/SLOT-NAME} to
 reference slot of content-info.  Their argument is only
@@ -856,6 +865,7 @@
 
 @node preview-buffer,  , raw-article-buffer, Two buffers for an article
 @section Buffer local variables of preview-buffer
+@cindex preview-content-info
 
 @defvar mime::preview/mother-buffer
 
@@ -866,7 +876,7 @@
 @deffn{Structure} mime::preview-content-info point-min point-max buffer content-info
 
 structure to represent MIME content in preview-buffer.  It is called by
-@cindex{preview-content-info}@strong{preview-content-info}.@refill
+@strong{preview-content-info}.@refill
 
 Please use reference function
 @code{mime::preview-content-info/SLOT-NAME} to reference slot of
@@ -932,7 +942,7 @@
 
 
 
-@node API, Concept Index, Two buffers for an article, Top
+@node API, Acknowledgments, Two buffers for an article, Top
 @chapter Functions to decode MIME message
 
 tm-view provides some available functions to decode and navigate MIME
@@ -1028,7 +1038,26 @@
 
 
 
-@node Concept Index, Function Index, API, Top
+@node Acknowledgments, Concept Index, API, Top
+@chapter Acknowledgments
+
+First of all, I thank MASUTANI Yasuhiro.  He requested me a lot of
+important features and gave me a lot of suggestions when tm-view was
+born.  tm-view is based on his influence.@refill
+
+I thank ENAMI Tsugutomo for work of @file{mime.el}, which is an origin
+of @file{tm-ew-d.el} and @file{mel-b.el}, and permission to rewrite for
+tm.@refill
+
+I thank OKABE Yasuo for work of internal method for LaTeX and automatic
+assembling method for message/partial.  I thank UENO Hiroshi for work of
+internal method for tar archive.@refill
+
+Last of all, I thank members of two tm mailing lists, Japanese and
+English version.
+
+
+@node Concept Index, Function Index, Acknowledgments, Top
 @chapter Concept Index
 
 @printindex cp
--- a/man/tm/tm-view-ja.sgml	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-view-ja.sgml	Mon Aug 13 08:47:52 2007 +0200
@@ -1,9 +1,9 @@
 <!doctype sinfo system>
-<!-- $Id: tm-view-ja.sgml,v 1.1 1996/12/22 00:09:35 steve Exp $ -->
+<!-- $Id: tm-view-ja.sgml,v 1.2 1996/12/29 00:15:33 steve Exp $ -->
 <head>
-<title>tm-view 7.77 Reference Manual$B!JF|K\8lHG!K(B
+<title>tm-view 7.79 Reference Manual$B!JF|K\8lHG!K(B
 <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail>
-<date>1996/10/11
+<date>1996/12/25
 
 <toc>
 </head>
@@ -943,6 +943,24 @@
 </defun>
 
 
+<h1> $B<U<-(B
+<node> Acknowledgments
+<p>
+$B:G=i$K!";d$,(B tm-view $B$r:G=i$K:n$C$?;~$K!"87$7$$CmJ8$HM-1W$J=u8@$r2<$5(B
+$B$j!"$=$N@_7W$KB?Bg$JM?$($i$l$?>#C+J]Gn$5$s$K46<U$7$^$9!#(B
+<p>
+$B<!$K!"(B<file>tm-ew-d.el</file> $B$H(B <file>mel-b.el</file> $B$NA0?H$KEv$?$k(B
+<file>mime.el</file> $B$r=q$-!"$=$NG[I[$H2~B$$r$*5v$72<$5$C$?1]JB;LCR$5(B
+$B$s$K46<U$7$^$9!#(B
+<p>
+$B$^$?!"(BLaTeX $BMQ$NFbIt(B method $B$H(B message/partial $BMQ$N<+F07k9g(B method $B$r(B
+$BDs6!$7$F2<$5$C$?2,It<wCK$5$s!"(Btar archive $BMQ$NFbIt(B method $B$rDs6!$7$F2<(B
+$B$5$C$?>eLnGn$5$s$K46<U$7$^$9!#(B
+<p>
+$B:G8e$K!"(Bbeta test $B$K6(NO$7$F2<$5$C$?F|K\8lHG!"1Q8lHGAPJ}$N(B tm mailing
+list $B$N(B member $B$K46<U$7$^$9!#(B
+
+
 <h1> $B35G0:w0z(B
 <node> Concept Index
 
--- a/man/tm/tm-view-ja.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/tm/tm-view-ja.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,13 +1,13 @@
 \input texinfo.tex
 @setfilename tm-view-ja.info
-@settitle{tm-view 7.77 Reference Manual$B!JF|K\8lHG!K(B}
+@settitle{tm-view 7.79 Reference Manual$B!JF|K\8lHG!K(B}
 @titlepage
-@title tm-view 7.77 Reference Manual$B!JF|K\8lHG!K(B
+@title tm-view 7.79 Reference Manual$B!JF|K\8lHG!K(B
 @author $B<i2,(B $BCNI'(B <morioka@@jaist.ac.jp>
-@subtitle 1996/10/11
+@subtitle 1996/12/25
 @end titlepage
 @node Top, Introduction, (dir), (dir)
-@top tm-view 7.77 Reference Manual$B!JF|K\8lHG!K(B
+@top tm-view 7.79 Reference Manual$B!JF|K\8lHG!K(B
 
 @ifinfo
 
@@ -23,6 +23,7 @@
 * method::                      $B:F@8=hM}$N<B8=(B
 * Two buffers for an article::  raw-article-buffer $B$H(B preview-buffer
 * API::                         MIME message $B$N(B decode $B$K4X$9$k4X?t(B
+* Acknowledgments::             $B<U<-(B
 * Concept Index::               $B35G0:w0z(B
 * Function Index::              $B4X?t:w0z(B
 * Variable Index::              $BJQ?t:w0z(B
@@ -30,6 +31,8 @@
 
 @node Introduction, MIME display, Top, Top
 @chapter tm-view $B$C$F2?!)(B
+@cindex filter
+@cindex method
 
 tm-view $B$O(B GNU Emacs $B$GF0:n$9$kHFMQE*$J(B MIME viewer $B$G$9!#(B@refill
 
@@ -40,12 +43,10 @@
 
 tm-view $B$O(B MIME message $B$r1\Mw$9$k$?$a$N(B user interface $B$N3K$G$"$j!"$=$N(B
 $B>e$G3F(B content-type (@ref{(tm-ja)content-type}) $B$r07$&$?$a$N(B 
-@cindex{method}@strong{method} (@ref{method}) $B$H8F$P$l$k%W%m%0%i%`$rF0:n(B
-$B$5$;$^$9!#$^$?!"(BMIME message $B$NI=<($N;EJ}$r7h$a$k(B 
-@cindex{filter}@strong{filter} (@ref{Two buffers for an article}) $B$H8F$P(B
-$B$l$k%W%m%0%i%`$r5/F0;~$K8F$S=P$7$^$9!#(Bmethod $B$H(B filter $B$r(B tm-view $B$KAH$_(B
-$B9~$`;v$K$h$C$F!"(B@code{mime/viewer-mode} $B$G$5$^$6$^$J(B MIME content-type 
-$B$r07$&;v$,$G$-$^$9!#(B
+@strong{method} (@ref{method}) $B$H8F$P$l$k%W%m%0%i%`$rF0:n$5$;$^$9!#$^$?!"(B
+MIME message $B$NI=<($N;EJ}$r7h$a$k(B @strong{filter} (@ref{Two buffers for an article}) $B$H8F$P$l$k%W%m%0%i%`$r5/F0;~$K8F$S=P$7$^$9!#(Bmethod $B$H(B 
+filter $B$r(B tm-view $B$KAH$_9~$`;v$K$h$C$F!"(B@code{mime/viewer-mode} $B$G$5$^$6(B
+$B$^$J(B MIME content-type $B$r07$&;v$,$G$-$^$9!#(B
 
 
 @node MIME display, mime/viewer-mode, Introduction, Top
@@ -127,9 +128,11 @@
 
 @node content-button, content-header, MIME display, MIME display
 @section content-button
+@cindex content-number
+@cindex content-button
 
-@cindex{content-button}@strong{content-button} $B$O(B part $B$N@hF,$K$"$C$F!"(B
-$B$=$N(B part $B$K4X$9$kBg$^$+$J>pJs$rI=<($9$kItJ,$G$9!#(B@refill
+@strong{content-button} $B$O(B part $B$N@hF,$K$"$C$F!"$=$N(B part $B$K4X$9$kBg$^$+(B
+$B$J>pJs$rI=<($9$kItJ,$G$9!#(B@refill
 
 $BI8=`$G$O(B
 
@@ -141,7 +144,7 @@
 $B$N$h$&$J46$8$KI=<($5$l$^$9!#(B
 
 $B:G=i$N?t;z$O(B message $BCf$N$3$N(B part $B$N0LCV$r@aHV9f$N$h$&$KI=$7$?$b$N$G!"(B
-@cindex{content-number}@strong{content-number} $B$H8F$S$^$9!#(B@refill
+@strong{content-number} $B$H8F$S$^$9!#(B@refill
 
 $B#2HVL\$NJ8;zNs$OI=Bj$rI=$7$^$9!#$3$N>pJs$O!"(B
 
@@ -190,11 +193,12 @@
 
 @node content-header, content-body, content-button, MIME display
 @section content-header
+@cindex content-header-filter
+@cindex content-header
 
-@cindex{content-header}@strong{content-header} $B$O$"$k(B part $B$N(B header $B$r(B
-$BI=<($9$kItJ,$G$9!#$7$+$7!"A4$F$N(B part $B$N(B content-header $B$rI=<($9$k$N$O]5(B
-$BF+$7$$$N$G!"0J2<$N$h$&$J(B mechanism $B$K$h$C$FI=<($9$k$+$7$J$$$+$r7h$a$F$$(B
-$B$^$9!#(B@refill
+@strong{content-header} $B$O$"$k(B part $B$N(B header $B$rI=<($9$kItJ,$G$9!#$7$+$7!"(B
+$BA4$F$N(B part $B$N(B content-header $B$rI=<($9$k$N$O]5F+$7$$$N$G!"0J2<$N$h$&$J(B 
+mechanism $B$K$h$C$FI=<($9$k$+$7$J$$$+$r7h$a$F$$$^$9!#(B@refill
 
 $B$"$k(B part $B$N(B reversed-content-number $B$r4X?t(B 
 @code{mime-viewer/header-visible-p} $B$KM?$($?;~$NJV$jCM$,(B @code{t} $B$K$J$k(B
@@ -211,11 +215,11 @@
 $B$$!#(B@refill
 
 content-header $B$,I=<($5$l$k>l9g!"(Bcontent-header $B$O(B 
-@cindex{content-header-filter}@strong{content-header-filter} $B$H8F$P$l$k(B 
-program $B$K$h$C$F@07A$5$l$^$9!#(Bcontent-header-filter $B$O(B 
-raw-article-buffer (@ref{raw-article-buffer}) $B$N(B major-mode $B$r(B key $B$H$7(B
-$B$FJQ?t(B @code{mime-viewer/content-header-filter-alist} $B$+$iC5$5$l$^$9!#$b(B
-$B$7!"(Bcontent-header-filter $B$,8+$D$+$i$J$+$C$?>l9g!"4X?t(B
+@strong{content-header-filter} $B$H8F$P$l$k(B program $B$K$h$C$F@07A$5$l$^$9!#(B
+content-header-filter $B$O(B raw-article-buffer (@ref{raw-article-buffer}) 
+$B$N(B major-mode $B$r(B key $B$H$7$FJQ?t(B 
+@code{mime-viewer/content-header-filter-alist} $B$+$iC5$5$l$^$9!#$b$7!"(B
+content-header-filter $B$,8+$D$+$i$J$+$C$?>l9g!"4X?t(B
 @code{mime-viewer/default-content-header-filter} $B$,8F$P$l$^$9!#(B@refill
 
 
@@ -274,9 +278,10 @@
 
 @node content-body, content-separator, content-header, MIME display
 @section content-body
+@cindex content-filter
+@cindex content-body
 
-@cindex{content-body}@strong{content-body} $B$O(B part $B$NFbMF$rI=<($9$kItJ,(B
-$B$G$9!#(B@refill
+@strong{content-body} $B$O(B part $B$NFbMF$rI=<($9$kItJ,$G$9!#(B@refill
 
 $BA4$F$N(B part $B$NFbMF$rI=<($G$-$k$H$O8B$i$J$$$7!"$^$?!"I=<($7$?$/$J$$(B part 
 $B$bB8:_$9$k$N$G!"0J2<$N$h$&$JJ}K!$GI=<($9$k$+$7$J$$$+$r7h$a$F$$$^$9!#(B
@@ -289,12 +294,12 @@
 $B$KI=<($5$l$^$9!#(B@refill
 
 $B$"$k(B part $B$N(B content-body $B$,I=<($5$l$k;~!"(Bpreview buffer $B$K$O(B part $B$NFb(B
-$BMF$r(B @cindex{content-filter}@strong{content-filter} $B$H8F$P$l$k(B program 
-$B$K$h$C$F@07A$5$l$?$b$N$,I=<($5$l$^$9!#8F$P$l$k(B content-filter $B$O(B 
-raw-article-buffer (@ref{raw-article-buffer}) $B$N(B major-mode $B$r(B key $B$H$7(B
-$B$FJQ?t(B @code{mime-viewer/content-filter-alist} $B$+$iC5$5$l$^$9!#$b$7!"$3(B
-$B$NJQ?t$KEPO?$5$l$F$$$J$+$C$?>l9g!"4X?t(B 
-@code{mime-viewer/default-content-filter} $B$,8F$P$l$^$9!#(B
+$BMF$r(B @strong{content-filter} $B$H8F$P$l$k(B program $B$K$h$C$F@07A$5$l$?$b$N$,(B
+$BI=<($5$l$^$9!#8F$P$l$k(B content-filter $B$O(B raw-article-buffer
+(@ref{raw-article-buffer}) $B$N(B major-mode $B$r(B key $B$H$7$FJQ?t(B 
+@code{mime-viewer/content-filter-alist} $B$+$iC5$5$l$^$9!#$b$7!"$3$NJQ?t$K(B
+$BEPO?$5$l$F$$$J$+$C$?>l9g!"4X?t(B @code{mime-viewer/default-content-filter} 
+$B$,8F$P$l$^$9!#(B
 
 
 @defvar mime-viewer/default-showing-Content-Type-list
@@ -335,9 +340,10 @@
 
 @node content-separator,  , content-body, MIME display
 @section content-separator
+@cindex content-separator
 
-@cindex{content-separator}@strong{content-separator} $B$O(B part $B$N0lHV:G8e(B
-$B$K(B part $B4V$N6-L\$rL@$i$+$K$9$k$?$a$KI=<($5$l$^$9!#(B@refill
+@strong{content-separator} $B$O(B part $B$N0lHV:G8e$K(B part $B4V$N6-L\$rL@$i$+$K(B
+$B$9$k$?$a$KI=<($5$l$^$9!#(B@refill
 
 content-separator $B$O4X?t(B @code{mime-viewer/default-content-separator}$B$K(B
 $B$h$C$FI=<($5$l$^$9!#I8=`$G$O!"(Bcontent-header $B$b(B content-body $B$bI=<($5$l(B
@@ -431,20 +437,24 @@
 
 @node method, Two buffers for an article, mime/viewer-mode, Top
 @chapter $B:F@8=hM}$N<B8=(B
+@cindex $B30It(B method
+@cindex $BFbIt(B method
+@cindex method
+@cindex decoding-mode
 
 @code{mime/viewer-mode} $B$G$O!"3F(B part $B$KBP$7$F!"(Bplay (@kbd{v}), extract
 (@kbd{e}), print (@kbd{C-c C-p}) $B$H$$$&A`:n$r9T$J$&$3$H$,$G$-$^$9!#$3$&(B
 $B$7$?A`:n$N$3$H$r!X!J(Bpart $B$KBP$9$k!K(Bdecode $BA`:n!Y$H8F$V$3$H$K$7$^$9!#$^$?!"(B
 play, extract, print $B$H$$$&(B decode $BA`:n$N<oN`$N$3$H$r(B 
-@cindex{decoding-mode}@strong{decoding-mode} $B$H8F$V$3$H$K$7$^$9!#(B@refill
+@strong{decoding-mode} $B$H8F$V$3$H$K$7$^$9!#(B@refill
 
 decode $BA`:n$,9T$J$o$l$?;~!"$=$N(B part $B$N(B content-type
 (@ref{(tm-ja)content-type}) $B$J$I$N>r7o$d$=$N>l$N4D6-$K1~$8$F<B:]$K$=$NA`(B
-$B:n$r<B9T$9$k<jB3$-$,8F$P$l$^$9!#$3$N<jB3$-$N$3$H$r(B 
-@cindex{method}@strong{method} $B$H8F$S$^$9!#(B@refill
+$B:n$r<B9T$9$k<jB3$-$,8F$P$l$^$9!#$3$N<jB3$-$N$3$H$r(B @strong{method} $B$H8F(B
+$B$S$^$9!#(B@refill
 
-method $B$K$O!"(BEmacs Lisp $B$G=q$+$l$?(B @cindex{$BFbIt(B method}@strong{$BFbIt(B method} $B$H!"(B
-$B30It(B program $B$G<B8=$5$l$?(B @cindex{$B30It(B method}@strong{$B30It(B method} $B$,$"$j$^$9!#(B
+method $B$K$O!"(BEmacs Lisp $B$G=q$+$l$?(B @strong{$BFbIt(B method} $B$H!"(B
+$B30It(B program $B$G<B8=$5$l$?(B @strong{$B30It(B method} $B$,$"$j$^$9!#(B
 $BFbIt(B method $B$O(B Emacs $B$N5!G=$r;H$C$F$-$a:Y$+$$=hM}$r9T$J$&$3$H$,$G$-$^(B
 $B$9!#30It(B method $B$OHsF14|%W%m%;%98F$S=P$7$r;H$C$F<B8=$5$l$F$$$k$N$G!"<B(B
 $B9TCfBT$?$5$l$:$K$9$_$^$9!#$3$N$?$a!"@E;_2h$dF02h$J$I$N5pBg$J(B data $B$r:F(B
@@ -702,13 +712,17 @@
 
 @node Two buffers for an article, API, method, Top
 @chapter raw-article-buffer $B$H(B preview-buffer
+@cindex filter
+@cindex content-filter
+@cindex header-filter
+@cindex preview-buffer
+@cindex raw-article-buffer
 
 tm-view $B$O!"(BMIME $B=hM}$r9T$J$&A0$N@8$N(B message $B$,F~$C$F$$$k(B 
-@cindex{raw-article-buffer}@strong{raw-article-buffer} $B$H$=$NFbMF$r(B user 
-$B$K4J7i$KI=<($7!"(Buser $B$,A`:n$9$k$?$a$N(B 
-@cindex{preview-buffer}@strong{preview-buffer} $B$H$$$&#2$D$N(B buffer $B$r4I(B
-$BM}$7$^$9!#(Braw-article-buffer $B$N(B major-mode $B$O$b$H$b$H$N(B MUA $B$N(B article 
-$BI=<(MQ$N(B major-mode $B$G$"$j!"(Bpreview-buffer $B$N(B major-mode $B$O(B 
+@strong{raw-article-buffer} $B$H$=$NFbMF$r(B user $B$K4J7i$KI=<($7!"(Buser $B$,A`(B
+$B:n$9$k$?$a$N(B @strong{preview-buffer} $B$H$$$&#2$D$N(B buffer $B$r4IM}$7$^$9!#(B
+raw-article-buffer $B$N(B major-mode $B$O$b$H$b$H$N(B MUA $B$N(B article $BI=<(MQ$N(B 
+major-mode $B$G$"$j!"(Bpreview-buffer $B$N(B major-mode $B$O(B 
 @code{mime/viewer-mode} (@ref{mime/viewer-mode}) $B$H$J$j$^$9!#(B@refill
 
 @code{mime/viewer-mode} $B$r<B9T$9$k$H!"(Btm-view $B$O$^$:(B raw-article-buffer 
@@ -718,10 +732,9 @@
 $B<!$K!"$3$N7k2L$r85$K(B raw-article-buffer $B$KBP1~$9$k(B preview-buffer $B$r:n$j(B
 $B$^$9!#$3$N:]!"(Bcontent-type $B$K1~$8$F!"(Bpart $BC10L$G(B header $B$d(B body $B$r2C9)$9(B
 $B$k$3$H$,$G$-$^$9!#$3$N(B header $B$r2C9)$9$k%W%m%0%i%`$r(B 
-@cindex{header-filter}@strong{header-filter} (@ref{content-header}),
-body $B$r2C9)$9$k%W%m%0%i%`$r(B 
-@cindex{content-filter}@strong{content-filter} (@ref{content-body}) $B$H8F(B
-$B$S!"$3$l$i$rAm>N$7$F(B @cindex{filter}@strong{filter} $B$H8F$S$^$9!#(B
+@strong{header-filter} (@ref{content-header}), body $B$r2C9)$9$k%W%m%0%i%`(B
+$B$r(B @strong{content-filter} (@ref{content-body}) $B$H8F$S!"$3$l$i$rAm>N$7$F(B 
+@strong{filter} $B$H8F$S$^$9!#(B@refill
 
 preview-buffer $B$r:n@.$9$k;~$K!"(Bmessage $B$NI=<(>e$N9=B$$r5-O?$7$?(B 
 preview-buffer $B$N(B buffer local $BJQ?t(B @code{mime::preview/content-list} $B$,(B
@@ -745,11 +758,12 @@
 
 @node raw-article-buffer, preview-buffer, Two buffers for an article, Two buffers for an article
 @section raw-article-buffer $B$N(B buffer local $BJQ?t(B
+@cindex content-info
 
 @deffn{Structure} mime::content-info rcnum point-min point-max type parameters encoding children
 
 raw-article-buffer $B$K$*$1$k(B MIME part $B$K4X$9$k>pJs$r3JG<$9$k$?$a$N9=B$BN!#(B
-$BC1$K(B @cindex{content-info}@strong{content-info} $B$H$b8F$V!#(B@refill
+$BC1$K(B @strong{content-info} $B$H$b8F$V!#(B@refill
 
 $B$3$N9=B$BN$r;2>H$9$k$K$O!"(B@code{mime::content-info/$B%9%m%C%HL>(B} $B$H$$$&(B 
 content-info $B$r0z?t$K$H$k4X?t$rMQ$$$k!#(B@refill
@@ -842,6 +856,7 @@
 
 @node preview-buffer,  , raw-article-buffer, Two buffers for an article
 @section preview-buffer $B$N(B buffer local $BJQ?t(B
+@cindex preview-content-info
 
 @defvar mime::preview/mother-buffer
 
@@ -852,8 +867,7 @@
 @deffn{Structure} mime::preview-content-info point-min point-max buffer content-info
 
 preview-buffer $B$K$*$1$k(B MIME content $B$K4X$9$k>pJs$r3JG<$9$k$?$a$N9=B$BN!#(B
-$BC1$K(B @cindex{preview-content-info}@strong{preview-content-info} $B$H$b8F$V!#(B
-@refill
+$BC1$K(B @strong{preview-content-info} $B$H$b8F$V!#(B@refill
 
 $B$3$N9=B$BN$r;2>H$9$k$K$O!"(B@code{mime::content-info/$B%9%m%C%HL>(B} $B$H$$$&(B
 content-info $B$r0z?t$K$H$k4X?t$rMQ$$$k!#(B@refill
@@ -913,7 +927,7 @@
 
 
 
-@node API, Concept Index, Two buffers for an article, Top
+@node API, Acknowledgments, Two buffers for an article, Top
 @chapter MIME message $B$N(B decode $B$K4X$9$k4X?t(B
 
 tm-view $B$NDs6!$9$k4X?t$r3F(B MUA (@ref{(tm-ja)MUA}) $B$KAH$_9~$`;v$K$h$C$F!"(B
@@ -1023,7 +1037,24 @@
 
 
 
-@node Concept Index, Function Index, API, Top
+@node Acknowledgments, Concept Index, API, Top
+@chapter $B<U<-(B
+
+$B:G=i$K!";d$,(B tm-view $B$r:G=i$K:n$C$?;~$K!"87$7$$CmJ8$HM-1W$J=u8@$r2<$5$j!"(B
+$B$=$N@_7W$KB?Bg$JM?$($i$l$?>#C+J]Gn$5$s$K46<U$7$^$9!#(B@refill
+
+$B<!$K!"(B@file{tm-ew-d.el} $B$H(B @file{mel-b.el} $B$NA0?H$KEv$?$k(B@file{mime.el} 
+$B$r=q$-!"$=$NG[I[$H2~B$$r$*5v$72<$5$C$?1]JB;LCR$5$s$K46<U$7$^$9!#(B@refill
+
+$B$^$?!"(BLaTeX $BMQ$NFbIt(B method $B$H(B message/partial $BMQ$N<+F07k9g(B method $B$rDs(B
+$B6!$7$F2<$5$C$?2,It<wCK$5$s!"(Btar archive $BMQ$NFbIt(B method $B$rDs6!$7$F2<$5$C(B
+$B$?>eLnGn$5$s$K46<U$7$^$9!#(B@refill
+
+$B:G8e$K!"(Bbeta test $B$K6(NO$7$F2<$5$C$?F|K\8lHG!"1Q8lHGAPJ}$N(B tm mailing
+list $B$N(B member $B$K46<U$7$^$9!#(B
+
+
+@node Concept Index, Function Index, Acknowledgments, Top
 @chapter $B35G0:w0z(B
 
 @printindex cp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/vhdl-mode.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -0,0 +1,1285 @@
+\input texinfo   @c -*- texinfo -*-
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment %**start of header (This is for running Texinfo on a region)
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@setfilename  vhdl-mode.info
+@settitle     VHDL-MODE Version 2 Documentation
+@footnotestyle end
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment @setchapternewpage odd !! we don't want blank pages !!
+@comment %**end of header (This is for running Texinfo on a region)
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment 
+@comment texinfo manual for @file{vhdl-mode.el} version 2
+@comment manual version: 2.1
+@comment adapted from the cc-mode texinfo manual by Barry A. Warsaw
+@comment <bwarsaw@cnri.reston.va.us>
+@comment 
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment The following line inserts the copyright notice 
+@comment into the Info file.
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@ifinfo
+Copyright @copyright{} 1995 Rodney J. Whitby
+@end ifinfo
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment !!!The titlepage section does not appear in the Info file.!!!
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@titlepage
+@sp 10
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment The title is printed in a large font.
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@center @titlefont{VHDL-MODE Version 2}
+@sp 2
+@center A GNU Emacs mode for editing VHDL code.
+@center (manual revision: 2.1)
+@sp 2
+@center Rod Whitby
+@center @code{rwhitby@@asc.corp.mot.com}
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment  The following two commands start the copyright page
+@comment  for the printed manual.  This will not appear in the Info file.
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1995 Rodney J. Whitby
+@end titlepage
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment The Top node contains the master menu for the Info file.
+@comment This appears only in the Info file, not the printed manual.
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@node    Top,       Introduction, (dir),    (dir)
+@comment node-name, next,          previous, up
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@menu
+* Introduction::                
+* Getting Connected::           
+* New Indentation Engine::
+* Customizing Indentation::
+* Syntactic Symbols::
+* Indentation Commands::
+* Frequently Asked Questions::
+* Getting the latest vhdl-mode release::
+* Sample .emacs File::
+* Requirements::                
+* Limitations and Known Bugs::  
+* Mailing Lists and Submitting Bug Reports::  
+* Concept Index::               
+* Command Index::               Command Index
+* Key Index::                   Key Index
+* Variable Index::              Variable Index
+@end menu
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@node     Introduction, Getting Connected, Top,      Top
+@comment  node-name,    next,            previous, up
+@chapter  Introduction
+@cindex   Introduction
+
+Welcome to @code{vhdl-mode}, version 2.  This is a GNU Emacs mode for
+editing files containing VHDL code.  
+
+This manual will describe the following:
+
+@itemize @bullet
+@item
+How to get started using @code{vhdl-mode}.
+
+@item
+How the new indentation engine works.
+
+@item
+How to customize the new indentation engine.
+
+@end itemize
+
+@findex vhdl-version
+The major version number was incremented to 2 with the addition of the
+new indentation engine. To find the minor revision number of this
+release, use @kbd{M-x vhdl-version RET}.
+
+A special word of thanks goes to Barry Warsaw, who wrote the
+@code{cc-mode} indentation engine that formed the basis of the
+@code{vhdl-mode} indentation engine.  This manual is also based upon the
+manual for @code{cc-mode}.
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@node     Getting Connected, New Indentation Engine, Introduction,      Top
+@comment  node-name,       next,                   previous,          up
+@chapter  Getting Connected
+@cindex   Getting Connected
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@file{vhdl-mode.el} works well with the 3 main branches of Emacs 19:
+XEmacs, Win-Emacs (which has the same heritage as XEmacs) and the Emacs
+19 maintained by the FSF.  FSF's Emacs 19 users will want to use Emacs
+version 19.21 or better, Win-Emacs users will want 1.35 or better, and
+XEmacs users will want 19.6 or better.  Earlier versions of these
+Emacsen have deficiencies and/or bugs which will adversely affect the
+performance and usability of @code{vhdl-mode}.
+
+@cindex .emacs file
+The first thing you will want to do is put @file{vhdl-mode.el} somewhere
+on your @code{load-path} so Emacs can find it.  Do a @kbd{C-h v
+load-path RET} to see all the directories Emacs looks at when loading a
+file.  If none of these directories are appropriate, create a new
+directory and add it to your @code{load-path}:
+
+@noindent
+@emph{[in the shell]}
+@example
+@group
+
+% cd
+% mkdir mylisp
+% mv vhdl-mode.el mylisp
+% cd mylisp
+
+@end group
+@end example
+
+@noindent
+@emph{[in your .emacs file add]}
+@example
+
+(setq load-path (cons "~/mylisp" load-path))
+
+@end example
+
+@cindex byte compile
+Next you want to @dfn{byte compile} @file{vhdl-mode.el}.  The mode uses a
+lot of macros so if you don't byte compile it, things will be unbearably
+slow.  @emph{You can ignore all byte-compiler warnings!}  They are the
+result of the supporting different versions of Emacs, and none of the
+warnings have any effect on operation. Let me say this again:
+@strong{You really can ignore all byte-compiler warnings!}
+
+Here's what to do to byte-compile the file [in emacs]:
+@example
+
+M-x byte-compile-file RET ~/mylisp/vhdl-mode.el RET
+
+@end example
+
+Now add the following autoloads to your @file{.emacs} file so that
+@code{vhdl-mode} gets loaded at the right time:
+@example
+
+(autoload 'vhdl-mode "vhdl-mode" "VHDL Editing Mode" t)
+
+@end example
+
+Alternatively, if you want to make sure @code{vhdl-mode} is loaded when
+Emacs starts up, you could use this line instead of the autoload above:
+@example
+
+(require 'vhdl-mode)
+
+@end example
+
+Next, you will want to set up Emacs so that it edits VHDL files in
+@code{vhdl-mode}. All users should add the following to their
+@file{.emacs} file.  Note that this assumes you'll be editing @code{.vhd}
+and files as VHDL. YMMV:
+@example
+@group
+
+(setq auto-mode-alist
+  (append
+    '(("\\.vhd$" . vhdl-mode)
+     ) auto-mode-alist))
+
+@end group
+@end example
+
+That's all you need -- I know, I know, it sounds like a lot @code{:-)},
+but after you've done all this, you should only need to quit and restart
+Emacs.  The next time you visit a VHDL file you should be using
+@code{vhdl-mode}.  You can check this easily by hitting @kbd{M-x
+vhdl-version RET} in the @code{vhdl-mode} buffer.  You should see this
+message in the echo area:
+@example
+
+Using @code{vhdl-mode} version 2.@var{XXX}
+
+@end example
+
+@noindent
+where @var{XXX} will be some minor revision number.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@node     New Indentation Engine, Indentation Commands, Getting Connected, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  New Indentation Engine
+@cindex   New Indentation Engine
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@code{vhdl-mode} has a new indentation engine, providing a simplified, yet
+flexible and general mechanism for customizing indentation. It breaks
+indentation calculation into two steps. First for the line of code being
+indented, @code{vhdl-mode} analyzes what kind of language construct it's
+looking at, then it applies user defined offsets to the current line
+based on this analysis.
+
+This section will briefly cover how indentation is calculated in
+@code{vhdl-mode}. It is important to understand the indentation model
+being used so that you will know how to customize @code{vhdl-mode} for
+your personal coding style.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@menu
+* Syntactic Analysis::       Step 1 -- Syntactic Analysis
+* Indentation Calculation::  Step 2 -- Indentation Calculation
+@end menu
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Syntactic Analysis, Indentation Calculation, , New Indentation Engine
+@comment  node-name,              next,                    previous,up
+@section  Syntactic Analysis
+@cindex   Syntactic Analysis
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-offsets-alist
+@vindex offsets-alist (vhdl-)
+@cindex relative buffer position
+@cindex syntactic symbol
+@cindex syntactic component
+@cindex syntactic component list
+@cindex relative buffer position
+The first thing @code{vhdl-mode} does when indenting a line of code, is
+to analyze the line, determining the @dfn{syntactic component list} of
+the construct on that line.  A @dfn{syntactic component} consists of a
+pair of information (in lisp parlance, a @emph{cons cell}), where the
+first part is a @dfn{syntactic symbol}, and the second part is a
+@dfn{relative buffer position}.  Syntactic symbols describe elements of
+VHDL code, e.g. @code{statement}, @code{comment}, @code{block-open},
+@code{block-close}, etc.  @xref{Syntactic Symbols}, for a complete list
+of currently recognized syntactic symbols and their semantics.  Also,
+the variable @code{vhdl-offsets-alist} contains the list of currently
+supported syntactic symbols.
+
+Conceptually, a line of VHDL code is always indented relative to the
+indentation of some line higher up in the buffer.  This is represented
+by the relative buffer position in the syntactic component.
+
+It might help to see an example. Suppose we had the following code as
+the only thing in a @code{vhdl-mode} buffer @footnote{The line numbers
+in this and future examples don't actually appear in the buffer.}:
+@example
+@group
+
+  1: inverter : process
+  2: begin
+  3:   q <= not d;
+  4:   wait on d;
+  5: end inverter;
+
+@end group
+@end example
+
+@kindex C-c C-s
+@findex vhdl-show-syntactic-information
+@findex show-syntactic-information (vhdl-)
+We can use the command @kbd{C-c C-s}
+(@code{vhdl-show-syntactic-information}) to simply report what the
+syntactic analysis is for the current line.  Running this command on
+line 4 of example 1, we'd see in the echo area:
+@example
+
+((statement . 28))
+
+@end example
+
+This tells us that the line is a statement and it is indented relative
+to buffer position 28, which happens to be the @samp{q} on line 3.  If
+you were to move point to line 3 and hit @kbd{C-c C-s}, you would see:
+@example
+
+((statement-block-intro . 20))
+
+@end example
+
+This indicates that line 3 is the first statement in a block, and is
+indented relative to buffer position 20, which is the @samp{b} in the
+@code{begin} keyword on line 2.
+
+@cindex comment only line
+Syntactic component lists can contain more than one component, and
+individual syntactic compenents need not have relative buffer positions.
+The most common example of this is a line that contains a @dfn{comment
+only line}.
+@example
+@group
+
+%%% TBD %%%
+
+@end group
+@end example
+
+@noindent
+Hitting @kbd{C-c C-s} on line 3 of the example gives us:
+@example
+
+((comment-intro) (block-intro . 46))
+
+@end example
+
+@noindent
+so you can see that the syntactic component list contains two syntactic
+components.  Also notice that the first component,
+@samp{(comment-intro)} has no relative buffer position.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Indentation Calculation, , Syntactic Analysis, New Indentation Engine
+@comment  node-name,              next,                    previous,up
+@section  Indentation Calculation
+@cindex   Indentation Calculation
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-offsets-alist
+@vindex offsets-alist (vhdl-)
+Indentation for the current line is calculated using the syntactic
+component list derived in step 1 above (see @ref{Syntactic
+Analysis}).  Each component contributes to the final total indentation
+of the line in two ways.
+
+First, the syntactic symbols are looked up in the @code{vhdl-offsets-alist}
+variable, which is an association list of syntactic symbols and the
+offsets to apply for those symbols.  These offsets are added to the
+running total.
+
+Second, if the component has a relative buffer position, @code{vhdl-mode}
+adds the column number of that position to the running total.  By adding
+up the offsets and columns for every syntactic component on the list,
+the final total indentation for the current line is computed.
+
+Let's use our code example above to see how this works.  Here is our
+example again.
+@example
+@group
+
+  1: inverter : process
+  2: begin
+  3:   q <= not d;
+  4:   wait on d;
+  5: end inverter;
+
+@end group
+@end example
+
+@kindex TAB
+Let's say point is on line 3 and we hit the @key{TAB} key to re-indent
+the line.  Remember that the syntactic component list for that
+line is:
+@example
+
+((statement-block-intro . 20))
+
+@end example
+
+@noindent
+@code{vhdl-mode} looks up @code{statement-block-intro} in the
+@code{vhdl-offsets-alist} variable.  Let's say it finds the value @samp{2};
+it adds this to the running total (initialized to zero), yielding a
+running total indentation of 2 spaces.
+
+Next @code{vhdl-mode} goes to buffer position 20 and asks for the
+current column.  Since the @code{begin} keyword at buffer position 20 is
+in column zero, it adds @samp{0} to the running total.  Since there is
+only one syntactic component on the list for this line, indentation
+calculation is complete, and the total indentation for the line is 2
+spaces.
+Simple, huh?
+
+Actually, the mode usually just does The Right Thing without you having
+to think about it in this much detail.  But when customizing
+indentation, it's helpful to understand the general indentation model
+being used.
+
+@vindex vhdl-echo-syntactic-information-p
+@vindex echo-syntactic-information-p (vhdl-)
+@cindex TAB
+To help you configure @code{vhdl-mode}, you can set the variable
+@code{vhdl-echo-syntactic-information-p} to non-@code{nil} so that the
+syntactic component list and calculated offset will always be echoed in
+the minibuffer when you hit @kbd{TAB}.
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Indentation Commands, Customizing Indentation, New Indentation Engine, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  Indentation Commands
+@cindex   Indentation Commands
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@strong{<TBD>}
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Customizing Indentation, Syntactic Symbols, Indentation Commands, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  Customizing Indentation
+@cindex   Customizing Indentation
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@cindex vhdl-set-offset
+@cindex set-offset (vhdl-)
+The @code{vhdl-offsets-alist} variable is where you customize all your
+indentations.  You simply need to decide what additional offset you want
+to add for every syntactic symbol.  You can use the command @kbd{C-c
+C-o} (@code{vhdl-set-offset}) as the way to set offsets, both
+interactively and from your mode hook.  Also, you can set up
+@emph{styles} of indentation.  Most likely, you'll find one of the
+pre-defined styles will suit your needs, but if not, this section will
+describe how to set up basic editing configurations.  @xref{Styles} for
+an explanation of how to set up named styles.
+
+@cindex vhdl-basic-offset
+@cindex basic-offset (vhdl-)
+As mentioned previously, the variable @code{vhdl-offsets-alist} is an
+association list between syntactic symbols and the offsets to be applied
+for those symbols.  In fact, these offset values can be an integer, a
+function or variable name, or one of the following symbols: @code{+},
+@code{-}, @code{++}, @code{--}, @code{*}, or @code{/}.  The symbol
+values have the following meanings:
+
+@itemize @bullet
+
+@item
+@code{+}  --  1 x @code{vhdl-basic-offset}
+@item
+@code{-}  --  -1 x @code{vhdl-basic-offset}
+@item
+@code{++} --  2 x @code{vhdl-basic-offset}
+@item
+@code{--} --  -2 x @code{vhdl-basic-offset}
+@item
+@code{*}  --  0.5 x @code{vhdl-basic-offset}
+@item
+@code{/}  --  -0.5 x @code{vhdl-basic-offset}
+
+@end itemize
+
+@noindent
+So, for example, because most of the default offsets are defined in
+terms of @code{+}, @code{-}, and @code{0}, if you like the general
+indentation style, but you use 2 spaces instead of 4 spaces per level,
+you can probably achieve your style just by changing
+@code{vhdl-basic-offset} like so (in your @file{.emacs} file):
+@example
+
+(setq vhdl-basic-offset 2)
+
+@end example
+
+To change indentation styles more radically, you will want to change the
+value associated with the syntactic symbols in the
+@code{vhdl-offsets-alist} variable.  First, I'll show you how to do that
+interactively, then I'll describe how to make changes to your
+@file{.emacs} file so that your changes are more permanent.
+
+@menu
+* Interactive Customization::
+* Permanent Customization::
+* Styles::
+* Advanced Customizations::
+@end menu
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Interactive Customization, Permanent Customization, , Customizing Indentation
+@comment  node-name,              next,                    previous,up
+
+@section  Interactive Customization
+@cindex   Interactive Customization
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+As an example of how to customize indentation, let's change the
+style of the example above from:
+@example
+@group
+
+  1: inverter : process
+  2: begin
+  3:   q <= not d;
+  4:   wait on d;
+  5: end inverter;
+
+@end group
+@end example
+@noindent
+to:
+@example
+@group
+
+  1: inverter : process
+  2: begin
+  3:     q <= not d;
+  4:     wait on d;
+  5: end inverter;
+
+@end group
+@end example
+
+In other words, we want to change the indentation of the statments
+inside the inverter process.  Notice that the construct we want to
+change starts on line 3.  To change the indentation of a line, we need
+to see which syntactic component affect the offset calculations for that
+line.  Hitting @kbd{C-c C-s} on line 3 yields:
+@example
+
+((statement-block-intro . 20))
+
+@end example
+
+@findex vhdl-set-offset
+@findex set-offset (vhdl-)
+@kindex C-c C-o
+@noindent
+So we know that to change the offset of the first signal assignment, we need to
+change the indentation for the @code{statement-block-intro} syntactic
+symbol.  To do this interactively, just hit @kbd{C-c C-o}
+(@code{vhdl-set-offset}).  This prompts you for the syntactic symbol to
+change, providing a reasonable default.  In this case, the default is
+@code{statement-block-intro}, which is just the syntactic symbol we want to
+change!
+
+After you hit return, @code{vhdl-mode} will then prompt you for the new
+offset value, with the old value as the default.  The default in this
+case is @samp{+}, so hit backspace to delete the @samp{+}, then hit
+@samp{++} and @kbd{RET}.  This will associate an offset of twice the
+basic indent with the syntactic symbol @code{statement-block-intro} in
+the @code{vhdl-offsets-alist} variable.
+
+@findex vhdl-indent-defun
+@findex indent-defun (vhdl-)
+@kindex C-c C-q
+To check your changes quickly, just hit @kbd{C-c C-q}
+(@code{vhdl-indent-defun}) to reindent the entire function.  The example
+should now look like:
+@example
+@group
+
+  1: inverter : process
+  2: begin
+  3:     q <= not d;
+  4:     wait on d;
+  5: end inverter;
+
+@end group
+@end example
+
+Notice how just changing the offset on line 3 is all we needed to do.
+Since the other affected lines are indented relative to line 3, they are
+automatically indented the way you'd expect.  For more complicated
+examples, this may not always work.  The general approach to take is to
+always start adjusting offsets for lines higher up in the file, then
+re-indent and see if any following lines need further adjustments.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Permanent Customization, Styles, Interactive Customization, Customizing Indentation
+@comment  node-name,              next,                    previous,up
+
+@section  Permanent Indentation
+@cindex   Permanent Indentation
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-mode-hook
+@cindex hooks
+To make this change permanent, you need to add some lisp code to your
+@file{.emacs} file.  @code{vhdl-mode} provides a @code{vhdl-mode-hook}
+that you can use to customize your language editing styles.  This hook
+gets run as the last thing when you enter @code{vhdl-mode}.
+
+Here's a simplified example of what you can add to your @file{.emacs}
+file to make the changes described in the previous section
+(@ref{Interactive Customization}) more permanent.  See the Emacs
+manuals for more information on customizing Emacs via hooks.
+@xref{Sample .emacs File} for a more complete sample @file{.emacs} file.
+@footnote{The use of @code{add-hook} in this example only works for
+Emacs 19.  Workarounds are available if you are using Emacs 18, but this
+just points out another reason for you to upgrade to Emacs 19!
+@code{:-)}}
+@example
+@group
+
+(defun my-vhdl-mode-hook ()
+  ;; my customizations for all of vhdl-mode
+  (vhdl-set-offset 'statement-block-intro '++)
+  ;; other customizations can go here
+  )
+(add-hook 'vhdl-mode-hook 'my-vhdl-mode-hook)
+
+@end group
+@end example
+
+For complex customizations, you will probably want to set up a
+@emph{style} that groups all your customizations under a single
+name. @xref{Styles} for details.
+
+The offset value can also be a function, and this is how power users
+gain enormous flexibility in customizing indentation. @xref{Advanced
+Customizations} for details.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Styles, Advanced Customizations, Permanent Customization, Customizing Indentation
+@comment  node-name,              next,                    previous,up
+
+@section  Styles
+@cindex   Styles
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+Most people only need to edit code formatted in just a few well-defined
+and consistent styles.  For example, their organization might impose a
+``blessed'' style that all its programmers must conform to.  Similarly,
+people who work on GNU software will have to use the GNU coding style on
+C code.  Some shops are more lenient, allowing some variety of coding
+styles, and as programmers come and go, there could be a number of
+styles in use.  For this reason, @code{vhdl-mode} makes it convenient for
+you to set up logical groupings of customizations called @dfn{styles},
+associate a single name for any particular style, and pretty easily
+start editing new or existing code using these styles.  This chapter
+describes how to set up styles and how to edit your C code using styles.
+
+@menu
+* Built-in Styles::
+* Adding Styles::
+* File Styles::
+@end menu
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Built-in Styles, Adding Styles, , Styles
+@comment  node-name,              next,                    previous,up
+
+@subsection  Built-in Styles
+@cindex   Built-in Styles
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+If you're lucky, one of @code{vhdl-mode}'s built-in styles might be just
+what you're looking for.  Some of the most common VHDL styles are
+already built-in.  These include:
+
+@itemize @bullet
+@item
+@cindex IEEE style
+@code{GNU} -- the coding style in the IEEE Language Reference Manual.
+
+@end itemize
+
+@findex vhdl-set-style
+@findex set-style (vhdl-)
+If you'd like to experiment with these built-in styles you can simply
+type the following in a @code{vhdl-mode} buffer:
+@example
+@group
+
+@kbd{M-x vhdl-set-style RET}.
+
+@end group
+@end example
+@noindent
+You will be prompted for one of the above styles (with completion).
+Enter one of the styles and hit @kbd{RET}.  Note however that setting a
+style in this way does @emph{not} automatically re-indent your file.
+For commands that you can use to view the effect of your changes, see
+@ref{Indentation Commands}.
+
+Once you find a built-in style you like, you can make the change
+permanent by adding a call to your @file{.emacs} file.  Let's say for
+example that you want to use the @code{IEEE} style in all your
+files.  You would add this:
+@example
+@group
+
+(defun my-vhdl-mode-hook ()
+  ;; use IEEE style for all VHDL code
+  (vhdl-set-style "IEEE")
+  ;; other customizations can go here
+  )
+(add-hook 'vhdl-mode-hook 'my-vhdl-mode-hook)
+
+@end group
+@end example
+
+@noindent
+@xref{Permanent Customization}.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Adding Styles, File Styles, Built-in Styles, Styles
+@comment  node-name,              next,                    previous,up
+
+@subsection  Adding Styles
+@cindex   Adding Styles
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-style-alist
+@vindex style-alist (vhdl-)
+@findex vhdl-add-style
+@findex add-style (vhdl-)
+If none of the built-in styles is appropriate, you'll probably want to
+add a new style definition.  Styles are kept in the @code{vhdl-style-alist}
+variable, but you probably won't want to modify this variable directly.
+@code{vhdl-mode} provides a function, called @code{vhdl-add-style}, that you
+can use to easily add new styles or update existing styles.  This
+function takes two arguments, a @var{stylename} string, and an
+association list @var{description} of style customizations.  If
+@var{stylename} is not already in @code{vhdl-style-alist}, the new style is
+added, otherwise the style already associated with @var{stylename} is
+changed to the new @var{description}.  This function also takes an
+optional third argument, which if non-@code{nil}, automatically
+institutes the new style in the current buffer.
+
+The sample @file{.emacs} file provides a concrete example of how a new
+style can be added and automatically set.  @xref{Sample .emacs File}.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     File Styles, ,  Adding Styles, Styles
+@comment  node-name,              next,                    previous,up
+
+@subsection  File Styles
+@cindex   File Styles
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@cindex local variables
+The Emacs manual describes how you can customize certain variables on a
+per-file basis by including a @dfn{Local Variable} block at the end of
+the file.  So far, you've only seen a functional interface to
+@code{vhdl-mode}, which is highly inconvenient for use in a Local Variable
+block.  @code{vhdl-mode} provides two variables that make it easier for
+you to customize your style on a per-file basis.
+
+@vindex vhdl-file-style
+@vindex file-style (vhdl-)
+@vindex vhdl-file-offsets
+@vindex file-offsets (vhdl-)
+
+The variable @code{vhdl-file-style} can be set to a style name string as
+described in @ref{Built-in Styles}.  When the file is visited,
+@code{vhdl-mode} will automatically set the file's style to this style
+using @code{vhdl-set-style}.
+
+@vindex vhdl-offsets-alist
+@vindex offsets-alist (vhdl-)
+@findex vhdl-set-offset
+@findex set-offset (vhdl-)
+Another variable, @code{vhdl-file-offsets}, takes an association list
+similar to what is allowed in @code{vhdl-offsets-alist}.  When the file is
+visited, @code{vhdl-mode} will automatically institute these offets using
+@code{vhdl-set-offset}.  @xref{Customizing Indentation}.
+
+Note that file style settings (i.e. @code{vhdl-file-style}) are applied
+before file offset settings (i.e. @code{vhdl-file-offsets}).
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Advanced Customizations, , Styles, Customizing Indentation
+@comment  node-name,              next,                    previous,up
+
+@section  Advanced Customizations
+@cindex   Advanced Customizations
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-style-alist
+@vindex style-alist (vhdl-)
+@vindex vhdl-basic-offset
+@vindex basic-offset (vhdl-)
+For most users, @code{vhdl-mode} will support their coding styles with
+very little need for customizations.  Usually, one of the standard
+styles defined in @code{vhdl-style-alist} will do the trick.  Sometimes,
+one of the syntactic symbol offsets will need to be tweeked slightly, or
+perhaps @code{vhdl-basic-offset} will need to be changed.  However, some
+styles require a more advanced ability for customization, and one of the
+real strengths of @code{vhdl-mode} is that the syntactic analysis model
+provides a very flexible framework for customizing indentation. This
+allows you to perform special indentation calculations for situations
+not handled by the mode directly.
+
+@menu
+* Custom Indentation Functions::
+* Other Special Indentations::
+@end menu
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Custom Indentation Functions, Other Special Indentations, , Advanced Customizations
+@comment  node-name,              next,                    previous,up
+
+@subsection  Custom Indentation Functions
+@cindex   Custom Indentation Functions
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@cindex custom indentation functions
+One of the most common ways to customize @code{vhdl-mode} is by writing
+@dfn{custom indentation functions} and associating them with specific
+syntactic symbols (see @ref{Syntactic Symbols}).  @code{vhdl-mode} itself
+uses custom indentation functions to provide more sophisticated
+indentation, for example when lining up selected signal assignments:
+@example
+@group
+
+%%% TBD %%%
+
+@end group
+@end example
+
+In this example, the @code{statement-cont} syntactic symbol has an
+offset of @code{+}, and @code{vhdl-basic-offset} is 2, so lines 4
+through 6 are simply indented two spaces to the right of line 3.  But
+perhaps we'd like @code{vhdl-mode} to be a little more intelligent so
+that it offsets the waveform descriptions relative to the signal
+assignment operator in line 3.  To do this, we have to write a custom
+indentation function which finds the column of signal assignment
+operator on the first line of the statement.  Here is the lisp code
+(from the @file{vhdl-mode.el} source file) that implements this:
+@example
+@group
+
+(defun vhdl-lineup-statement-cont (langelem)
+  ;; line up statement-cont after the assignment operator
+  (save-excursion
+    (let* ((relpos (cdr langelem))
+	   (assignp (save-excursion
+		     (goto-char (vhdl-point 'boi))
+		     (and (re-search-forward "\\(<\\|:\\)="
+					     (vhdl-point 'eol) t)
+			  (- (point) (vhdl-point 'boi)))))
+	   (curcol (progn
+		     (goto-char relpos)
+		     (current-column)))
+	   foundp)
+      (while (and (not foundp)
+		  (< (point) (vhdl-point 'eol)))
+	(re-search-forward "\\(<\\|:\\)=\\|(" (vhdl-point 'eol) 'move)
+	(if (vhdl-in-literal (cdr langelem))
+	    (forward-char)
+	  (if (= (preceding-char) ?\()
+	      ;; skip over any parenthesized expressions
+	      (goto-char (min (vhdl-point 'eol)
+			      (scan-lists (point) 1 1)))
+	    ;; found an assignment operator (not at eol)
+	    (setq foundp (not (looking-at "\\s-*$"))))))
+      (if (not foundp)
+	  ;; there's no assignment operator on the line
+	  vhdl-basic-offset
+	;; calculate indentation column after assign and ws, unless
+	;; our line contains an assignment operator
+	(if (not assignp)
+	    (progn
+	      (forward-char)
+	      (skip-chars-forward " \t")
+	      (setq assignp 0)))
+	(- (current-column) assignp curcol))
+      )))
+
+@end group
+@end example
+@noindent
+Custom indent functions take a single argument, which is a syntactic
+component cons cell (see @ref{Syntactic Analysis}).  The
+function returns an integer offset value that will be added to the
+running total indentation for the lne.  Note that what actually gets
+returned is the difference between the column that the signal assignment
+operator is on, and the column of the buffer relative position passed in
+the function's argument.  Remember that @code{vhdl-mode} automatically
+adds in the column of the component's relative buffer position and we
+don't want that value added into the final total twice.
+
+@cindex statement-cont syntactic symbol
+@findex vhdl-lineup-statement-cont
+@findex lineup-statement-cont (vhdl-)
+Now, to associate the function @code{vhdl-lineup-statement-cont} with the
+@code{statement-cont} syntactic symbol, we can add something like the
+following to our @code{vhdl-mode-hook}:
+@example
+
+(vhdl-set-offset 'statement-cont 'vhdl-lineup-statement-cont)
+
+@end example
+
+@kindex C-c C-q
+Now the function looks like this after re-indenting (using @kbd{C-c
+C-q}):
+@example
+@group
+
+%%% TBD %%%
+
+@end group
+@end example
+
+@vindex vhdl-offsets-alist
+@vindex offsets-alist (vhdl-)
+Custom indentation functions can be as simple or as complex as you like,
+and any syntactic symbol that appears in @code{vhdl-offsets-alist} can have
+a custom indentation function associated with it.  Note however that
+using many custom indentation functions may have a performance impact on
+@code{vhdl-mode}.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node     Other Special Indentations, , Custom Indentation Functions, Advanced Customizations
+@comment  node-name,              next,                    previous,up
+
+@subsection  Other Special Indentations
+@cindex   Other Special Indentations
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-special-indent-hook
+@vindex special-indent-hook (vhdl-)
+One other variable is available for you to customize @code{vhdl-mode}:
+@code{vhdl-special-indent-hook}.  This is a standard hook variable that
+is called after every line is indented by @code{vhdl-mode}.  You can use
+it to do any special indentation or line adjustments your style
+dictates, such as adding extra indentation to the port map clause in a
+component instantiation, etc.  Note however, that you should not change
+@code{point} or @code{mark} inside your @code{vhdl-special-indent-hook}
+functions.
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Syntactic Symbols, Frequently Asked Questions, Customizing Indentation, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  Syntactic Symbols
+@cindex   Syntactic Symbols
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@vindex vhdl-offsets-alist
+The complete list of recognized syntactic symbols is described in the
+@code{vhdl-offsets-alist} variable.  This chapter will provide some
+examples to help clarify these symbols.
+
+@cindex -open syntactic symbols
+@cindex -close syntactic symbols
+Most syntactic symbol names follow a general naming convention.  When a
+line begins with a @code{begin} or @code{end} keyword, the syntactic
+symbol will contain the suffix @code{-open} or @code{-close}
+respectively.
+
+@cindex -intro syntactic symbols
+@cindex -cont syntactic symbols
+@cindex -block-intro syntactic symbols
+Usually, a distinction is made between the first line that introduces a
+construct and lines that continue a construct, and the syntactic symbols
+that represent these lines will contain the suffix @code{-intro} or
+@code{-cont} respectively.  As a sub-classification of this scheme, a
+line which is the first of a particular block construct will contain the
+suffix @code{-block-intro}.
+
+@strong{<TBD> include the name and a brief example of every syntactic
+symbol currently recognized}
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Frequently Asked Questions, Getting the latest vhdl-mode release, Syntactic Symbols, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  Frequently Asked Questions
+@cindex   Frequently Asked Questions
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@kindex C-x h
+@kindex ESC C-\
+@kindex C-c C-q
+@kindex ESC C-q
+@kindex ESC C-u
+@kindex RET
+@kindex LFD
+@findex newline-and-indent
+@quotation
+
+@strong{Q.} @emph{How do I re-indent the whole file?}
+
+@strong{A.} Visit the file and hit @kbd{C-x h} to mark the whole
+buffer. Then hit @kbd{@key{ESC} C-\} to re-indent the entire region
+which you've just marked.
+@sp 2
+
+@strong{Q.} @emph{How do I re-indent the entire function?}
+
+@strong{A.} Hit @kbd{@key{ESC} C-h} to mark the entire function. Then
+hit @kbd{@key{ESC} C-\} to re-indent the entire region which you've just
+marked.
+@sp 2
+
+@strong{Q.} @emph{How do I re-indent the current block?}
+
+@strong{A.} First move to the brace which opens the block with
+@kbd{@key{ESC} C-u}, then re-indent that expression with
+@kbd{@key{ESC} C-q}.
+@sp 2
+
+@strong{Q.} @emph{How do I re-indent the current statement?}
+
+@strong{A.} First move to the beginning of the statement with
+@kbd{@key{ESC} a}, then re-indent that expression with @kbd{@key{ESC}
+C-q}.
+@sp 2
+
+@strong{Q.} @emph{Why doesn't the @key{RET} key indent the line to
+where the new text should go after inserting the newline?}
+
+@strong{A.} Emacs' convention is that @key{RET} just adds a newline,
+and that @key{LFD} adds a newline and indents it.  You can make
+@key{RET} do this too by adding this to your
+@code{vhdl-mode-hook} (see the sample @file{.emacs} file
+@ref{Sample .emacs File}):
+@example
+
+(define-key vhdl-mode-map "\C-m" 'newline-and-indent)
+
+@end example
+
+This is a very common question. @code{:-)} If you want this to be the
+default behavior, don't lobby me, lobby RMS!
+@sp 2
+
+@strong{Q.} @emph{I put @code{(vhdl-set-offset 'statement-cont 0)}
+in my @file{.emacs} file but I get an error saying that
+@code{vhdl-set-offset}'s function definition is void.}
+
+@strong{A.} This means that @code{vhdl-mode} wasn't loaded into your
+Emacs session by the time the @code{vhdl-set-offset} call was reached,
+mostly likely because @code{vhdl-mode} is being autoloaded.  Instead
+of putting the @code{vhdl-set-offset} line in your top-level
+@file{.emacs} file, put it in your @code{vhdl-mode-hook}, or
+simply add the following to the top of your @file{.emacs} file:
+@example
+
+(require 'vhdl-mode)
+
+@end example
+
+See the sample @file{.emacs} file @ref{Sample .emacs File} for
+details.
+
+@end quotation
+
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Getting the latest vhdl-mode release, Sample .emacs File, Frequently Asked Questions, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  Getting the latest @code{vhdl-mode} release
+@cindex   Getting the latest @code{vhdl-mode} release
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+The best way to be sure you always have the latest @code{vhdl-mode}
+release is to join the @code{vhdl-mode-announce} mailing list.  If you
+are a brave soul, and wish to participate in beta testing of new
+releases of @code{vhdl-mode}, you may also join the
+@code{vhdl-mode-victims} mailing list.  Send email to the author to join
+either of these lists.
+
+The canonical anonymous FTP URL for @code{vhdl-mode} is
+@code{ftp://ftp.eda.com.au/pub/emacs/vhdl-mode.tar.gz}.  Special thanks
+to Ken Wood <ken@@eda.com.au> for providing an FTP repository for
+@code{vhdl-mode}.
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Sample .emacs File, Requirements, Getting the latest vhdl-mode release, Top
+@comment  node-name,              next,                    previous,up
+
+@chapter  Sample @file{.emacs} file
+@cindex   Sample @file{.emacs} file
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@example
+;; Here's a sample .emacs file that might help you along the way.  Just
+;; copy this region and paste it into your .emacs file.  You may want to
+;; change some of the actual values.
+
+(defconst my-vhdl-style
+  '((vhdl-tab-always-indent        . t)
+    (vhdl-comment-only-line-offset . 4)
+    (vhdl-offsets-alist            . ((arglist-close    . vhdl-lineup-arglist)
+                                      (statement-cont   . 0)
+                                      (case-alternative . 4)
+                                      (block-open       . 0)))
+    (vhdl-echo-syntactic-information-p . t)
+    )
+  "My VHDL Programming Style")
+
+;; Customizations for vhdl-mode
+(defun my-vhdl-mode-hook ()
+  ;; add my personal style and set it for the current buffer
+  (vhdl-add-style "PERSONAL" my-vhdl-style t)
+  ;; offset customizations not in my-vhdl-style
+  (vhdl-set-offset 'statement-case-intro '++)
+  ;; other customizations
+  (setq tab-width 8
+        ;; this will make sure spaces are used instead of tabs
+        indent-tabs-mode nil)
+  ;; keybindings for VHDL are put in vhdl-mode-map
+  (define-key vhdl-mode-map "\C-m" 'newline-and-indent)
+  )
+
+;; the following only works in Emacs 19
+;; Emacs 18ers can use (setq vhdl-mode-hook 'my-vhdl-mode-hook)
+(add-hook 'vhdl-mode-hook 'my-vhdl-mode-hook)
+@end example
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Requirements, Limitations and Known Bugs, Sample .emacs File, Top
+@comment  node-name,              next,                    previous,up
+@chapter  Requirements
+@cindex   Requirements
+@comment * Requirements
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@cindex reporter.el
+@file{vhdl-mode.el} requires @file{reporter.el} for submission of bug
+reports.  @file{reporter.el} is distributed with the latest FSF and
+XEmacs 19's.  Here is the Emacs Lisp Archive anonymous ftp'ing
+record for those of you who are using older Emacsen.
+
+@comment * Here's the Emacs Lisp Archive information for @file{reporter.el}:
+@example
+
+         GNU Emacs Lisp Code Directory Apropos -- "reporter"
+"~/" refers to archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/
+
+reporter (2.12)       06-Jul-1994
+     Barry A. Warsaw, <bwarsaw@@cen.com>
+     ~/misc/reporter.el.Z
+     Customizable bug reporting of lisp programs.
+
+@end example
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node  Limitations and Known Bugs, Mailing Lists and Submitting Bug Reports, Requirements, Top
+@comment  node-name,              next,                    previous,up
+@chapter  Limitations and Known Bugs
+@cindex   Limitations and Known Bugs
+@comment * Limitations and Known Bugs
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@itemize @bullet
+@item
+Re-indenting large regions or expressions can be slow.
+
+@item
+Use with Emacs 18 can be slow and annoying. You should seriously
+consider upgrading to Emacs 19.
+
+@end itemize
+
+@node  Mailing Lists and Submitting Bug Reports, Concept Index, Limitations and Known Bugs, Top
+@comment  node-name,              next,                    previous,up
+@chapter  Mailing Lists and Submitting Bug Reports
+@cindex   Mailing Lists and Submitting Bug Reports
+@comment * Mailing Lists and Submitting Bug Reports
+
+@kindex C-c C-b
+@findex vhdl-submit-bug-report
+@findex submit-bug-report (vhdl-)
+@cindex beta testers mailing list
+@cindex announcement mailing list
+To report bugs, use the @kbd{C-c C-b} (@code{vhdl-submit-bug-report})
+command.  This provides vital information I need to reproduce your
+problem.  Make sure you include a concise, but complete code example.
+Please try to boil your example down to just the essential code needed
+to reproduce the problem, and include an exact recipe of steps needed to
+expose the bug.  Be especially sure to include any code that appears
+@emph{before} your bug example.
+
+For other help or suggestions, send a message to
+@code{rwhitby@@asc.corp.mot.com}.
+
+Send an add message to @code{rwhitby@@asc.corp.mot.com} to get on the
+@code{vhdl-mode-victims} beta testers list where beta releases of
+@code{vhdl-mode} are posted.  Note that you shouldn't expect beta
+releases to be as stable as public releases.
+
+There is also an announce only list where the latest public releases of
+@code{vhdl-mode} are posted.  Send an add message to
+@code{rwhitby@@asc.corp.mot.com} to be added to this list.
+
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node    Concept Index, Command Index,  Mailing Lists and Submitting Bug Reports, Top
+@comment node-name,    next,  previous,      up
+@unnumbered Concept Index
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@printindex cp
+
+
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node    Command Index, Key Index,  Concept Index, Top
+@comment node-name,    next,  previous,      up
+@unnumbered Command Index
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@ifinfo
+
+@end ifinfo
+Since all @code{vhdl-mode} commands are prepended with the string
+@samp{vhdl-}, each appears under its @code{vhdl-<thing>} name and its
+@code{<thing> (vhdl-)} name.
+@iftex
+@sp 2
+@end iftex
+@printindex fn
+
+
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node    Key Index, Variable Index,  Command Index, Top
+@comment node-name,    next,  previous,      up
+@unnumbered Key Index
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@printindex ky
+
+
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node    Variable Index,    ,  Key Index, Top
+@comment node-name,    next,  previous,      up
+@unnumbered Variable Index
+@c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@ifinfo
+
+@end ifinfo
+Since all @code{vhdl-mode} variables are prepended with the string
+@samp{vhdl-}, each appears under its @code{vhdl-<thing>} name and its
+@code{<thing> (vhdl-)} name.
+@iftex
+@sp 2
+@end iftex
+@printindex vr
+@summarycontents
+@contents
+@bye
--- a/man/vm.texi	Mon Aug 13 08:47:36 2007 +0200
+++ b/man/vm.texi	Mon Aug 13 08:47:52 2007 +0200
@@ -1,5 +1,5 @@
 \input texinfo  @comment -*-Texinfo-*-
-@setfilename ../info/vm.info
+@setfilename vm.info
 @settitle VM User's Manual
 @iftex
 @finalout
@@ -49,7 +49,7 @@
 @end titlepage
 @page
 @ifinfo
-@node Top, Introduction, (dir), (dir)
+@node Top, Introduction,, (DIR)
 
 This manual documents the VM mail reader, a Lisp program which runs as a
 subsystem under Emacs.  The manual is divided into the following
@@ -70,7 +70,6 @@
 * Reading Digests::	How to read digests under VM.
 * Summaries::		How to view and customize the summary of a folder.
 * Miscellaneous::	Various customization variables undescribed elsewhere.
-* License::             The GNU General Public License
 
 Indices:
 
@@ -80,7 +79,7 @@
 @end menu
 @end ifinfo
 
-@node License, , , Top
+@node License, Introduction, Variable Index, Top
 @unnumbered License
 
 @unnumbered GNU GENERAL PUBLIC LICENSE
@@ -383,7 +382,7 @@
 
 That's all there is to it!
 
-@node Introduction, Starting Up, Top, Top
+@node Introduction, Starting Up, License, Top
 @unnumbered Introduction
 
 VM (View Mail) is an Emacs subsystem that allows UNIX mail to be read
@@ -434,9 +433,9 @@
 version of the folder until the folder is saved.@refill
 
 Typing @kbd{h} (@code{vm-summarize}) causes VM to pop up a window
-containing a summary of the contents of the current folder.  The summary is
+containing a summary of contents of the current folder.  The summary is
 presented one line per message, by message number, listing each message's
-author, date sent, line and byte count, and subject.  Also, various
+author, date sent, line and byte count, and subject.  Also various
 letters appear beside the message number to indicate that a message is
 new, unread, flagged for deletion, etc.  An arrow @samp{->} appears to
 the left of the line summarizing the current message.  The summary
@@ -488,7 +487,7 @@
 file.  Since VM has in excess of forty configuration variables, use of
 the @file{~/.vm} can considerably reduce clutter in the @file{.emacs}
 file.  You can force the reloading of this file on demand by typing
-@kbd{L} (@code{vm-load-init-file}) from within VM.@refill
+@kbd{L} from within VM.@refill
 
 @findex vm
 @vindex vm-primary-inbox
@@ -546,15 +545,15 @@
 The variable @code{vm-startup-with-summary} controls whether VM
 automatically displays a summary of the folder's contents at startup.  A
 value of @code{nil} gives no summary; a value of @code{t} gives a full
-frame summary.  A value that is neither @code{t} nor @code{nil} splits
-the frame between the summary and the folder display.  The latter only
+screen summary.  A value that is neither @code{t} nor @code{nil} splits
+the screen between the summary and the folder display.  The latter only
 works if the variable @code{pop-up-windows}'s value is non-@code{nil},
 and the value of @code{vm-mutable-windows} is non-@code{nil}.  The
 default value of @code{vm-startup-with-summary} is @code{nil}.@refill
 
 @vindex vm-mail-window-percentage
 The variable @code{vm-mail-window-percentage} tells VM what percentage of
-the frame should be given to the folder display when both it and the
+the screen should be given to the folder display when both it and the
 folder summary are being displayed.  Note that Emacs enforces a minimum
 window size limit, so a very high or very low value for this variable
 may squeeze out one of the displays entirely.  This variable's default
@@ -584,7 +583,7 @@
 (@code{vm-next-message}) and @kbd{p} (@code{vm-previous-message}).
 These commands move forward and backward through the current folder.
 When they go beyond the end or beginning of the folder they wrap to the
-beginning and end respectively.  By default, these commands skip messages
+beginning and end respectively.  By default these commands skip messages
 flagged for deletion.  This behavior can be disabled by setting the value
 of the variable @code{vm-skip-deleted-messages} to @code{nil}.  These
 commands can also be made to skip messages that have been read; set
@@ -617,7 +616,12 @@
 
 Other commands to select messages:
 
-@table @kbd
+@iftex
+@table @asis
+@end iftex
+@ifinfo
+@table @key
+@end ifinfo
 @findex vm-goto-message
 @kindex RET
 @item RET (@code{vm-goto-message})
@@ -664,7 +668,7 @@
 @node Reading Messages, Sending Messages, Selecting Messages, Top
 @chapter Reading Messages
 
-Once a message has been selected, VM will present it to you.  By default,
+Once a message has been selected, VM will present it to you.  By default
 presentation is done in two stages: @dfn{previewing} and @dfn{paging}.
 
 @menu
@@ -680,9 +684,9 @@
 @key{SPC} exposes the body of the message, and from there you can
 repeatedly type @key{SPC} to page through the message.
 
-By default, the sender, recipient, subject and date headers are shown
+By default the sender, recipient, subject and date headers are shown
 when previewing; the rest of the message is hidden.  This behavior may
-be altered by changing the settings of three variables:
+be altered by changing the settings of two variables:
 @code{vm-visible-headers}, @code{vm-invisible-header-regexp} and
 @code{vm-preview-lines}.@refill
 
@@ -727,7 +731,7 @@
 causes the From and Subject headers to be highlighted.@refill
 
 @vindex vm-preview-read-messages
-By default, VM previews all messages, even if they have already been read.
+By default VM previews all messages, even if they have already been read.
 To have VM preview only those messages that have not been read, set the
 value of @code{vm-preview-read-messages} to @code{nil}.
 
@@ -766,12 +770,17 @@
 GNU Emacs Manual}.
 However, @samp{*mail*} buffers created by VM have extra command keys:
 
-@table @kbd
+@iftex
+@table @asis
+@end iftex
+@ifinfo
+@table @key
+@end ifinfo
 @findex vm-yank-message
 @kindex C-c C-y
 @item C-c C-y (@code{vm-yank-message})
 Copies a message from the current folder into the @samp{*mail*} buffer.
-The message number is read from the minibuffer.  By default, each line of
+The message number is read from the minibuffer.  By default each line of
 the copy is prepended with the value of the variable
 @code{vm-included-text-prefix}.  All message headers are yanked along
 with the text.  Point is left before the inserted text, the mark after.
@@ -799,12 +808,12 @@
 described above.
 
 @code{vm-mail} can be invoked outside of VM by typing @kbd{M-x vm-mail}.
-However, of the above commands, only @kbd{C-c y}
+However, of the above commands, only @key{C-c y}
 (@code{vm-yank-message-other-folder}) will work; all the other commands
 require a parent folder.@refill
 
 If you send a message and it is returned by the mail system because it
-was undeliverable, you can easily resend the message by typing @kbd{M-r}
+was undeliverable, you an easily resend the message by typing @kbd{M-r}
 (@code{vm-resend-bounced-message}).  VM will extract the old message and
 its pertinent headers from the returned message, and place you in a
 @samp{*mail*} buffer.  You can then change the recipient addresses or do
@@ -821,7 +830,7 @@
 
 @vindex vm-reply-subject-prefix
 VM has special commands that make it easy to reply to a message.  When a
-reply command is invoked, VM fills in the subject and recipient headers
+reply command is invoked VM fills in the subject and recipient headers
 for you, since it is apparent to whom the message should be sent and
 what the subject should be.  There is an old convention of prepending
 the string @samp{"Re: "} to the subject of replies if the string isn't
@@ -868,7 +877,12 @@
 
 The reply commands are:
 
-@table @kbd
+@iftex
+@table @asis
+@end iftex
+@ifinfo
+@table @key
+@end ifinfo
 @findex vm-reply
 @kindex r
 @item r (@code{vm-reply})
@@ -918,7 +932,7 @@
 except the current message appears as the body of the message in the
 @samp{*mail*} buffer. The forwarded message is surrounded by RFC 934
 compliant message delimiters.  If the variable
-@code{vm-rfc934-forwarding} is non-@code{nil}, "^-" to "- -" character
+@code{vm-rfc934-forwarding} is non-@code{nil} "^-" to "- -" character
 stuffing is done to the forwarded message (this is the default).  This
 behavior is required if the recipient of the forwarded message wants to
 use a RFC 934 standard bursting agent to access the message.  If the
@@ -995,13 +1009,13 @@
 the default when prompting for a folder to save the message in.  If
 the resulting folder name is a relative pathname it resolves to the directory
 named by @code{vm-folder-directory}, or the @code{default-directory} of
-the currently visited folder if @code{vm-folder-directory} is @code{nil}.@refill
+the currently visited folder if @code{vm-folder-directory} is nil.@refill
 
 When @var{folder-name} is evaluated, the current buffer will contain only
 the contents of the header named by @var{header-name}.  It is safe to
 modify this buffer.  You can use the match data from any @samp{\( @dots{}
 \)} grouping constructs in @var{regexp} along with the function
-@code{buffer-substring} to build a folder name based on the header information.
+buffer-substring to build a folder name based on the header information.
 If the result of evaluating @var{folder-name} is a list, then the list will
 be treated as another auto-folder-alist and will be descended
 recursively.@refill
@@ -1033,13 +1047,18 @@
 @vindex vm-delete-after-saving
 After a message is saved to a folder, the usual thing to do next is to
 delete it.  If the variable @code{vm-delete-after-saving} is
-non-@code{nil}, VM will flag messages for deletion automatically after
-saving them.  This applies only to saves to folders, not for the @kbd{w}
+non-@code{nil} VM will flag messages for deletion automatically after
+saving them.  This applies only to saves to folders, not for the @key{w}
 command (see below).@refill
 
 Other commands:
 
-@table @kbd
+@iftex
+@table @asis
+@end iftex
+@ifinfo
+@table @key
+@end ifinfo
 @findex vm-save-message-sans-headers
 @kindex w
 @item w (@code{vm-save-message-sans-headers})
@@ -1056,8 +1075,8 @@
 @findex vm-pipe-message-to-command
 @kindex |
 @item | (@code{vm-pipe-message-to-command})
-Runs a shell command with some or all of the current message as input.
-By default, the entire message is used.@*
+Runs a shell command with the some or all of the current message as input.
+By default the entire message is used.@*
 @*
 If invoked with one @t{C-u} the text portion of the message is used.@*
 If invoked with two @t{C-u}'s the header portion of the message is used.@*
@@ -1073,7 +1092,12 @@
 @dfn{expunged} or removed from the folder.  The messages are not removed
 from the on-disk copy of the folder until the folder is saved.
 
-@table @kbd
+@iftex
+@table @asis
+@end iftex
+@ifinfo
+@table @key
+@end ifinfo
 @findex vm-delete-message
 @kindex d
 @item d (@code{vm-delete-message})
@@ -1091,7 +1115,7 @@
 @findex vm-kill-subject
 @kindex k
 @item k (@code{vm-kill-subject})
-Flags all messages with the same subject as the current message (ignoring
+Flags all message with the same subject as the current message (ignoring
 ``Re:'') for deletion.
 @findex vm-expunge-folder
 @kindex #
@@ -1142,17 +1166,17 @@
 messages in the summary window.@refill
 
 To remove a mark from the current message, use @kbd{C-c SPC}
-(@code{vm-unmark-message}).  Prefix arguments work as with
+(@code{vm-unmark-message}.  Prefix arguments work as with
 @code{vm-mark-message}.@refill
 
-Use @kbd{C-c C-a} to mark all messages in the current folder; @kbd{C-c a}
+Use @kbd{C-c C-a} to mark all message in the current folder; @kbd{C-c a}
 removes marks from all messages.
 
 To apply a VM command to all marked message you must prefix it with the
 key sequence @kbd{C-c RET} (@code{vm-next-command-uses-marks}).  The
 next VM command will apply to all marked messages, provided the
 command can be applied to such messages in a meaningful and useful way.
-The current commands that can be applied to marked messages are:
+The current commands that can be applied to marked message are:
 @code{vm-delete-message}, @code{vm-discard-cached-data},
 @code{vm-followup}, @code{vm-followup-include-text}, @code{vm-reply},
 @code{vm-reply-include-text}, @code{vm-save-message},
@@ -1183,7 +1207,7 @@
 @kindex G
 In order to make numerous related messages easier to cope with, VM
 provides the command @kbd{G} (@code{vm-group-messages}), which groups
-all messages in a folder according to some criterion.  @dfn{Grouping}
+all message in a folder according to some criterion.  @dfn{Grouping}
 causes messages that are related in some way to be presented
 consecutively.  The actual order of the folder is not altered;
 the messages are simply numbered and presented differently.  Grouping
@@ -1211,8 +1235,8 @@
 If the variable @code{vm-group-by} has a non-@code{nil} value it
 specifies the default grouping that will be used for all folders.  So if
 you like having your mail presented to you grouped by subject, then put
-@code{(setq vm-group-by "subject")} in your @file{.vm} or @file{.emacs}
-file to get this behavior.@refill
+@code{(setq vm-group-by "subject")} in your @file{.emacs} file to get this
+behavior.@refill
 
 @node Reading Digests, Summaries, Grouping Messages, Top
 @chapter Reading Digests
@@ -1226,7 +1250,7 @@
 @findex vm-burst-digest
 @kindex *
 The command @kbd{*} (@code{vm-burst-digest}) bursts a digest into its
-individual messages and appends them to the current folder.  These
+individual messages and appends them to current folder.  These
 messages are then assimilated into the current folder using the default
 grouping.  @xref{Grouping Messages}.  The original digest message is not
 altered, and the messages extracted from it are not part of the on-disk copy
@@ -1250,11 +1274,10 @@
 arrow @samp{->} appears to the left of the line summarizing the current
 message.  The variable @code{vm-auto-center-summary} controls whether VM
 will keep the summary arrow vertically centered within the summary
-window.  A value of @code{t} causes VM to always keep the arrow
-centered.  A value of @code{nil} (the default) means VM will never
-bother centering the arrow.  A value that is not @code{nil} and not
-@code{t} causes VM to center the arrow only if the summary window is not
-the only existing window.@refill
+window.  A value of @code{t} causes VM to always keep arrow centered.  A
+value of @code{nil} means VM will never bother centering the arrow.  A
+value that is not @code{nil} and not @code{t} causes VM to center the
+arrow only if the summary window is not the only existing window.@refill
 
 @vindex vm-summary-format
 The variable @code{vm-summary-format} controls the format of each
@@ -1332,15 +1355,20 @@
 Here are some VM customization variables that don't really fit into the
 other chapters.
 
+@iftex
+@table @asis
+@end iftex
+@ifinfo
 @table @code
+@end ifinfo
 @vindex vm-confirm-quit
 @item vm-confirm-quit
-A value of @code{t} causes VM to always ask for confirmation before
-ending a VM visit of a folder.  A @code{nil} value means VM will ask
-only when messages will be lost unwittingly by quitting, i.e. not
-removed by intentional delete and expunge.  A value that is neither
-@code{nil} nor @code{t} causes VM to ask only when there are unsaved
-changes to message attributes or message will be lost.
+A value of t causes VM to always ask for confirmation before ending
+a VM visit of a folder.  A nil value means VM will ask only when messages
+will be lost unwittingly by quitting, i.e. not removed by intentional
+delete and expunge.  A value that is not nil and not t causes VM to ask
+only when there are unsaved changes to message attributes or message
+will be lost.
 @vindex vm-berkeley-mail-compatibility
 @item vm-berkeley-mail-compatibility
 A non-@code{nil} value means to read and write BSD @i{Mail(1)} style Status:
@@ -1364,7 +1392,7 @@
 @vindex vm-mutable-windows
 @item vm-mutable-windows
 This variable's value controls VM's window usage.  A value of @code{t} gives VM
-free run of the Emacs display; it will commandeer the entire frame for
+free run of the Emacs display; it will commandeer the entire screen for
 its purposes.  A value of @code{nil} restricts VM's window usage to the window
 from which it was invoked.  VM will not create, delete, or use any other
 windows, nor will it resize its own window.  A value that is neither @code{t}
@@ -1390,7 +1418,7 @@
 @unnumbered Command Index
 @printindex fn
 
-@node Variable Index, , Command Index, Top
+@node Variable Index, Introduction, Command Index, Top
 @unnumbered Variable Index
 @printindex vr
 
--- a/src/bitmaps.h	Mon Aug 13 08:47:36 2007 +0200
+++ b/src/bitmaps.h	Mon Aug 13 08:47:52 2007 +0200
@@ -107,13 +107,13 @@
 /* A Right pointing Arrow */
 #define truncator_width 6
 #define truncator_height 10
-static char truncator_bits[] = {
+static unsigned char truncator_bits[] = {
  0xc0,0xc4,0xc8,0xd0,0xff,0xd0,0xc8,0xc4,0xc0,0xc0};
 
 /* A Left pointing Arrow */
 #define hscroll_width 6
 #define hscroll_height 10
-static char hscroll_bits[] = {
+static unsigned char hscroll_bits[] = {
  0xc0,0xc8,0xc4,0xc2,0xff,0xc2,0xc4,0xc8,0xc0,0xc0};
 
 #if 0
--- a/src/fns.c	Mon Aug 13 08:47:36 2007 +0200
+++ b/src/fns.c	Mon Aug 13 08:47:52 2007 +0200
@@ -2839,42 +2839,43 @@
      Lisp_Object array, item;
 {
  retry:
-  if (VECTORP (array))
+  if (STRINGP (array))
+    {
+      Charcount size;
+      Charcount i;
+      Emchar charval;
+      struct Lisp_String *s;
+      CHECK_CHAR_COERCE_INT (item);
+      CHECK_IMPURE (array);
+      charval = XCHAR (item);
+      s = XSTRING (array);
+      size = string_char_length (s);
+      for (i = 0; i < size; i++)
+	set_string_char (s, i, charval);
+      bump_string_modiff (array);
+    }
+  else if (VECTORP (array))
     {
       Lisp_Object *p;
       int size;
-      int indecks;
+      int i;
       CHECK_IMPURE (array);
       size = vector_length (XVECTOR (array));
       p = vector_data (XVECTOR (array));
-      for (indecks = 0; indecks < size; indecks++)
-	p[indecks] = item;
+      for (i = 0; i < size; i++)
+	p[i] = item;
     }
-  else if (VECTORP (array))
+  else if (BIT_VECTORP (array))
     {
       struct Lisp_Bit_Vector *v;
       int size;
-      int indecks;
-
+      int i;
       CHECK_BIT (item);
       CHECK_IMPURE (array);
       v = XBIT_VECTOR (array);
       size = bit_vector_length (v);
-      for (indecks = 0; indecks < size; indecks++)
-	set_bit_vector_bit (v, indecks, XINT (item));
-    }
-  else if (STRINGP (array))
-    {
-      Charcount size;
-      Charcount indecks;
-      Emchar charval;
-      CHECK_CHAR_COERCE_INT (item);
-      CHECK_IMPURE (array);
-      charval = XCHAR (item);
-      size = string_char_length (XSTRING (array));
-      for (indecks = 0; indecks < size; indecks++)
-	set_string_char (XSTRING (array), indecks, charval);
-      bump_string_modiff (array);
+      for (i = 0; i < size; i++)
+	set_bit_vector_bit (v, i, XINT (item));
     }
   else
     {
--- a/src/frame-x.c	Mon Aug 13 08:47:36 2007 +0200
+++ b/src/frame-x.c	Mon Aug 13 08:47:52 2007 +0200
@@ -961,7 +961,7 @@
       for (ii = 0; ii < transferInfo->dropData->numItems; ii++) 
 	{
 	  filePath = transferInfo->dropData->data.files[ii];
-	  path = make_string (filePath, strlen (filePath));
+	  path = make_string ((Bufbyte *)filePath, strlen (filePath));
 	  va_run_hook_with_args (Qdrag_and_drop_functions, 2, frame, path);
 	}
     }
@@ -971,9 +971,10 @@
  	{
  	  filePath = transferInfo->dropData->data.buffers[ii].name;
  	  path = (filePath != NULL) ?
-            make_string (filePath, strlen (filePath)) : Qnil;
+            make_string ((Bufbyte *)filePath, strlen (filePath)) : Qnil;
  	  buf = transferInfo->dropData->data.buffers[ii].bp;
- 	  data = make_string (buf, transferInfo->dropData->data.buffers[ii].size);
+ 	  data = make_string ((Bufbyte *)buf,
+			      transferInfo->dropData->data.buffers[ii].size);
  	  va_run_hook_with_args(Qdrag_and_drop_functions, 3, frame, path, data);
  	}
     }
--- a/src/keymap.c	Mon Aug 13 08:47:36 2007 +0200
+++ b/src/keymap.c	Mon Aug 13 08:47:52 2007 +0200
@@ -1294,7 +1294,9 @@
 	strncpy(temp, name, sizeof (temp));
 	temp[sizeof (temp) - 1] = '\0';
 	temp[2] = '-';
-	*keysym = Fintern_soft(make_string(temp, strlen(temp)), Qnil);
+	*keysym = Fintern_soft(make_string((Bufbyte *)temp,
+					   strlen(temp)),
+			       Qnil);
       }
     }
 }
--- a/src/redisplay.c	Mon Aug 13 08:47:36 2007 +0200
+++ b/src/redisplay.c	Mon Aug 13 08:47:52 2007 +0200
@@ -5786,6 +5786,7 @@
 #else /* not MSDOS */
       str = "T";
 #endif /* not MSDOS */
+      break;
 
       /* print percent of buffer above top of window, or Top, Bot or All */
     case 'p':
@@ -5833,6 +5834,12 @@
       Bufpos botpos = BUF_Z (b) - w->window_end_pos[type];
       Charcount total = BUF_ZV (b) - BUF_BEGV (b);
 
+      /* botpos is only accurate as of the last redisplay, so we can
+	 only treat it as a hint.  In particular, after erase-buffer,
+	 botpos may be negative. */
+      if (botpos < toppos)
+	botpos = toppos;
+
       if (botpos >= BUF_ZV (b))
 	{
 	  if (toppos <= BUF_BEGV (b))
--- a/src/s/sunos4-0shr.h	Mon Aug 13 08:47:36 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/* Synched up with: FSF 19.31. (Split off from sunos4shr.h.) */
-
-/* This file permits building Emacs with a shared libc on Sunos 4.
-   To make this work, you must completely replace your C shared library
-   using one of the SunOS 4.1.x jumbo replacement patches from Sun.
-   Here are the patch numbers for Sunos 4.1.3:
-   100890-10   SunOS 4.1.3: domestic libc jumbo patch
-   100891-10   SunOS 4.1.3: international libc jumbo patch  */
-
-
-#include "sunos4-0.h"
-
-/* Say that the text segment of a.out includes the header;
-   the header actually occupies the first few bytes of the text segment
-   and is counted in hdr.a_text.  */
-
-/*  Misleading!  Actually gets loaded after crt0.o */
-#undef START_FILES
-#define START_FILES pre-crt0.o
-
-/*
- *  Kludge!  can't get at symbol "start" in std crt0.o
- *  Who the #$%&* decided to remove the __ characters!
- *  Someone needs to fix this in sysdep.c  with an #ifdef BROKEN_START in
- * sysdep.c.  We do not use this address so any value should do really.  Still
- *  may need it in the future?
- */
-#define BROKEN_START
-#ifndef TEXT_START
-#define TEXT_START 0x2020
-#endif
-
-#undef UNEXEC
-#define UNEXEC	unexsunos4.o
-#ifndef RUN_TIME_REMAP
-#define RUN_TIME_REMAP
-#endif
-#define ORDINARY_LINK
-#define SUNOS4_SHARED_LIBRARIES
-
-#undef LD_SWITCH_SYSTEM
-
-#undef	SYSTEM_MALLOC
-#ifndef GNU_MALLOC
-#define	GNU_MALLOC
-#endif
-#ifndef REL_ALLOC
-#define	REL_ALLOC
-#endif
-
-#undef USE_DL_STUBS
-
-#ifndef HAVE_X11R6
-/* With X11R5 it was reported that linking -lXmu dynamically
-   did not work.  With X11R6, it does work; and since normally
-   only the dynamic libraries are available, we should use them.  */
-#ifdef __GNUC__
-#define LIBXMU -Xlinker -Bstatic -lXmu -Xlinker -Bdynamic
-#else
-#define LIBXMU -Bstatic -lXmu -Bdynamic
-#endif
-
-#endif  /* not HAVE_X11R6 */