changeset 5463:2b79584091b7

[mq]: CHANGES-beta
author Stephen J. Turnbull <stephen@xemacs.org>
date Tue, 26 Apr 2011 23:08:08 +0900
parents 97ac18bd1fa3
children e79916901603
files CHANGES-beta
diffstat 1 files changed, 400 insertions(+), 453 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES-beta	Sun Apr 24 09:52:45 2011 +0100
+++ b/CHANGES-beta	Tue Apr 26 23:08:08 2011 +0900
@@ -1,471 +1,418 @@
 # DO NOT PUT A VERSION MARKER HERE, AUTOMATICALLY ADDED AT RELEASE
 
-by Ben Wing:
-
-Debugging (Lisp level):
+Major Features and Backward Incompatible Changes
 
--- make objects consistently print a UID, with a separate number space per
-   object type
--- add variable `debug-soe' for debugging stack-of-extents code in extents.c
--- add variable debug-regexps for debugging regexp code, takes list of areas
-   to show info about
--- correctly note pdumped objects in memory-usage stats returned by
-   `garbage-collect' and `object-memory-usage-stats'.
--- make VDB debugging functions (e.g. `test-segfault', which causes an
-   immediate crash!) conditional on `--with-debug'
--- rename `debug-xemacs-searches' -> `debug-searches'
--- rename `xft-debug-level' -> `debug-xft'
--- rename `debug-x-objects' -> `debug-x-fonts'
--- Turn on "compiled-function annotation hack" so that compiled-function
-   objects print the function they are assigned to
--- Resurrect byte-metering code when --with-debug; enable with variables
-   `byte-code-meter', `byte-metering-on'
--- Add more checks for invalid byte code; when a byte-code-related crash
-   occurs, output the last 100 instructions processed
--- Improved memory-usage mechanism -- removal of `*-memory-usage' in favor
-   of generalized `object-memory-usage'; `show-memory-usage' and
-   `show-object-memory-usage-stats' show, in addition to regular object usage,
-   associated non-Lisp usage as well as ancillary Lisp object usage;
-   `garbage-collect' and `object-memory-usage-stats' return information on
-   storage overhead, associated non-Lisp usage and ancillary Lisp usage
+-- remove: Last release under GPL v2; future releases will be GPL v3 or later. -- Mats Lidell, Jerry James, Stephen Turnbull, Aidan Kehoe, Ben Wing, Mike Sperber
+-- new: Functions may return multiple values as in Common Lisp (incompatible with cl.el implementation in some cases).
 
-Lisp documentation:
+User-Visible Bug Fixes and Minor Improvements
 
--- fix to `previous/next-single[-char]-property-change'
--- Document the keywords to the various sequence/list functions:
-     reduce, fill, replace, remove*, remove-if, remove-if-not, delete*,
-     delete-if, delete-if-not, remove-duplicates, delete-duplicates,
-     substitute, substitute-if, substitute-if-not, nsubstitute,
-     nsubstitute-if, nsubstitute-if-not, find, find-if, find-if-not,
-     position, position-if, position-if-not, count, count-if, count-if-not,
-     mismatch, search, sort*, stable-sort, merge, member*, member-if,
-     member-if-not, assoc*, assoc-if, assoc-if-not, rassoc*, rassoc-if,
-     rassoc-if-not, union, nunion, intersection, nintersection,
-     set-difference, nset-difference, set-exclusive-or, nset-exclusive-or,
-     subsetp, subst-if, subst-if-not, nsubst, nsubst-if, nsubst-if-not,
-     sublis, nsublis, tree-equal, cl-tree-equal-rec, pushnew, adjoin, subst
--- fix so that Common-Lisp argument lists get properly displayed in
-   function documentation
-
-Lisp API:
+-- fix: Crash by registering all CCL programs. -- Aidan Kehoe
+-- fix: Crash in PNG handling (issue570). -- Stephen Turnbull
+-- fix: Crash in _wgetdcwd(...) when linking against msvcrt8 -- Adrian Aichner
+-- fix: Crash in printing if gc_in_progress and in_debug_print -- Ben Wing
+-- fix: Crash when printing window with Qt as its buffer. -- Ben Wing
+-- fix: Crash when reset_glyph_cachels() is called on the minibuffer window when creating a frame. -- Ben Wing
+-- fix: #'gnuserv-edit-files goes to line only if linenumber non-nil. -- It's me FKtPp ;)
+-- fix: Make winclient startup more reliable.  -- Vin Shelton
+-- fix: Remove dk.xemacs.org from list of package download sites. -- Adrian Aichner
+-- fix: issue 546, use #'next-single-char-property-change in list-mode.el -- Aidan Kehoe
+-- improve: Exclude the current buffer in switch-to-buffer completion. -- Didier Verna
+-- improve: Font locking of Common Lisp source. -- Didier Verna
+-- improve: GNU-compatible optional COLUMN in indent-region. -- Aidan Kehoe
+-- improve: Handling of coding systems for new or zero-length files. -- Aidan Kehoe
+-- improve: Support the precomposed characters with stroke. -- Aidan Kehoe
+-- improve: Fallback to whole file in describe-char-unicode-data if database is unreadable. -- Aidan Kehoe
+-- improve: Make iso-left-tab equivalent to shift-tab. -- Aidan Kehoe
+-- improve: Indentation handling in Lisp modes. -- Ben Wing
+-- improve: Name lock symlinks .#FN# for file FN to avoid confusing extensions. -- Ben Wing
+-- improve: Set debug-xft to 0. -- Stephen Turnbull
+-- improve: Recognize bitmaps/ directory as containing bitmap files. -- Didier Verna
+-- new:  Use `emacs-data-roots' instead of `emacs-roots' where appropriate. -- Mike Sperber
+-- new: The `absolute' property for background pixmaps. -- Ben Wing
+-- improve: Match X11 bgcolor fallback of default face to gui element face. -- Didier Verna
+-- new: The background-placement face property. -- Didier Verna
 
--- `set-frame-displayable-pixel-height' and friends had bugs in them, esp.
-   on MS Windows, where they didn't work; fixed
--- `frame-pixel-height', `set-frame-pixel-height' and friends will now
-   use updated values for frame size (as of next redisplay) when the frame
-   was previously resized but a redisplay has not yet happened
--- When `set-case-table' called with a length-256 vector, don't overwrite
-   existing case table; instead, populate a new table
--- Fix internal case comparisons to use the "canonical case mapping" so that
-   they always work even in the presence of complex case mappings (other
-   than just upper -> lower and lower -> upper)
--- In `scan-lists' and friends, when an error occurs, return a `scan-error'
-   along with two arguments specifying the range in which the error occurred,
-   for GNU compatibility
--- Functions for dealing with conditional compilation of code depending on
-   presence or absence of features:
-   -- error-unless-tests-match -- signal an error unless a test expression
-      matches when file is compiled and loaded
-   -- byte-compile-file-being-compiled -- return name of file being
-      byte-compiled
-   -- compiled-if, compiled-when -- like `if' or `when' but test is evaluated
-      at compile time
--- Functions for doing stable set operations
-   -- stable-union, stable-intersection
+Build Infrastructure and Source Tree
 
-Internals: Lisp objects
+-- fix: Cygwin and MinGW need -export-all-symbols. -- Ben Wing
+-- fix: Cygwin needs pdump -- Jerry James
+-- fix: Windows link if --with-msw=no in modules. -- Ben Wing
+-- improve: Use cygwin_conv_path() when available. -- Ben Wing
+-- improve: make-mswin-unicode.pl Cygwin header compatibility, overridden prototypes, `review' command. -- Ben Wing, Vin Shelton
+-- improve: Darwin needs system malloc, s&m moved into configure. -- Stephen Turnbull
+-- fix: Turn warnings (disabled by accident) back on. -- Ben Wing
+-- improve: C++/G++ detection and configuration. -- Ben Wing
+-- fix: XE_COMPLEX_ARG registration of options in _AC_USER_OPTS (fixes "unknown option" warnings). -- Stephen Turnbull
+-- improve: Clean more build and debug products. -- Stephen Turnbull
+-- improve: Don't install silly symlinks when $(prefix) != $(exec_prefix). -- Mike Sperber
+-- improve: Installation log refers to "Xft feature" for safer grepping. -- Ben Wing
+-- improve: Paths configuration. -- Mike Sperber
+-- improve: Use HAVE_CONFIG_H to find config.h and prototypes. -- Ben Wing
+-- improve: `--with-error-checking' means `--with-error-checking=all'. -- Ben Wing
+-- improve: make-src-depend. -- Ben Wing
+-- improve: ndbm configuration -- Karl Kleinpaste, Stephen Turnbull, Ben Wing
+-- refactor: New targets config-changed, fix-perms -- Ben Wing
+-- refactor: Rename all enable-FOO variables to with-FOO. -- Ben Wing
+-- remove: Support for InfoDock, NeXTstep, old Ultrix, SCO Unix, Bull DPX/2, Data General Unix, RTU, Unisoft Unix, OffiX DND, dynodump, idd, sparcworks,  NEC EWS. -- Jerry James
+-- remove: Wise installer subtree, netinstall subtree, many files: ppc.ldscript, make-msgfile.c, make-po.c, yow.c, rcs-checkin, gnudepend.pl, leditcfns.c, wakeup.c -- Jerry James, Mats Lidell
 
--- reduce lcrecord header size from 3 words to 2
--- major change to the way Lisp objects are defined and declared; introduce
-   a cleaner surface-layer API that eliminates references to "lrecords" and
-   "lcrecords", and uses "frob-block object" in place of "basic object"/
-   "simple object"/etc.:
-   
-   Renamed:
+Documentation
 
-     ALLOC_LCRECORD_TYPE -> ALLOC_NORMAL_LISP_OBJECT (returns a Lisp object
-                                rather than a pointer)
-     ALLOCATE_FIXED_TYPE_AND_SET_IMPL -> ALLOC_FROB_BLOCK_LISP_OBJECT
-     BASIC_ALLOC_LCRECORD -> ALLOC_SIZED_LISP_OBJECT
-     DEFINE_LRECORD_IMPLEMENTATION -> DEFINE_*_LISP_OBJECT
-     DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION -> DEFINE_*SIZABLE_*LISP_OBJECT
-     DEFINE_LRECORD_*IMPLEMENTATION_WITH_PROPS -> DEFINE_*LISP_OBJECT, and
-        use OBJECT_HAS_METHOD() for the getprop, etc. methods
-     DEFINE_BASIC_LRECORD_IMPLEMENTATION -> DEFINE_*FROB_BLOCK_LISP_OBJECT
-     DEFINE_DUMPABLE_*/DEFINE_NODUMP_* instead of a 0 or 1 dumpable flag
-     DEFINE_*INTERNAL_* for "internal" Lisp objects (shouldn't escape
-                                                     to Lisp)
-     DEFINE_EXTERNAL_* -> DEFINE_MODULE_*
-     MAKE_LRECORD_IMPLEMENTATION -> MAKE_LISP_OBJECT
-     MAKE_EXTERNAL_LRECORD_IMPLEMENTATION -> MAKE_MODULE_LISP_OBJECT
-     DECLARE_LRECORD -> DECLARE_LISP_OBJECT
-     INIT_LRECORD_IMPLEMENTATION -> INIT_LISP_OBJECT
-     LCRECORD_HEADER -> NORMAL_LISP_OBJECT_HEADER
-     alloc_lrecord -> alloc_sized_lrecord (since it takes a size)
-     printing_unreadable_object -> printing_unreadable_object_fmt
-     printing_unreadable_lcrecord -> printing_unreadable_lisp_object
-
-   New:
+-- fix: Comment, docstring, and string non-syntactic defects and formatting. -- Stephen Turnbull, Ben Wing, Aidan Kehoe, Didier Verna
+-- improve: --quick-build, --with-debug, and --with-error-checking option help. -- Ben Wing
+-- improve: Bignum and fixnum correctness in manual. -- Aidan Kehoe
+-- improve: Change "special form" to "special operator". -- Aidan Kehoe
+-- improve: Docstrings for #'cadr, #'caddr, #'cadddr, #'debug-on-error, #'eval-when-compile, #'eval-and-compile, #'interactive, #'lisp-indent-specform, #'range-table-type, defun movement, #'make-coding-system-internal, #'make-syntax-table, docstring/formal argument matching. -- Stephen Turnbull, Aidan Kehoe, Ben Wing
+-- improve: FAQ describes repositories and VCS usage. -- Stephen Turnbull
+-- improve: Internals nodes on magic symbols, hash tables, finalizer methods, the new allocator, the new garbage collector, old-style DFC conversion macros, the different types of character and their uses, frame handling, window-system support, allocation of Lisp objects, sequence/list functions and their keywords. -- Marcus Crestani, Ben Wing, Aidan Kehoe
+-- improve: PROBLEMS describes crash on recent Cygwin 1.7. -- Ben Wing
+-- improve: PROBLEMS describes duplicate symbol warnings on Mac OS X. -- Stephen Turnbull
+-- improve: Show the double-quotes in the sample output correctly for function-arglist. -- Aidan Kehoe
+-- improve: Startup paths, Lisp, Emacs.ad, xemacs.1 reflect the change from `lib' to `share' for the architecture-independent directories. -- Mike Sperber, Jerry James
+-- improve: Treatment of hex and octal character escapes. -- Aidan Kehoe
+-- refactor: Move term.texi to the eterm package. -- Jerry James
+-- refactor: Remove custom.texi. -- Jerry James
 
-     lisp_object_storage_size() -- storage used for Lisp object including
-                                   overhead
-     LISP_OBJECT_UID() -- UID of Lisp object
-     zero_sized_lisp_object() -- zero out a Lisp object of variable size
-     zero_nonsized_lisp_object() -- zero out a Lisp object of fixed size
-     free_normal_lisp_object() -- free a non-frob-block Lisp object
-     LISP_OBJECT_FROB_BLOCK_P() -- return whether a Lisp object is a
-                                  frob-block object
-     IF_OLD_GC, IF_NEW_GC -- simplify declaration of Lisp objects w.r.t. NEW-GC
-                             when a finalizer may exist in one but not the
-                             other
-
-   Eliminated:
-
-     free_lrecord()
-     FREE_LISP_OBJECT():
-       Use free_normal_lisp_object()
-
-     old_zero_lcrecord()
-     old_zero_sized_lcrecord()
-     ZERO_LISP_OBJECT()
-     zero_lrecord():
-       Use zero_sized_lisp_object(), zero_nonsized_lisp_object()
-
-     copy_lrecord()
-     copy_sized_lrecord()
-     old_copy_lcrecord()
-     old_copy_sized_lcrecord()
-     COPY_SIZED_LISP_OBJECT()
-     COPY_SIZED_LCRECORD()
-     COPY_LISP_OBJECT():
-       Use copy_lisp_object()
-
-     LISP_OBJECT_STORAGE_SIZE():
-       Use lisp_object_storage_size()
+Lisp API
 
--- new disksave method for Lisp objects, separated out from the finalize method
--- new, non-static way of initializing Lisp object methods; used for disksave,
-   getprop, putprop, remprop, object_plist, various memory-usage methods:
-   OBJECT_HAS_METHOD(), OBJECT_HAS_PROPERTY(), etc.
--- Lisp objects now must specify a print method; use either
-   internal_object_printer() or external_object_printer() as a default
--- equal method for Lisp objects has new `foldcase' param, to implement
-   case-folding comparison ala `equalp'
--- Each type of Lisp object has separate UID space
--- Redo and generalize memory-usage mechanism, add memory-usage methods for
-   various objects; the following objects now have memory-usage methods:
-   buffers, case tables, hash tables, frames, charsets, scrollbar instances,
-   specifiers, windows, window mirrors
--- Rename LISP_TO_VOID -> STORE_LISP_IN_VOID,
-   VOID_TO_LISP -> GET_LISP_FROM_VOID; add STORE_VOID_IN_LISP,
-   GET_VOID_FROM_LISP
--- Other renames:
-   XD_LISP_OBJECT_BLOCK_PTR -> XD_INLINE_LISP_OBJECT_BLOCK_PTR
--- Other new functions and macros:
-   lisp_object_memory_usage() -- memory usage of Lisp object, including
-                                 associated non-Lisp usage and ancillary Lisp
-                                 usage
-   tree_memory_usage() -- memory usage of a tree of conses and/or vectors
-   SAFE_LIST_LOOP_* -- loop over a possibly invalid list without signalling
-                       an error
-   listn() -- variable-argument list creation, number of arguments specified
-   listu() -- variable-argument list creation, terminated with Qunbound
-
--- Make the first lrecord type have value 1 not 0 so that attempts to
-   interpret 0'd memory as a Lisp object will fail more obviously
+-- fix: #'autoload-featurep-protect-autoloads always inserts a coding-system cookie. -- Ben Wing
+-- fix: #'compare-strings coerces bounds to be within strings -- Stephen Turnbull
+-- fix: #'insert-file-contents always sets the buffer coding system. -- Aidan Kehoe
+-- fix: #'letf checks whether arguments to #'values are bound, and make them unbound after evaluating BODY. -- Aidan Kehoe
+-- fix: #'next-list-mode-item, #'switch-to-completions pay attention to non-text-property extents. -- Aidan Kehoe
+-- fix: #'pre-display-buffer-function is not set to `get-frame-for-buffer'. -- Michael Sperber
+-- fix: Add argument information built-in special operators. -- Aidan Kehoe
+-- fix: Allow	deleting windows in `post-command-hook'. -- Michael Sperber
+-- fix: Argument annotations of For, Fand, Fif, Fwhen, Fcond, Fprogn, Fprog1, Fprog2, FletX, Flet, Fwhile, Fdefvar, Fdefconst, Frun_hooks, Frun_hooks_with_args, Frun_hooks_with_args_until_success, Frun_hooks_with_args_until_failure -- Aidan Kehoe
+-- fix: Argument handling in make-autoload. -- Mike Sperber
+-- fix: Canonicalize spaces in argument lists for function-documentation-1. -- Ben Wing
+-- fix: Correct error in specifier canonicalization -- Aidan Kehoe
+-- fix: Disable specifier memory-usage stats due to circularities. -- Ben Wing
+-- fix: Ffunctionp does not return t for special operators. -- Aidan Kehoe
+-- fix: Fnbutlast, Fbutlast accept dotted lists. -- Aidan Kehoe
+-- fix: Initialize ?\012 as whitespace -- Aidan Kehoe
+-- fix: Issue145: Allow default-network-coding-system and default-process-coding-system to be nil. -- Stephen Turnbull
+-- fix: Many bugs revealed by Paul Dietz's test suite. -- Aidan Kehoe
+-- fix: Search for Control-1 chars in boyer_moore() -- Ben Wing
+-- fix: Signal a read error upon encountering a ratio constant with a zero denominator. -- Jerry James
+-- improve: #'beginning-of-defun, #'end-of-defun behavior customizable via beginning-of-defun-function, end-of-defun-function. -- Andreas Roehler
+-- improve: #'cd use of cd-path and CDPATH. -- It's me FKtPp ;), Aidan Kehoe
+-- improve: #'ceiling, #'floor, #'round, #'truncate, #'fceiling, #'ffloor, #'fround, #'ftruncate: support Common Lisp, including optional DIVISOR arguments, returning multiple values, obey contamination rules, round towards the even number in ambiguous cases. -- Aidan Kehoe
+-- improve: #'coerce takes 'fixnum as a destination type.  -- Aidan Kehoe
+-- improve: #'list-length, #'remf, #'getf, #'tailp, #'cl-set-getf, #'cl-do-remf, #'ldiff, #'endp, #'subseq (new, Common Lisp compatible). -- Aidan Kehoe
+-- improve: #'char<, #'char>=, #'char>, #'char<=, #'alpha-char-p, #'graphic-char-p, #'standard-char-p, #'char-name, #'name-char, #'upper-case-p, #'lower-case-p, #'both-case-p, #'char-upcase, #'char-downcase, #'integer-length (new, Common Lisp compatible). -- Aidan Kehoe
+-- improve: #'mapvector, #'mapconcat, #'mapcar to support multiple SEQUENCES and error with circular lists -- Aidan Kehoe
+-- improve: #'nreverse, #'reverse accept any sequence. -- Aidan Kehoe
+-- improve: #'try-completion, #'suggest-key-bindings, #'float-time, #'substring-no-properties, #'turn-off-auto-fill, #'describe-char-unihan-field-descriptions (GNU compatibility). -- Aidan Kehoe, Malcolm Purvis, Mike Sperber
+-- improve: #remove*, #cl-delete-duplicates, #delete-duplicates, #'symbol-file, #'find-function. -- Aidan Kehoe
+-- improve: 'buffer-display-count, 'buffer-display-time (new, GNU-compatible) -- Jeff Sparkes, Aidan Kehoe
+-- improve: 'discarded-consing, 'quoted-lambda new warning types. -- Aidan Kehoe
+-- improve: Accept #B<binary>, #O<octal>, and #X<hex> like GNU Emacs. -- Mike Sperber
+-- improve: Accept keywords in the hash table read syntax. -- Aidan Kehoe
+-- improve: Handling of object plists, especially processes. -- Aidan Kehoe
+-- improve: Keyword arguments handling. -- Aidan Kehoe
+-- improve: Turn on load-ignore-out-of-date-elc-files by default -- Ben Wing
+-- improve: Type spec handling in coerce, cl-make-type-test -- Aidan Kehoe
+-- improve: Use keywords instead of ordinary symbols in some XEmacs-specific functions. -- Aidan Kehoe
+-- improve: read-buffer gets new optional argument EXCLUDE.
+-- new: #'bytecomp-load-hook. -- Aidan Kehoe
+-- new: #'canoncase; use it with chars in internal_equalp. -- Aidan Kehoe
+-- new: #'constantly from ANSI Common Lisp, with SBCL extension. -- Aidan Kehoe
+-- improve: #device-color-cells (tty_device_system_metrics()) returns metrics for num-color-cells and num-bit-planes (issue757) on TTYs. -- Jeff Sparkes
+-- new: #'error-unless-tests-match, #'byte-compile-file-being-compiled, #'compiled-if, #'compiled-when for supporting conditional compilation of different code depending on the presence or absence of features. -- Ben Wing
+-- new: #'format-time-string implements Roman month numbers. -- Aidan Kehoe
+-- new: #'get-properties. -- Didier Verna
+-- new: #'process-get, #'process-put, #'process-plist, #'set-process-plist for GNU compatibility -- Aidan Kehoe
+-- new: #'save-some-buffers-action-alist, #'diff-files-for-recover, #'diff-buffer-with-file, -- Mike Sperber
+-- new: #'set-window-configuration gets optional `set-frame-size-p' argument. -- Mike Sperber
+-- new: #'set-window-pixel-width, #'set-window-pixel-height. -- Mike Sperber
+-- new: #'stable-union, #'stable-intersection. -- Ben Wing
+-- new: 'debug-xemacs, 'debug-regexps, 'debug-soe, 'debug-xft (was 'xft-debug-level), 'debug-searches (was 'debug-xemacs-searches), 'byte-code-meter, 'byte-metering-on variables for debugging. -- Ben Wing
+-- new: Common-Lisp-compatible #'the, #'array-dimension-limit, #array-total-size-limit, #'array-rank-limit, #'equalp (especially in hash tables). -- Aidan Kehoe
+-- new: Errors 'invalid-keyword-argument, 'scan-error. -- Aidan Kehoe, Ben Wing
+-- new: Implement multiple values a la Common Lisp.  New bytecodes: Bbind_multiple_value_limits, Bmultiple_value_call, Bmultiple_value_list_internal, Bthrow.  Modified bytecodes: BRgotoifnilelsepop, BRgotoifnonnilelsepop. Bcall, Bdup, Bgotoifnilelsepop, Bgotoifnonnilelsepop, Breturn.  New macros: DISCARD_PRESERVING_MULTIPLE_VALUES, POP_WITH_MULTIPLE_VALUES, TOP_ADDRESS, TOP_LVALUE, TOP_WITH_MULTIPLE_VALUES.  Modified macros: DISCARD, POP, TOP.  New functions: Fand, Fcond, Fdefconst, Fdefvar, Feval, Ffuncall, Fif, Flet, FletX, Fmultiple_value_call, Fmultiple_value_list_internal, Fmultiple_value_prog1, For, Fprog2, Fsetq, Fsetq_default, Fsignal, Fthrow, Fvalues, Fvalues_list, Fwhile, Fwith_output_to_temp_buffer.  Modified functions: Fcall_interactively, bind_multiple_value_limits, button_item_to_widget_value, check_if_suppressed, connector, dde_eval_string, evaluate_xpm_color_symbols, execute_help_form, flagged_a_squirmer, glyph_instantiator_to_glyph, gui_item_display_flush_left, gui_item_value, make_multiple_value, mark_multiple_value, menu_convert, menu_descriptor_to_widget_1, multiple-values-limit, multiple_value_aref, multiple_value_aset, multiple_value_call, multiple_value_list_internal, pop_kbd_macro_event, populate_menu_add_item, print_multiple_value, size_multiple_value, syms_of_eval, values2. wv_set_evalable_slot, x_IO_error_handler.  Exported functions: throw_or_bomb_out. New variables: multiple-values-limit, multiple_value_current_limit.  Exported symbols: Qobsolete_throw, Qthrow.  New lrecord_type: multiple_value.  -- Aidan Kehoe
+-- new: macro -- Aidan Kehoe
+-- refactor:  #'bq-vector-contents, #'bq-list*, #'format-decode removed; #'purecopy aliased to #'identity and uses removed. -- Aidan Kehoe
+-- refactor: #'byte-compile-compiled-obj-to-list, #'custom-declare-variable-list removed. -- Aidan Kehoe
+-- refactor: #'car-less-than-car, #'cdr-less-than-cdr move to format.el, #'list* moved to subr.el. -- Aidan Kehoe
+-- refactor: #'ceiling*, #'floor*, #'round*, #'truncate* obsoleted. -- Aidan Kehoe
+-- refactor: #'cl-function-arglist takes exactly one arg. -- Ben Wing
+-- refactor: #'init-file-user, #'pui-add-install-directory, #'user-original-login-name, #'isearch-yank-x-selection, #'isearch-yank-x-clipboard removed. -- Ben Wing.
+-- refactor: #'paths-filter, #'paths-uniq-append removed.  -- Aidan Kehoe
+-- refactor: #'show-buffer, #'buffer-flush-undo, #'buffer-local-value, #'x-color-values, #'mswindows-color-list, #'Info-default-directory-list, #'line-beginning-position, #'line-end-position, #'obsolete-throw, #'cl-mapc, #'byte-code-function-p, #'interactive-form, #'assq-delete-all, #'makehash, #'display-column-mode obsoleted. -- Ben Wing
 
-Internals: Arrays and Tables
-
--- Major rewrite, updated documentation to dynarr functions and macros
-
-   Rename:
-
-        Dynarr_add_lisp_string -> Dynarr_add_ext_lisp_string
-        Dynarr_set_length -> Dynarr_set_lengthr ("restricted")
-        Dynarr_increment -> Dynarr_incrementr
-        Dynarr_resize_if -> Dynarr_resize_to_add
-
-   New functions:
-
-        Dynarr_elsize = dy->elsize_
-        Dynarr_set_length(): Set length, resizing as necessary
-        Dynarr_set_length_and_zero(): Set length, resizing as necessary,
-          zeroing out new elements
-        Dynarr_increase_length(), Dynarr_increase_length_and_zero():
-          Optimization of Dynarr_set_length(), Dynarr_set_length_and_zero()
-          when size is known to increase
-        Dynarr_resize_to_fit(): Resize as necessary to fit a given length.
-        Dynarr_set(): Set element at a given position, increasing length
-          as necessary and setting any newly created positions to 0
-        ERROR_CHECK_DYNARR, dynarr_checking_assert()
-
--- Extracted and generalized gap array code from extents.c to array.c
--- Rewrite range tables to use gap arrays; redo put_range_table() so it's
-   O(log n) when adding a localized range
-
-Internals: Misc
+Internal API and Implementation
 
--- Collect allocation-statistics code in one place
--- if (...) ABORT (); --> assert ();
--- various changes to frame-geometry macros in frame-impl.h, gutter.h, etc.,
-   and frame-sizing code in frame.c:
-   -- TOP_BORDER, BOTTOM_BORDER, etc. -> TOP_EDGE, BOTTOM_EDGE, etc.
-   -- GUTTER_POS_LOOP -> EDGE_POS_LOOP
-   -- hardcoded use of '4' -> NUM_EDGES
-   -- default_face_height_and_width -> default_face_width_and_height, with
-        arguments reversed
-   -- width/height arguments reversed in the following, to put width first:
-        -- default_face_font_info
-	-- default_face_height_and_width (see above)
-	-- check_frame_size
-	-- frame_size_valid_p (made into a static function)
-        -- change_frame_size and
-        -- change_frame_size_1
-   -- FRAME_BORDER_* -> FRAME_INTERNAL_BORDER_*
-   -- new FRAME_INTERNAL_BORDER_SIZE(), FRAME_REAL_TOOLBAR_BOUNDS()
-   -- pixel_to_char_size -> pixel_to_frame_unit_size
-   -- char_to_pixel_size -> frame_unit_to_pixel_size
-   -- pixel_to_real_char_size -> pixel_to_char_size
-   -- char_to_real_pixel_size -> char_to_pixel_size
-   -- Eliminate old round_size_to_char, because it didn't really
-      do anything differently from round_size_to_real_char()
-   -- round_size_to_real_char -> round_size_to_char; any places that
-      called the old round_size_to_char should just call the new one.
--- Major updates to internals manual and long comments in C files:
-   frame geometry, specifier authors, MS-Windows compilation flags, xlike
-   mechanism, magic symbols, lrecords, NEW-GC, dynarrs, ...
--- Major reworking of DFC macros e.g. EXTERNAL_TO_C_STRING renamed to
-   EXTERNAL_TO_ITEXT; make them return their values when possible rather
-   than storing into a named variable:
-
-	EXTERNAL_TO_C_STRING -> EXTERNAL_TO_ITEXT
-	EXTERNAL_TO_C_STRING_MALLOC -> EXTERNAL_TO_ITEXT_MALLOC
-	SIZED_EXTERNAL_TO_C_STRING -> SIZED_EXTERNAL_TO_ITEXT
-	SIZED_EXTERNAL_TO_C_STRING_MALLOC -> SIZED_EXTERNAL_TO_ITEXT_MALLOC
-	C_STRING_TO_EXTERNAL -> ITEXT_TO_EXTERNAL
-	C_STRING_TO_EXTERNAL_MALLOC -> ITEXT_TO_EXTERNAL_MALLOC
-	LISP_STRING_TO_EXTERNAL
-	LISP_STRING_TO_EXTERNAL_MALLOC
-	LISP_STRING_TO_TSTR
-	C_STRING_TO_TSTR -> ITEXT_TO_TSTR
-	TSTR_TO_C_STRING -> TSTR_TO_ITEXT
-
-	The following four still return their values through parameters,
-	since they have more than one value to return:
-	
-	C_STRING_TO_SIZED_EXTERNAL -> ITEXT_TO_SIZED_EXTERNAL
-	LISP_STRING_TO_SIZED_EXTERNAL
-	C_STRING_TO_SIZED_EXTERNAL_MALLOC -> ITEXT_TO_SIZED_EXTERNAL_MALLOC
-	LISP_STRING_TO_SIZED_EXTERNAL_MALLOC
-
--- Eliminate unused second argument to xfree()
--- Whenever xfree() a structure field, set the field to 0 afterwards, to
-   protect against double free or possible attempt to interpret the field
-   later on
--- Move `equalp' to C
--- Rename `enum font_specifier_matchspec_stages':
-   initial -> STAGE_INITIAL
-   final -> STAGE_FINAL
-   impossible -> NUM_MATCHSPEC_STAGES
--- Rename:
-   PROCESSING_X_CODE -> THIS_IS_X
-   PROCESSING_GTK_CODE -> THIS_IS_GTK
--- Rename:
-	write_c_string -> write_cistring
-	build_intstring -> build_istring
-	build_string -> build_cistring
-	build_ext_string -> build_extstring
-	make_ext_string -> make_extstring
-	buffer_insert_c_string -> buffer_insert_ascstring
-	intern_int -> intern_istring
--- Lots of cleanup of (not-yet-working) message translation code
--- Lots of Mule-izing:
-   -- change raw `char *' to some characterized type to indicate the
-      semantics properly
-   -- change all occurrences of Qnative to some more specific encoding
-   -- create new encodings:
-        -- Qtime_function_encoding
-           Qtime_zone_encoding
-           Quser_name_encoding
-           Qerror_message_encoding
-           Qjpeg_error_message_encoding
-           Qtooltalk_encoding
-           Qgtk_encoding
-           Qx_error_message_encoding
--- Major unification of X and GTK redisplay code into "xlike" code, creation
-   of "xlike" mechanism
--- Rename:
-   LOCAL_TO_WIN32_FILE_FORMAT -> LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN
-   WIN32_TO_LOCAL_FILE_FORMAT -> INTERNAL_MSWIN_TO_LOCAL_FILE_FORMAT
-   LOCAL_FILE_FORMAT_TO_TSTR -> LISP_LOCAL_FILE_FORMAT_TO_TSTR.
-   LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR -> LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR
-   Create new LOCAL_FILE_FORMAT_TO_TSTR
--- Redo the code in code-init.el that initializes coding-system defaults
--- separate HAVE_XFT into HAVE_XFT and USE_XFT, to facilitate compiling
-   simultaneously with X and GTK
-
-File Additions, Deletions, Renames, etc.
-
--- Convert various source files to UTF-8
--- File renames:
-   select-common.h -> select-xlike-inc.c
-   xgccache.{ch} -> gccache-x.{ch}
-   toolbar-common.{ch} -> toolbar-xlike.{ch}
-   objects*.{ch} -> fontcolor*.{ch}
-   dynarr.c -> array.c
--- New files:
-   bytecode-ops.h
-   sysgtk.h, sysgdkx.h
-   keymap-buttons.h, keymap-slots.h
--- Deleted files:
-   event-gtk.h
--- File moves:
-   moved test-harness.el to Lisp directory
-   moved etc/gdbinit.in to src/.gdbinit.in.in
-
-Internals: Debugging
+-- fix: #'canna-henkan-begin. -- Ben Wing
+-- fix: #'condition-case gets correct syntax in #'progress-feedback-dispatch-non-command-events. -- Stephen Turnbull
+-- fix: #'custom-variable-prompt checks explicitly for nil before for symbol. -- Aidan Kehoe
+-- fix: #'delete-duplicates compiler macro and calls to it. -- Aidan Kehoe
+-- fix: #'eql Byte-compilation -- Aidan Kehoe
+-- fix: #'eql for extended number types and the hash implementation -- Aidan Kehoe
+-- fix: #'fc-name-unparse memory leak. -- Jerry James
+-- fix: #'fill is much more careful about resizing a string argument. -- Aidan Kehoe
+-- fix: #'finish-set-language-environment generation of display-table entries for error octet characters. -- Ben Wing
+-- fix: #'with-trapping-errors gets correct :operation arguments in #'font-lock-pre-idle-hook and #'find-tag-default. -- Stephen Turnbull
+-- fix: #83, #8C mapping in koi8-c, #A6 mapping in viscii. -- Ben Wing, Aidan Kehoe
+-- fix: Bignum initialization and finalization. -- Jerry James
+-- fix: Buffer overrun (issue630). -- Stephen Turnbull, Aidan Kehoe
+-- fix: Build failure, Apple's g++-4.0.1, Mac OS 10.4. -- Aidan Kehoe
+-- fix: Call MODE-mode for -*-MODE-*- only if it has a function binding. -- Aidan Kehoe
+-- fix: Call character_to_event() on characters received from XIM. -- Aidan Kehoe
+-- fix: Check for Xft before using it, fixing openSUSE bug #558764. -- Stephen Turnbull
+-- fix: Coding system initialization. -- Aidan Kehoe
+-- fix: Compile errors under C++ and/or Visual Studio 6 in syswindows.h. -- Ben Wing
+-- fix: Computation of fastmap in charset_mule_not() -- Ben Wing
+-- fix: Conditionalize COM support on HAVE_MS_WINDOWS -- Ben Wing
+-- fix: Don't use Boyer-Moore for case-insensitive search if the search pattern contains repeated Ibytes. -- Aidan Kehoe
+-- fix: Fall back from GTK to X11 in gnuclient. -- Aidan Kehoe
+-- fix: Frame geometry (especially pixelized) to make it a bit easier to understand and fix some bugs. -- Ben Wing
+-- fix: Function prototype/definition mismatches. -- Ben Wing
+-- fix: GCPROing. -- Ben Wing, Aidan Kehoe
+-- fix: GNU coding standards in modules/base64. -- Ben Wing
+-- fix: Handling of errors in bytecode.c and floatfns.c. -- Jerry James
+-- fix: Handling of escape characters when splitting strings. -- Aidan Kehoe
+-- fix: Handling of possible meta characters (?\x80-?\xFF) -- Aidan Kehoe
+-- fix: I18N encapsulation commands for Windows. -- Ben Wing
+-- fix: Initialize `result' before calling FcFontMatch in Ffc_font_match and xft_find_charset_font -- Jerry James
+-- fix: Integer canonicalization. -- Aidan Kehoe
+-- fix: Integer overflow when allocating image memory -- Jerry James
+-- fix: JPEG macro FAR conflict in eimage code. -- Vin Shelton
+-- fix: Match integer sizes in assignment in read_event_from_tty_or_stream_desc -- Ben Wing
+-- fix: Missing includes to termcap.c. -- Aidan Kehoe
+-- fix: Missing names and ISO 639 codes for Arabic, Russian, and Thai. -- Stephen Turnbull
+-- fix: Move CYGWIN_HEADERS to s/cygwin32.h and s/mingw32.h, fixing some compile problems. -- Ben Wing
+-- fix: Move HAVE_SCROLLBARS test so the code can compile under Visual Studio 6. -- Vin Shelton
+-- fix: Notices in aclocal.m4, ad2c, build-msw-release.sh, compface.mak, cvtmail.c, easymenu.el, elhash.c, emacs.c, emodules.texi, europe-theme.el, example-theme.el, external-widget.texi, fakemail.c, font.el, fontconfig.el, frame.el, glade.c, glyph-test.el, gnome.el, gnuserv.c, gnuserv.h, gnuslib.c, gtk test files, gtk-compose.el, gtk-glue.c, gtk-marshal.el, gtk-package.el, gtk-widget-accessors.el, gtk-xemacs.c, gtk-xemacs.h, gtk.el, gutter-items.el, gutter-test.el, gutter.el, hyper-apropos.el, insert-data-in-exec.c, installexe.sh, lao.txt, lwlib-internal.h, m/alpha.h, make-path.c, menu-items.el, modules/sample/external/Makefile.in.in, modules/sample/external/configure.ac, modules/sample/external/sample.c, modules/sample/internal/sample.c, mule/canna-leim.el alist.el, mule/kinsoku.el, multicast.el, number*.[ch], profile.c, regressiontest.pl, reproduce-crashes.el, s/hpux11-shr.h, s/mach-bsd4-3.h, s/sco7.h, s/sco7.h, sigpipe.c, site-load.el, symsinit.h, tcp.c, term/bg-mouse.el, term/sup-mouse.el, term/vt100.el, test-ew-motif.c, test-ew-xlib.c, tests/external-widget/Makefile, tiff.mak, ui-byhand.c, ui-gtk.c, ui-gtk.h, view-less.el, xemacs.rc, and xpm.mak. -- Jerry James, Stephen Turnbull
+-- fix: Parse UNUSED and USED_IF right in make-docfile.c -- Stephen Turnbull
+-- fix: Prune correct number of entries from load-history. -- Aidan Kehoe
+-- fix: Qlist, Qstring mistakenly declared twice. -- Ben Wing
+-- fix: Simplify assertion in event_pixel_translation for Visual C 6. -- Vin Shelton
+-- fix: Synchronization of window point with current point when switching buffers. -- Michael Sperber
+-- fix: Syntax errors in Ffc_config_app_font_add_file and Ffc_config_app_font_add_dir -- Jerry James
+-- fix: Type correctness in split_string_by_ichar_1. -- Aidan Kehoe
+-- fix: Type correctness of char and Ichar types. -- Ben Wing
+-- fix: UTF-8-ize mule-wnnfns.c. -- Ben Wing
+-- fix: Upper and lowercase mappings were reversed for some old-Cyrillic chars. -- Ben Wing
+-- fix: Use correct timestamp with XSetInputFocus. -- Mike Sperber
+-- fix: Use of REGISTER in certain functions. -- Aidan Kehoe
+-- fix: Use unencumbered texts in #'split-string-by-char -- Aidan Kehoe
+-- fix: Warning elimination. -- Aidan Kehoe, Ben Wing, Jerry James, Stephen Turnbull
+-- fix: `escape-quoted' handling of characters in the 0x80 - 0x9F range. -- Ben Wing
+-- fix: const handling in fileio.c. -- Ben Wing, Vin Shelton
+-- fix: count_with_tail(), FdeleteX(), FremoveX() handling of COUNT argument. -- Aidan Kehoe
+-- fix: fontmgr may not use Fsignal() in C, as it may return. -- Ben Wing
+-- fix: g++ 4.3 complaints about implicit conversions of const char * to char * -- Ben Wing
+-- fix: gif_instantiate() tries harder to find an appropriate GIF colormap. -- Adam Sjøgren
+-- fix: gnuserv found in `exec-directory'. -- Michael Sperber
+-- fix: gtk_xpm_instantiate() hotspot coordinates are Lisp integers -- Stephen Turnbull
+-- fix: integerp byte code gets fixnump semantics. -- Aidan Kehoe
+-- fix: lpRemoteName is an XELPTSTR. -- Vin Shelton
+-- fix: memmove() substituted for strcpy() in etags.c -- Sjoerd Mullender
+-- fix: modeline face avoids using fallbacks. -- Aidan Kehoe
+-- fix: module_load() gets one more dereference on f = dll_variable(. -- Stephen Turnbull
+-- fix: off-by-one bug in mswindows_link -- Ron Isaacson
+-- fix: query_string_font() uses proper domain for cachel updating. -- Didier Verna
+-- fix: query_string_geometry() lookup domain. -- Didier Verna
+-- fix: realpath() supplied by Darwin used to get the canonical case for filenames. -- Aidan Kehoe
+-- fix: resize_string() must not free dumped data. -- Aidan Kehoe
+-- fix: staticpro_names() stores actual names. -- Ben Wing
+-- fix: ulong_to_bit_string() prints a zero, not the empty string. -- Aidan Kehoe
+-- fix: undecided_canonicalize_after_coding() to retain CODESYS info -- Aidan Kehoe
+-- fix: unicode_convert() handles very short input strings correctly. -- Aidan Kehoe
+-- fix: unicode_query() initializes invalid_lower_limit. -- Ben Wing
+-- fix: unicode_query() missing return type. -- Stephen Turnbull
+-- fix: xface_normalize() to handle inline data properly. -- Didier Verna
+-- improve: #'byte-compile-initial-macro-environment uses #'the and compilable lambda expressions -- Aidan Kehoe
+-- improve: #'byte-compile-lambda issues warnings for interactive forms. -- Aidan Kehoe
+-- improve: #'cl-prettyprint handles (function ...) specially. -- Aidan Kehoe
+-- improve: #'documentation, #'function-documentation-1, #'describe-function-1, #'hyper-apropos-get-doc, #'describe-function, #'function-arglist, #'function-documentation. -- Aidan Kehoe, Didier Verna, Ben Wing
+-- improve: #'frame-pixel-height and friends reflect what will happen as of the next redisplay. -- Ben Wing
+-- improve: #'function now parallels #'quote. -- Aidan Kehoe
+-- improve: #'handle-pre-motion-command-current-command-is-motion. -- Aidan Kehoe
+-- improve: #'read-from-minibuffer uses buffer (format " *Minibuf-%d*" (minibuffer-depth)), regardless of depth. -- Aidan Kehoe
+-- improve: #'show-memory-usage, #'show-object-memory-usage-stats. -- Ben Wing, Marcus Crestani
+-- improve: #'some, #'every used in info.el, format.el, files.el -- Aidan Kehoe
+-- improve: #'the may warn at byte-compile time. -- Aidan Kehoe
+-- improve: Allocate lrecord arrays in own size class. -- Marcus Crestani
+-- improve: Case map handling. -- Ben Wing
+-- improve: Colormap handling on Windows. -- Aidan Kehoe
+-- improve: Context-specific handling of system coding systems where we used to just use Qnative. -- Ben Wing
+-- improve: Cygwin handling of pathname coding systems. -- Ben Wing
+-- improve: Dynarr code. -- Aidan Kehoe, Ben Wing
+-- improve: Error-checking in Fquote, Ffunction, -- Aidan Kehoe
+-- improve: Fontconfig API more complete. -- Stephen Turnbull
+-- improve: Hash table's rehash threshold default now based on size and test function. -- Aidan Kehoe
+-- improve: Keymap handling. -- Ben Wing	
+-- improve: Make error messages better reflect the text that was encountered in read_escape. -- Aidan Kehoe
+-- improve: Make sure distinct symbol macros with identical names expand distinctly. -- Aidan Kehoe
+-- improve: Mule-ize database.c partially, modules/postgresql, mule-wnnfns.c. -- Ben Wing
+-- improve: Optimizations: remove redundant lambdas and interning of symbols for temporary character sets, #'hash-table-key-list, #'hash-table-value-list, #'hash-table-key-value-alist, #'hash-table-key-value-plist, #'read-behavior, #'complement, #'regexp-quote, #'concatenate, #'mapc, #'do-autoload-commands, #'packages-find-package-library-path, #'frame-list, #'extent-descendants, #'buffer-tag-table-files, #'preloaded-file-list, #'device-list, #'proclaim-inline, #'proclaim-notinline, #'inx-available-font-sizes, #'let-specifier, #'pui-add-required-packages, #'mswindows-available-font-sizes, #'modeline-minor-mode-menu, #'minibuf-directory-files, #'handle-pre-motion-command-current-command-is-motion, #'finish-set-language-environment, #'mod*, #'rem*, #'xpm-color-symbols, #'=, #'<, #'>, #'<=, #'>= -- Aidan Kehoe
+-- improve: Print the device in a frame structure. -- Aidan Kehoe
+-- improve: Qunbound, not Qnil used as second arg to call to syntax_error() -- Ben Wing
+-- improve: Remove the TYPE argument from xfree(). -- Ben Wing
+-- improve: Replace "obscure" symbol names with uninterned symbols. -- Aidan Kehoe
+-- improve: Track type of range tables. -- Ben Wing
+-- improve: UTF-8-ize canna/canna_api.c, unicode.el. -- Ben Wing
+-- improve: Use external giflib instead of internal GIF support. -- Jerry James
+-- improve: Warn or error if (quote ...) or (function ...) quotes more than one object -- Aidan Kehoe
+-- improve: emacs_rint() always used for bignum consistency -- Aidan Kehoe
+-- improve: emodules_doc_sym() and emodules_doc_subr() take Ascbyte * pointers -- Ben Wing
+-- improve: extern Lisp_Object declarations moved -- Ben Wing
+-- improve: lrecord UID's get separate UID space for each type.  Display UID's consistently when appropriate. -- Ben Wing
+-- improve: print_symbol() escapes symbols that look like ratios. -- Aidan Kehoe
+-- improve: put_range_table() becomes O(log n) for adding a localized range. -- Ben Wing
+-- improve: specifier_instance_from_inst_list calls call_with_suspended_errors() with ERROR_ME_WARN. -- Aidan Kehoe
+-- improve: stat() failure ignored in file_name_completion -- Henrique Martins
+-- fix: Bignums handled correctly by NATNUMP, #'member*, #'eql, #'assoc*. -- Aidan Kehoe
+-- new: DEFAULT_DIRECTORY_FALLBACK is a directory that should "always" be available; avoid fatal error if the current directory doesn't exist, chdir to DEFAULT_DIRECTORY_FALLBACK instead. -- Aidan Kehoe
+-- new: ERROR_CHECK_DYNARR, dynarr_checking_assert(), ERROR_CHECK_ANY. -- Ben Wing
+-- new: Macros for getting the size/edges of various rectangles surrounding the paned area. -- Ben Wing
+-- new: Symbols for type checks in sequence functions. -- Aidan Kehoe
+-- new: Typedefs for PCVOID and PDWORD_PTR for non-Cygwin. -- Ben Wing
+-- new: USED_IF_SCROLLBARS, fix warnings. -- Ben Wing
+-- new: UTF-8 support in Cygwin. -- Ben Wing
+-- new: deadbeef_memory() exported. -- Ben Wing
+-- new: pluralize_word(), pluralize_and_append(). -- Ben Wing
+-- new: printing_unreadable_lcrecord(). -- Ben Wing
+-- refactor: #'byte-compile-file-form so that #'symbol-value and #'load-time-value can be implemented directly. -- Aidan Kehoe
+-- refactor: #'byte-compile-funarg-n (new) used to create the various byte-compile-funarg functions, which check for quoted lambdas in given positions. -- Aidan Kehoe
+-- refactor: #'capitalize-string-as-title uses #'with-string-as-buffer-contents. -- Ben Wing
+-- refactor: #'custom-quote is aliased to #'quote-maybe. -- Aidan Kehoe
+-- refactor: #'list-length, #'default-file-system-ignore-case, #'equalp, #'fill, #'sort*, #'merge, #'mapcar*, #'map, #'maplist, #'mapc, #'mapl, #'mapcan, #'mapcon, #'query-coding-region, #'make-coding-system, #'reduce, #'replace, #'some, #'every moved to C. -- Aidan Kehoe
+-- refactor: #'notany, #'notevery get compiler macros. -- Aidan Kehoe
+-- refactor: #'substring aliased to #'subseq. -- Aidan Kehoe
+-- refactor: #if 0 out some unused functions in malloc.c. -- Ben Wing
+-- refactor: 'Qcoerce moved to general-slots.h -- Aidan Kehoe
+-- refactor: 'default-file-system-ignore-case moved to fileio.c. -- Aidan Kehoe
+-- refactor: ARRAYP(), SEQUENCEP(), CHECK_ARRAY(), CHECK_SEQUENCE(), Fbit_vector, Fstring, FmapcarX in lisp.h -- Aidan Kehoe
+-- refactor: Always use platform Xmu. -- Jerry James
+-- refactor: Bignums get: New macros ROUNDING_CONVERT, CONVERT_WITH_NUMBER_TYPES, CONVERT_WITHOUT_NUMBER_TYPES, MAYBE_TWO_ARGS_BIGNUM, MAYBE_ONE_ARG_BIGNUM, MAYBE_TWO_ARGS_RATIO, MAYBE_ONE_ARG_RATIO, MAYBE_TWO_ARGS_BIGFLOAT, MAYBE_ONE_ARG_BIGFLOAT, MAYBE_EFF, MAYBE_CHAR_OR_MARKER.  New functions ceiling_two_fixnum, ceiling_two_bignum, ceiling_two_ratio, ceiling_two_bigfloat, ceiling_one_ratio, ceiling_one_bigfloat, ceiling_two_float, ceiling_one_float, ceiling_one_mundane_arg, floor_two_fixnum, floor_two_bignum, floor_two_ratio, floor_two_bigfloat, floor_one_ratio, floor_one_bigfloat, floor_two_float, floor_one_mundane_arg, round_two_fixnum, round_two_bignum_1, round_two_bignum, round_two_ratio, round_one_bigfloat_1, round_two_bigfloat, round_one_ratio, round_one_bigfloat, round_two_float, round_one_float, round_one_mundane_arg, truncate_two_fixnum, truncate_two_bignum, truncate_two_ratio, truncate_two_bigfloat, truncate_one_ratio, truncate_one_bigfloat, truncate_two_float, truncate_one_float, truncate_one_mundane_arg.  Modified functions: emacs_doprnt_1, internal_coerce_number, Ffloat, BIGFLOAT_ARITH_RETURN, BIGFLOAT_ARITH_RETURN.  New variable scratch_ratio2. -- Aidan Kehoe
+-- refactor: Byte code #o117 is #'subseq, not #'substring. -- Aidan Kehoe
+-- refactor: Call init_string_ascii_begin() in FsortX, Ffill. -- Aidan Kehoe
+-- refactor: Case sensitivity of file paths via new variables default-file-system-ignore-case, file-system-case-alist, function file-system-ignore-case-p. -- Aidan Kehoe
+-- refactor: Coding system initialization.  Rename default-process-coding-system-read -> process-read, default-process-coding-system-write -> process-write, buffer-file-coding-system-for-read -> bfcs-for-read, default-buffer-file-coding-system -> default-bfcs, no-conversion-coding-system-mapping	-> no-conv-cs, unix-no-mule-no-eol-detection -> no-mule-no-eol-detection, unix-no-mule-eol-detection -> no-mule-eol-detection, unix-mule -> mule. -- Ben Wing
+-- refactor: Dynarr code. -- Ben Wing
+-- refactor: Eliminate bogus special-casing of standard abbrev tables. -- Aidan Kehoe
+-- refactor: Fquote_maybe moved from callint.c to eval.c. -- Aidan Kehoe
+-- refactor: Fregexp_quote declared in lisp.h. -- Ben Wing
+-- refactor: Gutter geometry code. -- Ben Wing	
+-- refactor: Link image code only when HAVE_WINDOW_SYSTEM. -- Ben Wing
+-- refactor: Lisp objects allocation/declaration simplified; documented in lrecord.h. -- Ben Wing
+-- refactor: Lisp objects get advertised API.  Eliminate macros for copying, freeing, zeroing objects, getting their storage size. -- Ben Wing
+-- refactor: Move code and comments from lisp.h to text.h. -- Ben Wing
+-- refactor: Move creation of utf-8 coding system to unicode.c. -- Ben Wing
+-- refactor: Move gap array from extents.c to array.c.  Extract dynarr, gap array and stack-like malloc into new file array.h.  Rewrite range table code to use gap arrays. -- Ben Wing
+-- refactor: Move the Thai language environment and the TIS-620 coding system to mule/thai.el; add support for Microsoft's code page 874. -- Aidan Kehoe
+-- refactor: NEED_TO_HANDLE_21_4_CODE replacing the previous NO_NEED_TO_HANDLE_21_4_CODE. -- Aidan Kehoe
+-- refactor: Redo memory-usage mechanism. -- Ben Wing
+-- refactor: Reduce the number of words in an lcrecord from 3 to 2.  New macro NORMAL_LISP_OBJECT_UID() abstracts out the differences between NEWGC and old-GC in accessing the `uid' value from a "normal Lisp Object pointer". -- Ben Wing
+-- refactor: Rename EXTERNAL_TO_C_STRING -> EXTERNAL_TO_ITEXT, EXTERNAL_TO_C_STRING_MALLOC -> EXTERNAL_TO_ITEXT_MALLOC, SIZED_EXTERNAL_TO_C_STRING -> SIZED_EXTERNAL_TO_ITEXT, SIZED_EXTERNAL_TO_C_STRING_MALLOC -> SIZED_EXTERNAL_TO_ITEXT_MALLOC, C_STRING_TO_EXTERNAL -> ITEXT_TO_EXTERNAL, C_STRING_TO_EXTERNAL_MALLOC -> ITEXT_TO_EXTERNAL_MALLOC, LISP_STRING_TO_EXTERNAL, LISP_STRING_TO_EXTERNAL_MALLOC, LISP_STRING_TO_TSTR, C_STRING_TO_TSTR -> ITEXT_TO_TSTR, TSTR_TO_C_STRING -> TSTR_TO_ITEXT and change to return result directly rather than as a "return parameter."  Rename C_STRING_TO_SIZED_EXTERNAL -> ITEXT_TO_SIZED_EXTERNAL, LISP_STRING_TO_SIZED_EXTERNAL, C_STRING_TO_SIZED_EXTERNAL_MALLOC -> ITEXT_TO_SIZED_EXTERNAL_MALLOC, LISP_STRING_TO_SIZED_EXTERNAL_MALLOC.  Eliminate SIZED_C_STRING macros in favor of TO_*TERNAL_FORMAT. -- Ben Wing
+-- refactor: Rename pixel_to_char_size -> pixel_to_frame_unit_size, char_to_pixel_size -> frame_unit_to_pixel_size, pixel_to_real_char_size -> pixel_to_char_size, char_to_real_pixel_size -> char_to_pixel_size.  Reverse second and third arguments of change_frame_size().  Eliminate old round_size_to_char, and rename round_size_to_real_char -> round_size_to_char.  The set_frame_size() method is now passed sizes in "frame units". -- Ben Wing
+-- refactor: Rename src/objects* -> src/fontcolor*. -- Ben Wing
+-- refactor: Rename the specifier-font-matching stages -- Ben Wing
+-- refactor: Rename write_c_string -> write_cistring, build_intstring -> build_istring, build_string -> build_cistring, build_ext_string -> build_extstring, make_ext_string -> make_extstring, buffer_insert_c_string -> buffer_insert_ascstring, intern_int -> intern_istring -- Ben Wing
+-- refactor: Rename: LISP_TO_VOID -> STORE_LISP_IN_VOID, VOID_TO_LISP -> GET_LISP_FROM_VOID.  New functions STORE_VOID_IN_LISP and GET_VOID_FROM_LISP.  Eliminate the use of make_opaque_ptr() in unwind_protect code. -- Ben Wing
+-- refactor: Rename: default_face_height_and_width -> default_face_width_and_height and reverse width/height arguments. -- Ben Wing
+-- refactor: Separate out regular and disksave finalization, with a separate object method `disksaver'. -- Ben Wing
+-- refactor: TTY mapper for faces gets 2 args. -- Stephen Turnbull
+-- refactor: USE_XFT* -> HAVE_XFT*. -- Ben Wing
+-- refactor: Unused or easily implemented functions Fsave_window_excursion, save_window_excursion_unwind removed.  -- Aidan Kehoe
+-- refactor: Use #'string-to-number with the BASE argument instead of #'font-hex-string-to-number, #'display-warning instead of #'font-warn in font.el. -- Aidan Kehoe
+-- refactor: Use defcustom in cmdloop.el. -- Aidan Kehoe
+-- refactor: Use of syswindows.h. -- Ben Wing
+-- refactor: XLIKE contains code common to GTK and X -- Ben Wing
+-- refactor: XLIKE_get_gc takes a frame instead of a device as first argument. -- Didier Verna
+-- refactor: assert() improved to replace "if (...) ABORT()". -- Ben Wing
+-- refactor: bignum_butlast(). -- Aidan Kehoe
+-- refactor: change_frame_size_1().  Rename FRAME_BORDER_* to FRAME_INTERNAL_BORDER_*.  Add FRAME_INTERNAL_BORDER_SIZE().  Add FRAME_REAL_TOOLBAR_BOUNDS() and top/left/bottom/right versions.  Rewrite FRAME_*_BORDER_START and FRAME_*_BORDER_END. -- Ben Wing
+-- refactor: check_int_range() is now check_integer_range(), taking Lisp_Objects (and thus bignums). -- Aidan Kehoe
+-- refactor: cl-macs is loaded if cl-extra.el being loaded interpreted. -- Aidan Kehoe
+-- refactor: enum edge_pos (new) with TOP_EDGE, BOTTOM_EDGE, LEFT_EDGE, RIGHT_EDGE; subsume TOP_BORDER, TOP_GUTTER, enum toolbar_pos, enum gutter_pos, etc.  New macro EDGE_POS_LOOP.  New parameter NUM_EDGES. -- Ben Wing
+-- refactor: find-file-create-switch-thunk, new macro. -- Aidan Kehoe
+-- refactor: find/get_ccl_program() moved functionality out of several functions where it was duplicated. -- Aidan Kehoe
+-- refactor: iso-8859-2, windows-1250, iso-8859-3, iso-8859-4, iso-8859-14, iso-8859-15, iso-8859-16, iso-8859-9, macintosh, windows-1252, iso-8859-8, iso-8859-7, windows-1253, iso-8859-5, koi8-r, koi8-u, windows-1251, alternativnyj, koi8-ru, koi8-t, koi8-c, koi8-o, iso-8859-6, windows-1256 are of type fixed-width. -- Aidan Kehoe
+-- refactor: shortest_length_among_sequences, new function. -- Aidan Kehoe
+-- refactor: test-harness.el moved to lisp/. -- Ben Wing
+-- refactor: text_width() method takes a window instead of a frame. -- Ben Wing
+-- remove: #'cl-string-vector-equalp, #'cl-bit-vector-vector-equalp, #'cl-vector-array-equalp, #'cl-hash-table-contents-equalp, #'cl-mapcar-many. -- Ben Wing
+-- remove: Creation of windows-874 in mule/mule-win32-init.el. -- Aidan Kehoe
+-- remove: Deactivate obsolete code in X face initialization. -- Didier Verna
+-- remove: Dead code in cl.el. -- Aidan Kehoe
+-- remove: OffiX DND support -- Jerry James
+-- remove: PDWORD_PTR typedef (unused) from syswindows.h. -- Aidan Kehoe
+-- remove: Support for "old" GNU malloc. -- Jerry James
+-- remove: Support for emacs versions where keywords are not self-quoting. -- Aidan Kehoe
+-- remove: mule/thai-util.el, mule/thai-xtis.el. -- Aidan Kehoe
 
--- New function debug_out_lisp() -- printf-like formatting for Lisp objects,
-   debug output
--- Expand the KKCC backtrace mechanism -- new functions:
-   kkcc_short_backtrace()
-   kkcc_short_backtrace_full()
-   kkcc_detailed_backtrace()
-   kkcc_detailed_backtrace_full()
--- Make print code even more careful about checking for bad memory,
-   bad object types, circular objects, etc.
--- When --with-debug, set `debug-on-error' so we get an abort to debugger
-   upon Lisp error
-
-Building:
-
--- Fix `--quick-build' so full rebuilds don't happen when changes are made
-   to files like lisp.h, config.h that are included by all C files
--- Fix C++ build on Cygwin when configured with --have-database
--- Always insert a coding-system cookie in autoload files, fixing problems
-   when default coding system is UTF-8, as under Cygwin
--- Redo compile warning system, turn on a number of warnings that had
-   mistakenly gotten turned off
--- Fix so that builds properly under gcc v4, g++ v4
--- Make `--with-error-checking' be the same as `--with-error-checking=all'
--- Expand documentation of `--with-debug'
--- Use -export-all-symbols instead of broken -export-dynamic on Cygwin/MinGW
--- Add fix-perms target to correct permissions on executable/non-exec files
--- rename all instances of --enable-FOO to --with-FOO.
--- Fix make-mswin-unicode.pl so that it can work with Cygwin w32api headers
-   as well as actual VC++ headers
--- make-msgfile.lex: Long documentation on what should be done if we ever want
-   message translation to work.
-
-User-Visible Bug Fixes:
-
--- `escape-quoted' was failing to add escape quoting to Control-1 characters;
-   many potential byte-code-related crashes may have resulted from the old
-   behavior
--- Fix a redisplay bug where args to default_face_height_and_width() were
-   in wrong order
--- "speedy insert" code (to make `revert-buffer' preserve extents, markers,
-   etc. in unmodified sections of a reverted file) was broken with binary
-   files
--- File-locking code now names lock files .#FN# instead of .#FN, to avoid
-   problems with programs that e.g. try to process all .c or .h files
--- Fix a crash in frame creation due to lack of call to reset_glyph_cachels()
--- Fix long-standing bug: searching for Control-1 chars didn't work
--- Turn on `load-ignore-out-of-date-elc-files' by default
--- Fix crash in event-TTY code when reading an event non-interactively
--- Use UTF-8 consistently as encoding default under Cygwin 1.7
--- Fix broken code in computing fastmap for [^...] regexps under Mule
--- Fix display-table entries for error-octet characters so they display
-   as originally intended
-
-by Aidan Kehoe:
-
-Documentation:
-
--- add argument information to remaining MANY or UNEVALLED C subrs.
--- add arglist info for autoloaded functions and macros.
--- correct the docstring for #'range-table-type.
--- change "special form" to "special operator" in our sources and manuals
--- use DOC for dumped file names; Xref to source-lisp if readable, symbol-file
--- update documentation for #'sort in the lispref
-
-Tests:
-
--- add tests for the regexp-ranges-treat-control-1-chars badly bug.
--- fix some test failures, mule-tests.el.
-
-Lisp API:
+Testing and Debugging
 
--- add `file-system-ignore-case-p', use it.
--- if STRING is constant, call regexp-quote at compile time.
--- make #'letf not error if handed a #'values form.
--- rationalise duplicated functionality, #'custom-quote, #'quote-maybe.
--- serialise non-default hash table rehash thresholds correctly; use this.
--- fix issue 546, use next-single-char-property-change in list-mode.el
--- make COLUMN optional in #'indent-region, as in GNU.
--- use keywords, not ordinary symbols, in the structure syntax for hash tables.
--- fix hash tables, #'member*, #'assoc*, #'eql compiler macros if bignums
--- move the various map* functions to C; add #'map-into.
--- make canoncase visible to Lisp; use it with chars in internal_equalp.
--- move #'some, #'every to C, implementing them with mapcarX.
--- remove a couple of XEmacs-specific duplicate functions, find-paths.el
--- add a new optional ESCAPE-CHAR argument to #'split-string-by-char.
--- add #'constantly, as specified by ANSI Common Lisp.
--- handle the :from-end argument correctly, #'delete-duplicates compiler macro.
--- make #'substring an alias of #'subseq; give the latter the byte code.
--- remove #'byte-compile-compiled-obj-to-list, bytecomp.el
--- handle (function ...) specially, cl-prettyprint.
--- move #'merge, #'sort*, #'fill to C. alias #'sort, #'fillarray to latter two.
-
-Lisp implementation:
-
--- don't cons with #'mapcar calls where the result is discarded
--- fix modeline-mousable, other faces that inherit from modeline, on startup.
--- be much more comprehensive in our use of byte-compile-funarg.
--- resolve the unregistered-CCL-programs-get-garbage-collected problem
-   correctly
--- remove attempted support for 1996-era emacs without self-quoting keywords.
--- use uninterned symbols instead of variable names with _
--- eliminate funcalls, #'handle-pre-motion-command-current-command-is-motion
--- make iso-left-tab equivalent to shift-tab, XFree86
--- behave better with no database support or no associated font, descr-text.el
--- use #'function-arglist, etc. from help.el, not reimplementing them,
-   hyper-apropos
-
-internal implementation:
-
--- remove Fsave_window_excursion from window.c, it's overridden by Lisp.
--- make readlink_or_correct_case function correctly on Darwin.
--- no need to fatal () on startup if $PWD doesn't exist; chdir to "/" instead.
--- don't attempt to free dumped data, alloc.c:resize_string()
--- call character_to_event on characters received from XIM, event-Xt.c
--- dump the arabic-iso8859-6 character set, again, for the sake of XKB input
--- always use our rint(), for rounding consistency with the bignum code.
--- be more careful about canonical integer forms when dealing with ratios.
--- don't use Boyer-Moore if repeated octets & case-insensitive search.
--- do not assume #'format-decode exists in fileio.c.
--- add a PARSE_KEYWORDS macro, use it in #'make-hash-table.
-
-by Didier Verna:
-
-Lisp API:
-
--- new `background-placement' property of faces; with a value of `absolute',
-   the background pixmap is drawn relative to the root window, allowing
-   seamless integration with the desktop background
-
-by Jerry James:
-
-Lisp API:
-
--- signal an error instead of crashing when encountering a ratio like 1/0
-
-Internals:
-
--- locate and add copyright notices to various files in preparation for
-   move to GPL v3
-
-
+-- refactor: Clean up KKCC code related to DEBUG_XEMACS.  New macros IF_OLD_GC(), IF_NEW_GC(). -- Ben Wing
+-- new: valgrind debugging of allocation gets support. -- Jerry James
+-- improve: debug_can_access_memory. -- Ben Wing
+-- improve: Print more variables upon --debug-paths. -- Mike Sperber
+-- improve: Debug facilities. -- Ben Wing
+-- improve: 'debug-xemacs allows exit-to-debugger/assertion failure upon Lisp error during loadup. -- Ben Wing
+-- fix: Type consistency between debug and non-debug builds. -- Ben Wing
+-- fix: Conditionalize DEBUG_FONTS* definitions on DEBUG_XEMACS, provide empty definitions otherwise. -- Didier Verna
+-- improve: .gdbinit.in.in gets file argument to check-xemacs and check-temacs -- Ben Wing
+-- fix: lrecord_type_popup_data, lrecord_type_window_configuration from .gdbinit. -- Aidan Kehoe
+-- fix: Type detection in gdb pobj and friends. -- Aidan Kehoe
+-- fix: @srcdir@ correctness in .gdbinit.in.in -- Ben Wing
+-- improve: Generation of src/.gdbinit. -- Ben Wing
+-- fix: #'Check-Message comma syntax error. -- Aidan Kehoe
+-- fix: .dbxrc looks for test-harness.el in lisp directory. -- Ben Wing
+-- fix: Bignum expected errors. -- Aidan Kehoe
+-- fix: Check for fixed-width coding systems. -- Aidan Kehoe
+-- fix: Correct line endings in tests. -- Ben Wing
+-- fix: Don't check the fixed-width coding systems with odd line endings for ASCII-transparency. -- Aidan Kehoe
+-- fix: List of character sets in HELLO. -- Aidan Kehoe, Ben Wing
+-- fix: Operation of c-tests. -- Ben Wing, Stephen Turnbull
+-- fix: Restore mapping for scaron after testing. -- Aidan Kehoe
+-- fix: Results must not be written into source file. -- Ben Wing
+-- fix: Revert to the original language environment in tests. -- Aidan Kehoe
+-- fix: SXEmacs -> XEmacs in lisp-reader-tests.el. -- Stephen Turnbull
+-- fix: Set buffer of new file to be non-modified here before killing it. -- Aidan Kehoe
+-- fix: Syntax of tests for signaled errors. -- Ben Wing
+-- fix: Use utf-8 as file-name-coding-system under Cygwin 1.7+. -- Ben Wing
+-- fix: letf test passes. -- Aidan Kehoe
+-- improve: #'Assert. -- Ben Wing, Stephen Turnbull, Aidan Kehoe
+-- improve: #'test-harness-from-buffer reverses order of "got" and "expected" values. -- Ben Wing
+-- improve: Case tests. -- Ben Wing
+-- improve: Docs. -- Ben Wing, Aidan Kehoe, Stephen Turnbull
+-- improve: Refactor search and regexp tests, file tests. -- Ben Wing
+-- improve: Replace asserts in test-format-data-conversion. -- Stephen Turnbull
+-- new: #'equalp hash table test, #'define-hash-table-test. -- Aidan Kehoe
+-- new: #'equalp. -- Aidan Kehoe
+-- new: #'functionp. -- Aidan Kehoe
+-- new: #'generate-rounding-output (useful for generating data). -- Aidan Kehoe
+-- new: #'mapcar, #'map and #'list-length throw malformed-list. -- Aidan Kehoe
+-- new: #'nbutlast, #'butlast with dotted lists, #'ldiff, #'tailp with circular lists, dotted lists. -- Aidan Kehoe
+-- new: #'reduce. -- Aidan Kehoe
+-- new: (equal "hi there" [hi there]) => nil, not ==> error. -- Aidan Kehoe
+-- new: Binding default-process-coding-system to nil. -- Stephen Turnbull
+-- new: CODESYS in #'find-file is respected for files without content. -- Aidan Kehoe
+-- new: Circularity checking with #'merge. -- Aidan Kehoe
+-- new: Clearer error messages from image instantiation. -- Aidan Kehoe
+-- new: Common Lisp-compatible multiple values. -- Aidan Kehoe
+-- new: Common Lisp-compatible rounding functions. -- Aidan Kehoe
+-- new: Control-1 search bug. -- Ben Wing, Aidan Kehoe
+-- new: Discard of multiple values in #'mapcar. -- Aidan Kehoe
+-- new: Format strings with %b. -- Aidan Kehoe
+-- new: More tests of equalp. -- Stephen Turnbull
+-- new: Printing symbols with names that look like ratios. -- Aidan Kehoe
+-- new: Some multidimensional characters should not use boyer_moore(). -- Aidan Kehoe
+-- new: Torture test for case mappings. -- Ben Wing
+-- new: Unicode detection with very short inputs. -- Aidan Kehoe
+-- new: Variables to control backtraces in tests. -- Ben Wing
+-- new: Zero-length files get sane coding system. -- Aidan Kehoe
+-- new: escape-quoted for the range U+0000 to U+00FF. -- Stephen Turnbull
+-- new: reproduce-crashes.el #12, #13. -- Adam Sjogren, Stephen Turnbull, Jerry James
+-- new: split-string-by-char. -- Aidan Kehoe
+-- remove: DLL/dltest.c. -- Jerry James
+-- remove: Unused binding. -- Ben Wing
+-- remove: auc-tex-test. -- Jerry James
 
 to XEmacs 21.5.29 "garbanzo"