This is ../info/xemacs-faq.info, produced by makeinfo version 4.8 from
xemacs-faq.texi.

INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* FAQ: (xemacs-faq).            XEmacs FAQ.
END-INFO-DIR-ENTRY


File: xemacs-faq.info,  Node: Q7.2.1,  Next: Q7.2.2,  Prev: Q7.1.11,  Up: Advanced

Q7.2.1: What are bignums, ratios, and bigfloats in Lisp?
--------------------------------------------------------

Thanks to Jerry James <james@xemacs.org>, XEmacs 21.5.18 and later can
use the capabilities of multiple-precision libraries that may be
available for your platform.  The GNU Multiple Precision (GMP) and BSD
Multiple Precision (MP) libraries are partially supported.  GMP gives
you "bignums" (arbitrary precision integers), "ratios" (arbitrary
precision fractions), and "bigfloats" (arbitrary precision floating
point numbers).  GNU MP is better-supported by XEmacs at the time of
writing (2004-04-06).  BSD MP support does not include ratios or
bigfloats, and it throws errors that aren't understood.

   In most cases, bignum support should be transparent to users and Lisp
programmers.  A bignum-enabled XEmacs will automatically convert from
fixnums to bignums and back in pure integer arithmetic, and for GNU MP,
from floats to bigfloats.  (Bigfloats must be explicitly coerced to
other types, even if they are exactly representable by less precise
types.)  The Lisp reader and printer have been enhanced to handle
bignums, as have the mathematical functions.  Rationals (fixnums,
bignums, and ratios) are printed using the `%d', `%o', `%x', and `%u'
format conversions.  The read syntax for ratios is `3/5'.

   User-visible changes in behavior include (in probable order of
annoyance)

   * Arithmetic can cause a segfault, depending on your MP library
     *Note XEmacs segfaults when I use very big numbers!: Q7.2.2.

   * Terminology is not Common-Lisp-conforming.  For example, "integer"
     for Emacs Lisp means what Common Lisp calls "fixnum".  This issue
     is being investigated, but the use of "integer" for fixnum is
     pervasive and may cause backward-compatibility and
     GNU-Emacs-compatibility problems.

   * Many operations that used to cause a range error now succeed, with
     intermediate results and return values coerced to bignums as
     needed.

   * An atom with ratio read syntax now returns a number, not a symbol.

   * The `%u' format conversion will now give an error if its argument
     is negative.  (Without MP, it prints a number which Lisp can't
     read.)

   _Surgeon General's Warning_: The automatic conversions cannot be
disabled at runtime.  New functions have been added which produce
ratios, so there should be few surprises with type conflicts, but they
can't be ruled out.  "Arbitrary" precision means precisely what it
says.  If you work with extremely large numbers, your machine may
arbitrarily decide to hand you an unpleasant surprise rather than a
bignum *Note XEmacs segfaults when I use very big numbers!: Q7.2.2.

   To configure with GNU MP, add `--use-number-lib=gmp'
