XEmacs -- Emacs: The Next Generation
     Searching XEmacs
Quick Links About XEmacs Getting XEmacs Customizing XEmacs Troubleshooting XEmacs Developing XEmacs

XEmacs 21.5.28 "fuki" is released

goto announcement, summary, changes

From: "Stephen J. Turnbull, XEmacs 21.5 Beta Engineer" <stephen@xemacs.org>
Subject: XEmacs 21.5.28 "fuki" is released.
To: xemacs-beta@xemacs.org
Date: Mon, 21 May 2007 15:55:36 +0900
Organization: The XEmacs Project
Message-ID: <87wsz27jiv.fsf@uwakimon.sk.tsukuba.ac.jp>

*          XEmacs 21.5.28 "fuki" is released.
      "fuki" is the twenty-ninth in the VEGETABLE series.

The successor to XEmacs 21.5.27 "fiddleheads", "fuki" collects a large number
of small changes accumulated over several months.  For short descriptions of
the changes made, see the "Brief Summary of Changes" below.  For detailed
information about each change, refer to the ChangeLogs appended to this

"fuki" is intended to provide a stable checkpoint as a foundation for
increased activity and possible instability over the next few months.  I would
appreciate people checking that it downloads or cvs updates properly, and that
it builds on their platforms.  Please use M-x build-report to send build
reports to the xemacs-buildreports list.  If there are download or build
problems reported within this week, I will correct those with a prompt release
of 21.5.29 by June 1.  Otherwise, I plan to try to make timely beta releases
at intervals of 2-6 weeks, depending on development activity.

As far as I know, there are two expected warnings in the C code, both
when building etags and its derivatives.  These have to do with
backward compatibility requirements of the upstream maintainer, and
will not be corrected unless he does.  The following warnings in elisp
compilation have known causes and may be ignored for this release:

- Deprecation warnings for set-charset-registry (those are Aidan's until he
  disclaims responsibility)

- Warnings about premature inlining or undefined functions with names starting
  with "fc-" in font.el and the reference to xft-font-regexp (those are mine).

There are two unexpected failures in the mule-tests regression test.
I believe these are bugs in formulation of the tests themselves; they
may be ignored.

All other warnings should be treated as bugs, and reported.  Patches
are welcome too, of course!

* General information about XEmacs 21.5:

This is the development line.  The current series started with XEmacs 21.5.0
(an alias for XEmacs 21.4.0 "Solid Vapor", the first release in the current
stable line).  21.5 is the code base for introduction of major new subsystems
and fixes to design bugs that experience shows will introduce instability.
So far the main effort has been on improved support for Unicode, updates to
the build infrastructure, and development of new features in memory allocation.

For general information about XEmacs, the developers, and the user community,
see our home page,


* XEmacs 21.5.28 is "beta" software.

The usual "no warranty" disclaimer (see etc/WARRANTY, sections 10 and 11)
applies.  At this point in time, it is the version that most developers
are using for their daily work.  However, it is certain that many bugs
remain and new ones will be introduced as development proceeds.  Be sure
to take care to save your work often and follow a regular backup regime.

* Availability

Anonymous ftp:


See http://www.xemacs.org/Install/ for more information about building
from source.

If you already have a 21.5.27 source tree, a patchkit is available in
xemacs-21.5.27-21.5.28.patch.gz.  This does not update .elcs or .infos,
they will be rebuilt when you make XEmacs.  If you have an earlier
version, you can repeatedly apply patchkits.

Also, if you don't have the packages yet, see


Anonymous (pserver) CVS:

Anonymous CVS is available.  We are very grateful to the staff at our
host, SunSITE.dk, for a lot of help and quick reponse to all our

Take care that your Root is set correctly to


On platforms with a Bourne shell and find available, something like

      for r in `find . -name Root`; do echo $CVSROOT > $r; done

will convert your entire tree.

To make it straightforward to access certain versions of the code, we have
a standard tagging policy.  To update to release 21.5.28, use the update
flag "-r r21-5-28".  To update to the current release without referring to
it specifically, use the flag "-r r21-5-latest-beta".  To update to the
latest commits in CVS, use the flag "-A".  Then rebuild XEmacs.

For more details, see

             http://www.xemacs.org/Develop/cvsaccess.html .

Institute of Policy and Planning Sciences     http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.
Date: Mon, 21 May 2007 15:54:41 +0900
Message-ID: <87y7ji7jke.fsf@uwakimon.sk.tsukuba.ac.jp>

XEmacs-Beta mailing list

Changes in XEmacs 21.5.28 "fuki"

goto announcement, summary, changes

Brief summary of Changes to 21.5.28 "fuki"

Major Features and Backward Incompatible Changes

  • Fix: Check for missing dimensions for default face and window -- Aidan Kehoe, Mike Sperber
  • Fix: Crash in PNG error handler -- Stephen J. Turnbull, Ron Isaacson
  • Fix: Crash in device-matching-specifier-list -- Stephen J. Turnbull
  • Fix: Crash in gtk/x_reset_modifier_mapping -- Aidan Kehoe
  • Fix: Crash in linux_play_data_or_file on 64-bit linux -- Hans Graff, Vin Shelton
  • Fix: Crash on double-close of fd in pdump -- Steve Higham, Vin Shelton
  • Fix: Crash via buffer overflow in doc.c -- Aidan Kehoe, Fabrice Popineau
  • Fix: Crash via buffer overrun in init_native_sound -- Jerry James
  • Fix: Crash when deleting dialog via window manager -- Stephen J. Turnbull
  • Fix: Device type of msprinter is non-window-system -- Aidan Kehoe
  • Fix: Float formats overflow output buffer -- Aidan Kehoe
  • Fix: Font menu on non-Mule -- Aidan Kehoe
  • Fix: ISO 2022 decoding kludges -- Aidan Kehoe
  • Fix: Make snarf-documentation robust to nonconforming DOC files -- Aidan Kehoe
  • Fix: Non-existent charset ID is specified for a mule-to-unicode call -- Aidan Kehoe
  • Fix: Sanity checks before accessing frame in x_set_frame_properties -- Aidan Kehoe
  • Fix: Type of arguments to GaugeMercury (related to progress bar crash?) -- Stephen J. Turnbull
  • Fix: init_native_sound is called on a msprinter device -- Aidan Kehoe
  • Fix: set-buffer-file-coding-system now sets buffer-modified-flag by default -- Aidan Kehoe
  • New: Echo area resizing -- Adrian Aichner, Stephen J. Turnbull

User-Visible Bug Fixes and Minor Improvements

  • Fix: Avoid delays in TTY-only builds by checking dispatch event queue -- Aidan Kehoe
  • Fix: Avoid looking up variable bindings during GC -- Nix
  • Fix: Buffer overruns in gnuclient and gnuslib -- Jerry James
  • Fix: Remove references to unimplemented input methods from language environments -- Aidan Kehoe
  • Fix: Find modules correctly -- Ville Skyttä, Mike Sperber, Stephen Turnbull
  • Fix: Get X11 window property correctly on 64-bit platforms -- Stephen J. Turnbull, Mike Fabian, Takashi Iwai
  • Fix: Handle coding system in file insertion in buffer properly -- Mike Sperber
  • Fix: Info broke invariant `(equal buffer-file-truename (file-truename buffer-file-name))' -- Stephen J. Turnbull, Nelson FFerreira
  • Fix: Lots of tweaking of Windows read-only handling -- Vin Shelton, Benson Margulies
  • Fix: Make --unmapped work again -- Malcolm Purvis
  • Fix: Make copying of char tables work -- Olivier Galibert, Stephen J. Turnbull
  • Fix: Prevent C-z in a gnuclient frame from suspending the process -- Aidan Kehoe
  • Fix: Regex for finding command nodes -- Jeff Miller
  • Fix: Reversion should check buffer-file-coding-system -- Aidan Kehoe
  • Fix: Syntax of guillemets -- Aidan Kehoe
  • Fix: Window configuration should not restore window position unless requested -- Nix
  • Improve: Better version info in etags -- Stephen Turnbull, Steve Youngs
  • Improve: Case table, syntax table information for Cyrillic, Greek -- Aidan Kehoe
  • Improve: Face initialization from X resources -- Aidan Kehoe
  • Improve: Give x-compose-map an entry for sharp S -- Aidan Kehoe
  • Improve: Handling of Asian "full-width" characters on TTY -- Aidan Kehoe
  • Improve: Language environment detection from locale -- Aidan Kehoe
  • Improve: Look harder for X11 locale-specific app-defaults files -- Malcolm Purvis
  • Improve: Make read-quoted-char terminate, not error, on non-character keys -- Aidan Kehoe
  • Improve: Sort abbrev database -- Adrian Aichner
  • Improve: Support non-ISO Cyrillic keysyms -- Aidan Kehoe
  • Improve: Sync etags to pot version 17.26; improve version report -- Stephen J. Turnbull, Steve Youngs
  • Improve: Sync etags to pot version 17.32; move improved version report to configure, lose pot version report -- Stephen J.. Turnbull
  • Improve: Try to rationalize resources of Xft in lwlib -- Stephen J. Turnbull
  • Improve: Use short list fixed string registries, not long list pruned by regexp for X11 fonts -- Aidan Kehoe
  • Improve: charsets-in-region now in C -- Aidan Kehoe
  • Improve: what-cursor-position gives Unicode and Mule information on non-ASCII -- Aidan Kehoe
  • New: Add raw string support like SXEmacs -- Aidan Kehoe
  • New: Find C source files for Lisp primitives -- Aidan Kehoe
  • New: Just-in-time definition of Unicode characters and X keysyms -- Aidan Kehoe
  • Update: New package download sites -- Adrian Aichner
  • Update: Sync etags to pot_etags_version 17.19 -- Stephen J. Turnbull
  • Update: Sync pop[ch] to Emacs -- Jerry James
  • Update: Update to 2003 version of ISO 8859-7 table -- Aidan Kehoe

Build Infrastructure

  • Fix: Allow lowercase file names in mswin SDK -- Benson Margulies
  • Fix: Avoid using Motif for cygwin -- Dr. Volker Zell
  • Fix: C is not C++ -- Robert Pluim
  • Fix: Check for u_int*_t typedefs -- Dr. Volker Zell
  • Fix: Correct help strings, remove obsolete configure.* files -- Stephen J. Turnbull
  • Fix: Documentation of --with-error-checking options -- Stephen J. Turnbull
  • Fix: Don't call ichar_to_unicode on non-MULE -- Mike Sperber
  • Fix: Enable SYSTEM_MALLOC on ppc64, alpha and ia64 systems -- Malcolm Purvis
  • Fix: Make user-defined directories work in configure -- Mike Sperber
  • Fix: Register --enable and --with forms with the option checking list -- Malcolm Purvis
  • Fix: Remove Autoconf 2.13-isms -- Stephen J. Turnbull
  • Fix: Revert workaround for now-fixed Cygwin bug of missing d_ino field -- Dr. Volker Zell
  • Fix: Typo in configure shell syntax -- Jerry James
  • Fix: Use $EGREP, not egrep -- Malcolm Purvis
  • Fix: Use new Cygwin XPM lib name -- Rick Rankin
  • Fix: Work around m4_cdr change -- Malcolm Purvis
  • Fix: `config.status --recheck' bug in Autoconf 2.60/2.61 -- Malcolm Purvis
  • Fix: char type correctness -- Vin Shelton, Aidan Kehoe
  • Fix: configure debugger init files correctly -- Stephen J. Turnbull
  • Improve: Conditionalize GCC warnings on version -- Jerry James
  • Improve: Create $srcdir/src/depend if missing -- Stephen J. Turnbull
  • Improve: Detect Intel Macs, use POSIX-style write barrier in NewGC -- Marcus Crestani
  • Improve: Refactor Canna detection -- Stephen J. Turnbull
  • Improve: Setup kit configuration -- Vin Shelton

