Anonymous avatar Anonymous committed 1370575

Import from CVS: tag xemacs-20-1p1

Comments (0)

Files changed (63)

 							-*- indented-text -*-
+to 20.1
+-- time.el-1.15
+-- itimer.el-1.06
+-- facemenu-keymap moved to `C-x F'
+-- MULE anchored beginning regexp bug fix courtesy of David Moore
+-- VM-6.26
+-- miscellaneous bug fixes
+
 to 20.1 beta15
+-- tm-vm.el-8.11 -- Courtesy of Oscar Figuerido
 -- Restoration of zawinski features in telnet.el.
 -- paren.el & ps-print.el customized
 -- Gnus-5.4.45
+Tue Apr 15 21:03:22 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* XEmacs 20.1 is released.
+
 Sat Apr 12 20:11:08 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* XEmacs 20.1-b15 is released.
 and WNN libraries.  Currently you need to specify wnn-includes in most
 installations of Wnn-4.2.
 
+The `--with-pop', `--with-hesiod', and `--with-kerberos' options are used
+in conjunction with movemail.  As of XEmacs 20.1, movemail is identical
+to the one used in Emacs.
+
 `configure' doesn't do any compilation or installation
 itself.  It just creates the files that influence those things:
 `./Makefile', `src/Makefile', `lwlib/Makefile', `lib-src/Makefile',
 This error message has been observed with lesstif-0.75a.  It does not
 appear to cause any harm.
 
+** Movemail on Linux doesn't work any more
+
+Linux now defaults to using .lock mail locking.  To get back to the
+previous flock locking, edit src/s/linux.h and uncomment out the
+`# define MAIL_USE_FLOCK' line.
+
 ** Sparc Linux -vs- libXmu.
 
 There have been reports of configure not detecting libXmu on
   - V3.n: Remove "-migrate" from the compile command.
   - V4.n: Add "-oldc" to the compile command.
 
+** On Digital UNIX, TOOLTALK gets misdetected and misconfigured
+
+This problem manifested itself in the beta cycle as putting a literal
+LIB_TOOLTALK string into the Makefile.
+
 ** On HPUX, the HP C compiler might have a problem compiling some files
    with optimization.
 
 be set-UID to root, or non-root programs like Emacs will not be able
 to allocate ptys reliably.
 
+** Motif dialog boxes lose big time on Irix.
+
+Larry Auton <lda@control.att.com> writes:
+Beware of not specifying
+
+	--with-dialogs=athena
+
+if it builds with the motif dialogs [boom!] you're a dead man.
+
+** Beware of the default image & graphics library on Irix
+
+Richard Cognot <cognot@ensg.u-nancy.fr> writes:
+You *have* to compile your own jpeg lib. The one delivered with SGI
+systems is a C++ lib, which apparently XEmacs cannot cope with.
+
 ** Slow startup on Linux.
 
 People using systems based on the Linux kernel sometimes report that
 native_sound_lib=''
 # make normal error-checking be the default in alpha and beta versions, so
 # that bugs get noticed.  Change this for released versions.
-error_check_default='yes'
+error_check_default='no'
 error_check_extents=$error_check_default
 error_check_typecheck=$error_check_default
 error_check_bufpos=$error_check_default
 test "$with_dialogs"    = motif  && echo "  Using the Motif dialog boxes."
 test "$with_dialogs"    = athena && echo "  Using the Athena dialog boxes."
 test "$with_dialogs"    = athena3d && echo "  Using the Athena-3d dialog boxes."
-test "$with_pop"	= yes && "  Using POP for mail access"
-test "$with_kerberos"	= yes && "  Using Kerberos for POP authentication"
-test "$with_hesiod"	= yes && "  Using Hesiod to get POP server host"
+test "$with_pop"	= yes && echo "  Using POP for mail access"
+test "$with_kerberos"	= yes && echo "  Using Kerberos for POP authentication"
+test "$with_hesiod"	= yes && echo "  Using Hesiod to get POP server host"
 
 test "${use_union_type}"     = yes && echo "  Using the union type for Lisp_Objects."
 test "${debug}"              = yes && echo "  Compiling in extra code for debugging."
 native_sound_lib=''
 # make normal error-checking be the default in alpha and beta versions, so
 # that bugs get noticed.  Change this for released versions.
-error_check_default='yes'
+error_check_default='no'
 error_check_extents=$error_check_default
 error_check_typecheck=$error_check_default
 error_check_bufpos=$error_check_default
 test "$with_dialogs"    = motif  && echo "  Using the Motif dialog boxes."
 test "$with_dialogs"    = athena && echo "  Using the Athena dialog boxes."
 test "$with_dialogs"    = athena3d && echo "  Using the Athena-3d dialog boxes."
-test "$with_pop"	= yes && "  Using POP for mail access"
-test "$with_kerberos"	= yes && "  Using Kerberos for POP authentication"
-test "$with_hesiod"	= yes && "  Using Hesiod to get POP server host"
+test "$with_pop"	= yes && echo "  Using POP for mail access"
+test "$with_kerberos"	= yes && echo "  Using Kerberos for POP authentication"
+test "$with_hesiod"	= yes && echo "  Using Hesiod to get POP server host"
 
 test "${use_union_type}"     = yes && echo "  Using the union type for Lisp_Objects."
 test "${debug}"              = yes && echo "  Compiling in extra code for debugging."

etc/BETA

-				-*- mode:outline; minor-mode:outl-mouse -*-
-
-* Introduction
-==============
-
-You are running an experimental version of XEmacs.  Please do not
-report problems with Beta XEmacs to comp.emacs.xemacs.  Report them to
-xemacs-beta@xemacs.org.
-
-** XEmacs Beta Mailing List
-===========================
-
-*** Subscribing
----------------
-
-If you are not subscribed to the XEmacs beta list you should be.  Send
-an email message with a subject of `subscribe' (without the quotes) to
-xemacs-beta-request@xemacs.org and follow the directions.  You do not
-have to fill out the survey if you don't want to.
-
-*** Unsubscribing
------------------
-
-To unsubscribe from the list send an email message with a subject of
-`unsubscribe' (without the quotes) to xemacs-beta-request@xemacs.org.
-
-*** Administrivia
------------------
-
-The XEmacs beta list is managed by the SmartList mailing list package,
-and the usual SmartList commands work.  Do not send mailing list
-requests to the main address (xemacs-beta@xemacs.org), always send
-them to xemacs-beta-request@xemacs.org.  If you have problems with the
-list itself, they should be brought to the attention of the Mailing
-List manager Chuck Thompson <cthomp@xemacs.org>.
-
-
-** Beta Release Schedule
-========================
-
-The URL ftp://ftp.xemacs.org/pub/beta/README always contains the best
-estimate of when the next beta XEmacs will be released.  For weekend
-betas the release time is generally in the vicinity of 2PM to 5PM US
-Pacific Time (Universal Time minus 8 hours).  For weekday betas, the
-release time is generally in the vicinity of 8PM to Midnight US
-Pacific Time on the listed day.
-
-While 19.15 and 20.x are in parallel development, a simultaneous
-release day implies a release of 20.x first, followed a few hours
-later by 19.15.
-
-Betas are nominally a week apart, scheduled on every Saturday.
-Midweek releases are made when a serious enough problem warrants it.
-
-
-** Reporting Problems
-=====================
-
-The best way to get problems fixed in XEmacs is to submit good problem
-reports.  Since this is beta software problems are certain to exist.
-Please read through all of part II of the XEmacs FAQ for an overview
-of problem reporting.  Other items which are most important are:
-
-1.  Do not submit C stack backtraces without line numbers.  Since it
-    is possible to compile optimized with debug information with GCC
-    it is never a good idea to compile XEmacs without the -g flag.
-    XEmacs runs on a variety of platforms, and often it is not
-    possible to recreate problems which afflict a specific platform.
-    The line numbers in the C stack backtrace help isolate where the
-    problem is actually occurring.
- 
-2.  Attempt to recreate the problem starting with an invocation of
-    XEmacs with `xemacs -q -no-site-file'.  Quite often problems are
-    due to package interdependencies, and the like.  An actual bug in
-    XEmacs should be reproducible in a default configuration without
-    loading any special packages (or the one or two specific packages
-    that cause the bug to appear).
-
-3.  A picture can be worth a thousand words.  When reporting an
-    unusual display, it is generally best to capture the problem in a
-    screen dump and include that with the problem report.  The easiest
-    way to get a screen dump is to use the xv program and its grab
-    function.  Save the image as a GIF to keep bandwidth requirements
-    down without loss of information.  MIME is the preferred method
-    for making the image attachments.
-
-* Compiling Beta XEmacs
-=======================
-
-** Building an XEmacs from patches
-==================================
-
-All beta releases of XEmacs are included with patches from the
-previous version in an attempt to keep bandwidth requirements down.
-Patches should be applied with the GNU patch program in something like
-the following.  Let's say you're upgrading XEmacs 20.4-beta10 to
-XEmacs 20.4-beta11 and you have a full unmodified XEmacs 20.4-beta10
-source tree to work with.  Cd to the top level directory and issue the
-shell command:
-
-$ gunzip -c /tmp/xemacs-20.4-b10-20.4-b11.patch.gz | patch -p1
-
-After patching check to see that no patches were missed by doing
-$ find . -name \*.rej -print
-
-Any rejections should be treated as serious problems to be resolved
-before starting compilation.
-
-After seeing that there were no rejections, issue the command
-
-$ make all-elc
-
-and go play minesweep for awhile on an older XEmacs while the binary
-is rebuilt.
-
-** Building an XEmacs from a full distribution
-==============================================
-
-Locate a convenient place where you have at least 100MB of free space
-and issue the command
-
-$ gunzip -c /tmp/xemacs-20.4-b11.tar.gz | tar xvf -
-
-(or the simpler `tar zxvf /tmp/xemacs-20.4-b11.tar.gz' if you use GNU
-tar).
-
-cd to the top level directory and issue an appropriate configure
-command.  The maintainer uses the following at the time of this
-writing:
-
-./configure --with-offix --with-mule=yes --with-dialogs=athena3d \
-	--cflags="-m486 -g -O4 -fno-strength-reduce -malign-loops=2 \
-	-malign-jumps=2 -malign-functions=2" --with-sound=no \
-	--with-xface=yes --error-checking=all --debug=yes \
-	--with-scrollbars=athena3d \
-	--with-canna=yes --with-wnn=yes --wnn-includes=/usr/X11R6/include/wnn
-
-Save the output from configure that looks something like:
-Configured for `i586-unknown-linux2.0.28'.
-
-  Where should the build process find the source code?    /usr/src/xemacs-20.0
-  What installation prefix should install use?            /usr/local
-  What operating system and machine description files should XEmacs use?
-        `s/linux.h' and `m/intel386.h'
-  What compiler should XEmacs be built with?              gcc -m486 -g -O4 -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2
-  Should XEmacs use the GNU version of malloc?            yes
-  Should XEmacs use the relocating allocator for buffers? yes
-  What window system should XEmacs use?                   x11
-  Where do we find X Windows header files?                /usr/X11R6/include
-  Where do we find X Windows libraries?                   /usr/X11R6/lib
-  Compiling in support for XAUTH.
-  Compiling in support for XPM.
-  Compiling in support for X-Face headers.
-  Compiling in support for GIF image conversion.
-  Compiling in support for JPEG image conversion.
-  Compiling in support for PNG image conversion.
-  Compiling in support for Berkeley DB.
-  Compiling in support for GNU DBM.
-  Compiling in Mule (multi-lingual) support.
-  Compiling in support for OffiX.
-  Using the Lucid menubar.
-  Using the Athena-3d scrollbar.
-  Using the Athena-3d dialog boxes.
-
-Then type make and you should have a working XEmacs.
-
-After you have verified that you have a functional editor, fire up
-your favorite mail program and send a build report to
-xemacs-beta@xemacs.org.  The build report should include
-
-1. Your hardware configuration (OS version, etc.)
-
-2. Version numbers of software in use (X11 version, system library
-   versions if appropriate, graphics library versions if appropriate).
-   If you're on a system like Linux, include all the version numbers
-   you can because chances are it makes a difference.
-
-3. The options given to configure
-
-4. The configuration report illustrated above
-
-5. Any other unusual items you feel should be brought to the attention
-   of the developers.
 								-*- text -*-
 