(`--enable-bignum=gmp' in 21.5 or later) to your invocation of
`configure'.  For BSD MP, use `--use-number-lib=mp'
(`--enable-bignum=mp' for 21.5).

   If you would like to help with bignum support, especially on BSD MP,
please subscribe to the XEmacs Beta mailing list
(http://www.xemacs.org/Lists/#xemacs-beta), and book up on
`number-gmp.h' and `number-mp.h'.  Jerry has promised to write
internals documentation eventually, but if your skills run more to
analysis and documentation than to writing new code, feel free to fill
in the gap!


File: xemacs-faq.info,  Node: Q7.2.2,  Next: Q7.2.3,  Prev: Q7.2.1,  Up: Advanced

Q7.2.2: XEmacs segfaults when I use very big numbers!
-----------------------------------------------------

GMP by default allocates temporaries on the stack.  If you run out of
stack space, you're dead; there is no way that we know of to reliably
detect this condition, because `alloca' is typically implemented to be
_fast_ rather than robust.  If you just need a little more oomph, use a
bigger stack (_e.g._, the `ulimit -s' command in bash(1)).  If you want
robustness at the cost of speed, configure GMP with `--disable-alloca'
and rebuild the GMP library.

   We do not know whether BSD MP uses `alloca' or not.  Please send any
information you have as a bug report (`M-x report-xemacs-bug <RET>'),
which will give us platform information.  (We do know that BSD MP
implementations vary across vendors, but how much, we do not know yet.)


File: xemacs-faq.info,  Node: Q7.2.3,  Next: Q7.2.4,  Prev: Q7.2.2,  Up: Advanced

Q7.2.3: Bignums are really slow!
--------------------------------

Many Linux distributions compile all their packages for the i386, and
this is costly.  An optimized version can give you two or three orders
of magnitude better performance for a Pentium III or IV.  (Yes, really.
See `http://www.swox.com/gmp/gmp-speed.html'.)


File: xemacs-faq.info,  Node: Q7.2.4,  Prev: Q7.2.3,  Up: Advanced

Q7.2.4: Equal bignums don't compare as equal!  What gives?
----------------------------------------------------------

Ah, Grasshopper, I see you are using `(eq x y)'.  The Bodhisattva CLTL2
warned of the illusion that equal numbers would be `eq'!  Meditate on
the deeper truths of `eql', in which numbers of the same type which
have equal values compare equal, and `=', which does any necessary type
coercions before comparing for equality.

   Yeah, yeah, it has always worked for integer types, because fixnums
and characters have an immediate representation.  Sorry about that;
arbitrary precision obviously requires consing new objects because the
objects are "large" and of variable size, and the definition of `eq'
does not permit different objects to compare as equal.


File: xemacs-faq.info,  Node: Other Packages,  Next: Current Events,  Prev: Advanced,  Up: Top

8 Other External Packages
*************************

This is part 8 of the XEmacs Frequently Asked Questions list.  This
section is devoted to miscellaneous external packages not covered
elsewhere in XEmacs.

* Menu:

8.0: TeX
* Q8.0.1::    Is there something better than LaTeX mode?
* Q8.0.2::    What is AUCTeX?  Where do you get it?
* Q8.0.3::    Problems installing AUCTeX.
* Q8.0.4::    How do I turn off current chapter from AUCTeX modeline?

8.1: Other Unbundled Packages
* Q8.1.1::    Is there a reason for an Emacs package not to be included in XEmacs?
* Q8.1.2::    Are there any Emacs Lisp Spreadsheets?
* Q8.1.3::    Is there a MatLab mode?

8.2: Environments Built Around XEmacs
* Q8.2.1::    What are SPARCworks, EOS, and WorkShop?
* Q8.2.2::    How do I start the Sun Workshop support in XEmacs 21?
* Q8.2.3::    What is/was Energize?
* Q8.2.4::    What is Infodock?

8.0: TeX
========


File: xemacs-faq.info,  Node: Q8.0.1,  Next: Q8.0.2,  Prev: Other Packages,  Up: Other Packages

Q8.0.1: Is there something better than LaTeX mode?
--------------------------------------------------

David Kastrup <dak@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes:

     The standard TeX modes leave much to be desired, and are somewhat
     leniently maintained.  Serious TeX users use AUCTeX (*note What is
     AUCTeX? Where do you get it?: Q8.0.2.).


File: xemacs-faq.info,  Node: Q8.0.2,  Next: Q8.0.3,  Prev: Q8.0.1,  Up: Other Packages

Q8.0.2: What is AUCTeX?  Where do you get it?
---------------------------------------------

AUCTeX is a complex and sophisticated editing package dedicated to TeX
and related text formatting languages, including LaTeX and Texinfo.  It
provides support for running TeX on a file or part of a file, include
files, and of course shortcuts for entering common TeX macros, LaTeX
environments, etc, and for fontlock.

   AUCTeX is a standard package provided by XEmacs.  You can get it as
usual through the `M-x list-packages' interface.  It is also included
in the (non-Mule) SUMO package.  The AUCTeX XEmacs package is
maintained by Uwe Brauer <GET MAIL ADDRESS>.

   AUCTeX is extremely complicated, and its developers primarily use
GNU Emacs.  Not all features of the bleeding edge version of AUCTeX are
immediately ported to XEmacs; if you need these, you may be better off
getting the most recent versions from the GNU AUCTeX project on
`http://savannah.gnu.org'.


File: xemacs-faq.info,  Node: Q8.0.3,  Next: Q8.0.4,  Prev: Q8.0.2,  Up: Other Packages

Q8.0.3: Problems installing AUCTeX.
-----------------------------------

Jan Vroonhof <vroonhof@math.ethz.ch> writes:

     AUCTeX works fine on both stock Emacs and XEmacs has been doing so
     for a very very long time. This is mostly due to the work of Per
     Abrahamsen <abraham@dina.kvl.dk> (clap clap) in particular his
     `easymenu' package.  Which leads to what is probably the problem...

   Most problems with AUCTeX are one of two things:

   * The TeX-lisp-directory in `tex-site.el' and the makefile don't
     match.

     Fix: make sure you configure AUCTeX properly *before* installing.

   * You have an old version of easymenu.el in your path.

     Fix: use `locate-library' and remove old versions to make sure it
     *only* finds the one that came with XEmacs.


File: xemacs-faq.info,  Node: Q8.0.4,  Next: Q8.1.1,  Prev: Q8.0.3,  Up: Other Packages

Q8.0.4: How do I turn off current chapter from AUCTeX modeline?
---------------------------------------------------------------

With AUCTeX, fast typing is hard because the current chapter, section
etc. are given in the modeline.  How can I turn this off?

   It's not AUCTeX, it comes from `func-menu' in `func-menu.el'.

   David Hughes <dhughes@origin-at.co.uk> writes:

     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 `Rescan Buffer' option in the function-menu.

          (setq-default fume-auto-rescan-buffer-p nil)

8.1: Other Unbundled Packages
=============================


File: xemacs-faq.info,  Node: Q8.1.1,  Next: Q8.1.2,  Prev: Q8.0.4,  Up: Other Packages

Q8.1.1: Is there a reason for an Emacs package not to be included in XEmacs?
----------------------------------------------------------------------------

The reason for an Emacs package not to be included in XEmacs is usually
one or more of the following:

  1. The package has not been ported to XEmacs.  This will typically
     happen when it uses GNU-Emacs-specific features, which make it
     fail under XEmacs.

     Porting a package to XEmacs can range from a trivial amount of
     change to a partial or full rewrite.  Fortunately, the authors of
     modern packages usually choose to support both Emacsen themselves.

  2. The package has been decided not to be appropriate for XEmacs.  It
     may have an equivalent or better replacement within XEmacs, in
     which case the developers may choose not to burden themselves with
     supporting an 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.

  3. The package simply hasn't been noted by the XEmacs development.  If
     that's the case, the messages like yours are very useful for
     attracting our attention.

  4. The package was noted by the developers, but they simply haven't
     yet gotten around to including/porting it.  Wait for the next
     release or, even better, offer your help.  It will be gladly
     accepted and appreciated.


File: xemacs-faq.info,  Node: Q8.1.2,  Next: Q8.1.3,  Prev: Q8.1.1,  Up: Other Packages

Q8.1.2: Are there any Emacs Lisp Spreadsheets?
----------------------------------------------

Yes.  Check out "dismal" (which stands for Dis' Mode Ain't Lotus) at
`http://acs.ist.psu.edu/dismal/dismal.html'.


File: xemacs-faq.info,  Node: Q8.1.3,  Next: Q8.2.1,  Prev: Q8.1.2,  Up: Other Packages

Q8.1.3: Is there a MatLab mode?
-------------------------------

Yes, a matlab mode and other items are available at the
`http://www.mathworks.com/matlabcentral/files/104/matlab.el'.

8.2: Environments Built Around XEmacs
=====================================


File: xemacs-faq.info,  Node: Q8.2.1,  Next: Q8.2.2,  Prev: Q8.1.3,  Up: Other Packages

Q8.2.1: What are SPARCworks, EOS, and WorkShop?
-----------------------------------------------

SPARCworks was a development environment from Sun (circa 1993-1996) and
consisted of compilers (C, C++, FORTRAN 77, Fortran 90, Ada, and
Pascal), a debugger, and other tools such as TeamWare (for
configuration management), MakeTool, etc.

   EOS is the integration of XEmacs with the SPARCworks debugger.  It
allows one to use an XEmacs frame to view code (complete with
fontification, etc.), set breakpoints, print variables, etc., while
using the SPARCworks debugger.

   EOS stands for "Era on SPARCworks"; Era stood for "Emacs Rewritten
Again" and was the name used by Sun for its modified version of Lucid
Emacs (later XEmacs) in the early-mid 90's.  This is documented in more
detail in the history section of the XEmacs About page.

   EOS was replaced around 1996 with a newer graphical development
environment called Sun WorkShop.  The current status of this is unknown.


File: xemacs-faq.info,  Node: Q8.2.2,  Next: Q8.2.3,  Prev: Q8.2.1,  Up: Other Packages

Q8.2.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):

     (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))

   If you are not using the latest Workshop (5.0) you have to apply the
following patch:

-- /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))


