XEmacs 21.4.17 "Jumbo Shrimp".
[chise/xemacs-chise.git.1] / man / xemacs-faq.texi
index 76641d8..af2fa57 100644 (file)
@@ -1,4 +1,4 @@
-\input texinfo.tex      @c -*-texinfo-*-
+\input texinfo.tex      @c -*- mode: texinfo; coding: iso-2022-8 -*-
 @c %**start of header
 @setfilename ../info/xemacs-faq.info
 @settitle Frequently asked questions about XEmacs
@@ -7,47 +7,41 @@
 @finalout
 @titlepage
 @title XEmacs FAQ
-@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1999/03/04 15:48:25 $
+@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2003/10/09 19:16:02 $
 @sp 1
-@author Tony Rossini <arossini@@stat.sc.edu>
-@author Ben Wing <wing@@666.com>
+@author Tony Rossini <rossini@@u.washington.edu>
+@author Ben Wing <ben@@xemacs.org>
 @author Chuck Thompson <cthomp@@xemacs.org>
 @author Steve Baur <steve@@xemacs.org>
 @author Andreas Kaempf <andreas@@sccon.com>
 @author Christian Nyb@o{} <chr@@mediascience.no>
+@author Sandra Wambold <wambold@@xemacs.org>
 @page
 @end titlepage
 
 @ifinfo
 @dircategory XEmacs Editor
 @direntry
-* FAQ: (xemacs-faq).           XEmacs FAQ.
+* FAQ: (xemacs-faq).            XEmacs FAQ.
 @end direntry
 @end ifinfo
 
 @node Top, Introduction, (dir), (dir)
 @top XEmacs FAQ
-@unnumbered Introduction
 
 This is the guide to the XEmacs Frequently Asked Questions list---a
 compendium of questions and answers pertaining to one of the finest
-programs ever written.  It is much more than just a Text Editor.
+programs ever written.  XEmacs is much more than just a Text Editor.
 
-This FAQ is freely redistributable.  I take no liability for the
-correctness and safety of any procedures or advice given here.  This
-FAQ 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.
+This FAQ is freely redistributable.  This FAQ 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.
 
 If you have a Web browser, the official hypertext version is at
 @iftex
 @*
 @end iftex