-	   XEmacs availability information.  Last Modified: 10-feb-96.
+	   XEmacs availability information.  Last Modified: 17-Apr-97.
 
 XEmacs is available via anonymous FTP from ftp.xemacs.org (128.174.252.16)
 in the directory /pub/xemacs/.
 ftp.xemacs.org is the primary distribution point, but you may find
 copies of it at other sites as well.  Some sites to try include:
 
-	ftp.ai.mit.edu:/pub/xemacs/
-	ftp.uu.net:/systems/gnu/xemacs/
-	ftp.sunet.se:/pub/gnu/xemacs/
-	ftp.cenatls.cena.dgac.fr:/pub/Emacs/xemacs/
-	liasun3.epfl.ch:/pub/gnu/xemacs/
-	ftp.th-darmstadt.de:/pub/editors/xemacs/
-	audrey.levels.unisa.edu.au:/xemacs/
-	sunsite.doc.ic.ac.uk:/gnu/xemacs/
-	uiarchive.cso.uiuc.edu:/pub/packages/xemacs/
-	ftp.technion.ac.il:/pub/unsupported/gnu/xemacs/
-	thphys.irb.hr:/pub/xemacs/
+	ftp://ftp.ai.mit.edu:/pub/xemacs/
+	ftp://ftp-digital.cern.ch:/pub/beta/xemacs-20.0/
+	ftp://ftp.uu.net:/systems/gnu/xemacs/
+	ftp://ftp.sunet.se:/pub/gnu/xemacs/
+	ftp://tp.cenatls.cena.dgac.fr:/pub/Emacs/xemacs/
+	ftp://ftp.th-darmstadt.de:/pub/editors/xemacs/
+	ftp://sunsite.doc.ic.ac.uk:/gnu/xemacs/
+	ftp://ftp.ibp.fr:/pub/emacs/xemacs/
+	ftp://uiarchive.cso.uiuc.edu:/pub/packages/xemacs/
+	ftp://ftp.technion.ac.il:/pub/unsupported/gnu/xemacs/
+	ftp://thphys.irb.hr:/pub/xemacs/
+	ftp://sunsite.cnlab-switch.ch/mirror/xemacs/
+	ftp://ftp.unicamp.br:/pub/xemacs/r20.0/
+	ftp://ftp.usyd.edu.au:/pub/Xemacs/
+	ftp://ftp.lab.kdd.co.jp/xemacs/
+	ftp://SunSITE.sut.ac.jp/pub/archives/xemacs/
+	ftp://sunsite.icm.edu.pl/pub/unix/xemacs
 
 The most up-to-date list of distribution sites can always be found on
 the XEmacs WWW page, http://www.xemacs.org/.  Try to pick a site
 	ftp://ftp.usyd.edu.au:/pub/Xemacs/
 	ftp://ftp.lab.kdd.co.jp/xemacs/
 	ftp://SunSITE.sut.ac.jp/pub/archives/xemacs/
+	ftp://sunsite.icm.edu.pl/pub/unix/xemacs
 
 
 The most up-to-date list of distribution sites can always be found on
--*- mode:outline; minor-mode:outl-mouse -*-
-
+-*- mode:outline -*-
+
 * Introduction
 ==============
 
 This file presents some general information about XEmacs.  It is primarily
 about the evolution of XEmacs and its release history.
 
-There are five sections.
+There are three sections.
 
     Introduction................(this section) provides an introduction
 
     Using Outline Mode..........briefly explains how to use outline mode
 
-    The History of XEmacs.......some historical notes
-
-    What's Different?...........new or changed capabilities
-
     XEmacs Release Notes........details of the changes between releases
 
 New users should look at the next section on "Using Outline Mode".  You will
 be more efficient when you can navigate quickly through this file.  Users
 interested in some of the details of how XEmacs differs from GNU Emacs
-should read the section "What's Different?".  Users who would to know which
-capabilities have been introduced in each release should look at the
-appropriate subsection of the "XEmacs Release Notes."
+should read the section "What's Different?".
+
+Users who would like to know which capabilities have been introduced
+in each release should look at the appropriate subsection of the
+"XEmacs Release Notes."  Starting with version 20.0, XEmacs includes
+ChangeLogs, which can be consulted for a more detailed list of
+changes.
 
     N.B.  The term "FSF GNU Emacs" refers to any release of Emacs Version 19
     from the Free Software Foundation's GNU Project. (We do not say just
     "Lucid Emacs".  The predecessor of all these program is called "Emacs 18".
     When no particular version is implied, "Emacs" will be used.
 
-
+
 * Using Outline Mode
 ====================
 
 C-c C-e	   make it visible.
 C-c C-l	   make body under heading and under its subheadings invisible.
 		     The subheadings remain visible.
-C-c C-k  make all subheadings at all levels visible.x1
-
-
-* XEmacs Release Notes
-======================
-
-** Future Plans for XEmacs
+C-c C-k  make all subheadings at all levels visible.
+
+
+			 XEmacs Release Notes
+			 ====================
+
+* Future Plans for XEmacs
 ==========================
 