File: xemacs-faq.info,  Node: Q8.2.3,  Next: Q8.2.4,  Prev: Q8.2.2,  Up: Other Packages

Q8.2.3: What is/was Energize?
-----------------------------

The "Energize Programming System" was a C and C++ development
environment sold by Lucid, Inc.  It was the reason why Lucid Emacs, now
XEmacs, was created in the first place.  Unfortunately, Lucid went out
of business in 1994.  The rights to sell it in Japan were purchased by
INS Engineering (which briefly employed Stig Hackvan aka Jonathan
Stigelman to work on Japanese support for XEmacs, in late 1994 and
early 1995) and Tartan bought the rights to sell it in the rest of the
world.  However, INS is not selling Energize at this point and may or
may not have ever done so; Tartan certainly never did.


File: xemacs-faq.info,  Node: Q8.2.4,  Prev: Q8.2.3,  Up: Other Packages

Q8.2.4: What is Infodock?
-------------------------

InfoDock (http://sourceforge.net/projects/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 menu-based user interface.  The bottom portion of this
text describes how it differs from XEmacs and GNU Emacs from the Free
Software Foundation.

   InfoDock is aimed at people who want a free, turn-key productivity
environment.  Although InfoDock is customizable, it is not intended for
people who like basic versions of Emacs which need to be customized
extensively for local use; standard Emacs distributions are better for
such uses.  InfoDock is for those people who want a complete,
pre-customized environment in one package, which they need not touch
more than once or twice a year to update to new revisions.

   InfoDock is pre-built for SPARC SunOS/Solaris systems, PA-RISC HP-UX,
and Intel Linux systems.  It is intended for use on a color display,
although most features will work on monochrome monitors.  Simply unpack
InfoDock according to the instructions in the ID-INSTALL file and you
are ready to run.

   The InfoDock Manual is concise, yet sufficient as a user guide for
users who have never used an Emacs-type editor before.  For users who
are already familiar with Emacs, it supplements the information in the
GNU Emacs Manual.

   InfoDock menus are much more extensive and more mature than standard
Emacs menus.  Each menu offers a `Manual' item which displays
documentation associated with the menu's functions.

Four types of menubars are provided:
  1. An extensive menubar providing access to global InfoDock commands.

  2. Mode-specific menubars tailored to the current major mode.

  3. A simple menubar for basic editing to help novices get started
     with InfoDock.

  4. The standard XEmacs menubar.

   Most modes also include mode-specific popup menus.  Additionally,
region and rectangle popup menus are included.

   `Hyperbole', the everyday information manager, is a core part of
InfoDock.  This provides context-sensitive mouse keys, a rolodex-type
contact manager, programmable hypertext buttons, and an autonumbered
outliner with embedded hyperlink anchors.

   The `OO-Browser', a multi-language object-oriented code browser, is a
standard part of InfoDock.

   InfoDock saves a more extensive set of user options than other Emacs
versions.

   InfoDock inserts a useful file header in many file types, showing the
author, summary, and last modification time of each file.  A summary
program can then be used to summarize all of the files in a directory,
for easy MANIFEST file creation.

   Your working set of buffers is automatically saved and restored (if
you answer yes to a prompt) between InfoDock sessions.

   Refined color choices for code highlighting are provided for both
dark and light background display frames.

   The `C-z' key prefix performs frame-based commands which parallel the
`C-x' key prefix for window-based commands.

   The Smart Menu system is included for producing command menus on dumb
terminals.

   Lisp libraries are better categorized according to function.

   Extensions and improvements to many areas of Emacs are included,
such as: paragraph filling, mail reading with Rmail, shell handling,
outlining, code highlighting and browsing, and man page browsing.

   InfoDock questions, answers and discussion should go to the mail list
<infodock@infodock.com>.  Use <infodock-request@infodock.com> to be
added or removed from the list.  Always include your InfoDock version
number when sending help requests.


File: xemacs-faq.info,  Node: Current Events,  Next: Legacy Versions,  Prev: Other Packages,  Up: Top

9 What the Future Holds
***********************

This is part 9 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 `NEWS' in the `etc' directory of the XEmacs distribution.
You can view this file in XEmacs using `C-h n' or the `Help' menu.

   Information on older versions of XEmacs can be find in `ONEWS' in
the same directory, or `OONEWS' for really old versions.

* Menu:

9.0: Changes
* Q9.0.1::    What new features will be in XEmacs soon?
* Q9.0.2::    What's new in XEmacs 21.4?
* Q9.0.3::    What's new in XEmacs 21.1?
* Q9.0.4::    What's new in XEmacs 20.4?
* Q9.0.5::    What's new in XEmacs 20.3?
* Q9.0.6::    What's new in XEmacs 20.2?

9.0: Changes
============


File: xemacs-faq.info,  Node: Q9.0.1,  Next: Q9.0.2,  Prev: Current Events,  Up: Current Events

Q9.0.1: What new features will be in XEmacs soon?
-------------------------------------------------

#### Write me.


File: xemacs-faq.info,  Node: Q9.0.2,  Next: Q9.0.3,  Prev: Q9.0.1,  Up: Current Events

Q9.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 `NEWS' in the `etc' directory of
the XEmacs distribution, or use `C-h n' or the `Help' menu to view this
file inside of XEmacs.

User-visible changes in XEmacs 21.4
...................................

   * The delete key now deletes forward by default.

   * Shifted motion keys now select text by default.

   * You can now build XEmacs with support for GTK+ widget set.

   * ~/.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.)

   * Much-improved sample init.el, showing how to use many useful
     features.

   * XEmacs support for menu accelerators has been much improved.

   * Default menubar improvements. (Default menubar has many new
     commands and better organization.  The font-menu is now available
     under MS Windows.)

   * 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...')

   * New buffer tabs.

   * There is a new MS Windows installer, netinstall, ported from
     Cygwin.

   * The subprocess quote-handling mechanism under Windows is much
     improved.

   * Printing support now available under MS Windows.

   * 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).)

   * Mail spool locking now works correctly.

   * 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.)

   * Help buffers contain hyperlinks, and other changes.

   * The modeline's text is now scrollable.

   * The mouse wheel under MS Windows now functions correctly.

   * Interactive searching and matching case improvements. (Incremental
     search will now highlight all visible matches.  Interactive
     searches always respect uppercase characters.)

   * Rectangle functions rewritten to avoid inserting extra spaces.

   * New command `kill-entire-line' that always kills the entire line.

   * Default values correctly stored in minibuffer histories.

   * You can now create "indirect buffers", like in GNU Emacs.

   * Pixel-based scrolling has been implemented.

   * Operation progress can be displayed using graphical widgets.

   * User names following a tilde can now be completed at file name
     prompts.

   * XEmacs can now play sound using Enlightenment Sound Daemon (ESD).

   * X-Face support is now available under MS Windows.

   * The PostgreSQL Relational Database Management System is now
     supported.

   * Indentation no longer indents comments that begin at column zero.

   * Face and variable settings can have comments in Customize.

   * New locations for early package hierarchies.

   * The `auto-save' library has been greatly improved.

   * New variable `mswindows-alt-by-itself-activates-menu'.

   * 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.)

   * Etags changes.  See `NEWS' for full details.

