view CHANGES-beta @ 814:a634e3b7acc8

[xemacs-hg @ 2002-04-14 12:41:59 by ben] latest changes TODO.ben-mule-21-5: Update. make-docfile.c: Add basic support for handling ISO 2022 doc strings -- we parse the basic charset designation sequences so we know whether we're in ASCII and have to pay attention to end quotes and such. Reformat code according to coding standards. abbrev.el: Add `global-abbrev-mode', which turns on or off abbrev-mode in all buffers. Added `defining-abbrev-turns-on-abbrev-mode' -- if non-nil, defining an abbrev through an interactive function will automatically turn on abbrev-mode, either globally or locally depending on the command. This is the "what you'd expect" behavior. indent.el: general function for indenting a balanced expression in a mode-correct way. Works similar to indent-region in that a mode can specify a specific command to do the whole operation; if not, figure out the region using forward-sexp and indent each line using indent-according-to-mode. keydefs.el: Removed. Modify M-C-backslash to do indent-region-or-balanced-expression. Make S-Tab just insert a TAB char, like it's meant to do. make-docfile.el: Now that we're using the call-process-in-lisp, we need to load an extra file win32-native.el because we're running a bare temacs. menubar-items.el: Totally redo the Cmds menu so that most used commands appear directly on the menu and less used commands appear in submenus. The old way may have been very pretty, but rather impractical. process.el: Under Windows, don't ever use old-call-process-internal, even in batch mode. We can do processes in batch mode. subr.el: Someone recoded truncate-string-to-width, saying "the FSF version is too complicated and does lots of hard-to-understand stuff" but the resulting recoded version was *totally* wrong! it misunderstood the basic point of this function, which is work in *columns* not chars. i dumped ours and copied the version from FSF 21.1. Also added truncate-string-with-continuation-dots, since this idiom is used often. config.inc.samp, xemacs.mak: Separate out debug and optimize flags. Remove all vestiges of USE_MINIMAL_TAGBITS, USE_INDEXED_LRECORD_IMPLEMENTATION, and GUNG_HO, since those ifdefs have long been removed. Make error-checking support actually work. Some rearrangement of config.inc.samp to make it more logical. Remove callproc.c and ntproc.c from xemacs.mak, no longer used. Make pdump the default. lisp.h: Add support for strong type-checking of Bytecount, Bytebpos, Charcount, Charbpos, and others, by making them classes, overloading the operators to provide integer-like operation and carefully controlling what operations are allowed. Not currently enabled in C++ builds because there are still a number of compile errors, and it won't really work till we merge in my "8-bit-Mule" workspace, in which I make use of the new types Charxpos, Bytexpos, Memxpos, representing a "position" either in a buffer or a string. (This is especially important in the extent code.) abbrev.c, alloc.c, eval.c, buffer.c, buffer.h, editfns.c, fns.c, text.h: Warning fixes, some of them related to new C++ strict type checking of Bytecount, Charbpos, etc. dired.c: Caught an actual error due to strong type checking -- char len being passed when should be byte len. alloc.c, backtrace.h, bytecode.c, bytecode.h, eval.c, sysdep.c: Further optimize Ffuncall: -- process arg list at compiled-function creation time, converting into an array for extra-quick access at funcall time. -- rewrite funcall_compiled_function to use it, and inline this function. -- change the order of check for magic stuff in SPECBIND_FAST_UNSAFE to be faster. -- move the check for need to garbage collect into the allocation code, so only a single flag needs to be checked in funcall. buffer.c, symbols.c: add debug funs to check on mule optimization info in buffers and strings. eval.c, emacs.c, text.c, regex.c, scrollbar-msw.c, search.c: Fix evil crashes due to eistrings not properly reinitialized under pdump. Redo a bit some of the init routines; convert some complex_vars_of() into simple vars_of(), because they didn't need complex processing. callproc.c, emacs.c, event-stream.c, nt.c, process.c, process.h, sysdep.c, sysdep.h, syssignal.h, syswindows.h, ntproc.c: Delete. Hallelujah, praise the Lord, there is no god but Allah!!! fix so that processes can be invoked in bare temacs -- thereby eliminating any need for callproc.c. (currently only eliminated under NT.) remove all crufty and unnecessary old process code in ntproc.c and elsewhere. move non-callproc-specific stuff (mostly environment) into process.c, so callproc.c can be left out under NT. console-tty.c, doc.c, file-coding.c, file-coding.h, lstream.c, lstream.h: fix doc string handling so it works with Japanese, etc docs. change handling of "character mode" so callers don't have to manually set it (quite error-prone). event-msw.c: spacing fixes. lread.c: eliminate unused crufty vintage-19 "FSF defun hack" code. lrecord.h: improve pdump description docs. buffer.c, ntheap.c, unexnt.c, win32.c, emacs.c: Mule-ize some unexec and startup code. It was pseudo-Mule-ized before by simply always calling the ...A versions of functions, but that won't cut it -- eventually we want to be able to run properly even if XEmacs has been installed in a Japanese directory. (The current problem is the timing of the loading of the Unicode tables; this will eventually be fixed.) Go through and fix various other places where the code was not Mule-clean. Provide a function mswindows_get_module_file_name() to get our own name without resort to PATH_MAX and such. Add a big comment in main() about the problem with Unicode table load timing that I just alluded to. emacs.c: When error-checking is enabled (interpreted as "user is developing XEmacs"), don't ask user to "pause to read messages" when a fatal error has occurred, because it will wedge if we are in an inner modal loop (typically when a menu is popped up) and make us unable to get a useful stack trace in the debugger. text.c: Correct update_entirely_ascii_p_flag to actually work. lisp.h, symsinit.h: declarations for above changes.
author ben
date Sun, 14 Apr 2002 12:43:31 +0000
parents 9b6b28d87550
children bf76db2b446e
line wrap: on
line source

to 21.5.6 "bok choi"

UI changes and runtime bugs

-- Fix: process waiting on MS Windows -- Mike Alexander
-- Fix: (maybe) GTK progress bar crashes at startup -- William M. Perry
-- Fix: detect printer set up for metric units -- Jonathan Harris
-- Fix: add_charsets_to_precedence_list -- IKEYAMA Tomonori
-- Change: misc menubar -- John Paul Wallington
-- Add: auto-mode-alist: GNUmakefile is a Makefile, "system default"
   Xdefaults and friends get xrdb-mode -- Ville Skytt,Ad(B
-- From  Ben Wing  <ben@xemacs.org>.
  -- Fix: init_process_io_handles obeys coding-system-for-{read,write}.
  -- Fix: bug in md5 handling.
  -- Fix: data corruption in print.c from print_depth becoming negative.
  -- Fix: "nil channel" in MS Windows magic events crashes.
  -- Fix: (tentative) redisplay crash freeing display line structures.
  -- Fix: (tentative) TTYs don't work.
  -- Fix: too-small SHEAP_ADJUSTMENT on Cygwin (can't run temacs).
  -- Fix: hscroll/truncation/continuation glyphs causing "jumping lines".
  -- Fix: problem with text files with no newlines ().
  -- Fix: errors when opening (e.g.) mule-ucs/lisp/reldata/uiso8859-6.el.
  -- Fix: (partial) excess memory use in Unicode processing, esp. at startup
  -- Fix: sample.init.el (grep-all-files-in-current-directory-and-below):
     Missing argument.
  -- Fix: smoother scrolling on MS Windows.
  -- Change: Move the menubar frame commands from the View menu to
     the File menu, to be consistent with how most other programs do
     things.  Move less-used revert/recover items to a submenu.  Make
     "recover" not prompt for a file, but recover the current buffer.
  -- Change: implementation of matching font to charset.
  -- Change: default MS Windows font to Lucida Console, increase
     default frame size on Windows to 50 lines.
  -- Add: runtime flag -no-packages inhibits adding package lisp to load-path.
  -- Add: much functionality to behavior.el.
  -- Add: more Unicode translation files.

Documentation

-- Add: define STACK_TRACE_EYE_CATCHER for Windows -- Jonathan Harris
-- Texinfo (internals): Add xref in emodules.texi -- Stephen J. Turnbull
-- Texinfo (lispref): Unicode Support, Behaviors -- Stephen J. Turnbull
-- Texinfo (user): Behaviors -- Stephen J. Turnbull
-- Improve auto-mode-alist -- Simon Josefsson
-- Docstrings: completion-ignored-extensions, file-name-all-completions --
   John H. Palmieri
-- From  Ben Wing  <ben@xemacs.org>.
  -- New ChangeLog for ./etc/.
  -- Updated: NEWS.
  -- Improve docs (developers): tree layout, merging branch to trunk.
  -- Improve docs (lispref): CL loop, menu sorting, sound-default-alist
  -- Obsoleted Lisp: 'sref, char-bytes.
  -- Internals: Revamped the sound documentation.
-- Typo fixes -- Adrian Aichner

Lisp API

-- From  Ben Wing  <ben@xemacs.org>.
  -- Fixed: bug in keymap iteration in cl-macs.el.
  -- Fix: bugs in language environments English and Ethiopic
  -- Change: lisp/mule/*.el -- convert to XEmacs style.
  -- Add (synch to GNU): get-window-with-predicate, ALL-FRAMES,
     some-window, count-windows, window-safely-shrinkable-p,
     count-screen-lines, shrink-window-if-larger-than-buffer
  -- Add (line-oriented mouse selection):  New functions
     mouse-consolidated-yank mouse-yank, mouse-track,
     default-mouse-track-normalize-point,
     default-mouse-track-return-dragged-selection, mouse-track-by-lines,
     mouse-track-insert mouse-track-adjust-by-lines, mouse-track-insert-1,
     mouse-track-insert-by-lines, mouse-track-delete-and-insert-by-lines
  -- Add (warnings): Add a consistent way to execute code,
     catching all errors and displaying a warning, including a
     backtrace showing where the error occurred.  New functions
     backtrace-in-condition-handler-eliminating-handler, with-trapping-errors,
     view-warnings.  Integrate show-message-log with view-lossage.
  -- Add (debugging): New functions  debug-print-1, debug-print,
     debug-backtrace.
  -- Add (misc utils): map-plist, show-memory-usage, compare-strings,
     truncate-string-to-width, variable require-prints-loading-message.
  -- Add many languages and charsets.
  -- Add (autoloads): Support defun*, defmacro*.
  -- Add (byte-compiler): with-boundp, if-boundp, when-boundp,
     and-boundp, declare-boundp, globally-declare-boundp, with-fboundp,
     if-fboundp, when-fboundp, and-fboundp, declare-fboundp,
     globally-declare-fboundp, with-byte-compiler-warnings-suppressed
  -- Warning fixes.

Internals

-- Add: Get & SetLocaleInfo from winnls.h -- Jonathan Harris
-- Add: codepages latin-jisx0201, japanese-jisx0212, remove
   japanese-jisx0208-1978 -- IKEYAMA Tomonori
-- Fix: Use wrap_emacs_*(), not wrap_*() for gtk_boxed, gtk_object, ffi --
   William M. Perry
-- Fix: I18N APIs on windows -- Jonathan Harris
-- Fix: typos causing GTK build errors -- Malcolm Purvis
-- Warning fixes -- William M. Perry
-- From  Ben Wing  <ben@xemacs.org>.
  -- Change: error-checking macros: ERROR_CHECK_TYPECHECK -> ERROR_CHECK_TYPES,
     ERROR_CHECK_CHARBPOS -> ERROR_CHECK_TEXT, add ERROR_CHECK_DISPLAY,
     ERROR_CHECK_STRUCTURES.
  -- Change: Redo print_*().
  -- Change: character-to-unicode char-to-unicode; also unicode-to-char{acter}.
  -- Change: Replace XSETFOO with wrap_foo().
  -- Change: symbol->name a Lisp_Object, not Lisp_String *.  Eliminate latter.
  -- Change: rearrange init calls in emacs.c.
  -- Add: (partial) category API compatible with FSF.
  -- Add: (partial) GC triggering based on percentage of total memory
     usage.  Not currently activated.
  -- Add: (partial) sledgehammer redisplay check.
  -- Add: error-behavior ERROR_ME_DEBUG_WARN.
  -- Add: more error checking on Dynarrs.
  -- Add: assert_at_line(), for use in asserts inside of inline functions.
  -- Add: resizing_buffer_to_lisp_string().
  -- Add: function get_charset_limits.
  -- Add: (tentative, may go away) foo_checking_assert_at_line() macros.
  -- Add: new event methods for printing, comparing, and hashing magic
     events, to avoid event-type-specific stuff.
  -- Fix eifree().  Use Eistrings in various places
  -- Fix: bugs in chartab implementation and doc strings.

Build

-- Fix: make-mswin-unicode.pl -- Ben Wing, Jonathan Harris
-- Fix: .texi files for Cygwin makeinfo -- Jonathan Harris
-- Fix: Perl quoting in Windows build -- Jonathan Harris, Ben Wing
-- Fix: Generate more intermediate files in obj subdirectory -- Jonathan Harris
-- From Ben Wing  <ben@xemacs.org>.
  -- Fix: require errors in behavior.el
  -- Fix: compile error when TTY-only.
  -- Change: update check_cygwin_setup.sh for current Cygwin reality.
  -- Change: Makefile regenerates itself if out of date.
  -- Change: improve error-checking config for Windows
  -- Add: HAVE_SYS_TIMES_H config.h #define.
  -- Add: new error-checking types in configure.
  -- Add: .cvsignore

to 21.5.5 "beets"

Documentation
-- new external-widget example node -- Stephen Turnbull
-- new packaging manual nodes -- Steve Youngs, Stephen Turnbull
-- new Swedish TUTORIAL -- Mats Lidell
-- update etc/BETA -- Jarl Friis, Stephen Turnbull
-- update FAQ, new FAQs -- Adrian Aichner, Stephen Turnbull
-- fixes for build-breaking typos in Info docs -- Jeff Miller, Darryl Okahata
-- misc comment and docstring improvements -- Valdis Kletnieks
   Pretty much all the code fixers fixed docs too:  keep up the good
   work, folks!

UI
-- fix switching between virtual desktops on MS Windows -- Adrian Aichner
-- improve Customize: modifier-keys-sticky-time, abbrev-mode-line-string,
   overwrite-mode-line-string, auto-fill-mode-line-string,
   defining-kbd-macro-mode-line-string -- John Paul Wallington
-- improve GTK clipboard handling -- Eric Gillespie, Jr.
-- improve Info dir - generate file if non-existent -- Michael Sperber
-- improve printer handling -- Adrian Aichner, Bj,Av(Brn Torkelsson
-- support GUI toolbar shadow thickness adjustment -- Bill Perry
-- support ISO 8859/15 (Euro) -- Stephen Turnbull
-- support Sieve in auto-mode-alist -- Simon Josefsson
-- suppress ask-user-about-supersession-threat if CLASH_DETECTION -- Daiki Ueno

Lisp API
-- synch from GNU Emacs 21: quit-window -- Christoph Wedler

Internals
-- improve dead console handling in post-command code -- Ben Wing
-- improve handling when XOpenDevice calls error handler -- Mike Sperber
-- move disabled-command-loop to C -- Jan Vroonhof

Build
-- improve Athena widgets detection -- Jan Vroonhof

to 21.5.4 "bamboo"
-- auto-mode support .9 files as man pages -- Michael Sperber
-- auto-mode support configure.ac as m4 -- Edward M. Lee
-- bind `replace-rectangle' to `C-x r p' -- Didier Verna
-- bind `hyper-apropos-find-variable' (new) to `v' in hyper-apropos-help-map
   -- David A. Panariti