-@uref{http://www.xemacs.org/faq/xemacs-faq.html}.
-
-This version is somewhat nicer than the unofficial hypertext versions
-that are archived at Utrecht, Oxford, Smart Pages, and other FAQ
-archives.
+@uref{http://www.xemacs.org/FAQ/xemacs-faq.html}
 
 @ifset CANONICAL
 @html
@@ -72,7 +66,7 @@ The canonical version of the FAQ is the texinfo document
 If you do not have makeinfo installed, you may @uref{xemacs-faq.info,
 download the faq} in info format, and install it in @file{<XEmacs
 library directory>/info/}. For example in
-@file{/usr/local/lib/xemacs-20.4/info/}.
+@file{/usr/local/lib/xemacs-21.4/info/}.
 
 @end itemize
 
@@ -88,7 +82,9 @@ library directory>/info/}. For example in
 * Customization::       Customization and Options.
 * Subsystems::          Major Subsystems.
 * Miscellaneous::       The Miscellaneous Stuff.
+* MS Windows::          XEmacs on Microsoft Windows.
 * Current Events::      What the Future Holds.
+* Legacy Versions::     New information about old XEmacsen.
 
 @detailmenu
 
@@ -102,7 +98,7 @@ Introduction, Policy, Credits
 * Q1.0.4::      Why Another Version of Emacs?
 * Q1.0.5::      Why Haven't XEmacs and GNU Emacs Merged?
 * Q1.0.6::      Where can I get help?
-* Q1.0.7::      Where is the mailing list archived?
+* Q1.0.7::      Where are the mailing lists archived?
 * Q1.0.8::      How do you pronounce XEmacs?
 * Q1.0.9::      What does XEmacs look like?
 * Q1.0.10::     Is there a port of XEmacs to Microsoft ('95 or NT)?
@@ -122,22 +118,23 @@ Credits:
 * Q1.2.3::      Who contributed to the FAQ in the past?
 
 Internationalization:
-* Q1.3.1::      What is the status of XEmacs v20?
-* Q1.3.2::      What is the status of Asian-language support, aka @var{mule}?
+* Q1.3.1::      What is the status of internationalization support aka MULE (including Asian language support?
+* Q1.3.2::      How can I help with internationalization?
 * Q1.3.3::      How do I type non-ASCII characters?
 * Q1.3.4::      Can XEmacs messages come out in a different language?
-* Q1.3.5::      Please explain the various input methods in MULE/XEmacs 20.0
-* Q1.3.6::      How do I portably code for MULE/XEmacs 20.0?
+* Q1.3.5::      Please explain the various input methods in MULE/XEmacs
+* Q1.3.6::      How do I portably code for MULE/XEmacs?
 * Q1.3.7::      How about Cyrillic Modes?
+* Q1.3.8::      Does XEmacs support Unicode?
+* Q1.3.9::      How does XEmacs display Unicode?
 
 Getting Started:
-* Q1.4.1::      What is a @file{.emacs} and is there a sample one?
-* Q1.4.2::      Can I use the same @file{.emacs} with the other Emacs?
+* Q1.4.1::      What is an @file{init.el} or @file{.emacs} and is there a sample one?
+* Q1.4.2::      Can I use the same @file{init.el}/@file{.emacs} with the other Emacs?
 * Q1.4.3::      Any good XEmacs tutorials around?
 * Q1.4.4::      May I see an example of a useful XEmacs Lisp function?
 * Q1.4.5::      And how do I bind it to a key?
 * Q1.4.6::      What's the difference between a macro and a function?
-* Q1.4.7::      Why options saved with 19.13 don't work with 19.14 or later?
 
 Installation and Trouble Shooting
 
@@ -153,8 +150,10 @@ Installation and Trouble Shooting
 * Q2.0.10::     After I run configure I find a coredump, is something wrong?
 * Q2.0.11::     XEmacs can't resolve host names.
 * Q2.0.12::     Why can't I strip XEmacs?
-* Q2.0.13::     Can't link XEmacs on Solaris with Gcc.
-* Q2.0.14::     Make on HP/UX 9 fails after linking temacs
+* Q2.0.13::     I don't need no steenkin' packages.  Do I?
+* Q2.0.14::     How do I figure out which packages to install?
+* Q2.0.15::     EFS fails with "500 AUTH not understood" (NEW)
+* Q2.0.16::     Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
 
 Trouble Shooting:
 * Q2.1.1::      XEmacs just crashed on me!
@@ -174,12 +173,14 @@ Trouble Shooting:
 * Q2.1.15::     How to debug an XEmacs problem with a debugger.
 * Q2.1.16::     XEmacs crashes in @code{strcat} on HP/UX 10.
 * Q2.1.17::     @samp{Marker does not point anywhere}.
-* Q2.1.18::     19.14 hangs on HP/UX 10.10.
+* Q2.1.18::     XEmacs is outputting lots of X errors.
 * Q2.1.19::     XEmacs does not follow the local timezone.
 * Q2.1.20::     @samp{Symbol's function definition is void: hkey-help-show.}
-* Q2.1.21::     Every so often the XEmacs frame freezes.
+* Q2.1.21::     [This question intentionally left blank]
 * Q2.1.22::     XEmacs seems to take a really long time to do some things.
 * Q2.1.23::     Movemail on Linux does not work for XEmacs 19.15 and later.
+* Q2.1.24::     XEmacs won't start without network.
+* Q2.1.25::     After upgrading, XEmacs won't do `foo' any more!
 
 Customization and Options
 
@@ -196,15 +197,15 @@ Customization and Options
 X Window System & Resources:
 * Q3.1.1::      Where is a list of X resources?
 * Q3.1.2::      How can I detect a color display?
-* Q3.1.3::      @code{(set-screen-width)} worked in 19.6, but not in 19.13?
-* Q3.1.4::      Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15?
+* Q3.1.3::      [This question intentionally left blank]
+* Q3.1.4::      [This question intentionally left blank]
 * Q3.1.5::      How can I get the icon to just say @samp{XEmacs}?
 * Q3.1.6::      How can I have the window title area display the full path?
 * Q3.1.7::      @samp{xemacs -name junk} doesn't work?
 * Q3.1.8::      @samp{-iconic} doesn't work.
 
 Textual Fonts & Colors:
-* Q3.2.1::      How can I set color options from @file{.emacs}?
+* Q3.2.1::      How can I set color options from @file{init.el}/@file{.emacs}?
 * Q3.2.2::      How do I set the text, menu and modeline fonts?
 * Q3.2.3::      How can I set the colors when highlighting a region?
 * Q3.2.4::      How can I limit color map usage?
@@ -230,7 +231,7 @@ The Keyboard:
 * Q3.5.5::      Scrolling one line at a time.
 * Q3.5.6::      How to map @kbd{Help} key alone on Sun type4 keyboard?
 * Q3.5.7::      How can you type in special characters in XEmacs?
-* Q3.5.8::      Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
+* Q3.5.8::      [This question intentionally left blank]
 * Q3.5.9::      How do I make the Delete key delete forward?
 * Q3.5.10::     Can I turn on @dfn{sticky} modifier keys?
 * Q3.5.11::     How do I map the arrow keys?
@@ -261,7 +262,7 @@ Scrollbars:
 * Q3.9.1::      How can I disable the scrollbar?
 * Q3.9.2::      How can one use resources to change scrollbar colors?
 * Q3.9.3::      Moving the scrollbar can move the point; can I disable this?
-* Q3.9.4::      How can I get automatic horizontal scrolling?
+* Q3.9.4::      How can I turn off automatic horizontal scrolling in specific modes?
 
 Text Selections:
 * Q3.10.1::     How can I turn off or change highlighted selections?
@@ -269,6 +270,7 @@ Text Selections:
 * Q3.10.3::     Can I turn off the highlight during isearch?
 * Q3.10.4::     How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
 * Q3.10.5::     The region disappears when I hit the end of buffer while scrolling.
+* Q3.10.6::     Why is killing so slow?
 
 Major Subsystems
 
@@ -305,6 +307,7 @@ Other Mail & News:
 
 Sparcworks, EOS, and WorkShop:
 * Q4.4.1::      What is SPARCworks, EOS, and WorkShop
+* Q4.4.2::      How do I start the Sun Workshop support in XEmacs 21?
 
 Energize:
 * Q4.5.1::      What is/was Energize?
@@ -315,31 +318,32 @@ Infodock:
 Other Unbundled Packages:
 * Q4.7.1::      What is AUC TeX?  Where do you get it?
 * Q4.7.2::      Are there any Emacs Lisp Spreadsheets?
-* Q4.7.3::      Byte compiling AUC TeX on XEmacs 19.14
+* Q4.7.3::      [This question intentionally left blank]
 * Q4.7.4::      Problems installing AUC TeX
 * Q4.7.5::      Is there a reason for an Emacs package not to be included in XEmacs?
 * Q4.7.6::      Is there a MatLab mode?
+* Q4.7.7::      Can I edit files on other hosts?
 
 The Miscellaneous Stuff
 
 * Q5.0.1::      How can I do source code highlighting using font-lock?
 * Q5.0.2::      I do not like cc-mode.  How do I use the old c-mode?
 * Q5.0.3::      How do I get @samp{More} Syntax Highlighting on by default?
-* Q5.0.4::      How can I enable auto-indent?
+* Q5.0.4::      How can I enable auto-indent and/or Filladapt?
 * Q5.0.5::      How can I get XEmacs to come up in text/auto-fill mode by default?
 * Q5.0.6::      How do I start up a second shell buffer?
 * Q5.0.7::      Telnet from shell filters too much.
 * Q5.0.8::      Why does edt emulation not work?
 * Q5.0.9::      How can I emulate VI and use it as my default mode?
 * Q5.0.10::     [This question intentionally left blank]
-* Q5.0.11::     Filladapt doesn't work in 19.15?
+* Q5.0.11::     [This question intentionally left blank]
 * Q5.0.12::     How do I disable gnuserv from opening a new frame?
 * Q5.0.13::     How do I start gnuserv so that each subsequent XEmacs is a client?
 * Q5.0.14::     Strange things are happening in Shell Mode.
 * Q5.0.15::     Where do I get the latest CC Mode?
 * Q5.0.16::     I find auto-show-mode disconcerting.  How do I turn it off?
 * Q5.0.17::     How can I get two instances of info?
-* Q5.0.18::     I upgraded to XEmacs 19.14 and gnuserv stopped working
+* Q5.0.18::     [This question intentionally left blank]
 * Q5.0.19::     Is there something better than LaTeX mode?
 * Q5.0.20::     Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
 
@@ -350,7 +354,7 @@ Emacs Lisp Programming Techniques:
 * Q5.1.4::      What is the performance hit of @code{let}?
 * Q5.1.5::      What is the recommended use of @code{setq}?
 * Q5.1.6::      What is the typical misuse of @code{setq} ?
-* Q5.1.7::      I like the the @code{do} form of cl, does it slow things down?
+* Q5.1.7::      I like the @code{do} form of cl, does it slow things down?
 * Q5.1.8::      I like recursion, does it slow things down?
 * Q5.1.9::      How do I put a glyph as annotation in a buffer?
 * Q5.1.10::     @code{map-extents} won't traverse all of my extents!
@@ -364,7 +368,7 @@ Sound:
 
 Miscellaneous:
 * Q5.3.1::      How do you make XEmacs indent CL if-clauses correctly?
-* Q5.3.2::      Fontifying hangs when editing a postscript file.
+* Q5.3.2::      [This question intentionally left blank]
 * Q5.3.3::      How can I print WYSIWYG a font-locked buffer?
 * Q5.3.4::      Getting @kbd{M-x lpr} to work with postscript printer.
 * Q5.3.5::      How do I specify the paths that XEmacs uses for finding files?
@@ -376,12 +380,58 @@ Miscellaneous:
 * Q5.3.11::     How do I add new Info directories?
 * Q5.3.12::     What do I need to change to make printing work?
 
+XEmacs on MS Windows
+
+General Info:
+* Q6.0.1::      What is the status of the XEmacs port to Windows?
+* Q6.0.2::      What flavors of MS Windows are supported?  The list name implies NT only.
+* Q6.0.3::      Are binaries available?
+* Q6.0.4::      Can I build XEmacs on MS Windows with X support?  Do I need to?
+* Q6.0.5::      I'd like to help out.  What do I do?
+* Q6.0.6::      What are Cygwin and MinGW, and do I need them to run XEmacs?
+* Q6.0.7::      What exactly are all the different ways to build XEmacs under Windows?
+
+Building XEmacs on MS Windows:
+* Q6.1.1::      What compiler/libraries do I need to compile XEmacs?
+* Q6.1.2::      How do I compile the native port?
+* Q6.1.3::      What do I need for Cygwin?
+* Q6.1.4::      How do I compile under Cygwin?
+* Q6.1.5::      How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
+* Q6.1.6::      I decided to run with X.  Where do I get an X server?
+* Q6.1.7::      How do I compile with X support?
+
+Customization and User Interface:
+* Q6.2.1::      How does the port cope with differences in the Windows user interface?
+* Q6.2.2::      How do I change fonts in XEmacs on MS Windows?
+* Q6.2.3::      Where do I put my @file{init.el}/@file{.emacs} file?
+* Q6.2.4::      How do I get Windows Explorer to associate a file type with XEmacs?
+* Q6.2.5::      Is it possible to print from XEmacs?
+
+Miscellaneous:
+* Q6.3.1::      Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
+* Q6.3.2::      What are the differences between the various MS Windows emacsen?
+* Q6.3.3::      XEmacs 21.1 on Windows used to spawn an ugly console window on every startup.  Has that been fixed?
+* Q6.3.4::      What is the porting team doing at the moment?
+
+Troubleshooting:
+* Q6.4.1::      XEmacs won't start on Windows.
+* Q6.4.2::      Why do I get a blank toolbar on Windows 95?
+* Q6.4.3::      XEmacs complains "No such file or directory, diff"
+
 What the Future Holds
 
-* Q6.0.1::      What is new in 20.2?
-* Q6.0.2::      What is new in 20.3?
-* Q6.0.3::      What is new in 20.4?
-* Q6.0.4::      Procedural changes in XEmacs development.
+* Q7.0.1::      What new features will be in XEmacs soon?
+* Q7.0.2::      What's new in XEmacs 21.4?
+* Q7.0.3::      What's new in XEmacs 21.1?
+* Q7.0.4::      What's new in XEmacs 20.4?
+* Q7.0.5::      What's new in XEmacs 20.3?
+* Q7.0.6::      What's new in XEmacs 20.2?
+
+New information about old XEmacsen.
+
+XEmacs 21.1:
+* Q8.0.1::      Gnus 5.10 won't display smileys in XEmacs 21.1.
+
 @end detailmenu
 @end menu
 
@@ -395,26 +445,24 @@ considering XEmacs for their own use, or has just obtained it and is
 wondering what to do next.  It is also useful as a reference to
 available resources.
 
-The previous maintainer of the FAQ was @email{rossini@@stat.sc.edu,
+The previous maintainer of the FAQ was @email{rossini@@biostat.washington.edu,
 Anthony Rossini}, who started it, after getting tired of hearing JWZ
 complain about repeatedly having to answer questions.
-@email{ben@@666.com, Ben Wing} and @email{cthomp@@xemacs.org, Chuck
+@email{ben@@xemacs.org, Ben Wing} and @email{cthomp@@xemacs.org, Chuck
 Thompson}, the principal authors of XEmacs, then took over and Ben did
 a massive update reorganizing the whole thing.  At which point Anthony
 took back over, but then had to give it up again.  Some of the other
 contributors to this FAQ are listed later in this document.
 
 The previous version was converted to hypertext format, and edited by
-@email{steve@@altair.xemacs.org, Steven L. Baur}.  It was converted back to
-texinfo by @email{hniksic@@srce.hr, Hrvoje Niksic}.
-
-The FAQ was then maintained by @email{andreas@@sccon.com, Andreas
-Kaempf}, who passed it on to @email{faq@@xemacs.org, Christian
-Nyb@o{}}, the current FAQ maintainer.
+@email{steve@@xemacs.org, Steven L. Baur}.  It was converted back to
+texinfo by @email{hniksic@@xemacs.org, Hrvoje Niksic}.  The FAQ was then
+maintained by @email{andreas@@sccon.com, Andreas Kaempf}, who passed it
+on to ChristianNyb@o{}.
 
 If you notice any errors or items which should be added or amended to
-this FAQ please send email to @email{faq@@xemacs.org, Christian
-Nyb@o{}}. Include @samp{XEmacs FAQ} on the Subject: line.
+this FAQ please send email to @email{faq@@xemacs.org, Sandra
+Wambold}.  Include @samp{XEmacs FAQ} on the Subject: line.
 
 @menu
 Introduction:
@@ -424,7 +472,7 @@ Introduction:
 * Q1.0.4::      Why Another Version of Emacs?
 * Q1.0.5::      Why Haven't XEmacs and GNU Emacs Merged?
 * Q1.0.6::      Where can I get help?
-* Q1.0.7::      Where is the mailing list archived?
+* Q1.0.7::      Where are the mailing lists archived?
 * Q1.0.8::      How do you pronounce XEmacs?
 * Q1.0.9::      What does XEmacs look like?
 * Q1.0.10::     Is there a port of XEmacs to Microsoft ('95 or NT)?
@@ -444,22 +492,23 @@ Credits:
 * Q1.2.3::      Who contributed to the FAQ in the past?
 
 Internationalization:
-* Q1.3.1::      What is the status of XEmacs v20?
-* Q1.3.2::      What is the status of Asian-language support, aka @var{mule}?
+* Q1.3.1::      What is the status of internationalization support aka MULE (including Asian language support?
+* Q1.3.2::      How can I help with internationalization?
 * Q1.3.3::      How do I type non-ASCII characters?
 * Q1.3.4::      Can XEmacs messages come out in a different language?
-* Q1.3.5::      Please explain the various input methods in MULE/XEmacs 20.0
-* Q1.3.6::      How do I portably code for MULE/XEmacs 20.0?
+* Q1.3.5::      Please explain the various input methods in MULE/XEmacs
+* Q1.3.6::      How do I portably code for MULE/XEmacs?
 * Q1.3.7::      How about Cyrillic Modes?
+* Q1.3.8::      Does XEmacs support Unicode?
+* Q1.3.9::      How does XEmacs display Unicode?
 
 Getting Started:
-* Q1.4.1::      What is a @file{.emacs} and is there a sample one?
-* Q1.4.2::      Can I use the same @file{.emacs} with the other Emacs?
+* Q1.4.1::      What is an @file{init.el} or @file{.emacs} and is there a sample one?
+* Q1.4.2::      Can I use the same @file{init.el}/@file{.emacs} with the other Emacs?
 * Q1.4.3::      Any good XEmacs tutorials around?
 * Q1.4.4::      May I see an example of a useful XEmacs Lisp function?
 * Q1.4.5::      And how do I bind it to a key?
 * Q1.4.6::      What's the difference between a macro and a function?
-* Q1.4.7::      Why options saved with 19.13 don't work with 19.14 or later?
 @end menu
 
 @node Q1.0.1, Q1.0.2, Introduction, Introduction
@@ -467,17 +516,26 @@ Getting Started:
 @unnumberedsubsec Q1.0.1: What is XEmacs?
 
 
-An alternative to GNU Emacs, originally based on an early alpha version
-of FSF's version 19, and has diverged quite a bit since then.  XEmacs
-was known as Lucid Emacs through version 19.10.  Almost all features of
-GNU Emacs are supported in XEmacs.  The maintainers of XEmacs actively
-track changes to GNU Emacs while also working to add new features.
+XEmacs is a powerful, highly customizable open source text editor and
+application development system, with full GUI support.  It is protected
+under the GNU Public License and related to other versions of Emacs, in
+particular GNU Emacs.  Its emphasis is on modern graphical user
+interface support and an open software development model, similar to
+Linux.  XEmacs has an active development community numbering in the
+hundreds (and thousands of active beta testers on top of this), and runs
+on all versions of MS Windows, on Linux, and on nearly every other
+version of Unix in existence.  Support for XEmacs has been supplied by
+Sun Microsystems, University of Illinois, Lucid, ETL/Electrotechnical
+Laboratory, Amdahl Corporation, BeOpen, and others, as well as the
+unpaid time of a great number of individual developers.
 
 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction
 @unnumberedsubsec Q1.0.2: What is the current version of XEmacs?
 
-XEmacs 20.4 is a minor upgrade from 20.3, containing many bugfixes. It
-was released in February 1998.
+XEmacs versions 21.1.* are releases made from the current stable
+sources.  XEmacs versions 21.2.* are releases made from the development
+sources.  Check at @uref{http://www.xemacs.org} for the current minor
+version.
 
 XEmacs 19.16 was the last release of v19, released in November, 1997,
 which was also the last version without international language support.
@@ -485,7 +543,7 @@ which was also the last version without international language support.
 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction
 @unnumberedsubsec Q1.0.3: Where can I find it?
 
-The canonical source and binaries is found via anonymous FTP at:
+The canonical source and binaries can be found via anonymous FTP at:
 
 @example
 @uref{ftp://ftp.xemacs.org/pub/xemacs/}
@@ -497,7 +555,7 @@ The canonical source and binaries is found via anonymous FTP at:
 For a detailed description of the differences between GNU Emacs and
 XEmacs and a detailed history of XEmacs, check out the
 @example
-@uref{http://www.xemacs.org/NEWS.html, NEWS file}
+@uref{http://www.xemacs.org/About/XEmacsVsGNUemacs.html, NEWS file}
 @end example
 
 However, here is a list of some of the reasons why we think you might
@@ -512,7 +570,7 @@ The XEmacs maintainers are generally more receptive to suggestions than
 the GNU Emacs maintainers.
 
 @item
-Many more bundled packages than GNU Emacs
+Many more bundled packages than GNU Emacs.
 
 @item
 Binaries are available for many common operating systems.
@@ -528,7 +586,7 @@ Better Motif compliance.
 
 @item
 Some internationalization support (including full MULE support, if
-compiled with it.)
+compiled with it).
 
 @item
 Variable-width fonts.
@@ -559,8 +617,6 @@ The ability to embed arbitrary graphics in a buffer.
 @item
 Completely compatible (at the C level) with the Xt-based toolkits.
 
-@item
-First production Web Browser supporting Style Sheets.
 @end itemize
 
 @node Q1.0.5, Q1.0.6, Q1.0.4, Introduction
@@ -579,101 +635,76 @@ that often result.  Mail your questions to @email{xemacs-beta@@xemacs.org} and
 @node Q1.0.6, Q1.0.7, Q1.0.5, Introduction
 @unnumberedsubsec Q1.0.6: Where can I get help?
 
-Probably the easiest way, if everything is installed, is to use info, by
-pressing @kbd{C-h i}, or selecting @code{Emacs Info} from the Help Menu.
+Probably the easiest way, if everything is installed, is to use Info, by
+pressing @kbd{C-h i}, or looking for an Info item on the
+Help Menu.  @kbd{M-x apropos} can be used to look for particular commands.
 
-Also, @kbd{M-x apropos} will look for commands for you.
+For items not found in the manual, try reading this FAQ
+@comment , examining the regular GNU Emacs FAQ (which can be
+@comment found with the Emacs 19 distribution) as well as at
+@comment @uref{http://www.eecs.nwu.edu/emacs/faq/}
+and reading the Usenet group comp.emacs.xemacs.
 
-Try reading this FAQ, examining the regular GNU Emacs FAQ (which can be
-found with the Emacs 19 distribution) as well as at
-@uref{http://www.eecs.nwu.edu/emacs/faq/} and reading the Usenet group
-comp.emacs.xemacs.
-
-If that does not help, try posting your question to comp.emacs.xemacs.
-Please @strong{do not} post XEmacs related questions to gnu.emacs.help.
+If you choose to post to a newsgroup, @strong{please use
+comp.emacs.xemacs}.  Please do not post XEmacs related questions to
+gnu.emacs.help.
 
 If you cannot post or read Usenet news, there is a corresponding mailing
-list which is available.  It can be subscribed to by sending a message
-with a subject of @samp{subscribe} to @email{xemacs-request@@xemacs.org}
-for subscription information and @email{xemacs@@xemacs.org} to send messages
-to the list.
-
-To cancel a subscription, you @strong{must} use the xemacs-request
-address.  Send a message with a subject of @samp{unsubscribe} to be
-removed.
+list @email{xemacs-news@@xemacs.org} which is available.  It can be
+subscribed to via the Mailman Web interface or by sending mail to to
+@email{xemacs-news-request@@xemacs.org} with @samp{subscribe} in the
+body of the message.  See also
+@uref{http://www.xemacs.org/Lists/#xemacs-news}.  To cancel a
+subscription, you may use the @email{xemacs-news-request@@xemacs.org}
+address or the Web interface.  Send a message with a subject of
+@samp{unsubscribe} to be removed.
 
 @node Q1.0.7, Q1.0.8, Q1.0.6, Introduction
-@unnumberedsubsec Q1.0.7: Where is the mailing list archived?
+@unnumberedsubsec Q1.0.7: Where are the mailing lists archived?
 
-The mailing list was archived in the directory
-@example
-@uref{ftp://ftp.xemacs.org/pub/mlists/}.
-@end example
-
-However, this archive is out of date.  The current mailing list server
-supports an @code{archive} feature, which may be utilized.
+The archives can be found at @uref{http://list-archive.xemacs.org}
 
 @node Q1.0.8, Q1.0.9, Q1.0.7, Introduction
 @unnumberedsubsec Q1.0.8: How do you pronounce XEmacs?
 
-I pronounce it @samp{Eks eemax}.
+The most common pronounciation is @samp{Eks eemax}.
 
 @node Q1.0.9, Q1.0.10, Q1.0.8, Introduction
 @unnumberedsubsec Q1.0.9: What does XEmacs look like?
 
-Screen snapshots are available in the WWW version of the FAQ.
-@example
-@uref{http://www.xemacs.org/faq/xemacs-faq.html}
-@end example
+Screen snapshots are available at
+@uref{http://www.xemacs.org/About/Screenshots/index.html}
+as part of the XEmacs website.
 
 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction
 @unnumberedsubsec Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)?
 
-Thanks to efforts of many people, coordinated by
-@email{davidh@@wr.com.au, David Hobley} and @email{marcpa@@cam.org, Marc
-Paquette}, beta versions of XEmacs now run on 32-bit Windows platforms
-(NT and 95).  The current betas require having an X server to run
-XEmacs; however, a native NT/95 port is in alpha, thanks to
-@email{jhar@@tardis.ed.ac.uk, Jonathan Harris}.
-
-Although some features are still unimplemented, XEmacs 21.0 will support
-MS-Windows.
-
-The NT development is now coordinated by a mailing list at
-@email{xemacs-nt@@xemacs.org}.
-
-If you are willing to contribute or want to follow the progress, mail to
-@iftex
-@*
-@end iftex
-@email{xemacs-nt-request@@xemacs.org} to subscribe.
-
-Furthermore, Altrasoft is seeking corporate and government sponsors to
-help fund a fully native port of XEmacs to Windows 95 and NT using
-full-time, senior-level staff working under a professionally managed
-project structure.  See @uref{http://www.altrasoft.com/, the Altrasoft
-web site} for more details
-or contact Altrasoft directly at 1-888-ALTSOFT.
-
-
-The closest existing port is @dfn{Win-Emacs}, which is based on Lucid
-Emacs 19.6.  Available from @uref{http://www.pearlsoft.com/}.
-
-There's a port of GNU Emacs (not XEmacs) at
-@example
-@uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}.
-@end example
+Yes.  XEmacs can be built under MS Windows and is fully-featured and
+actively developed.  See @ref{MS Windows}.
 
 @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction
 @unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh?
 @c changed
 
-There has been a port to the MachTen environment of XEmacs 19.13, but no
-patches have been submitted to the maintainers to get this in the
-mainstream distribution.
+@c There has been a port to the MachTen environment of XEmacs 19.13, but no
+@c patches have been submitted to the maintainers to get this in the
+@c mainstream distribution.
+@c
+@c For the MacOS, there is a port of
+@c @uref{ftp://ftp.cs.cornell.edu/pub/parmet/, Emacs 18.59}.
+
+Yes.
 
-For the MacOS, there is a port of
-@uref{ftp://ftp.cs.cornell.edu/pub/parmet/, Emacs 18.59}.
+XEmacs 21.5 (perhaps 21.4 also?) works on MacOS X, although it certainly
+will not feel very much like a Mac application as it has no Mac-specific
+code in it.
+
+There is also a port of XEmacs 19.14 that works on all recent versions
+of MacOS, from 8.1 through MacOS X, by @email{pjarvis@@ispchannel.com,
+Pitts Jarvis}.  It runs in an equivalent of TTY mode only (one single
+Macintosh window, 25 colors), but has a large number of Mac-specific
+additions.  It's available at
+@uref{http://homepage.mac.com/pjarvis/xemacs.html}.
 
 @node Q1.0.12, Q1.0.13, Q1.0.11, Introduction
 @unnumberedsubsec Q1.0.12: Is there a port of XEmacs to NextStep?
@@ -685,56 +716,42 @@ XEmacs port, but never went any farther.
 @node Q1.0.13, Q1.0.14, Q1.0.12, Introduction
 @unnumberedsubsec Q1.0.13: Is there a port of XEmacs to OS/2?
 
-No, and there is no news of anyone working on it.
+No, but Alexander Nikolaev <avn_1251@@mail.ru> is working on it.
 
 @node Q1.0.14, Q1.1.1, Q1.0.13, Introduction
-@unnumberedsubsec Q1.0.14: Where can I obtain a printed copy of the XEmacs users manual?
+@unnumberedsubsec Q1.0.14: Where can I obtain a printed copy of the XEmacs User's Manual?
 
-Altrasoft Associates, a firm specializing in Emacs-related support and
-development, will be maintaining the XEmacs user manual.  The firm plans
-to begin publishing printed copies of the manual soon.
-@c This used to say `March 1997'!
+Pre-printed manuals are not available.  If you are familiar with
+TeX, you can generate your own manual from the XEmacs sources.
 
-@example
-  Web:     @uref{http://www.xemacs.com}
-  E-mail:  @email{info@@xemacs.com}
-  Tel:     +1 408 243 3300
-@end example
+HTML and Postscript versions of XEmacs manuals are available from the
+XEmacs web site at
+@uref{http://www.xemacs.org/Documentation/index.html}.
 
 @node Q1.1.1, Q1.1.2, Q1.0.14, Introduction
 @unnumberedsec 1.1: Policies
 @unnumberedsubsec Q1.1.1: What is the FAQ editorial policy?
 
 The FAQ is actively maintained and modified regularly.  All links should
-be up to date.
-
-Changes are displayed on a monthly basis.  @dfn{Months}, for this
-purpose are defined as the 5th of the month through the 5th of the
-month.  Preexisting questions that have been changed are marked as such.
-Brand new questions are tagged.
-
-All submissions are welcome.  E-mail submissions
-to
-@iftex
-@*
-@end iftex
-@email{faq@@xemacs.org, Christian Nyb@o{}}.
+be up to date.  Unfortunately, some of the information is out of date --
+a situation which the FAQ maintainer is working on.  All submissions are
+welcome, please e-mail submissions to @email{faq@@xemacs.org, XEmacs FAQ
+maintainers}.
 
 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line.
 If you think you have a better way of answering a question, or think a
-question should be included, I'd like to hear about it.  Questions and
-answers included into the FAQ will be edited for spelling and grammar,
+question should be included, we'd like to hear about it.  Questions and
+answers included into the FAQ will be edited for spelling and grammar
 and will be attributed.  Answers appearing without attribution are
-either from versions of the FAQ dated before May 1996, or are from one
-of the four people listed at the top of this document.  Answers quoted
-from Usenet news articles will always be attributed, regardless of the
-author.
+either from versions of the FAQ dated before May 1996 or are from
+previous FAQ maintainers.  Answers quoted from Usenet news articles will
+always be attributed, regardless of the author.
 
 @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction
 @unnumberedsubsec Q1.1.2: How do I become a Beta Tester?
 
-Send an email message to @email{xemacs-beta-request@@xemacs.org} with a
-subject line of @samp{subscribe}.
+Send an email message to @email{xemacs-beta-request@@xemacs.org} with
+the line @samp{subscribe} in the body of the message.
 
 Be prepared to get your hands dirty, as beta testers are expected to
 identify problems as best they can.
@@ -742,7 +759,7 @@ identify problems as best they can.
 @node Q1.1.3, Q1.2.1, Q1.1.2, Introduction
 @unnumberedsubsec Q1.1.3: How do I contribute to XEmacs itself?
 
-Ben Wing @email{ben@@666.com} writes:
+Ben Wing @email{ben@@xemacs.org} writes:
 
 @quotation
 BTW if you have a wish list of things that you want added, you have to
@@ -776,60 +793,62 @@ always hope :)
 @unnumberedsubsec Q1.2.1: Who wrote XEmacs?
 
 XEmacs is the result of the time and effort of many people.  The
-developers responsible for the 19.16/20.x releases are:
+developers responsible for recent releases are:
 
 @itemize @bullet
 @item @email{martin@@xemacs.org, Martin Buchholz}
-@ifhtml
+@html
 <br><img src="mrb.jpeg" alt="Portrait of Martin Buchholz"><br>
-@end ifhtml
+@end html
 
 
-@item @email{steve@@altair.xemacs.org, Steve Baur}
+@item @email{stephen@@xemacs.org, Stephen Turnbull}
 
-@ifhtml
-<br><img src="steve.gif" alt="Portrait of Steve Baur"><br>
-@end ifhtml
+
+@item @email{ben@@xemacs.org, Ben Wing}
+@html
+<br><img src="wing.gif" alt="Portrait of Ben Wing"><br>
+@end html
 
 
-@item @email{hniksic@@srce.hr, Hrvoje Niksic}
+@item @email{hniksic@@xemacs.org, Hrvoje Niksic}
 
-@ifhtml
+@html
 <br><img src="hniksic.jpeg" alt="Portrait of Hrvoje Niksic"><br>
-@end ifhtml
+@end html
 
 @end itemize
 
-The developers responsible for the 19.14 release are:
+The developers responsible for older releases were:
 
 @itemize @bullet
+@item @email{steve@@xemacs.org, Steve Baur}
+
+@html
+<br><img src="steve.gif" alt="Portrait of Steve Baur"><br>
+@end html
+
 @item @email{cthomp@@xemacs.org, Chuck Thompson}
-@ifhtml
+@html
 <br><img src="cthomp.jpeg" alt="Portrait of Chuck Thompson"><br>
-@end ifhtml
-
-Chuck was Mr. XEmacs from 19.11 through 19.14, and is responsible
-for XEmacs becoming a widely distributed program over the Internet.
+@end html
 
-@item @email{ben@@666.com, Ben Wing}
-@ifhtml
-<br><img src="wing.gif" alt="Portrait of Ben Wing"><br>
-@end ifhtml
+@item @email{jwz@@jwz.org, Jamie Zawinski}
+@html
+<br><img src="jwz.gif" alt="Portrait of Jamie Zawinski"><br>
+@end html
 
-@end itemize
+@item @email{mly@@adoc.xerox.com, Richard Mlynarik}
 
+Steve Baur was the primary maintainer for 19.15 through 21.0.
 
-@itemize @bullet
-@item @email{jwz@@netscape.com, Jamie Zawinski}
-@ifhtml
-<br><img src="jwz.gif" alt="Portrait of Jamie Zawinski"><br>
-@end ifhtml
+Chuck Thompson and Ben Wing were the maintainers for 19.11 through 19.14
+and heavy code contributors for 19.8 through 19.10.
 
-Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10, the last
-release actually named Lucid Emacs.  Richard Mlynarik was crucial to
-most of those releases.
+Jamie Zawinski was the maintainer for 19.0 through 19.10 (the entire
+history of Lucid Emacs).  Richard Mlynarik was a heavy code contributor
+to 19.6 through 19.8.
 
-@item @email{mly@@adoc.xerox.com, Richard Mlynarik}
 @end itemize
 
 Along with many other contributors, partially enumerated in the
@@ -844,7 +863,7 @@ version of the FAQ (listed in alphabetical order):
 @itemize @bullet
 @item @email{steve@@xemacs.org, SL Baur}
 
-@item @email{hniksic@@srce.hr, Hrvoje Niksic}
+@item @email{hniksic@@xemacs.org, Hrvoje Niksic}
 
 @item @email{Aki.Vehtari@@hut.fi, Aki Vehtari}
 
@@ -859,14 +878,20 @@ crash some time ago.
 @itemize @bullet
 @item @email{binge@@aloft.att.com, Curtis.N.Bingham}
 
+@item @email{bruncott@@dormeur.inria.fr, Georges Brun-Cottan}
+
 @item @email{rjc@@cogsci.ed.ac.uk, Richard Caley}
 
 @item @email{cognot@@ensg.u-nancy.fr, Richard Cognot}
 
+@item @email{daku@@nortel.ca, Mark Daku}
+
 @item @email{wgd@@martigny.ai.mit.edu, William G. Dubuque}
 
 @item @email{eeide@@cs.utah.edu, Eric Eide}
 
+@item @email{af@@biomath.jussieu.fr, Alain Fauconnet}
+
 @item @email{cflatter@@nrao.edu, Chris Flatters}
 
 @item @email{ginsparg@@adra.com, Evelyn Ginsparg}
@@ -892,139 +917,129 @@ crash some time ago.
 
 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction
 @unnumberedsec 1.3: Internationalization
-@unnumberedsubsec Q1.3.1: What is the status of XEmacs v20?
-
-XEmacs v20 is the version of XEmacs that includes MULE (Asian-language)
-support.  XEmacs 20.0 was released in February 1997, followed by XEmacs
-20.2 in May, XEmacs 20.3 in November and XEmacs 20.4 in February 1998.  When compiled without MULE
-support, 20.4 is approximately as stable as 19.16, and probably faster
-(due to additional optimization work.)
-
-As of XEmacs 20.3, version 20 is @emph{the} supported version of
-XEmacs.  This means that 19.16 will optionally receive stability fixes
-(if any), but that all the real development work will be done on the v20
-tree.
-
-The incompatible changes in XEmacs 20 include the additional byte-codes,
-new primitive data types (@code{character}, @code{char-table}, and
-@code{range-table}).  This means that the character-integer equivalence
-inherent to all the previous Emacs and XEmacs releases no longer
-applies.
-
-However, to avoid breaking old code, many functions that should normally
-accept characters work with integers, and vice versa.  For more
-information, see the Lisp reference manual.  Here is a relevant excerpt,
-for your convenience.
+@unnumberedsubsec Q1.3.1: What is the status of internationalization support aka MULE (including Asian language support?
 
-@quotation
-  In XEmacs version 19, and in all versions of FSF GNU Emacs, a
-@dfn{character} in XEmacs Lisp is nothing more than an integer.
-This is yet another holdover from XEmacs Lisp's derivation from
-vintage-1980 Lisps; modern versions of Lisp consider this equivalence
-a bad idea, and have separate character types.  In XEmacs version 20,
-the modern convention is followed, and characters are their own
-primitive types. (This change was necessary in order for @sc{MULE},
-i.e. Asian-language, support to be correctly implemented.)
-
-  Even in XEmacs version 20, remnants of the equivalence between
-characters and integers still exist; this is termed the @dfn{char-int
-confoundance disease}.  In particular, many functions such as @code{eq},
-@code{equal}, and @code{memq} have equivalent functions (@code{old-eq},
-@code{old-equal}, @code{old-memq}, etc.) that pretend like characters
-are integers are the same.  Byte code compiled under any version 19
-Emacs will have all such functions mapped to their @code{old-} equivalents
-when the byte code is read into XEmacs 20.  This is to preserve
-compatibility -- Emacs 19 converts all constant characters to the equivalent
-integer during byte-compilation, and thus there is no other way to preserve
-byte-code compatibility even if the code has specifically been written
-with the distinction between characters and integers in mind.
-
-  Every character has an equivalent integer, called the @dfn{character
-code}.  For example, the character @kbd{A} is represented as the
-@w{integer 65}, following the standard @sc{ASCII} representation of
-characters.  If XEmacs was not compiled with @sc{MULE} support, the
-range of this integer will always be 0 to 255 -- eight bits, or one
-byte. (Integers outside this range are accepted but silently truncated;
-however, you should most decidedly @emph{not} rely on this, because it
-will not work under XEmacs with @sc{MULE} support.)  When @sc{MULE}
-support is present, the range of character codes is much
-larger. (Currently, 19 bits are used.)
-
-  FSF GNU Emacs uses kludgy character codes above 255 to represent
-keyboard input of @sc{ASCII} characters in combination with certain
-modifiers.  XEmacs does not use this (a more general mechanism is
-used that does not distinguish between @sc{ASCII} keys and other
-keys), so you will never find character codes above 255 in a
-non-@sc{MULE} XEmacs.
-
-  Individual characters are not often used in programs.  It is far more
-common to work with @emph{strings}, which are sequences composed of
-characters.
-@end quotation
+Both the stable and development versions of XEmacs include
+internationalization support (aka MULE).  MULE currently (21.4) works on
+UNIX and Linux systems.  It is possible to build with MULE on Windows
+systems, but if you really need MULE on Windows, it is recommended that
+you build and use the development (21.5) version, and deal with the
+instability of the development tree.  Binaries compiled without MULE
+support run faster than MULE capable XEmacsen.
 
 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction
-@unnumberedsubsec Q1.3.2: What is the status of Asian-language support, aka MULE?
+@unnumberedsubsec Q1.3.2: How can I help with internationalization?
 
-The MULE support works OK but still needs a fair amount of work before
-it's really solid.  We could definitely use some help here, esp. people
-who speak Japanese and will use XEmacs/MULE to work with Japanese and
-have some experience with E-Lisp.
+If you would like to help, you may want to join the
+@email{xemacs-mule@@xemacs.org} mailing list.  Especially needed are
+people who speak/write languages other than English, who are willing to
+use XEmacs/MULE regularly, and have some experience with Elisp.
 
-As the fundings on Mule have stopped, the Mule part of XEmacs is currently
-looking for a full-time maintainer.  If you can provide help here, or
-are willing to fund the work, please mail to @email{xemacs-beta@@xemacs.org}.
+Translations of the TUTORIAL and man page are welcome, and XEmacs does
+support multilingual menus, but we have few current translations.
 
 @xref{Q1.1.2}.
 
 @node Q1.3.3, Q1.3.4, Q1.3.2, Introduction
 @unnumberedsubsec Q1.3.3: How do I type non-ASCII characters?
 
-See question 3.5.7 (@pxref{Q3.5.7}) in part 3 of this FAQ.
+See question 3.5.7 (@pxref{Q3.5.7}) in part 3 of this FAQ for some
+simple methods that also work in non-MULE builds of XEmacs (but only for
+one-octet coded character sets, and mostly for ISO 8859/1).  Many of the
+methods available for Cyrillic (@pxref{Q1.3.7}) work without MULE.
+MULE has more general capabilities.  @xref{Q1.3.5}.
+
+@xref{Q3.2.7}, which covers display of non-ASCII characters.
 
 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction
 @unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language?
 
-The message-catalog support has mostly been written but doesn't
-currently work.  The first release of XEmacs 20 will @emph{not} support
-it.  However, menubar localization @emph{does} work, even in 19.14.  To
-enable it, add to your @file{Emacs} file entries like this:
+The message-catalog support was written but is badly bit-rotted.  XEmacs
+20 and 21 did @emph{not} support it, and early releases of XEmacs 22
+will not either.
+
+However, menubar localization @emph{does} work.  To enable it, add to
+your @file{Emacs} file entries like this:
 
 @example
-Emacs*XlwMenu.resourceLabels:                  True
-Emacs*XlwMenu.file.labelString:                        Fichier
-Emacs*XlwMenu.openInOtherWindow.labelString:   In anderem Fenster offnen
+Emacs*XlwMenu.resourceLabels:                   True
+Emacs*XlwMenu.file.labelString:                 Fichier
+Emacs*XlwMenu.openInOtherWindow.labelString:   In anderem Fenster oeffnen
 @end example
 
 The name of the resource is derived from the non-localized entry by
 removing punctuation and capitalizing as above.
 
 @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction
-@unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs 20.0
-
-@email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes:
+@unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs
+
+Mule supports a wide variety of input methods.  There are three basic
+classes: Lisp implementations, generic platform support, and library
+interfaces.
+
+@emph{Lisp implementations} include Quail, which provides table-driven input
+methods for almost all the character sets that Mule supports (including
+all of the ISO 8859 family, the Indic languages, Thai, and so on), and
+SKK, for Japanese.  (SKK also supports an interface to an external
+"dictionary server" process.)  Quail supports both typical "dead-key"
+methods (eg, in the "latin-1-prefix" method, @kbd{" a} produces Ã¤, LATIN
+SMALL LETTER A WITH DIAERESIS), and the complex dictionary-based phonetic
+methods used for Asian ideographic languages like Chinese.
+
+Lisp implementations can be less powerful (but they are not perceptibly
+inefficient), and of course are not portable to non-Emacs applications.
+The incompatibility can be very annoying.  On the other hand, they
+require no special platform support or external libraries, so if you can
+display the characters, Mule can input them for you and you can edit,
+anywhere.
+
+@emph{Generic platform support} is currently limited to the X Input
+Method (XIM) framework, although support for MSIME (for MS Windows) is
+planned, and IIIMF (Sun's Internet-Intranet Input Method Framework)
+support is extremely desirable.  XIM is enabled at build time by use of
+the @samp{--with-xim} flag to @code{configure}.  For use of XIM, see
+your platform documentation.  However, normally the input method you use
+is specified via the @samp{LANG} and @samp{XMODIFIERS} environment
+variables.
 
-@quotation
-Original Mule supports the following input methods: Wnn4, Wnn6, Canna, SJ3
-and XIM. Interfaces for Wnn and SJ3 uses the @code{egg} user
-interface. Interface for Canna does not use @samp{egg}. I don't know
-about XIM. It is to support ATOK, of course, it may work for another
-servers.
+Of course, input skills are portable across most applications.  However,
+especially in modern GUI systems the habit of using bucky bits has
+fallen into sad disuse, and many XIM systems are poorly configured for
+use with Emacs.  For example, the kinput2 input manager (a separate
+process providing an interface between Japanese dictionary servers such
+as Canna and Wnn, and the application) tends to gobble up keystrokes
+generating Meta characters.  This means that to edit while using an XIM
+input method, you must toggle the input method off every time you want
+to use @kbd{M-f}.  Your mileage may vary.
+
+@emph{Library interfaces} are most common for Japanese, although Wnn
+supports Chinese (traditional and simplified) and Korean.  There are
+Chinese and Korean input servers available, but we do not know of any
+patches for XEmacs to use them directly.  You can use them via
+IM-enabled terminals, by manipulating the terminal coding systems.  We
+describe only the Japanese-oriented systems here.  The advantage of
+these systems is that they are very powerful, and on platforms where
+they are available there is typically a wide range of applications that
+support them.  Thus your input skills are portable across applications.
+
+Mule provides built-in interfaces to the following input methods: Wnn4,
+Wnn6, Canna, and SJ3.  These can be configured at build time.  There are
+patches available (no URL, sorry) to support the SKK server, as well.
+Wnn and SJ3 use the @code{egg} user interface.  The interface for Canna
+is specialized to Canna.
 
 Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
-university. It is a powerful and complex system.  Wnn4 is free and Wnn6
-is not free.
+University. It is a powerful and complex system.  Wnn4 is free and Wnn6
+is not.  Wnn uses grammatical hints and probability of word association,
+so in principle Wnn can be cleverer than other methods.
 
-Canna supports only Japanese. It is made by NEC. It is a simple and
-powerful system. Canna uses only grammar (Wnn uses grammar and
-probability between words), so I think Wnn is cleverer than Canna,
-however Canna users made a good grammar and dictionary.  So for standard
-modern Japanese, Canna seems cleverer than Wnn4. In addition, the UNIX
-version of Canna is free (now there is a Microsoft Windows version).
+Canna, made by NEC, supports only Japanese.  It is a simple and powerful
+system. Canna uses only grammar, but its grammar and dictionary are
+quite sophisticated.  So for standard modern Japanese, Canna seems
+cleverer than Wnn4. In addition, the UNIX version of Canna is free (now
+there is a Microsoft Windows version).
 
-SJ3 supports only Japanese. It is made by Sony.  XIM supports was made
-to use ATOK (a major input method in personal computer world).  XIM is
-the standard for accessing input methods bundled in Japanese versions of
-Solaris.  (XEmacs 20 will support XIM input).
+SJ3, by Sony, supports only Japanese.
 
 Egg consists of following parts:
 
@@ -1035,35 +1050,50 @@ It translates ASCII inputs to Kana/PinYin/Hangul characters.
 
 @item
 Kana/PinYin/Hangul to Kanji transfer layer.
-It is interface layer for network Kana-Kanji server (Wnn and Sj3).
+The interface layer to network Kana-Kanji server (Wnn and Sj3).
 @end enumerate
 
-These input methods are modal, namely there are mode, alphabet mode and
-Kana-Kanji transfer mode.  However there are mode-less input methods for
-Egg and Canna.  @samp{Boiled-egg} is a mode-less input method running on
-Egg.  For Canna, @samp{canna.el} has a tiny boiled-egg like command,
-@code{(canna-boil)}, and there are some boiled-egg like utilities.  In
-addition, it was planned to make an abstraction for all transfer type
-input methods.  However authors of input methods are busy, so maybe this
-plan is stopped.  Perhaps after Mule merged GNU Emacs will be released,
-it will be continued.
-@end quotation
+These input methods are modal.  They have a raw (alphabet) mode, a
+phonetic input mode, and Kana-Kanji transfer mode.  However there are
+mode-less input methods for Egg and Canna.  @samp{boiled-egg} is a
+mode-less input method running on Egg.  For Canna, @samp{canna.el} has a
+tiny boiled-egg-like command, @code{(canna-boil)}, and there are some
+boiled-egg-like utilities.
+
+Much of this information was provided by @email{morioka@@jaist.ac.jp,
+MORIOKA Tomohiko}.
 
 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction
-@unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs 20?
+@unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs?
+
+MULE has evolved rapidly over the last few years, and the original third
+party patch (for GNU Emacs 19), GNU Emacs 20+, and XEmacs 20+ have quite
+different implementations.  The APIs also vary although recent versions
+of XEmacs have tended to converge to the GNU Emacs standard.
+
+MULE implementations are going to continue to evolve.  Both GNU Emacs
+and XEmacs are working hard on Unicode support, which will involve new
+APIs and probably variations on old ones.  For XEmacs 22, the old ISO
+2022-based system for recognizing encodings will be replaced by a much
+more flexible system, which should improve accuracy of automatic coding
+detections, but will also involve new APIs.
 
 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes:
 
 @quotation
-MULE and XEmacs are quite different. So the application
-implementor must write separate code for these mule variants.
+The application implementor must write separate code for these mule
+variants.  [Please don't hesitate to report these variants to us; they
+are not, strictly speaking, bugs, but they give third-party developers
+the same kind of creepy-crawly feeling.  We'll do what we can. -- Ed.]
 
 MULE and the next version of Emacs are similar but the symbols are very
 different---requiring separate code as well.
 
 Namely we must support 3 kinds of mule variants and 4 or 5 or 6 kinds of
 emacs variants... (;_;) I'm shocked, so I wrote a wrapper package called
-@code{emu} to provide a common interface.
+@code{emu} to provide a common interface.  [There is an XEmacs package
+of APEL which provides much more comprehensive coverage.  Be careful,
+however; APEL has problems of its own. -- Ed.]
 
 I have the following suggestions about dealing with mule variants:
 
@@ -1087,18 +1117,18 @@ Following is a sample to distinguish mule variants:
     (cond ((boundp 'MULE)
            ;; for original Mule
            )
-         ((string-match "XEmacs" emacs-version)
-          ;; for XEmacs with Mule
-          )
-         (t
-          ;; for next version of Emacs
-          ))
+          ((string-match "XEmacs" emacs-version)
+           ;; for XEmacs with Mule
+           )
+          (t
+           ;; for next version of Emacs
+           ))
   ;; for old emacs variants
   )
 @end lisp
 @end quotation
 
-@node Q1.3.7, Q1.4.1, Q1.3.6, Introduction
+@node Q1.3.7, Q1.3.8, Q1.3.6, Introduction
 @unnumberedsubsec Q1.3.7: How about Cyrillic Modes?
 
 @email{ilya@@math.ohio-state.edu, Ilya Zakharevich} writes:
@@ -1113,8 +1143,7 @@ modification to @email{ava@@math.jhu.ed, Valery Alexeev's} @file{russian.el}
 which can be obtained from
 @end quotation
 
-@uref{http://ftpsearch.ntnu.no/?query=russian.el.Z}.
-@c dead link above
+@uref{http://www.math.uga.edu/~valery/russian.el}.
 
 @email{d.barsky@@ee.surrey.ac.uk, Dima Barsky} writes:
 
@@ -1134,50 +1163,114 @@ There is another cyrillic mode for both GNU Emacs and XEmacs by
 
 @quotation
 The fullest resource I found on Russian language use (in and out of
-XEmacs) is @uref{http://sunsite.oit.unc.edu/sergei/Software/Software.html}
+XEmacs) is @uref{http://www.ibiblio.org/sergei/Software/Software.html}
 @end quotation
 
-@node Q1.4.1, Q1.4.2, Q1.3.7, Introduction
-@unnumberedsec 1.4: Getting Started, Backing up & Recovery
-@unnumberedsubsec Q1.4.1: What is a @file{.emacs} and is there a sample one?
+@node Q1.3.8, Q1.3.9, Q1.3.7, Introduction
+@unnumberedsubsec Q1.3.8: Does XEmacs support Unicode?
+
+Partially, as an external encoding for files, processes, and terminals.
+It does not yet support Unicode fonts @ref{Q1.3.9, Does XEmacs support
+Unicode Fonts?}
+
+To get Unicode support, you need a Mule-enabled XEmacs.  Install
+Mule-UCS from packages in the usual way.  Put
+
+@example
+(require 'un-define)
+(set-coding-priority-list '(utf-8))
+(set-coding-category-system 'utf-8 'utf-8)
+@end example
+
+in your init file to enable the UTF-8 coding system.  You may wish to
+view the documentation of @code{set-coding-priority-list} if you find
+that files that are not UTF-8 are being mis-recognized as UTF-8.
 
-The @file{.emacs} file is used to customize XEmacs to your tastes.  No
-two are alike, nor are they expected to be alike, but that's the point.
-The XEmacs distribution contains an excellent starter example in the etc
-directory called @file{sample.emacs}.  Copy this file from there to your
-home directory and rename it @file{.emacs}.  Then edit it to suit.
+Install standard national fonts (not Unicode fonts) for all
+character sets you use.  See @ref{Q1.3.9}.
 
-Starting with 19.14, you may bring the @file{sample.emacs} into an
-XEmacs buffer by selecting @samp{Help->Sample .emacs} from the menubar.
-To determine the location of the @file{etc} directory type the command
+Mule-UCS also supports 16-bit forms of Unicode (UTF-16).  It does not
+support 31-bit forms of Unicode (UTF-32 or UCS-4).
+
+@node Q1.3.9, Q1.4.1, Q1.3.8, Introduction
+@unnumberedsubsec Q1.3.9: How does XEmacs display Unicode?
+
+Mule doesn't have a Unicode charset internally, so there's nothing to
+bind a Unicode registry to.  It would not be straightforward to create,
+either, because Unicode is not ISO 2022-compatible.  You'd have to
+translate it to multiple 96x96 pages.
+
+This means that Mule-UCS uses ordinary national fonts for display.  This
+is not really a problem, except for those languages that use the Unified
+Han characters.  The problem here is that Mule-UCS maps from Unicode
+code points to national character sets in a deterministic way.  By
+default, this means that Japanese fonts are tried first, then Chinese,
+then Korean.  To change the priority ordering, use the command
+`un-define-change-charset-order'.
+
+It also means you can't use Unicode fonts directly, at least not without
+extreme hackery.  You can run -nw with (set-terminal-coding-system
+'utf-8) if you really want a Unicode font for some reason.
+
+Real Unicode support will be introduced in XEmacs 22.0.
+
+@node Q1.4.1, Q1.4.2, Q1.3.9, Introduction
+@unnumberedsec 1.4: Getting Started, Backing up & Recovery
+@unnumberedsubsec Q1.4.1: What is an @file{init.el} or @file{.emacs} and is there a sample one?
+
+The @file{init.el} or @file{.emacs} file is used to customize XEmacs to
+your tastes.  Starting in 21.4, the preferred location for the init file
+is @file{~/.xemacs/init.el}; in previous versions, it was
+@file{~/.emacs}.  21.4 still accepts the old location, but the first
+time you run it, it will ask to migrate your file to the new location.
+If you answer yes, the file will be moved, and a "compatibility"
+@file{.emacs} file will be placed in the old location so that you can
+still run older versions of XEmacs, and versions of GNU Emacs, which
+expect the old location.  The @file{.emacs} file present is just a stub
+that loads the real file in @file{~/.xemacs/init.el}.
+
+No two init files are alike, nor are they expected to be alike, but
+that's the point.  The XEmacs distribution contains an excellent starter
+example in the @file{etc/} directory called @file{sample.init.el}
+(starting in 21.4) or @file{sample.emacs} in older versions.  Copy this
+file from there to @file{~/.xemacs/init.el} (starting in 21.4) or
+@file{~/.emacs} in older versions, where @samp{~} means your home
+directory, of course.  Then edit it to suit.
+
+You may bring the @file{sample.init.el} or @file{sample.emacs} file into
+an XEmacs buffer from the menubar. (The menu entry for it is always
+under the @samp{Help} menu, but its location under that has changed in
+various versions.  Recently, look under the @samp{Samples} submenu.)  To
+determine the location of the @file{etc/} directory type the command
 @kbd{C-h v data-directory @key{RET}}.
 
 @node Q1.4.2, Q1.4.3, Q1.4.1, Introduction
-@unnumberedsubsec Q1.4.2: Can I use the same @file{.emacs} with the other Emacs?
+@unnumberedsubsec Q1.4.2: Can I use the same @file{init.el}/@file{.emacs} with the other Emacs?
 
-Yes.  The sample @file{.emacs} included in the XEmacs distribution will
-show you how to handle different versions and flavors of Emacs.
+Yes.  The sample @file{init.el}/@file{.emacs} included in the XEmacs
+distribution will show you how to handle different versions and flavors
+of Emacs.
 
 @node Q1.4.3, Q1.4.4, Q1.4.2, Introduction
 @unnumberedsubsec Q1.4.3: Any good tutorials around?
 
-There's the XEmacs tutorial available from the Help Menu, or by typing
-@kbd{C-h t}. To check whether it's available in a non-english language,
-type @kbd{C-u C-h t TAB}, type the first letters of your preferred
-language, then type @key{RET}.
-
-There's an Emacs Lisp tutorial at
-
-@example
-@uref{ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz}.
-@end example
-
-@email{erik@@petaxp.rug.ac.be, Erik Sundermann} has made a tutorial web
-page at
-@iftex
-@*
-@end iftex
-@uref{http://petaxp.rug.ac.be/~erik/xemacs/}.
+There's the XEmacs tutorial available from the Help Menu under
+@samp{Basics->Tutorials}, or by typing @kbd{C-h t}. To check whether
+it's available in a non-english language, type @kbd{C-u C-h t TAB}, type
+the first letters of your preferred language, then type @key{RET}.
+
+@comment There's an Emacs Lisp tutorial at
+@comment
+@comment @example
+@comment @uref{ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz}.
+@comment @end example
+@comment
+@comment @email{erik@@petaxp.rug.ac.be, Erik Sundermann} has made a tutorial web
+@comment page at
+@comment @iftex
+@comment @*
+@comment @end iftex
+@comment @uref{http://petaxp.rug.ac.be/~erik/xemacs/}.
 
 @node Q1.4.4, Q1.4.5, Q1.4.3, Introduction
 @unnumberedsubsec Q1.4.4: May I see an example of a useful XEmacs Lisp function?
@@ -1225,7 +1318,7 @@ To bind to a key do:
 
 Or interactively, @kbd{M-x global-set-key} and follow the prompts.
 
-@node Q1.4.6, Q1.4.7, Q1.4.5, Introduction
+@node Q1.4.6, , Q1.4.5, Introduction
 @unnumberedsubsec Q1.4.6: What's the difference between a macro and a function?
 
 Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual:
@@ -1245,36 +1338,6 @@ Do not confuse the two terms with @dfn{keyboard macros}, which are
 another matter, entirely.  A keyboard macro is a key bound to several
 other keys.  Refer to manual for details.
 
-@node Q1.4.7, , Q1.4.6, Introduction
-@unnumberedsubsec Q1.4.7: How come options saved with 19.13 don't work with 19.14 or later?
-
-There's a problem with options of the form:
-
-@lisp
-(add-spec-list-to-specifier (face-property 'searchm-field 'font)
-                            '((global (nil))))
-@end lisp
-
-saved by a 19.13 XEmacs that causes a 19.14 XEmacs grief.  You must
-delete these options.  XEmacs 19.14 and later no longer write the
-options directly to @file{.emacs} which should allow us to deal with
-version incompatibilities better in the future.
-
-Options saved under XEmacs 19.13 are protected by code that specifically
-requires a version 19 XEmacs.  This won't be a problem unless you're
-using XEmacs v20.  You should consider changing the code to read:
-
-@lisp
-(cond
- ((and (string-match "XEmacs" emacs-version)
-       (boundp 'emacs-major-version)
-       (or (and (= emacs-major-version 19)
-                (>= emacs-minor-version 12))
-           (>= emacs-major-version 20)))
-  ...
-  ))
-@end lisp
-
 @node Installation, Customization, Introduction, Top
 @unnumbered 2 Installation and Trouble Shooting
 
@@ -1295,8 +1358,10 @@ Installation:
 * Q2.0.10::     After I run configure I find a coredump, is something wrong?
 * Q2.0.11::     XEmacs can't resolve host names.
 * Q2.0.12::     Why can't I strip XEmacs?
-* Q2.0.13::     Can't link XEmacs on Solaris with Gcc.
-* Q2.0.14::     Make on HP/UX 9 fails after linking temacs
+* Q2.0.13::     I don't need no steenkin' packages.  Do I?
+* Q2.0.14::     I don't want to install a million .els one at a time!
+* Q2.0.15::     EFS fails with "500 AUTH not understood" (NEW)
+* Q2.0.16::     Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
 
 Trouble Shooting:
 * Q2.1.1::      XEmacs just crashed on me!
@@ -1316,19 +1381,21 @@ Trouble Shooting:
 * Q2.1.15::     How to debug an XEmacs problem with a debugger.
 * Q2.1.16::     XEmacs crashes in @code{strcat} on HP/UX 10.
 * Q2.1.17::     @samp{Marker does not point anywhere}.
-* Q2.1.18::     19.14 hangs on HP/UX 10.10.
+* Q2.1.18::     XEmacs is outputting lots of X errors.
 * Q2.1.19::     XEmacs does not follow the local timezone.
 * Q2.1.20::     @samp{Symbol's function definition is void: hkey-help-show.}
-* Q2.1.21::     Every so often the XEmacs frame freezes.
+* Q2.1.21::     [This question intentionally left blank]
 * Q2.1.22::     XEmacs seems to take a really long time to do some things.
 * Q2.1.23::     Movemail on Linux does not work for XEmacs 19.15 and later.
+* Q2.1.24::     XEmacs won't start without network.
+* Q2.1.25::     After upgrading, XEmacs won't do `foo' any more!
 @end menu
 
 @node Q2.0.1, Q2.0.2, Installation, Installation
 @unnumberedsec 2.0: Installation
 @unnumberedsubsec Q2.0.1: Running XEmacs without installing
-The @file{INSTALL} file says that up to 108 MB of space is needed
-temporarily during installation!  How can I just try it out?
+
+How can I just try XEmacs without installing it?
 
 XEmacs will run in place without requiring installation and copying of
 the Lisp directories, and without having to specify a special build-time
@@ -1349,98 +1416,13 @@ This will let you run XEmacs without massive copying.
 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation
 @unnumberedsubsec Q2.0.2: XEmacs is too big
 
-Although this entry has been written for XEmacs 19.13, most of it still
-stands true.
-
-@email{steve@@altair.xemacs.org, Steve Baur} writes:
-
-@quotation
-The 45MB of space required by the installation directories can be
+The space required by the installation directories can be
 reduced dramatically if desired.  Gzip all the .el files.  Remove all
-the packages you'll never want to use (or even ones you do like the two
-obsolete mailcrypts and Gnus 4 in 19.13).  Remove the TexInfo manuals.
+the packages you'll never want to use.  Remove the TexInfo manuals.
 Remove the Info (and use just hardcopy versions of the manual).  Remove
 most of the stuff in etc.  Remove or gzip all the source code.  Gzip or
 remove the C source code.  Configure it so that copies are not made of
-the support lisp.  I'm not advocating any of these things, just pointing
-out ways to reduce the disk requirements if desired.
-
-Now examine the space used by directory:
-
-@format
-0      /usr/local/bin/xemacs
-2048   /usr/local/bin/xemacs-19.13
-
-1546   /usr/local/lib/xemacs-19.13/i486-miranova-sco3.2v4.2
-1158   /usr/local/lib/xemacs-19.13/i486-unknown-linux1.2.13
-@end format
-
-You need to keep these.  XEmacs isn't stripped by default in
-installation, you should consider stripping.  That will save you about
-5MB right there.
-
-@format
-207    /usr/local/lib/xemacs-19.13/etc/w3
-122    /usr/local/lib/xemacs-19.13/etc/sounds
-18     /usr/local/lib/xemacs-19.13/etc/sparcworks
-159    /usr/local/lib/xemacs-19.13/etc/vm
-6      /usr/local/lib/xemacs-19.13/etc/e
-21     /usr/local/lib/xemacs-19.13/etc/eos
-172    /usr/local/lib/xemacs-19.13/etc/toolbar
-61     /usr/local/lib/xemacs-19.13/etc/ns
-43     /usr/local/lib/xemacs-19.13/etc/gnus
-@end format
-
-These are support directories for various packages.  In general they
-match a directory under ./xemacs-19.13/lib/xemacs-19.13/lisp/.  If you
-do not require the package, you may delete or gzip the support too.
-
-@format
-1959   /usr/local/lib/xemacs-19.13/etc
-175    /usr/local/lib/xemacs-19.13/lisp/bytecomp
-340    /usr/local/lib/xemacs-19.13/lisp/calendar
-342    /usr/local/lib/xemacs-19.13/lisp/comint
-517    /usr/local/lib/xemacs-19.13/lisp/dired
-42     /usr/local/lib/xemacs-19.13/lisp/electric
-212    /usr/local/lib/xemacs-19.13/lisp/emulators
-238    /usr/local/lib/xemacs-19.13/lisp/energize
-289    /usr/local/lib/xemacs-19.13/lisp/gnus
-457    /usr/local/lib/xemacs-19.13/lisp/ilisp
-1439   /usr/local/lib/xemacs-19.13/lisp/modes
-2276   /usr/local/lib/xemacs-19.13/lisp/packages
-1040   /usr/local/lib/xemacs-19.13/lisp/prim
-176    /usr/local/lib/xemacs-19.13/lisp/pcl-cvs
-154    /usr/local/lib/xemacs-19.13/lisp/rmail
-3      /usr/local/lib/xemacs-19.13/lisp/epoch
-45     /usr/local/lib/xemacs-19.13/lisp/term
-860    /usr/local/lib/xemacs-19.13/lisp/utils
-851    /usr/local/lib/xemacs-19.13/lisp/vm
-13     /usr/local/lib/xemacs-19.13/lisp/vms
-157    /usr/local/lib/xemacs-19.13/lisp/x11
-19     /usr/local/lib/xemacs-19.13/lisp/tooltalk
-14     /usr/local/lib/xemacs-19.13/lisp/sunpro
-291    /usr/local/lib/xemacs-19.13/lisp/games
-198    /usr/local/lib/xemacs-19.13/lisp/edebug
-619    /usr/local/lib/xemacs-19.13/lisp/w3
-229    /usr/local/lib/xemacs-19.13/lisp/eos
-55     /usr/local/lib/xemacs-19.13/lisp/iso
-59     /usr/local/lib/xemacs-19.13/lisp/mailcrypt
-187    /usr/local/lib/xemacs-19.13/lisp/eterm
-356    /usr/local/lib/xemacs-19.13/lisp/ediff
-408    /usr/local/lib/xemacs-19.13/lisp/hyperbole/kotl
-1262   /usr/local/lib/xemacs-19.13/lisp/hyperbole
-247    /usr/local/lib/xemacs-19.13/lisp/hm--html-menus
-161    /usr/local/lib/xemacs-19.13/lisp/mh-e
-299    /usr/local/lib/xemacs-19.13/lisp/viper
-53     /usr/local/lib/xemacs-19.13/lisp/oobr/tree-x
-4      /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj/DocWindow.nib
-3      /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj/InfoPanel.nib
-3      /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj/TreeView.nib
-11     /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj
-53     /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx
-466    /usr/local/lib/xemacs-19.13/lisp/oobr
-14142  /usr/local/lib/xemacs-19.13/lisp
-@end format
+the support lisp.
 
 These are all Emacs Lisp source code and bytecompiled object code.  You
 may safely gzip everything named *.el here.  You may remove any package
@@ -1448,81 +1430,18 @@ you don't use.  @emph{Nothing bad will happen if you delete a package
 that you do not use}.  You must be sure you do not use it though, so be
 conservative at first.
 
-Possible candidates for deletion include w3 (newer versions exist, or
-you may just use Lynx or Netscape for web browsing), games, hyperbole,
-mh-e, hm--html-menus (better packages exist), vm, viper, oobr, gnus (new
-versions exist), etc.  Ask yourself, @emph{Do I ever want to use this
+Any package with the possible exceptions of xemacs-base, and EFS are
+candidates for removal.  Ask yourself, @emph{Do I ever want to use this
 package?}  If the answer is no, then it is a candidate for removal.
 
 First, gzip all the .el files.  Then go about package by package and
 start gzipping the .elc files.  Then run XEmacs and do whatever it is
-you normally do.  If nothing bad happens, then delete the directory.  Be
-conservative about deleting directories, and it would be handy to have a
-backup tape around in case you get too zealous.
-
-@file{prim}, @file{modes}, @file{packages}, and @file{utils} are four
-directories you definitely do @strong{not} want to delete, although
-certain packages can be removed from them if you do not use them.
-
-@example
-1972   /usr/local/lib/xemacs-19.13/info
-@end example
-
-These are online texinfo sources.  You may either gzip them or remove
-them.  In either case, @kbd{C-h i} (info mode) will no longer work.
-
-@example
-20778  /usr/local/lib/xemacs-19.13
-@end example
-
-The 20MB achieved is less than half of what the full distribution takes up,
-@strong{and} can be achieved without deleting a single file.
-@end quotation
-
-@email{boffi@@hp735.stru.polimi.it, Giacomo Boffi} provides this procedure:
-
-@quotation
-Substitute @file{/usr/local/lib/} with the path where the xemacs tree is
-rooted, then use this script:
+you normally do.  If nothing bad happens, then remove the package.  You
+can remove a package via the PUI interface 
+(@code{M-x pui-list-packages}, then press @kbd{d} to mark the packages
+you wish to delete, and then @kbd{x} to delete them.
 
-@example
-#!/bin/sh
-
-r=/usr/local/lib/xemacs-19.13/lisp
-
-cd $r ; rm -f cmpr ; touch cmpr
-
-du -s .
-
-for d in * ; do
-  if test -d $d ; then
-    cd $d
-    for f in *.el ; do
-#     compress (remove) only (ONLY) the sources that have a
-#     corresponding compiled file --- do not (DO NOT)
-#     touch other sources
-      if test -f $@{f@}c ; then gzip -v9 $f >> $r/cmpr ; fi
-    done
-    cd ..
-  fi
-done
-
-du -s .
-@end example
-
-A step beyond would be substituting @samp{rm -f} for @samp{gzip -v9},
-but you have to be desperate for removing the sources (remember that
-emacs can access compressed files transparently).
-
-Also, a good megabyte could easily be trimmed from the $r/../etc
-directory, e.g., the termcap files, some O+NEWS, others that I don't
-remember as well.
-@end quotation
-
-@quotation
-XEmacs 21.0 will unbundle the lisp hierarchy and allow the installer
-to choose exactly how much support code gets installed.
-@end quotation
+Another method is to do @code{M-x package-get-delete-package}.
 
 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
 @unnumberedsubsec Q2.0.3: Compiling XEmacs with Netaudio.
@@ -1568,7 +1487,7 @@ Initialization error:
 Terminal type `xterm' undefined (or can't access database?)
 @end example
 
-@email{ben@@666.com, Ben Wing} writes:
+@email{ben@@xemacs.org, Ben Wing} writes:
 
 @quotation
 Your ncurses configuration is messed up.  Your /usr/lib/terminfo is a
@@ -1579,9 +1498,8 @@ bad pointer, perhaps to a CD-ROM that is not inserted.
 @unnumberedsubsec Q2.0.5: Do I need X11 to run XEmacs?
 
 No.  The name @dfn{XEmacs} is unfortunate in the sense that it is
-@strong{not} an X Window System-only version of Emacs.  Starting with
-19.14 XEmacs has full color support on a color capable character
-terminal.
+@strong{not} an X Window System-only version of Emacs.  XEmacs has
+full color support on a color-capable character terminal.
 
 @node Q2.0.6, Q2.0.7, Q2.0.5, Installation
 @unnumberedsubsec Q2.0.6: I'm having strange crashes.  What do I do?
@@ -1590,6 +1508,11 @@ There have been a variety of reports of crashes due to compilers with
 buggy optimizers.  Please see the @file{PROBLEMS} file that comes with
 XEmacs to read what it says about your platform.
 
+If you compiled XEmacs using @samp{--use-union-type} (or the option
+@samp{USE_UNION_TYPE} in @file{config.inc} under Windows), try
+recompiling again without it.  The union type has been known to trigger
+compiler errors in a number of cases.
+
 @node Q2.0.7, Q2.0.8, Q2.0.6, Installation
 @unnumberedsubsec Q2.0.7: Libraries in non-standard locations
 
@@ -1622,11 +1545,11 @@ Patch the XEmacs binary by replacing all occurrences of
 suffice.  If you don't understand how to do this, don't do it.
 
 @item
-Rebuild XEmacs yourself -- any working ELF version of libc should be
+Rebuild XEmacs yourself---any working ELF version of libc should be
 O.K.
 @end enumerate
 
-@email{hniksic@@srce.hr, Hrvoje Niksic} writes:
+@email{hniksic@@xemacs.org, Hrvoje Niksic} writes:
 
 @quotation
 Why not use a Perl one-liner for No. 2?
@@ -1669,6 +1592,9 @@ site
 @*
 @end iftex
 @uref{ftp://ftp.xemacs.org/pub/xemacs/aux/}.
+[These tarballs and this FAQ are wa-a-ay out of date.  Sorry, I'm not
+currently network-capable, and I will probably forgot to update this
+before submitting the patch. -- Ed.]
 
 @c Changed June Link above, <URL:ftp://ftp.xemacs.org/pub/aux/> was dead.
 @c This list is a pain in the you-know-what to keep in synch with the
@@ -1764,7 +1690,7 @@ written on disk using a special unexec() function. This function is
 obviously heavily system dependent. And on some systems, it leads to an
 executable which, although valid, cannot be stripped without damage. If
 memory serves, this is especially the case for AIX binaries. On other
-architecture it might work OK.
+architectures it might work OK.
 
 The Right Way to strip the emacs binary is to strip temacs prior to
 dumping xemacs. This will always work, although you can do that only if
@@ -1803,45 +1729,74 @@ cp lib-src/DOC-19.16-XEmacs
 @end quotation
 
 @node Q2.0.13, Q2.0.14, Q2.0.12, Installation
-@unnumberedsubsec Q2.0.13: Problems linking with Gcc on Solaris
+@unnumberedsubsec Q2.0.13: I don't need no steenkin' packages.  Do I?
 
-There are known difficulties linking with Gnu ld on Solaris.  A typical
-error message might look like:
+Strictly speaking, no.  XEmacs will build and install just fine without
+any packages installed.  However, only the most basic editing functions
+will be available with no packages installed, so installing packages is
+an essential part of making your installed XEmacs _useful_.
 
-@example
-unexec(): dlopen(../dynodump/dynodump.so): ld.so.1: ./temacs:
-fatal: relocation error:
-symbol not found: main: referenced in ../dynodump/dynodump.so
-@end example
+@node Q2.0.14, Q2.0.15, Q2.0.13, Installation
+@unnumberedsubsec Q2.0.14: How do I figure out which packages to install?
 
-@email{martin@@xemacs.org, Martin Buchholz} writes:
+Many people really liked the old way that packages were bundled and do
+not want to mess with packages at all.  You can grab all the packages at
+once like you used to with old XEmacs versions.  Download the file
 
-@quotation
-You need to specify @samp{-fno-gnu-linker} as part of your flags to pass
-to ld.  Future releases of XEmacs will try to do this automatically.
-@end quotation
+@file{xemacs-sumo.tar.gz}
 
-@node Q2.0.14, Q2.1.1, Q2.0.13, Installation
-@unnumberedsubsec Q2.0.14: Make on HP/UX 9 fails after linking temacs
+For an XEmacs compiled with Mule you also need
 
-Problem when building xemacs-19.16 on hpux 9:
+@file{xemacs-mule-sumo.tar.gz}
 
-@email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes:
+from the @file{packages} directory on your XEmacs mirror archive.
+N.B. They are called 'Sumo Tarballs' for good reason. They are
+currently about 15MB and 2.3MB (gzipped) respectively.
 
-@quotation
-make on hpux fails after linking temacs with a message:
+Install them by
 
-@example
-"make: don't know how to make .y."
-@end example
+@code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xf -}
 
-Solution: This is a problem with HP make revision 70.X.  Either use GNU
-make, or install PHCO_6552, which will bring make to revision
-72.24.1.17.
-@end quotation
+See README.packages for more detailed installation instructions.
+
+As the Sumo tarballs are not regenerated as often as the individual
+packages, it is recommended that you use the automatic package tools
+afterwards to pick up any recent updates.
+
+@node Q2.0.15, Q2.0.16, Q2.0.14, Installation
+@unnumberedsubsec Q2.0.15: EFS fails with "500 AUTH not understood" (NEW)
+
+A typical error: FTP Error: USER request failed; 500 AUTH not understood.
+
+Thanks to giacomo boffi @email{giacomo.boffi@@polimi.it} who recommends
+on comp.emacs.xemacs:
+
+   tell your ftp client to not attempt AUTH authentication (or do not
+   use FTP servers that don't understand AUTH)
+
+and notes that you need to add an element (often "-u") to
+`efs-ftp-program-args'.  Use M-x customize-variable, and verify the
+needed flag with `man ftp' or other local documentation.
+
+@node Q2.0.16, Q2.1.1, Q2.0.15, Installation
+@unnumberedsubsec Q2.0.16: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
+
+The Cygwin binary distributed with the netinstaller uses an external DLL
+to handle XPM images (such as toolbar buttons).  You may get an error like
 
+    This application has failed to start because cygXpm-noX4.dll was not found.
+    Re-installing the application may fix this problem.
 
-@node Q2.1.1, Q2.1.2, Q2.0.14, Installation
+Andy Piper <andy@@xemacs.org> sez:
+
+    cygXpm-noX4 is part of the cygwin distribution under libraries or
+    graphics, but is not installed by default. You need to run the
+    cygwin setup again and select this package.
+
+Ie, reinstalling XEmacs won't help because it is not part of the XEmacs
+distribution.
+
+@node Q2.1.1, Q2.1.2, Q2.0.16, Installation
 @unnumberedsec 2.1: Trouble Shooting
 @unnumberedsubsec Q2.1.1: Help!  XEmacs just crashed on me!
 
@@ -1853,25 +1808,36 @@ to edit those files, you will be informed that a more recent auto-save
 file exists.  You can use @kbd{M-x recover-file} to retrieve the
 auto-saved version of the file.
 
-Starting with 19.14, you may use the command @kbd{M-x recover-session}
-after a crash to pick up where you left off.
+You can use the command @kbd{M-x recover-session} after a crash to pick
+up where you left off.
 
 Now, XEmacs is not perfect, and there may occasionally be times, or
 particular sequences of actions, that cause it to crash.  If you can
 come up with a reproducible way of doing this (or even if you have a
 pretty good memory of exactly what you were doing at the time), the
-maintainers would be very interested in knowing about it.  Post a
-message to comp.emacs.xemacs or send mail to @email{crashes@@xemacs.org}.
-Please note that the @samp{crashes} address is exclusively for crash
+maintainers would be very interested in knowing about it.  The best way
+to report a bug is using @kbd{M-x report-emacs-bug} (or by selecting
+@samp{Send Bug Report...} from the Help menu).  If that won't work
+(e.g. you can't get XEmacs working at all), send ordinary mail to
+@email{crashes@@xemacs.org}. @emph{MAKE SURE} to include the output from
+the crash, especially including the Lisp backtrace, as well as the
+XEmacs configuration from @kbd{M-x describe-installation} (or
+equivalently, the file @file{Installation} in the top of the build
+tree).  Please note that the @samp{crashes} address is exclusively for
+crash reports.  The best way to report bugs in general is through the
+@kbd{M-x report-emacs-bug} interface just mentioned, or if necessary by
+emailing @email{xemacs-beta@@xemacs.org}.  Note that the developers do
+@emph{not} usually follow @samp{comp.emacs.xemacs} on a regular basis;
+thus, this is better for general questions about XEmacs than bug
 reports.
 
-If at all possible, include a stack backtrace of the core dump that was
-produced.  This shows where exactly things went wrong, and makes it much
-easier to diagnose problems.  To do this, you need to locate the core
-file (it's called @file{core}, and is usually sitting in the directory
-that you started XEmacs from, or your home directory if that other
-directory was not writable).  Then, go to that directory and execute a
-command like:
+If at all possible, include a C stack backtrace of the core dump that
+was produced.  This shows where exactly things went wrong, and makes it
+much easier to diagnose problems.  To do this under Unix, you need to
+locate the core file (it's called @file{core}, and is usually sitting in
+the directory that you started XEmacs from, or your home directory if
+that other directory was not writable).  Then, go to that directory and
+execute a command like:
 
 @example
 gdb `which xemacs` core
@@ -1884,9 +1850,16 @@ your system administrator.
 
 It's possible that a core file didn't get produced, in which case you're
 out of luck.  Go complain to your system administrator and tell him not
-to disable core files by default.  Also @xref{Q2.1.15}, for tips and
+to disable core files by default.  Also see @ref{Q2.1.15}, for tips and
 techniques for dealing with a debugger.
 
+If you're under Microsoft Windows, you're out of luck unless you happen
+to have a debugging aid installed on your system, for example Visual
+C++.  In this case, the crash will result in a message giving you the
+option to enter a debugger (for example, by pressing @samp{Cancel}).  Do
+this and locate the stack-trace window. (If your XEmacs was built
+without debugging information, the stack trace may not be very useful.)
+
 When making a problem report make sure that:
 
 @enumerate
@@ -1904,14 +1877,20 @@ What version of XEmacs you are running.
 What build options you are using.
 
 @item
-If the problem is related to graphics, we will also need to know what
-version of the X Window System you are running, and what window manager
-you are using.
+If the problem is related to graphics and you are running Unix, we will
+also need to know what version of the X Window System you are running,
+and what window manager you are using.
 
 @item
-If the problem happened on a tty, please include the terminal type.
+If the problem happened on a TTY, please include the terminal type.
 @end enumerate
 
+Much of the information above is automatically generated by @kbd{M-x
+report-emacs-bug}.  Even more, and often useful, information can be
+generated by redirecting the output of @code{make} and @code{make check}
+to a file (@file{beta.err} is the default used by @code{build-report}),
+and executing @kbd{M-x build-report}.
+
 @node Q2.1.2, Q2.1.3, Q2.1.1, Installation
 @unnumberedsubsec Q2.1.2: Cryptic Minibuffer messages.
 
@@ -1938,10 +1917,11 @@ Issue the command @kbd{M-x eval-current-buffer}.
 Reproduce the error.
 @end enumerate
 
-Depending on the version of XEmacs, you may either select Edit->Show
-Messages (19.13 and earlier) or Help->Recent Keystrokes/Messages (19.14
-and later) from the menubar to see the most recent messages.  This
-command is bound to @kbd{C-h l} by default.
+Depending on the version of XEmacs, you may either select View->Show
+Message Log (recent versions), Edit->Show Messages (some earlier
+versions) or Help->Recent Keystrokes/Messages (other earlier versions)
+from the menubar to see the most recent messages.  This command is bound
+to @kbd{C-h l} by default.
 
 @node Q2.1.3, Q2.1.4, Q2.1.2, Installation
 @unnumberedsubsec Q2.1.3: Translation Table Syntax messages at Startup
@@ -1958,7 +1938,7 @@ file @file{XKeysymDB}.
 The binary cannot find the @file{XKeysymDB} file.  The location is
 hardcoded at compile time so if the system the binary was built on puts
 it a different place than your system does, you have problems.  To fix,
-set the environment variable @var{XKEYSYMDB} to the location of the
+set the environment variable @code{XKEYSYMDB} to the location of the
 @file{XKeysymDB} file on your system or to the location of the one
 included with XEmacs which should be at
 @iftex
@@ -1971,7 +1951,7 @@ The binary is finding the XKeysymDB but it is out-of-date on your system
 and does not contain the necessary lines.  Either ask your system
 administrator to replace it with the one which comes with XEmacs (which
 is the stock R6 version and is backwards compatible) or set your
-@var{XKEYSYMDB} variable to the location of XEmacs's described above.
+@code{XKEYSYMDB} variable to the location of XEmacs's described above.
 @end itemize
 
 @node Q2.1.4, Q2.1.5, Q2.1.3, Installation
@@ -2007,7 +1987,7 @@ The buffer still exists; it just isn't in your face.
 
 Help!  I can not get XEmacs to display on my Envizex X-terminal!
 
-Try setting the @var{DISPLAY} variable using the numeric IP address of
+Try setting the @code{DISPLAY} variable using the numeric IP address of
 the host you are running XEmacs from.
 
 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation
@@ -2058,10 +2038,10 @@ backgrounds and foregrounds into your @file{.../app-defaults/Emacs}
 like:
 
 @example
-*Foreground:   Black   ;everything will be of black on grey95,
-*Background:   Grey95  ;unless otherwise specified.
-*cursorColor:  Red3    ;red3 cursor with grey95 border.
-*pointerColor: Red3    ;red3 pointer with grey95 border.
+*Foreground:    Black   ;everything will be of black on grey95,
+*Background:    Grey95  ;unless otherwise specified.
+*cursorColor:   Red3    ;red3 cursor with grey95 border.
+*pointerColor:  Red3    ;red3 pointer with grey95 border.
 @end example
 @end quotation
 
@@ -2089,8 +2069,8 @@ XEmacs startup, which says @samp{Color Red3} not defined.
 
 The OpenWindows 3.0 server is incredibly buggy.  Your best bet is to
 replace it with one from the generic MIT X11 release.  You might also
-try disabling parts of your @file{.emacs}, like enabling background
-pixmaps.
+try disabling parts of your @file{init.el}/@file{.emacs}, like those
+that enable background pixmaps.
 
 @node Q2.1.10, Q2.1.11, Q2.1.9, Installation
 @unnumberedsubsec Q2.1.10: Warnings from incorrect key modifiers.
@@ -2210,7 +2190,7 @@ forcing a static link of libc (manually).
 @node Q2.1.14, Q2.1.15, Q2.1.13, Installation
 @unnumberedsubsec Q2.1.14: @kbd{C-g} doesn't work for me.  Is it broken?
 
-@email{ben@@666.com, Ben Wing} writes:
+@email{ben@@xemacs.org, Ben Wing} writes:
 
 @quotation
 @kbd{C-g} does work for most people in most circumstances.  If it
@@ -2241,7 +2221,7 @@ it does.
 @end quotation
 
 @node Q2.1.15, Q2.1.16, Q2.1.14, Installation
-@unnumberedsubsec Q2.1.15: How to Debug an XEmacs problem with a debugger
+@unnumberedsubsec Q2.1.15: How to debug an XEmacs problem with a debugger
 
 If XEmacs does crash on you, one of the most productive things you can
 do to help get the bug fixed is to poke around a bit with the debugger.
@@ -2250,21 +2230,26 @@ Here are some hints:
 @itemize @bullet
 @item
 First of all, if the crash is at all reproducible, consider very
-strongly recompiling your XEmacs with debugging symbols, with no
-optimization, and with the configure options @samp{--debug=yes} and
-@samp{--error-checking=all}.  This will make your XEmacs run somewhat
-slower but make it a lot more likely to catch the problem earlier
-(closer to its source), and a lot easier to determine what's going on
-with a debugger.
+strongly recompiling your XEmacs with debugging symbols and with no
+optimization (e.g. with GCC use the compiler flags @samp{-g -O0} --
+that's an "oh" followed by a zero), and with the configure options
+@samp{--debug=yes} and @samp{--error-checking=all}.  This will make your
+XEmacs run somewhat slower, but you are a lot more likely to catch the
+problem earlier (closer to its source).  It makes it a lot easier to
+determine what's going on with a debugger.
+
+@item
+If it's not a true crash (@emph{i.e.}, XEmacs is hung, or a zombie
+process), or it's inconvenient to run XEmacs again because XEmacs is
+already running or is running in batch mode as part of a bunch of
+scripts, you may be able to attach to the existing process with your
+debugger.  Most debuggers let you do this by substituting the process ID
+for the core file when you invoke the debugger from the command line, or
+by using the @code{attach} command or something similar.
 
 @item
-If you're able to run XEmacs under a debugger and reproduce the crash
-(if it's inconvenient to do this because XEmacs is already running or is
-running in batch mode as part of a bunch of scripts, consider attaching
-to the existing process with your debugger; most debuggers let you do
-this by substituting the process ID for the core file when you invoke
-the debugger from the command line, or by using the @code{attach}
-command or something similar), here are some things you can do:
+If you're able to run XEmacs under a debugger and reproduce the crash,
+here are some things you can do:
 
 @item
 If XEmacs is hitting an assertion failure, put a breakpoint on
@@ -2276,46 +2261,90 @@ If XEmacs is hitting some weird Lisp error that's causing it to crash
 declared static in eval.c.
 
 @item
+If XEmacs is outputting lots of X errors, put a breakpoint on
+@code{x_error_handler()}; that will tell you which call is causing them.
+
+@item
 Internally, you will probably see lots of variables that hold objects of
-type @code{Lisp_Object}.  These are exactly what they appear to be,
-i.e. references to Lisp objects.  Printing them out with the debugger
-probably won't be too useful---you'll likely just see a number.  To
-decode them, do this:
+type @code{Lisp_Object}.  These are references to Lisp objects.
+Printing them out with the debugger probably won't be too
+useful---you'll likely just see a number.  To decode them, do this:
 
 @example
-call debug_print (OBJECT)
+call dp (OBJECT)
 @end example
 
 where @var{OBJECT} is whatever you want to decode (it can be a variable,
-a function call, etc.).  This will print out a readable representation
-on the TTY from which the xemacs process was invoked.
+a function call, etc.).  This uses the Lisp printing routines to out a
+readable representation on the TTY from which the xemacs process was
+invoked.
 
 @item
 If you want to get a Lisp backtrace showing the Lisp call
 stack, do this:
 
 @example
-call debug_backtrace ()
+call db ()
 @end example
 
 @item
-Using @code{debug_print} and @code{debug_backtrace} has two
-disadvantages - it can only be used with a running xemacs process, and
-it cannot display the internal C structure of a Lisp Object.  Even if
-all you've got is a core dump, all is not lost.
+Using @code{dp} and @code{db} has two disadvantages - they can only be
+used with a running (including hung or zombie) xemacs process, and they
+do not display the internal C structure of a Lisp Object.  Even if all
+you've got is a core dump, all is not lost.
 
 If you're using GDB, there are some macros in the file
-@file{src/gdbinit} in the XEmacs source distribution that should make it
-easier for you to decode Lisp objects.  Copy this file to
-@file{~/.gdbinit}, or @code{source} it from @file{~/.gdbinit}, and use
-the macros defined therein.  In particular, use the @code{pobj} macro to
-print the internal C representation of a lisp object.  This will work
-with a core file or not-yet-run executable.  The aliases @code{ldp} and
-@code{lbt} are provided for conveniently calling @code{debug_print} and
-@code{debug_backtrace}.
+@file{src/.gdbinit} in the XEmacs source distribution that should make
+it easier for you to decode Lisp objects.  This file is automatically
+read by gdb if gdb is run in the directory where xemacs was built, and
+contains these useful macros to inspect the state of xemacs:
+
+@table @code
+@item pobj
+Usage: pobj lisp_object @*
+Print the internal C representation of a lisp object.
+
+@item xtype
+Usage: xtype lisp_object @*
+Print the Lisp type of a lisp object.
+
+@item lbt
+Usage: lbt @*
+Print the current Lisp stack trace.
+Requires a running xemacs process.  (It works by calling the db
+routine described above.)
+
+@item ldp
+Usage: ldp lisp_object @*
+Print a Lisp Object value using the Lisp printer.
+Requires a running xemacs process.  (It works by calling the dp
+routine described above.)
+
+@item run-temacs
+Usage: run-temacs @*
+Run temacs interactively, like xemacs.
+Use this with debugging tools (like purify) that cannot deal with dumping,
+or when temacs builds successfully, but xemacs does not.
+
+@item dump-temacs
+Usage: dump-temacs @*
+Run the dumping part of the build procedure.
+Use when debugging temacs, not xemacs!
+Use this when temacs builds successfully, but xemacs does not.
+
+@item check-xemacs
+Usage: check-xemacs @*
+Run the test suite.  Equivalent to 'make check'.
+
+@item check-temacs
+Usage: check-temacs @*
+Run the test suite on temacs.  Equivalent to 'make check-temacs'.
+Use this with debugging tools (like purify) that cannot deal with dumping,
+or when temacs builds successfully, but xemacs does not.
+@end table
 
 If you are using Sun's @file{dbx} debugger, there is an equivalent file
-@file{src/dbxrc} to copy to or source from @file{~/.dbxrc}.
+@file{src/.dbxrc}, which defines the same commands for dbx.
 
 @item
 If you're using a debugger to get a C stack backtrace and you're seeing
@@ -2327,8 +2356,8 @@ fatal signal occurred mangled; if you can obtain a stack trace while
 running the XEmacs process under a debugger, the stack trace should be
 clean.
 
-@email{1CMC3466@@ibm.mtsac.edu, Curtiss} suggests upgrading to ld.so version 1.8
-if dynamic linking and debugging is a problem on Linux.
+@email{1CMC3466@@ibm.mtsac.edu, Curtiss} suggests upgrading to ld.so
+version 1.8 if dynamic linking and debugging is a problem on Linux.
 
 @item
 If you're using a debugger to get a C stack backtrace and you're
@@ -2345,43 +2374,49 @@ space, and makes debugging much much harder.
 Your stack is getting trashed.  Debugging this is hard; you have to do a
 binary-search type of narrowing down where the crash occurs, until you
 figure out exactly which line is causing the problem.  Of course, this
-only works if the bug is highly reproducible.
+only works if the bug is highly reproducible.  Also, in many cases if
+you run XEmacs from the debugger, the debugger can protect the stack
+somewhat.  However, if the stack is being smashed, it is typically the
+case that there is a wild pointer somewhere in the program, often quite
+far from where the crash occurs.
 
 @item
 If your stack trace has exactly one frame in it, with address 0x0, this
 could simply mean that XEmacs attempted to execute code at that address,
 e.g. through jumping to a null function pointer.  Unfortunately, under
 those circumstances, GDB under Linux doesn't know how to get a stack
-trace. (Yes, this is the third Linux-related problem I've mentioned.  I
+trace. (Yes, this is the fourth Linux-related problem I've mentioned.  I
 have no idea why GDB under Linux is so bogus.  Complain to the GDB
-authors, or to comp.os.linux.development.system).  Again, you'll have to
+authors, or to comp.os.linux.development.system.) Again, you'll have to
 use the narrowing-down process described above.
 
 @item
-If you compiled 19.14 with @samp{--debug} (or by default in later
-versions), you will get a Lisp backtrace output when XEmacs crashes, so
-you'll have something useful.
+You will get a Lisp backtrace output when XEmacs crashes, so you'll have
+something useful.
 
 @end enumerate
 
 @item
 If you compile with the newer gcc variants gcc-2.8 or egcs, you will
-also need gdb 4.17.  Earlier releases of gdb can't handle the debug
-information generated by the newer compilers.
+also need gdb 4.17 or above.  Earlier releases of gdb can't handle the
+debug information generated by the newer compilers.
 
 @item
-The above information on using @file{src/gdbinit} works for XEmacs-21.0
-and above.  For older versions of XEmacs, there are different
-@file{gdbinit} files provided in the @file{src} directory.  Use the one
-corresponding to the configure options used when building XEmacs.
+In versions of XEmacs before 21.2.27, @file{src/.gdbinit} was named
+@file{src/gdbinit}.  This had the disadvantage of not being sourced
+automatically by gdb, so you had to set that up yourself.
+
+@item
+If you are running Microsoft Windows, the the file @file{nt/README} for
+further information about debugging XEmacs.
 
 @end itemize
 
 @node Q2.1.16, Q2.1.17, Q2.1.15, Installation
 @unnumberedsubsec Q2.1.16: XEmacs crashes in @code{strcat} on HP/UX 10
 
->From the problems database (through
-@uref{http://support.mayfield.hp.com/}):
+From the problems database (through
+the former address http://support.mayfield.hp.com/):
 
 @example
 Problem Report: 5003302299
@@ -2419,58 +2454,11 @@ Upgrade your Gnus.
 @end enumerate
 
 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation
-@unnumberedsubsec Q2.1.18: 19.14 hangs on HP/UX 10.10.
-
-@email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes:
+@unnumberedsubsec Q2.1.18: XEmacs is outputting lots of X errors.
 
-@quotation
-For the record, compiling on hpux 10.10 leads to a hang in Gnus when
-compiled with optimization on.
-
-I've just discovered that my hpux 10.01 binary was working less well
-than expected. In fact, on a 10.10 system, @code{(while t)} was not
-interrupted by @kbd{C-g}. I defined @code{BROKEN_SIGIO} and recompiled on
-10.10, and... the hang is now gone.
-
-As far as configure goes, this will be a bit tricky: @code{BROKEN_SIGIO}
-is needed on 10.10, but @strong{not} on 10.01: if I run my 10.01 binary
-on a 10.01 machine, without @code{BROKEN_SIGIO} being defined, @kbd{C-g}
-works as expected.
-@end quotation
-
-@email{cognot@@ensg.u-nancy.fr, Richard Cognot} adds:
-
-@quotation
-Apparently somebody has found the reason why there is this
-@iftex
-@*
-@end iftex
-@samp{poll:
-interrupted...} message for each event.  For some reason, libcurses
-reimplements a @code{select()} system call, in a highly broken fashion.
-The fix is to add a -lc to the link line @emph{before} the
--lxcurses. XEmacs will then use the right version of @code{select()}.
-@end quotation
-
-
-@email{af@@biomath.jussieu.fr, Alain Fauconnet} writes:
-
-@quotation
-The @emph{real} solution is to @emph{not} link -lcurses in!  I just
-changed -lcurses to -ltermcap in the Makefile and it fixed:
-
-@enumerate
-@item
-The @samp{poll: interrupted system call} message.
-
-@item
-A more serious problem I had discovered in the meantime, that is the
-fact that subprocess handling was seriously broken: subprocesses
-e.g. started by AUC TeX for TeX compilation of a buffer would
-@emph{hang}.  Actually they would wait forever for emacs to read the
-socket which connects stdout...
-@end enumerate
-@end quotation
+If this is happening, we would very much like to know what's causing
+them.  To find this out, see @ref{Q2.1.15}.  Try to get both a C and Lisp
+backtrace, and send them to @email{xemacs-beta@@xemacs.org}.
 
 @node Q2.1.19, Q2.1.20, Q2.1.18, Installation
 @unnumberedsubsec Q2.1.19: XEmacs does not follow the local timezone.
@@ -2483,8 +2471,8 @@ under which it is running.  The solution is to add:
 (set-time-zone-rule "MET")
 @end lisp
 
-to your @file{.emacs} or the @file{site-start.el} file if you can.
-Replace @code{MET} with your local timezone.
+to your @file{init.el}/@file{.emacs} or the @file{site-start.el} file if
+you can.  Replace @code{MET} with your local timezone.
 
 @node Q2.1.20, Q2.1.21, Q2.1.19, Installation
 @unnumberedsubsec Q2.1.20: @samp{Symbol's function definition is void: hkey-help-show.}
@@ -2498,10 +2486,7 @@ This is a problem with a partially loaded hyperbole.  Try adding:
 where you load hyperbole and the problem should go away.
 
 @node Q2.1.21, Q2.1.22, Q2.1.20, Installation
-@unnumberedsubsec Q2.1.21: Every so often the XEmacs frame freezes
-
-This problem has been fixed in 19.15, and was due to a not easily
-reproducible race condition.
+@unnumberedsubsec Q2.1.21: [This question intentionally left blank]
 
 @node Q2.1.22, Q2.1.23, Q2.1.21, Installation
 @unnumberedsubsec Q2.1.22: XEmacs seems to take a really long time to do some things
@@ -2538,7 +2523,7 @@ debug-on-quit doesn't work if something's turned on inhibit-quit or in
 some other strange cases.
 @end quotation
 
-@node Q2.1.23,  , Q2.1.22, Installation
+@node Q2.1.23, Q2.1.24, Q2.1.22, Installation
 @unnumberedsubsec Q2.1.23:  Movemail on Linux does not work for XEmacs 19.15 and later.
 
 Movemail used to work fine in 19.14 but has stopped working in 19.15
@@ -2557,6 +2542,31 @@ and uncomment the line that reads:
 @end example
 @end quotation
 
+@node Q2.1.24, Q2.1.25, Q2.1.23, Installation
+@unnumberedsubsec Q2.1.24:  XEmacs won't start without network.
+
+If XEmacs starts when you're on the network, but fails when you're not
+on the network, you may be missing a "localhost" entry in your
+@file{/etc/hosts} file.  The file should contain an entry like:
+
+@example
+127.0.0.1        localhost
+@end example
+
+Add that line, and XEmacs will be happy.
+
+@node Q2.1.25,  , Q2.1.24, Installation
+@unnumberedsubsec Q2.1.25::  After upgrading, XEmacs won't do `foo' any more!
+
+You have been used to doing `foo', but now when you invoke it (or click
+the toolbar button or select the menu item), nothing (or an error)
+happens.  The simplest explanation is that you are missing a package
+that is essential to you.  You can either track it down and install it
+(there is a list of packages and brief descriptions of their contents in
+@file{etc/PACKAGES}), or install the `Sumo Tarball' (@pxref{Q2.0.14}).
+
+@c #### should xref to XEmacs manual here
+
 @node Customization, Subsystems, Installation, Top
 @unnumbered 3 Customization and Options
 
@@ -2564,7 +2574,7 @@ This is part 3 of the XEmacs Frequently Asked Questions list.  This
 section is devoted to Customization and screen settings.
 
 @menu
-Customization---Emacs Lisp and @file{.emacs}:
+Customization---Emacs Lisp and @file{init.el}/@file{.emacs}:
 * Q3.0.1::      What version of Emacs am I running?
 * Q3.0.2::      How do I evaluate Elisp expressions?
 * Q3.0.3::      @code{(setq tab-width 6)} behaves oddly.
@@ -2578,20 +2588,21 @@ Customization---Emacs Lisp and @file{.emacs}:
 X Window System & Resources:
 * Q3.1.1::      Where is a list of X resources?
 * Q3.1.2::      How can I detect a color display?
-* Q3.1.3::      @code{(set-screen-width)} worked in 19.6, but not in 19.13?
-* Q3.1.4::      Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15?
+* Q3.1.3::      [This question intentionally left blank]
+* Q3.1.4::      [This question intentionally left blank]
 * Q3.1.5::      How can I get the icon to just say @samp{XEmacs}?
 * Q3.1.6::      How can I have the window title area display the full path?
 * Q3.1.7::      @samp{xemacs -name junk} doesn't work?
 * Q3.1.8::      @samp{-iconic} doesn't work.
 
 Textual Fonts & Colors:
-* Q3.2.1::      How can I set color options from @file{.emacs}?
+* Q3.2.1::      How can I set color options from @file{init.el}/@file{.emacs}?
 * Q3.2.2::      How do I set the text, menu and modeline fonts?
 * Q3.2.3::      How can I set the colors when highlighting a region?
 * Q3.2.4::      How can I limit color map usage?
 * Q3.2.5::      My tty supports color, but XEmacs doesn't use them.
 * Q3.2.6::      Can I have pixmap backgrounds in XEmacs?
+* Q3.2.7::      How do I display non-ASCII characters?
 
 The Modeline:
 * Q3.3.1::      How can I make the modeline go away?
@@ -2612,7 +2623,7 @@ The Modeline:
 * Q3.5.5::      Scrolling one line at a time.
 * Q3.5.6::      How to map @kbd{Help} key alone on Sun type4 keyboard?
 * Q3.5.7::      How can you type in special characters in XEmacs?
-* Q3.5.8::      Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
+* Q3.5.8::      [This question intentionally left blank]
 * Q3.5.9::      How do I make the Delete key delete forward?
 * Q3.5.10::     Can I turn on @dfn{sticky} modifier keys?
 * Q3.5.11::     How do I map the arrow keys?
@@ -2643,7 +2654,7 @@ Scrollbars:
 * Q3.9.1::      How can I disable the scrollbar?
 * Q3.9.2::      How can one use resources to change scrollbar colors?
 * Q3.9.3::      Moving the scrollbar can move the point; can I disable this?
-* Q3.9.4::      How can I get automatic horizontal scrolling?
+* Q3.9.4::      How can I turn off automatic horizontal scrolling in specific modes?
 
 Text Selections:
 * Q3.10.1::     How can I turn off or change highlighted selections?
@@ -2651,19 +2662,21 @@ Text Selections:
 * Q3.10.3::     Can I turn off the highlight during isearch?
 * Q3.10.4::     How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
 * Q3.10.5::     The region disappears when I hit the end of buffer while scrolling.
+* Q3.10.6::     Why is killing so slow?
 @end menu
 
 @node Q3.0.1, Q3.0.2, Customization, Customization
-@unnumberedsec 3.0: Customization -- Emacs Lisp and .emacs
+@unnumberedsec 3.0: Customization -- Emacs Lisp and @file{init.el}/@file{.emacs}
 @unnumberedsubsec Q3.0.1: What version of Emacs am I running?
 
-How can @file{.emacs} determine which of the family of Emacsen I am
-using?
+How can @file{init.el}/@file{.emacs} determine which of the family of
+Emacsen I am using?
 
 To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
 XEmacs 19, XEmacs 20, or Epoch, and use appropriate code, check out the
-example given in @file{etc/sample.emacs}.  There are other nifty things
-in there as well!
+example given in @file{etc/sample.init.el} (@file{etc/sample.emacs} in
+XEmacs versions prior to 21.4).  There are other nifty things in there
+as well!
 
 For all new code, all you really need to do is:
 
@@ -2679,16 +2692,14 @@ with @kbd{C-j} after the expression.  How do I do it from another
 buffer?
 
 Press @kbd{M-:} (the default binding of @code{eval-expression}), and
-enter the expression to the minibuffer.  In XEmacs prior to 19.15
-@code{eval-expression} used to be a disabled command by default.  If
-this is the case, upgrade your XEmacs.
+enter the expression to the minibuffer.
 
 @node Q3.0.3, Q3.0.4, Q3.0.2, Customization
 @unnumberedsubsec Q3.0.3: @code{(setq tab-width 6)} behaves oddly.
 
-If you put @code{(setq tab-width 6)} in your @file{.emacs} file it does
-not work!  Is there a reason for this?  If you do it at the EVAL prompt
-it works fine!! How strange.
+If you put @code{(setq tab-width 6)} in your
+@file{init.el}/@file{.emacs} file it does not work!  Is there a reason
+for this?  If you do it at the EVAL prompt it works fine!! How strange.
 
 Use @code{setq-default} instead, since @code{tab-width} is
 all-buffer-local.
@@ -2762,8 +2773,6 @@ buffer.
 @node Q3.0.7, Q3.0.8, Q3.0.6, Customization
 @unnumberedsubsec Q3.0.7: Font selections in don't get saved after @code{Save Options}.
 
-For XEmacs 19.14 and previous:
-
 @email{mannj@@ll.mit.edu, John Mann} writes:
 
 @quotation
@@ -2773,9 +2782,7 @@ are only applied to the @emph{current} frame and do @emph{not} get saved
 when you save options.
 @end quotation
 
-For XEmacs 19.15 and later:
-
-Implement the above as well as set the following in your @file{.emacs}
+Also, set the following in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq options-save-faces t)
@@ -2792,14 +2799,14 @@ Implement the above as well as set the following in your @file{.emacs}
 (setq default-minibuffer-frame
       (make-frame
        '(minibuffer only
-                   width 86
-                   height 1
-                   menubar-visible-p nil
-                   default-toolbar-visible-p nil
-                   name "minibuffer"
-                   top -2
-                   left -2
-                   has-modeline-p nil)))
+                    width 86
+                    height 1
+                    menubar-visible-p nil
+                    default-toolbar-visible-p nil
+                    name "minibuffer"
+                    top -2
+                    left -2
+                    has-modeline-p nil)))
 (frame-notice-user-settings)
 @end lisp
 
@@ -2828,13 +2835,13 @@ Try it out with @kbd{M-x customize-browse}
 Search through the @file{NEWS} file for @samp{X Resources}.  A fairly
 comprehensive list is given after it.
 
-In addition, an @file{app-defaults} file is supplied,
-@file{etc/Emacs.ad} listing the defaults.  The file
-@file{etc/sample.Xdefaults} gives a set of defaults that you might
-consider.  It is essentially the same as @file{etc/Emacs.ad} but some
-entries are slightly altered.  Be careful about installing the contents
-of this file into your @file{.Xdefaults} or @file{.Xresources} file if
-you use GNU Emacs under X11 as well.
+In addition, an @file{app-defaults} file @file{etc/Emacs.ad} is
+supplied, listing the defaults.  The file @file{etc/sample.Xresources}
+gives a different set of defaults that you might consider for
+installation in your @file{~/.Xresources} file.  It is nearly the same
+as @file{etc/Emacs.ad}, but a few entries are altered.  Be careful about
+installing the contents of this file into your @file{.Xresources} (or
+legacy @file{.Xdefaults}) file if you use GNU Emacs under X11 as well.
 
 @node Q3.1.2, Q3.1.3, Q3.1.1, Customization
 @unnumberedsubsec Q3.1.2: How can I detect a color display?
@@ -2851,38 +2858,10 @@ in:
 @end lisp
 
 @node Q3.1.3, Q3.1.4, Q3.1.2, Customization
-@unnumberedsubsec Q3.1.3: @code{(set-screen-width)} worked in 19.6, but not in 19.13?
-
-In Lucid Emacs 19.6 I did @code{(set-screen-width @var{characters})} and
-@code{(set-screen-height @var{lines})} in my @file{.emacs} instead of
-specifying @code{Emacs*EmacsScreen.geometry} in my
-@iftex
-@*
-@end iftex
-@file{.Xdefaults} but
-this does not work in XEmacs 19.13.
-
-These two functions now take frame arguments:
-
-@lisp
-(set-frame-width (selected-frame) @var{characters})
-(set-frame-height (selected-frame) @var{lines})
-@end lisp
+@unnumberedsubsec Q3.1.3: [This question intentionally left blank]
 
 @node Q3.1.4, Q3.1.5, Q3.1.3, Customization
-@unnumberedsubsec Q3.1.4: Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15?
-
-In XEmacs 19.11 I specified @code{Emacs*EmacsScreen.geometry} in
-my @file{.emacs} but this does not work in XEmacs 19.15.
-
-We have switched from using the term @dfn{screen} to using the term
-@dfn{frame}.
-
-The correct entry for your @file{.Xdefaults} is now:
-
-@example
-Emacs*EmacsFrame.geometry
-@end example
+@unnumberedsubsec Q3.1.4: [This question intentionally left blank]
 
 @node Q3.1.5, Q3.1.6, Q3.1.4, Customization
 @unnumberedsubsec Q3.1.5: How can I get the icon to just say @samp{XEmacs}?
@@ -2890,7 +2869,7 @@ Emacs*EmacsFrame.geometry
 I'd like the icon to just say @samp{XEmacs}, and not include the name of
 the current file in it.
 
-Add the following line to your @file{.emacs}:
+Add the following line to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq frame-icon-title-format "XEmacs")
@@ -2902,7 +2881,7 @@ Add the following line to your @file{.emacs}:
 I'd like to have the window title area display the full directory/name
 of the current buffer file and not just the name.
 
-Add the following line to your @file{.emacs}:
+Add the following line to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq frame-title-format "%S: %f")
@@ -2913,7 +2892,7 @@ A more sophisticated title might be:
 @lisp
 (setq frame-title-format
       '("%S: " (buffer-file-name "%f"
-                                (dired-directory dired-directory "%b"))))
+                                 (dired-directory dired-directory "%b"))))
 @end lisp
 
 That is, use the file name, or the dired-directory, or the buffer name.
@@ -2976,7 +2955,7 @@ When I start up XEmacs using @samp{-iconic} it doesn't work right.
 Using @samp{-unmapped} on the command line, and setting the
 @code{initiallyUnmapped} X Resource don't seem to help much either...
 
-@email{ben@@666.com, Ben Wing} writes:
+@email{ben@@xemacs.org, Ben Wing} writes:
 
 @quotation
 Ugh, this stuff is such an incredible mess that I've about given up
@@ -2986,10 +2965,10 @@ bugs...
 
 @node Q3.2.1, Q3.2.2, Q3.1.8, Customization
 @unnumberedsec 3.2: Textual Fonts & Colors
-@unnumberedsubsec Q3.2.1: How can I set color options from @file{.emacs}?
+@unnumberedsubsec Q3.2.1: How can I set color options from @file{init.el}/@file{.emacs}?
 
-How can I set the most commonly used color options from my @file{.emacs}
-instead of from my @file{.Xdefaults}?
+How can I set the most commonly used color options from my
+@file{init.el}/@file{.emacs} instead of from my @file{.Xresources}?
 
 Like this:
 
@@ -2997,24 +2976,24 @@ Like this:
 (set-face-background 'default      "bisque") ; frame background
 (set-face-foreground 'default      "black") ; normal text
 (set-face-background 'zmacs-region "red") ; When selecting w/
-                                       ; mouse
+                                        ; mouse
 (set-face-foreground 'zmacs-region "yellow")
 (set-face-font       'default      "*courier-bold-r*120-100-100*")
 (set-face-background 'highlight    "blue") ; Ie when selecting
-                                       ; buffers
+                                        ; buffers
 (set-face-foreground 'highlight    "yellow")
 (set-face-background 'modeline     "blue") ; Line at bottom
-                                       ; of buffer
+                                        ; of buffer
 (set-face-foreground 'modeline     "white")
 (set-face-font       'modeline     "*bold-r-normal*140-100-100*")
 (set-face-background 'isearch      "yellow") ; When highlighting
-                                       ; while searching
+                                        ; while searching
 (set-face-foreground 'isearch      "red")
 (setq x-pointer-foreground-color   "black") ; Adds to bg color,
-                                       ; so keep black
+                                        ; so keep black
 (setq x-pointer-background-color   "blue") ; This is color
-                                       ; you really
-                                       ; want ptr/crsr
+                                        ; you really
+                                        ; want ptr/crsr
 @end lisp
 
 @node Q3.2.2, Q3.2.3, Q3.2.1, Customization
@@ -3023,7 +3002,7 @@ Like this:
 Note that you should use @samp{Emacs.} and not @samp{Emacs*} when
 setting face values.
 
-In @file{.Xdefaults}:
+In @file{.Xresources}:
 
 @example
 Emacs.default.attributeFont:  -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
@@ -3031,12 +3010,16 @@ Emacs*menubar*font:           fixed
 Emacs.modeline.attributeFont: fixed
 @end example
 
-This is confusing because modeline is a face, and can be found listed
-with all faces in the current mode by using @kbd{M-x set-face-font
-(enter) ?}.  It uses the face specification of @code{attributeFont},
-while menubar is a normal X thing that uses the specification
-@code{font}.  With Motif it may be necessary to use @code{fontList}
-instead of @code{font}.
+This is confusing because @samp{default} and @samp{modeline} are face
+names, and can be found listed with all faces in the current mode by
+using @kbd{M-x set-face-font (enter) ?}.  They use the face-specific
+resource @samp{attributeFont}.
+
+On the other hand, @samp{menubar} is a normal X thing that uses the
+resource @samp{font}.  With Motif it @emph{may be} necessary to use
+@samp{fontList} @emph{instead of} @samp{font}.  In @emph{non-Motif}
+configurations with Mule it @emph{is} necessary to use @samp{fontSet}
+instead of @samp{font}.  (Sorry, there just is no simple recipe here.)
 
 @node Q3.2.3, Q3.2.4, Q3.2.2, Customization
 @unnumberedsubsec Q3.2.3: How can I set the colors when highlighting a region?
@@ -3045,14 +3028,14 @@ How can I set the background/foreground colors when highlighting a
 region?
 
 You can change the face @code{zmacs-region} either in your
-@file{.Xdefaults}:
+@file{.Xresources}:
 
 @example
 Emacs.zmacs-region.attributeForeground: firebrick
 Emacs.zmacs-region.attributeBackground: lightseagreen
 @end example
 
-or in your @file{.emacs}:
+or in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (set-face-background 'zmacs-region "red")
@@ -3063,22 +3046,17 @@ or in your @file{.emacs}:
 @unnumberedsubsec Q3.2.4: How can I limit color map usage?
 
 I'm using Netscape (or another color grabber like XEmacs);
-is there anyway to limit the number of available colors in the color map?
+is there any way to limit the number of available colors in the color map?
 
-XEmacs 19.13 didn't have such a mechanism (unlike netscape, or other
-color-hogs).  One solution is to start XEmacs prior to netscape, since
-this will prevent Netscape from grabbing all colors (but Netscape will
-complain).  You can use the flags for Netscape, like -mono, -ncols <#>
-or -install (for mono, limiting to <#> colors, or for using a private
-color map).  Since Netscape will take the entire colormap and never
-release it, the only reasonable way to run it is with @samp{-install}.
+Answer: No, but you can start Netscape before XEmacs, and it will use
+the closest available color if the colormap is full.  You can also limit
+the number of colors Netscape uses, using the flags -mono, -ncols <#> or
+-install (for mono, limiting to <#> colors, or for using a private color
+map).
 
 If you have the money, another solution would be to use a truecolor or
 direct color video.
 
-Starting with XEmacs 19.14, XEmacs uses the closest available color if
-the colormap is full, so it's O.K. now to start Netscape first.
-
 @node Q3.2.5, Q3.2.6, Q3.2.4, Customization
 @unnumberedsubsec Q3.2.5: My tty supports color, but XEmacs doesn't use them.
 
@@ -3091,7 +3069,7 @@ Right Thing using this Lisp code:
     (set-device-class nil 'color))
 @end lisp
 
-@node Q3.2.6, Q3.3.1, Q3.2.5, Customization
+@node Q3.2.6, Q3.2.7, Q3.2.5, Customization
 @unnumberedsubsec Q3.2.6: Can I have pixmap backgrounds in XEmacs?
 @c New
 @email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes:
@@ -3119,23 +3097,50 @@ and so on.  You can also do this interactively via @kbd{M-x edit-faces}.
 
 @end quotation
 
+@node Q3.2.7, Q3.3.1, Q3.2.6, Customization
+@unnumberedsubsec Q3.2.7: How do I display non-ASCII characters?
+@c New
+
+If you're using a Mule-enabled XEmacs, then display is automatic.  If
+you're not seeing the characters you expect, either (1) you don't have
+appropriate fonts available or (2) XEmacs did not correctly detect the
+coding system (@pxref{Recognize Coding, , , xemacs}).  In case (1),
+install fonts as is customary for your platform.  In case (2), you
+need to tell XEmacs explicitly what coding systems you're using.
+@ref{Specify Coding, , , xemacs}.
+
+If your XEmacs is not Mule-enabled, and for some reason getting a
+Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
+You can arrange it by brute force.  In @file{event-Xt.c} (suppress the
+urge to look in this file---play Doom instead, because you'll survive
+longer), it is written:
+
+@quotation
+In a non-Mule world, a user can still have a multi-lingual editor, by
+doing @code{(set-face-font "-*-iso8859-2" (current-buffer))} for all
+their Latin-2 buffers, etc.
+@end quotation
+
+For the related problem of @emph{inputting} non-ASCII characters in a
+non-Mule XEmacs, @xref{Q3.5.7}.
+
+@node Q3.3.1, Q3.3.2, Q3.2.7, Customization
 @unnumberedsec 3.3: The Modeline
-@node Q3.3.1, Q3.3.2, Q3.2.6, Customization
 @unnumberedsubsec Q3.3.1: How can I make the modeline go away?
 
 @lisp
 (set-specifier has-modeline-p nil)
 @end lisp
 
-Starting with XEmacs 19.14 the modeline responds to mouse clicks, so if
-you haven't liked or used the modeline in the past, you might want to
-try the new version out.
-
+@c Starting with XEmacs 19.14 the modeline responds to mouse clicks, so if
+@c you haven't liked or used the modeline in the past, you might want to
+@c try the new version out.
+@c
 @node Q3.3.2, Q3.3.3, Q3.3.1, Customization
 @unnumberedsubsec Q3.3.2: How do you have XEmacs display the line number in the modeline?
 
-Add the following line to your @file{.emacs} file to display the
-line number:
+Add the following line to your @file{init.el}/@file{.emacs} file to
+display the line number:
 
 @lisp
 (line-number-mode 1)
@@ -3151,20 +3156,20 @@ Or select from the @code{Options} menu
 @iftex
 @*
 @end iftex
-@code{Customize->Emacs->Editing->Basics->Line Number Mode}
+@code{Advanced (Customize)->Emacs->Editing->Basics->Line Number Mode}
 and/or
 @iftex
 @*
 @end iftex
-@code{Customize->Emacs->Editing->Basics->Column Number Mode}
+@code{Advanced (Customize)->Emacs->Editing->Basics->Column Number Mode}
 
 Or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
 
 @node Q3.3.3, Q3.3.4, Q3.3.2, Customization
 @unnumberedsubsec Q3.3.3: How do I get XEmacs to put the time of day on the modeline?
 
-Add the following line to your @file{.emacs} file to display the
-time:
+Add the following line to your @file{init.el}/@file{.emacs} file to
+display the time:
 
 @lisp
 (display-time)
@@ -3179,28 +3184,28 @@ With AUC TeX, fast typing is hard because the current chapter, section
 etc. are given in the modeline.  How can I turn this off?
 
 It's not AUC TeX, it comes from @code{func-menu} in @file{func-menu.el}.
-Add this code to your @file{.emacs} to turn it off:
-
-@lisp
-(setq fume-display-in-modeline-p nil)
-@end lisp
-
-Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX
-mode:
-
-@lisp
-(add-hook 'TeX-mode-hook
-         '(lambda () (setq fume-display-in-modeline-p nil)))
-@end lisp
 
+@c Add this code to your @file{init.el}/@file{.emacs} to turn it off:
+@c
+@c @lisp
+@c (setq fume-display-in-modeline-p nil)
+@c @end lisp
+@c
+@c Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX
+@c mode:
+@c
+@c @lisp
+@c (add-hook 'TeX-mode-hook
+@c           '(lambda () (setq fume-display-in-modeline-p nil)))
+@c @end lisp
+@c
 @email{dhughes@@origin-at.co.uk, David Hughes} writes:
 
 @quotation
-If you have 19.14 or later, try this instead; you'll still get the
-function name displayed in the modeline, but it won't attempt to keep
-track when you modify the file. To refresh when it gets out of synch,
-you simply need click on the @samp{Rescan Buffer} option in the
-function-menu.
+Try this; you'll still get the function name displayed in the modeline,
+but it won't attempt to keep track when you modify the file. To refresh
+when it gets out of synch, you simply need click on the @samp{Rescan
+Buffer} option in the function-menu.
 
 @lisp
 (setq-default fume-auto-rescan-buffer-p nil)
@@ -3219,20 +3224,20 @@ You can use something like the following:
 @end lisp
 
 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
-colors change from the default set in your @file{.emacs}.  The change
-will only be made in the buffer you just entered (which contains the
-Lisp file you are editing) and will not affect the modeline colors
-anywhere else.
+colors change from the default set in your @file{init.el}/@file{.emacs}.
+The change will only be made in the buffer you just entered (which
+contains the Lisp file you are editing) and will not affect the modeline
+colors anywhere else.
 
 Notes:
 
 @itemize @bullet
 
-@item
-The hook is the mode name plus @code{-hook}.  eg. c-mode-hook,
-c++-mode-hook, emacs-lisp-mode-hook (used for your @file{.emacs} or a
-@file{xx.el} file), lisp-interaction-mode-hook (the @samp{*scratch*}
-buffer), text-mode-hook, etc.
+@item The hook is the mode name plus @code{-hook}.  eg. c-mode-hook,
+c++-mode-hook, emacs-lisp-mode-hook (used for your
+@file{init.el}/@file{.emacs} or a @file{xx.el} file),
+lisp-interaction-mode-hook (the @samp{*scratch*} buffer),
+text-mode-hook, etc.
 
 @item
 Be sure to use @code{add-hook}, not @code{(setq c-mode-hook xxxx)},
@@ -3246,31 +3251,28 @@ eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*"
 current mode.
 @end itemize
 
-This works in 19.15 as well, but there are additional modeline faces,
-@code{modeline-buffer-id}, @code{modeline-mousable}, and
-@code{modeline-mousable-minor-mode}, which you may want to customize.
+There are additional modeline faces, @code{modeline-buffer-id},
+@code{modeline-mousable}, and @code{modeline-mousable-minor-mode}, which
+you may want to customize.
 
 @node Q3.4.1, Q3.4.2, Q3.3.5, Customization
 @unnumberedsec 3.4: Multiple Device Support
 @unnumberedsubsec Q3.4.1: How do I open a frame on another screen of my multi-headed display?
 
-The support for this was revamped for 19.14.  Use the command
-@kbd{M-x make-frame-on-display}.  This command is also on the File menu
-in the menubar.
+Use the command @kbd{M-x make-frame-on-display}.  This command is also
+on the File menu in the menubar.
 
-XEmacs 19.14 and later also have the command @code{make-frame-on-tty}
-which will establish a connection to any tty-like device.  Opening the
-TTY devices should be left to @code{gnuclient}, though.
+The command @code{make-frame-on-tty} also exists, which will establish a
+connection to any tty-like device.  Opening the TTY devices should be
+left to @code{gnuclient}, though.
 
 @node Q3.4.2, Q3.5.1, Q3.4.1, Customization
 @unnumberedsubsec Q3.4.2: Can I really connect to a running XEmacs after calling up over a modem?  How?
 
-If you're not running at least XEmacs 19.14, you can't.  Otherwise check
-out the @code{gnuattach} program supplied with XEmacs.  Starting with
-XEmacs 20.3, @code{gnuattach} and @code{gnudoit} functionality is
-provided by @code{gnuclient}.
+Yes.  Use @code{gnuclient -nw}. (Prior to 20.3, use the @code{gnuattach}
+program supplied with XEmacs instead.)
 
-Also @xref{Q5.0.12}.
+Also see @ref{Q5.0.12}.
 
 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization
 @unnumberedsec 3.5: The Keyboard
@@ -3305,8 +3307,8 @@ For the FAQ example you could use:
 @lisp
 (global-set-key [(control ?.)]
   (lambda () (interactive) (scroll-up 1)))
-(global-set-key [(control ?            ;)]
-                         (lambda () (interactive) (scroll-up -1)))
+(global-set-key [(control ?;)]
+  (lambda () (interactive) (scroll-up -1)))
 @end lisp
 
 This is fine if you only need a few functions within the lambda body.
@@ -3316,7 +3318,7 @@ question 3.5.3 (@pxref{Q3.5.3}).
 @node Q3.5.2, Q3.5.3, Q3.5.1, Customization
 @unnumberedsubsec Q3.5.2: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
 
-Add the following line to your @file{.emacs} file:
+Add the following line to your @file{init.el}/@file{.emacs} file:
 
 @lisp
 (setq next-line-add-newlines nil)
@@ -3340,7 +3342,7 @@ Add the following (Thanks to @email{mly@@adoc.xerox.com, Richard Mlynarik} and
   (scroll-down 1))
 
 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
-(global-set-key [(control ?            ;)] 'scroll-down-one-line) ; C-;
+(global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
 @end lisp
 
 The key point is that you can only bind simple functions to keys; you
@@ -3353,24 +3355,19 @@ can not bind a key to a function that you're also passing arguments to.
 I cannot manage to globally bind my @kbd{Delete} key to something other
 than the default.  How does one do this?
 
+Answer: The problem is that many modes explicitly bind @kbd{Delete}.  To
+get around this, try the following:
+
 @lisp
 (defun foo ()
   (interactive)
   (message "You hit DELETE"))
 
-(global-set-key 'delete 'foo)
+(define-key key-translation-map 'delete 'redirected-delete)
+(global-set-key 'redirected-delete 'foo)
 @end lisp
 
-However, some modes explicitly bind @kbd{Delete}, so you would need to
-add a hook that does @code{local-set-key} for them.  If what you want to
-do is make the Backspace and Delete keys work more PC/Motif-like, then
-take a look at the @file{delbs.el} package.
-
-New in XEmacs 19.14 is a variable called @code{key-translation-map}
-which makes it easier to bind @kbd{Delete}.  @file{delbs.el} is a
-good example of how to do this correctly.
-
-Also @xref{Q3.5.10}.
+Also see @ref{Q3.5.10}.
 
 @node Q3.5.5, Q3.5.6, Q3.5.4, Customization
 @unnumberedsubsec Q3.5.5: Scrolling one line at a time.
@@ -3404,7 +3401,7 @@ keys (i.e. @kbd{C-n} and @kbd{C-p}):
 
 Starting with XEmacs-20.3 you can also change this with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Environment->Windows->Scroll Step...} or type
+@code{Advanced (Customize)->Emacs->Environment->Windows->Scroll Step...} or type
 @kbd{M-x customize @key{RET} windows @key{RET}}.
 
 @node Q3.5.6, Q3.5.7, Q3.5.5, Customization
@@ -3416,7 +3413,7 @@ The following works in GNU Emacs 19:
 (global-set-key [help] 'help-command);; Help
 @end lisp
 
-The following works in XEmacs 19.15 with the addition of shift:
+The following works in XEmacs with the addition of shift:
 
 @lisp
 (global-set-key [(shift help)] 'help-command);; Help
@@ -3443,9 +3440,8 @@ the null binding @code{OpenWindows.KeyboardCommand.Help:}.
 One way is to use the package @code{x-compose}.  Then you can use
 sequences like @kbd{Compose " a} to get Ã¤, etc.
 
-Another way is to use the @code{iso-insert} package, provided in XEmacs
-19.15 and later. Then you can use sequences like @kbd{C-x 8 " a} to get
-ä, etc.
+Another way is to use the @code{iso-insert} package. Then you can use
+sequences like @kbd{C-x 8 " a} to get Ã¤, etc.
 
 @email{glynn@@sensei.co.uk, Glynn Clements} writes:
 
@@ -3457,7 +3453,7 @@ xmodmap, e.g.
 @c hey, show some respect, willya -- there's xkeycaps, isn't there? --
 @c chr ;)
 @example
-       xmodmap -e 'keycode 0xff20 = Multi_key'
+        xmodmap -e 'keycode 0xff20 = Multi_key'
 @end example
 
 You will need to pick an appropriate keycode. Use xev to find out the
@@ -3468,9 +3464,9 @@ define the right `Windows' key as Multi_key'.]
 
 Once you have Multi_key defined, you can use e.g.
 @example
-       Multi a '       => Ã¡
-       Multi e "       => Ã«
-       Multi c ,       => Ã§
+        Multi a '       => Ã¡
+        Multi e "       => Ã«
+        Multi c ,       => Ã§
 @end example
 
 etc.
@@ -3478,38 +3474,22 @@ etc.
 Also, recent versions of XFree86 define various AltGr-<key>
 combinations as dead keys, i.e.
 @example
-       AltGr [         => dead_diaeresis
-       AltGr ]         => dead_tilde
-       AltGr ;         => dead_acute
+        AltGr [         => dead_diaeresis
+        AltGr ]         => dead_tilde
+        AltGr ;         => dead_acute
 @end example
 etc.
 
 Running @samp{xmodmap -pk} will list all of the defined keysyms.
 @end quotation
 
-@node Q3.5.8, Q3.5.9, Q3.5.7, Customization
-@unnumberedsubsec Q3.5.8: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
-
-Why does @code{(define-key global-map [ delete-forward ] 'delete-char)}
-complain of not being able to bind an unknown key?
-
-Try this instead:
-
-@lisp
-(define-key global-map [delete_forward] 'delete-char)
-@end lisp
-
-and it will work.
-
-What you are seeing above is a bug due to code that is trying to check
-for GNU Emacs syntax like:
-
-(define-key global-map [C-M-a] 'delete-char)
+For the related problem of @emph{displaying} non-ASCII characters in a
+non-Mule XEmacs, @xref{Q3.2.7}.
 
-which otherwise would cause no errors but would not result in the
-expected behavior.
+@node Q3.5.8, Q3.5.9, Q3.5.7, Customization
+@unnumberedsubsec Q3.5.8: [This question intentionally left blank]
 
-This bug has been fixed in 19.14.
+Obsolete question, left blank to avoid renumbering.
 
 @node Q3.5.9, Q3.5.10, Q3.5.8, Customization
 @unnumberedsubsec Q3.5.9: How do I make the Delete key delete forward?
@@ -3527,10 +3507,10 @@ set things up, and @code{delbs-disable-delete-forward} to revert to
 Starting with XEmacs-20.3 better solution is to set variable
 @code{delete-key-deletes-forward} to t.  You can also change this with
 Customize. Select from the @code{Options} menu
-@code{Customize->Emacs->Editing->Basics->Delete Key Deletes Forward} or
+@code{Advanced (Customize)->Emacs->Editing->Basics->Delete Key Deletes Forward} or
 type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
 
-Also @xref{Q3.5.4}.
+Also see @ref{Q3.5.4}.
 
 @node Q3.5.10, Q3.5.11, Q3.5.9, Customization
 @unnumberedsubsec Q3.5.10: Can I turn on @dfn{sticky} modifier keys?
@@ -3540,7 +3520,7 @@ effect of being able to press and release Shift and have the next
 character typed come out in upper case.  This will affect all the other
 modifier keys like Control and Meta as well.
 
-@email{ben@@666.com, Ben Wing} writes:
+@email{ben@@xemacs.org, Ben Wing} writes:
 
 @quotation
 One thing about the sticky modifiers is that if you move the mouse out
@@ -3594,13 +3574,13 @@ For a 2 pixel bar cursor, use:
 
 Starting with XEmacs-20.3 you can also change these with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Environment->Display->Bar Cursor...} or type
+@code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
 @kbd{M-x customize @key{RET} display @key{RET}}.
 
 You can use a color to make it stand out better:
 
 @example
-Emacs*cursorColor:     Red
+Emacs*cursorColor:      Red
 @end example
 
 @node Q3.6.2, Q3.6.3, Q3.6.1, Customization
@@ -3610,16 +3590,15 @@ Emacs*cursorColor:      Red
 (setq bar-cursor nil)
 @end lisp
 
-Starting with XEmacs-20.3 you can also change this with Customize.
+Starting with XEmacs 20.3 you can also change this with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Environment->Display->Bar Cursor...} or type
+@code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
 @kbd{M-x customize @key{RET} display @key{RET}}.
 
 @node Q3.6.3, Q3.7.1, Q3.6.2, Customization
 @unnumberedsubsec Q3.6.3: Can I make the cursor blink?
 
-If you are running a version of XEmacs older than 19.14, no.  Otherwise
-you can do the following:
+Yes, like this:
 
 @lisp
 (blink-cursor-mode)
@@ -3701,7 +3680,7 @@ do I disable this?
 Examine the function @code{mouse-yank}, by typing @kbd{C-h f mouse-yank
 @key{RET}}.
 
-To get XEmacs to paste at the text cursor, add this your @file{.emacs}:
+To get XEmacs to paste at the text cursor, add this your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq mouse-yank-at-point t)
@@ -3709,7 +3688,7 @@ To get XEmacs to paste at the text cursor, add this your @file{.emacs}:
 
 Starting with XEmacs-20.2 you can also change this with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Editing->Mouse->Yank At Point...} or type
+@code{Advanced (Customize)->Emacs->Editing->Mouse->Yank At Point...} or type
 @kbd{M-x customize @key{RET} mouse @key{RET}}.
 
 @node Q3.7.7, Q3.7.8, Q3.7.6, Customization
@@ -3732,7 +3711,7 @@ rectangular regions:
 
 Starting with XEmacs-20.2 you can also change this with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Editing->Mouse->Track Rectangle...} or type
+@code{Advanced (Customize)->Emacs->Editing->Mouse->Track Rectangle...} or type
 @kbd{M-x customize @key{RET} mouse @key{RET}}.
 
 
@@ -3754,15 +3733,15 @@ delay for a second if you let it.
 @unnumberedsec 3.8: The Menubar and Toolbar
 @unnumberedsubsec Q3.8.1: How do I get rid of the menu (or menubar)?
 
-If you are running XEmacs 19.13 and earlier, add this command to your
-@file{.emacs}.
-
-@lisp
-(set-menubar nil)
-@end lisp
-
-Starting with XEmacs 19.14 the preferred method is:
-
+@c If you are running XEmacs 19.13 or earlier, add this command to your
+@c @file{init.el}/@file{.emacs}.
+@c
+@c @lisp
+@c (set-menubar nil)
+@c @end lisp
+@c
+@c Starting with XEmacs 19.14 the preferred method is:
+@c
 @lisp
 (set-specifier menubar-visible-p nil)
 @end lisp
@@ -3770,21 +3749,20 @@ Starting with XEmacs 19.14 the preferred method is:
 @node Q3.8.2, Q3.8.3, Q3.8.1, Customization
 @unnumberedsubsec Q3.8.2: Can I customize the basic menubar?
 
-For an extensive menubar, add this line to your @file{.emacs}:
+For an extensive menubar, add this line to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (load "big-menubar")
 @end lisp
 
 If you'd like to write your own, this file provides as good a set of
-examples as any to start from.  The file is located in
-@file{lisp/packages/big-menubar.el} in the XEmacs installation
-directory.
+examples as any to start from.  The file is located in edit-utils
+package. 
 
 @node Q3.8.3, Q3.8.4, Q3.8.2, Customization
 @unnumberedsubsec Q3.8.3: How do I control how many buffers are listed in the menu @code{Buffers List}?
 
-Add the following to your @file{.emacs} (suit to fit):
+Add the following to your @file{init.el}/@file{.emacs} (suit to fit):
 
 @lisp
 (setq buffers-menu-max-size 20)
@@ -3794,7 +3772,7 @@ For no limit, use an argument of @samp{nil}.
 
 Starting with XEmacs-20.3 you can also change this with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Environment->Menu->Buffers Menu->Max Size...} or
+@code{Advanced (Customize)->Emacs->Environment->Menu->Buffers Menu->Max Size...} or
 type @kbd{M-x customize @key{RET} buffers-menu @key{RET}}.
 
 @node Q3.8.4, Q3.8.5, Q3.8.3, Customization
@@ -3803,16 +3781,19 @@ type @kbd{M-x customize @key{RET} buffers-menu @key{RET}}.
 I am trying to use a resource like @code{Emacs*menubar*font} to set the
 font of the menubar but it's not working.
 
-If you are using the real Motif menubar, this resource is not
-recognized; you have to say:
+In Motif, the use of @samp{font} resources is obsoleted in order to
+support internationalization.  If you are using the real Motif menubar,
+this resource is not recognized at all; you have to say:
 
 @example
 Emacs*menubar*fontList: FONT
 @end example
 
-If you are using the Lucid menubar, the former resource will be
-recognized only if the latter resource is unset.  This means that the
-resource
+If you are using the Lucid menubar, for backward compatibility with
+existing user configurations, the @samp{font} resource is recognized.
+Since this is not supported by Motif itself, the code is a kludge and
+the @samp{font} resource will be recognized only if the @samp{fontList}
+resource resource is unset.  This means that the resource
 
 @example
 *fontList: FONT
@@ -3826,6 +3807,16 @@ Emacs*menubar*font: FONT
 
 even though the latter is more specific.
 
+In non-Motif configurations using @samp{--with-mule} and
+@samp{--with-xfs} it @emph{is} necessary to use the @code{fontSet}
+resource @emph{instead of} the @code{font} resource.  The backward
+compatibility kludge was never implemented for non-Motif builds.
+Example:
+
+@example
+*fontSet: FONT
+@end example
+
 @node Q3.8.5, Q3.9.1, Q3.8.4, Customization
 @unnumberedsubsec Q3.8.5: How can I bind a key to a function to toggle the toolbar?
 
@@ -3852,7 +3843,7 @@ code.
 @unnumberedsubsec Q3.9.1: How can I disable the scrollbar?
 
 To disable them for all frames, add the following line to
-your @file{.Xdefaults}:
+your @file{.Xresources}:
 
 @example
 Emacs.scrollBarWidth:  0
@@ -3875,12 +3866,12 @@ turn the scrollbars off only in a single buffer:
 @lisp
 (set-specifier scrollbar-width 0 (current-buffer))
 @end lisp
-
-In XEmacs versions prior to 19.14, you had to use the hairier construct:
-
-@lisp
-(set-specifier scrollbar-width (cons (selected-frame) 0))
-@end lisp
+@c
+@c In XEmacs versions prior to 19.14, you had to use the hairier construct:
+@c
+@c @lisp
+@c (set-specifier scrollbar-width (cons (selected-frame) 0))
+@c @end lisp
 
 @node Q3.9.2, Q3.9.3, Q3.9.1, Customization
 @unnumberedsubsec Q3.9.2: How can one use resources to change scrollbar colors?
@@ -3916,17 +3907,9 @@ hand corner.
 This cannot be changed.
 
 @node Q3.9.4, Q3.10.1, Q3.9.3, Customization
-@unnumberedsubsec Q3.9.4: How can I get automatic horizontal scrolling?
-
-By the same token, how can I turn it off in specific modes?
+@unnumberedsubsec Q3.9.4: How can I turn off automatic horizontal scrolling in specific modes?
 
-To do this, add to your @file{.emacs} file:
-
-@lisp
-(require 'auto-show)
-@end lisp
-
-Then do @code{(setq truncate-lines t)} in the mode-hooks for any modes
+Do @code{(setq truncate-lines t)} in the mode-hooks for any modes
 in which you want lines truncated.
 
 More precisely: If @code{truncate-lines} is nil, horizontal scrollbars
@@ -3941,8 +3924,6 @@ do
 then horizontal scrollbars will not appear in truncated buffers unless
 the package specifically asked for them.
 
-Automatic horizontal scrolling is now standard, starting with 19.14.
-
 @node Q3.10.1, Q3.10.2, Q3.9.4, Customization
 @unnumberedsec 3.10: Text Selections
 @unnumberedsubsec Q3.10.1: How can I turn off or change highlighted selections?
@@ -3950,14 +3931,14 @@ Automatic horizontal scrolling is now standard, starting with 19.14.
 The @code{zmacs} mode allows for what some might call gratuitous
 highlighting for selected regions (either by setting mark or by using
 the mouse).  This is the default behavior.  To turn off, add the
-following line to your @file{.emacs} file:
+following line to your @file{init.el}/@file{.emacs} file:
 
 @lisp
 (setq zmacs-regions nil)
 @end lisp
 
 Starting with XEmacs-20.2 you can also change this with Customize. Select
-from the @code{Options} menu @code{Customize->Emacs->Editing->Basics->Zmacs
+from the @code{Options} menu @code{Advanced (Customize)->Emacs->Editing->Basics->Zmacs
 Regions} or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
 
 To change the face for selection, look at @code{Options->Customize} on
@@ -3974,13 +3955,21 @@ is what happens when you select a region (with the mouse or keyboard)
 and you press a key to replace the selected region by the key you typed.
 Usually backspace kills the selected region.
 
-To get this behavior, add the following line to your @file{.emacs}:
+To get this behavior, ensure that you have the @file{pc} package
+installed, and add the following lines to your
+@file{init.el}/@file{.emacs}:
 
 @lisp
-(turn-on-pending-delete)
+(cond
+ ((fboundp 'turn-on-pending-delete)
+  (turn-on-pending-delete))
+ ((fboundp 'pending-delete-on)
+  (pending-delete-on t)))
 @end lisp
 
-Note that this will work with both Backspace and Delete.
+Note that this will work with both Backspace and Delete.  This code is a
+tad more complicated than it has to be for XEmacs in order to make it
+more portable.
 
 @node Q3.10.3, Q3.10.4, Q3.10.2, Customization
 @unnumberedsubsec Q3.10.3: Can I turn off the highlight during isearch?
@@ -3988,7 +3977,7 @@ Note that this will work with both Backspace and Delete.
 I do not like my text highlighted while I am doing isearch as I am not
 able to see what's underneath.  How do I turn it off?
 
-Put the following in your @file{.emacs}:
+Put the following in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq isearch-highlight nil)
@@ -4012,9 +4001,9 @@ Put this in your @code{.emacs}:
 
 @strong{Warning: This command turns off all region highlighting.}
 
-Also @xref{Q3.10.1}.
+Also see @ref{Q3.10.1}.
 
-@node Q3.10.5,  , Q3.10.4, Customization
+@node Q3.10.5, Q3.10.6, Q3.10.4, Customization
 @unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling.
 
 This has been fixed by default starting with XEmacs-20.3.
@@ -4027,24 +4016,91 @@ off like this:
   (interactive "_P")
   (let ((zmacs-region-stays t))
     (if (interactive-p)
-       (condition-case nil
-           ad-do-it
-         (end-of-buffer (goto-char (point-max))))
+        (condition-case nil
+            ad-do-it
+          (end-of-buffer (goto-char (point-max))))
       ad-do-it)))
 
 (defadvice scroll-down (around scroll-down freeze)
   (interactive "_P")
   (let ((zmacs-region-stays t))
     (if (interactive-p)
-       (condition-case nil
-           ad-do-it
-         (beginning-of-buffer (goto-char (point-min))))
+        (condition-case nil
+            ad-do-it
+          (beginning-of-buffer (goto-char (point-min))))
       ad-do-it)))
 @end lisp
 
 Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this
 answer.
 
+@node Q3.10.6,  , Q3.10.5, Customization
+@unnumberedsubsec Q3.10.6: Why is killing so slow?
+
+This actually is an X Windows question, although you'll notice it with
+keyboard operations as well as while using the GUI.  Basically, there
+are four ways to communicate interprogram via the X server:
+
+@table @strong
+@item Primary selection
+a transient selection that gets replaced every time a new selection is made
+
+@item Secondary selection
+for "exchanging" with the primary selection
+
+@item Cut buffers
+a clipboard internal to the X server (deprecated)
+
+@item Clipboard selection
+a selection with a notification protocol that allows a separate app to
+manage the clipboard
+@end table
+
+The cut buffers are deprecated because managing them is even more
+inefficient than the clipboard notification protocol.  The primary
+selection works fine for many users and applications, but is not very
+robust under intensive or sophisticated use.
+
+In Motif and MS Windows, a clipboard has become the primary means for
+managing cut and paste.  These means that "modern" applications tend to
+be oriented toward a true clipboard, rather than the primary selection.
+(On Windows, there is nothing equivalent to the primary selection.)
+It's not that XEmacs doesn't support the simple primary selection
+method, it's that more and more other applications don't.
+
+So the slowdown occurs because XEmacs now engages in the clipboard
+notification protocol on @emph{every} kill.  This is especially slow on
+Motif.
+
+With most people running most clients and server on the same host, and
+many of the rest working over very fast communication, you may expect
+that the situation is not going to improve.
+
+There are a number of workarounds.  The most effective is to use a
+special command to do selection ownership only when you intend to paste
+to another application.  Useful commands are @code{kill-primary-selection}
+and @code{copy-primary-selection}.  These work only on text selected
+with the mouse (probably; experiment), and are bound by default to the
+@kbd{Cut} and @kbd{Copy}, respectively, buttons on the toolbar.
+@code{copy-primary-selection} is also bound to @kbd{C-Insert}.  You can
+yank the clipboard contents with @code{yank-primary-selection}, bound to
+the @kbd{Paste} toolbar button and @kbd{Sh-Insert}.
+
+If you are communicating by cut and paste with applications that use the
+primary selection, then you can customize
+@code{interprogram-cut-function} to @code{nil}, restoring the XEmacs
+version 20 behavior.  How can you tell if a program will support this?
+Motifly-correct programs require the clipboard; you lose.  For others,
+only by trying it.  You also need to customize the complementary
+@code{interprogram-paste-function} to @code{nil}.  (Otherwise
+XEmacs-to-XEmacs pastes will not work correctly.)
+
+You may get some relief on Motif by setting
+@code{x-selection-strict-motif-ownership} to nil, but this means you will
+only intermittently be able to paste XEmacs kills to Motif applications.
+
+Thanks to Jeff Mincy and Glynn Clements for corrections.
+
 @node Subsystems, Miscellaneous, Customization, Top
 @unnumbered 4 Major Subsystems
 
@@ -4086,6 +4142,7 @@ Other Mail & News:
 
 Sparcworks, EOS, and WorkShop:
 * Q4.4.1::      What is SPARCworks, EOS, and WorkShop
+* Q4.4.2::      How do I start the Sun Workshop support in XEmacs 21?
 
 Energize:
 * Q4.5.1::      What is/was Energize?
@@ -4096,10 +4153,11 @@ Infodock:
 Other Unbundled Packages:
 * Q4.7.1::      What is AUC TeX?  Where do you get it?
 * Q4.7.2::      Are there any Emacs Lisp Spreadsheets?
-* Q4.7.3::      Byte compiling AUC TeX on XEmacs 19.14
+* Q4.7.3::      [This question intentionally left blank]
 * Q4.7.4::      Problems installing AUC TeX
 * Q4.7.5::      Is there a reason for an Emacs package not to be included in XEmacs?
 * Q4.7.6::      Is there a MatLab mode?
+* Q4.7.7::      Can I edit files on other hosts?
 @end menu
 
 @node Q4.0.1, Q4.0.2, Subsystems, Subsystems
@@ -4165,7 +4223,7 @@ Set @code{vm-reply-ignored-addresses} to a list, like
 @lisp
 (setq vm-reply-ignored-addresses
       '("wing@@nuspl@@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com"
-       "wing@@netcom.com" "wing@@666.com"))
+        "wing@@netcom.com" "wing@@xemacs.org"))
 @end lisp
 
 Note that each string is a regular expression.
@@ -4173,7 +4231,7 @@ Note that each string is a regular expression.
 @node Q4.0.7, Q4.0.8, Q4.0.6, Subsystems
 @unnumberedsubsec Q4.0.7: Is there a mailing list or FAQ for VM?
 
-A FAQ for VM exists at @uref{http://www.cyberpass.net/~gorkab/vmfaq.htm}.
+A FAQ for VM exists at @uref{http://www.wonderworks.com/vm/FAQ.html}.
 
 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
 
@@ -4272,7 +4330,7 @@ John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes:
 
 @quotation
 @lisp
-                                       ; Don't use multiple frames
+                                        ; Don't use multiple frames
 (setq vm-frame-per-composition nil)
 (setq vm-frame-per-folder nil)
 (setq vm-frame-per-edit nil)
@@ -4287,7 +4345,7 @@ For mh-e use the following:
 
 @lisp
 (add-hook 'mh-show-mode-hook '(lambda ()
-                               (smiley-region (point-min)
+                                (smiley-region (point-min)
                                                (point-max))))
 @end lisp
 
@@ -4322,8 +4380,8 @@ control VM's behavior.
 
 Enter vm-vars, @code{forward-search} for toolbar, find the variables
 that control the toolbar placement, appearance, existence, copy to your
-@file{.emacs} or @file{.vm} and modify according to the detailed
-instructions.
+@file{init.el}/@file{.emacs} or @file{.vm} and modify according to the
+detailed instructions.
 
 The above also applies to all the various features of VM: search for
 some keywords, maybe the first you conjure isn't appropriate, find the
@@ -4469,12 +4527,11 @@ tm has following functions:
 
 tm is available from following anonymous ftp sites:
 @itemize @bullet
-@item @uref{ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/} (Japan).
-@item @uref{ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/} (Japan).
-@c The host above is unknown.
-
-@item @uref{ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/} (US).
-@item @uref{ftp://ftp.miranova.com/pub/gnus/jaist.ac.jp/} (US).
+@comment @item @uref{ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/} (Japan).
+@comment @item @uref{ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/} (Japan).
+@comment @c The host above is unknown.
+@comment @item @uref{ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/} (US).
+@comment @item @uref{ftp://ftp.miranova.com/pub/gnus/jaist.ac.jp/} (US).
 @item @uref{ftp://ftp.unicamp.br/pub/mail/mime/tm/} (Brasil).
 @item @uref{ftp://ftp.th-darmstadt.de/pub/editors/GNU-Emacs/lisp/mime/} (Germany).
 @item @uref{ftp://ftp.tnt.uni-hannover.de/pub/editors/xemacs/contrib/} (Germany).
@@ -4484,10 +4541,18 @@ Don't let the installation procedure & instructions stop you from trying
 this package out---it's much simpler than it looks, and once installed,
 trivial to use.
 
+@email{youngs@@xemacs.org, Steve Youngs} writes:
+
+@quotation
+All the major Emacs Lisp based MUAs (Gnus, MH-E, and VM) all do their
+own thing when it comes to MIME so you won't need TM to get MIME support
+in these packages.
+@end quotation
+
 @node Q4.3.3, Q4.3.4, Q4.3.2, Subsystems
 @unnumberedsubsec Q4.3.3: Why isn't this @code{movemail} program working?
 
-Ben Wing @email{ben@@666.com} writes:
+Ben Wing @email{ben@@xemacs.org} writes:
 
 @quotation
 It wasn't chown'ed/chmod'd correctly.
@@ -4496,14 +4561,14 @@ It wasn't chown'ed/chmod'd correctly.
 @node Q4.3.4, Q4.3.5, Q4.3.3, Subsystems
 @unnumberedsubsec Q4.3.4: Movemail is also distributed by Netscape?  Can that cause problems?
 
-@email{steve@@altair.xemacs.org, Steve Baur} writes:
+@email{steve@@xemacs.org, Steve Baur} writes:
 
 @quotation
 Yes.  Always use the movemail installed with your XEmacs.  Failure to do
 so can result in lost mail.
 @end quotation
 
-Please refer to @email{jwz@@netscape.com, Jamie Zawinski's} notes at
+Please refer to @email{jwz@@jwz.org, Jamie Zawinski's} notes at
 @iftex
 @*
 @end iftex
@@ -4539,7 +4604,7 @@ There is a good mirror at ftp.cdrom.com;
 @end iftex
 @uref{ftp://ftp.cdrom.com/pub/tex/ctan/support/latex2html/}.
 
-@node Q4.4.1, Q4.5.1, Q4.3.5, Subsystems
+@node Q4.4.1, Q4.4.2, Q4.3.5, Subsystems
 @unnumberedsec 4.4: Sparcworks, EOS, and WorkShop
 @unnumberedsubsec Q4.4.1: What is SPARCworks, EOS, and WorkShop?
 
@@ -4580,10 +4645,48 @@ details, check out
 @iftex
 @*
 @end iftex
-@uref{http://www.sun.com/software/Products/Developer-products/programs.html}.
+@uref{http://www.sun.com/software/Products/Developer-products}.
 @end quotation
 
-@node Q4.5.1, Q4.6.1, Q4.4.1, Subsystems
+@node Q4.4.2, Q4.5.1, Q4.4.1, Subsystems
+@unnumberedsubsec Q4.4.2: How do I start the Sun Workshop support in XEmacs 21?
+
+Add the switch ---with-workshop to the configure command when building
+XEmacs and put the following in one of your startup files
+(e.g. site-start.el or .emacs):
+
+@lisp
+(when (featurep 'tooltalk)
+  (load "tooltalk-macros")
+  (load "tooltalk-util")
+  (load "tooltalk-init"))
+(when (featurep 'sparcworks)
+  (load "sunpro-init")
+  (load "ring")
+  (load "comint")
+  (load "annotations")
+  (sunpro-startup))
+@end lisp
+
+If you are not using the latest Workshop (5.0) you have to apply the
+following patch:
+
+@format
+--- /opt/SUNWspro/lib/eserve.el.ORIG    Fri May 14 15:23:26 1999
++++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999
+@@@@ -42,7 +42,7 @@@@
+ (defvar running-xemacs nil "t if we're running XEmacs")
+ (defvar running-emacs  nil "t if we're running GNU Emacs 19")
+
+-(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version)
++(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version)
+     (setq running-xemacs t)
+     (setq running-emacs  t))
+@end format
+
+
+
+@node Q4.5.1, Q4.6.1, Q4.4.2, Subsystems
 @unnumberedsec 4.5: Energize
 @unnumberedsubsec Q4.5.1: What is/was Energize?
 
@@ -4603,11 +4706,9 @@ did so.)
 @unnumberedsec 4.6: Infodock
 @unnumberedsubsec Q4.6.1: What is Infodock?
 
-InfoDock is an integrated productivity toolset, mainly aimed at
-technical people.  It is developed and supported by InfoDock
-Associates, a firm that offers custom support and development
-for InfoDock, XEmacs and GNU Emacs.  ( @uref{http://www.infodock.com},
-@email{info@@infodock.com}, +1 408 243 3300).
+@uref{http://sourceforge.net/projects/infodock/, InfoDock} is an
+integrated productivity toolset, mainly aimed at technical people,
+hosted at SourceForge.
 
 InfoDock is built atop the XEmacs variant of GNU Emacs and so has all of
 the power of Emacs, but with an easier to use and more comprehensive
@@ -4775,7 +4876,7 @@ The most recent version is always available by ftp at
 @iftex
 @*
 @end iftex
-@uref{ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz}.
+@uref{ftp://sunsite.dk/packages/auctex/auctex.tar.gz}.
 
 In case you don't have access to anonymous ftp, you can get it by an
 email request to @email{ftpmail@@decwrl.dec.com}.
@@ -4784,7 +4885,7 @@ WWW users may want to check out the AUC TeX page at
 @iftex
 @*
 @end iftex
-@uref{http://sunsite.auc.dk/auctex/}.
+@uref{http://sunsite.dk/auctex/}.
 
 @node Q4.7.2, Q4.7.3, Q4.7.1, Subsystems
 @unnumberedsubsec Q4.7.2: Are there any Emacs Lisp Spreadsheets?
@@ -4796,17 +4897,7 @@ Yes.  Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at
 @uref{ftp://cs.nyu.edu/pub/local/fox/dismal/}.
 
 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems
-@unnumberedsubsec Q4.7.3: Byte compiling AUC TeX on XEmacs 19.14.
-
-@email{bruncott@@dormeur.inria.fr, Georges Brun-Cottan} writes:
-
-@quotation
-When byte compiling auctex-9.4g, you must use the command:
-
-@example
-xemacs -batch -l lpath.el
-@end example
-@end quotation
+@unnumberedsubsec Q4.7.3: [This question intentionally left blank]
 
 @node Q4.7.4, Q4.7.5, Q4.7.3, Subsystems
 @unnumberedsubsec Q4.7.4: Problems installing AUC TeX.
@@ -4862,7 +4953,7 @@ additional package.
 Each package bundled with XEmacs means more work for the maintainers,
 whether they want it or not.  If you are ready to take over the
 maintenance responsibilities for the package you port, be sure to say
-so -- we will more likely include it.
+so---we will more likely include it.
 
 @item
 The package simply hasn't been noted by the XEmacs development.  If
@@ -4876,25 +4967,30 @@ even better, offer your help.  It will be gladly accepted and
 appreciated.
 @end enumerate
 
-@node Q4.7.6,  , Q4.7.5, Subsystems
+@node Q4.7.6,  Q4.7.7, Q4.7.5, Subsystems
 @unnumberedsubsec Q4.7.5: Is there a MatLab mode?
-@c New
-Is there any way I can get syntax highlighting for MatLab .m files?
-Can I "teach" emacs what words are MatLab commands, comments, etc. ?
 
-@email{elsner@@mathematik.tu-chemnitz.de, Ulrich Elsner} writes:
-@quotation
-One way to do this (and much more) is by using the
-@iftex
-@*
-@end iftex
-@uref{ftp://ftp.mathworks.com/pub/contrib/v5/tools/matlab.el, matlab mode}.
+Yes, a matlab mode and other items are available at the
+@uref{ftp://ftp.mathworks.com/pub/contrib/emacs_add_ons,
+MathWorks' emacs_add_ons ftp directory}.
 
-Instructions on how to install this mode are included in this file.
-@end quotation
+@node Q4.7.7,  , Q4.7.6, Subsystems
+@unnumberedsubsec Q4.7.7: Can I edit files on other hosts?
+
+Yes.  Of course XEmacs can use any network file system (such as NFS or
+Windows file sharing) you have available, and includes some
+optimizations and safety features appropriate to those environments.
 
+It is also possible to transparently edit files via FTP, ssh, or rsh.  That
+is, XEmacs makes a local copy using the transport in the background, and
+automatically refreshes the remote original from that copy when you save
+it.  XEmacs also is capable of doing file system manipulations like
+creating and removing directories and files.  The FTP interface is
+provided by the standard @samp{efs} package @ref{Top, EFS, , efs}.  The
+ssh/rsh interface is provided by the optional @samp{tramp} package
+@ref{Top, TRAMP, , tramp}.
 
-@node Miscellaneous, Current Events, Subsystems, Top
+@node Miscellaneous, MS Windows, Subsystems, Top
 @unnumbered 5 The Miscellaneous Stuff
 
 This is part 5 of the XEmacs Frequently Asked Questions list.  This
@@ -4906,21 +5002,21 @@ Major & Minor Modes:
 * Q5.0.1::      How can I do source code highlighting using font-lock?
 * Q5.0.2::      I do not like cc-mode.  How do I use the old c-mode?
 * Q5.0.3::      How do I get @samp{More} Syntax Highlighting on by default?
-* Q5.0.4::      How can I enable auto-indent?
+* Q5.0.4::      How can I enable auto-indent and/or Filladapt?
 * Q5.0.5::      How can I get XEmacs to come up in text/auto-fill mode by default?
 * Q5.0.6::      How do I start up a second shell buffer?
 * Q5.0.7::      Telnet from shell filters too much.
 * Q5.0.8::      Why does edt emulation not work?
 * Q5.0.9::      How can I emulate VI and use it as my default mode?
 * Q5.0.10::     [This question intentionally left blank]
-* Q5.0.11::     Filladapt doesn't work in 19.15?
+* Q5.0.11::     [This question intentionally left blank]
 * Q5.0.12::     How do I disable gnuserv from opening a new frame?
 * Q5.0.13::     How do I start gnuserv so that each subsequent XEmacs is a client?
 * Q5.0.14::     Strange things are happening in Shell Mode.
 * Q5.0.15::     Where do I get the latest CC Mode?
 * Q5.0.16::     I find auto-show-mode disconcerting.  How do I turn it off?
 * Q5.0.17::     How can I get two instances of info?
-* Q5.0.18::     I upgraded to XEmacs 19.14 and gnuserv stopped working
+* Q5.0.18::     [This question intentionally left blank]
 * Q5.0.19::     Is there something better than LaTeX mode?
 * Q5.0.20::     Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
 
@@ -4931,7 +5027,7 @@ Emacs Lisp Programming Techniques:
 * Q5.1.4::      What is the performance hit of @code{let}?
 * Q5.1.5::      What is the recommended use of @code{setq}?
 * Q5.1.6::      What is the typical misuse of @code{setq}?
-* Q5.1.7::      I like the the @code{do} form of cl, does it slow things down?
+* Q5.1.7::      I like the @code{do} form of cl, does it slow things down?
 * Q5.1.8::      I like recursion, does it slow things down?
 * Q5.1.9::      How do I put a glyph as annotation in a buffer?
 * Q5.1.10::     @code{map-extents} won't traverse all of my extents!
@@ -4945,7 +5041,7 @@ Sound:
 
 Miscellaneous:
 * Q5.3.1::      How do you make XEmacs indent CL if-clauses correctly?
-* Q5.3.2::      Fontifying hangs when editing a postscript file.
+* Q5.3.2::      [This question intentionally left blank]
 * Q5.3.3::      How can I print WYSIWYG a font-locked buffer?
 * Q5.3.4::      Getting @kbd{M-x lpr} to work with postscript printer.
 * Q5.3.5::      How do I specify the paths that XEmacs uses for finding files?
@@ -4963,16 +5059,20 @@ Miscellaneous:
 @unnumberedsubsec Q5.0.1: How can I do source code highlighting using font-lock?
 
 For most modes, font-lock is already set up and just needs to be turned
-on.  This can be done by @kbd{M-x font-lock-mode}, or by having XEmacs
-automatically start it by adding lines like:
+on.  This can be done by adding the line:
 
 @lisp
-(add-hook 'emacs-lisp-mode-hook        'turn-on-font-lock)
-(add-hook 'dired-mode-hook     'turn-on-font-lock)
+(require 'font-lock)
 @end lisp
 
-to your @file{.emacs}.  See the file @file{etc/sample.emacs} for more
-examples.
+to your @file{init.el}/@file{.emacs}. (You can turn it on for the
+current buffer and session only by @kbd{M-x font-lock-mode}.) See the
+file @file{etc/sample.init.el} (@file{etc/sample.emacs} in XEmacs
+versions prior to 21.4) for more information.
+
+@c the old way:
+@c     (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
+@c     (add-hook 'dired-mode-hook      'turn-on-font-lock)
 
 See also @code{Syntax Highlighting} from the @code{Options} menu.
 Remember to save options.
@@ -4985,7 +5085,7 @@ much more powerful than the old c-mode.  If you're having trouble
 getting your old offsets to work, try using @code{c-set-offset} instead.
 You might also consider using the package @code{cc-compat}.
 
-But, if you still insist, add the following lines to your @file{.emacs}:
+But, if you still insist, add the following lines to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (fmakunbound 'c-mode)
@@ -5003,47 +5103,56 @@ c++-mode.
 @node Q5.0.3, Q5.0.4, Q5.0.2, Miscellaneous
 @unnumberedsubsec Q5.0.3: How do I get @samp{More} Syntax Highlighting on by default?
 
-Use the following code in your @file{.emacs}:
+Use the following code in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq-default font-lock-maximum-decoration t)
 @end lisp
 
-In versions of XEmacs prior to 19.14, you had to use a kludgy solution
-like this:
-
-@lisp
-(setq c-font-lock-keywords c-font-lock-keywords-2
-      c++-font-lock-keywords c++-font-lock-keywords-2
-      lisp-font-lock-keywords lisp-font-lock-keywords-2)
-@end lisp
-
-It will work for C, C++ and Lisp.
-
+@c In versions of XEmacs prior to 19.14, you had to use a kludgy solution
+@c like this:
+@c
+@c @lisp
+@c (setq c-font-lock-keywords c-font-lock-keywords-2
+@c       c++-font-lock-keywords c++-font-lock-keywords-2
+@c       lisp-font-lock-keywords lisp-font-lock-keywords-2)
+@c @end lisp
+@c
+@c It will work for C, C++ and Lisp.
+@c
 See also @code{Syntax Highlighting} from the @code{Options} menu.
 Remember to save options.
 
 @node Q5.0.4, Q5.0.5, Q5.0.3, Miscellaneous
-@unnumberedsubsec Q5.0.4: How can I enable auto-indent?
+@unnumberedsubsec Q5.0.4: How can I enable auto-indent and/or Filladapt?
 
-Put the following line in your @file{.emacs}:
+Put the following line in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq indent-line-function 'indent-relative-maybe)
 @end lisp
 
 If you want to get fancy, try the @code{filladapt} package available
-standard with XEmacs.  Put this into your @file{.emacs}:
+standard with XEmacs.  Put this into your @file{init.el}/@file{.emacs}:
 
 @lisp
 (require 'filladapt)
-(add-hook 'text-mode-hook    'turn-on-filladapt-mode)
-;;; and others ...
+(setq-default filladapt-mode t)
+(add-hook 'c-mode-hook 'turn-off-filladapt-mode)
+@end lisp
+
+This will enable Filladapt for all modes except C mode, where it doesn't
+work well.  To turn Filladapt on only in particular major modes, remove
+the @code{(setq-default ...)} line and use
+@code{turn-on-filladapt-mode}, like this:
+
+@lisp
+(add-hook 'text-mode-hook 'turn-on-filladapt-mode)
 @end lisp
 
 You can customize filling and adaptive filling with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->->Editing->Fill->Fill...}
+@code{Advanced (Customize)->Emacs->Editing->Fill->Fill...}
 or type @kbd{M-x customize @key{RET} fill @key{RET}}.
 
 Note that well-behaving text-lookalike modes will run
@@ -5055,7 +5164,7 @@ Please note that the @code{fa-extras} package is no longer useful.
 @node Q5.0.5, Q5.0.6, Q5.0.4, Miscellaneous
 @unnumberedsubsec Q5.0.5: How can I get XEmacs to come up in text/auto-fill mode by default?
 
-Try the following lisp in your @file{.emacs}:
+Try the following lisp in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq default-major-mode 'text-mode)
@@ -5112,6 +5221,10 @@ This will then start a second shell.  The key is that no buffer named
 rename-uniquely} to rename the @code{*shell*} buffer instead of @kbd{M-x
 rename-buffer}.
 
+Alternately, you can set the variable @code{shell-multiple-shells}.
+If the value of this variable is non-nil, each time shell mode is invoked,
+a new shell is made
+
 @node Q5.0.7, Q5.0.8, Q5.0.6, Miscellaneous
 @unnumberedsubsec Q5.0.7: Telnet from shell filters too much
 
@@ -5129,7 +5242,7 @@ if you have @code{ssh} installed.
 
 We don't know, but you can use tpu-edt emulation instead, which works
 fine and is a little fancier than the standard edt emulation.  To do
-this, add the following line to your @file{.emacs}:
+this, add the following line to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (tpu-edt)
@@ -5146,7 +5259,7 @@ add this as well:
 @unnumberedsubsec Q5.0.9: How can I emulate VI and use it as my default mode?
 
 Our recommended VI emulator is viper. To make viper-mode the default,
-add this to your @file{.emacs}:
+add this to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (viper-mode)
@@ -5155,7 +5268,7 @@ add this to your @file{.emacs}:
 @email{kifer@@CS.SunySB.EDU, Michael Kifer} writes:
 
 @quotation
-This should be added as close to the top of @file{.emacs} as you can get
+This should be added as close to the top of @file{init.el}/@file{.emacs} as you can get
 it, otherwise some minor modes may not get viper-ized.
 @end quotation
 
@@ -5165,22 +5278,9 @@ it, otherwise some minor modes may not get viper-ized.
 Obsolete question, left blank to avoid renumbering
 
 @node Q5.0.11, Q5.0.12, Q5.0.10, Miscellaneous
-@unnumberedsubsec Q5.0.11: Filladapt doesn't work in 19.15
+@unnumberedsubsec Q5.0.11: [This question intentionally left blank]
 
-Filladapt 2.x is included in 19.15.  In it filladapt is now a minor
-mode and minor modes are traditionally off by default.  The following
-added to your @file{.emacs} will turn it on for all buffers:
-
-@lisp
-(setq-default filladapt-mode t)
-@end lisp
-
-Use @code{turn-on-filladapt-mode} to turn Filladapt on in particular
-major modes, like this:
-
-@lisp
-(add-hook 'text-mode-hook 'turn-on-filladapt-mode)
-@end lisp
+Obsolete question, left blank to avoid renumbering
 
 @node Q5.0.12, Q5.0.13, Q5.0.11, Miscellaneous
 @unnumberedsubsec Q5.0.12: How do I disable gnuserv from opening a new frame?
@@ -5193,23 +5293,22 @@ created. For example, you could put
 (setq gnuserv-frame (selected-frame))
 @end lisp
 
-early on in your @file{.emacs}, to ensure that the first frame created
+early on in your @file{init.el}/@file{.emacs}, to ensure that the first frame created
 is the one used for your gnuserv buffers.
 
-Starting in 19.15, there is an option to set the gnuserv target to
-the current frame.  See
-@code{Options->"Other Window" Location->Make current frame gnuserv target}
+There is an option to set the gnuserv target to the current frame.  See
+@code{Options->Display->"Other Window" Location->Make Current Frame Gnuserv Target}
 
 Starting with XEmacs-20.3 you can also change this with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Environment->Gnuserv->Gnuserv Frame...} or type
-@kbd{M-x customize @key{RET} gnuserv @key{RET}}.
+@code{Advanced (Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame...}
+or type @kbd{M-x customize @key{RET} gnuserv @key{RET}}.
 
 
 @node Q5.0.13, Q5.0.14, Q5.0.12, Miscellaneous
 @unnumberedsubsec Q5.0.13: How do I start gnuserv so that each subsequent XEmacs is a client?
 
-Put the following in your @file{.emacs} file to start the server:
+Put the following in your @file{init.el}/@file{.emacs} file to start the server:
 
 @lisp
 (gnuserv-start)
@@ -5255,7 +5354,7 @@ if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
 @email{bwarsaw@@cnri.reston.va.us, Barry A. Warsaw} writes:
 
 @quotation
-This can be had from @uref{http://www.python.org/ftp/emacs/}.
+This can be had from @uref{http://www.python.org/emacs/}.
 @end quotation
 
 @node Q5.0.16, Q5.0.17, Q5.0.15, Miscellaneous
@@ -5264,7 +5363,7 @@ This can be had from @uref{http://www.python.org/ftp/emacs/}.
 @code{auto-show-mode} controls whether or not a horizontal scrollbar
 magically appears when a line is too long to be displayed.  This is
 enabled by default.  To turn it off, put the following in your
-@file{.emacs}:
+@file{init.el}/@file{.emacs}:
 
 @lisp
 (setq auto-show-mode nil)
@@ -5274,22 +5373,11 @@ enabled by default.  To turn it off, put the following in your
 @node Q5.0.17, Q5.0.18, Q5.0.16, Miscellaneous
 @unnumberedsubsec Q5.0.17: How can I get two instances of info?
 
-You can't.  The @code{info} package does not provide for multiple info buffers.
+Before 21.4, you can't.  The @code{info} package does not provide for
+multiple info buffers.  In 21.4, this should be fixed. #### how?
 
 @node Q5.0.18, Q5.0.19, Q5.0.17, Miscellaneous
-@unnumberedsubsec Q5.0.18: I upgraded to XEmacs 19.14 and gnuserv stopped working.
-
-@email{daku@@nortel.ca, Mark Daku} writes:
-
-@quotation
-It turns out I was using an older version of gnuserv.  The installation
-didn't put the binary into the public bin directory.  It put it in
-@iftex
-@*
-@end iftex
-@file{lib/xemacs-19.14/hppa1.1-hp-hpux9.05/gnuserv}.  Shouldn't it have
-been put in @file{bin/hppa1.1-hp-hpux9.0}?
-@end quotation
+@unnumberedsubsec Q5.0.18: [This question intentionally left blank]
 
 @node Q5.0.19, Q5.0.20, Q5.0.18, Miscellaneous
 @unnumberedsubsec Q5.0.19: Is there something better than LaTeX mode?
@@ -5500,7 +5588,7 @@ user-variable temporarily, use @code{let}:
 
 @lisp
 (let ((case-fold-search nil))
-  ...                                  ; code with searches that must be case-sensitive
+  ...                                   ; code with searches that must be case-sensitive
   ...)
 @end lisp
 
@@ -5565,7 +5653,7 @@ unbound.  The correct thing is to do it like this:
 
 @lisp
 (defun my-function (whatever)
-  (let (a)                             ; default initialization is to nil
+  (let (a)                              ; default initialization is to nil
     ... build a large list ...
     ... and exit, unbinding `a' in the process  ...)
 @end lisp
@@ -5578,18 +5666,18 @@ Note that even global variables should not be @code{setq}ed without
 The reason for the warning is the following:
 
 @lisp
-(defun flurgoze nil)                   ; ok, global internal variable
+(defun flurgoze nil)                    ; ok, global internal variable
 ...
 
-(setq flurghoze t)                     ; ops!  a typo, but semantically correct.
-                                       ; however, the byte-compiler warns.
+(setq flurghoze t)                      ; ops!  a typo, but semantically correct.
+                                        ; however, the byte-compiler warns.
 
 While compiling toplevel forms:
 ** assignment to free variable flurghoze
 @end lisp
 
 @node Q5.1.7, Q5.1.8, Q5.1.6, Miscellaneous
-@unnumberedsubsec Q5.1.7: I like the the @code{do} form of cl, does it slow things down?
+@unnumberedsubsec Q5.1.7: I like the @code{do} form of cl, does it slow things down?
 
 It shouldn't.  Here is what Dave Gillespie has to say about cl.el
 performance:
@@ -5662,7 +5750,7 @@ Instead of @samp{FILE}, use the image file name
 @iftex
 @*
 @end iftex
-@file{/usr/local/lib/xemacs-20.2/etc/recycle.xpm}).
+@file{/usr/local/lib/xemacs-21.4/etc/recycle.xpm}).
 
 You can turn this to a function (that optionally prompts you for a file
 name), and inserts the glyph at @code{(point)} instead of
@@ -5704,30 +5792,30 @@ is:
 an easy way to find out where it spends time?
 @c New
 
-z@email{hniksic@@srce.hr, Hrvoje Niksic} writes:
+@email{hniksic@@xemacs.org, Hrvoje Niksic} writes:
 @quotation
-Under XEmacs 20.4 and later  you can use @kbd{M-x profile-key-sequence}, press a key
-(say @key{RET} in the Gnus Group buffer), and get the results using
-@kbd{M-x profile-results}.  It should give you an idea of where the time
-is being spent.
+Under XEmacs 20.4 and later you can use @kbd{M-x profile-key-sequence},
+press a key (say @key{RET} in the Gnus Group buffer), and get the
+results using @kbd{M-x profile-results}.  It should give you an idea of
+where the time is being spent.
 @end quotation
 
 @node Q5.2.1, Q5.2.2, Q5.1.11, Miscellaneous
 @unnumberedsubsec Q5.2.1: How do I turn off the sound?
 
-Add the following line to your @file{.emacs}:
+Add the following line to your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq bell-volume 0)
 (setq sound-alist nil)
 @end lisp
 
-That will make your XEmacs totally silent -- even the default ding sound
+That will make your XEmacs totally silent---even the default ding sound
 (TTY beep on TTY-s) will be gone.
 
-Starting with XEmacs-20.2 you can also change these with Customize.
+Starting with XEmacs 20.2 you can also change these with Customize.
 Select from the @code{Options} menu
-@code{Customize->Emacs->Environment->Sound->Sound...} or type
+@code{Advanced (Customize)->Emacs->Environment->Sound->Sound...} or type
 @kbd{M-x customize @key{RET} sound @key{RET}}.
 
 
@@ -5735,15 +5823,15 @@ Select from the @code{Options} menu
 @unnumberedsubsec Q5.2.2: How do I get funky sounds instead of a boring beep?
 
 Make sure your XEmacs was compiled with sound support, and then put this
-in your @file{.emacs}:
+in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (load-default-sounds)
 @end lisp
 
-The sound support in XEmacs 19.14 was greatly improved over previous
-versions.
-
+@c The sound support in XEmacs 19.14 was greatly improved over previous
+@c versions.
+@c
 @node Q5.2.3, Q5.2.4, Q5.2.2, Miscellaneous
 @unnumberedsubsec Q5.2.3: What's NAS, how do I get it?
 
@@ -5776,7 +5864,7 @@ I'd like XEmacs to indent all the clauses of a Common Lisp @code{if} the
 same amount instead of indenting the 3rd clause differently from the
 first two.
 
-One way is to add, to @file{.emacs}:
+One way is to add, to @file{init.el}/@file{.emacs}:
 
 @lisp
 (put 'if 'lisp-indent-function nil)
@@ -5806,24 +5894,9 @@ than previous versions.  This may prove useful if you need to customize
 any indent-functions.
 
 @node Q5.3.2, Q5.3.3, Q5.3.1, Miscellaneous
-@unnumberedsubsec Q5.3.2: Fontifying hang when editing a postscript file.
-
-When I try to edit a postscript file it gets stuck saying:
-@samp{fontifying 'filename' (regexps....)} and it just sits there.  If I
-press @kbd{C-c} in the window where XEmacs was started, it suddenly
-becomes alive again.
-
-This was caused by a bug in the Postscript font-lock regular
-expressions.  It was fixed in 19.13.  For earlier versions of XEmacs,
-have a look at your @file{.emacs} file.  You will probably have a line
-like:
+@unnumberedsubsec Q5.3.2: [This question intentionally left blank]
 
-@lisp
-(add-hook 'postscript-mode-hook        'turn-on-font-lock)
-@end lisp
-
-Take it out, restart XEmacs, and it won't try to fontify your postscript
-files anymore.
+Obsolete question, left blank to avoid renumbering.
 
 @node Q5.3.3, Q5.3.4, Q5.3.2, Miscellaneous
 @unnumberedsubsec Q5.3.3: How can I print WYSIWYG a font-locked buffer?
@@ -5833,7 +5906,9 @@ document?
 
 The package @code{ps-print}, which is now included with XEmacs, provides
 the ability to do this.  The source code contains complete instructions
-on its use, in @file{<xemacs_src_root>/lisp/packages/ps-print.el}.
+on its use, in
+@file{$prefix/lib/xemacs/xemacs-packages/lisp/ps-print/ps-print.el},
+being the default location of an installed ps-print package.
 
 @node Q5.3.4, Q5.3.5, Q5.3.3, Miscellaneous
 @unnumberedsubsec Q5.3.4: Getting @kbd{M-x lpr} to work with postscript printer.
@@ -5842,7 +5917,7 @@ My printer is a Postscript printer and @code{lpr} only works for
 Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x
 lpr-buffer} to work?
 
-Put something like this in your @file{.emacs}:
+Put something like this in your @file{init.el}/@file{.emacs}:
 
 @lisp
 (setq lpr-command "a2ps")
@@ -6036,8 +6111,9 @@ method, one should NOT quote the face string using the sed script .
 
 It might also be helpful to use @email{stig@@hackvan.com, Stig's} script
 (included in the compface distribution at XEmacs.org) to do the
-conversion.  For convenience xbm2xface is available for anonymous FTP at
-@uref{ftp://ftp.miranova.com/pub/xemacs/xbm2xface.pl}.
+conversion.
+@comment For convenience xbm2xface is available for anonymous FTP at
+@comment @uref{ftp://ftp.miranova.com/pub/xemacs/xbm2xface.pl}.
 
 Contributors for this item:
 
@@ -6057,8 +6133,8 @@ You use something like:
 
 @lisp
 (setq Info-directory-list (cons
-                          (expand-file-name "~/info")
-                          Info-default-directory-list))
+                           (expand-file-name "~/info")
+                           Info-default-directory-list))
 @end lisp
 
 @email{davidm@@prism.kla.com, David Masterson} writes:
@@ -6138,38 +6214,1014 @@ NOTE: It is an undocumented limitation in XEmacs that postscript
 printing (the @code{Pretty Print Buffer} menu item) @strong{requires} a
 window system environment.  It cannot be used outside of X11.
 
-@node Current Events,  , Miscellaneous, Top
-@unnumbered 6 What the Future Holds
+@node MS Windows, Current Events, Miscellaneous, Top
+@unnumbered 6 XEmacs on MS Windows
 
-This is part 6 of the XEmacs Frequently Asked Questions list.  This
-section will change monthly, and contains any interesting items that have
-transpired over the previous month.  If you are reading this from the
-XEmacs distribution, please see the version on the Web or archived at the
-various FAQ FTP sites, as this file is surely out of date.
+This is part 6 of the XEmacs Frequently Asked Questions list, written by
+Hrvoje Niksic and others.  This section is devoted to the MS Windows
+port of XEmacs.
 
 @menu
-* Q6.0.1::      What is new in 20.2?
-* Q6.0.2::      What is new in 20.3?
-* Q6.0.3::      What is new in 20.4?
-* Q6.0.4::      Procedural changes in XEmacs development.
+General Info
+* Q6.0.1::      What is the status of the XEmacs port to Windows?
+* Q6.0.2::      What flavors of MS Windows are supported?  The list name implies NT only.
+* Q6.0.3::      Are binaries available?
+* Q6.0.4::      Can I build XEmacs on MS Windows with X support?  Do I need to?
+* Q6.0.5::      I'd like to help out.  What do I do?
+* Q6.0.6::      What are Cygwin and MinGW, and do I need them to run XEmacs?
+* Q6.0.7::      What exactly are all the different ways to build XEmacs under Windows?
+
+Building XEmacs on MS Windows:
+* Q6.1.1::      What compiler/libraries do I need to compile XEmacs?
+* Q6.1.2::      How do I compile the native port?
+* Q6.1.3::      What do I need for Cygwin?
+* Q6.1.4::      How do I compile under Cygwin?
+* Q6.1.5::      How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
+* Q6.1.6::      I decided to run with X.  Where do I get an X server?
+* Q6.1.7::      How do I compile with X support?
+
+Customization and User Interface:
+* Q6.2.1::      How does the port cope with differences in the Windows user interface?
+* Q6.2.2::      How do I change fonts in XEmacs on MS Windows?
+* Q6.2.3::      Where do I put my @file{init.el}/@file{.emacs} file?
+* Q6.2.4::      How do I get Windows Explorer to associate a file type with XEmacs?
+* Q6.2.5::      Is it possible to print from XEmacs?
+
+Miscellaneous:
+* Q6.3.1::      Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
+* Q6.3.2::      What are the differences between the various MS Windows emacsen?
+* Q6.3.3::      XEmacs 21.1 on Windows used to spawn an ugly console window on every startup.  Has that been fixed?
+* Q6.3.4::      What is the porting team doing at the moment?
+
+Troubleshooting:
+* Q6.4.1::      XEmacs won't start on Windows.
+* Q6.4.2::      Why do I get a blank toolbar on Windows 95?
+* Q6.4.3::      XEmacs complains "No such file or directory, diff"
+
 @end menu
 
-@node Q6.0.1, Q6.0.2, Current Events, Current Events
-@unnumberedsec 6.0: Changes
-@unnumberedsubsec Q6.0.1: What is new in 20.2?
+@node Q6.0.1, Q6.0.2, MS Windows, MS Windows
+@unnumberedsec 6.0: General Info
+@unnumberedsubsec Q6.0.1: What is the status of the XEmacs port to Windows?
 
-The biggest changes in 20.2 include integration of EFS (the next
-generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
-major mode for editing Tex and LaTeX, and a lot of other stuff).  Many
-bugs from 20.0 have been fixed for this release.  20.2 also contains a
-new system for customizing XEmacs options, invoked via @kbd{M-x
-customize}.
+Is XEmacs really ported to MS Windows?  What is the status of the port?
 
-XEmacs 20.2 is the development release (20.0 was beta), and is no longer
-considered unstable.
+Beginning with release 21.0, XEmacs has worked under MS Windows.  A
+group of dedicated developers actively maintains and improves the
+Windows-specific portions of the code.  The mailing list at
+@email{xemacs-nt@@xemacs.org} is dedicated to that effort (please use
+the -request address to subscribe). (Despite its name, XEmacs actually
+works on all versions of Windows.)
+
+As of May 2001, XEmacs on MS Windows is stable and full-featured, and
+has been so for a year or more -- in fact, some features, such as
+printing, actually work better on Windows than native Unix.  However,
+the internationalization (Mule) support does not work -- although this
+is being actively worked on.
+
+
+@node Q6.0.2, Q6.0.3, Q6.0.1, MS Windows
+@unnumberedsubsec Q6.0.2: What flavors of MS Windows are supported?  The list name implies NT only.
+
+The list name is misleading, as XEmacs supports and has been compiled on
+Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows
+XP, and all newer versions of Windows.  The MS Windows-specific code is
+based on Microsoft Win32 API, and will not work on MS Windows 3.x or on
+MS-DOS.
+
+XEmacs also supports the Cygwin and MinGW development and runtime
+environments, where it also uses native Windows code for graphical
+features.
+
+
+@node Q6.0.3, Q6.0.4, Q6.0.2, MS Windows
+@unnumberedsubsec Q6.0.3: Are binaries available?
+
+Binaries are available at @uref{http://www.xemacs.org/Download/win32/}
+for the native and Cygwin MS Windows versions of 21.4, and the native
+version of 21.1.
+
+The 21.4 binaries use a modified version of the Cygwin installer.  Run
+the provided @file{setup.exe}, and follow the instructions.
+
+
+@node Q6.0.4, Q6.0.5, Q6.0.3, MS Windows
+@unnumberedsubsec Q6.0.4: Can I build XEmacs on MS Windows with X support?  Do I need to?
+
+Yes, you can, but no you do not need to.  In fact, we recommend that you
+use a native-GUI version unless you have a specific need for an X
+version.
+
+@node Q6.0.5, Q6.0.6, Q6.0.4, MS Windows
+@unnumberedsubsec Q6.0.5: I'd like to help out.  What do I do?
+
+It depends on the knowledge and time you possess.  If you are a
+programmer, try to build XEmacs and see if you can improve it.
+Windows-specific improvements like integration with established
+Windows environments are especially sought after.
+
+Otherwise, you can still help by downloading the binaries, using
+XEmacs as your everyday editor and reporting bugs you find to the
+mailing list.
+
+Another area where we need help is the documentation: We need good
+documentation for building XEmacs and for using it.  This FAQ is a
+small step in that direction.
+
+@node Q6.0.6, Q6.0.7, Q6.0.5, MS Windows
+@unnumberedsubsec Q6.0.6: What are Cygwin and MinGW, and do I need them to run XEmacs?
+
+To answer the second part of the question: No, you, you don't need
+Cygwin or MinGW to build or to run XEmacs.  But if you have them and
+want to use them, XEmacs supports these environments.
+
+(One important reason to support Cygwin is that it lets the MS Windows
+developers test out their code in a Unix environment without actually
+having to have a Unix machine around.  For this reason alone, Cygwin
+support is likely to remain supported for a long time in XEmacs.  Same
+goes for the X support under Cygwin, for the same reasons.  MinGW
+support, on the other hand, depends on volunteers to keep it up to date;
+but this is generally not hard.)
+
+Cygwin is a set of tools providing Unix-like API on top of Win32.
+It makes it easy to port large Unix programs without significant
+changes to their source code.  It is a development environment as well
+as a runtime environment.
+
+When built with Cygwin, XEmacs supports all display types -- TTY, X &
+Win32 GUI, and can be built with support for all three simultaneously.
+If you build with Win32 GUI support then the Cygwin version uses the
+majority of the Windows-specific code, which is mostly related to
+display.  If you want to build with X support you need X libraries (and
+an X server to display XEmacs on); see @ref{Q6.1.4}.  TTY and Win32 GUI
+require no additional libraries beyond what comes standard with Cygwin.
+
+The advantages of the Cygwin version are that it integrates well with
+the Cygwin environment for existing Cygwin users; uses configure so
+building with different features is very easy; and actively supports X &
+TTY.  Furthermore, the entire Cygwin environment and compiler are free,
+whereas Visual C++ costs money.
+
+The disadvantage is that it requires the whole Cygwin environment,
+whereas the native port requires only a suitable MS Windows compiler.
+Also, it follows the Unix filesystem and process model very closely
+(some will undoubtedly view this as an advantage).
+
+See @uref{http://sources.redhat.com/cygwin/} for more information on
+Cygwin.
+
+MinGW is a collection of header files and import libraries that allow
+one to use GCC under the Cygwin environment to compile and produce
+exactly the same native Win32 programs that you can using Visual C++.
+Programs compiled with MinGW make use of the standard Microsoft runtime
+library @file{MSVCRT.DLL}, present on all Windows systems, and look,
+feel, and act like a standard Visual-C-produced application. (The only
+difference is the compiler.) This means that, unlike a
+standardly-compiled Cygwin application, no extra runtime support
+(e.g. Cygwin's @file{cygwin1.dll}) is required.  This, along with the
+fact that GCC is free (and works in a nice Unix-y way in a nice Unix-y
+environment, for those die-hard Unix hackers out there), is the main
+advantage of MinGW.  It is also potentially faster than Cygwin because
+it has less overhead when calling Windows, but you lose the POSIX
+emulation layer, which makes Unix programs harder to port. (But this is
+irrelevant for XEmacs since it's already ported to Win32.)
+
+See @uref{http://www.mingw.org/} for more information on MinGW.
+
+@node Q6.0.7, Q6.1.1, Q6.0.6, MS Windows
+@unnumberedsubsec Q6.0.7: What exactly are all the different ways to build XEmacs under Windows?
+
+XEmacs can be built in several ways in the MS Windows environment.
+
+The standard way is what we call the "native" port.  It uses the Win32
+API and has no connection with X whatsoever -- it does not require X
+libraries to build, nor does it require an X server to run.  The native
+port is the most reliable version and provides the best graphical
+support.  Almost all development is geared towards this version, and
+there is little reason not to use it.
+
+The second way to build is the Cygwin port.  It takes advantage of
+Cygnus emulation library under Win32.  @xref{Q6.0.6}, for more
+information.
+
+A third way is the MinGW port.  It uses the Cygwin environment to build
+but does not require it at runtime.  @xref{Q6.0.6}, for more
+information.
+
+Finally, you might also be able to build the non-Cygwin, non-MinGW "X"
+port.  This was actually the first version of XEmacs that ran under MS
+Windows, and although the code is still in XEmacs, it's essentially
+orphaned and it's unlikely it will compile without a lot of work.  If
+you want an MS Windows versin of XEmacs that supports X, use the Cygwin
+version. (The X support there is actively maintained, so that Windows
+developers can test the X support in XEmacs.)
+
+
+@node Q6.1.1, Q6.1.2, Q6.0.7, MS Windows
+@unnumberedsec 6.1: Building XEmacs on MS Windows
+@unnumberedsubsec Q6.1.1: What compiler/libraries do I need to compile XEmacs?
+
+You need Visual C++ 4.2, 5.0, or 6.0 for the native version. (We have
+some beta testers currently trying to compile with VC.NET, aka version
+7.0, but we can't yet report complete success.) For the Cygwin and MinGW
+versions, you need the Cygwin environment, which comes with GCC, the
+compiler used for those versions.  @xref{Q6.0.6}, for more information
+on Cygwin and MinGW.
+
+@node Q6.1.2, Q6.1.3, Q6.1.1, MS Windows
+@unnumberedsubsec Q6.1.2: How do I compile the native port?
+
+Please read the file @file{nt/README} in the XEmacs distribution, which
+contains the full description.
+
+@node Q6.1.3, Q6.1.4, Q6.1.2, MS Windows
+@unnumberedsubsec Q6.1.3: What do I need for Cygwin?
+
+You can find the Cygwin tools and compiler at:
+
+@uref{http://sources.redhat.com/cygwin/}
+
+Click on the @samp{Install now!} link, which will download a file
+@file{setup.exe}, which you can use to download everything else. (You
+will need to pick a mirror site; @samp{mirrors.rcn.net} is probably the
+best.) You should go ahead and install everything -- you'll get various
+ancillary libraries that XEmacs needs or likes, e.g. XPM, PNG, JPEG,
+TIFF, etc.
+
+If you want to compile under X, you will also need the X libraries; see
+@ref{Q6.1.6}.
+
+If you want to compile without X, you will need the @file{xpm-nox}
+library, which must be specifically selected in the Cygwin netinstaller;
+it is not selected by default.  The package has had various names.
+Currently it is called @file{cygXpm-noX4.dll}.
+
+
+@node Q6.1.4, Q6.1.5, Q6.1.3, MS Windows
+@unnumberedsubsec Q6.1.4: How do I compile under Cygwin?
+
+Similar as on Unix; use the usual `configure' and `make' process.
+Some problems to watch out for:
+
+@itemize @bullet
+@item
+make sure HOME is set. This controls where you
+@file{init.el}/@file{.emacs} file comes from;
+
+@item
+CYGWIN needs to be set to tty for process support to work, e.g. CYGWIN=tty;
+
+@item
+picking up some other grep or other UNIX-like tools can kill configure;
+
+@item
+static heap too small, adjust @file{src/sheap-adjust.h} to a more positive
+number;
+
+@item
+(Unconfirmed) The Cygwin version doesn't understand
+@file{//machine/path} type paths so you will need to manually mount a
+directory of this form under a unix style directory for a build to work
+on the directory;
+
+@item
+If you're building @strong{WITHOUT} X11, don't forget to change symlinks
+@file{/usr/lib/libXpm.a} and @file{/usr/lib/libXpm.dll.a} to point to
+the non-X versions of these libraries.  By default they point to the X
+versions.  So:
+
+@example
+/usr/lib/libXpm.a     -> /usr/lib/libXpm-noX.a
+/usr/lib/libXpm.dll.a -> /usr/lib/libXpm-noX.dll.a
+@end example
+
+(This advice may now be obsolete because of the availability of the
+cygXpm-noX4.dll package from Cygwin.  Send confirmation to
+@email{faq@@xemacs.org}.)
+
+@item
+Other problems are listed in the @file{PROBLEMS} file, in the top-level
+directory of the XEmacs sources.
+
+@end itemize
+
+
+@node Q6.1.5, Q6.1.6, Q6.1.4, MS Windows
+@unnumberedsubsec Q6.1.5: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
+
+Similar to the method for Unix.  Things to remember:
+
+@itemize @bullet
+@item
+Specify the target host on the command line for @file{./configure}, e.g.
+@samp{./configure i586-pc-mingw32}.
+
+@item
+Be sure that your build directory is mounted such that it has the
+same path either as a cygwin path (@file{/build/xemacs}) or as a Windows
+path (@file{c:\build\xemacs}).
+
+@item
+Build @samp{gcc -mno-cygwin} versions of the extra libs, i.e. @file{libpng},
+@file{compface}, etc.
+
+@item
+Specify the target location of the extra libs on the command line
+to @file{configure}, e.g.
+@samp{./configure --site-prefixes=/build/libs i586-pc-mingw32}.
+@end itemize
+
+
+@node Q6.1.6, Q6.1.7, Q6.1.5, MS Windows
+@unnumberedsubsec Q6.1.6: I decided to run with X.  Where do I get an X server?
+
+As of May 2001, we are recommending that you use the port of XFree86 to
+Cygwin.  This has recently stabilized, and will undoubtedly soon make
+most other MS Windows X servers obsolete.  It is what the Windows
+developers use to test the MS Windows X support.
+
+To install, go to @uref{http://xfree86.cygwin.com/}.  There is a
+detailed description on that site of exactly how to install it.  This
+installation also provides the libraries, include files, and other stuff
+needed for development; a large collection of internationalized fonts;
+the standard X utilities (xterm, twm, etc.) -- in a word, the works.
+
+NOTE: As of late May 2001, there is a bug in the file
+@file{startxwin.bat}, used to start X Windows.  It passes the option
+@samp{-engine -4} to the X server, which is bogus -- you need to edit
+the file and change it to @samp{-engine 4}.
+
+
+@node Q6.1.7, Q6.2.1, Q6.1.6, MS Windows
+@unnumberedsubsec Q6.1.7: How do I compile with X support?
+
+To compile under Cygwin, all you need to do is install XFree86
+(@pxref{Q6.1.6}).  Once installed, @file{configure} should automatically
+find the X libraries and compile with X support.
+
+As noted above, the non-Cygwin X support is basically orphaned, and
+probably won't work.  But if it want to try, it's described in
+@file{nt/README} in some detail.  Basically, you need to get X11
+libraries from ftp.x.org, and compile them.  If the precompiled versions
+are available somewhere, we don't know of it.
+
+
+@node Q6.2.1, Q6.2.2, Q6.1.7, MS Windows
+@unnumberedsec 6.2: Customization and User Interface
+@unnumberedsubsec Q6.2.1: How does the port cope with differences in the Windows user interface?
+
+The XEmacs (and Emacs in general) user interface is pretty different
+from what is expected of a typical MS Windows program.  How does the MS
+Windows port cope with it?
+
+As a general rule, we follow native MS Windows conventions as much as
+possible.  21.4 is a fairly complete Windows application, supporting
+native printing, system file dialog boxes, tool tips, etc.  In cases
+where there's a clear UI conflict, we currently use normal Unix XEmacs
+behavior by default, but make sure the MS Windows "look and feel" (mark
+via shift-arrow, self-inserting deletes region, Alt selects menu items,
+etc.) is easily configurable (respectively: using the variable
+@code{shifted-motion-keys-select-region} in 21.4 and above [it's in fact
+the default in these versions], or the @file{pc-select} package; using
+the @file{pending-del} package; and setting the variable
+@code{menu-accelerator-enabled} to @code{menu-force} in 21.4 and above).
+In fact, if you use the sample @file{init.el} file as your init file,
+you will get all these behaviors automatically turned on.
+
+In future versions, some of these features might be turned on by
+default in the MS Windows environment.
+
+
+@node Q6.2.2, Q6.2.3, Q6.2.1, MS Windows
+@unnumberedsubsec Q6.2.2: How do I change fonts in XEmacs on MS Windows?
+
+In 21.4 and above, you can use the "Options" menu to change the font.
+You can also do it in your init file, e.g. like this:
+
+@display
+    (set-face-font 'default "Lucida Console:Regular:10")
+    (set-face-font 'modeline "MS Sans Serif:Regular:10")
+@end display
+
+
+@node Q6.2.3, Q6.2.4, Q6.2.2, MS Windows
+@unnumberedsubsec Q6.2.3: Where do I put my @file{init.el}/@file{.emacs} file?
+
+@file{init.el} is the name of the init file starting with 21.4, and is
+located in the subdirectory @file{.xemacs/} of your home directory.  In
+prior versions, the init file is called @file{.emacs} and is located in
+your home directory.  Your home directory under Windows is determined by
+the @samp{HOME} environment variable.  If this is not set, it defaults to
+@samp{C:\}.
+
+To set this variable, modify @file{AUTOEXEC.BAT} under Windows 95/98, or
+select @samp{Control Panel->System->Advanced->Environment Variables...}
+under Windows NT/2000.
+
+
+@node Q6.2.4, Q6.2.5, Q6.2.3, MS Windows
+@unnumberedsubsec Q6.2.4: How do I get Windows Explorer to associate a file type with XEmacs?
+
+@unnumberedsubsubsec Associating a new file type with XEmacs.
+
+In Explorer select @samp{View/Options/File Types}, press @samp{[New
+Type...]} and fill in the dialog box, e.g.:
+
+@example
+        Description of type:    Emacs Lisp source
+        Associated extension:   el
+        Content Type (MIME):    text/plain
+@end example
+
+then press @samp{[New...]} and fill in the @samp{Action} dialog box as
+follows:
+
+@example
+        Action:
+        Open
+
+        Application used to perform action:
+        D:\Full\path\for\xemacs.exe "%1"
+
+        [x] Use DDE
+
+        DDE Message:
+        open("%1")
+
+        Application:
+        <leave blank>
+
+        DDE Application Not Running:
+        <leave blank>
+
+        Topic:
+        <leave blank>
+@end example
+
+@unnumberedsubsubsec Associating an existing file type with XEmacs.
+
+In Explorer select @samp{View/Options/File Types}.  Click on the file
+type in the list and press @samp{[Edit...]}.  If the file type already
+has an @samp{Open} action, double click on it and fill in the
+@samp{Action} dialog box as described above; otherwise create a new
+action.
+
+If the file type has more than one action listed, you probably want to
+make the @samp{Open} action that you just edited the default by clicking on
+it and pressing @samp{Set Default}.
+
+Note for Windows 2000 users: Under Windows 2000, get to @samp{File Types}
+using @samp{Control Panel->Folder Options->File Types}.
 
-@node Q6.0.2, Q6.0.3, Q6.0.1, Current Events
-@unnumberedsubsec Q6.0.2: What is new in 20.3?
+
+@node Q6.2.5, Q6.3.1, Q6.2.4, MS Windows
+@unnumberedsubsec Q6.2.5: Is it possible to print from XEmacs?
+
+As of 21.4, printing works on Windows, using simply @samp{File->Print},
+and can be configured with @samp{File->Page Setup}.
+
+Prior to 21.4, there is no built-in support, but there are some clever
+hacks out there.  If you know how, please let us know and we'll put it
+here.
+
+
+@node Q6.3.1, Q6.3.2, Q6.2.5, MS Windows
+@unnumberedsec 6.3: Miscellaneous
+@unnumberedsubsec Q6.3.1: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
+
+In his flavor of Emacs 20, Richard Stallman has renamed all the @samp{win32-*}
+symbols to @samp{w32-*}.  Does XEmacs do the same?
+
+We consider such a move counter-productive, thus we do not use the
+@samp{w32} prefix. (His rather questionable justification was that he
+did not consider Windows to be a "winning" platform.) However, the name
+@samp{Win32} is not particularly descriptive outside the Windows world,
+and using just @samp{windows-} would be too generic.  So we chose a
+compromise, the prefix @samp{mswindows-} for Windows-related variables
+and functions.
+
+Thus all the XEmacs variables and functions directly related to either
+the Windows GUI or OS are prefixed @samp{mswindows-} (except for a
+couple of debugging variables, prefixed @samp{debug-mswindows-}).  From
+an architectural perspective, however, we believe that this is mostly a
+non-issue because there should be a very small number of
+window-systems-specific variables anyway.  Whenever possible, we try to
+provide generic interfaces that apply to all window systems.
+
+@c not true:
+@c The user variables
+@c that share functionality with existing NT Emacs variables are be named
+@c with our convention, but we provide the GNU Emacs names as
+@c compatibility aliases.
+
+
+@node Q6.3.2, Q6.3.3, Q6.3.1, MS Windows
+@unnumberedsubsec Q6.3.2: What are the differences between the various MS Windows emacsen?
+
+XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
+Could you briefly explain the differences between them?
+
+Here is a recount of various Emacs versions running on MS Windows:
+
+@itemize @bullet
+
+@item
+XEmacs
+
+@itemize @minus
+
+@item
+Beginning with XEmacs 19.12, XEmacs' architecture was redesigned
+in such a way to allow clean support of multiple window systems.  At
+this time the TTY support was added, making X and TTY the first two
+"window systems" supported by XEmacs.  The 19.12 design is the basis for
+the current native MS Windows code.
+
+@item
+Some time during 1997, David Hobley (soon joined by Marc Paquette)
+imported some of the NT-specific portions of GNU Emacs, making XEmacs
+with X support compile under Windows NT, and creating the "X" port.
+
+@item
+Several months later, Jonathan Harris sent out initial patches to use
+the Win32 API, thus creating the native port.  Since then, various
+people have contributed, including Kirill M. Katsnelson (contributed
+support for menubars, subprocesses and network, as well as loads of
+other code), Andy Piper (ported XEmacs to Cygwin environment,
+contributed Windows unexec, Windows-specific glyphs and toolbars code,
+and more), Ben Wing (loads of improvements; primary MS Windows developer
+since 2000), Jeff Sparkes (contributed scrollbars support) and many
+others.
+@end itemize
+
+@item
+NT Emacs
+
+@itemize @minus
+
+@item
+NT Emacs is a version of GNU Emacs modified to compile and run under MS
+Windows 95 and NT using the native Win32 API.  As such, it is close in
+spirit to the XEmacs "native" port.
+
+@item
+NT Emacs has been written by Geoff Voelker, and more information can be
+found at
+@iftex
+@*
+@end iftex
+@uref{http://www.gnu.org/software/emacs/windows/ntemacs.html}.
+@end itemize
+
+@item
+Win-Emacs
+
+@itemize @minus
+
+@item
+Win-Emacs was a port of Lucid Emacs 19.6 to MS Windows using X
+compatibility libraries.  Win-Emacs was written by Ben Wing.  The MS
+Windows code never made it back to Lucid Emacs, and its creator (Pearl
+Software) has long since gone out of business.
+@end itemize
+
+@item
+GNU Emacs for DOS
+
+@itemize @minus
+
+@item
+GNU Emacs features support for MS-DOS and DJGPP (D.J. Delorie's DOS
+port of GCC).  Such an Emacs is heavily underfeatured, because it does
+not support long file names, lacks proper subprocesses support, and
+is far too big compared with typical DOS editors.
+@end itemize
+
+@item
+GNU Emacs compiled with Win32
+
+@itemize @minus
+
+@item
+Starting with version 19.30, it has been possible to compile GNU Emacs
+under MS Windows using the DJGPP compiler and X libraries.  The result
+is very similar to GNU Emacs compiled under MS DOS, only it works
+somewhat better because it runs in 32-bit mode, makes use of all the
+system memory, supports long file names, etc.
+@end itemize
+
+@end itemize
+
+
+@node Q6.3.3, Q6.3.4, Q6.3.2, MS Windows
+@unnumberedsubsec Q6.3.3: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup.  Has that been fixed?
+
+Yes.
+
+The console was there because @file{temacs} (and in turn, @file{xemacs})
+was a console application, and Windows typically creates a new
+console for a console process unless the creating process requests that
+one isn't created.  This used to be fixed with @file{runemacs}, a small
+Windows application that existed merely to start @file{xemacs}, stating
+that it didn't want a console.
+
+XEmacs 21.4 fixes this cleanly by the virtue of being a true "GUI"
+application.  The explanation of what that means is included for
+educational value.
+
+When building an application to be run in a Win32 environment, you must
+state which sub-system it is to run in.  Valid subsystems include
+"console" and "gui".  The subsystem you use affects the run time
+libraries linked into your application, the start up function that is
+run before control is handed over to your application, the entry point
+to your program, and how Windows normally invokes your program. (Console
+programs automatically get a console created for them at startup if
+their stdin/stdout don't point anywhere useful, which is the case when
+run from the GUI.  This is a stupid design, of course -- instead, the
+console should get created only when the first I/O actually occurs!
+GUI programs have an equally stupid design: When called from
+@file{CMD.EXE}/@file{COMMAND.COM}, their stdin/stdout will be set to
+point nowhere useful, even though the command shell has its own
+stdin/stdout.  It's as if someone who had learned a bit about stdio but
+had no actual knowledge of interprocess communication designed the
+scheme; unfortunately, the whole process-communication aspect of the
+Win32 API is equally badly designed.) For example, the entry point for a
+console app is "main" (which is what you'd expect for a C/C++ program),
+but the entry point for a "gui" app is "WinMain".  This confuses and
+annoys a lot of programmers who've grown up on Unix systems, where the
+kernel doesn't really care whether your application is a gui program or
+not.
+
+For reasons not altogether clear, and are lost in the mists of time and
+tradition, XEmacs on Win32 started out as a console application, and
+therefore a console was automatically created for it. (It may have been
+made a console application partly because a console is needed in some
+circumstances, especially under Win95, to interrupt, terminate, or send
+signals to a child process, and because of the bogosity mentioned above
+with GUI programs and the standard command shell.  Currently, XEmacs
+just creates and immediately hides a console when necessary, and
+works around the "no useful stdio" problem by creating its own console
+window as necessary to display messages in.)
+
+
+@node Q6.3.4, Q6.4.1, Q6.3.3, MS Windows
+@unnumberedsubsec Q6.3.4: What is the porting team doing at the moment?
+
+(as of June 2001)
+
+The porting team is continuing work on the MS Windows-specific code.
+Major projects are the development of Mule (internationalization)
+support for Windows and the improvement of the widget support (better
+support for dialog boxes, buttons, edit fields, and similar UI
+elements).
+
+
+
+@node Q6.4.1, Q6.4.2, Q6.3.4, MS Windows
+@unnumberedsec 6.3: Troubleshooting
+@unnumberedsubsec Q6.4.1 XEmacs won't start on Windows.
+
+XEmacs relies on a process called "dumping" to generate a working
+executable. Under MS-Windows this process effectively fixes the memory
+addresses of information in the executable. When XEmacs starts up it tries
+to reserve these memory addresses so that the dumping process can be
+reversed -- putting the information back at the correct addresses.
+Unfortunately some .DLLs (for instance the soundblaster driver) occupy
+memory addresses that can conflict with those needed by the dumped XEmacs
+executable. In this instance XEmacs will fail to start without any
+explanation. Note that this is extremely machine specific.
+
+21.1.10 includes a fix for this that makes more intelligent guesses
+about which memory addresses will be free, and this should cure the
+problem for most people.  21.4 implements "portable dumping", which
+eliminates the problem altogether.  We recommend you use the 21.4
+binaries, but you can use the 21.1 binaries if you are very paranoid
+about stability.  @xref{Q6.0.3}.
+
+@node Q6.4.2, Q6.4.3, Q6.4.1, MS Windows
+@unnumberedsubsec Q6.4.2 Why do I get a blank toolbar on Windows 95?
+
+You need at least version 4.71 of the system file @file{comctl32.dll}.
+The updated version is supplied with Internet Explorer 4 and later but if
+you are avoiding IE you can also download it from the Microsoft web
+site.  Go into support and search for @file{comctl32.dll}.  The download
+is a self-installing executable.
+
+@node Q6.4.3, , Q6.4.2, MS Windows
+@unnumberedsubsec Q6.4.3 XEmacs complains "No such file or directory, diff"
+
+or "ispell" or other commands that seem related to whatever you just
+tried to do (M-x ediff or M-$, for example).
+
+There are a large number of common (in the sense that "everyone has
+these, they really do") Unix utilities that are not provided with
+XEmacs.  The GNU Project's implementations are available for Windows in
+the the Cygwin distribution (@uref{http://www.cygwin.com/}), which also
+provides a complete Unix emulation environment (and thus makes ports of
+Unix utilities nearly trivial).  Another implementation is that from
+MinGW (@uref{http://www.mingw.org/msys.shtml}).  If you know of others,
+please let us know!
+
+
+
+@node Current Events, Legacy Versions, MS Windows, Top
+@unnumbered 7 What the Future Holds
+
+This is part 7 of the XEmacs Frequently Asked Questions list.  This
+section will change frequently, and (in theory) should contain any
+interesting items that have transpired recently. (But in practice it's
+not getting updated like this.)
+
+This section also contains descriptions of the new features in all the
+recent releases of XEmacs.  For the most part, the information below is
+a synopsis of the more complete information that can be found in the
+file @file{NEWS} in the @file{etc} directory of the XEmacs distribution.
+You can view this file in XEmacs using @kbd{C-h n} or the @samp{Help}
+menu.
+
+Information on older versions of XEmacs can be find in @file{ONEWS} in
+the same directory, or @file{OONEWS} for really old versions.
+
+
+@menu
+* Q7.0.1::      What new features will be in XEmacs soon?
+* Q7.0.2::      What's new in XEmacs 21.4?
+* Q7.0.3::      What's new in XEmacs 21.1?
+* Q7.0.4::      What's new in XEmacs 20.4?
+* Q7.0.5::      What's new in XEmacs 20.3?
+* Q7.0.6::      What's new in XEmacs 20.2?
+@end menu
+
+@node Q7.0.1, Q7.0.2, Current Events, Current Events
+@unnumberedsec 7.0: Changes
+@unnumberedsubsec Q7.0.1: What new features will be in XEmacs soon?
+
+Not yet written.
+
+@node Q7.0.2, Q7.0.3, Q7.0.1, Current Events
+@unnumberedsubsec Q7.0.2: What's new in XEmacs 21.4?
+
+21.4 was the "stable" version of the 21.2 series, which was considered
+"experimental" throughout its life; thus there were no "official"
+releases at all.  In essence, XEmacs is now following the "alternating"
+scheme of Linux, where at any point there are at least two different
+development branches, one "stable" and one "experimental".  Periodic
+releases happen in both branches, but those in the experimental branch
+are not tested as well, and there's no guarantee they will work at all.
+The experiemental branch is open to any and all code that's acceptable
+to the developers; the stable branch, however, is in general limited
+only to bug fixes, and all contributions are carefully reviewed to make
+sure they will increase and not decrease stability.
+
+21.3 never existed at all; it was decided to follow the Linux scheme
+exactly, where odd-numbered series are experimental and even-numbered
+ones stable.
+
+The following lists summarizes the essential changes made in this
+version.  For a fuller list, see the @file{NEWS} in the @file{etc}
+directory of the XEmacs distribution, or use @kbd{C-h n} or the
+@samp{Help} menu to view this file inside of XEmacs.
+
+@unnumberedsubsubsec User-visible changes in XEmacs 21.4
+
+@itemize @bullet
+
+@item
+The delete key now deletes forward by default.
+@item
+Shifted motion keys now select text by default.
+@item
+You can now build XEmacs with support for GTK+ widget set.
+@item
+~/.xemacs/init.el is now the preferred location for the init
+file. (XEmacs now supports a `~/.xemacs/init.el' startup file. Custom
+file will move to ~/.xemacs/custom.el.)
+@item
+Much-improved sample init.el, showing how to use many useful features.
+@item
+XEmacs support for menu accelerators has been much improved.
+@item
+Default menubar improvements. (Default menubar has many new commands and
+better organization.  The font-menu is now available under MS Windows.)
+@item
+Dialog box improvements, including a real file dialog box. (XEmacs now has a proper file dialog box under MS Windows (and GTK)!  The old clunky file dialog box is improved.  Keyboard traversal now works correctly in MS Windows dialog boxes.  There is a Search dialog box available from Edit->Find...)
+@item
+New buffer tabs.
+@item
+There is a new MS Windows installer, netinstall, ported from Cygwin.
+@item
+The subprocess quote-handling mechanism under Windows is much improved.
+@item
+Printing support now available under MS Windows.
+@item
+Selection improvements. (Kill and yank now interact with the clipboard under Windows.  MS Windows support for selection is now much more robust.  Motif selection support is now more correct (but slower).)
+@item
+Mail spool locking now works correctly.
+@item
+International support changes. (The default coding-priority-list is now
+safer.  International keysyms are now supported under X.  MS Windows
+1251 code page now supported.  Czech, Thai, Cyrillic-KOI8, Vietnamese,
+Ethiopic now supported.  Proper support for words in Latin 3 and Latin
+4.)
+@item
+Help buffers contain hyperlinks, and other changes.
+@item
+The modeline's text is now scrollable.
+@item
+The mouse wheel under MS Windows now functions correctly.
+@item
+Interactive searching and matching case improvements. (Incremental search will now highlight all visible matches.  Interactive searches always respect uppercase characters.)
+@item
+Rectangle functions rewritten to avoid inserting extra spaces.
+@item
+New command `kill-entire-line' that always kills the entire line.
+@item
+Default values correctly stored in minibuffer histories.
+@item
+You can now create "indirect buffers", like in GNU Emacs.
+@item
+Pixel-based scrolling has been implemented.
+@item
+Operation progress can be displayed using graphical widgets.
+@item
+User names following a tilde can now be completed at file name prompts.
+@item
+XEmacs can now play sound using Enlightenment Sound Daemon (ESD).
+@item
+X-Face support is now available under MS Windows.
+@item
+The PostgreSQL Relational Database Management System is now supported.
+@item
+Indentation no longer indents comments that begin at column zero.
+@item
+Face and variable settings can have comments in Customize.
+@item
+New locations for early package hierarchies.
+@item
+The `auto-save' library has been greatly improved.
+@item
+New variable `mswindows-alt-by-itself-activates-menu'.
+@item
+Other init-file-related changes. (Init file in your home directory may be called `.emacs.el'.  New command-line switches -user-init-file and -user-init-directory.)
+@item
+Etags changes.  See @file{NEWS} for full details.
+@end itemize
+
+@unnumberedsubsubsec Lisp and internal changes in XEmacs 21.4
+
+Not yet written.
+
+@c APA: Texi2html produces invalid HTML from an empty list of bullets!
+@c Please uncomment following list when it does contain bullets.
+@c @itemize @bullet
+@c @end itemize
+
+@node Q7.0.3, Q7.0.4, Q7.0.2, Current Events
+@unnumberedsubsec Q7.0.3: What's new in XEmacs 21.1?
+
+21.1 was the "stable" version of "experimental" 21.0 series.
+@xref{Q7.0.2}.
+
+The following lists summarizes the essential changes made in this
+version.  For a fuller list, see the @file{NEWS} in the @file{etc}
+directory of the XEmacs distribution, or use @kbd{C-h n} or the
+@samp{Help} menu to view this file inside of XEmacs.
+
+@unnumberedsubsubsec User-visible changes in XEmacs 21.1
+
+@itemize @bullet
+
+@item
+XEmacs is now supported under Microsoft Windows 95/98 and Windows NT
+operating systems.  To discuss Windows-specific issues, subscribe to the
+mailing list at @email{xemacs-nt-request@@xemacs.org}.
+
+@item
+XEmacs has been unbundled into constituent installable packages.
+
+@item
+@strong{Other notable changes}: The @samp{Options} menu has been ported to
+Custom; XEmacs now is able to choose X visuals and use private
+colormaps; You can drag the vertical divider of "horizontally"
+(side-by-side) split windows.
+
+@item
+@strong{Building changes}: XEmacs can be built with support for 31-bit Lisp
+integers and 32-bit pointers (previously, it was 28-bit integers and
+pointers); XEmacs can be built with LDAP support; @file{dir} files can be
+removed in the Info subsystem, and will be regenerated on-the-fly.
+
+@item
+@strong{New packages}: @file{imenu}, @file{popper}, @file{gdb-highlight}
+
+@item
+@strong{Package changes}: Many changes to @file{cc-mode}, @file{gnus},
+@file{gnuclient}.  See @file{NEWS} for full details.
+
+@item
+@strong{New commands, variables and functions}:
+@code{center-to-window-line} (like @code{recenter} but doesn't force a
+redisplay); variable @code{user-full-name} (customize what your full
+name looks like in mail); @kbd{M-x customize-changed-options} (customize
+options whose default values changes because you upgraded your XEmacs);
+@kbd{M-x add-log-convert} (converts an old-style ChangeLog buffer to
+new-style); @kbd{M-x zap-up-to-char} (like @code{zap-to-char} but
+doesn't delete the char searched for); commands to store, retrieve and
+increment numbers in registers, useful for macros.
+
+@item
+@strong{Changes to commands, variables, and functions}: @kbd{M-x
+query-replace} and friends operate only on the region when it's active;
+@code{echo-keystrokes} can now be a floating-point number; @kbd{M-.}
+searches exact tag matches before inexact ones; function
+@code{user-full-name} with no arguments returns the var
+@code{user-full-name}; a prefix arg to @kbd{M-:} and @kbd{C-h c} inserts
+the result in the current buffer.
+
+@item
+@strong{Other changes}: Under X, new application class @samp{XEmacs};
+byte-compilation of user-specs now works.
+
+@item
+@strong{XEmacs/Mule (internationalization) changes}: Mule support now
+works on TTY's; Egg/SJ3 input method now officially supported (Quail and
+Egg/Skk already available through LEIM since 20.3); localized Japanese
+menubars if XEmacs is built with the right support.
+
+@end itemize
+
+@unnumberedsubsubsec Lisp and internal changes in XEmacs 21.1
+
+@itemize @bullet
+
+@item
+@strong{Specifier changes}: The window locale now has a higher
+precedence than the buffer locale when instantiating; new macro
+@code{let-specifier}; new specifiers
+@code{vertical-scrollbar-visible-p}, horizontal-scrollbar-visible-p',
+@code{scrollbar-on-left-p}, @code{scrollbar-on-top-p},
+@code{vertical-divider-always-visible-p},
+@code{vertical-divider-shadow-thickness},
+@code{vertical-divider-line-width}, @code{vertical-divider-spacing};
+specifiers and symbols whose value is a specifier allowed as modeline
+specifications.
+
+@item
+@strong{Frame focus changes}: @code{focus-follows-mouse} works like FSF,
+prevents any attempt to permanently change the selected frame; new
+function @code{focus-frame} sets the window system focus a frame; new
+special forms @code{save-selected-frame} and @code{with-selected-frame}.
+
+@item
+@strong{Window function changes}: @code{select-window} now has optional
+argument @var{NORECORD} to inhibit recording a buffer change;
+@code{vertical-motion} now correctly handles optional @var{WINDOW}
+argument and has new optional argument @var{PIXELS}, to have the
+returned values be in pixels; new function
+@code{vertical-motion-pixels}; new functions
+@code{window-text-area-pixel-@{width,height,edges@}}; new functions
+@code{shrink-window-pixels} and @code{enlarge-window-pixels}; new
+function @code{window-displayed-text-pixel-height}.
+
+@item
+@strong{Other function changes}: Arithmetic comparison functions
+@code{<}, @code{>}, @code{=}, @code{/=} now accept a variable number of
+arguments; hashtables now have a consistent read/print syntax; keyword
+symbols cannot be set to a value other than themselves; @code{concat} no
+longer accepts integer arguments; new function @code{string}, like
+@code{list}, @code{vector}, etc.; new function @code{temp-directory}
+(OS-independent way to get a temp directory); @code{load-average} has
+optional argument @var{USE-FLOATS}; @code{make-event} implemented
+completely; new function @code{function-interactive} (returns a
+function's interactive spec); new functions @code{lmessage},
+@code{lwarn} (printf-like versions of @code{display-wessage},
+@code{display-warning}); new keyword @code{:version} to
+@code{defcustom}.
+
+@item
+@strong{Performance}: when the new GNU Malloc aka Doug Lea Malloc is
+available, it will be used (better performance on libc6 Linux systems);
+tracking line-numbers in modeline is now efficient; profiling records a
+call-count of all called functions, retrievable through
+@code{profile-call-count-results}.
+
+@item
+@strong{Startup and path searching}: code to assemble paths at startup
+rewritten for new package system; new function @code{split-path} (splits
+by @code{path-separator}); @code{Info-default-directory-list} obsolete,
+use @code{Info-directory-list} instead; site-lisp is deprecated and no
+longer on the load-path by default.
+
+@end itemize
+
+@node Q7.0.4, Q7.0.5, Q7.0.3, Current Events
+@unnumberedsubsec Q7.0.4: What's new in XEmacs 20.4?
+
+XEmacs 20.4 is a bugfix release with no user-visible changes.
+@c Filled in from NEWS file of 20.5-b33
+
+@node Q7.0.5, Q7.0.6, Q7.0.4, Current Events
+@unnumberedsubsec Q7.0.5: What's new in XEmacs 20.3?
 
 XEmacs 20.3 was released in November 1997. It contains many bugfixes,
 and a number of new features, including Autoconf 2 based configuration,
@@ -6181,52 +7233,83 @@ increased MIME support, and many, many synches with GNU Emacs 20.
 The XEmacs/Mule support has been only seriously tested in a Japanese
 locale, and no doubt many problems still remain.  The support for
 ISO-Latin-1 and Japanese is fairly strong.  MULE support comes at a
-price -- about a 30% slowdown from 19.16.  We're making progress on
+price---about a 30% slowdown from 19.16.  We're making progress on
 improving performance and XEmacs 20.3 compiled without Mule (which is
 the default) is definitely faster than XEmacs 19.16.
 
 XEmacs 20.3 is the first non-beta v20 release, and will be the
 basis for all further development.
 
-@node Q6.0.3, Q6.0.4, Q6.0.2, Current Events
-@unnumberedsubsec Q6.0.3: What's new in XEmacs 20.4?
+@node Q7.0.6, , Q7.0.5, Current Events
+@unnumberedsubsec Q7.0.6: What's new in XEmacs 20.2?
 
-XEmacs 20.4 is a bugfix release with no user-visible changes.
-@c Filled in from NEWS file of 20.5-b33
+The biggest changes in 20.2 include integration of EFS (the next
+generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
+major mode for editing Tex and LaTeX, and a lot of other stuff).  Many
+bugs from 20.0 have been fixed for this release.  20.2 also contains a
+new system for customizing XEmacs options, invoked via @kbd{M-x
+customize}.
 
+XEmacs 20.2 is the development release (20.0 was beta), and is no longer
+considered unstable.
 
-@node Q6.0.4,  , Q6.0.3, Current Events
-@unnumberedsubsec Q6.0.4: Procedural changes in XEmacs development.
+For older news, see the file @file{ONEWS} in the @file{etc} directory of
+the XEmacs distribution.
 
-@enumerate
-@item
-Discussion about the development of XEmacs occurs on the xemacs-beta
-mailing list.  Subscriptions to this list will now be fully automated
-instead of being handled by hand.  Send a mail message to
-@email{xemacs-beta-request@@xemacs.org} with @samp{subscribe} as the
-BODY of the message to join the list.  Please note this is a developers
-mailing list for people who have an active interest in the development
-process.
 
-The discussion of NT XEmacs development is taking place on a separate
-mailing list.  Send mail to
-@iftex
-@*
-@end iftex
-@email{xemacs-nt-request@@xemacs.org} to
-subscribe.
 
-@item
-Due to the long development cycle in between releases, it has been
-decided that intermediate versions will be made available in source only
-form for the truly interested.
+@node Legacy Versions, , Current Events, Top
+@unnumbered 8 New information about old XEmacsen
 
-XEmacs 19.16 was the last 19 release, basically consisting of 19.15 plus
-the collected bugfixes.
+This is part 8 of the XEmacs Frequently Asked Questions list.  It will
+occasionally be updated to reflect new information about versions which
+are no longer being revised by the XEmacs Project.  The primary purpose
+is advice on compatibility of older XEmacsen with new packages and
+updated versions of packages, but bug fixes (which will not be applied
+to released XEmacsen, but users can apply themselves) are also accepted.
+
+
+@menu
+* Q8.0.1::      Gnus 5.10 won't display smileys in XEmacs 21.1.
+@end menu
+
+@node Q8.0.1, , , Legacy Versions
+@unnumberedsubsec Q8.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
+
+@email{eeide@@cs.utah.edu, Eric Eide} wrote:
+
+@quotation
+Previously I wrote:
+
+    Eric> Summary: with Gnus 5.10.1 in XEmacs 21.1.14, I don't see
+    Eric> any smileys :-(.
+
+After a bit of sleuthing, I discovered the essence of the problem.
+For me, the form:
+
+@lisp
+       (with-temp-buffer
+         (insert-file-contents "foo.xpm")
+         (buffer-string))
+@end lisp
+
+returns the empty string.  This is because something somewhere
+replaces the XPM data with a glyph --- I haven't figured out where
+this occurs.
+@end quotation
+
+@email{kyle_jones@@wonderworks.com, Kyle Jones} replies:
+
+@quotation
+Do this:
+
+@lisp
+    (setq format-alist nil)
+@end lisp
+
+The image-mode stuff is gone from format-alist in the 21.4
+branch, praise be.
+@end quotation
 
-@item
-As of December 1996, @email{steve@@altair.xemacs.org, Steve Baur} has become
-the lead maintainer of XEmacs.
-@end enumerate
 
 @bye