Lisp and internal changes in XEmacs 21.4
........................................

Not yet written.


File: xemacs-faq.info,  Node: Q9.0.3,  Next: Q9.0.4,  Prev: Q9.0.2,  Up: Current Events

Q9.0.3: What's new in XEmacs 21.1?
----------------------------------

21.1 was the "stable" version of "experimental" 21.0 series.  *Note
What's new in XEmacs 21.4?: Q9.0.2.

   The following lists summarizes the essential changes made in this
version.  For a fuller list, see the `NEWS' in the `etc' directory of
the XEmacs distribution, or use `C-h n' or the `Help' menu to view this
file inside of XEmacs.

User-visible changes in XEmacs 21.1
...................................

   * XEmacs is now supported under Microsoft Windows 95/98 and Windows
     NT/2000/XP operating systems.  To discuss Windows-specific issues,
     subscribe to the mailing list at <xemacs-winnt-request@xemacs.org>.

   * XEmacs has been unbundled into constituent installable packages.

   * *Other notable changes*: The `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.

   * *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;
     `dir' files can be removed in the Info subsystem, and will be
     regenerated on-the-fly.

   * *New packages*: `imenu', `popper', `gdb-highlight'

   * *Package changes*: Many changes to `cc-mode', `gnus', `gnuclient'.
     See `NEWS' for full details.

   * *New commands, variables and functions*: `center-to-window-line'
     (like `recenter' but doesn't force a redisplay); variable
     `user-full-name' (customize what your full name looks like in
     mail); `M-x customize-changed-options' (customize options whose
     default values changes because you upgraded your XEmacs); `M-x
     add-log-convert' (converts an old-style ChangeLog buffer to
     new-style); `M-x zap-up-to-char' (like `zap-to-char' but doesn't
     delete the char searched for); commands to store, retrieve and
     increment numbers in registers, useful for macros.

   * *Changes to commands, variables, and functions*: `M-x
     query-replace' and friends operate only on the region when it's
     active; `echo-keystrokes' can now be a floating-point number; `M-.'
     searches exact tag matches before inexact ones; function
     `user-full-name' with no arguments returns the var
     `user-full-name'; a prefix arg to `M-:' and `C-h c' inserts the
     result in the current buffer.

   * *Other changes*: Under X, new application class `XEmacs';
     byte-compilation of user-specs now works.

   * *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.