-- bind `delete-other-frames' to `C-x 5 1' -- John Paul Wallington
-- default Info-auto-generate-directory to 'if-outdated -- Adrian Aichner
-- improve printer handling -- Andy Piper, Mike Alexander, Adrian Aichner
-- mark buffer as modified when changing coding system -- Andy Piper
-- minor mode mode-line-strings now customizable -- John Paul Wallington
   isearch-mode, abbrev-mode, overwrite-mode, auto-fill-mode,
   gnuserv-mode, defining-kbd-macro-mode, font-lock-mode, view-mode
-- search the core etc/ for package index if not in ~/.xemacs/ -- Steve Youngs
-- support sub-expression replacement in replace-match -- Torsten Duwe
-- support user {site,infodock}-packages hierarchies -- Michael Sperber
-- truncate-partial-width-windows now applied in redisplay -- Ben Wing
-- use version-specific name for root testing -- Michael Sperber
   Eg, /usr/local/lib/xemacs-21.5.4.  Fixes common "can't find root" bug,
   but run-in-place XEmacs won't find installed packages.

-- HTML docs from Texinfo sources -- Adrian Aichner
-- document fix for Motif related crashes (Sun/Solaris) -- Robert Pluim
-- improve package system documentation -- Stephen Turnbull
-- new Japanese translation of xemacs.1 -- Kazuo Oishi
-- update developer personal info -- Jan Vroonhof, Michael Diers
-- many doc fixes and improvements, sorry about the credits :-(

-- alias `interactive-form' to `function-interactive' -- John Paul Wallington
-- etags to Potorti` version 14.28. -- Yoshiki Hayashi
-- mark-paragraph - added optional argument -- John Paul Wallington

-- arch-specific files go under ${libdir}, not ${datadir} -- Jered Floyd
-- configure recognizes LDFLAGS and adds to top Makefile -- Lutz Jaenicke
-- eliminate bogus check for Athena widgets -- Alexey Mahotkin
-- omit -Wshadow when compiling with g++ -- Ben Wing
-- use the ld reported by gcc, not gcc -- Andrew Begel
-- work around lack of support for autoconf 2.5x -- Didier Verna

-- fix "can't Customize standard faces" bug (partially) -- Jan Vroonhof
-- fix "can't close last window" bug -- Adrian Aichner
-- fix "doubled escape" bug in Mule (ISO-2022-7) autosave files -- Kyle Jones
-- fix "fail to save (non-themed) variable customizations" bug -- Andy Piper
-- fix PGP signature handling in package UI -- Steve Youngs
-- fix allocation of module-defined names in symbol table -- Andrew Begel
-- fix conversion of host and network byte order in multicast -- Daiki Ueno
-- fix crash from missing XIM unregister callback on Motif -- Glynn Clements
-- fix crash/infloops in read_key_sequence -- Hirokazu FUKUI
-- fix early dereference crash in decode_buffer -- Torsten Duwe
-- fix handling of negative C times -- Simon Josefsson and Stephen Turnbull
-- fix 'report-xemacs-bug' issues -- Steve Youngs
-- fix several font-lock bugs -- Jan Vroonhof, Andy Piper, Bill Perry
-- fix several package-get bugs -- Steve Youngs
-- fix some slow startups - default with_ipv6_cname=no -- Stephen Turnbull
-- fix unsigned warnings; turn sign-compare warnings on for NT -- Ben Wing
-- fix window_loop iteration across multiple devices -- Darryl Okahata
-- fix/avoid GNU ld -z combreloc lossage -- Stephen Turnbull
-- make sure installed.db gets updated after updating packages -- Andy Piper

-- GTK improvements/fixes -- Bill Perry
   -- add face mappings
   -- fix "can't shut up bell" bug
   -- fix some face initialization bugs
   -- fix subwindow handling
   -- fix yes-or-no-p lossage
   -- improve conformance to internal APIs
   -- munge highlight, zmacs-region, toolbar, and gui-button faces from
      default GtkStyle
   -- remove useless XPM color symbol checks

-- MS Windows improvements/fixes -- Andy Piper
   -- better build portability
   -- change registry key to XEmacs.
   -- add/fix Cygwin handling of URLs and win32 paths
   -- fix focus and event handling in scrollbars
   -- fix get-popup-menu-response bug
   -- improve DDE support
   -- improve netinstaller, especially uninstall and shortcuts
   -- improve popup dialog handling
   -- new directory dialog support
   -- quit if the user cancels in directory dialog
-- Cygwin nox-xpm detection -- Charles Wilson
-- fix compile problems when --with-msw, --with-x=no, --with-tty=no -- Ben Wing
-- fix file handle leak in pipes -- Mike Alexander
-- initial VC.NET support -- Andrew Begel

-- Rename/redefine integral types -- Ben Wing
   -- See src/ChangeLog for details and rationale.
   -- All integral types that measure quantities of anything are signed.
   -- All quantity types boil down to EMACS_INT, except Hashcode,
      which is an unsigned value of the same size as EMACS_INT.
   -- Type names should be relatively short, with the first letter
      capitalized and no underscores if they can be avoided.
   -- "*count" == zero-based quantity.  Includes sizes, offsets, and indexes.
   -- "*bpos" == one-based buffer position.
   -- "Char" refers to internal-format characters, not to the C type "char".
-- CVS: improve .cvsignore files -- Adrian Aichner
-- autoload handling improvements -- Didier Verna
-- improve handling of face inheritance/fallback -- Jan Vroonhof
-- condense repetitive window-system settings to 'win default' -- Bill Perry
-- improve debugging in event-msw.c -- Adrian Aichner
-- rename Menubar-items-truncate-list to Menubar-items-truncate-history
   -- Adrian Aichner
-- rename default package index to 'package-index.LATEST.gpg' -- Steve Youngs
-- unify GUI pixmap handling -- Bill Perry
-- unify toolbar handling across GUI platforms -- Bill Perry

to 21.5.3 "asparagus"
-- Add missing XIM unregister callback on Motif -- Glynn Clements
-- Improve debugging in event-msw.c, fix "can't close last window" bug
   -- Adrian Aichner
-- Improve Info docs for widget.el -- Stephen J. Turnbull
-- Many small bug, typo, and warning fixes -- Ben Wing, Stephen J. Turnbull,
   Adrian Aichner
-- Autoload handling improvements -- Didier Verna
-- More 'report-xemacs-bug' updates -- Steve Youngs
-- Fix unsigned warnings; turn sign-compare warnings on for NT -- Ben Wing
-- Synch configure.usage options with configure -- Peter Brown

to 21.5.2 "artichoke"
-- fixes and improvements -- Ben Wing
   -- etags.c synched to upstream
   -- lisp/term/*.el cleanup
   -- miscellaneous help improvements
   -- transpose-line-up/down maybe moves the region
   -- MS Windows init improvements
   -- add scroll-in-place, jka-compr, efs, some fixes in behavior-defs.el
   -- paths-find-recursive-path: fix error with null EXCLUDE-REGEXP
   -- font-lock-mode: fix problem with buffers starting with a space
   -- make find-library search patch configurable
   -- fix Dired problem with directories containing [] and code that
      destructively modifies an existing string
   -- stop mark_window_as_deleted from deleting information that needs to
      be accessed by set-window-configuration
   -- Lisp object structure rationalization
   -- fix two nasty bugs in the unwinding code
   -- fix mouse wheel/dead window crash under MS Windows
   -- mswindows_utime, close_file_data: fix off-by-one-indirection error
   -- control-G handling fixes for MS Windows
   -- debug-mswindows-events and related code introduced
   -- rearrange the signal-handling code to eliminate the former
      spaghetti logic paths in it; document; fix numerous bugs
   -- maintain the "iconified" state, to fix the "can't delete a frame" bug
   -- use CBufbyte instead of char for error/warning functions
   -- prepare to remove encapsulation
   -- make play_sound_data return an int, like all other such functions
   -- use EMACS_SIGNAL to avoid preprocessing games with signal()
   -- gc-in-window-procedure fixes
   -- Cygwin setitimer fixes
   -- windows shell fixes
   -- more structured errors
   -- MS Windows network stream data corruption fixes
   -- fix ~user file name handling
   -- rename MAX_PATH to standard PATH_MAX
   -- fix error compiling regexps with back-references in them

-- fixes and improvements -- Martin Buchholz
   -- byte optimizer fixes
   -- move alloca twiddling after the feature test definitions, but
      before the first "real" code
   -- internal DECIMAL_PRINT_SIZE macro
   -- s&m elimination: Eliminate the need to define HAVE_PTYS in s&m files
   -- avoid test failure if (temp-directory) is a symlink
   -- handle buggy Sun realloc()

-- GTK fixes -- Bill Perry
   -- GTK popup dialog fix
   -- GTK added to font-window system mappings
   -- gtk-marshal.el updated for new hash.c, and generator fixes,
   -- GTK scrollbar fixes
   -- buttons are now modifiers, so selection with the mouse works again
   -- fix the disappearing GTK scrollbar problem

-- movemail.c uses mkstemp if available -- Karl M. Hegbloom
-- specifiers may now conditionalize on GTK -- Stephen J. Turnbull
-- new hooks for package installation and deletion -- Sean MacLennan
-- locate-library completes and other package UI improvements -- Robert Pluim
-- save-some-buffers doesn't prematurely zap help window -- Michael Sperber
-- MS windows subprocess quoting arguments -- Ben Wing, Dan Holmsand
-- remove side effects from font-lock-compile-keywords -- Daiki Ueno
-- custom-display works on the GTK platform -- Karl Hegbloom
-- mouse-track fixes -- Adrian Aichner, Ben Wing
-- dragdrop fix for windowless events -- Mike Alexander
-- fix `unbalanced parentheses' bug in syntax -- Matt Tucker
-- gpmevent.c header inclusion fixes -- Bill Perry
-- make more glyph code shared across platforms -- Ben Wing, Bill Perry
-- remove lisp_string_set_file_times() because set_file_times() now
   takes Lisp_Object path, instead of char* -- Adrian Aichner and Ben Wing
-- allow preemption on redisplay -- Kirill 'Big K' Katsnelson
-- new, faster implementation of long_to_string -- Hrvoje Niksic
-- Qccl_error: New error -- Yoshiki Hayashi
-- remove support for old beta versions of cygwin -- Ben Wing, Craig Lanning
-- fix crash with an unavailable network printer -- Mike Alexander
-- add support for MacOS X -- Greg Parkin and Martin Buchholz
-- better win9x (including WinMe) support -- Ben Wing, Stephen J. Turnbull
-- fix off-by-one error in EMACS_INT_MAX -- Yoshiki Hayashi

-- warning, style, and doc fixes and improvements
   -- warning fixes -- Ben Wing, Kirill 'Big K' Katsnelson, Martin Buchholz
   -- eliminate numerous C++ errors -- Ben Wing, Martin Buchholz
   -- code style corrections -- Ben Wing, Martin Buchholz
   -- build improvements -- Ben Wing, Martin Buchholz
   -- configure improvements and fixes -- Martin Buchholz, Ben Wing,
      Stephen J. Turnbull
   -- doc updates -- Adrian Aichner, Ben Wing, Alexey Mahotkin, Steve
      Youngs, Stephen J. Turnbull, Yoshiki Hayashi, Steve Youngs, Paul
      Stodghill, Malcolm Purvis, Jim Horning, Nick V. Pakoulin, Kirill
      'Big K' Katsnelson

to 21.5.1 "anise"
-- This release contains a huge pile of changes by Ben Wing, including
   both bug fixes and features.  Highlights:
   -- Many changes to make printing work on Windows
   -- byte-compilation speed improvements
   -- New functions for cleanly eliminating byte-compiler warnings
   -- Remove core bytecompiler warnings
   -- Improve interactive help interface
   -- etags improvements
   -- Better "About XEmacs" page
   -- Windows configury changes
   -- Get QUIT working on Windows
   -- Fix shy group regexp code
   -- etc. etc.

-- The `short-name' argument to make-charset now works correctly 
   -- Yoshiaki Kasahara
-- `custom' changes -- Didier Verna
-- SET_FACE_PROPERTY bug fix -- Jerry James
-- Unix tty configury changes -- Martin Buchholz
-- Fix compile error with g++ on bsdi -- Martin Buchholz
-- Fix crash with xlc -O3 -- Martin Buchholz
-- Fix link error with (pre-release) gcc 3.0 -- Martin Buchholz
-- Fix build error if system has makeinfo 3.12 -- Martin Buchholz
-- Speed up `intern' and hash tables containing strings -- Martin Buchholz
-- Make hash table mapping safe -- Martin Buchholz

Fork from 21.2: 21.5.0 "alfalfa"
-- For changes up to 21.4.0, see etc/NEWS