-The next `feature' will be the unbundling of XEmacs into constituent
-installable packages.
-
-We are working on improving the Mule support in future releases:
-
--- Other input methods, such as skk, will be supported.
-
--- Wnn support will be made more solid.
-
--- More user-level documentation on using Mule.
-
-** Major Differences between 20.0 and 20.1
-
-*** User Interface changes.
-
-The keysyms mouse-1, mouse-2, mouse-3 and down-mouse-1, down-mouse-2,
-and down-mouse-3 have been added for Emacs compatibility.
-
-A new user customizable variable `signal-error-on-buffer-boundary' has
-been added.  Set this to nil to avoid XEmacs usual lossage of zmacs
-region when moving up against a buffer boundary.
-
-The logo has been changed, and the default background color is now
-shade of gray instead of white.
-
-Many packages have been add and upgraded.
-
--- Gnus-5.4.43  Courtesy of Lars Magne Ingebrigtsen
-
-*** Gnus changes.
-
-**** nntp.el has been totally rewritten in an asynchronous fashion.
-
-**** Article prefetching functionality has been moved up into 
+** XEmacs will be unbundled into constituent installable packages.
+
+The XEmacs distribution has grown very large.  We plan the future
+distribution to contain a much smaller amount of code for basic
+functionality, with all the popular Lisp packages being available in
+the form of easy-to-install add-ons.
+
+** Autoconf 2 will be supported, to make XEmacs a more behaved
+denizen of the free software community.
+
+** We are working on improving the Mule support in future releases:
+
+*** Other input methods, such as skk, will be supported.
+
+*** Wnn support will be made more solid.
+
+*** More user-level documentation on using Mule.
+
+
+* Changes in XEmacs 20.1
+========================
+
+** The logo has been changed, and the default background color is
+now a shade of gray instead of the eye-burning white.
+
+The sample .Xdefaults and .emacs files contain examples of how to
+revert to the old background color.
+
+** Default modeline colors are now less of a color-salad.
+
+** The command `display-time' now draws a pretty image in the modeline
+when new mail arrives.  It also supports balloon-help messages.
+
+** Various commands that were previously disabled are now enabled, like
+eval-expression (`M-:') and upcase-region (`C-x C-u')/downcase-region
+(`C-x C-l').
+
+** Numerous causes of crashes have been fixed.  XEmacs should now be
+even more stable than before.
+
+** The XEmacs build process has been changed to make site
+administration easier.  See lisp/site-load.el for details.
+
+** It is now possible to customize the functions called by XEmacs toolbar.
+
+Type `M-x customize RET toolbar RET' to customize it.  Customizations
+include the choice of functions for the buttons to invoke, as well as
+a wide choice of mailers and newsreaders to invoked by the respective
+functions.
+
+** `temp-buffer-shrink-to-fit' now defaults to nil.
+
+There are unresolved issues regarding this feature, which is why the
+XEmacs developers decided to disable it by default.
+
+** `ps-print-color-p' now defaults to nil.
+
+This is because the new default background color is non-white.  The
+`Printing Options' in the `Options' menu now include an item that
+enables color printing, and sets the white background.
+
+** `line-number-mode' should be used to get line numbers in the
+modeline, and `column-number-mode' to get column numbers.  Line
+numbers now number from 1 by default.
+
+** font-lock-mode will now correctly fontify `int a, b, c;'
+expressions in C mode.
+
+** The blinking cursor is always "on" during movement.
+
+** A number of new packages are added, and many packages were
+updated.
+
+** Gnus-5.4.45, courtesy of Lars Magne Ingebrigtsen
+
+*** nntp.el has been totally rewritten in an asynchronous fashion.
+
+*** Article prefetching functionality has been moved up into 
 Gnus.  
 
-**** Scoring can now be performed with logical operators like 
+*** Scoring can now be performed with logical operators like 
 `and', `or', `not', and parent redirection.
 
 *** Article washing status can be displayed in the
 article mode line.
 
-**** gnus.el has been split into many smaller files.
-
-**** Suppression of duplicate articles based on Message-ID.
+*** gnus.el has been split into many smaller files.
+
+*** Suppression of duplicate articles based on Message-ID.
 
 (setq gnus-suppress-duplicates t)
 
-**** New variables for specifying what score and adapt files
+*** New variables for specifying what score and adapt files
 are to be considered home score and adapt files.  See
 `gnus-home-score-file' and `gnus-home-adapt-files'.
 
-**** Groups can inherit group parameters from parent topics.
-
-**** Article editing has been revamped and is now usable.
-
-**** Signatures can be recognized in more intelligent fashions.
+*** Groups can inherit group parameters from parent topics.
+
+*** Article editing has been revamped and is now usable.
+
+*** Signatures can be recognized in more intelligent fashions.
 See `gnus-signature-separator' and `gnus-signature-limit'.
 
-**** Summary pick mode has been made to look more nn-like.
+*** Summary pick mode has been made to look more nn-like.
 Line numbers are displayed and the `.' command can be
 used to pick articles.
 
-**** Commands for moving the .newsrc.eld from one server to
+*** Commands for moving the .newsrc.eld from one server to
 another have been added.
 
     `M-x gnus-change-server'
 
-**** A way to specify that "uninteresting" fields be suppressed when
+*** A way to specify that "uninteresting" fields be suppressed when
 generating lines in buffers.
 
-**** Several commands in the group buffer can be undone with
+*** Several commands in the group buffer can be undone with
 `M-C-_'.
 
-**** Scoring can be done on words using the new score type `w'.
-
-**** Adaptive scoring can be done on a Subject word-by-word basis:
+*** Scoring can be done on words using the new score type `w'.
+
+*** Adaptive scoring can be done on a Subject word-by-word basis:
 
     (setq gnus-use-adaptive-scoring '(word))
 
-**** Scores can be decayed.
+*** Scores can be decayed.
  
     (setq gnus-decay-scores t)
 
-**** Scoring can be performed using a regexp on the Date header.  The
+*** Scoring can be performed using a regexp on the Date header.  The
 Date is normalized to compact ISO 8601 format first.
 
-**** A new command has been added to remove all data on articles from
+*** A new command has been added to remove all data on articles from
 the native server.
 
    `M-x gnus-group-clear-data-on-native-groups'
 
-**** A new command for reading collections of documents
+*** A new command for reading collections of documents
 (nndoc with nnvirtual on top) has been added -- `M-C-d'.
 
-**** Process mark sets can be pushed and popped.
-
-**** A new mail-to-news backend makes it possible to post
+*** Process mark sets can be pushed and popped.
+
+*** A new mail-to-news backend makes it possible to post
 even when the NNTP server doesn't allow posting.
 
-**** A new backend for reading searches from Web search engines
+*** A new backend for reading searches from Web search engines
 (DejaNews, Alta Vista, InReference) has been added.
 
     Use the `G w' command in the group buffer to create such
     a group.
 
-**** Groups inside topics can now be sorted using the standard
+*** Groups inside topics can now be sorted using the standard
 sorting functions, and each topic can be sorted independently.
 
     See the commands under the `T S' submap.
 
-**** Subsets of the groups can be sorted independently.
+*** Subsets of the groups can be sorted independently.
 
     See the commands under the `G P' submap.
 
-**** Cached articles can be pulled into the groups.
+*** Cached articles can be pulled into the groups.
   
     Use the `Y c' command.
 
-**** Score files are now applied in a more reliable order.
-
-**** Reports on where mail messages end up can be generated.
+*** Score files are now applied in a more reliable order.
+
+*** Reports on where mail messages end up can be generated.
 
     `M-x nnmail-split-history'
 
-**** More hooks and functions have been added to remove junk
+*** More hooks and functions have been added to remove junk
 from incoming mail before saving the mail.
  
     See `nnmail-prepare-incoming-header-hook'.
 
-**** The nnml mail backend now understands compressed article files.
-
--- custom-1.82 Courtesy of Per Abrahamsen
+*** The nnml mail backend now understands compressed article files.
+
+** Custom 1.84, courtesy of Per Abrahamsen
 
 The Customize library enables Emacs Lisp programmers to specify types
-of their variables, so that the users can customize them.  For
-example, the old declaration
+of their variables, so that the users can customize them.
+
+Invoke the customizations buffer using the menus (Customize is at the
+top of the Options menu), or using commands `M-x customize',
+`M-x customize-variable' and `M-x customize-face'.  Customize can save
+the changed settings to your `.emacs' file.
+
+Customize is now the preferred way to change XEmacs settings.  Tens of
+packages have been converted to take advantage of the Customize
+features, including Gnus, Message, Supercite, Psgml, Comint, W3,
+cc-mode (and many other programming language modes), ispell.el,
+ps-print.el, id-select.el, most of the programming language modes, and
+many many more.
+
+See the "Lisp Changes" section later for a short description of why
+and how to add custom support to your Lisp packages.  Custom is also
+documented in the XEmacs info manuals.
+
+** W3-3.0.80, courtesy of William Perry
+
+Version 3 of Emacs/W3, the Emacs World Wide Web browser, has been
+included.  It is significantly faster than any of the previous
+versions, and contains numerous new features.
+
+** AUCTeX-9.7k, courtesy of Per Abrahamsen
+
+AUC TeX is a comprehensive customizable integrated environment for
+writing input files for LaTeX using GNU Emacs.
+
+AUC TeX lets you run TeX/LaTeX and other LaTeX-related tools, such as
+a output filters or post processor from inside Emacs.  Especially
+`running LaTeX' is interesting, as AUC TeX lets you browse through the
+errors TeX reported, while it moves the cursor directly to the
+reported error, and displays some documentation for that particular
+error.  This will even work when the document is spread over several
+files.
+
+AUC TeX automatically indents your `LaTeX-source', not only as you
+write it -- you can also let it indent and format an entire document.
+It has a special outline feature, which can greatly help you `getting
+an overview' of a document.
+
+Apart from these special features, AUC TeX provides an large range of
+handy Emacs macros, which in several different ways can help you write
+your LaTeX documents fast and painless.
+
+** redo.el-1.01, courtesy of Kyle Jones
+
+redo.el is a package that implements true redo mechanism in XEmacs
+buffers.  Once you load it from your `.emacs', you can bind the `redo'
+command to a convenient key to use it.
+
+Emacs' normal undo system allows you to undo an arbitrary number of
+buffer changes.  These undos are recorded as ordinary buffer changes
+themselves.  So when you break the chain of undos by issuing some
+other command, you can then undo all the undos.  The chain of recorded
+buffer modifications therefore grows without bound, truncated only at
+garbage collection time.
+
+The redo/undo system is different in two ways:
+
+*** The undo/redo command chain is only broken by a buffer modification.
+
+You can move around the buffer or switch buffers and still come back
+and do more undos or redos.
+
+*** The `redo' command rescinds the most recent undo without
+recording the change as a _new_ buffer change.
+
+It completely reverses the effect of the undo, which includes making
+the chain of buffer modification records shorter by one, to counteract
+the effect of the undo command making the record list longer by one.
+
+** edmacro.el-3.09, courtesy of Dave Gillespie, ported to XEmacs by
+Hrvoje Niksic.
+
+Edmacro is a utility that provides easy editing of keyboard macros.
+Originally written by Dave Gillespie, it has been mostly rewritten by
+Hrvoje Niksic, in order to make it distinguish characters and integer,
+as well as to adapt it to XEmacs keysyms.
+
+Press `C-x C-k' to invoke the `edit-kbd-macro' command that lets you
+edit old as well as define new keyboard macros.  You can also edit the
+last 100 keystrokes and insert them into a macro to be bound to a key
+or named as a command.  The recorded/edited macros can be dumped to
+`.emacs' file.
+
+** xmine.el-1.7, courtesy of Jens Lautenbacher
+
+XEmacs now includes a minesweeper game with a full-featured graphics
+and mouse interface.  Invoke with `M-x xmine'.
+
+** efs-1.15 courtesy of Andy Norman and Michael Sperber
+
+EFS is now integrated with XEmacs, and replaces the old ange-ftp.  It
+has many more features, including info documentation, support for many
+different FTP servers, and integration with dired.
+
+** mic-paren.el-1.3.1, courtesy of Mikael Sj�din
+** hyperbole-4.022, courtesy of Bob Weiner
+** hm--html-menus-5.3, courtesy of Heiko Muenkel
+** python-mode.el-2.90, courtesy of Barry Warsaw
+** balloon-help-1.05, courtesy of Kyle Jones
+** xrdb-mode.el-1.21, courtesy of Barry Warsaw
+** igrep.el-2.56, courtesy of Kevin Rodgers
+** frame-icon.el, courtesy of Michael Lamoureux and Bob Weiner
+** itimer.el-1.05, courtesy of Kyle Jones
+** VM-6.26, courtesy of Kyle Jones
+** OO-Browser-2.10, courtesy of Bob Weiner
+** viper-2.93, courtesy of Michael Kifer
+** ediff-2.64, courtesy of Michael Kifer
+** detached-minibuf-1.1, courtesy of Alvin Shelton
+** whitespace-mode.el, courtesy of Heiko Muenkel
+** winmgr-mode.el, courtesy of David Konerding, Stefan Strobel & Barry Warsaw
+** fast-lock.el-3.11.01, courtesy of Simon Marshall
+** lazy-lock.el-1.16, courtesy of Simon Marshall
+** browse-cltl2.el-1.1, courtesy of Holger Schauer
+** eldoc.el-1.10, courtesy of Noah Friedman
+** tm-7.105, courtesy of MORIOKA Tomohiko
+** verilog-mode.el, courtesy of Michael McNamara & Adrian Aichner
+** overlay.el, courtesy of Joseph Nuspl
+
+
+* Lisp and internal changes in XEmacs 20.1
+==========================================
+
+** `defcustom' and `defgroup' can now be used to specify types and
+placement of the user-settable variables.
+
+You can now specify the types of user-settable variables in your Lisp
+packages to be customized by users.  To do so, use `defcustom' as a
+replacement for `defvar'.
+
+For example, the old declaration:
 
 (defvar foo-blurgoze nil
   "*non-nil means that foo will act very blurgozely.")
 
-now becomes:
+can be rewritten as:
 
 (defcustom foo-blurgoze nil
   "*non-nil means that foo will act very blurgozely."
-  :type 'boolean)
-
-Now the user can type `M-x customize RET foo-blurgoze RET' to
-customize the variable.  Other, more complex data structures can be
-represented and customized too, e.g.
+  :type 'boolean
+  :group 'foo)
+
+From a package writer's point of view, nothing has been changed
+However, the user can now type `M-x customize RET foo-blurgoze RET' to
+customize the variable.
+
+Other, more complex data structures can be described with `defcustom'
+too, for instance:
 
 (defcustom foo-hairy-alist '((somekey . "somestring")
                              (otherkey . (foo-doit))
                              (thirdkey . [1 2 3]))
-"*Alist describing the hairy options of foo package.
+"*Alist describing the hairy options of the foo package.
 The CAR of each element is a symbol, whereas the CDR can be either a
-string, a form to evaluate, or a vector of integers."
+string, a form to evaluate, or a vector of integers.
+New Emacs users simply adore alists like this one."
   :type '(repeat (cons (symbol :tag "Key")
                        (choice string
                                (vector (repeat :inline t integer))
-                               sexp))))
-
-The user will be able to add and remove the entries to the list, as
-well as save the settings to his/her `.emacs'.
-
-The Customize now has its submenu at the top of the Options menu, and
-is the preferred way to change XEmacs settings.  Tens of packages have
-been converted to take advantage of the Customize features, including:
-Gnus, Message, Supercite, Psgml, Comint, Calendar, W3, cc-mode (and
-many other programming language modes), ispell.el, ps-print.el,
-id-select.el, most of the programming language modes, and many many
-more.
-
-been converted to use the Customize features.
-
--- mic-paren.el-1.3.1  Courtesy of Mikael Sj�din
--- hyperbole-4.022 Courtesy of Bob Weiner
-
--- W3-3.0.80 Courtesy of William Perry
-
-Version 3 of Emacs/W3, the Emacs World Wide Web browser, has been
-included.  It is much faster than any of the previous versions, and
-contains numerous other features.
-
--- AUCTeX-9.7k Courtesy of Per Abrahamsen
-
-   AUC TeX is a comprehensive customizable integrated environment for
-writing input files for LaTeX using GNU Emacs.
-
-   AUC TeX lets you run TeX/LaTeX and other LaTeX-related tools, such
-as a output filters or post processor from inside Emacs.  Especially
-`running LaTeX' is interesting, as AUC TeX lets you browse through the
-errors TeX reported, while it moves the cursor directly to the reported
-error, and displays some documentation for that particular error.  This
-will even work when the document is spread over several files.
-
-   AUC TeX automatically indents your `LaTeX-source', not only as you
-write it -- you can also let it indent and format an entire document.
-It has a special outline feature, which can greatly help you `getting an
-overview' of a document.
-
-   Apart from these special features, AUC TeX provides an large range of
-handy Emacs macros, which in several different ways can help you write
-your LaTeX documents fast and painless.
-
--- hm--html-menus-5.3 Courtesy of Heiko Muenkel
--- python-mode.el-2.90 Courtesy of Barry Warsaw
--- balloon-help-1.04 Courtesy of Kyle Jones
--- xrdb-mode.el-1.21 Courtesy of Barry Warsaw
--- igrep.el-2.56 Courtesy of Kevin Rodgers
--- frame-icon.el Courtesy of Michael Lamoureux and Bob Weiner
--- itimer.el-1.01 Courtesy of Kyle Jones
-
--- redo.el-1.01 Courtesy of Kyle Jones
-
-redo.el is a package that implements true redo mechanism in XEmacs
-buffers.  You can bind the `redo' command to a convenient key to use
-it.
-
-Emacs' normal undo system allows you to undo an arbitrary
-number of buffer changes.  These undos are recorded as ordinary
-buffer changes themselves.  So when you break the chain of
-undos by issuing some other command, you can then undo all
-the undos.  The chain of recorded buffer modifications
-therefore grows without bound, truncated only at garbage
-collection time.
-
-The redo/undo system is different in two ways:
-  1. The undo/redo command chain is only broken by a buffer
-     modification.  You can move around the buffer or switch
-     buffers and still come back and do more undos or redos.
-  2. The `redo' command rescinds the most recent undo without
-     recording the change as a _new_ buffer change.  It
-     completely reverses the effect of the undo, which
-     includes making the chain of buffer modification records
-     shorter by one, to counteract the effect of the undo
-     command making the record list longer by one.
-
--- VM-6.15 Courtesy of Kyle Jones
--- OO-Browser-2.10 Courtesy of Bob Weiner
--- viper-2.93 Courtesy of Michael Kifer
--- ediff-2.64 Courtesy of Michael Kifer
-
--- edmacro.el-3.05 Courtesy of Dave Gillespie, port to XEmacs by
-   Hrvoje Niksic.
-
-Edmacro is a utility that provides easy editing of keyboard macros.
-Press `C-x C-k' to invoke the `edit-kbd-macro' command that lets you
-edit and define new keyboard macros.  You can also edit the last 100
-keystrokes and insert them into a macro to be bound to a key.  The
-macros can be conveniently dumped to `.emacs' file.
-
-The `read-kbd-macro' function is now available in XEmacs.  The short
-form `kbd' that evaluates at compile-time can be used instead.
-
--- detached-minibuf.el Courtesy of Alvin Shelton
--- whitespace-mode.el Courtesy of Heiko Muenkel
--- winmgr-mode.el Courtesy of David Konerding, Stefan Strobel & Barry Warsaw
-
--- xmine.el-1.4 Courtesy of Jens Lautenbacher
-
-XEmacs now includes a minesweeper game with a full-featured graphics
-and mouse interface.  Invoke with `M-x xmine'.
-
--- fast-lock.el-3.11.01 Courtesy of Simon Marshall
--- lazy-lock.el-1.16 Courtesy of Simon Marshall
--- browse-cltl2.el-1.1 Courtesy of Holger Schauer
--- eldoc.el-1.8 Courtesy of Noah Friedman
--- tm-7.105 Courtesy of MORIOKA Tomohiko
-
--- efs-1.15 courtesy of Andy Norman and Michael Sperber
-
-EFS is now integrated with XEmacs, and replaces the old ange-ftp.  It
-has many more features, including info documentation, support for many
-different FTP servers, and integration with dired.
-
--- verilog-mode.el Courtesy of Michael McNamara & Adrian Aichner
-
--- overlay.el Courtesy of Joseph Nuspl
-
-The overlay support in XEmacs is now functional.  Overlays are
-implemented on top of native extents, and can be used as a GNU
+                               sexp)))
+  :group 'foo)
+
+The user will be able to add and remove the entries to the list in a
+visually appealing way, as well as save the settings to his/her
+`.emacs'.
+
+Note that `defcustom' will also be included in GNU Emacs 19.35, and
+that both XEmacs and GNU Emacs will be using it in the future.
+Although the user-interface of customize may change, the Lisp
+interface will remain the same.  This is why we recommend that you use
+`defcustom' for user-settable variables in your new Lisp packages.
+
+** The `read-kbd-macro' function is now available.
+
+The `read-kbd-macro' function (and its shorter-named equivalent `kbd')
+from the edmacro package is now available in XEmacs.  For example:
+
+(define-key foo-mode-map (kbd "C-c <up>") 'foo-up)
+
+is the equivalent of
+
+(define-key foo-mode-map [(control ?c) up] 'foo-up)
+
+Using `read-kbd-macro' and `kbd' is not necessary for GNU Emacs
+compatibility (GNU Emacs supports the XEmacs-style keysyms), but adds
+to clarity.
+
+For example, (kbd "C-?") is easier to read than [(control ??)].  The
+full description of the syntax of keybindings accepted by
+`read-kbd-macro' is documented in the docstring of `edmacro-mode'.
+
+** Overlay compatibility is implemented.
+
+The overlay support in XEmacs is now functional.  Written by Joe
+Nuspl, the overlay compatibility library overlay.el is implemented on
+top of the native XEmacs extents, and can be used as a GNU
 Emacs-compatible way of changing display properties.
 
-*** Other changes
-
-First alpha level support of MS Windows NT is available courtesy of
-David Hobley.
-
-Wnn/egg now has initial support Courtesy of Jareth Hein.
-
-The XEmacs build process has been changed to make site administration
-easier.  See lisp/site-load.el for details.
-
-Various functions that were previously disabled are now enabled like
-eval-expression (M-:) and upcase-region (C-x C-u)/downcase-region (C-x
-C-l).
-
-** Major Differences Between 19.14 and 20.0
+** You should use keysyms kp-* (kp-1, kp-2, ..., kp-enter etc.)
+rather than the old form kp_*.  The old form is retained for
+backwards compatibility, but is obsolete.  The new form is also
+compatible with GNU Emacs.
+
+** The keysyms mouse-1, mouse-2, mouse-3 and down-mouse-1,
+down-mouse-2, and down-mouse-3 have been added for GNU Emacs
+compatibility.
+
+** A new user variable `signal-error-on-buffer-boundary' has been
+added.
+
+Set this to variable to nil to avoid XEmacs usual lossage of zmacs
+region when moving up against a buffer boundary.
+
+** The `eval-after-load' and `eval-next-after-load' functions are
+now available.
+
+** A bug that prevented `current-display-table' to be correctly set
+with `set-specifier' has been fixed.
+
+** The bug in easymenu which prevented multiple menus from being
+accessible through button3 has been fixed.
+
+You can now safely use easymenu to define multiple menu entries in a
+compatible way, with the added menus accessible via button3 as local
+submenus.
+
+** Many bugs in the scrollbar code have been fixed.
+
+** First alpha level support of MS Windows NT is available, courtesy
+of David Hobley.
+
+** Wnn/egg now has initial support Courtesy of Jareth Hein.
+
+** Some old non-working code has been removed until someone chooses
+to work on it.
+
+This includes much of the NeXTStep stuff.  The VMS support is also
+likely to be removed in the future.
+
+** Many files have been purged out of the etc/ directory.
+
+If you still need the purged files, look for them in the GNU Emacs
+distribution.
+
+
+* Major Differences Between 19.14 and 20.0
+===========================================
 
 XEmacs 20.0 is the first public release to have support for MULE
 (Multi-Lingual Emacs).  The --with-mule configuration flag must be

etc/OTHER.EMACSES

-How is this Emacs different from all other Emacses?  -*-Outline-*-
-
-This file describes the differences between GNU Emacs 19, Twenex
-Emacs, Gosling Emacs (including the commercial versions by Unipress)
-and CCA Emacs.
-
-* Copyright (c) 1985 Richard M. Stallman
-
-   Permission is granted to anyone to make or distribute verbatim copies
-   of this document as received, in any medium, provided that the
-   copyright notice and permission notice are preserved,
-   and that the distributor grants the recipient permission
-   for further redistribution as permitted by this notice.
-
-   Permission is granted to distribute modified versions
-   of this document, or of portions of it,
-   under the above conditions, provided also that they
-   carry prominent notices stating who last changed them.
-
-Updated March 1993 for Emacs 19 by Eric S. Raymond
-
-
-* How is this Emacs different from Twenex Emacs?
-
-** Fundamental concepts.
-
-*** There is no concept of "typeout" in GNU Emacs.
-
-Any time that a command wants to display some output,
-it creates a buffer (usually with a name surrounded by asterisks)
-and displays it in a window.
-
-This provides some advantages:
- you can edit some more while looking at the output;
- you can copy parts of the output into other buffers.
-
-It also has a disadvantage that you must type a command
-in order to make the output disappear.
-You can use C-x 1 to get rid of all windows except the
-selected one.  To be more selective, you can switch to
-the window you want to get rid of and then type C-x 0
-(delete-window).
-
-You also need to type a command to scroll the other
-window if not all the output fits in it.  Meta-Control-v
-will usually do the job.
-
-*** There is no concept of a "subsystem" in GNU Emacs.
-
-Where Twenex Emacs would use a subsystem, GNU Emacs
-instead creates a buffer and redefines commands in it.
-
-For example, when you send mail in GNU Emacs, you use
-a buffer named *mail* which is in Mail Mode.  You can
-switch away from this buffer to any other buffer and
-resume normal editing; then switch back and resume
-composing mail.  You do not have to "exit" from
-composing mail in order to do ordinary editing.
-
-This has many advantages, but it also has a disadvantage:
-Subsystems in Emacs tend to have "exit" commands that return you
-to whatever you were doing before entering the subsystem.
-In GNU Emacs the idea of what to return to is not well defined,
-so it is not clear what an "exit" command should do.
-The only way to "exit" in general is to type C-x b, C-x C-f, or
-some other suitable command to switch buffers.  Some
-subsystem-like major modes, such as Info and Mail mode, provide
-commands to "exit" by switching to the previously selected
-buffer.
-
-*** Files are always visited in their own buffers.
-
-Beginning users of Twenex Emacs were told how to edit
-using a single buffer and reading one file after another
-into that buffer.  Use of a new buffer for each file was
-regarded as a more advanced mode.
-
-In GNU Emacs, the idea of using a single buffer for various
-files, one by one, has been dropped, given that the address
-space is expected to be large enough for many buffers.  C-x
-C-f (find-file), which behaves nearly the same as in Twenex
-Emacs, is in GNU Emacs the canonical way for all users to
-visit files.
-
-Various commands need to read files into Emacs in the course
-of their execution.  In Twenex Emacs the user must tell them
-whether to reuse buffers or create new ones, using the variable
-Tags Find File.  In GNU Emacs, these commands always use
-C-x C-f.
-
-The command C-x C-v does still exist; it kills the current
-buffer and reads the specified file into a new buffer.
-It is equivalent to kill-buffer followed by find-file.
-
-Since there is no reusing of buffers, there is no point in
-calling the initial buffer "main".  So the initial buffer
-in GNU Emacs is called "*scratch*" and is intended for typing
-Lisp expressions to be evaluated.
-
-*** File name defaulting.
-
-GNU Emacs records a separate working directory for each buffer.
-Normally this is the directory on which the buffer's file
-resides; for buffers not visiting any file, it is copied from
-the buffer that was current when it was created.  The current buffer's
-working directory can be printed with M-x pwd and set with M-x cd.
-
-GNU Emacs shows you the default directory by inserting it in
-the minibuffer when a file name is being read.  You can type
-the filename you want at the end of the default as if the
-default were not there, or you can edit and alter the default.
-
-If you want file /lose/big when the default /foo/defaultdir/
-has been inserted for you, you need not kill the default; simply
-type at the end of it: /foo/defaultdir//lose/big.  Such a file
-name is not ordinarily considered valid, but GNU Emacs
-considers it equivalent to /lose/big.
-
-Likewise, if you want file quux in your home directory, just add
-~/quux to the end of the supplied text, to get
-/foo/defaultdir/~/quux.  GNU Emacs sees "/~" and throws away
-everything before the "~".
-
-You can refer to environment variables also within file names.
-$ followed by the environment variable name is replaced by the
-variable's value.  The variable name should either be followed
-by a nonalphanumeric character (which counts as part of the
-file name) or be surrounded by braces {...} (which do not count
-as part of the file name).  Thus, if variable USER has value "rms",
-"x/$USER-foo" is expanded to "x/rms-foo", and "x${USER}foo"
-is expanded to "xrmsfoo".  Note that this substitution is not
-performed by the primitive file operation functions of GNU Emacs,
-but rather by the interactive file name reader.  It is also
-available as a separate primitive, in the function
-substitute-in-file-name.
-
-*** Exit commands C-z, C-x C-c and C-x C-z.
-
-There are two ways to exit GNU Emacs: killing and suspending.
-Killing is like what Control-c does to ordinary Unix programs.
-In GNU Emacs, you type C-x C-c to kill it.  (This offers to
-save any modified file buffers before really killing Emacs.)
-Suspending is like what Control-z does to ordinary Unix programs.
-To suspend GNU Emacs, type C-x C-z, or type just C-z.
-Note that C-z suspends ordinary programs instantly, but
-Emacs does not suspend until it reads the C-z.
-
-Usually it is better to suspend: once a system is smart
-enough to have job control, why ever kill an editor?
-You'll just have to make a new one in a minute.
-This is why the convenient command C-z is provided for
-suspending.
-
-C-c is used as a prefix key for mode-specific commands and for users'
-own commands.  We deliberately do not make C-c ever kill Emacs,
-because it should not be so easy to do something irreversible.
-
-*** Quitting with C-g.
-
-If you type C-g while GNU Emacs is waiting for input, it
-is an ordinary command (which is defined to beep).  If you
-type C-g while Lisp code is executing, it sets a flag which
-causes a special signal, nearly the same as an error, to
-happen at the next safe place in Lisp execution.  This usually
-has the effect of aborting the current command in a safe way.
-
-Because at times there have been bugs causing GNU Emacs to loop
-without checking the quit flag, a special feature causes
-GNU Emacs to be suspended immediately if you type a second C-g
-while the flag is already set.  So you can always get out
-of GNU Emacs.  Normally GNU Emacs recognizes and clears the quit flag
-quickly enough to prevent this from happening.
-
-When you resume GNU Emacs after a suspension caused by multiple C-g, it
-asks two questions before resuming execution:
- Checkpoint?
- Dump core?
-Answer each one with `y' or `n' and a Return.
- `y' to Checkpoint? causes immediate auto-saving of all
-    buffers in which auto-saving is enabled.
- `y' to Dump core? causes an illegal instruction to be executed.
-    This is to enable a wizard to figure out why GNU Emacs was
-    looping without checking for quits.  Execution does not continue
-    after a core dump.  If you answer `n', execution continues.
-With luck, GNU Emacs will ultimately check the quit flag,
-and quit normally.  If not, and you type another C-g, it
-is suspended again.
-
-If GNU Emacs is not really hung, just slow, you may invoke
-the double C-g feature without really meaning to.  Then just
-resume and answer `n' to both questions, and you will
-arrive at your former state.  Presumably the quit you
-wanted will finish happening soon.
-
-These questions are not asked if you suspend GNU Emacs with the C-z
-command.  Continuing GNU Emacs after a C-z takes you straight back
-into editing.
-
-*** Undoing with C-x u or C-_
-
-You can undo many commands--up to 10,000 characters worth.
-Each time you type C-x u or C-_, another command or batch of change
-is undone.  Undo information is stored per buffer, and the undo
-command always applies to the current buffer.  A numeric argument
-serves as a repeat count.
-
-Consecutive self-inserting characters are undone in groups of twenty.
-
-*** Different character set.
-
-GNU Emacs does not expect anyone ever to have a keyboard in which
-the Control key sets an independent bit which may accompany any
-character. The only control characters that can exist are the
-ASCII control characters.
-
-There is, as a result, no "control prefix" character.
-
-*** Control-h is the Help character.
-
-I'm amazed it took me so long to get this idea.  In Twenex Emacs, C-h
-and C-b are equivalent commands, making C-h redundant.  C-h is not
-only easy to type, it is mnemonic for "Help".  So in GNU Emacs the
-Help character is C-h.
-
-*** Completion is done by TAB, not ESC.
-
-ESC in the minibuffer is a Meta prefix, same as at top level.
-
-*** The string-argument reader is the minibuffer is an editor window.
-
-In GNU Emacs, the line at the bottom of the screen is the minibuffer.
-Commands that want string arguments always use this line to read them,
-and you can use the ordinary Emacs editing commands to edit the
-input.  You can terminate input with Return because Return is defined
-as the exit-minibuffer command when in the minibuffer.  If you
-are using a command that needs several arguments, terminate each
-one with Return.  You cannot separate arguments with Escape
-the way you would in Twenex Emacs.
-
-The minibuffer window does not overlay other editor windows;
-it is a nearly ordinary editor window which lacks a mode line
-and is "turned off" when not in use.  While it IS in use, you
-can switch windows to and from the minibuffer, kill text in other
-windows and yank in the minibuffer, etc.
-
-You can even issue a command that uses the minibuffer while in the
-minibuffer.  This gets you temporarily into a recursive minibuffer.
-However, this is allowed only if you enable it, since it could be
-confusing for beginners.
-
-When you exit the minibuffer, the cursor immediately moves back to
-column zero of the minibuffer line, to show you that the exit
-command has been obeyed.  The minibuffer contents remain on the screen
-until the end of the command, unless some other text is displayed there.
-
-A single Control-g exits the minibuffer.
-
-*** There are no &'s or ^R's or spaces in function names.
-
-For example, the function which is called ^R Forward Word
-in Twenex Emacs is called forward-word in GNU Emacs.
-
-*** The extension language is Lisp rather than TECO.
-
-Libraries must be written in Lisp.  Meta-ESC reads a Lisp
-expression, evaluates it, and prints the result.  Note that
-Meta-ESC is "disabled" by default, so that beginning users
-do not get into the minibuffer by accident in a confusing way.
-
-Data types available include integers (which double as characters),
-strings, symbols, lists, vectors, buffers, buffer pointers,
-windows, and process channels.
-
-For now, to learn about writing Lisp code for GNU Emacs, read some of
-the source code, which is in directory ../lisp.  Read the GNU Emacs Lisp
-Reference Manual.  Also, all Lisp primitives have self-documentation you can
-read with C-h f.
-
-*** Enabling the error handler.
-
-GNU Emacs has a Lisp debugger/stepper/trace package, but normally
-errors do not enter the debugger because that is slow, and unlikely to
-be of interest to most users.  Set the variable debug-on-error to t to
-cause errors to invoke the debugger.  Set debug-on-quit to cause quit
-signals (caused by C-g) to invoke the debugger.
-
-** Other changes.
-
-*** More than two windows are allowed.
-
-C-x 2 splits the current window into two windows,
-  one above the other.  Initially they both display
-  the same buffer.
-
-  C-x 2 now accepts a numeric argument to specify the number of
-  lines to give to the uppermost of the two windows it makes.
-
-C-x 0 kills the current window, making all others larger.
-C-x 1 kills all windows except the current one.
-C-x O switches to the next window down.
-  It rotates from the bottom one to the top one.
-  An argument serves as a repeat count; negative arguments
-  circulate in the reverse order.
-
-If the same buffer is displayed in several windows,
-changes made in it are redisplayed in all of them.
-
-*** Side by side windows are supported.
-
-The command C-x 3 splits the current window into
-two side-by-side windows.
-
-C-x } makes the selected window ARG columns wider at the
-expense of the windows at its sides.  C-x { makes the selected
-window ARG columns narrower.  An argument to C-x 5 specifies
-how many columns to give to the leftmost of the two windows made.
-
-*** Horizontal scrolling of the lines in a window is implemented.
-
-C-x < (scroll-left) scrolls all displayed lines left,
-with the numeric argument (default 1) saying how far to scroll.
-When the window is scrolled left, some amount of the beginning
-of each nonempty line is replaced by an "$".
-C-x > scrolls right.  If a window has no text hidden at the left
-margin, it cannot be scrolled any farther right than that.
-When nonzero leftwards scrolling is in effect in a window.
-lines are automatically truncated at the window's right margin
-regardless of the value of the variable truncate-lines in the
-buffer being displayed.
-
-*** Return key does not use up empty lines.
-
-In Twenex Emacs, the Return command advances over an existing
-empty line in some cases.  In GNU Emacs, the Return command always
-makes inserts a newline.  Twenex Emacs was designed at a time when
-most display terminals did not have the ability to scroll part
-of the screen, and using existing empty lines made redisplay faster.
-Nowadays, terminals that cannot scroll part of the screen are rare,
-so there is no need to make Return behave in a more complicated manner.
-
-*** Help m.
-
-Typing C-h m displays documentation of the current major mode.,
-telling you what special commands and features are available
-and how to use them or get more information on them.
-
-This is simply the documentation, as a function, of the
-symbol which is the value of major-mode.  Each major mode
-function has been given documentation intended for C-h m.
-
-*** Display-hiding features.
-
-**** Hiding indented lines
-
-The command C-x $ with numeric argument N causes lines indented by N
-or more columns to become invisible.  All you see is " ..."  appended
-to the previous line, in place of any number of consecutive invisible
-lines.
-
-**** Outline Mode.
-
-Outline mode is designed for editing outline-structured
-files, such as this one.
-
-Headings should be lines starting with one or more asterisks.
-Major headings have one asterisk, subheadings two, etc.
-Lines not starting with asterisks are body text.
-
-You can make the body under a heading, or the subheadings
-under a heading, temporarily invisible, or visible again.
-Invisible lines are attached to the end of the previous line
-so they go with it if you kill it and yank it back.
-
-Commands:
-Meta-}   next-visible-heading      move by visible headings
-Meta-{   previous-visible-heading  move by visible headings
-
-Meta-x hide-body	make all body text invisible (not headings).
-Meta-x show-all		make everything in buffer visible.
-
-The remaining commands are used when dot is on a heading line.
-They apply to some of the body or subheadings of that heading.
-C-c C-h  hide-subtree	make text and subheadings invisible.
-C-c C-s  show-subtree	make text and subheadings visible.
-C-c C-i  show-children	make direct subheadings visible.
-		 No effect on body, or subheadings 2 or more levels down.
-		 With arg N, affects subheadings N levels down.
-M-x hide-entry	make immediately following body invisible.
-M-x show-entry	make it visible.
-M-x hide-leaves	 make text under heading and under its subheadings invisible.
-		 The subheadings remain visible.
-M-x show-branches  make all subheadings at all levels visible.
-
-*** C mode is fancy.
-
-C mode assumes that you put the initial open-brace of
-a function definition at the beginning of a line.
-If you use the popular indenting style that puts this
-open-brace at the end of a line containing a type declaration,
-YOU WILL LOSE: C mode does not know a function starts there.
-
-Open-brace at the beginning of a line makes it possible
-for C mode to find function boundaries with total reliability;
-something I consider vital and which cannot be done
-if the other style is used.
-
-The Tab command indents C code very cleverly.
-I know of only one cases in which Tab does not indent C code nicely:
- Expressions continued over several lines with few parentheses.
- Tab does not know the precedences of C operators, so it does
- not know which lines of the expression should go where.
- Using parentheses to indicate the nesting of operators
- except within a line makes this problem go away.
-
-The indenting algorithm is entirely written in Lisp.
-
-Tab with a numeric argument in Twenex Emacs indents
-that many lines.  It is different in GNU Emacs: it means
-to shift all the lines of a bracketed expression by the
-same amount as the line being indented.  For example, if you have
-    if (foo)
-        {
-	    hack ();
-	     /** Well? */
-	}
-and type C-u Tab on the line with the open brace, you get
-    if (foo)
-      {
-	  hack ();
-	   /* Well? */
-      }
-from indenting the brace line and then shifting the
-lines within the braces rigidly with the first one.
-
-Meta-Control-q works as in Lisp mode; it should be
-used with dot just before a bracketed grouping, and
-indents each line INSIDE that grouping using Tab.
-If used instead of C-u Tab in the previous example, it makes
-    if (foo)
-        {
-	  hack ();
-	  /* Well? */
-	}
-
-Meta-Control-h puts mark at the end of the current C function
-and puts dot before it.
-
-Most other Meta-Control commands intended for Lisp expressions
-work usefully in C mode as well.
-
-*** Meta-g (fill-region) is different.
-
-In Twenex Emacs, Meta-g fills the region with no paragraph
-boundaries except for blank and indented lines.  In GNU Emacs,
-it divides the region into paragraphs in the same manner as
-Meta-], and fills each paragraph separately.  There is also
-the function fill-region-as-paragraph which fills the region
-regarding at as a single paragraph regardless even of blank
-or indented lines.
-
-*** Indented Text Mode instead of Edit Indented Text.
-
-Twenex Emacs has a command Edit Indented Text which temporarily
-alters some commands for editing indented paragraphs.
-GNU Emacs has instead a separate major mode, Indented Text Mode,
-which is different from ordinary Text Mode in just the same
-alterations.  Specifically, in Indented Text Mode,
-Tab runs the function indent-relative, and auto filling indents
-the newly created lines.
-
-*** But rectangle commands are implemented.
-
-C-x r r stores the rectangle described by dot and mark
-into a register; it reads the register name from the keyboard.
-C-x r g, the command to insert the contents of a register,
-can be used to reinsert the rectangle elsewhere.
-
-Other rectangle commands include
-  open-rectangle:
-    insert a blank rectangle in the position and size
-    described by dot and mark, at its corners;
-    the existing text is pushed to the right.
-  clear-rectangle:
-    replace the rectangle described by dot ane mark
-    with blanks.  The previous text is deleted.
-  delete-rectangle:
-    delete the text of the specified rectangle,
-    moving the text beyond it on each line leftward.
-  kill-rectangle
-    like delete-rectangle but also stores the text of
-    the rectangle in the "rectangle kill buffer".
-    More precisely, it stores the text as a list of strings
-    (one string for each line) in the variable killed-rectangle.
-  yank-rectangle
-    inserts the text of the last killed rectangle.
-  extract-rectangle and delete-extract-rectangle
-    these functions return the text of a rectangle
-    as a list of strings.  They are for use in writing
-    other functions that operate on rectangles.   
-
-*** Keyboard Macros
-
-The C-x ( command for defining a keyboard macro can in GNU Emacs
-be given a numeric argument, which means that the new macro
-starts out not empty but rather as the same as the last
-keyboard macro entered.  In addition, that last keyboard
-macro is replayed when the C-x ( is typed.  C-x ( with an
-argument is thus equivalent to typing plain C-x ( and then
-retyping the last keyboard macro entered.
-
-The command write-kbd-macro and append-kbd-macro can be used to
-save a keyboard macro definition in a file.  It is represented as
-a Lisp expression which, when evaluated, will define the keyboard
-macro.  write-kbd-macro writes the specified file from scratch,
-whereas append-kbd-macro adds to any existing text in the file.
-Both expect the keyboard macro to be saved to be specified by
-name; this means you must use the command name-last-kbd-macro to
-give the macro a name before you can save it.
-
-*** The command to resume a terminated tags-search or tags-query-replace
-
-is Meta-comma in GNU Emacs.
-
-*** Auto Save is on by default.
-
-Auto Save mode is enabled by default in all buffers
-that are visiting files.
-
-The file name used for auto saving is made by prepending
-"#" to the file name visited.
-
-*** Backup files.
-
-Since Unix stupidly fails to have file version numbers,
-GNU Emacs compensates slightly in the customary fashion:
-when a file is modified and saved for the first time in
-a particular GNU Emacs run, the original file is renamed,
-appending "~" to its name.  Thus, foo.c becomes foo.c~.
-
-Emacs can also put a version number into the name of the backup file,
-as in foo.c.~69~ for version number 69.  This is an optional feature
-that the user has to enable.
-
-*** Mode Line differences.
-
-Each window in GNU Emacs has its own mode line, which always
-displays the status of that window's buffer and nothing else.
-The mode line appears at the bottom of the window.  It is
-full of dashes, to emphasize the boundaries between windows,
-and is displayed in inverse video if the terminal supports it.
-The information usually available includes:
-
-*** Local Modes feature changed slightly.
-
-GNU Emacs supports local mode lists much like those in Twenex Emacs,
-but you can only set variables, not commands.  You write
-
-Local variables:
-tab-width:      10
-end:
-
-in the last page of a file, if you want to make tab-width be ten in a
-file's buffer.  The value you specify must be a Lisp object!
-It will be read, but not evaluated.  So, to specify a string,
-you MUST use doublequotes.  For "false", in variables whose
-meanings are true or false, you MUST write  nil  .
-
-Two variable names are special: "mode" and "eval".
-Mode is used for specifying the major mode (as in Twenex Emacs).
-
-mode: text
-
-specifies text mode.  Eval is used for requesting the evaluation
-of a Lisp expression; its value is ignored.  Thus,
-
-eval: (set-syntax-table lisp-mode-syntax-table)
-
-causes Lisp Mode syntax to be used.
-
-
-Note that GNU Emacs looks for the string "Local variables:"
-whereas Twenex Emacs looks for "Local modes:".  This incompatibility
-id deliberate, so that neither one will see local settings
-intended for the other.
-
-*** Lisp code libraries.
-
-Libraries of commands, and init files, are written in Lisp.
-libraries conventionally have names ending in .el, while the
-init file is named .emacs and is in your home directory.
-
-Use  Meta-x load-library  to load a library.  Most standard libraries
-load automatically if you try to use the commands in them.
-
-Meta-x byte-compile-file filename
-compiles the file into byte code which loads and runs faster
-than Lisp source code.  The file of byte code is given a name
-made by appending "c" to the end of the input file name.
-
-Meta-x byte-recompile-directory directoryname
-compiles all files in the specified directory (globbing not allowed)
-which have been compiled before but have been changed since then.
-
-Meta-x load-library automatically checks for a compiled file
-before loading the source file.
-
-Libraries once loaded do not retain their identity within GNU
-Emacs.  Therefore, you cannot tell just what was loaded from a
-library, and you cannot un-load a library.  Normally, libraries
-are written so that loading one has no effect on the editing
-operations that you would have used if you had not loaded the
-library.
-
-*** Dired features.
-
-You can do dired on partial directories --- any pattern
-the shell can glob.  Dired creates a buffer named after
-the directory or pattern, so you can dired several different
-directories.  If you repeat dired on the same directory or
-pattern, it just reselects the same buffer.  Use Meta-x Revert
-on that buffer to read in the current contents of the directory.
-
-*** Directory listing features.
-
-C-x C-d now uses the default output format of `ls',
-which gives just file names in multiple columns.
-C-u C-x C-d passes the -l switch to `ls'.
-
-Both read a directory spec from the minibuffer.  It can
-be any pattern that the shell can glob.
-
-*** Compiling other programs.
-
-Meta-x compile allows you to run make, or any other compilation
-command, underneath GNU Emacs.  Error messages go into a buffer whose
-name is *compilation*.  If you get error messages, you can use the
-command C-x ` (that is a backquote) to find the text of the next
-error message.
-
-You must specify the command to be run as an argument to M-x compile.
-A default is placed in the minibuffer; you can kill it and start
-fresh, edit it, or just type Return if it is what you want.
-The default is the last compilation command you used; initially,
-it is "make -k".
-
-*** Searching multiple files.
-
-Meta-x grep searches many files for a regexp by invoking grep
-and reading the output of grep into a buffer.  You can then
-move to the text lines that grep found, using the C-x ` command
-just as after M-x compile.
-
-*** Running inferior shells.
-
-Do Meta-x shell to make an inferior shell together with a buffer
-which serves to hold "terminal" input and output of the shell.
-The shell used is specified by the environment variable ESHELL,
-or by SHELL if ESHELL is not set.
-
-Use C-h m whilst in the *shell* buffer to get more detailed info.
-
-The inferior shell loads the file .emacs_csh or.emacs_sh
-(or similar using whatever name the shell has) when it starts up.
-
-M-! executes a shell command in an inferior shell
-and displays the output from it.  With a prefix argument,
-it inserts the output in the current buffer after dot
-and sets the mark after the output.  The shell command
-gets /dev/null as its standard input.
-
-M-| is like M-! but passes the contents of the region
-as input to the shell command.  A prefix argument makes
-the output from the command replace the contents of the region.
-
-*** Sending mail.
-
-Once you enter Mail Mode using C-x m or C-x 4 m or M-x mail,
-C-c becomes a prefix character for mail-related editing commands.
-C-c C-s is vital; that's how you send the message.  C-c C-c sends
-and then switches buffers or kills the current window.
-Use C-h m to get a list of the others.
-
-*** Regular expressions.
-
-GNU Emacs has regular expression facilities like those of most
-Unix editors, but more powerful:
-
-****		-- + --
-
-+ specifies repetition of the preceding expression 1 or more
-times.  It is in other respect like *, which specifies repetition
-0 or more times.
-
-****		-- ? --
-
-?  is like * but matches at most one repetition of the preceding
-expression.
-
-****		-- \| --
-
-\| specifies an alternative.  Two regular expressions A and B with \| in
-between form an expression that matches anything that either A or B will
-match.  Thus, "foo\|bar" matches either "foo" or "bar" but no other
-string.
-
-\| applies to the larges possible surrounding expressions.  Only a
-surrounding \( ... \) grouping can limit the grouping power of \|.
-
-Full backtracking capability exists when multiple \|'s are used.
-
-****		-- \( ... \) --
-
-\( ... \) are a grouping construct that serves three purposes:
-
-1.  To enclose a set of \| alternatives for other operations.
-    Thus, "\(foo\|bar\)x" matches either "foox" or "barx".
-2.  To enclose a complicated expression for * to operate on.
-    Thus, "ba\(na\)*" matches "bananana", etc., with any number
-    of na's (zero or more).
-3.  To mark a matched substring for future reference.
-
-Application 3 is not a consequence of the idea of a parenthetical
-grouping; it is a separate feature which happens to be assigned as a
-second meaning to the same \( ... \) construct because there is no
-conflict in practice between the two meanings.  Here is an explanation
-of this feature.
-
-		-- \digit --
-
-After the end of a \( ... \) construct, the matcher remembers the
-beginning and end of the text matched by that construct.  Then, later on
-in the regular expression, you can use \ followed by a digit to mean,
-``match the same text matched this time by the \( ... \) construct.''
-The first nine \( ... \) constructs that appear in a regular expression
-are assigned numbers 1 through 9 in order of their beginnings.  \1
-through \9 can be used to refer to the text matched by the corresponding
-\( ... \) construct.
-
-For example, "\(.*\)\1" matches any string that is composed of two
-identical halves.  The "\(.*\)" matches the first half, which can be
-anything, but the \1 that follows must match the same exact text.
-
-****		-- \` --
-
-Matches the empty string, but only if it is at the beginning of the buffer.
-
-****		-- \' --
-
-Matches the empty string, but only if it is at the end of the buffer.
-
-****		-- \b --
-
-Matches the empty string, but only if it is at the beginning or end of
-a word.  Thus, "\bfoo\b" matches any occurrence of "foo" as a separate word.
-"\bball\(s\|\)\b" matches "ball" or "balls" as a separate word.
-
-****		-- \B --
-
-Matches the empty string, provided it is NOT at the beginning or end of
-a word.
-
-****		-- \< --
-
-Matches the empty string, provided it is at the beginning of a word.
-
-****		-- \> --
-
-Matches the empty string, provided it is at the end of a word.
-
-****		-- \w --
-
-Matches any word-constituent character.  The editor syntax table determines
-which characters these are.
-
-****		-- \W --
-
-Matches any character that is not a word-constituent.
-
-****		-- \s<code> --
-
-Matches any character whose syntax is <code>.  <code> is a letter that
-represents a syntax code: thus, "w" for word constituent, "-" for
-whitespace, "(" for open-parenthesis, etc.  Thus, "\s(" matches any
-character with open-parenthesis syntax.
-
-****		-- \S<code> --
-
-Matches any character whose syntax is not <code>.
-
-* How is this Emacs different from Gosling Emacs?
-
-** Advantages of Gosling Emacs:
-
-1. The program itself is much smaller.
-GNU Emacs uses about 250k more pure storage.
-As a result, Gosling Emacs can run on machines
-that cannot run GNU Emacs.  There is not much difference
-in the amount of impure storage in the two programs.
-
-2. In some versions there is support for other forks to
-establish communications channels to Emacs (using sockets?).
-
-3. There is a direct interface to dbm (data bases).
-
-** Advantages of GNU Emacs:
-
-*** True Lisp, not Mocklisp.
-
-GNU Emacs's extension language has real symbols, lists
-and vectors.  Many extensions are much simpler, and some
-become possible that were nearly impossible in Gosling Emacs.
-Many primitives can have cleaner interfaces, and some features
-need not be put in as special primitives because you can do
-them easily yourself.
-
-*** But Mocklisp still works.
-
-An automatic conversion package plus a run-time library
-allows you to convert a Mocklisp library into a Lisp library.
-
-*** Commands are better crafted.
-
-For example, nearly every editing function for which a
-numeric argument would make sense as a repeat count does
-accept a repeat count, and does handle a negative argument
-in the way you would expect.
-
-*** The manual is clearer.
-
-Everyone tells me it is a very good manual.
-
-*** Better on-line documentation.
-
-Both functions and variables have documentation strings that
-describe exactly how to use them.
-
-*** C mode is smart.
-
-It really knows how to indent each line correctly,
-for most popular indentation styles.  (Some variables
-control which style is used; popular named styles are also supported.)
-
-*** Compatible with PDP-10 Emacs, Multics Emacs and Zmacs.
-
-The commands in GNU Emacs are nearly the same as in the
-original Emacs and the other Emacses which imitated it.
-(A few have been changed to fit the Unix environment better.)
-
-*** Support for Gosling's Emacs commands.
-
-M-x set-gosmacs-bindings rebinds many editing commands for
-compatibility with Gosling's Emacs.
-M-x set-gnu-bindings reverses the change.
-
-*** Side-by-side windows.
-
-You can split a GNU Emacs window either horizontally or
-vertically.
-
-*** Redisplay is faster.
-
-GNU Emacs sends about the same stuff to the terminal that
-Gosling's does, but GNU Emacs uses much less CPU time to
-decide what to do.
-
-*** Entirely termcap-driven.
-
-GNU Emacs has nearly no special code for any terminal type.  Various
-new termcap strings make it possible to handle all terminals nearly as
-fast as they could be handled by special-case code.
-
-*** Display-hiding features.
-
-For example, Outline Mode makes it possible for you to edit
-an outline, making entire sub-branches of the outline visible
-or invisible when you wish.
-
-*** You can interrupt with Control-G.
-
-Even a looping Lisp program can be stopped this way.
-And even a loop in C code does not stop you from killing
-Emacs and getting back to your shell.
-
-*** Per-buffer Undo.
-
-You can undo the last several changes, in each buffer
-independently.
-
-*** The editor code itself is clean.
-
-Many people have remarked on how much they enjoy reading
-the code for GNU Emacs.
-
-One other note: The program etc/cvtmail that comes with GNU Emacs can
-be used to convert a mail directory for Gosling Emacs's Rmail into a
-Unix mail file that you could read into GNU Emacs's Rmail.
-
-* How is this Emacs different from CCA Emacs?
-
-** GNU Emacs Lisp vs CCA Elisp.
-
-GNU Emacs Lisp does not have a distinction between Lisp functions
-and Emacs functions, or between Lisp variables and Emacs variables.
-The Lisp and the editor are integrated.  A Lisp function defined
-with defun is callable as an editor command if you put an
-interactive calling spec in it; for example, 
-  (defun forward-character (n)
-    (interactive "p")
-    (goto-char (+ (point) n)))
-defines a function of one argument that moves point forward by
-a specified number of characters.  Programs could call this function,
-as in (forward-character 6), or it could be assigned to a key,
-in which case the "p" says to pass the prefix numeric arg as
-the function's argument.  As a result of this feature, you often
-need not have two different functions, one to be called by programs
-and another to read arguments from the user conveniently; the same
-function can do both.
-
-CCA Elisp tries to be a subset of Common Lisp and tries to
-have as many Common Lisp functions as possible (though it is still
-only a small fraction of full Common Lisp).  GNU Emacs Lisp
-is somewhat similar to Common Lisp just because of my Maclisp
-and Lisp Machine background, but it has several distinct incompatibilities
-in both syntax and semantics.  Also, I have not attempted to
-provide many Common Lisp functions that you could write in Lisp,
-or others that provide no new capability in the circumstances.
-
-GNU Emacs Lisp does not have packages, readtables, or character objects
-(it uses integers to represent characters).
-
-On the other hand, windows, buffers, relocatable markers and processes
-are first class objects in GNU Emacs Lisp.  You can get information about them
-and do things to them in a Lispy fashion.  Not so in CCA Emacs.
-
-In GNU Emacs Lisp, you cannot open a file and read or write characters
-or Lisp objects from it.  This feature is painful to support, and
-is not fundamentally necessary in an Emacs, because instead you
-can read the file into a buffer, read or write characters or
-Lisp objects in the buffer, and then write the buffer into the file.
-
-On the other hand, GNU Emacs Lisp does allow you to rename, delete, add
-names to, and copy files; also to find out whether a file is a
-directory, whether it is a symbolic link and to what name, whether
-you can read it or write it, find out its directory component,
-expand a relative pathname, find completions of a file name, etc.,
-which you cannot do in CCA Elisp.
-
-GNU Emacs Lisp uses dynamic scope exclusively.  This enables you to
-bind variables which affect the execution of the editor, such as
-indent-tabs-mode.
-
-GNU Emacs Lisp code is normally compiled into byte code.  Most of the
-standard editing commands are written in Lisp, and many are
-dumped, pure, in the Emacs that users normally run.
-
-GNU Emacs allows you to interrupt a runaway Lisp program with
-Control-g.
-
-** GNU Emacs Editing Advantages
-
-GNU Emacs is faster for many things, especially insertion of text
-and file I/O.
-
-GNU Emacs allows you to undo more than just the last command
-with the undo command (C-x u, or C-_).  You can undo quite a ways back.
-Undo information is separate for each buffer; changes in one buffer
-do not affect your ability to undo in another buffer.
-
-GNU Emacs commands that want to display some output do so by putting
-it in a buffer and displaying that buffer in a window.  This
-technique comes from Gosling Emacs.  It has both advantages and
-disadvantages when compared with the technique, copied by CCA Emacs
-from my original Emacs which inherited it from TECO, of having "type
-out" which appears on top of the text in the current window but
-disappears automatically at the next input character.
-
-GNU Emacs does not use the concept of "subsystems".  Instead, it uses
-highly specialized major modes.  For example, dired in GNU Emacs has
-the same commands as dired does in other versions of Emacs, give or
-take a few, but it is a major mode, not a subsystem.  The advantage
-of this is that you do not have to "exit" from dired and lose the
-state of dired in order to edit files again.  You can simply switch
-to another buffer, and switch back to the dired buffer later.  You
-can also have several dired buffers, looking at different directories.
-
-It is still possible to write a subsystem--your own command loop--
-in GNU Emacs, but it is not recommended, since writing a major mode
-for a special buffer is better.
-
-Recursive edits are also rarely used, for the same reason: it is better
-to make a new buffer and put it in a special major mode.  Sending
-mail is done this way.
-
-GNU Emacs expects everyone to use find-file (C-x C-f) for reading
-in files; its C-x C-v command kills the current buffer and then finds
-the specified file.
-
-As a result, users do not need to think about the complexities
-of subsystems, recursive edits, and various ways to read in files
-or what to do if a buffer contains changes to some other file.
-
-GNU Emacs uses its own format of tag table, made by the "etags"
-program.  This format makes finding a tag much faster.
-
-Dissociated Press is supported.
-
-
-** GNU Emacs Editing Disadvantages.
-
-GNU Emacs does not display the location of the mark.
-
-GNU Emacs does not have a concept of numbers of buffers,
-or a permanent ordering of buffers, or searching through multiple
-buffers.  The tags-search command provides a way to search
-through several buffers automatically.
-
-GNU Emacs does not provide commands to visit files without
-setting the buffer's default directory.  Users can write such
-commands in Lisp by copying the code of the standard file
-visiting commands and modifying them.
-
-GNU Emacs does not support "plus options" in the command
-arguments or in buffer-selection commands, except for line numbers.
-
-GNU Emacs does not support encryption.  Down with security!
-
-GNU Emacs does not support replaying keystroke files,
-and does not normally write keystroke files.
-
-
-** Neutral Differences
-
-GNU Emacs uses TAB, not ESC, to complete file names, buffer names,
-command names, etc.
-
-GNU Emacs uses LFD to terminate searches, instead of
-the C-d uses by CCA Emacs.  (Actually, this character is controlled
-by a parameter in GNU Emacs.)  C-M-s in GNU Emacs is an interactive
-regular expression search, but you can get to a noninteractive
-one by typing ESC right after the C-M-s.
-
-In GNU Emacs, C-x s asks, for each modified file buffer, whether
-to save it.
-
-GNU Emacs indicates line continuation with "\" and line
-truncation (at either margin) with "$".
-
-The command to resume a tags-search or tags-query-replace in
-GNU Emacs is Meta-Comma.

Binary file added.

Binary file added.

 #
 # Sample categories:
 #
-auxillary:Auxillary Programs:gnats-admin:
+auxiliary:Auxiliary Programs:gnats-admin:
 configuration:Configuration:gnats-admin:mrb@eng.sun.com
 documentation:Documentation Bug:gnats-admin:weiner@infodock.com
 frames:X11 Frames:gnats-admin:
-i18n:I18n Internationalization:gnats-admin:mrb@eng.sun.com
+i18n:I18n Internationalization:martin:
 lisp:Emacs Lisp code:gnats-admin:
 menubars:X11 menubars:gnats-admin:
 misc:Miscellaneous:gnats-admin:
-performance:Performance Issues:gnats-admin:dmoore@ucsd.edu
+mule:MULE Internationalization stuffs:jhod:
+performance:Performance Issues:dmoore:
 redisplay:Redisplay Issues:gnats-admin:cthomp@xemacs.org
 scrollbars:X11 scrollbars:gnats-amdin:mrb@eng.sun.com
 toolbars:X11 toolbars:gnats-admin:
-test:*Test Category:gnats-admin:
+gnus:Gnus newsreader:larsi:
+vm:VM Mailreader:kyle:
+W3:W3 Browser:wmperry:

etc/gnats/xemacs.org

 pending
-auxillary
+auxiliary
 configuration
 documentation
 frames
 lisp
 menubars
 misc
+mule
 performance
 redisplay
 scrollbars
 tooblbars
+gnus
+vm
+w3
 test
Add a comment to this file

etc/vm/mona_stamp-colorful.gif

Removed
Old image
Added
New image
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"24 30 86 2",
+/* colors */
+"`` c #B88D37",
+"`a c #200505",
+"`b c #F49B12",
+"`c c #704B25",
+"`d c #B65D0A",
+"`e c #4D2713",
+"`f c #FFAC19",
+"`g c #64300F",
+"`h c #321B0C",
+"`i c #582E03",
+"`j c #C07920",
+"`k c #874F09",
+"`l c #593514",
+"`m c #A07C21",
+"`n c #DE7F1C",
+"`o c #481103",
+"`p c #542D15",
+"`q c #58220F",
+"`r c #D1AC4A",
+"`s c #DFA644",
+"`t c #EC9708",
+"`u c #501A07",
+"`v c #3D1608",
+"`w c #90602B",
+"`x c #350000",
+"`y c #A77B13",
+"`z c #A04E13",
+"a` c #AC7E39",
+"aa c #997319",