view CHANGES-beta @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents 0b7f3b634cf2
children b9518feda344
line wrap: on
line source

							-*- indented-text -*-
to 20.0 beta30

-- Syntax entry specification "e" has been removed.
-- updated xemacs.1 man page for new argument list handling.
-- updated internals document to reflect new DEFUN macro.

-- (load-average) works on Solaris. Thanks to Hrvoje Niksic.

-- Command line processing now order independent
-- Command line like:  xemacs file -eval '(munge-file)'
   now works.
-- Now uses XmIm* functions for XIM input when available
-- Major cleanup of configure.in - preparation for Autoconf 2 upgrade.
-- `man' directory reorganized.
-- The `dvi' and `info' targets now work in the man directory.
-- texinfo 3.7 no longer comes with XEmacs.  User must supply own
   makeinfo or TeX to rebuild info files or to print hardcopy.
-- execvp has been encapsulated.  The command line of executed
   commands now is converted using pathname-coding-system before the
   command is run.
-- Use flag -fno-gnu-linker if using gcc with dynodump (i.e. on
   solaris)
-- m4-mode 1.8
-- etags.c 11.78
-- ilisp 5.8
-- cperl-mode 1.28
-- cc-mode 4.322
-- elp 2.37
-- python-mode 2.83
-- load-warn-when-source-newer now defaults to t
-- purespace messages from loadup.el now much more reasonable.
-- Changed lispref documentation to refer to frame properties, not parameters.
-- Synched up files.el: file-relative-name (Steven Baur's patch)
-- Fix: shell history works if commands contain non-ASCII characters.
-- Fix: shell commands can contain non-ASCII characters.
-- Fix: dired on Non-ASCII filename now works
-- Fix: repeat-complex-command fails when repeating M-x emacs-version
-- tm 7.94 integrated - default in XEmacs/Mule
   - Japanese newsgroups now readable without .emacs modifications.
-- Johan Vroman's iso-acc.el ported to XEmacs by Alexandre Oliva
-- Made startup option processing more sensible 
   - Eliminate most order dependencies
   - more compatible with FSF
   - Some additional flags (-V equivalent to -version, -flags == -help)
-- Michael Sperber's psgml-html patch
-- Makefile rule to create TAGS file now properly creates tags for
   DEFVAR_* macros.
-- DEFUN macro has major facelift:
   - No need to specify both Ffoo and Sfoo
   - Arglist is more Lispy - no more K&R style function definitions.
   - DOC file creation modified to deal with new style DEFUN.
-- X selection code Re-Mule-ized - Should interoperate with other X clients.
-- beginnings of TM integration
-- When regexp is [^CHARACTERS] and first character of string is
   non-ASCII character, XEmacs crashes.  Fixed for real this time?
-- fixed redundant, buggy calls to (message (format ...))
   In particular (occur "%") now works.
-- support for creating .i files (useful for debugging) in src/
-- make src/Makefile.in.in makefile-mode-friendly
-- define and use macros XSTRING_LENGTH, XSTRING_DATA, with obvious
   meanings.
-- eliminate calls to x_smash_bastardly_shell_position.  The Xt shell
   widget core fields are no longer overwritten with values that Xt
   would not have put there itself.
-- support for CDE drag and drop of data, not just files.
-- XIM patch from Jareth Hein (but XIM still doesn't work for him)
-- COMPREHENSIBLE puresize information when --with-debug specified
-- if get_eof_char is called without a pty, should not call tcgetattr()
-- Fix crash if delete-frame-hook selects the about-to-be-deleted
   frame, by calling delete-frame-hook at the beginning of
   delete-frame code.
-- Fix run-time warnings detected by Sun WorkShop dbx rtc tool.
-- possible fix for assertion failure in open-network-stream
-- server-make-window-visible more portable
-- locate-library now accpts both symbols and strings.
-- buffer names in the buffer menus are no longer translated - they
   are put into the `suffix' part of the label.

to 20.0 beta29

-- fast-lock.el 3.10.01
-- ksh-mode.el 2.9
-- mode-motion+.el 3.16
-- psgml-1a12
-- executable.el, imenu.el, sh-script.el and uniquify.el now included
-- rfc1521 patches to VM from Jamie
-- OffiX support added
-- lots of 19.34 syncing, most by Steven Baur
-- NetBSD on sparc platform fixes
-- additional featurep checks on 'scrollbar and 'menubar
-- configure changes to allow sunos4shr args to be picked up correctly

to 20.0 beta28

-- gnus 5.2.40
-- etc 0.22
-- w3 3.0.12
-- reporter 3.3
-- psgml 1a11
-- cc-mode 4.315
-- hm--html-menus 5.0
-- other assorted fixes and changes
-- python-mode 2.73
-- minor corrections to sample.emacs
-- added localization hook for lisp/locale/LANG/locale-start.el
-- face-complain-about-font now offers an Action Plan after whining.
-- Editing of filenames encoded in pathname-coding-system now works.
-- Characters in current locale displayed properly in frame title and
   icon name.
-- Characters in current locale displayed properly in menubar.
-- Resize frame, then (set-frame-properties (selected-frame) '(left 100))
   would always move to (x=100, y=0)
-- {de,en}code-coding-string rewritten - should work now.
-- delete-frame-hook docstring warns not to select frame-to-be-deleted
-- When regexp is [^CHARASTERS] and first character of string is
   non-ASCII character, XEmacs crashes.  
   Oops ix! Fix undone. Problem still there.
-- (XIM) ^G and friends no longer self-inserting
-- (Mule) byte-compilation problems fixed
-- describe-last-error fixed
-- frame 'minibuffer property correctly computed.
-- implementation of (set-charset-registry)
-- (charset-dimension) now works
-- Setting language environment to japanese does
   (set-charset-registry 'ascii "JISX0201")
-- Fixed encode-coding-string, decode-coding-string
-- face-complain-about-font now gives more useful warning.


to 20.0 beta27

-- gnus 5.2.39
-- etc 0.20
-- w3 3.0.11
-- url 1.0.41
-- canna.el patch
-- chinese font patch
-- stringp nil error when starting sparcworks
-- call7 and call8 had incorrect array sizes
-- makefile mode Error in `pre-idle-hook' (setting hook to nil):
   (void-function makefile-space-face)
-- Crashes when built on X11R5 and run on X11R6 fixed
-- Lisp backtrace is now printed on all crashes, not just debug build
-- XIM input now generates true events.  As a result it works with isearch.
-- 20.0/Mule can now byte-compile its own elisp files.
-- LOTS of typos fixed.
-- 20.0/Mule - Language Environment menu no longer shrinks to one element.
-- 20.0/Mule - no more Vietnamese language build-time warnings.
-- sunpro-init no longer opens /net/bin with possible hang at startup.
-- switch-to-buffer-other-window reverted to old-style behaviour
-- python-mode 2.72
-- auto-mode-alist regexps reorganized for efficiency
-- interpreter-mode-alist regexps now look at entire first line.
-- new (interactive) spec `i' can be used to skip arguments.
-- dired works in Asian locales.
-- (Mule) write-region now works.

to 20.0 beta26

-- gnus 5.2.25
-- browse-url 0.38
-- viper 2.90
-- XEmacs web page entries on help menu now reference
   browse-url-browser-function
-- problem with using dired-mode-font-lock-keywords fixed
-- new variable `allow-deletion-of-last-visible-frame'
-- NEED_LIBW handled
-- glyphs-x.c should really build with older png libs now
-- balloon-help crash fixed
-- A patch for crash in multiple_change_finish_up which Lars hit.  I
   don't know if it is fully correct but it should be safe and prevent
   the crash.
-- some Unixware patches
-- some additional SCO patches
-- auto-show-mode is now off by default in edit-faces-mode
-- incorrect echoing when hitting 'f1 in tty mode fixed
-- png build problem fixed
-- terminal.el env requirement removed
-- gdbglobal doesn't turn on everywhere anymore
-- The bug where window-displayed-height didn't always return the
   correct value is fixed.  The same bug was responsible for
   shrink-window-if-larger-than-buffer sometimes failing to work
   correctly.
-- The force option to delete-frame is back.  You can no longer delete
   the last visible or iconic frame unless the second arg to
   delete-frame is non-nil.
-- Darrell Kindred's patch fro the ^@ problem
-- a number of random elisp changes from Jamie
-- --with-cde flag is back
-- revert-buffer no longer causes complete refontification in lazy-lock.
-- some more options on Options menu, for Printing.

to 20.0 beta25

-- w3 2.3.67
-- url 1.0.34
-- ediff 2.61
-- vm 5.96
-- viper 2.89
-- gnus 5.2.19
-- browse-url 0.36
-- corrected modeline overwriting being triggered by using ispell
-- fixed crash in tty-mode with edit-faces (again)
-- infinite loop when using surrogate minibuffer fixed
-- corrected handling of buffer arg to call-process
-- SCO 5 patches from J. Kean Johnston
-- patch from Bill Perry to eliminate using temporary files when
   handling PNG files
-- Sun-provided CDE-friendly icon now default XEmacs icon.
-- canna support integrated (Thanks to Moroika Tomohiko).
-- apropos.el sync'ed with FSF Emacs 19.31 - Fixes the
   `Nothing to follow here' problem.
-- set-process-filter no longer crashes if the process is dead.
-- x-compose.el now works again on Solaris.
-- New function x-keysym-on-keyboard-p helps determine keyboard
   characteristics for key rebinding:

  x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE)
    -- a built-in function.
  Return true if KEYSYM names a key on the keyboard of DEVICE.
  More precisely, return true if pressing a physical key
  on the keyboard of DEVICE without any modifier keys generates KEYSYM.
  Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in
  /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system.

-- Sun key rebinding changed yet again to use function-key-map.
   Type 4 keyboards have r35 mapped to `next'.
   Type 5 keyboards already have `next', so map r35 to `kp_next'.
-- (Mule) Some menubar items will be translated by default in a
   Japanese locale.
-- Sun key rebinding changed again to use function-key-map.
-- inheritance loops in face property specifications no longer cause
   XEmacs to crash.
-- minibuffer-setup-hook no longer clobbered by read-file-name.
-- extra icons in Info mode removed.
-- XEmacs info top level sub-headers synched up with lower-level headers.
-- gnuclient prompts you with a dialog box when asking questions.
-- the yes/no dialog box now has sane options: yes, no, yes all, no all,
   and cancel.
-- make-face-bold, make-face-italic, et al. do a better job than before --
   they know about inheritors like [bold] and [italic], and will use
   one if their normal X frobbing isn't successful.
-- better handling of bad menu filter functions.
-- buffers-menu improvements.
-- query-replace now disables case-folding if uppercase letters are
   in the search string, like isearch does. (To turn both of these off,
   set `search-caps-disable-folding' to non-nil.)
-- C-h ? ? works.
-- Chuck -- you need to re-byte-compile finder.el to fix C-h p under 20.0.
   It wouldn't hurt to recompile everything.
-- weird bug with markers and standard-output fixed.
-- save-options now saves to a file `.xemacs-options' instead of directly
   to .emacs.  .emacs is set to load .xemacs-options.  The file is
   loaded with `load-options-file', which will allow eventually for
   automatic updating of out-of-date options files.
-- Pretty-much everything in that spawn-of-hell file terminfo.c
   is commented out now for most systems, since we didn't actually
   need any of it!

to 20.0 beta24

-- gnus 5.2.12
-- filladapt 2.08
-- fixed padding problem in modeline
-- fixed geometry problem with Athena scrollbar; it no longer has any
   border and isn't going to at least for 19.14
-- bug where save-places didn't work correctly with a file given on
   the command line is fixed
-- The global ospeed is completely unused now if TERMIOS is defined.
   Before I actually remove the defines (which might fix those header
   conflicts) I want some confirmation that doing this doesn't cause
   problems in tty mode.  This change fixes a crash being seen when
   running with the -nw flag on Irix 5.3 (binary built with gcc).
-- minibuffer echoing now works properly with surrogate minibuffers
-- A number of crashes which were reported when trying to use
   surrogate minibuffers are fixed.
-- font-lock-add-colors now adds colors and only colors
-- --exec-prefix and the other path altering flags should work
   NOTE:  I have not fully tested it because I would have to do
   nothing other than run configure all day to do so.
-- It should now work to use XEmacs as a login shell; note that if you
   start to stray from a default installation setup this may still be
   broken.
-- possible fix for Vladimir's crash in Lstream_close().

to 20.0 beta23

-- gnus 5.2.10
-- w3 2.3.65
-- url 1.0.32
-- ispell.el 2.37
-- viper 2.88
-- fixed bug which was leaving modeline droppings next to the scrollbars
-- hack from Jamie to make gdb popup a dialog box to answer y/n
   questions when using the toolbar
-- patch from Bill Perry to eliminate using temporary files when
   handling JPEG's
-- patch from Bill Perry to support 'pointer extent property
-- corrected a bug where annotations in the left outside margin which
   were equal to the width of the margin would not be displayed
-- Sun keybindings done like in 19.13 - true X keysym always works.
-- ispell works - (accept-process-output) bug fixed.
-- M-x manual-entry works on SysV with RosettaMan installed.
-- process output no longer inserts gratuitious C-d's UNLESS line to
   be sent to process is longer than 256 characters.
   (This still needs to be fixed so that C-d's are only inserted if
   the tty is in canonical mode).
-- More type casting fixes to remove compiler warnings.
-- Random improvements to the Lisp Reference Manual.
-- XIM XCreateIC now always specifies a `Spot Location'.
-- If `sparcworks' is not on the PATH, but is in /opt/SUNWspro/bin,
   add /opt/SUNWspro/bin to exec-path, and run eos::start.

to 20.0 beta22

-- w3 2.3.63
-- url 1.0.31
-- fixed crash in gif_instantiate when starting w3 in tty mode
-- fixed crash caused by grayscale jpegs
-- patch from Steven Baur to the psgml dtd catalog
-- patches to improve Athena scrollbars
-- fixes to delbackspace.el
-- merged s&m/ files, config*, unex* (mostly), getloadavg.c up to FSF 19.31.
   This might fix Lynn's AIX problems.
-- better Java font-lock keywords (e.g. tries real hard to fontify
   method names in their definitions).
-- problems with compiling with --debug=no should be fixed.
-- edit-faces in TTY core dump fixed.

to 20.0 beta21

-- w3 2.3.61
-- url 1.0.29
-- oo-browser 2.9.12 (adds python support)
-- fixed problem with display of right side toolbar
-- removed fa-extras.el
-- AIX configure patchs
-- updated sysdep.el from Bill Perry
-- delbackspace.el now uses the new key-translation-map, so it's less
   kludgy.
-- vrml-mode.el gained some VRML 2.0 support.
-- fixed crash in x_output_string triggered by balloon help; this
   almost certainly was causing a number of other reported crashes
-- fix for "obfuscated and incorrect way of saying 'Solaris'"
-- abort() in execute_internal_event() should be fixed
-- gnuattach now opens a TTY on *scratch* if given no args.
-- gnuattach now passes in the TERM type of the TTY it's run on.
-- TTY routines in XEmacs now use filedescs directly instead of FILE *'s;
   should fix AIX gnuattach problem.
-- VM is smart about whether to install its toolbar on the selected frame
   or current buffer.
-- new function `set-device-class' (you can say that your TTY device
   is color even if it's not apparent from the TERM type)
-- selection/unselection of devices/consoles is "idempowered".
-- added option for sample.emacs to the Help menu.

to 20.0 beta20

-- w3 2.3.54
-- url 1.0.23
-- viper 2.87
-- ediff 2.60
-- more NEWS file updating
-- Gnus toolbar is back
-- browse-url functions now autoload
-- patch from Darrell Kindred to fix auto-show problem with
   (set-specifier left-margin-width 10)
-- patch from Darrell Kindred to fix isearch buglet
-- patch for bad paste of rectangular regions
-- fixed crash when starting w3 in TTY mode
-- memoize_extent_face_internal() crashes fixed.
-- paths.el recomputes salient paths at run-time.
-- new function `running-temacs-p'.
-- missing functions set-face-strikethru-p, face-strikethru-p added.
-- -*- Mode: foo -*- with capital "Mode" wasn't recognized but now is.
   (RMS lossage.)
-- Obsolete make-cursor added back.
-- sample.emacs updated to use new pointer stuff.
-- multi-device TTY after X, gnuattach should work properly.
-- gnuattach has manpage documentation.
-- XEmacs in TTY mode now correctly restores all terminal settings
   when exiting.

to 20.0 beta19

-- w3 2.3.52
-- url 1.0.21
-- func-menu 2.43
-- pcl-cvs autoloads corrected
-- --extra-verbose now implies --verbose as well
-- crash in x_get_gc when called from x_output_string should be fixed
-- The configure.in code to detect h_errno and sigsetjmp was broken,
   unless your compiler supports nested functions (as gcc does).
   AC_COMPILE_CHECK takes a FUNCTION BODY, not a FUNCITON, as one of
   the arguments.  I have some trepidation on making these changes as
   there are some comments in solaris header files about disabling
   sigsetjmp, but at least the configure test now works - and XEmacs
   still seems to, too.
-- Sun support in configure.in has been rewritten.  SunOS 4.1.1 through
   4.1.4 has been tested.  The configure code for suns has been greatly
   simplified.
-- Xmu detection should now work on SunOS4.

to 20.0 beta18

-- pcl-cvs 1.7 ; please test
-- w3 2.3.43
-- url 1.0.20
-- ediff 2.59 (again; this should have a higher rev)
-- follow 1.6
-- config.guess and config.sub updating; may cause some configuration
   problems
-- dynamic or lack thereof lazy-lock bug fixed
-- word-search-{forward,backward} crash fixed
-- easymenu.el patch from Per Abrahamsen
-- ClearCase VC support from Rod Whitby
-- lib-complete now dumped; improved find-library
-- make-x-device patch for TTY mode from Bill Perry
-- extent-faces-as-list lossage patch from Bill Perry
-- multiple definition cleanup
-- mailcrypt update for sgnus
-- new function isearch-toggle-case-fold
-- new function device-sound-enabled-p
-- background.el lossage fixed
-- find-dired lossage fixed
-- if XEmacs cannot deduce a bold-italic font from the default, try
   copying the bold face and doing make-face-italic - if that fails,
   try copying the italic face and doing make-face-bold.  With the
   XResources in the bug report, I get the correct fonts now - please
   try.
-- default-popup-menu now intelligently greys out its menu items
-- don't put up the load .emacs button in the menubar if the file
   doesn't exist
-- actually let the 'Frame-local font menu' work!  The call to
   (set-face-font 'default ...) was not specifying the frame as a
   locale, so all changes to that face were global.
-- more bugs fixed, including some for core dumps.  If there are any
   remaining core dumps in b18, please yell so that they get fixed.
-- `pointer' face works now.
-- `colorize-image-instance' changed incompatibly (previously it did
   bad things).  I don't think this matters because no one seems to
   use this function anyway.
-- browse-url 0.30 (includes Lynx support)
-- updated f90.el
-- cperl-mode (although not enabled by default)
-- skeleton.el
-- improved Linux native sound support
-- updated PROBLEMS (synched with 19.30)
-- CDE autodetected.
-- initial unification of browser-sending support.
-- fixes to focus handling -- should fix "delay noticing focus change after VM
   invoked"
-- uses ncurses if available -- better terminal support.
-- if you have color xterm and set your TERM to xterm-color,
   XEmacs will use color on TTY's (at least under Linux).
   Under linux, TERM=linux or TERM=ansi also has this effect.
   (In general, any terminal type that defines color capabilities
   in terminfo.)

to 20.0 beta17

-- w3 2.3.42
-- url 1.0.19
-- mh-e 5.0.2
-- XIM work from Martin
-- electric modes synched up with FSF 19.30(.97).
-- func-menu 2.41.
-- no cursor blink at eol fixed
-- lots more bugs fixed, see the Web page.
-- more TTY colors.
-- new last-win and next-win icons.
-- VRML mode (I wrote it).
-- SPC does its previous thingie in the minibuffer.
-- curmudgeon mode is removed.

to 20.0 beta16

-- w3 2.3.39
-- url 1.0.17
-- curmudgeon-mode: Just so all you curmudgeons will shut up.
   `enable-curmudgeon-mode' sets all the old minibuffer, etc. behavior
   that you're used to.  You can also give a particular category for
   curmudgeonization.
-- func-menu 2.38.
-- enriched.el, face-menu.el from Michael Sperber.
-- If you're in a help buffer, you can exit using q and the previous
   window config is restored.  Help buffers are now selected by default
   to make this easier (but you can get the old behavior using
   curmudgeon mode).
-- `eq' now works on face properties even if they're lists -- the
   lists are "memoized".
-- numerous bugs fixed -- see the Web page.

to 20.0 beta15

READ THIS FIRST:

-- emacs-version for 20.0 now reports 20.0, not 19.20.  This is gonna
   break some packages that do incorrect version tests.  Both 19.14
   and 20.0 now include the function `emacs-version>=' from emacs-vers.el,
   which is a correct version test function.  If you want to use this
   (highly recommended!), put code in your file like

   (or (fboundp 'emacs-version>=)
       [copy definition of emacs-version>= from version.el])
-- Byte code emitted by XEmacs 20.0 is NOT, repeat NOT, downward
   compatible.  Byte code compiled in any Emacs 19 is upwardly
   compatible to v20. (For the most part, that is ...) However,
   you can force v19 compatibility under XEmacs 20 by setting
   `byte-compile-emacs19-compatibility' to non-nil.
-- (This latter change is the result of a better solution to the
   "char-int confoundance syndrome" problem, although it was
   planned anyway.)

USER-VISIBLE CHANGES:

-- w3 2.3.36
-- url 1.0.16
-- viper 2.86
-- ediff 2.59
-- cc-mode 4.282
-- func-menu 2.37
-- mailcrypt 3.4 (2.x has been removed)
-- The appropriate function-key and arrow-key definitions should
   now be set up automatically in TTY mode, for a number of different
   terminal types.  Please review the terminals in lisp/term/ and
   see if there's anything wrong.  Also, feel free to supply new
   terminal definition files.
-- blink-cursor-mode.  This gets you the blinking cursor that lots
   of people have been wanting for awhile.  There is a menubar
   entry for this.
   NOTE: There is currently a redisplay bug whereby the cursor
   won't blink if it's at the end of the line.  Hopefully Chuck
   will fix this soon.
-- wing-psgml-mode: A "grand unified mode" for HTML.  I started out
   with PSGML, which is a way cool and powerful mode for editing SGML,
   but extremely un-user-friendly in its current form.  I combined it
   with some setup stuff from Alastair Burt and took some stuff
   (the template stuff) from the hm--html-menus package.
-- improved file-dialog-box; some help from Rich Williams here.
-- improved completion-list-mode. (This is the mode for the lists
   of completions.) Hit SPC in the minibuffer and you'll end up in
   the completion list buffer, and can move around and select things
   in a sensible fashion.  This should be a friendliness improvement
   for TTY mode and such.
-- improved edit-faces.  It uses the new list-mode also and has
   other new user-friendly features.
-- auto-show mode is now dumped and is enabled by default.  This
   will automatically scroll the window horizontally as necessary
   to keep point in view. (buff-menu is no longer dumped, so there's
   a net decrease in the puresize.)
-- There is a menubar entry for Bookmarks.
-- `show-message-log' and the associated menubar entry no longer exist.
   Instead, use `view-lossage' (C-h l).  There is now a menubar entry
   for this under Help.
-- etags is merged with FSF 19.30 (adding Perl support, among other
   things), and some Mly-induced breakage that resulted in pathologically
   long relative filenames in the TAGS file has been fixed.
-- tcl.el 1.50.
-- annoying VM auto-raise of frame is gone.
-- I fixed a number of bugs with this-command-keys and C-g.
   e.g. the C-x ? C-x C-h bug is finally gone.  If you see any more,
   please pipe up and I will try to fix them. (A lot of the event code
   is rotting, though, so not everything can be fixed ...) Also, if
   you notice any weird behavior, *please* speak up!

BUILD-LEVEL CHANGES:

-- When XEMACS_DEBUG is defined and XEmacs is dumping, the number of
   bytes of purespace used by each loaded file is displayed.
-- Linux no longer defines BROKEN_SIGIO.
-- Linux binutils-2.6.0.10 breakage is no longer.
-- fixes for building under SunOS.
-- configuring without database support now works.
-- you can fix up the autoloads using `make autoloads' in the top
   level directory.

LISP-LEVEL CHANGES:

-- Hyperbole is still broken, sigh.
-- function-key-map and key-translation-map are now properly implemented.
-- keyboard-translate-table now lets you translate keysyms, e.g. to
   fix the grievous damage Sun did to their X keyboards.  See the
   function `keyboard-translate'.
-- The function `window-height' has been changed to return a different
   value when a horizontal scrollbar is present.  The new definition
   makes window-height ``mathematically tractable'': Its value always
   reflects the window geometry, and will not change if you turn off
   or on the modeline or horizontal scrollbar.  Also, now, when there
   is only one window, frame-height always equals window-height.
-- The new function `window-displayed-height' returns the actual
   number of text lines currently visible (making proper allowances
   for blank space at the end of a buffer).  You should use this
   instead of the standard kludge `(1- (window-height))'.
-- Hash tables can now do their comparisons with `equal' instead of
   `eq'.  See `make-hashtable'.
-- The `face' property of extents and text properties can now be
   a list.
-- derived.el has been fixed up and is now dumped.
-- cl.el is now dumped.  This includes the most basic of the
   Common Lisp functionality; the rest is autoloaded. (And with
   the lazy byte-code loading, it will come in only as needed.)
   Accordingly, I removed the (usually less powerful) XEmacs versions
   of `intersection', `union', etc., `delete-if', `delete-if-not',
   `push', `pop', `c[ad][ad][ad]?[ad]?r', etc.  This should clear
   up any remaining problems with ediff and such.  Note that the
   increase in purespace from doing this is actually quite small --
   about 15K.
-- At least one function (`display-completion-list') has been rewritten
   to take Common Lisp key-style arguments.  This provides a sensible
   alternative to having zillions of optional arguments in an
   unrememberable order.  Other packages might consider doing the
   same.
-- completion-list-mode is actually defined using `define-derived-mode',
   as a sub-mode of list-mode.  edit-faces defines another sub-mode
   of list-mode.
-- some patches from Darrell Kindred.
-- new specifier `text-cursor-visible-p' controls whether the cursor
   is visible.
-- new face `text-cursor' controls the colors of the text cursor.
-- New file `gui.el' defining some functions useful for GUI stuff,
   e.g. creating dialog frames and buttons.
-- The function `extent-at' now takes an argument AT-FLAG controlling
   what it means for an extent to be "at" a position.  `get-char-property'
   and `get-text-property' also take that argument.
-- `display-completion-list' has been changed to take key-type optional
   arguments.  There are keys for controlling the activation callback,
   the help string displayed, the window width, and other things.
-- New text-property functions `text-property-bounds' and
   `next-text-property-bounds' facilitate looking for stretches of
   specially-marked text.  This supersedes the common, error-prone
   loops involving `next-single-property-change', `map-extents', etc.
   (I thought long and hard about the end cases.)
-- `frame-visible-p' now actually queries the window system, so it
   is always accurate without the need for weird kludges like
   `accept-process-output'.

MISC CHANGES:

-- Glyph and keymap lispref documentation should now be accurate
   and up-to-date.
-- XEmacs uses sigsetjmp(foo, 0) when possible; this avoids lots
   of sigprocmask() system calls that were happening.

to 20.0 beta14

-- w3 2.3.32
-- XEmacs has a pseudo-file-dialog-box that gets invoked when you
   choose a menu entry that prompts for a filename.  The code that
   implements it is in `mouse-read-file-name-1' in minibuf.el.
   It's a pretty cheesy-ass function but it gets the job done.
   It clearly needs some work; beta testers out there are encouraged
   to help here. (hint, hint)
-- there were some missing UNGCPRO's that might have led to weird
   crashes.
-- Much improved xemacs-internals.  More is coming.
-- lots of improvements to the Lispref documentation, e.g. the general
   section on objects is now actually more or less correct.
-- "cursor glyphs" and "cursor image instances" now use the term
   "pointer" instead of "cursor".
-- new profiling code.  See `start-profiling', `stop-profiling',
   `clear-profiling', `pretty-print-profiling-info', etc.
   This uses a SIGPROF so it's only as accurate as your system timer
   (100Hz under Linux on the x86; may be different on other systems).
-- I have tried hard to minimize the amount of allocation that happens
   as a result of normal activities.  For example, `save-window-excursion'
   and `save-excursion' no longer result in any allocation in most
   circumstances.
-- New variable `debug-allocation'.  If you set this to non-zero, you
   will get a record on stderr of every time that any allocation occurs,
   and a short backtrace will accompany it (controlled by
   `debug-allocation-backtrace-length').  Normally, set this to 1;
   if you set this greater than 1, you'll also see the "noseeum" allocations
   that happen internally and are later undone (thus causing no net
   allocation).
-- byte-code objects print more sanely.  They also have an "annotation"
   field indicating where they came from.
-- problem with lazy-lock sucking away idle time should be gone.
-- problem with mouse highlight not appearing may be gone.
-- problem with "interactive `e'" incorrect is fixed.
-- you can set and access all specifier and glyph variables using
   frame properties.

to 20.0 beta13

-- mode-motion+.el 3.15
-- hm--html-menus 4.16
-- ediff 2.54
-- viper 2.85
-- w3 2.3.30
-- url 1.0.13
-- nil is once again a valid color instantiator
-- 'make install' in a clean workspace should now work correctly.
-- Fixed a bug where using proportional fonts for the default face resulted
   in an extra-wide frame.
-- Fixed wrong-type-argument error when using 'delete window above' from
   modeline menu.
-- Fixed error when loading nroff-mode.
-- Fixed crash caused by this:
	 (setq toolbar-file-icon '(blah)), then C-x b foo RET 
-- Error signaled if you try to create a frame with a `.' in the name.
-- frame size changes which occur while a tty-mode XEmacs is suspended are
   now handled.
-- super-apropos is now apropos-documentation ; Help menu has been changed
-- tooltalk patch to allow setting of message disposition attribute (from
   Hans Muller)
-- user-mail-address patch from Russell Ritchie
-- DEC OSF 4.0 patch from Manoj Srivastava
-- new specifiers default-toolbar-height, default-toolbar-width,
   default-toolbar-visible-p, and {top,bottom,left,right}-toolbar-visible-p.
   The new default specifiers work like default-toolbar: for whichever of
   the four positions is the default-toolbar-position, the corresponding
   specifiers foo-toolbar, foo-toolbar-{height,width}, foo-toolbar-visible-p
   inherit from the appropriate defaults if no value is given.  I also redid
   the toolbar size-handling code.  This appears to fix the weird problems
   Kyle noticed with VM and the prev/next window config buttons, and might
   have fixed that elusive VM phantom toolbar bug.

to 20.0 beta12

-- gnus 5.0.15
-- cc-mode 4.281
-- now works in TTY mode, yay.
-- removed ill-conceived FSF Emacs post-command-idle-hook (added to
   XEmacs in an earlier beta).  Replaced it with pre-idle-hook.
   lazy-lock now uses this.
-- added frame-modified-tick for use by lazy-lock.
-- cursor overhaul is here.  Cursors are now specifiers.  Should make
   them work properly on multiple devices.  Not working quite yet:
   colored cursors.  I'll get to these.
-- various fixes, e.g. to font-lock.
-- cc-mode 4.280
-- dialog boxes work again. (e.g. Save-some-buffers from the File menu
   works and uses the new-improved map-ynp stuff.)
-- I changed `set-specifier' so that it works more sensibly
   (like `set-face-property' -- it takes a separate LOCALE and
   TAG-SET argument, although the old way of specifying things
   still works) and rewrote the incomprehensible gibberish that
   masqueraded as its documentation so that it actually makes
   sense now, even to someone who's not especially familiar with
   specifiers.

to 20.0 beta11

-- follow.el 1.5
-- oo-browser 2.9.11
-- hyperbole 4.01
-- w3 2.3.28
-- pretty much all reported bugs for the last betas should be fixed.
-- event crash from "M-x followed by mouse click" fixed.
-- fixed a nastily subtle bug in `kill-all-local-variables' that has
   been around since mly's symbol rewrite some two years ago.  This
   bug could potentially have resulted in all sorts of inconsistent
   and difficult-to-track behavioral problems.
-- fixed another nastily subtle bug that had to do with extent
   parents/children.  This feature should finally work correctly now,
   because it's actually being used (in the modeline).
-- exported weak list interface (new functions `weak-list-p',
   `make-weak-list', `weak-list-type', `weak-list-list',
   `set-weak-list-list') so I could test it -- it's used in extents
   to fix that nastily subtle bug just mentioned.
-- I removed the disgusting "feature" of being able to use `elt',
   `concat', `length', etc. on compiled-function objects, and fixed
   the small number of places that relied on this.  However, if you see
   an error of the sort

   As of 19.14, `foobar' no longer works with compiled-function objects

   then I missed a place.

   Note that there are accessors `compiled-function-*' for properly
   accessing the contents of a compiled-function object.  These
   accessors have been around since at least 19.8, so this is not
   an overly bold change to make.

   NB: Chuck says the cruddy `aref' stuff is going back into 19.14,
   but will disappear for good in 19.15.
-- you can now dump faces into the dumped XEmacs.
-- modeline changes:
   -- The (GLYPH . KEYMAP) and (FACE . FOO) modeline specs have gone
      away.  In place of this, use (EXTENT . FOO).  The face, keymap,
      and help-echo properties of the extent are noticed.  Nested
      keymaps are handled correctly, but not nested faces as yet.
      See `modeline-format' and `generated-modeline-string' for
      details about how this all works.  It's way cool.
   -- colored sections of the modeline generally indicate that you can
      "do something" with button2 or button3.  button2 does something
      immediately while button3 brings up a menu. (Clicking button2
      on a non-colored section of the modeline does nothing, while
      clicking button3 there brings up the standard modeline menu.)
   -- clicking button2 on the "read-only" marker toggles read-only status.
   -- clicking button2 on the right half of the buffer ID (the part that
      says " foobar.c") cycles to the next buffer.
   -- clicking button2 on the left half of the buffer ID (the part that
      says "XEmacs:") cycles to the previous buffer.
   -- clicking button3 anywhere on the buffer ID brings up a Buffers
      menu.
   -- clicking button2 on the ID strings of certain minor modes turns
      them off (such modes are displayed in green instead of red).
      ("Certain minor modes" means minor modes that correctly call
      `add-minor-mode' to announce themselves instead of just
      smashing minor-mode-alist directly.  I've fixed some modes to
      do this.)
   -- clicking button3 on any mode ID string brings up a menu that lets
      you toggle certain minor modes. (#### Should also let you change
      the major mode.  How do you get a list of all major modes that
      exist, sans the uninteresting ones?)
   -- clicking button2 on the "Narrow" string of a narrowed buffer
      widens the buffer.
   -- help-echo is given for all button2 actions.
-- save-options wraps its outputted forms in (if (featurep 'foo)) to
   make sure that your .emacs will load OK in a differently-featured
   XEmacs from what you saved the options in.
-- new function `set-face-parent' for properly making one face inherit
   all attributes from another.
-- `set-extent-endpoints' can be used to move an extent from one
   buffer to another.
-- semi-new function `event-glyph' returns the glyph underneath an
   extent.
-- fixed bug in `recover-session' ... tsk tsk beta testers.
-- new function `mapc' -- like mapcar but doesn't accumulate results.
-- switched back to newer version of paragraphs.el; corrected
   filladapt.el to mesh properly with it.
-- now autodetects -lgdbm as well as -ldbm, and uses the appropriate
   one.  The --with-database option takes a comma-separated list
   of one or more of "dbm", "gnudbm", and "berkdb", or "no" to
   disable.
-- autodetects png, both with -lz and -lgz.  You can explicitly
   call for png with -lgz using --with-png=gnuz.
-- autodetects libXmu absence.
-- configure option for NO_UNION_TYPE enabling/disabling provided.
   It's called --use-union-type.  WARNING: GCC (esp. 2.6.0, 2.6.3,
   2.7.0) will probably fuck up and generate incorrect code if
   you use this option.
-- finally repaired the grievous damage that is `frame-parameters' --
   use `frame-property', `frame-properties', `set-frame-property',
   and `set-frame-properties' instead.  `frame-parameters' and
   `modify-frame-parameters' are still supported but obsolete.

   "Frame properties" are not only a different interface but actually
   let you store arbitrary properties along with a frame, and
   retrieve them later.

   `frame-property' is much more efficient than `frame-parameters'
   because it is non-consing.
-- new functions `alist-to-plist', `plist-to-alist',
   `destructive-alist-to-plist', and `destructive-plist-to-alist'
   to make it easier for you to convert between alists and plists,
   such as you might do with frame properties/parameters.
-- A whole host of new functions for working with plists.
   There is also a parallel set of these functions for "lax plists",
   which are plists where comparison between keys is done with `equal'
   instead of `eq'. (Frame property plists are this way because the
   keys can be strings.)
-- The monstrous spawn-of-hell function `display-buffer' has been
   moved into Lisp, so you can play around with it if you want
   to.
-- New functions `push-window-configuration', `pop-window-configuration',
   `unpop-window-configuration'.  The latter two implement a
   Netscape-like forward/back movement through window configurations.
   `display-buffer' automatically pushes a window config if anything
   changes as a result of the call, so you can easily undo the results
   of asking for help and such with just a mouse click.

   PLEASE someone come up with better icons.  I just stole the Info
   arrows.
-- The dreaded FSF dynamic byte-compile format is here.  It is *NOT*
   repeat *NOT* enabled by default for 19.14, so it's not gonna
   break anything.  It *IS* yes that's right *IS* the default for
   20.0. (Both kinds of dynamic byte-compiling are the default
   for 20.0.) Therefore, files you compile using 20.0 won't be
   readable under versions before 19.14 unless you set
   `byte-compile-dynamic' and `byte-compile-dynamic-docstrings'
   to nil before compiling.  Note that 19.14 will recognize
   and correctly read dynamic byte-compiled files (whether compiled
   by 20.0, 19.14, or FSF 19.29 or above), even though it won't
   generate them by default. (You have to set one or both of
   those variables just mentioned to non-nil if you want this.)

to 20.0 beta10

-- cc-mode 4.273 (includes java-mode from Eduardo)
-- edebug 3.5
-- first line display problem on ttys fixed
-- problem with cursor position after exiting tty mode fixed
-- cheap fix for the filladapt problem; completely backed out the sync
   of paragraphs.el with 19.30.  One of the changes in
   forward-paragraph is causing the problem.
-- Faces can now be embedded in the modeline.  Add a cons where the
   car is a face object and the cdr will be evaluated as usual but the
   results of it will be displayed in the given face.
-- Glyphs can now be embedded in the modeline, along with a keymap to
   make them active.  For a glyph which just displays you can insert
   just the glyph.  To include a keymap, add a cons with the car as
   the glyph object and the cdr as the keymap object.
-- cut redisplay's memory consumption by 1/3
-- fixed a memory leak in the scrollbar code
-- font-lock basically synched with 19.30.
   LISTEN UP: I changed the way font-lock faces are initialized.  It
   now takes advantage of the specifier stuff added in 19.12, and sets
   up color defaults for color machines and non-color defaults for
   non-color machines.  The defaults are added with `append', which
   means that if you add your own values, they'll override the defaults
   regardless of when you do it.

   SO: Please try temporarily disabling all your font-lock customizations
   and comment on what you think of the new defaults.
-- major DUH factor.  The cause of the 10%-CPU-usage-while-XEmacs-is-idle
   was that the "quarter-second timer" was actually set to fire
   1000 times per second.  I think I must have changed this at one
   point to debug something, and never set it back.  Oops ...
   If you set `debug-emacs-events' to non-zero on a Linux or IRIX
   machine, you'll now see blank eval events going by at a reasonable
   rate (4 times per second) instead of spewing out like water from
   a firehose.
-- yet more synching with FSF 19.30.
-- Lots of modes have gained menus.
-- recover-session (recovers all auto-saved files) should work.
   Not really tested.
-- latest apropos.el from 19.30.  Implements some of what Hyper-Apropos does.
   Maybe we should junk apropos.el or integrate the two.
-- `display-buffer' synched with FSF 19.30.  This gives you the following
   wondrous cruft:
   -- unsplittable frames
   -- pop-up-frames, pop-up-frame-function
   -- special-display-buffer-names, special-display-regexps,
      special-display-function
   -- same-window-buffer-names, same-window-regexps
-- finally!  C-h k followed by a toolbar button press correctly reports
   the binding of the toolbar button.
-- fixed problems with toolbar buttons remaining activated or C-g being
   pressed during minibuffer prompting of (e.g.) toolbar Replace or Open 
-- fixed "Error setting GC pointer" problems.
-- text-property problems reported by Alastair Burt fixed.
-- ediff minibuffer weirdness fixed.  Surrogate minibuffers are working.
-- ~ has electric behavior like / in minibuffer.  Both of these can be
   inhibited by setting `minibuffer-electric-file-name-behavior' to nil.
-- minibuffer completion lists are put into a special mode.  left, right
   move to the next/previous completion.  enter selects the completion.
   button2 selects, as always, but will always be accurate as to the
   completion -- no regexp-based guesswork, as before.
-- the kludgy completion-tracking behavior that looks for completions
   under the mouse has been disabled.  If you want it back, set
   `minibuffer-smart-completion-tracking-behavior'.  This does *not*
   affect the normal ability to click on a completion in the
   *Completions* buffer.  Turning this off should also fix the obnoxious
   "mouse motion causes ange-ftp action" bug.
-- ported latest map-ynp.el.  Used by `save-some-buffers'.
-- Bill Perry's database and strikethru patches.

to 20.0 beta9

-- w3 2.3.26
-- crash caused by corrupting toolbar icon specs is fixed
-- no one complained, so I removed `local-pre-command-hook' and
   `local-post-command-hook'.
-- follow-mode 1.5 beta (01-08-96); this lets you turn two side-by-side
   windows into one twice-as-long "virtual buffer".
-- more synching with FSF 19.30.
-- ange-ftp should work.
-- new configure option --with-term, for support for TERM (Linux serial-port
   multiplexer), for those who care.  The support was already present
   in XEmacs, just no configure option.
-- jpeg code now just includes "jpeglib.h" instead of "jpeg/jpeglib.h",
   and configure autodetects likewise.
-- new variable debug-emacs-events.  Set to non-zero to have all events
   seen by XEmacs output on stderr. (From this, I know what's going on --
   it's the 1/4 second timers for when SIGIO and/or SIGCHLD are broken.
   It can be fixed, but not until the next beta ...)
-- overriding-terminal-local-map and other oddities from FSF.
-- added some of the necessary C support for lazy-lock v2.
-- ange-ftp works around a Linux FTP problem where it outputs escape
   sequences to highlight the ftp prompt, which messes things up.
-- I changed a couple ange-ftp defaults:
   -- ange-ftp-generate-anonymous-password is t.  I see no reason
      why you should have to type in a password here.
   -- ange-ftp-default-user is "anonymous".  This one is more
      debatable, but I think it's a lot more logical (more like
      ncftp, too) and follows the Principle of Least Surprise.
      Differing opinions (except from Kyle Jones :) are welcome.
-- Info menu now properly disappears when you exit Info.
-- new functions frame-leftmost-window, frame-rightmost-window.
-- next-frame and previous-frame have been expanded and unkludgified
   to allow you more control over which frames are considered.
-- Bill Perry's GIF and PNG patches are included.
-- Various patches for the DEC Alpha and other beta-list patches
   are in place.
-- function to access the raw window tree have been added:
   window-first-hchild, window-first-vchild, window-next-child,
   window-previous-child, window-parent.  These let you implement
   frame-leftmost-window and lots of similar functions.
-- XEmacs should be more robust about dying properly when crashes
   occur.
-- you can compile with Epoch support. (Actually, you could in the
   previous beta, too.) The main thing this gets you is direct
   access to some X events and objects (e.g. properties and
   property-notify events).
-- you can set initial-frame-alist in your .emacs, and XEmacs will
   notice this and change the initial frame accordingly.
-- major revamping of the multi-device support:
     -- there is a new type of object called a "console".  A console
        groups together devices that have the same keyboard/mouse.
        A "device" now corresponds to an X "Screen", while a "console"
        corresponds to an X "display".  You don't need to explicitly
	create a console; it's created as necessary when you create
	a device.
     -- device-local variables have become console-local variables.
     -- "device types" are now "console types", although functions
	that speak of "device types" and "frame types" are defined
	as aliases.
     -- devices are no longer permanent objects, but remain around
	only so long as there are frames on the device.  Consoles
	behave similarly. (#### not implemented yet; wait for
	next beta)
     -- Devices and consoles have a generalized concept of a
	"connection", which describes what they are connected to
	(e.g. a DISPLAY for an X console, a tty name for a TTY
	console).  Calling `make-device' on an existing connection
	returns an existing device and/or console rather than
	creating a new one.  The code is also quite smart about
	determining whether a connection refers to an existing
	device or console; e.g. if your machine name is "nene.666.com"
        alias "wing.vip.best.com" address 204.156.158.101, then
	all of the following display specs are treated as equivalent:

	unix:0
	:0.0
	localhost:0
	nene:0
	nene.666.com:0.0
	wing.vip.best.com:0
	204.156.158.101:0

     -- To retrieve a device or console's connection, use
	`device-connection' or `console-connection'.
	'device-x-display' and 'device-tty-tty' are no more.
     -- 'device-tty-terminal-type' renamed to `console-tty-terminal-type'.
     -- To search for a console or device by connection, use
	`find-console', `find-device', `get-console', or `get-device'.


to 20.0 beta8

-- w3 2.3.25
-- url 1.0.12
-- viper 2.85
-- func-menu 2.35
-- SCO patches from Robert Lipe
-- XEmacs has a man page, finally.
-- lots of updates to the lispref docs.
-- s/, m/, and configure files synched with FSF 19.30.
-- extents-over-strings complete.  Extent replicas are no more.
   You can get the same functionality by setting the `replicating'
   property on an extent.
-- describe-mode puts major modes first (from Stig)
-- device-local variables are here.  A few variables are currently device-
   local; eventually the whole command builder will be this way.
   New function `symbol-value-in-device'.  Functions
   `device-function-key-map' and `set-device-function-key-map' have
   been removed.  `function-key-map' is instead a device-local variable,
   with a default `default-function-key-map'.
-- XEmacs now preloads all code at dump time (except for some terminal-
   or X-server-specific files, for which it's not fatal if they can't
   be found).  Thus, you can delete the lisp directory if you really
   really want to.
-- `open-dribble-file' works.
-- Info has a pulldown menu.
-- function `extent-descendants'.
-- you should be able to compile without scrollbars, menubars, and/or
   dialog boxes.  This has been somewhat tested but may not work with
   all possible configurations.  More testing would be appreciated.
-- there are better feature-tests available: to check for the presence
   of menubars, scrollbars, dialogs, and/or toolbars, use `featurep'
   with `menubar', `scrollbar', `dialog', or `toolbar'.  There are also
   features `lucid-menubars', `athena-scrollbars', `motif-dialogs', etc.
   etc. for whatever configuration you compiled in.
-- SPARCworks CYA message is only displayed if (featurep 'sparcworks).
-- lots of other stuff merged with FSF 19.30.  Change list:
   -- Key changes:
      -- C-x ESC -> C-x ESC ESC
      -- ESC ESC -> ESC :
      -- ESC ESC ESC is "abort anything" (keyboard-escape-quit).
   -- indirect buffers.  These are buffers that share text with another
      buffer but have their own major mode, extents, buffer-local variables,
      etc.  Create with `make-indirect-buffer'.  See also
      `buffer-base-buffer', `buffer-indirect-children'. (Not yet
      finished implementing.)
   -- new function `set-buffer-major-mode'.
   -- `buffer-invisibility-spec' controls whether the `invisible' property
       is applicable.
   -- `inhibit-read-only' can be a list of property values; similar to
       `buffer-invisibility-spec'.
   -- new "file format" concept.  See `buffer-file-format',
      `format-alist', `format-decode', `format-encode',
      `insert-file-contents-literally', etc.
   -- `call-process' can have a separate stderr specified.
   -- Junky variables `self-insert-face' and `self-insert-face-command'.
   -- `write-region' can take a sixth argument LOCKNAME (a lock file).
   -- new function `find-alternate-file-other-window'.
   -- improved margin functions -- `current-left-margin', etc.
   -- newlines can be "hard" or "soft" -- I guess this affects filling,
      paragraphs, etc.  See `use-hard-newlines'.
   -- lots and lots of filling / justification / paragraph changes.
   -- `shell-command' and related can take optional output buffer
      specification.
   -- `what-line' prints more information.
   -- new functions `file-writable-p', `file-regular-p'.
   -- new function `active-minibuffer-window'.
   -- new function `cancel-kbd-macro-events'.
   -- new functions `run-hook-with-args-until-success',
      new functions `run-hook-with-args-until-failure'.
   -- generalized facility for local vs. global hooks.
      See `make-local-hook', `add-hook'.
   -- signal-process can take a symbolic name for the signal.


to 20.0 beta7

-- Gnus 5.0.13
-- W3 2.3.24
-- url 1.0.11
-- viper 2.84
-- ediff 2.51
-- added .f90 to auto-mode-alist
-- fixed problem with echo area redisplaying during macro execution
-- first version of "gnuattach", for viewing a file in the current
   TTY frame.  Works like gnuclient.  I did a "good enough" implementation
   because I don't understand fully how gnuserv works.  Someone else
   might want to take a look at it.
-- fixed problems with bad cc-mode indentation
-- fixed ^G problems, likely fix for "XEmacs consumes too much CPU"
-- undo in the minibuffer.
-- problems with tight loop in sys_readdir() should be fixed.
-- char-tables are now readable; Bill Perry's eval-when-compile problem
   should be fixed.
-- the unified range table code is now defensive about getting itself
   misaligned, so it should work no matter what tricks realloc() plays.
   This should fix the assertion failure, line 621 of rangetab.c.
-- next-window, previous-window, next-frame, previous-frame, other-window,
   get-lru-window, etc. extended to take a device argument that allows
   you to restrict which devices it includes (normally all devices).
   Some functions that incorrectly ignored frames on different devices
   (e.g. C-x 0) are fixed.
-- start-open, end-open, start-closed, end-closed now work correctly
   w.r.t. text properties. (This is apparently required by GNUS 5.)
-- implementation of extents over strings is close to being done.
   You can now go ahead and create extents over strings but they aren't
   yet properly copied from string to string or between strings and buffers.
-- new function `extent-list'.

to 20.0 beta6

-- Gnus 5.0.12
-- w3 2.3.18
-- viper 2.82
-- ediff 2.49
-- lazy-lock 1.14
-- func-menu 2.34
-- mode-motion+ 3.14
-- patch from Bill Perry fro tty_valid_color_name_p
-- mode-motion patch from Michael Sperber to eliminate "evil ftp activity"
-- we check for interrupted system calls in opendir(), readdir(),
   closedir(); this should eliminate the "interrupted-system-call"
   errors people have been seeing with completion.
-- GIF support!  Since there appears to be no standard GIF library,
   and since the code I found (giflib-2.2 from the Linux archives)
   is quite small, I just put it in the XEmacs src directory.
   NOTE: If you encounter problems with certain GIFs (e.g. interlaced),
   let me know and I'll enable some currently dormant code.
   NOTE: For the moment, GIF support is enabled everywhere because it
   requires no special libraries or machine-dependent features.  You
   can disable it using --with-gif=no.
-- JPEG support!  Compile with --with-jpeg (or just let it be
   autodetected).  You need to obtain the standard JPEG library (libjpeg)
   from the Independent JPEG Group.  One source is ftp.uu.net:/graphics.
   Compiled Linux libraries (not the most recent version, but they work
   fine) are available at sunsite.unc.edu:/libs/graphics.  You have to
   specify the location of the libraries and include files using
   --site-libraries and --site-includes.  Note that the include files
   are presumed to be in a subdirectory "jpeg" of the --site-includes
   directory.
-- Lstreams free their buffers when they are closed rather than
   when they are GC'd.  This should avoid the memory bloatage noticed
   when you repeatedly insert a lot of files, and should render
   unnecessary the patch that Darrell Kindred submitted.
-- patch for possibly deadly Mule problem
-- XEmacs behaves reasonably in the presence of a bogus app-defaults
   file
-- configure debugging: if you specify --extra-verbose, then any
   error messages from compilation and preprocessor feature tests
   will be output.  This is especially useful if your feature tests
   are failing for no obvious reason.  #### Suggestions for a better
   name than --extra-verbose are welcome.
-- warning messages will get generated if there is a problem displaying
   an image, rather than just nothing happening at all.
-- You can disable toolbar support by specifying --with-toolbars=no.
   This should reduce the code size a bit.
-- You can disable TTY support by specifying --with-tty=no.
   This should reduce the code size a bit.
-- The oddly named "dont-have-xmu=yes" option is now "with-xmu=no".
-- loaddefs and keydefs are now compiled like other Lisp files.
-- You should get more accurate errors for many types of mistakes
   with set-face-* functions.

to 20.0 beta5

-- Gnus 5.0.7
-- w3 2.3.4
-- url 1.0.3
-- patches from John Hughes <john@atlantech.com> to make 8-bit TTY
   input and TTY function keys work better.  You may get undefined
   references to _sobuf; if so, change the glump around line 1404
   of sysdep.c. (for 19.14.)
-- configure autodetects the sun_len member in struct sockaddr_un.
   (for 19.14.)
-- likely fix for regex crashes on some systems. (for 19.14.)
-- fixed problems with skip-syntax-forward. (for 19.14.)
-- TTY color should behave better. (for 19.14.)
   Try this under TTY XEmacs and you'll see what I mean:

   (set-face-foreground 'default "magenta")
   (set-face-background 'default "cyan")

to 20.0 beta4

-- cutting and pasting of extended text to/from other applications works
   properly: the text is correctly converted to/from Compound Text format.
-- Short-form fonts like 6x13 should work under Mule.
-- New configure option --with-mocklisp for Mocklisp support. (for 19.14.)
-- TTY support should now be working properly under Mule.
   If you are running under kterm, you should see the Japanese
   characters in the tutorial properly.
-- TTY colors!  New functions `register-tty-color', `unregister-tty-color',
   `find-tty-color', and `tty-color-list' for specifying the valid TTY
   colors.  Of course, you need a terminal that is capable
   of handling ANSI color sequences, e.g. Color XTerm or the Linux console.
   The standard ANSI colors (black, red, green, yellow, blue, cyan,
   magenta, and white) are registered by default so you can just go
   ahead and use them. (for 19.14.)
-- Netscape begone! XEmacs *really* handles colors properly given a
   full colormap. (for 19.14)

to 20.0 beta3

-- new version of f90.el; .f90 files now invoke f90-mode
-- hm--html-menus 4.15
-- w3 2.3.2
-- url 1.0.1
-- Japanese input (Hiragana, Katakana, Kanji) is working under Mule.
   The SKK input method has been ported and should be available
   on the ftp site.

   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.
   WE NEED BETA TESTERS.

   Tell all your Japanese-speaking friends.
   Where are all the Japanese-speaking people when we need them?
   Actually, with a little work, someone should be able to get
   Quail working, which allows for input of all sorts of languages.

-- new function `current-process-time' for retrieving the user, system,
   and real times of the currently running XEmacs process. (for 19.14
   probably.)
-- Here's a cool new demo that works under Mule: Load the file
   `mule-doc/demo'.  This has "hello" written in a zillion different
   languages / charsets.  Astute observers will notice two problems:
   (1) Half of the Thai characters don't show up.  That's because
   composite characters still aren't displayed properly.
   (2) The Arabic and Hebrew characters go backwards from the way
   they should. (Guess why?)
-- error-handling behavior in Mule decoding (e.g. unknown charset)
   should be much better.  The goal here is that there should never be
   any information lossage when a file is read in, decoded, encoded
   again, and written out.  If escape sequences get transformed into
   some other equivalent escape sequence, that is OK; but if they
   get eaten, that is not OK.
-- translation tables are handled consistently (note, I didn't say
   "correctly") under Mule.  Doing them correctly is very difficult
   so I'm punting for now.  Basically, under Mule, `upcase' and
   `downcase' (and related) work correctly with translation tables
   but the string/buffer-searching routines will ignore translations
   that map to or from a character not in the seven-bit ASCII
   range -- thus `case-fold-search' will not correctly conflate
   a-umlaut and A-umlaut.  This sucks, but it's better than the
   alternative (weird results and possible crashes).
-- regex searches/matches should work properly with extended
   chars under Mule.
-- fixed bad definition of xemacs-color-device in ps-print.el.
   (for 19.14.)
-- fixed problems with command-line options -T, -wn, etc. not
   working. (for 19.14.)
-- Options sub-menu provided under Mule for setting the current
   language environment.
-- fixed some problems with nested GCPRO's, that could have lead to
   weird crashes. (for 19.14.)
-- Things should *finally* work OK on the Alpha machines.
   (Hopefully? Please?) (for 19.14.)
-- Tooltalk warning is now a real warning (class `tooltalk'), so
   you can suppress it.
-- selections should work again. (for 19.14.)
-- syntax tables work under Mule. 

   NOTE: Syntax tables are *NOT* vectors any more but are their own
   abstract `char-table' type.  As such, some (broken) code is going
   to break. (Typical error: "wrong type argument: sequencep,
   #<syntax-char-table ...>".) I've already had to patch cc-mode,
   font-lock, mail-abbrevs, and symbol-syntax, and edebug, mim-syntax,
   and paren still need to be changed.  This is an unavoidable result
   of RMS non-abstracted brokenness.  Yuck Yuck Yuck Yuck!
-- syntax table lookup should be faster (at least under non-Mule).
   This could be a big win for scan-lists etc., and thus for cc-mode.
-- fixed version of set-text-properties. (for 19.14.)
-- fixes to display-warning-buffer to avoid problems when the
   warning buffer is deleted. (for 19.14.)
-- If a font can't be instantiated, you should now only get one
   warning instead of a trillion of them.
-- new Common-Lisp function `subseq', a generalization of `substring'.

to 20.0 beta2

-- new functions `function-min-args' and `function-max-args' for
   determining the number of allowed arguments in a function
   (of any sort accepted by funcall). (possibly for 19.14.)
-- no more crashes under Mule if it can't find an acceptable font;
   you just get a warning instead and a '~' character.
-- new variable `disable-auto-save-when-buffer-shrinks', providing
   you with a way to turn off this widely-hated behavior. (for 19.14.)
-- new Common Lisp function `reduce'.
-- I added some defines that should eliminate zillions of
   "warning, incompatible pointer type" warnings for the memset(),
   memcpy(), memcmp() functions in SunOS 4.x. (for 19.14.)
-- composite characters are partially working under Mule.  They are
   correctly handled internally, but are not yet displayed properly:
   you just get the familiar '~'.
-- processes should now correctly do flushing of long PTY lines,
   which they never did since the Lstream process rewrite sometime
   during the 19.12 beta cycle.
-- processes should be working better under Mule (at least there
   will be no loss of data, which was a possibility before).  More
   work still to come in the area of handling encoding/decoding.
-- fixes to font-lock that should make it go *much* faster (esp. in
   lazy-lock) when moving backwards or jumping to an arbitrary point
   in the buffer.  Files like emacsfns.h are still problematic but
   should be better than before. (for 19.14.)

to 20.0 beta1

-- ediff 2.44
-- hyperbole 3.19.08
-- oobr 2.9.9
-- I_SETSIG failed messages under Solaris should be gone
-- add-submenu bug that affected func-menu fixed
-- edebug no longer chokes on condition-cases
-- redisplay under Mule should be significantly faster
-- redisplay problem with overlay-arrows fixed
-- range tables now print readably, using the new
   Common-Lisp-compatible #s() syntax (this is the
   generalized structure syntax).  It would be possible
   to make other unreadable Lisp objects be readable
   using a similar format.  I am not sure which objects
   are good candidates, though -- suggestions?

to 19.14 beta2

-- w3 2.2.17
-- mailcrypt 3.4 is now the default
-- new version of icomplete.el from David Hughes
-- characters are now their own separate Lisp object type; this is
   The Way It Should Have Always Been.  This change is necessary for
   byte-code portability under Mule and follows the Common Lisp model
   of not needlessly confounding separate types, as is (unfortunately)
   the fashion under E-Lisp.  Characters print as characters using the
   evil yucky GNU Emacs character syntax (e.g. ?a) rather than as
   integers; this is the essence of the byte-code portability.  In
   deference to existing E-Lisp code, the following concessions are made:

   -- characters are represented directly; `eq' works on them.
      (Yuck! This may be a problem if I ever want to add additional
      information to characters.)
   -- the comparison functions (<, =, etc) and arithmetic functions
      (+, -, etc) accept characters and silently convert them to
      integers. (This is semi-hateful but necessary for compatibility.)
   -- functions that properly accept characters (e.g. char-to-string)
      also accept integers and silently convert them to characters.

   I have provided new character primitives `char<', `char=', etc.
   that are the proper way of comparing characters.
-- The function `eq' has been infected with a heretofore-unknown virus
   known as the "char-int confoundance disease".  The CDC has been
   warned, but in this case the cure (require that all existing .elc
   files in the whole world be re-byte-compiled) is a lot worse than
   the disease.  Their recommendation is to use the new function
   `really-eq' if you really need to distinguish between chars and ints.
   Be warned, however, that this will run slower in byte-compiled code
   because there is no opcode for `really-eq'.
-- Similar infections have happened to `equal' (with a corresponding
   `really-equal') and to the functions `memq', `delq', `assq',
   `rassq', `remassq', `remrassq' and corresponding `equal'
   equivalents.  The functions `puthash' and `put-range-table' have
   not been affected, however, because I don't think there will be much
   of a compatibility problem here.
-- BETA TESTERS LISTEN UP: The above changes have the potential of
   causing weird lossage in existing packages.  Therefore, PLEASE
   PLEASE do the following for as many different packages as you can:
     (1) try it out to make sure there's no obviously strange behavior
         (a good example would be the error
          "wrong type argument: integerp, ?B") or not-so-obviously
         strange behavior, like prefix arguments not working
	 (yes, this did happen).
     (2) re-byte-compile all the files in the package
     (3) repeat step #1.  Look especially hard this time because
         the errors are more likely to occur this time.
-- typecheck error-checking has been added for integers and for chars.
   You may hit some aborts.
-- XEmacs/Mule now performs automatic detection, encoding, and decoding
   of files upon input and output. (Although the detection system definitely
   has room for improvement.)
-- XEmacs/Mule is still untested w.r.t. subprocesses and TTY support and
   thus is likely to fail with both.
-- XEmacs/Mule now byte-compiles files properly. (Well, it appears to ...
   extensive testing has not yet been done.)
   WARNING WARNING WARNING:
   (a) You cannot compile files with extended characters in them
       (e.g. lisp/mule/japanese-hooks.el) using a version of XEmacs
       not compiled with Mule.
   (b) If you compile such a file using XEmacs/Mule and attempt to
       load it into a version of XEmacs not compiled with Mule,
       you will get extremely random and undesirable results even
       if you don't get a read error.  The reason for this is that
       a special encoding is used to allow arbitrary binary characters
       to co-exist with the control characters used to change
       the encoding state.  Normal E-Lisp files compiled under
       XEmacs/Mule should work under a non-Mule XEmacs because the
       special encoding will not be used in this case.
   At some point I would like to remove these gotchas but this will
   require adding some smarts to the non-Mule XEmacs to be able to
   at least partially handle the special encodings used.
-- Here is a cool test of XEmacs/Mule: type 'C-h T' (capital T) and
   you can get an Emacs tutorial in the language of your choice
   (currently limited to Japanese, Korean, and Thai).  Astute
   testers will notice that the Thai one doesn't work yet; that
   requires support for composite characters, which doesn't currently
   exist.
-- a change has been made to the handling of markers that should
   eliminate those 15-second GC pauses that some of you may have
   been seeing while processing the output of M-x grep, etc.

to 19.14 beta1

-- w3 2.2.16
-- mailcrypt 3.4beta
-- preliminary Mule support is provided.  This will get better over the
   next month or so.  All of the basics except for input method support
   are there, although it's still somewhat slow and some of the parts
   may not fit together perfectly.

   Here's a demonstration you can do when Mule support is enabled:

   -- load the file etc/mule/TUTORIAL.jp
   -- evaluate (decode-coding-region 1 (point-max) 'ctext)

   In order for this to work, you have to have the proper Japanese
   fonts installed (see below), or XEmacs will abort. (This will be fixed.)

   Soon, the decoding will happen automatically upon loading.

   Note also: IT MIGHT NOT CURRENTLY WORK TO BYTE-COMPILE FILES UNDER
   XEmacs/Mule.   You may get bogus results.  Therefore, for the time
   being do *not* do `make all-elc' using the built XEmacs/Mule.
   This should be fixed by beta2, along with the rest of the file-
   handling stuff.

   Note finally: You may get read errors trying to byte-compile the
   Mule files under the non-Mule Xemacs.  I have not yet come up with
   a general solution to this problem. (I'm not convinced such a
   solution even exists; byte-compiling could cause arbitrary code
   to be executed, which will surely fail if the code uses Mule-
   specific features.)
-- We now may have the world's largest collection of FTP-able
   international X11 fonts.  Look in cs.uiuc.edu:/pub/xemacs/beta/fonts.
   See the README file for directions on installing the fonts.  There
   is also the potential for generating loads and loads more of these
   fonts, by converting MetaFont fonts.
-- It is now possible to build simultaneously in the source directories
   and in a separate build location, provided you have GNU make and
   supply the `--with-gnu-make' option to configure.
-- Support for bit vectors is now provided.  Bit vectors are like regular
   vectors except that the only allowed values for elements are 0 and 1,
   and they are stored internally using bit fields instead of arrays
   of 32-bit values, making them much less heavyweight.  New primitives
   for working with bit vectors are `bit-vector', `make-bit-vector',
   `bit-vector-p', and `bvconcat' (equivalents of `vector', `make-vector',
   `vectorp' and `vconcat').  All other vector primitives should work
   fine with bit vectors.
-- new specifier functions `specifier-matching-instance',
   `specifier-matching-instance-from-inst-list', and
   `valid-specifier-matchspec-p', for working with fonts in XEmacs/Mule.
   These same functions could be used to provide much more flexible
   handling of display tables and the like, and this work may get done
   if there is demand for it.
-- The handling of PURESIZE has been fixed up.  There is no longer
   special stuff needed in m/alpha.h.  Alpha users may need to tweak
   with puresize.h.
-- You can now build statically on Linux.  Doing this will allow you
   to get proper backtraces. (Shared libraries are typically built
   -fomit-frame-pointer, which screws everything up.)
-- I have removed almost all of the MAC_* stuff and replaced it with
   inline functions.  configure attempts to detect whether your compiler
   supports `inline'.  However, if your compiler does support it
   but is not GCC, you should look at how I've done things and see
   if it meshes with your compiler.  Basically, GCC has a nice feature
   where you can declare a function `extern inline' and stick it in
   a header file.  This will cause the inline declaration to be
   used if the function can be inlined, and an external reference to
   be generated otherwise.  Then, you define the function just
   `inline' in one single file (inline.c).  This is superior to the
   method of declaring all inline functions as `static inline', which
   could leave a separate copy of each function in lots of source
   files.  However, I'm not sure if non-GCC compilers support this.
   Please read your compiler's documentation and fix up the definition
   of INLINE in config.h.in accordingly.

   Also, there may be functions that would really benefit from inlining,
   which you can sometimes specify as an option to your compiler.
   We will have Quantify information on this.
-- XEmacs now uses the v19 regex routines instead of the v18 regex
   routines.  Speed should not be significantly different due to the
   non-Posix-backtracking default.  If you want the full Posix
   backtracking, use the functions `posix-looking-at', `posix-string-match',
   etc. (Be warned that this may be significantly slower.) Note also
   that the fishy problems may be forever banished.

   NOTE: The v19 regex routines do reallocs using rel-alloc if it is
   available; God only knows why.  If you notice some weird hiccups in
   the regex routines, this is a likely culprit.  Someone might want to
   try putting '#undef REL_ALLOC' at the top of regex.c or something.
   RMS also claims that much of the stuff that's going on here (recording
   backtracking points) is only necessary for full Posix backtracking,
   and thus we should be able to disable it in the normal (non-Posix)
   case.
-- XEmacs now caches compiled regexps.  This may speed up regex searching.
-- `replace-match' now takes a fourth argument STRING that allows for
   replacement in a string instead of a buffer.
-- new functions `upcase-initials' and `upcase-initials-region' from
   FSF Emacs 19.29.
-- match data is automatically saved and restored while a process filter
   or sentinel is running.
-- new type "char-table".  A char table is for indexing characters and
   is intended to be an extension/generalization of syntax tables,
   display tables, case tables, category tables (a new kind of beast
   allowing classifications of characters into categories for regexp
   lookup, useful esp. for Mule), etc.  You can set values for
   an entire charset and for individual rows of a charset.  Adding
   and looking up values occurs in constant time.
-- new type "range-table".  A range table efficiently indexes ranges of
   integers to values.
-- new modeline spec '%C'; displays a mnemonic string for the
   file-coding-system, under Mule.
-- new function `device-on-window-system-p'; clean way of determining
   whether mouse, glyph, etc. support is likely to be available on this
   device.
   #### We really need individual feature-test functions.
-- new dialog-box functions `get-dialog-box-response' (like the misnamed
   `x-popup-dialog' FSFmacs function), `message-box' (like the FSFmacs
   function), and `message-or-box' (like the FSFmacs function).