improvement -- debugger init sources can use XCOMM convention

  • New: Check for utilities that are not on "normal" Solaris PATH -- Stephen J. Turnbull, S L Baur


  • Fix: Description of kanji read syntax, size of Ichar (now 21 bits) -- Aidan Kehoe
  • Fix: Improve docstrings -- Stephen J. Turnbull, Aidan Kehoe
  • Fix: Make manual conform to reality -- Malcolm Purvis, Robert Pluim, Aidan Kehoe, Stephen J. Turnbull
  • Fix: New compatibility alias string-to-char-list -- Vin Shelton, Ville Skyttä
  • Fix: Typo fixes in manual -- Stephen J. Turnbull, Aidan Kehoe
  • Fix: Update FSF address -- Jerry James, Stephen Turnbull
  • Fix: Update copyrights -- Stephen J. Turnbull
  • Improve: Small rephrasing in TUTORIAL.de -- Adrian Aichner, hroptatyr
  • New: Describe X errors when using ssh in PROBLEMS -- Malcolm Purvis
  • New: Describe XFree86 crash in PROBLEMS -- Stephen J. Turnbull, Aidan Kehoe
  • New: Describe how X11R7 loses x11/bitmaps/gray in PROBLEMS -- Stephen J. Turnbull
  • Update: Addresses in files and ChangeLogs -- Adrian Aichner, Stephen J. Turnbull