Lisp and internal changes in XEmacs 21.1
........................................

   * *Specifier changes*: The window locale now has a higher precedence
     than the buffer locale when instantiating; new macro
     `let-specifier'; new specifiers `vertical-scrollbar-visible-p',
     horizontal-scrollbar-visible-p', `scrollbar-on-left-p',
     `scrollbar-on-top-p', `vertical-divider-always-visible-p',
     `vertical-divider-shadow-thickness',
     `vertical-divider-line-width', `vertical-divider-spacing';
     specifiers and symbols whose value is a specifier allowed as
     modeline specifications.

   * *Frame focus changes*: `focus-follows-mouse' works like FSF,
     prevents any attempt to permanently change the selected frame; new
     function `focus-frame' sets the window system focus a frame; new
     special forms `save-selected-frame' and `with-selected-frame'.

   * *Window function changes*: `select-window' now has optional
     argument NORECORD to inhibit recording a buffer change;
     `vertical-motion' now correctly handles optional WINDOW argument
     and has new optional argument PIXELS, to have the returned values
     be in pixels; new function `vertical-motion-pixels'; new functions
     `window-text-area-pixel-{width,height,edges}'; new functions
     `shrink-window-pixels' and `enlarge-window-pixels'; new function
     `window-displayed-text-pixel-height'.

   * *Other function changes*: Arithmetic comparison functions `<',
     `>', `=', `/=' 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; `concat' no
     longer accepts integer arguments; new function `string', like
     `list', `vector', etc.; new function `temp-directory'
     (OS-independent way to get a temp directory); `load-average' has
     optional argument USE-FLOATS; `make-event' implemented completely;
     new function `function-interactive' (returns a function's
     interactive spec); new functions `lmessage', `lwarn' (printf-like
     versions of `display-wessage', `display-warning'); new keyword
     `:version' to `defcustom'.

   * *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 `profile-call-count-results'.

   * *Startup and path searching*: code to assemble paths at startup
     rewritten for new package system; new function `split-path' (splits
     by `path-separator'); `Info-default-directory-list' obsolete, use
     `Info-directory-list' instead; site-lisp is deprecated and no
     longer on the load-path by default.



File: xemacs-faq.info,  Node: Q9.0.4,  Next: Q9.0.5,  Prev: Q9.0.3,  Up: Current Events

Q9.0.4: What's new in XEmacs 20.4?
----------------------------------

XEmacs 20.4 is a bugfix release with no user-visible changes.


File: xemacs-faq.info,  Node: Q9.0.5,  Next: Q9.0.6,  Prev: Q9.0.4,  Up: Current Events

Q9.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,
additional support for Mule (Multi-language extensions to Emacs), many
more customizations, multiple frames on TTY-s, support for multiple info
directories, an enhanced gnuclient, improvements to regexp matching,
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
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.


File: xemacs-faq.info,  Node: Q9.0.6,  Prev: Q9.0.5,  Up: Current Events

Q9.0.6: What's new in XEmacs 20.2?
----------------------------------

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 `M-x customize'.

   XEmacs 20.2 is the development release (20.0 was beta), and is no
longer considered unstable.

   For older news, see the file `ONEWS' in the `etc' directory of the
XEmacs distribution.


File: xemacs-faq.info,  Node: Legacy Versions,  Prev: Current Events,  Up: Top

10 New information about old XEmacsen
*************************************

This is part 10 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:

10.0: XEmacs 21.1
* Q10.0.1::   Gnus 5.10 won't display smileys in XEmacs 21.1.
* Q10.0.2::   XEmacs won't start on Windows in XEmacs 21.1.

10.0: XEmacs 21.1
=================


File: xemacs-faq.info,  Node: Q10.0.1,  Next: Q10.0.2,  Prev: Legacy Versions,  Up: Legacy Versions

Q10.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
--------------------------------------------------------

Eric Eide <eeide@cs.utah.edu> wrote:

     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:

              	(with-temp-buffer
              	  (insert-file-contents "foo.xpm")
              	  (buffer-string))

     returns the empty string.  This is because something somewhere
     replaces the XPM data with a glyph -- I haven't figured out where
     this occurs.

   Kyle Jones <kyle_jones@wonderworks.com> replies:

     Do this:

              (setq format-alist nil)

     The image-mode stuff is gone from format-alist in the 21.4 branch,
     praise be.


File: xemacs-faq.info,  Node: Q10.0.2,  Prev: Q10.0.1,  Up: Legacy Versions

Q10.0.2: XEmacs won't start on Windows in XEmacs 21.1.
------------------------------------------------------

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.  *Note Are binaries available?: Q1.1.2.