Lisp API

  • Fix: Catch error in cloning language environment -- Aidan Kehoe
  • Fix: Make shell-command use requested output buffer -- Jerry James
  • fix: xft-version is now DEVAR_CONST_INT.
  • Improve: Face initialization and specification -- Aidan Kehoe
  • Improve: Make `split-char' available in no-mule -- Aidan Kehoe
  • Improve: New unicode-type property of Unicode coding systems -- Aidan Kehoe
  • Improve: Reorganize Mule lisp -- Aidan Kehoe
  • New: Full access to FcConfig objects -- Stephen J. Turnbull
  • New: ccl-compile-mule-to-unicode, ccl-compile-unicode-to-mule, ccl-dump-mule-to-unicode, ccl-dump-unicode-to-mule -- Aidann Kehoe
  • New: deprecate set-charset-registry, charset-registry -- Aidan Kehoe
  • New: font-lock-keywords-alist, font-lock-removed-keywords-alist, font-lock-add-keywords, font-lock-update-removed-keywordd-alist, font-lock-remove-keywords -- Adrian Aichner
  • New: set-charset-registries, charset-registries -- Aidan Kehoe
  • New: x-coverage-instantiator specifier tag identifies Unicode fallbacks -- Aidan Kehoe
  • Update: Sync font-lock-add-keywords and font-lock-remove-keywords from GNU Emacs. -- Adrian Aichner

Internal API and Implementation

  • Fix: Dead code elimination in font-mgr -- Stephen J. Turnbull
  • Fix: Eliminate buffer overflows and NULL pointer references -- Jerry James, Adrian Aichner
  • Fix: Memory leaks -- Jerry James
  • Fix: Mule correctness with strings passed to warning functions -- Aidan Kehoe
  • Fix: Syntax errors -- Aidan Kehoe
  • Fix: Typo in string_direct_data_description -- Marcus Crestani
  • Fix: Use defined APIs -- Stephen J. Turnbull, Aidan Kehoe
  • Fix: Warning elimination -- Stephen J. Turnbull
  • Improve: Cache Xrm coding system -- Aidan Kehoe
  • Improve: GCPRO correctness -- Aidan Kehoe
  • Improve: NewGC fault handling -- Marcus Crestani
  • Improve: Reorganize and document separate_textual_runs -- Olivier Galibert, Stephen J. Turnbull
  • Improve: 21-bit Mule chars to support JIT charsets -- Aidan Kehoe
  • Update: Get Unicode tables with permissive license -- Stephen J. Turnbull, Mike Fabian

Testing and Debugging

  • Improve: Sort results of charset-in-* before comparing to expected. -- Aidan Kehoe
  • Improve: gdbinit.in recognizes new FcConfig objects -- Stephen J. Turnbull
  • New: Silence-Message macro in test-harness.el -- Stephen J. Turnbull
  • New: Test for ISO-2022 decoder not choking on invalid UTF-8 -- Aidan Kehoe
  • New: Test for copy-syntax-table bug -- Stephen Turnbull, Ralf Angeli
  • New: Test for correct usage of escape-quoted cookie -- Aidan Kehoe
  • New: Test for availability of input methods referenced in language environments -- Aidan Kehoe
  • New: Test raw strings -- Aidan Kehoe
  • New: Test Unicode non-BMP support -- Aidan Kehoe

ChangeLogs for XEmacs 21.5.28 "fuki"

goto announcement, summary, changes

ChangeLog Entries from ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-18  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac (error-checking): Move comma misplaced by sorting.
	* configure: Regenerate.

2007-05-18  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac (error-checking): Reorder arguments and sync doctring.

2007-03-14  Stephen J. Turnbull  <stephen@xemacs.org>

	* PROBLEMS: describe crash when inserting or displaying a TAB.
	Thanks to Aidan Kehoe for the diagnosis.

2006-12-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac (ar): Sun has it but hides it; check for it.
	(ssize_t): Use the modern check and document todo.

2007-02-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac (canna):
	Move #define of CANNA_NEW_WCHAR_AWARE to config.h.
	Use -DCANNA_NEW_WCHAR_AWARE since check for RK.h fails otherwise.
	Refactor into loops over orthogonal tweaks (prefix and define).
	Use have_canna to track detection success, not with_canna.
	Add AC_MSG_WARNs documenting autoconf's bogosity (ours, too).

2007-01-01  Malcolm Purvis  <malcolmp@xemacs.org>

	* aclocal.m4 (XE_SHLIB_STUFF): Use $EGREP instead of egrep.

2006-12-28  Malcolm Purvis  <malcolmp@xemacs.org>

	* configure.ac: Ensure ac_configure_args contains a leading space
	to work around problems with 'config.status --recheck' under
	autoconf 2.60 and 2.61.

2006-12-27  Malcolm Purvis  <malcolmp@xemacs.org>

	* configure.ac (XE_MERGED_ARG): Register --enable and --with forms
	with the option checking list.

2006-12-19  Stephen J. Turnbull  <stephen@xemacs.org>

	* Makefile.in.in (${srcdir}/configure): Generated from configure.ac.

2006-12-06  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>

	* configure.ac: Check for u_int*_t typedefs.

2006-12-06  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>

	* configure.ac: Avoid using Motif for cygwin.

2006-11-23  Mike Sperber  <mike@xemacs.org>

	* configure.ac (XE_EXPAND_VARIABLE): Fully expand the various
	directories before comparing them for figuring out which of them
	are user-defined.  Use XE_EPXAND_VARIABLE macro created for this
	purpose where applicable.

2006-12-07  Rick Rankin  <rick.rankin@yahoo.com>

	* configure.ac: Add new library name for cygwin's xpm.

2006-12-07  Rick Rankin  <rick.rankin@yahoo.com>

	* configure.ac: Add new library name for cygwin's xpm.

2006-10-30  Malcolm Purvis  <malcolmp@xemacs.org>
	* configure.ac (XE_CDR): m4_cdr differs in autoconf 2.59 and 2.60.

2006-07-18  Marcus Crestani  <crestani@xemacs.org>

	* configure.ac: Intel-based Macs can use POSIX-style write
	barrier.  Use $machine to determine this.

2006-07-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac (system-packages,legacy-packages): Fix help strings.

	* configure.in: cvs remove.
	* configure.usage: cvs remove.

2006-06-20  Jerry James  <james@xemacs.org>

	* configure.ac: When gcc is used, capture the values of __GNUC__
	and __GNUC_MINOR__.  Use them to conditionally add warning flags
	that are not supported by all versions of gcc.

2006-06-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac (Build Makefile.in's from Makefile.in.in's):
	Create $srcdir/src/depend if it's missing.

2006-06-05  Jerry James  <james@xemacs.org>

	* configure.ac: Change "if -z" to "if test -z".

2006-05-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.ac: Look for debugger init file templates in etc/, not
	src/.  Debugger init files depend on config.h; recreate on every
	configure.  Support XCOMM convention.  Update FSF copyright.

2006-05-17  Malcolm Purvis  <malcolmp@xemacs.org>

	* PROBLEMS: Add entry concerning X errors when using ssh.

2006-05-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* PROBLEMS: X11R7 loses x11/bitmaps/gray.

ChangeLog Entries from etc/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-01  Stephen J. Turnbull  <stephen@xemacs.org>

	* gdbinit.in (pobj): Nuke fc_fontset and fc_objectset, add fc_config.

2007-03-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* ETAGS.EBNF: Sync to pot_etags_version 17.19.
	* etags.1: Sync to pot_etags_version 17.19.
	* ChangeLog.etags: New.  Copy of upstream ChangeLog.

2007-01-28  Stephen J. Turnbull  <stephen@xemacs.org>

	Thanks to Mike Fabian <mfabian@suse.de> for bringing the issue
	to my attention.

	* unicode/unicode-consortium/COPYING:
	* unicode/unicode-consortium/oreilly.html
	* unicode/unicode-consortium/unicode-consortium.html
	New files clarifying copying conditions for mapping tables.

	* unicode/unicode-consortium/GB12345.TXT
	* unicode/unicode-consortium/BIG5.TXT
	* unicode/unicode-consortium/CNS11643.TXT
	* unicode/unicode-consortium/HANGUL.TXT
	* unicode/unicode-consortium/JIS0201.TXT
	* unicode/unicode-consortium/JIS0208.TXT
	* unicode/unicode-consortium/JIS0212.TXT
	* unicode/unicode-consortium/JOHAB.TXT
	* unicode/unicode-consortium/KSC5601.TXT
	* unicode/unicode-consortium/KSX1001.TXT
	* unicode/unicode-consortium/OLD5601.TXT
	* unicode/unicode-consortium/SHIFTJIS.TXT
	Mapping tables downloaded from a Unicode, Inc. URL with
	permissive conditions.

2006-12-21  Aidan Kehoe  <kehoea@parhasard.net>

	* unicode/unicode-consortium/8859-7.TXT:
	Update the mapping to the 2003 version of ISO 8859-7.

2006-11-11  Aidan Kehoe  <kehoea@parhasard.net>

	* NEWS:
	Add information on set-charset-registries, and the change to

2006-10-08  Adrian Aichner  <adrian@xemacs.org>

	* TUTORIAL.de: Small rephrasing as suggested by hroptatyr on

2006-07-19  Stephen J. Turnbull  <stephen@xemacs.org>

	* etags.1: Sync to pot_etags_version 17.19.
	Thanks to Morgon Kanter <morgon@surgo.net>.

2006-05-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* gdbinit.in:
	* dbxrc.in:
	Moved from src/.  Update FSF address.  Improve comments.

	* gdbinit.in: Use XCOMM for "don't edit" comment and copyright.

ChangeLog Entries from lib-src/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-03-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* etags.c (print_version): More precise version info.  Suggested
	by Steve Youngs.
	(print_help): Use #ifdef; PRINT_UNDOCUMENTED_OPTIONS_HELP may be

2007-03-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* etags.c: Sync to pot_etags_version 17.26.

2006-11-24  Benson Margulies  <benson@dchbk.us>

	* make-mswin-unicode.pl: allow for lower case header file names in
	the current platform SDK.

2006-08-11  Jerry James  <james@xemacs.org>

	* pop.h: Sync with Emacs.
	* pop.c: Ditto.

2006-08-08  Jerry James  <james@xemacs.org>

	* gnuslib.c (disconnect_from_server): shutdown() has been fine on
	Linux for a long time now; use it.  Also, don't use length to
	access the buffer unless it is positive, not just nonzero.
	* gnuclient.c (filename_expand): Initialize the last array element
	to get a valid C string in case of overflow.  Use strncat to avoid
	buffer overruns.
	* gnuclient.c (main): Use strncpy to avoid buffer overruns.

2006-07-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* etags.c: Xemacs -> XEmacs.

2006-07-19  Stephen J. Turnbull  <stephen@xemacs.org>

	* etags.c: Sync to pot_etags_version 17.19.

2006-07-07  Jerry James  <james@xemacs.org>

	* config.values.in: Regenerate.

ChangeLog Entries from lisp/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-20  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/devanagari.el ("Devanagari"):
	* mule/ethiopic.el ("Ethiopic"):
	* mule/hebrew.el ("Hebrew"):
	* mule/lao.el ("Lao"):
	* mule/tibetan.el ("Tibetan"):
	* mule/vietnamese.el ("Vietnamese"):
	The Hebrew input method we don't provide, for less than stellar
	reasons; we should reconsider when and if we get bidi support.
	The other input methods require changes to mule-category.el that
	21.4 doesn't have, and as such supporting them in the packages is
	mostly impossible. I've commented out the references to them in
	the corresponding language environment.

	* mule/mule-category.el (define-category):
	Add an optional argument to define-category, taken from GNU; it's
	still only a partial implementation, though. This whole file is
	* mule/mule-category.el (make-category-table): New.
	Trivial implementation, for GNU compatibility.

2007-05-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* gutter-items.el (progress-feedback-with-label): Clarify docstring.

2007-05-13  Adrian Aichner  <adrian@xemacs.org>

	* abbrev.el: Sort abbrev-table-name-list entries by name.  Unlike
	GNU Emacs we keep tables sorted internally too, not only when
	writing them by `write-abbrev-file'.
	* abbrev.el (define-abbrev-table): Sort abbrev-table-name-list by
	table names, so that `insert-abbrevs', `list-abbrevs', and
	`write-abbrev-file' all present them in the same order.
	* abbrev.el (insert-abbrev-table-description): Removed.  Losely
	synced to abbrev.c from GNU Emacs.

2007-04-30  Aidan Kehoe  <kehoea@parhasard.net>

	* code-files.el (set-buffer-file-coding-system):
	Make set-buffer-file-coding-system update the buffer's modified
	flag. Also make it accept a new flag, NOMODIFY, taken from GNU, to
	suppress this behaviour.
	* code-files.el (insert-file-contents):
	Use the NOMODIFY flag when calling set-buffer-file-coding-system.

2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>

	* bytecomp.el (byte-compile-insert-header):
	Check for any Unicode escapes in the source file text when
	deciding whether Mule support is necessary for it, and whether to
	use escape-quoted as the .elc coding system. Thanks to Stephen for
	the suggestion as to how to ignore appearances in comments.

2007-05-01  Stephen J. Turnbull  <stephen@xemacs.org>

	* dumped-lisp.el (preloaded-file-list): Move resize-minibuffer
	before simple.

	* resize-minibuffer.el: Remove CVS "Id" cookie..

	* resize-minibuffer.el (resize-minibuffer-mode): Remove autoload.

2007-04-30  Stephen J. Turnbull  <stephen@xemacs.org>

	* simple.el (raw-append-message):
	Improve resizing of echo area --- now obeys resize-minibuffer

	* resize-minibuffer.el (resize-minibuffer-idle-height): New.
	* simple.el (undisplay-echo-area-resize-window-allowed): New.
	* simple.el (undisplay-echo-area-resize-window): New.
	Add function to shrink echo area when idle.  (incomplete)

	* simple.el (log-message-ignore-regexps):
	* simple.el (undisplay-echo-area-function):
	* simple.el (clear-message):
	* simple.el (append-message):
	* simple.el (display-message):
	Improve docstrings.

2007-04-22  Aidan Kehoe  <kehoea@parhasard.net>

	* specifier.el (device-type-matches-spec):
	Add `msprinter' to the type of devices that are not window
	* specifier.el (derive-device-type-from-tag-set):
	Remove a superflous empty line.
	* specifier.el (derive-device-type-from-locale-and-tag-set):
	If CURRENT-DEVICE is provided, only ever return its type (if it
	matches TAG-SET) or nil (if it doesn't).

2007-01-02  Aidan Kehoe  <kehoea@parhasard.net>

	* cus-face.el (custom-set-face-update-spec):
	Fix some formatting.
	* faces.el (reset-face):
	reset-face resets other faces to behave like the default face--it
	shouldn't do anything if it's handed the default face.
	* font-menu.el:
	* font-menu.el (font-menu-set-font):
	If the font was initialised from X resources (the tag-set
	contains 'x-resource) pretend to Custom that it has
	responsibility for those settings.
	* x-faces.el:
	Add a couple of fontconfig functions to the
	globally-declare-fboundp, to eliminate a couple of byte-compile
	* x-faces.el ('x-resource)): New specifier tag, used to mark when
	a face's font or other attributes have been initialised from X
	* x-faces.el (x-init-face-from-resources):
	Use the new specifier tag; also, instead of using a fragile
	explicit list of what would incidentally be specified for the X11
	Unicode fonts in faces.c, pay attention to the new specifier tag
	created in that file for the specific purpose of grouping those
	instantiators together.

2007-04-22  Aidan Kehoe  <kehoea@parhasard.net>

	* x-font-menu.el (x-reset-device-font-menus-core):
	Only call charset-registries in the font menu if it's
	available. Restores font menu functionality on non-Mule.

2007-03-29  Stephen J. Turnbull  <stephen@xemacs.org>

	* diagnose.el (show-object-memory-usage-stats): Fix docstring typo.

2007-01-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* cus-face.el (custom-theme-reset-faces): Move code after docstring.

2007-01-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* subr.el (lambda): Improve docstring.

2007-01-21  Ville Skyttä  <scop@xemacs.org>

	* mule/canna-leim.el (canna-activate): Look for canna_api, not

2007-01-27  Mike Sperber  <mike@xemacs.org>

	* setup-paths.el (paths-module-load-path-depth): Add.
	* setup-paths.el (paths-construct-module-load-path): For
	`module-load-path', use `paths-module-load-path-depth', not

2006-12-30  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/cyrillic.el ("Cyrillic-ISO"):
	* mule/english.el ("English"):
	* mule/greek.el ("Greek"):
	Specify a native-coding-system for each of these language
	environments--since that is what is examined and relevant when
	sniffing the locale at startup.
	* mule/mule-cmds.el (create-variant-language-environment):
	A language environment's coding-priority is a list of coding
	systems, not coding categories. Treat it as such.

2006-12-21  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/cyrillic.el:
	* mule/cyrillic.el (iso-8859-5):
	* mule/cyrillic.el (cyrillic-koi8-r-encode-table):
	Add syntax, case support for Cyrillic; make some parentheses more

	* mule/european.el:
	Content moved to latin.el, file deleted.

	* mule/general-late.el:
	If Unicode tables are to be loaded at dump time, do it here, not
	in loadup.el.

	* mule/greek.el:
	Add syntax, case support for Greek.

	* mule/latin.el:
	Move the content of european.el here. Change the case table
	mappings to use hexadecimal codes, to make cross reference to the
	standards easier. In all cases, take character syntax from similar
	characters in Latin-1 , rather than deciding separately what
	syntax they should take. Add (incomplete) support for case with
	Turkish. Remove description of the character sets used from the
	language environments' doc strings, since now that we create
	variant language environments on the fly, such descriptions will
	often be inaccurate. Set the native-coding-system language info
	property while setting the other coding-system properties of the

	* mule/misc-lang.el (ipa):
	Remove the language environment. The International Phonetic
	_Alphabet_ is not a language, it's inane to have a corresponding
	language environment in XEmacs.

	* mule/mule-cmds.el (create-variant-language-environment):
	Also modify the coding-priority when creating a new language
	environment; document that.

	* mule/mule-cmds.el (get-language-environment-from-locale):
	Recognise that the 'native-coding-system language-info property
	can be a list, interpret it correctly when it is one.

2006-12-21  Aidan Kehoe  <kehoea@parhasard.net>

	* coding.el (coding-system-category):
	Use the new 'unicode-type property for finding what sort of
	Unicode coding system subtype a coding system is, instead of the
	overshadowed 'type property.
	* dumped-lisp.el (preloaded-file-list):
	mule/european.el has been removed.
	* loadup.el (really-early-error-handler):
	Unicode tables loaded at dump time are now in
	* simple.el (count-lines):
	Add some backslashes to parentheses in docstrings to help
	fontification along.
	* simple.el (what-cursor-position):
	Wrap a line to fit in 80 characters.
	* unicode.el:
	Use the 'unicode-type property, not 'type, for setting the Unicode
	coding-system subtype.

2006-12-19  Stephen J. Turnbull  <stephen@xemacs.org>

	* find-paths.el (paths-construct-emacs-directory):
	Document ROOT(S) argument correctly.

2006-12-17  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/cyrillic.el:
	Add case table, syntax table information for cyrillic-iso8859-5.

2006-12-17  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/greek.el:
	Support case tables for greek-iso8859-7; make different choices on
	the relevant syntax.

2006-12-17  Aidan Kehoe  <kehoea@parhasard.net>

	* x-faces.el (x-init-face-from-resources):
	Only retain the fallbacks for the default face if we're not
	running on XFT.

2006-12-11  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/mule-cmds.el (create-variant-language-environment):
	Avoid an error when creating a modified lang environment; use the
	old environment's string name rather than its value when calling

2006-12-06  Aidan Kehoe  <kehoea@parhasard.net>

	* simple.el (what-cursor-position):
	For non-ASCII characters, give details on what a character maps to
	in Unicode, and its Mule charsets and codes, instead of simply its
	integer code point in this XEmacs.

2006-11-30  Mike Sperber  <mike@xemacs.org>

	* code-files.el (insert-file-contents): Call the file-name handler
	from Lisp, not from `insert-file-contents-internal', which is too late.

2006-11-28  Mike Sperber  <mike@xemacs.org>

	* files.el (revert-buffer-internal): Determine the coding system
	while still in the original buffer, rather than the new one.

2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/mule-charset.el:
	* mule/mule-charset.el (charset-registry):
	* mule/mule-charset.el (set-charset-registry):
	* mule/mule-charset.el (charset-registries): New.
	Make set-charset-registry, charset-registry obsolete; define a
	setf for charset-registries.

2006-11-28  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/cyrillic.el ("Cyrillic-KOI8"):
	* mule/cyrillic.el ("Cyrillic-ALT"):
	Add information on the native coding system of the machine to the
	language environment definition for Cyrillic.

	* mule/general-late.el:
	New file, for dumped Mule code that needs to be run after the
	language support has been loaded.

	* mule/mule-cmds.el:
	* mule/mule-cmds.el (set-language-info-alist):
	Return the new language environment name instead of nil.

	* mule/mule-cmds.el (langenv-to-locale-hash): Removed.
	This was relevant because coding_system_of_xrm_database called
	get-language-environment-from-locale 1307 times on startup, so the
	hash table made a difference. I've changed c_s_o_x_d to normally
	not call Lisp, and that makes this caching unnecessary.

	* mule/mule-cmds.el (posix-charset-to-coding-system-hash): New.
	A map from charsets as found in POSIX locales, with
	non-alphanumeric character stripped, to XEmacs coding systems.
	* mule/mule-cmds.el (parse-posix-locale-string): New.
	Parse a POSIX locale string into a language, region, charset,
	modifiers quad.
	* mule/mule-cmds.el (create-variant-language-environment): New.
	Create a version of a language environment which differs in its
	name and in the associated coding systems from a given language
	* mule/mule-cmds.el (get-language-environment-from-locale):
	Rework to better pay attention to the POSIX locale, and to create
	language environments on the fly if the coding system of a given
	language differs from that available in the environment.
	* mule/mule-cmds.el (set-language-environment-coding-systems):
	Update a comment.

2006-11-28  Aidan Kehoe  <kehoea@parhasard.net>

	* dumped-lisp.el (preloaded-file-list):
	Load mule/general-late when we're in a Mule build.

2004-06-28  Nix  <nix@esperi.org.uk>

	* cmdloop.el (truncate-command-history-for-gc): Delay
        execution of all things that look up variable bindings,
        via `enqueue-eval-event'.

2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>

	* info.el (Info-find-file-node, Info-insert-dir)
	(Info-read-subfile, Info-insert-file-contents): Maintain invariant
	`(equal buffer-file-truename (file-truename buffer-file-name))'.
	Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
	and discussion.

2006-11-15  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/mule-charset.el:
	* mule/mule-charset.el (charsets-in-string):
	Implement it in terms of charsets-in-region.
	* mule/mule-charset.el (charsets-in-region): Removed. It's now in

2006-11-07  Aidan Kehoe  <kehoea@parhasard.net>

	* unicode.el:
	Re-introduce ccl-encode-to-ucs-2; it's still being used by the
	JIT-UCS charsets, despite what I thought. Thank you Ilya.

2006-11-05  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/arabic.el (arabic-digit):
	* mule/arabic.el (arabic-1-column):
	* mule/arabic.el (arabic-2-column):
	* mule/chinese.el (make-chinese-cns11643-charset):
	* mule/chinese.el (chinese-sisheng):
	* mule/english.el (ascii-right-to-left):
	* mule/ethiopic.el (ethiopic):
	* mule/european.el (latin-iso8859-14):
	* mule/european.el (latin-iso8859-16):
	* mule/indian.el (indian-is13194):
	* mule/indian.el (indian-1-column):
	* mule/indian.el (indian-2-column):
	* mule/japanese.el (japanese-jisx0213-1):
	* mule/japanese.el (japanese-jisx0213-2):
	* mule/lao.el (lao):
	* mule/misc-lang.el (ipa):
	* mule/mule-charset.el:
	* mule/thai-xtis.el (thai-xtis):
	* mule/tibetan.el (tibetan-1-column):
	* mule/tibetan.el (tibetan):
	* mule/vietnamese.el (vietnamese-viscii-lower):
	* mule/vietnamese.el (vietnamese-viscii-upper):
	Stop using the `registry' charset property; use `registries'
	instead. The difference is that registries is an ordered vector of
	X11 registries and encodings rather than a regexp; this means we
	can leave the matching to the X11 server, avoiding transferring
	huge amounts of data (perhaps across the network!) in order to do
	a regexp search on it.
	* mule/mule-charset.el (charset-registries): New.
	charset-registries returns the registries of a charset;
	* mule/mule-charset.el (set-charset-registry): Moved here from C.

2006-11-05  Aidan Kehoe  <kehoea@parhasard.net>

	* faces.el (face-property-matching-instance):
	* faces.el (face-font-instance):
	Document CHARSET.
	* faces.el (set-face-font):
	Give more details on common values for font instantiators,
	* unicode.el:
	Remove a few comments that were only relevant to GNU Emacs.
	* unicode.el (decode-char):
	* unicode.el (encode-char):
	Document CODE, CHAR using uppercase, since they're
	parameters. Update commentary on GNU's mule-unicode charsets and
	how we've solved the same problem.
	* x-faces.el (x-init-face-from-resources):
	Retain some of the fallbacks in the generated default face, since
	it doesn't make sense to try Andale Mono's ISO-10646-1 encoding
	for Amharic or Thai.
	* x-font-menu.el (charset-registries):
	* x-font-menu.el (x-reset-device-font-menus-core):
	Use charset-registries instead of charset-registry.

2006-11-02  Adrian Aichner  <adrian@xemacs.org>

	* font-lock.el: Sync font-lock-add-keywords and
	font-lock-remove-keywords from GNU Emacs.
	* font-lock.el (font-lock-keywords-alist): New.
	* font-lock.el (font-lock-removed-keywords-alist): New.
	* font-lock.el (font-lock-add-keywords): New.
	* font-lock.el (font-lock-update-removed-keyword-alist): New.
	* font-lock.el (font-lock-remove-keywords): New.

2006-10-28  Adrian Aichner  <adrian@xemacs.org>

	* simple.el (raw-append-message): Implement minibuffer resizing
	based on requirements of echo area content.

2006-10-28  Nix  <nix@esperi.org.uk>

	* window-xemacs.el (window-configuration-includes-position): New.
	* window-xemacs.el (window-configuration-equal): Use it: window
	configurations with distinct positions are equal by default.
	* window-xemacs.el (really-set-window-configuration): Do not
	restore window positions unless requested.

2006-10-30  Malcolm Purvis  <malcolmp@xemacs.org>

	* startup.el (display-splash-screen):  No longer bring buffer the
	front.  Fixes problems with -unmapped.
	* startup.el (xemacs-splash-buffer): Pop splash buffer to the
	front here instead.

2006-10-27  Aidan Kehoe  <kehoea@parhasard.net>

	* files.el (revert-buffer-internal):
	When reverting, use the buffer-file-coding-system of the file's
	buffer when determing whether something has changed on disk.

2006-10-14  Jeff Miller  <jmiller@xemacs.org>

        * info.el (Info-find-emacs-command-nodes): fix regex for find
          command node.

2006-08-10  Vin Shelton  <acs@xemacs.org>

	* subr.el: Move string-to-char-list to obsolete.el.

	* obsolete.el (string-to-char-list): Move obsolete definition
	here, so dumping can succeed.

2006-08-07  Ville Skyttä  <scop@xemacs.org>

	* subr.el (string-to-char-list): New backwards compatibility alias
	for `string-to-list'.

2006-08-07  Aidan Kehoe  <kehoea@parhasard.net>

	* frame.el (suspend-or-iconify-emacs):
	* frame.el (suspend-emacs-or-iconify-frame):
	Elaborate on what the functions do, hopefully preventing
	misunderstandings in the future.

	* keydefs.el (global-tty-map):
	"\C-z" is suspend-or-iconify-emacs on the TTY, not
	suspend-emacs.  Fixes problems that arose where pressing C-z in a
	gnuclient frame suspended the whole process.

2006-08-05  Aidan Kehoe  <kehoea@parhasard.net>

	* lisp.el (forward-sexp):
	Handle raw strings specially just as we do structures. Fixes
	problems evaluating them in *scratch*.

2006-08-04  Aidan Kehoe  <kehoea@parhasard.net>

	* iso8859-1.el:
	Move the symbol table modification to three lines at the end of

2006-07-16  Aidan Kehoe  <kehoea@parhasard.net>

	* loadhist.el (symbol-file):
	Use `source-directory,' not `build-root' for the full pathnames of
	C files.
	* loadup.el:
	* update-elc.el:
	Rename `build-root', `source-root' to `build-directory',
	`source-directory' respectively, the latter for compatibility with
	the FSF; give them and `source-lisp' docstrings, change the
	defvars to defconsts where possible.

	* make-docfile.el (build-root): Removed.
	* make-docfile.el (build-directory): New.
	Rename build-root.

	* update-elc.el (build-root): Removed.
	* update-elc.el (build-directory): New.
	* update-elc.el (source-root): Removed.
	* update-elc.el (source-directory): New.
	Rename build-root, source-root.

2006-07-13  Aidan Kehoe  <kehoea@parhasard.net>

	* unicode.el (decode-char):
	* unicode.el (encode-char):
	Specify the SHOW-ARGS properly in a couple of assertions.

2006-06-30  Jerry James  <james@xemacs.org>

	* process.el (shell-command): If a specific output buffer was
	requested, use it.

2006-06-25  Aidan Kehoe  <kehoea@parhasard.net>

	* x-init.el (x-initialize-keyboard):
	No longer warn about Unicode keysyms without a mapping, since we
	now have valid mappings for all Unicode keysyms.

2006-06-25  Aidan Kehoe  <kehoea@parhasard.net>

	* cmdloop.el (read-quoted-char):
	Don't error on non-character keys, accept them as terminating the

2006-06-18  Aidan Kehoe  <kehoea@parhasard.net>

	* x-compose.el (compose-diaeresis-map):
	Add an entry to map dead_diaeresis + s to ß (LATIN SMALL LETTER

2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>

	* mule/mule-ccl.el:
	"X Emacs" -> "XEmacs"
	* mule/mule-ccl.el (ccl-compile-mule-to-unicode): New.
	* mule/mule-ccl.el (ccl-compile-unicode-to-mule): New.
	* mule/mule-ccl.el (ccl-dump-mule-to-unicode): New.
	* mule/mule-ccl.el (ccl-dump-unicode-to-mule): New.
	* mule/mule-ccl.el (define-ccl-program):
	Add two new CCL commands, and commands to describe them; document

2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>

	* unicode.el:
	* unicode.el (featurep):
	Define a CCL program to translate characters to Unicode, for use
	in redisplay with the fall-back Unicode charsets.
	* x-init.el (x-initialize-keyboard):
	Only warn about unknown Unicode keysyms if Mule is available; we
	assume that people who've chosen non-Mule are okay with losing

2006-06-03  Adrian Aichner  <adrian@xemacs.org>

	* package-get.el (package-get-download-sites): Welcome
	nl.xemacs.org and Thanks!
	* package-get.el (package-get-pre-release-download-sites): Ditto.

2006-05-24  Jerry James  <james@xemacs.org>

	* autoload.el (batch-update-autoloads): Only write to

2006-05-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* code-cmds.el: Update FSF copyright; improve header comment.
	(coding-system-change-eol-conversion): Clarify, add sanity check.
	Fix keyword mismatch between function arg and subsidiary accessor.

ChangeLog Entries from lwlib/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-20  Stephen J. Turnbull  <stephen@xemacs.org>

	Gauge values are signed integers (ints).

	* xlwgauge.h: Get rid of references to Cardinal in comment.
	(XawGaugeGetValue): Declare return value as int.
	(XawGaugeSetValue): Declare value as int.

	* xlwgauge.c (GaugeGetValue): Declare value as int.
	(GaugeMercury): Declare val0 and val1 as int.  Remove redundant casts.
	(XawGaugeGetValue): Declare return value as int.
	(XawGaugeSetValue): Declare value as int.

2007-05-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* lwlib-Xaw.c (wm_delete_window): Iterate over children of shell
	(there may be more than one) to find our widget.

2006-11-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* xlwmenu.c (xlwMenuResources):
	* xlwmenu.c (XlwMenuInitialize):
	* xlwmenuP.h (_XlwMenu_part):
	* xlwtabs.c (resources):
	* xlwtabs.c (TabsInit):
	* xlwtabsP.h (TabsPart):
	New xftFontName member in each widget part struct, corresponds to
	xftFont String resource.
	Initialize renderFont private member from fcFontName if non-NULL,
	otherwise initialize from xftFontName.

	* xlwtabs.h: Update parameter table.

2006-06-16  Jerry James  <james@xemacs.org>

	* lwlib-Xlw.c (xlw_scrollbar_callback): Do not dereference
	instance before checking whether it is NULL.
	* xlwmenu.c (xlw_map_menu): Prevent uninitialized access to root
	and waste.

ChangeLog Entries from man/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-15  Aidan Kehoe  <kehoea@parhasard.net>

	* internals/internals.texi:
	Replace an inaccurate description of the read syntax of a Kanji
	character with one using the recently-added Unicode escapes. Also
	update the size of an Ichar; they're now 21-bit integers, not
	19-bit integers.

2007-04-30  Stephen J. Turnbull  <stephen@xemacs.org>

	* internals/internals.texi (Creating a New Console/Device/Frame Type):
	Typo fix.

2007-01-01  Malcolm Purvis  <malcolmp@xemacs.org>

	* internals/internals.texi (Ben's README): Use 'grep -F' instead
	of fgrep.

2006-11-07  Robert Pluim  <rpluim@gmail.com>

	* lispref/os.texi (User Identification): The code uses HOMEPATH,

2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>

	* xemacs/custom.texi (Face Resources):
	Mention that the user should use full XLFD forms for specifying
	fonts, and that Mule builds reject the short forms by
	default. Also mention the work-around to the latter design choice
	that was implemented for Ilya.

2006-11-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* internals/internals.texi
	(Better Rendering Support -- Configuration with the Interim Patches):
	Fix examples of configuration via X resources.
	(Better Rendering Support -- Implementation): Fix description of
	xftFont resources, introduce fcFontName resource.

2006-11-11  Aidan Kehoe  <kehoea@parhasard.net>

	* lispref/faces.texi (Face Convenience Functions):
	Add information on how to specify a face's font for a given Mule

	* lispref/specifiers.texi (Specifiers):
	* lispref/specifiers.texi (Simple Specifier Usage):
	* lispref/specifiers.texi (Specifiers In-Depth):
	* lispref/specifiers.texi (Specifier Tag Functions):
	* lispref/specifiers.texi (Specifier Instantiation Functions):
	Update the documentation of specifiers to reflect the new support
	for Mule character sets and associating tags with them.

2006-08-05  Aidan Kehoe  <kehoea@parhasard.net>

	* lispref/objects.texi (String Type):
	Give details of the raw string syntax, taken from SXEmacs and

2006-07-19  Stephen J. Turnbull  <stephen@xemacs.org>

	* new-users-guide/edit.texi (Insert): Document bogosity in
	vendor labeling of DEL key.
	(Numeric Argument): Remove spurious RETs from keystroke examples.
	Thanks to Michael C. Wescott <wescott@sc.rr.com>.

2006-07-16  Aidan Kehoe  <kehoea@parhasard.net>

	* xemacs/custom.texi (File Variables):
	Make it clearer that file variables are buffer-local.
	* xemacs/custom.texi (Faces):
	"must be encoding" -> "must be encoded".

2006-07-16  Aidan Kehoe  <kehoea@parhasard.net>

	* lispref/variables.texi (Creating Buffer-Local):
	Mention that buffer-local variables are created when file local
	variables are set.

2006-07-08  Aidan Kehoe  <kehoea@parhasard.net>

	* internals/internals.texi (Internal String Encoding):
	Mention that UTF-8 would be a reasonable alternative encoding.
	* internals/internals.texi (Internal Character Encoding):
	Re-arrange the description of characters to deal with 21-bit

2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>

	* lispref/mule.texi (CCL Syntax):
	* lispref/mule.texi (CCL Statements):
	Describe the mule-to-unicode and unicode-to-mule statements;
	rename the section they are described in.

2006-05-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs-faq.texi (Q2.2.3): New node.
	(Q2.2.2, Q2.3.1): Fix navigation references.
	(Top, Installation): Add to menus.

ChangeLog Entries from modules/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-02-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* canna/canna_api.c: Move CANNA_NEW_WCHAR_AWARE to config.h.
	Clean up ancient cruft for IROHA (Canna v.1) support.

2007-02-08  Adrian Aichner  <adrian@xemacs.org>

	* postgresql/postgresql.c: Update Steve L. Baur's address on his
	* postgresql/postgresql.h: Ditto.

ChangeLog Entries from netinstall/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

ChangeLog Entries from nt/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2006-12-11  Vin Shelton  <acs@xemacs.org>

	* config.inc.samp: Added BUILD_FOR_SETUP_KIT.
	* xemacs.mak: Use BUILD_FOR_SETUP_KIT to define

ChangeLog Entries from nt/installer/Wise/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

ChangeLog Entries from src/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-13  Adrian Aichner  <adrian@xemacs.org>

	* abbrev.c: Sort abbreviations by name, similar to GNU Emacs.
	* abbrev.c (write_abbrev): Losely ported from GNU Emacs.
	* abbrev.c (describe_abbrev): Ditto.
	* abbrev.c (Finsert_abbrev_table_description): Ditto.

2007-05-03  Vin Shelton  <acs@xemacs.org>

	* dumper.c (pdump): Don't close an already-closed file
	descriptor.  Patch from Steve Higham.

2007-05-17  Vin Shelton  <acs@xemacs.org>

	* linuxplay.c (linux_play_data_or_file): Fix playing sound on
	64-bit linux.  Pathc from Hans de Graaff.

2007-05-18  Stephen J. Turnbull  <stephen@xemacs.org>

	* config.h.in (ERROR_CHECK_BYTE_CODE): Alphabetize ERROR_CHECK_*.

2007-04-30  Aidan Kehoe  <kehoea@parhasard.net>

	* unicode.c:
	* unicode.c (encode_unicode_char_1):
	* unicode.c (unicode_convert):
	Support non-BMP characters in UTF-16.

2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>

	* event-Xt.c (x_reset_modifier_mapping):
	* event-gtk.c (gtk_reset_modifier_mapping):
	Zero out the device's modifier map once we've freed it, to prevent
	a double free on a re-entrant call.

2007-05-01  Stephen J. Turnbull  <stephen@xemacs.org>

	* font-mgr.c (Qfontsetp): Remove unused declaration.

	* font-mgr.c (xft-version): Make it a DEFVAR_CONST_INT.

	* font-mgr.c (fc-version): New: fontconfig.h version.

2007-01-02  Aidan Kehoe  <kehoea@parhasard.net>

	* faces.c:
	* faces.c (syms_of_faces):
	* faces.c (complex_vars_of_faces):
	New symbol and corresponding specifier tag,
	x-coverage-instantiator, used to group those fonts used for their
	extensive coverage for obscure characters in x-faces.el.

2007-04-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* redisplay-x.c (separate_textual_runs_nomule): Oops.  We agreed
	that memcpy didn't work, and used it anyway.  Fix it.

2007-04-15  Stephen J. Turnbull  <stephen@xemacs.org>

	* font-mgr.c (DestroyFontsetP): New enum.
	* font-mgr.c (fontset_to_list): Add destroyp argument of that type.
	* font-mgr.c (Ffc_font_list): Add argument.
	* font-mgr.c (Ffc_font_sort): Add argument.

	* font-mgr.h (fc_config): Declare new Lisp object type.
	* font-mgr.c (print_fc_config):
	* font-mgr.c (finalize_fc_config):
	* font-mgr.c (fc_config_p):
	* font-mgr.c (Qfc_configp):
	 Implement it.
	* font-mgr.c (syms_of_font_mgr):
	* font-mgr.c (complex_vars_of_font_mgr):
	* lrecord.h (lrecord_type_fc_config):
	Initialize it.

	* font-mgr.c (fc_config_create_using): New helper function.
	* font-mgr.c (FCSTRLIST_TO_LISP_USING): New helper macro.
	* font-mgr.c (Vfc_config_weak_list): Manage references to FcConfigs.

	* font-mgr.c (Ffc_get_version):
	* font-mgr.c (Ffc_config_create):
	* font-mgr.c (Ffc_config_get_current):
	* font-mgr.c (Ffc_config_set_current):
	* font-mgr.c (Ffc_config_up_to_date):
	* font-mgr.c (Ffc_config_build_fonts):
	* font-mgr.c (Ffc_config_get_config_dirs):
	* font-mgr.c (Ffc_config_get_font_dirs):
	* font-mgr.c (Ffc_config_get_config_files):
	* font-mgr.c (Ffc_config_get_cache):
	* font-mgr.c (Ffc_config_get_rescan_interval):
	* font-mgr.c (Ffc_config_set_rescan_interval):
	* font-mgr.c (Ffc_config_app_font_add_file):
	* font-mgr.c (Ffc_config_app_font_add_dir):
	* font-mgr.c (Ffc_config_app_font_clear):
	* font-mgr.c (Ffc_config_filename):
	* font-mgr.c (Ffc_init_load_config):
	* font-mgr.c (Ffc_init_load_config_and_fonts):
	* font-mgr.c (Ffc_init):
	* font-mgr.c (Ffc_init_reinitialize):
	Implemented operations.

	* font-mgr.c (Ffc_config_destroy):
	* font-mgr.c (Ffc_config_get_blanks):
	Stub operations.

2007-04-15  Stephen J. Turnbull  <stephen@xemacs.org>

	* font-mgr.c: Update FSF copyrights.

	* font-mgr.c (print_fc_pattern): New facility for fc-pattern
	objects.  Comment on need/implementation for equal/hash.

	* font-mgr.c (build_fcapi_string): New convenience macro.
	* font-mgr.c (Ffc_name_unparse):
	* font-mgr.c (Ffc_pattern_get):
	Use it.

	* font-mgr.c (Ffc_name_parse):
	* font-mgr.c (Ffc_font_match):
	Remove incorrect comments about memory leaks.

2007-04-01  Stephen J. Turnbull  <stephen@xemacs.org>

	Thanks to OG for review  and Aidan Kehoe for useful comments.

	* redisplay-x.c (separate_textual_runs_mule): Reorganize and document.

	Update or add "theory of operation" header comments.

	(separate_textual_runs_xft_mule): Trailing whitespace removal.

2007-03-30  Olivier Galibert  <galibert@pobox.com>

	* redisplay-x.c (separate_textual_runs_xft_mule): Create.
	(separate_textual_runs_xft_nomule): Create.
	(separate_textual_runs_mule): Create.
	(separate_textual_runs_nomule): Create.
	(separate_textual_runs): Split the ifdef mess into 4 separate
	functions and simplify each.

2007-03-26  Stephen J. Turnbull  <stephen@xemacs.org>

	* chartab.c (Fcopy_char_table): Use EQ, not ==.

2007-03-24  Olivier Galibert  <galibert@pobox.com>

	* chartab.c (Fcopy_char_table): Simplify the mirror table
	handling: never copy a mirror table, just make a new one and mark
	it dirty.  Fixes http://article.gmane.org/gmane.emacs.xemacs.beta/17353

2007-01-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* eval.c (quote):
	* fns.c (Frequire):
	Improve docstrings.

2007-02-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* objects-tty.c (tty_font_spec_matches_charset): Use Aidan's enum.

	* objects-xlike-inc.c (xft_find_charset_font): FC_WIDTH is obsolete
	and may be undefined.

	* sysdll.c (image_for_address): const cleanliness for Darwin.

	* fileio.c (Finsert_file_contents_internal): Remove unused gcpro5.

2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
	(png_instantiate): Initialize setjmp_buffer early, and avoid
	recursive entry to error handler.

2007-02-19  Stephen J. Turnbull  <stephen@xemacs.org>

	* specifier.c (Fdevice_matching_specifier_tag_list):
	Don't take XCDR of possible non-cons.  Avoids crash in VM introduced
	or unmasked by Aidan's 2007-02-06 patch.

	(setup_device_initial_specifier_tags): Nuke unused variable.

2007-02-18  Stephen J. Turnbull  <stephen@xemacs.org>

	Code by Mike FABIAN <mfabian@suse.de>, Takashi Iwai <tiwai@suse.de>.
	See xemacs-beta <s3thctmf46c.fsf@magellan.suse.de>.  Thanks!
	Documentation marshalled by me.

	* select-x.c (x_get_window_property):
	The buffer for property data in 32-bit format is an array of longs,
	which need not be 32-bit.  Compute residual from partial reads and
	buffer sizes correctly for sizeof(long) == 8.

	* select-common.h: Refer to documentation in select-x.c.

2007-02-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* config.h.in: Move CANNA_NEW_WCHAR_AWARE here from canna_api.c.
	Remove crufty CANNA2 define, we can't support CANNA1 (IROHA).

2007-02-06  Aidan Kehoe  <kehoea@parhasard.net>

	* specifier.c (setup_device_initial_specifier_tags):
	Fix a bug where the mswindows specifier tag was matching X11
	devices, because the format of the DEVICE_USER_SPECIFIED_TAGS list
	wasn't being respected correctly.

2007-02-06  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-charset.c (complex_vars_of_mule_charset):
	iso8859-2 is not the X11 charset registry for the iso8859-4
	charset, my mistake.

2007-02-05  Mike Sperber  <mike@xemacs.org>

	* fileio.c (Finsert_file_contents_internal): Clean up dead
	`handler' variable.

2007-01-27  Mike Sperber  <mike@xemacs.org>

	* faces.c (complex_vars_of_faces): Move declarations of fontptr
	and fonts out of #ifdef MULE, unbreaking the non-MULE Xft build.

2007-01-20  Aidan Kehoe  <kehoea@parhasard.net>

	* eval.c:
	Document in more detail what happens with byte-compilation,
	`function', and `quote'.
	* fns.c:
	Mention that `require' is evaluated both at byte-compile time and
	at runtime.

2007-01-06  Vin Shelton  <acs@xemacs.org>

	* fileio.c (check_writable): Check old-style readonly bit first.

2006-12-21  Aidan Kehoe  <kehoea@parhasard.net>

	* file-coding.c:
	Update the make-coding-system docstring to reflect unicode-type
	* general-slots.h:
	New symbol, unicode-type, since 'type was being overridden when
	accessing a coding system's Unicode subtype.
	* intl-win32.c:
	Backslash a few parentheses, to help fontification along.
	* intl-win32.c (complex_vars_of_intl_win32):
	Use the 'unicode-type symbol, not 'type, when creating the
	Microsoft Unicode coding system.
	* unicode.c (unicode_putprop):
	* unicode.c (unicode_getprop):
	* unicode.c (unicode_print):
	Using 'type as the property name when working out what Unicode
	subtype a given coding system is was broken, since there's a
	general coding system property called 'type. Change the former to
	use 'unicode-type instead.

2006-12-27  Malcolm Purvis  <malcolmp@xemacs.org>

	* s/linux.h: Enable SYSTEM_MALLOC on ppc64, alpha and ia64

2006-12-17  Aidan Kehoe  <kehoea@parhasard.net>

	* faces.c (complex_vars_of_faces):
	Don't use server-side fallbacks when building with XFT support.

2006-12-06  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>

	* config.h.in: New HAVE_U_INT*_T defines.
	* database.c: Only use u_int*_t typedefs if not already

2006-12-08  Aidan Kehoe  <kehoea@parhasard.net>

	* specifier.c (charset_matches_specifier_tag_set_p):
	A charset's entry in Vcharset_tag_lists may be nil, if, when that
	charset was created, no tags with associated charset predicates
	existed. Accept this possibility, treat it as the tag not matching
	that charset.

2006-12-11  Aidan Kehoe  <kehoea@parhasard.net>

	* event-tty.c:
	* event-tty.c (emacs_tty_event_pending_p):
	* event-tty.c (reinit_vars_of_event_tty):
	Pay attention to the dispatch event queue, and input pending
	signals in emacs_tty_event_pending_p. Makes pure TTY builds more

2006-12-11  Aidan Kehoe  <kehoea@parhasard.net>

	* glyphs-eimage.c (png_warning_func):
	* glyphs-eimage.c (png_instantiate):
	* glyphs-eimage.c (tiff_warning_func):
	Decode external binary data as such before passing it to

2006-12-09  Vin Shelton  <acs@xemacs.org>

	* sound.c (init_native_sound): Fix typo in call to GTK_DEVICE

2006-12-07  Vin Shelton  <acs@xemacs.org>

	* fileio.c: Added cast to qxeGetNamedSecurityInfofix call to fix
	VC6 build.

2006-11-24  Benson Margulies  <benson@dchbk.us>

	* fileio.c: Change check_writable to use the full Win32 mechanism
	to check access.
	* intl-auto-encap-win32.c: Add GetNamedSecurityInfo
	* intl-auto-encap-win32.h: Add GetNamedSecurityInfo
	* intl-auto-encap-win32.h Add qxeGetNamedSecurityInfo.
	* intl-encap-win32.c: Add aclapi.h : GetNamedSecurityInfo
	* syswindows.h: Add aclapi.h

2006-12-06  Aidan Kehoe  <kehoea@parhasard.net>

	* text.c (Fsplit_char):
	Make split-char available on non-Mule builds, taking out a
	superfluous call to get-charset to make that possible.

2006-11-30  Mike Sperber  <mike@xemacs.org>

	* fileio.c (Finsert_file_contents_internal): Don't call the
	file-name handler for `insert-file-contents' from here, which is
	too late.  Instead, do it from Lisp.SSper

2006-11-29  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>

	* sysdir.h: Revert workaround missing d_ino field from 'struct
	dirent' for Cygwin as it's back in again.

2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-charset.c (Fset_charset_registries):
	Add an optional argument FORCE, to allow specifying badly-formed
	CHARSET_REGISTRY-CHARSET_ENCODING combinations. Re-enables the
	sort of hacks described in 96wt67fa3f.fsf@mo.msk.ru from Ilya

2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>

	* sound.c (init_native_sound):
	Only X11 and GTK devices can possibly not be on the console of the
	associated machine. Fixes a crash when init_native_sound is called
	on a msprinter device.

2006-11-28  Aidan Kehoe  <kehoea@parhasard.net>

	* device-x.c:
	* device-x.c (coding_system_of_xrm_database):
	Cache the last db argument and resulting coding system, and return
	them--instead of calling Lisp--if the DB is the same pointer
	arument as last time.
	* faces.c (default_face_font_info):
	* window.c (window_displayed_height):
	Behave more gracefully if called when we have no information about
	the dimensions of the default face and window.

2006-11-28  Aidan Kehoe  <kehoea@parhasard.net>

	* doprnt.c (emacs_doprnt_1):
	Ibyte -> Ascbyte, for the sake of the MSVC build. Thank you Vin.

2006-11-28  Aidan Kehoe  <kehoea@parhasard.net>

	* doprnt.c (emacs_doprnt_1):
	Integrate Sebastian Freundt's SXEmacs bug fix for cases where a
	format specifier overflows the allocated buffer with a float
	format string.

2006-11-23  Robert Pluim  <rpluim@gmail.com>

	* sysdep.c (strlwr): Don't intermix declarations and code.
	(wcslen): ditto

2006-11-23  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-coding.c (iso2022_decode):
	Only take the lower seven bits of any eight-bit character that
	would be illegal in UTF-8, when handling ISO/IR 196 escapes.

2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>

	* buffer.c (buffer-file-name): Document invariant.
	(buffer-file-truename): Sync wording to buffer-file-name.
	Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
	and discussion.

2006-11-20  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-ccl.c (CCL_MAKE_CHAR):
	* mule-ccl.c (ccl_driver):
	Eliminate a CCL bug with control-1 chars and
	write-multibyte-character--thank you for the report, Ilya--and
	eliminate a crash when a non-existent charset ID is specified for
	a mule-to-unicode call.

2006-11-18  Mike Sperber  <mike@xemacs.org>

	* redisplay-x.c (separate_textual_runs): Don't try to call
	ichar_to_unicode on non-MULE.

2006-11-18  Mike Sperber  <mike@xemacs.org>

	* window.c (window_pixel_height_to_char_height): Cater to the
	possibility that defheight may be 0.

2006-11-15  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-charset.c:
	* mule-charset.c (Fcharsets_in_region):
	Added a charsets-in-region implementation in C.

2006-11-14  Aidan Kehoe  <kehoea@parhasard.net>

	* objects-xlike-inc.c (x_find_charset_font):
	Move the warn_when_safe call to where GCing is irrelevant; as
	things are it doesn't GC, but I'm more comfortable without that
	being relevant.
	* specifier.c (define_specifier_tag):
	Remove a couple of lines added for the sake of debugging; add a
	GCPRO1 for the allocated vector, since the call_trapping_problems
	can GC.

2006-11-12  Aidan Kehoe  <kehoea@parhasard.net>

	* charset.h:
	* mule-charset.c (set_charset_registries):
	Provide a C-accessible version of set-charset-registries that
	doesn't error. Called from x_find_charset_font.

	* faces.c (ensure_face_cachel_contains_charset):
	Correct my spelling.

	* faces.c (update_EmacsFrame):
	Don't update the frame if it isn't live.

	* faces.h:
	Add some documentation on FACE_FONT.

	* frame-gtk.c (gtk_update_frame_external_traits):
	* frame-x.c (x_update_frame_external_traits):
	In the event that FACE_FONT has deleted the frame, don't
	manipulate it further in update_frame_external_traits.

	* mule-charset.c:

	* mule-charset.c (Fset_charset_registries):
	Don't allow XLFD wildcards in charset registries. Call the
	factored-out C-callable version instead of implementing the guts
	of the function here.

	* objects-gtk.c:
	#include "charset.h"

	* objects-xlike-inc.c (x_find_charset_font,
	gtk_find_charset_font): In the event that the charset is ASCII and
	we haven't matched anything up to now, even with a pattern of "*",
	add "iso8859-1" to the charset's registry and try again.

	* window.c (window_pixel_width_to_char_width):
	The default width of a face may be zero; only divide by it if it's

2006-11-11  Aidan Kehoe  <kehoea@parhasard.net>

	* specifier.c:
	Update the specifier-matching-instance documentation to reflect
	the new format of font-specifier MATCHSPECs.

2006-11-11  Aidan Kehoe  <kehoea@parhasard.net>

	* specifier.c:
	VM calls device-matching-specifier-tag-list; my taking it out of
	non-debug builds was misjudged, this change puts it back in.  I've
	also reverted a couple of incidental and wrong whitespace changes.

2006-11-09  Aidan Kehoe  <kehoea@parhasard.net>

	* specifier.c (specifier_instance_from_inst_list):
	Accept symbols as well as charset objects as the cons of a
	font-related specifier matchspec. Thank you Ilya.

2006-11-07  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-charset.c:
	Take the Qfinal declaration out of mule-charset.c; fixes the MSVC
	build. Sorry Vin!

2006-11-06  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-charset.c (Fmake_charset):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* specifier.c (syms_of_specifier):
	Three changes to prevent the build dying with MSVC and with
	DEBUG_XEMACS turned off--thank you Vin.

2006-11-05  Aidan Kehoe  <kehoea@parhasard.net>

	* charset.h:
	Prefer the charset-registries property to the charset-registry
	property; accept the latter for compatibility, warning when its
	regexp functionality is used.

	* charset.h (XCHARSET_CCL_PROGRAM):
	* charset.h (XCHARSET_NAME):
	Make dummy versions of these available in non-Mule.

	* console-impl.h:
	* console-impl.h (struct console_methods):
	Rename the last parameter to a couple of methods; reformat their

	* faces.c:
	* faces.c (face_property_matching_instance):
	* faces.c (ensure_face_cachel_contains_charset):
	* faces.c (merge_face_cachel_data):
	* faces.c (reset_face_cachel):
	* faces.c (mark_face_cachels_as_not_updated):
	* faces.c (syms_of_faces):
	* faces.c (vars_of_faces):
	* faces.c (complex_vars_of_faces):
	Provide a DEBUG_FACES macro; use it to make debugging output
	available in debug builds.
	Implement multi-stage font lookup, assigning the stages names, not
	Re-implement the cachel->font_specified cache using the
	infrastructure for Lisp bit vectors.

	* faces.h:
	* faces.h (struct face_cachel):
	* faces.h (FACE_FONT):
	Re-implement the cachel->font_specified cache using the
	infrastructure for Lisp bit vectors.

	* font-mgr.h:
	Move some XFT debug macros here from objects-x.c.

	* general-slots.h:
	Provide a few new symbols for the multi-stage font resolution

	* intl.c (init_intl):
	Correct a comment.

	* lisp.h:
	Provide a macro to declare an inline lisp bit vector where the
	size is fixed.
	Make Qregistries available all over, not Qregistry.

	* mule-charset.c:
	* mule-charset.c (mark_charset):
	* mule-charset.c (print_charset):
	* mule-charset.c (make_charset):
	* mule-charset.c (Fmake_charset):
	* mule-charset.c (Fcharset_property):
	* mule-charset.c (Fset_charset_ccl_program):
	* mule-charset.c (syms_of_mule_charset):
	* mule-charset.c (complex_vars_of_mule_charset):
	* mule-charset.c (CHINESE_CNS_PLANE):
	Prefer the charset-registries property to the charset-registry
	property; accept the latter for compatibility, warning when its
	regexp functionality is used.

	* objects-gtk.c:
	* objects-gtk.c (gtk_font_spec_matches_charset):
	* objects-gtk.c (gtk_find_charset_font):
	* objects-msw.c (mswindows_find_charset_font):
	* objects-tty.c (tty_find_charset_font):
	Redeclare various functions to work with the multi-stage lookup
	process. Include objects-xlike-inc.

	* objects-x.c:
	Provide a DEBUG_OBJECTS macro; use it to make debugging output
	available in debug builds.

	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_print_font_instance):
	* objects-x.c (xlistfonts_checking_charset):
	* objects-x.c (vars_of_objects_x):
	Don't regex match on the output of XListFonts; instead, use the
	fixed strings of the charset-registries to comparatively limit the
	IPC that will happen.  Include objects-xlike-inc.c

	* objects-xlike-inc.c:
	* objects-xlike-inc.c (count_hyphens):
	New. How many ASCII minus characters in a string?

	* objects-xlike-inc.c (xlistfonts_checking_charset):
	* objects-xlike-inc.c (mule_to_fc_charset):
	* objects-xlike-inc.c (xft_find_charset_font):
	* objects-x.c (x_find_charset_font):
	Move some methods here to share them with GTK.

	* objects.c (print_font_instance):
	* objects.c (font_spec_matches_charset):
	* objects.c (font_validate_matchspec):
	* objects.c (font_instantiate):
	Redeclare some methods to take enums rather than numeric stages.

	* objects.h (EXFUN):
	Make Fregexp_quote available to mule-charset.c

	* redisplay-x.c:
	* redisplay-x.c (separate_textual_runs):
	Make this slightly faster, cleaner. Make it accept a face cachel
	pointer argument, and check it as to whether a given charset
	should be translated to UCS-2 before redisplay.

	* specifier.c:
	* specifier.c (charset_matches_specifier_tag_set_p):
	* specifier.c (define_specifier_tag):
	* specifier.c (Fdefine_specifier_tag):
	* specifier.c (setup_device_initial_specifier_tags):
	* specifier.c (setup_charset_initial_specifier_tags):
	* specifier.c (specifier_instance_from_inst_list):
	* specifier.c (syms_of_specifier):
	* specifier.c (vars_of_specifier):
	* specifier.h:
	Extend specifiers to allow limiting their applicability by using
	charset predicates. Document this.
	Run indent-region on the file, at Stephen's suggestion.

	* unicode.c (unicode_to_ichar):
	* unicode.c (syms_of_unicode):
	* unicode.c (vars_of_unicode):
	Use unicode-registries, a dumped vector, as the charset-registries
	of the on-the-fly JIT charsets.

2006-11-01  Adrian Aichner  <adrian@xemacs.org>

	* sysdep.c (wcslen): Check for NULL pointer.
	* sysdep.c (strlwr): Ditto.
	* nt.c (mswindows_getdcwd): Ditto (actual cause of reported
	* intl-win32.c (wcscmp): Ditto.
	* intl-win32.c (wcslen): Ditto.
	* intl-win32.c (wcsncpy): Ditto.
	* intl-win32.c (wcscpy): Ditto.
	* intl-win32.c (wcsdup): Ditto.
	* fileio.c (Ffile_name_directory): Return Qnil when
	mswindows_getdcwd returns NULL working directory.

2006-10-30  Malcolm Purvis  <malcolmp@xemacs.org>

	* device-x.c (x_init_device):  Look in more directories when
	searching for the locale specific app-defaults files.

2006-10-28  Aidan Kehoe  <kehoea@parhasard.net>

	* event-xlike-inc.c:
	Rework the X11 keysym support to allow the use of Cyrillic keysyms
	that are not in ISO-8859-5.

2006-10-27  Aidan Kehoe  <kehoea@parhasard.net>

	* fileio.c (Finsert_file_contents_internal) : Clarify that we
	follow a more correct but more expensive design for buffers where
	the on-disk representation doesn't correspond directly to the
	XEmacs internal representation.

2006-08-29  Stephen J. Turnbull  <stephen@xemacs.org>

	* eval.c (Fcatch): Correct syntax of `throw' in docstring.

	* cmds.c (Fforward_line): Document that return can be negative.

2006-08-11  Stephen J. Turnbull  <stephen@xemacs.org>

	* frame.c (mouse-motion-handler): Document relation to hooks.

2006-08-24  Aidan Kehoe  <kehoea@parhasard.net>

	* console-tty-impl.h (struct tty_console):
	New flag; multiple_width, specifying whether East Asian characters
	take up two columns on this terminal. The macro to access it
	expands to a constant under non-Mule, so anything conditionalising
	on it will be optimised away.

	* console-tty.c:
	* console-tty.c (tty_init_console):
	Initialise tty_con->multiple_width; zero on non-Mule, one on Mule.

	* console-tty.c (Fconsole_tty_multiple_width): New.
	* console-tty.c (Fset_console_tty_multiple_width): New.
	* console-tty.c (syms_of_console_tty): Make them available outside

	* redisplay-tty.c (tty_text_width):
	* redisplay-tty.c (tty_output_ibyte_string):
	Check that the relevant console has multiple-width characters
	before using something other than the number of characters in a
	string for the text width of that string.

	* text.c:
	* text.c (ibyte_string_displayed_columns):
	* text.c (ichar_string_displayed_columns):
	Remove some Mule conditionals; add some sanity-checking.

2006-08-23  Aidan Kehoe  <kehoea@parhasard.net>

	* syntax.c (complex_vars_of_syntax):
	Guillemets are now punctuation, not parentheses. AucTeX does this,
	and it's infinitely less annoying if you're dealing with German
	text or mixed German and French.

2006-08-03  Jerry James  <james@xemacs.org>

	* keymap.c (where_is_recursive_mapper): Use the freshly allocated
	storage instead of leaking it.

2006-08-06  Aidan Kehoe  <kehoea@parhasard.net>

	* doc.c (Fsnarf_documentation):
	Add an assertion and a comment, rather than crashing in the
	76584th call of hash_string when someone's using a DOC file that
	doesn't conform to format.

2006-08-05  Aidan Kehoe  <kehoea@parhasard.net>

	* syntax.c (complex_vars_of_syntax):
	String literals are char[], not unsigned char[]. Cast them when
	passing to a function that takes UExtbyte *.

2006-08-05  Aidan Kehoe  <kehoea@parhasard.net>

	* lread.c (read_unicode_escape):
	Refactor this code out from read_escape, since it's now called
	from read_string as well.
	* lread.c (read_escape):
	Call read_unicode_escape instead of using inline code,
	* lread.c (read_string):
	Refactor out from read1, provide raw and honor_unicode options.
	* lread.c (read_raw_string):
	Added, a function that calls read_string with the correct
	arguments for a raw string.
	* lread.c (read1):
	Pass raw strings to read_raw_string; pass strings to read_string.

2006-08-04  Aidan Kehoe  <kehoea@parhasard.net>

	* event-tty.c (emacs_tty_next_event):
	Check dispatch_event_queue for pending events, since we add to
	that in drain_tty_devices(). Fixes dropped key sequences on TTY

2006-08-04  Aidan Kehoe  <kehoea@parhasard.net>

	* syntax.c (Fsyntax_table_p):
	Make the docstring better reflect the code.
	* syntax.c (define_standard_syntax):
	Take a const UExtbyte * as the first argument, not a const char *

	* syntax.c (complex_vars_of_syntax):
	Use a macro instead of repeating code; don't redundantly set the
	syntax of the alphanumeric characters to ?w; define syntax for
	Latin 1 characters here instead of in Lisp; guillemets are string
	delimiters, not parentheses.

2006-07-18  Marcus Crestani  <crestani@xemacs.org>

	* .cvsignore: Add .dbxrc.in and .gdbinit.in.

2006-07-18  Marcus Crestani  <crestani@xemacs.org>

	* gc.c (kkcc_backtrace): Print adresses as pointers.
	* vdb-posix.c (vdb_fault_handler): Print adresses as pointers.

2006-07-18  Marcus Crestani  <crestani@xemacs.org>

	* alloc.c: Fix typo in string_direct_data_description.

2006-07-07  Jerry James  <james@xemacs.org>

	* sound.c (init_native_sound): Make the target of a strcpy be
	exactly the right size to hold the copied string.

2006-07-08  Aidan Kehoe  <kehoea@parhasard.net>

	* lisp.h:
	* redisplay.c (add_octal_runes):
	* syntax.h:
	* text.c
	Change some comments to reflect a 21-bit character space.
	* text.c (non_ascii_valid_ichar_p):
	Check that no character value is greater than 2^^21, not
	2^^19. This fixes the Mule build when error-checking is turned on.

2006-07-08  Aidan Kehoe  <kehoea@parhasard.net>

	* symbols.c (Fsubr_name):
	Use the CHECK_SUBR macro instead of the GNU code's explicit if

2006-07-08  Aidan Kehoe  <kehoea@parhasard.net>

	* charset.h:
	Move to 7 bits instead of 5 for the first field of a character.

2006-07-07  Aidan Kehoe  <kehoea@parhasard.net>

	* config.h.in:
	Don't declare inline macros as `extern' if we're building a
	standalone program, because their extern definitions in inline.c
	are unlikely to be included.

2006-06-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* gc.c (gc_mark_root_set): Quiet GCC 4 whining about unused values.

2006-06-29  Jerry James  <james@xemacs.org>

	* scrollbar-gtk.c (gtk_free_scrollbar_instance): Compare
	instance->scrollbar_data against NULL before using it.
	* scrollbar-msw.c (mswindows_free_scrollbar_instance): Compare
	sb->scrollbar_data against NULL before using it.

2006-06-22  Jerry James  <james@xemacs.org>

	* redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
	Don't create the buffer if there is nothing to do.
	* redisplay-msw.c (mswindows_output_display_block): Ditto.
	* redisplay-output.c (redisplay_output_layout): Ditto.
	* redisplay-tty.c (tty_output_display_block): Ditto.
	* redisplay-x.c (x_output_display_block): Ditto.

2006-06-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* font-mgr.c (extract_fcapi_string):
	fc_intern and extract_fcapi_string should return
	[const] Extbyte *.  Make it so, update callers.

2006-05-26  Stephen J. Turnbull  <stephen@xemacs.org>

	* objects-x.c (x_initialize_font_instance):
	Pander to GCC4 signed character paranoia.

2006-06-19  Jerry James  <james@xemacs.org>

	* device-x.c (x_IO_error_handler): Do not dereference d if it is
	* dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
	dereference it, not the other way around.
	* emacs.c (main_1): restart is always 0 here.
	* extents.c (detach_all_extents): Call extent_list_delete_all with
	a non-NULL parameter only.
	* glyphs-widget.c (widget_query_geometry): Guard against possibly
	NULL width and height.
	* window.c (change_window_height): Restore use of CURCHARSIZE
	removed by 2006-06-16 change, to preserve the abstraction.

2006-06-19  Jerry James  <james@xemacs.org>

	* frame-x.c (x_set_frame_properties): Remove casts to silence GCC
	warnings about a missing sentinel.

2006-06-16  Jerry James  <james@xemacs.org>

	* dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
	checking if it is NULL.  Also fix a memory leak.
	* fileio.c (Finsert_file_contents_internal): Remove dead code.
	* input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
	xic before checking if they are NULL.
	* md5.c (Fmd5): Check whether Lstream_read encountered an error.
	* nas.c (Err): Fix a memory leak.
	* scrollbar-x.c (x_free_scrollbar_instance): Do not dereference
	instance->scrollbar_data before checking if it is NULL.
	* text.c (eicmp_1): Move assertions to before the point where they
	must be true for correctness.
	* vdb-posix.c (vdb_fault_handler): Guard against a return from
	* window.c (change_window_height): Skip always true comparison in
	the expansion of CURCHARSIZE.

2006-06-16  Jerry James  <james@xemacs.org>

	* alloc.c: Don't add MODULE_DEFINABLE_TYPE_COUNT to
	countof (lrecord_implementations_table); the latter is already big

2006-06-18  Aidan Kehoe  <kehoea@parhasard.net>

	* event-xlike-inc.c:
	Add support for three publishing keysyms with clear Unicode
	mappings. They would have been included in my commit of 2005-06-26
	had Markus Kuhn known about them.

2006-06-13  Jerry James  <james@xemacs.org>

	* lisp-union.h: Cast away bit restrictions on values retrieved
	from the Lisp_Object union.

2006-06-14  Aidan Kehoe  <kehoea@parhasard.net>

	* mule-ccl.c:
	Don't declare ccl-program as a symbol here, leave that to
	* unicode.c (unicode_to_ichar):
	Use qxesprintf, not snprintf, change some types to allow
	complilation on Win32.

2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>

	* charset.h:
	* charset.h (struct Lisp_Charset):
	* charset.h (CHARSET_ENCODE_AS_UTF_8):
	* charset.h (XCHARSET_ENCODE_AS_UTF_8):
	Add a flag `encode-as-utf-8' to the Mule charset structure; if
	set, it's an indication to ISO 2022-oriented coding systems that
	the characters of that charset should be encoded using the ISO-IR
	196 UTF-8 escape syntax, since they're not members of any other
	well-known character set we're aware of.

	Make enum unicode_type, encode_unicode_char and Funicode_to_char
	available outside of unicode.c

	* lread.c:
	* event-xlike-inc.c:
	Use the charset.h declaration of Funicode_to_char, don't declare
	it ourselves.

	My XFree86 installation has taken to passing me ASCII characters
	using the Unicode keysyms; accept them too.

	* general-slots.h:
	Make `ccl-program' and `encode-as-utf-8' available as symbols

	* mule-ccl.c:
	Add CCL_MuleToUnicode, CCL_UnicodeToMule, implement them, enable
	and debug CCL_MAKE_CHAR, have CCL_WriteMultibyteChar2 segfault
	less, fix some grammar.

	* mule-charset.c (make_charset):
	* mule-charset.c (Fmake_charset):
	* mule-charset.c (Fcharset_property):
	* mule-charset.c (complex_vars_of_mule_charset):
	Require the encode_as_utf_8 property when calling make_charset ();
	accept it when creating a charset from Lisp in Fmake_charset.

	* mule-coding.c:
	* mule-coding.c (dynarr_add_2022_one_dimension):
	* mule-coding.c (dynarr_add_2022_two_dimensions):
	Add two convenience functions for iso2022_decode, to abstract out
	writing UTF-8 a little.

	* mule-coding.c (enum iso_esc_flag):
	Add one more state to reflect the existence of the UTF-8 escape.

	* mule-coding.c (struct iso2022_coding_stream):
	Add a counter variable to the state to permit handling
	variable-length UTF-8.

	* mule-coding.c (parse_iso2022_esc):
	Update the function to work with ISO_STATE_UTF_8; only the ESC % @
	escape is processed in that state, everything else is ignored and
	passed through by the error handler.

	* mule-coding.c (iso2022_decode):
	* mule-coding.c (iso2022_designate):
	* mule-coding.c (iso2022_encode):
	Handle the UTF-8 escape sequences in reading and in writing ISO

	* redisplay-x.c (separate_textual_runs):
	Add a comment to the effect that the dimension stuff breaks when
	using CCL programs and registries to map to a bigger charset.

	* unicode.c:
	Add support for creating new characters on the fly as unknown
	Unicode code points are encountered.

	* unicode.c (get_free_codepoint): New.
	* unicode.c (unicode_to_ichar): Reworked to create new code points
	on the fly.
	* unicode.c (Funicode_to_char): Update the docstring.
	* unicode.c (struct unicode_coding_system):
	Move enum unicode_type into charset.h.

	* unicode.c (encode_unicode_char):
	encode_unicode_char isn't static any longer, mule-coding.c uses
	* unicode.c (syms_of_unicode):
	Make a couple of symbols available to unicode.c
	* unicode.c (vars_of_unicode):
	Tell the garbage collector about current_jit_charset, initialise

2006-05-25  Stephen J. Turnbull  <stephen@xemacs.org>

	* objects-x.c (x_find_charset_font): Keep local names local; wrap
	the spurious declaration in a block, don't move it.

2006-05-25  Aidan Kehoe  <kehoea@parhasard.net>

	* file-coding.c (output_bytes_in_ascii_and_hex):
	I installed GCC 4.0 (which may not even have been necesssary,
	-pedantic might have done it) and it showed me that the problem my
	last commit intended to address was in eistr_ext rather than

2006-05-16  Andrey Slusar  <anrays@gmail.com>

	* objects-x.c (x_find_charset_font): Fix build with gcc 2.95.

2006-05-23  Aidan Kehoe  <kehoea@parhasard.net>

	* file-coding.c (output_bytes_in_ascii_and_hex):
	Fix a Win32 build failure introduced by my last commit.

2006-05-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* .gdbinit.in: Moved to etc.
	* .dbxrc.in: Moved to etc.

2006-05-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* tests.c (Ftest_data_format_conversion): Fix no-mule autodetect
	bugs.  Update FSF copyright.

2006-05-23  Aidan Kehoe  <kehoea@parhasard.net>

	* frame-x.c (x_set_frame_properties):
	Check that the frame is live and that the device is not being
	deleted before attempting anything.  Avoids calling X code if
	x_IO_error_handler has seen a broken pipe.

2006-05-22  Aidan Kehoe  <kehoea@parhasard.net>

	* file-coding.c (output_bytes_in_ascii_and_hex):
	Pass stderr_out internally-formatted data, don't use an external

2006-05-21  Aidan Kehoe  <kehoea@parhasard.net>

	* doc.c (extract_object_file_name):
	* doc.c (unparesseuxify_doc_string):
	Leave sufficient space for the '\0' sentinel when reading into the
	buffer.  The bug in unparesseuxify_doc_string had been there for
	ten years at least, but it was Fabrice Popineau's investigation of
	the code on the same model in extract_object_file_name that
	provoked its discovery.  Thank you Fabrice!

ChangeLog Entries from tests/ChangeLog

goto announcement, summary, changes

2007-05-21  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.28 "fuki" is released.

2007-05-20  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el:
	Make the file name coding system tests work on OS X.
	Check various slots of the language environment structure to make
	sure they're well formed--we've been shipping without a Turkish or
	Latin-10 input method for years, for example, which is an error.

2007-04-30  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el (featurep):
	Minimal tests of the non-BMP UTF-16 support.

2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el:
	* automated/mule-tests.el (bytecomp):
	Require it, since we're testing its Unicode support.
	* automated/mule-tests.el (featurep):
	Assert that the escape-quoted coding cookie is added when needed,
	and ignored when not.

2007-04-29  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el (featurep):
	Sort the results of charsets-in-region, charsets-in-string before
	comparing them to the previously-determined list of character
	sets. Eliminates a dependency on the algorithm
	charsets-in-{region,string} uses.

2007-03-26  Stephen J. Turnbull  <stephen@xemacs.org>

	* automated/syntax-tests.el: Test for regression of bug fixed by
	Olivier Galibert <20070324221053.GA48218@dspnet.fr.eu.org>.  Test
	by Ralf Angeli http://article.gmane.org/gmane.emacs.xemacs.beta/17353.

2006-11-25  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/iso-ir-196-test.el:
	* automated/mule-tests.el (featurep):
	Move the tested added in the previous commit to a separate file.

2006-11-23  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el (featurep):
	Add a test that ISO/IR 196 escape handling in ISO-2022-based
	charsets don't choke on invalid bytes in UTF-8 text.

2006-11-20  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el (featurep):
	Add tests to make sure the fixes to the CCL bugs I just checked in
	don't regress.

2006-08-05  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/lisp-reader-tests.el:
	New file, imported from Martin Kuehl's SXEmacs commit; test the
	new raw string syntax, including the Unicode escapes, which
	SXEmacs doesn't have.

2006-06-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* automated/test-harness.el (Silence-Message): New macro.
	* automated/mule-tests.el: Use it.
	* automated/region-tests.el: Use it.
	* automated/tag-tests.el: Use it.

2006-06-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* automated/test-harness.el: Improve handling of unexpected errors.

2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>

	* automated/mule-tests.el:
	Add checks that several Unicode characters, expressed as
	UTF-8-encoded strings, are handled correctly by the UTF-8 support
	of the escape-quoted character set.
	* automated/mule-tests.el (unicode-code-point-to-utf-8-string): New.
	Convert a Unicode code point to the equivalent UTF-8 string.
	This is a naive implementation in Lisp.

goto announcement, summary, changes


Conform with <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Automatically validated by PSGML