XEmacs -- Emacs: The Next Generation
English
German
Japanese
America
Asia
Australia
Europe
 
     Searching XEmacs
Quick Links About XEmacs Getting XEmacs Customizing XEmacs Troubleshooting XEmacs Developing XEmacs
      

XEmacs 21.5.7 "broccoflower" is Released

goto announcement, summary, changes

To: XEmacs Beta Testers <xemacs-beta@xemacs.org>
Subject: XEmacs 21.5.7 "broccoflower" is released.
From: "Stephen J. Turnbull" <stephen@xemacs.org>
Organization: The XEmacs Project
Date: 03 Jul 2002 02:15:18 +0900
Message-ID: <87r8im6ogp.fsf@tleepslib.sk.tsukuba.ac.jp>

XEmacs 21.5.7 "broccoflower" is released.

This is a checkpoint release.  There are still lots of issues to work
out, known crashes on Linux, etc.  It builds on my box; that's the
only promise we're making at this point.  If it _doesn't_ build on
yours, please send a build-report and report the problem to
xemacs-beta.  If it does, we'd still appreciate a build report.

Many crashes and fatal problems have been fixed.  TTYs now work.

Lisp and internal APIs continue to change rapidly.  Most of Ben's big
merges are now complete.  Michael Sperber and team have finished most
of the preparatory work on the new garbage collection framework (none
of this is visible to user or Lisp APIs yet), and should soon start on
revising the collector itself.

Availability

Check out from CVS with -r r21-5-7 or -r r21-5-latest-beta.  See
http://www.xemacs.org/Develop/cvsaccess.html for CVS access.

Download the tarball or patches as:
ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.5.7.tar.gz
ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.5.6-21.5.7.patch.gz

Changes in XEmacs 21.5.7 "broccoflower"

goto announcement, summary, changes

CHANGES now uses @xemacs.org alias to identify contributors. If the contributor doesn't have one (that I know about), the full name from the ChangeLog is used.

UI changes and runtime bugs

  • Add: ask "yes/no/diff" question when recovering; known problem: dialog is modal, so you can't scroll the diff -- ben
  • Add: balloon help for package-ui -- youngs
  • Add: global-abbrev-mode, defining-abbrev-turns-on-abbrev-mode -- ben
  • Add: lots of new menubar items -- ben
  • Add: new winclient for MS Windows -- acs
  • Add: option kill-word-into-kill-ring controls whether words are "cut" into the kill ring, or "cleared" into nothingness -- ben
  • Add: revert-buffer optimization for unchanged files -- andy
  • Add: undo-all-changes back to the beginning -- ben
  • Fix: M-C-backslash does indent-region-or-balanced-expression, S-Tab inserts a TAB char -- ben
  • Fix: Cmds menu so that most used commands appear directly on the menu and less used commands appear in submenus -- ben
  • Fix: NILP(lim) crash in search.c -- mike
  • Fix: STACK_TRACE_EYE_CATCHER now visible in MS Windows traces -- jonathan
  • Fix: XmProcessTraversal crash -- stephen
  • Fix: avoid infinite loop in extent code -- ben
  • Fix: crash due to errant xfree() -- ben
  • Fix: crash in gtk_popup_menu -- wmperry
  • Fix: crashes due to excessive alloca -- ben
  • Fix: detection of metric units on MS Windows -- jonathan
  • Fix: don't output bell as ^G in console-stream when not a TTY -- ben
  • Fix: improve MS Windows printer support -- andy
  • Fix: improve appearance for gutters and dialogs -- andy
  • Fix: improve lisp-mode indentation handling -- ben
  • Fix: interprogram cut functions now don't add selection twice -- stephen
  • Fix: many netinstaller improvements -- andy
  • Fix: popup dialogs on MS Windows -- andy
  • Fix: recover-session only shows session files with recoverable files, and in chronological order -- ben
  • Fix: save customized values MUCH faster and in alphabetic order, custom-save-pretty-print turns on/off pretty-printing values -- Nickolay Pakoulin
  • Fix: semicolons inside strings are not comments in lisp-mode -- ben
  • Fix: short filename handling on Windows -- Peter Arius
  • Fix: some crashes in syntax code -- ben
  • Fix: some crashes with multibyte text -- ben
  • Fix: two frames displaying the buffer, in different places; in one, temporarily switch away to another buffer and then back, and your position has been reset to the other one in the other frame -- ben
  • Fix: update installed.db after updating packages -- andy

Documentation

  • Add: New FAQs -- stephen, adrian
  • Add: New or improved code and documentation in sample.init.el -- ben, stephen
  • Add: PROBLEMS: Hannibal Lecter crash, EFS AUTH failure, mail locking -- stephen
  • Add: etc/TUTORIAL.se -- Mats Lidell
  • Add: new Internals manual nodes -- ben, stephen, darrylo
  • Add: why modules don't use RTLD_GLOBAL -- james
  • Fix: README.integral-types doc moved to Internals, code moved to README.global-renaming -- ben
  • Fix: README.packages: info about --package-path -- ben
  • Fix: improve docstrings and comments -- ben, stephen, adrian, John H. Palmieri
  • Fix: typos, minor updates -- stephen, I. N. Golubev, Frank Schmitt, adrian, youngs
  • Fix: update etc/BETA -- Jarl Friis
  • Fix: update etc/package-index.LATEST.pgp -- youngs
  • Fix: update photos -- hniksic

Lisp API

  • Add: functions: args-out-of-range, argument-in-range-p, check-argument-range, indent-balanced-expression-function, indent-balanced-expression, indent-region-or-balanced-expression, image-instance-instantiator, truncate-string-with-continuation-dots, get-user-response, unicode-precedence-list -- ben, stephen
  • Fix: GNU synchs of frame-parameter, makehash, buffer-local-value, line-beginning-position, line-end-position, with-temp-message, bound-and-true-p, propertize, delete-and-extract-region, add-to-list, string-to-char-list, find-non-ascii-charset-region, find-non-ascii-charset-string, truncate-string-to-width, plist-to-alist, kill-ring-max, kill-new -- John Paul Wallington, youngs, ben, james, ville
  • Add: set-frame-pixel-width, set-frame-pixel-size -- andy
  • Add: args to map-specifier, various "heuristic" specifier functions -- ben
  • Fix: call-process moves to Lisp -- ben
    • allows a buffer to be specified for input and stderr output
    • use it on all systems
    • implement C-g as documented
    • clean up and comment
    • call-process-region uses new call-process facilities; no temp file.
    • remove duplicate funs
  • Add: compat.el, preliminary (not working) code -- ben
  • Add: handle subprocess stderr separately (src/ChangeLog 2002-05-28) -- ben
  • Add: new error trapping mechanism (src/ChangeLog 2002-05-28) -- ben
  • Add: pixel-based sizing APIs: set-frame-pixel-height,
  • Add: preliminary support for ELL autoloads -- james
  • Add: toolbar face -- wmperry
  • Add: widget "logical-unit" sizing APIs: widget-logical-to-character-width, widget-logical-to-character-height -- andy
  • Fix: paths-find-architecture-directory searches in `system-configuration'/`base', not `base'`system-configuration' -- james
  • Fix: default CRLF conversion of process output off -- ben
  • Fix: default value of gethash to Qunbound -- ben
  • Fix: face-handling code (superseded by ben's overhaul) -- jan, andy
  • Fix: layout improvements -- andy
  • Fix: major overhaul of face-handling code -- ben
    • avoid truenaming fonts
    • msw-faces.el APIs now accept names and font instances, return names
    • rewrite frobbing functions in faces.el
    • don't duplicatively set a global specification for the default font
    • remove redundant face lists from x-faces.el and msw-faces.el
    • call init-global-faces under MS Windows!
    • correct weight names in font.el.

Internals

  • Add: new APIs -- ben
    • macros to GCPRO arrays
    • default argument for char tables
    • signal extent changes
    • internal_bind_*, check_specbind_stack_sanity
    • partial support for 8-, 16-, and 32-bit fixed-width text
    • new cons treatment (src/ChangeLog 2002-05-28)
    • rename character types to Itext, Ibyte, Ichar (src/ChangeLog 2002-06-05)
    • rename various identifiers for consistency
  • Add: New GC preparation -- mike, Martin Köbele, Jens Müller
  • Add: support for fastcall in MS Windows -- ben
  • Fix: ELL APIs -- james
    • load only once
    • no longer use RTLD_GLOBAL
  • Fix: ELLs now use RTLD_NOW instead of RTLD_LAZY -- Andrew Begel
  • Fix: Many Mule changes -- ben
  • Fix: call-process ensures that the argument to `symbol-value-in-buffer' is a buffer even if `buffer' is a string -- mike
  • Fix: code that outputs into a buffer, use unwind protects, etc. -- ben
  • Fix: complete implementation of some Unicode functions, S-caron test failure -- stephen
  • Fix: conditionalize code depending on features like toolbar -- jonathan, Mike Alexander
  • Fix: create new process-synchronize-point to avoid dynamic binding problems; fix bogosity in setting process sentinels -- ben, mike
  • Fix: make a lot of code use common includes and implementations (see 2002-06-20 src/ChangeLog) -- ben
  • Fix: move global-map to keydefs.el -- ben
  • Fix: new signal/C-g handling (src/ChangeLog 2002-05-28) -- ben
  • Fix: numerous problems with the case-table implementation -- ben
  • Fix: quoting of native-coding-system in CJK files -- Daiki Ueno
  • Fix: race condition in process handling -- Nix
  • Fix: recover gracefully from internal XOpenDevice failure -- mike
  • Fix: redo syntax cache code -- ben
  • Fix: save-restriction now uses markers -- ben
  • Fix: small bugs -- stephen, ben, andy, martin, Eric Gillespie Jr

Build

  • Add: basic support for handling ISO 2022 doc strings in make-docfile -- ben
  • Add: tmpdir for install, allowing simultaneous run & build -- andy
  • Fix: "Stop Build" in VC++ now works -- Ben
  • Fix: #undef INTERNET_DOMAIN_SOCKETS build of gnuserv -- Greg Steuck
  • Fix: --with-widgets autodetection -- jan
  • Fix: 64-bit support -- Andreas Jaeger, Gregory Steuck
  • Fix: MS Windows Makefile cleanups -- ben, jonathan
  • Fix: MS Windows builds default to pdump -- ben
  • Fix: assorted build breakage -- ben, mike, andy, Malcolm Purvis
  • Fix: check for EOF in make-docfile -- ben
  • Fix: config.h.in organization -- ben
  • Fix: ensure combined X and windows build gets widgets -- andy
  • Fix: implement configure option moduledir -- Mike Fabian
  • Fix: spurious failures in tests -- ben, stephen
  • Fix: test harness now outputs FAIL messages to stderr in batch mode -- ben
  • Fix: test-harness.el now cleans up Check-Message and Check-Error-Message when done -- stephen
  • Fix: typos and platform specific bugs in configure -- Malcolm Purvis, galibert, Paul Stodghill
  • Fix: warnings -- ben, wmperry, stephen, didier

ChangeLogs for XEmacs 21.5.7 "broccoflower"

goto announcement, summary, changes

ChangeLog Entries from ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* PROBLEMS (Running XEmacs; General): Xref FAQ Q3.10.6.

2002-05-22  Andy Piper  <andy@xemacs.org>

	* build-msw-release.sh (TMPINSTALL): install to a tmpdir so that
	xemacs can be running while we build a dist.

2002-05-07  Andy Piper  <andy@xemacs.org>

	* configure.in: undo autoconf 2.5x change.

2002-04-26  Andy Piper  <andy@xemacs.org>

	* configure.in: make sure that a combined X and windows build gets
	widgets.

2002-04-26  Andy Piper  <andy@xemacs.org>

	* configure.in: update to support autoconf 2.5x from Andreas
	Schwab <schwab@suse.de> and/or Werner Fink <werner@suse.de>.

2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* etc/sample.init.el: Fix comment typo about resize-minibuffer.

	* etc/sample.init.el: Add description of initialization process,
	the custom.el file, and code to load custom.el early instead of
	late.

2002-04-22  Hrvoje Niksic  <hniksic@xemacs.org>

	* etc/photos/hniksic.png, etc/photos/hniksic.png: Update.

2002-04-25  Mike Fabian  <mfabian@suse.de>

	* configure.in: add option moduledir as mentioned in ./configure
	--help

2001-04-21  Martin Buchholz  <martin@xemacs.org>

	* configure.in: Detect MacOS/X "Darwin".
	Thanks to Greg Parker <gparker@cs.stanford.edu>.
	
2002-03-30  Steve Youngs  <youngs@xemacs.org>

	* etc/package-index.LATEST.pgp: Update to current reality.

2002-02-28  Stephen J. Turnbull  <stephen@xemacs.org>

	* etc/TUTORIAL.se: New from Mats Lidell.

2002-01-07  Jan Vroonhof  <jan@xemacs.org>

	* configure.in: Make explicit "--with-widgets" mean "=yes".
	If "--with-widgets=yes" autodetect athena.

2001-12-29  Steve Youngs  <youngs@xemacs.org>

	* etc/package-index.LATEST.pgp: Update.

2001-12-13  William M. Perry  <wmperry@gnu.org>

	* configure.in (GTK): add -Wno-shadow.
	
2002-01-23  Jarl Friis  <jarl@diku.dk>

	* etc/BETA (http): Informing of xemacs-patches mailing list. Added
	note on patch etiquette.

2001-03-26  Paul Stodghill  <stodghil@cs.cornell.edu>

	* configure.in: Don't #define __STDC__ in confdefs.h

2002-02-28  Malcolm Purvis  <malcolmpurvis@optushome.com.au>

	* configure.in: Protect nocomboreloc linker arguments to avoid
	problem on the ppc.

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

	* PROBLEMS: Describe "Hannibal Lecter" crash on Linux.  Reorder
	Linux runtime issues section.
	* INSTALL: Improve description of mail locking.

2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* PROBLEMS (General): Decribe failed AUTH with EFS.

2002-04-23  Olivier Galibert  <galibert@pobox.com>

	* configure.in: Fix the "error checking" warning.

2002-05-05  Ben Wing  <ben@xemacs.org>

	* README.packages: Update info about --package-path.

2002-04-14  Ben Wing  <ben@xemacs.org>

	* TODO.ben-mule-21-5:
	* TODO.ben-mule-21-5 (Priority): New.
	Update.

ChangeLog Entries from etc/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2001-03-30  Ben Wing  <ben@xemacs.org>

	* sample.init.el:
	* sample.init.el (Init-kill-entire-line):
	* sample.init.el (describe-foo-at-point):
	* sample.init.el (kill-current-buffer):
	* sample.init.el (kill-current-buffer-and-window):
	* sample.init.el (grep-c-files): Removed.
	* sample.init.el (grep-all-files-history): New.
	* sample.init.el (grep-all-files-omitted-expressions): New.
	* sample.init.el (grep-all-files-omitted-directories): New.
	* sample.init.el (construct-grep-all-files-command): New.
	* sample.init.el (grep-all-files-in-current-directory): New.
	* sample.init.el (grep-lisp-files): Removed.
	* sample.init.el (grep-all-files-in-current-directory-and-below): New.
	* sample.init.el (clear-select):
	* sample.init.el ((control kp-add)):
	* sample.init.el (pause):
	* sample.init.el ((eq system-type 'windows-nt)):

	Add documentation for defined functions.  Change grep functions to
	be more generally useful.  Document more specifically what the
	`menu-force' setting actually does -- what commands are overridden
	and how to access them.

2002-04-22  Hrvoje Niksic  <hniksic@xemacs.org>

	* photos/hniksic.png, photos/hniksic.png: Update.

ChangeLog Entries from lib-src/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-05-29  Greg Steuck  <greg-xemacs-patches@nest.cx>

	* gnuclient.c: Makes it possible again to #undef
	INTERNET_DOMAIN_SOCKETS in lib-src/gnuserv.h and get a functional
	gnuserv which is only accessible through UNIX_DOMAIN_SOCKETS.

2002-05-28  Ben Wing  <ben@xemacs.org>

	* make-docfile.c (scan_c_file):
	* make-docfile.c (scan_lisp_file):
	Fix places where we forget to check for EOF.

2002-05-05  Ben Wing  <ben@xemacs.org>

	* i.c:
	* i.c (skip_executable_name):
	* i.c (main):
	Create an inheritable event and pass it on to XEmacs, so that ^C
	can be handled properly.  Intercept ^C and signal the event.
	"Stop Build" in VC++ now works.

2002-04-14  Ben Wing  <ben@xemacs.org>

	* make-docfile.c:
	* make-docfile.c (next_extra_elc):
	* make-docfile.c (again): Removed.
	* make-docfile.c (main):
	* make-docfile.c (getc_iso2022):
	* make-docfile.c (MDGET):
	* make-docfile.c (read_c_string):
	* make-docfile.c (write_c_args):
	* make-docfile.c (scan_c_file):
	* make-docfile.c (read_lisp_symbol):
	* make-docfile.c (scan_lisp_file):
	Add basic support for handling ISO 2022 doc strings -- we parse
	the basic charset designation sequences so we know whether we're
	in ASCII and have to pay attention to end quotes and such.
	
	Reformat code according to coding standards.

ChangeLog Entries from lisp/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-06-27  Mike Sperber <mike@xemacs.org>

	* dumped-lisp.el (preloaded-file-list): Added post-gc.el.

	* post-gc.el: Create.

2002-06-24  John Paul Wallington  <jpw@shootybangbang.com>

	* obsolete.el (frame-parameter): New compatibility function.
	(makehash): Ditto.
	(buffer-local-value): Ditto.
	(line-beginning-position): New compatibility alias for `point-at-bol'.
	(line-end-position): New compatibility alias for `point-at-eol'.

	* subr.el (with-temp-message): New function; sync with GNU Emacs 21.
	(bound-and-true-p): Ditto.
	(propertize): New function.
	(delete-and-extract-region): Ditto.

2002-06-24  Jerry James  <james@xemacs.org>

	* code-files.el (load): Look for a binary module if no Lisp file
	with the correct name is found.

2002-06-22  Ville Skyttä  <ville.skytta@xemacs.org>

	* subr.el (add-to-list): Sync with GNU Emacs 21.2, adding the
	"&optional append" argument.

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

	* unicode.el (load-unicode-tables): Comment loading 8859-1.TXT.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* mule/mule-msw-init-late.el:
	Specify charset->windows-registry conversion.
	
	* mule/mule-x-init.el:
	* mule/mule-x-init.el (x-use-halfwidth-roman-font):
	* mule/mule-x-init.el (init-mule-x-win):
	Delete extra mule font additions here.  Put them in faces.c.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* cl-macs.el (defun*):
	* cl-macs.el (defmacro*):
	* cl-macs.el (destructuring-bind):
	Document better.
	
	* font-lock.el (lisp-font-lock-keywords-1):
	Move Lisp function regexp to lisp-mode.el.

	* lisp-mode.el:
	* lisp-mode.el (lisp-function-and-type-regexp): New.
	* lisp-mode.el (lisp-flet-regexp): New.
	* lisp-mode.el (lisp-indent-function):
	* lisp-mode.el (lisp-indent-quoteform): New.
	Various indentation fixes:
	
	Handle flet functions better.
	Handle argument lists in defuns and flets.
	Handle quoted lists, e.g. property lists -- don't indent like
	function calls.  Distinguish between lambdas and other lists.
	
	* lisp-mode.el (save-selected-device): Handle this form.

	* faces.el:
	* faces.el (face-property-instance):
	* faces.el (face-property-matching-instance):
	* faces.el (set-face-property):
	* faces.el (set-face-display-table):
	* faces.el (set-face-underline-p):
	* faces.el (set-face-strikethru-p):
	* faces.el (set-face-highlight-p):
	* faces.el (set-face-blinking-p):
	* faces.el (face-equal):
	* faces.el (try-font-name):
	* faces.el (face-frob-from-locale-first): New.
	* faces.el (frob-face-property): Removed.
	* faces.el (included): Removed.
	* faces.el (frob-face-property-1): Removed.
	* faces.el (frob-face-font-2): Removed.
	* faces.el (Face-frob-property-device-considered-current): New.
	* faces.el (Face-frob-property): New.
	* faces.el (make-face-family):
	* faces.el (make-face-bold):
	* faces.el (make-face-italic):
	* faces.el (NOTE): New.
	* faces.el (functions): New.
	* faces.el (make-face-bold-italic):
	* faces.el (make-face-unbold):
	* faces.el (make-face-unitalic):
	* faces.el (make-face-size):
	* faces.el (make-face-smaller):
	* faces.el (make-face-larger):
	* faces.el (get-frame-background-mode):
	* faces.el (init-global-faces):
	* font-menu.el:
	* font-menu.el (font-menu-set-font):
	* font-menu.el (font-menu-change-face):
	* font.el:
	* font.el (mswindows-font-weight-mappings):
	* font.el (font-mswindows-font-regexp): Removed.
	* font.el (mswindows-font-create-object):
	* font.el (mswindows-font-create-name):
	* gtk-faces.el (gtk-init-global-faces):
	* msw-faces.el:
	* msw-faces.el (mswindows-init-device-faces):
	* msw-faces.el (mswindows-font-regexp): Removed.
	* msw-faces.el (mswindows-font-canonicalize-name): Removed.
	* msw-faces.el (mswindows-canonicalize-font-name): New.
	* msw-faces.el (mswindows-parse-font-style): New.
	* msw-faces.el (mswindows-construct-font-style): New.
	* msw-faces.el (mswindows-frob-font-style): New.
	* msw-faces.el (mswindows-frob-font-style-and-sizify): New.
	* msw-faces.el (mswindows-nonbold-weight-regexp): New.
	* msw-faces.el (mswindows-make-font-unbold):
	* msw-faces.el (mswindows-bold-weight-regexp): New.
	* msw-faces.el (mswindows-make-font-italic):
	* msw-faces.el (mswindows-make-font-bold-mapper): New.
	* msw-faces.el (mswindows-make-font-unitalic):
	* msw-faces.el (mswindows-make-font-nonbold-mapper): New.
	* msw-faces.el (mswindows-make-font-italic-mapper): New.
	* msw-faces.el (mswindows-make-font-bold-italic):
	* msw-faces.el (mswindows-make-font-unitalic-mapper): New.
	* msw-faces.el (mswindows-make-font-bold-italic-mapper): New.
	* msw-faces.el (mswindows-find-smaller-font):
	* msw-faces.el (mswindows-find-larger-font):
	* msw-faces.el (mswindows-available-font-sizes): New.
	* msw-faces.el (mswindows-frob-font-size): New.
	* msw-font-menu.el:
	* msw-font-menu.el (mswindows-font-menu-junk-families):
	* msw-font-menu.el (mswindows-font-menu-registry-encoding): Removed.
	* msw-font-menu.el (mswindows-reset-device-font-menus):
	* msw-font-menu.el (mswindows-font-menu-font-data):
	* msw-font-menu.el (mswindows-font-menu-load-font):
	* x-faces.el:
	* x-faces.el (x-init-global-faces):
	* x-faces.el (x-init-device-faces):
	* x-init.el (init-x-win):
	* x-init.el (init-post-x-win):

	Major overhaul of face-handling code:

	-- Fix lots of bogus code in msw-faces.el, msw-font-menu.el,
	font-menu.el that was "truenaming" font specs -- i.e. in the
	process of frobbing a particular field in a general user-specified
	font spec with wildcarded fields, sticking in particular values
	for all the remaining wildcarded fields.  This bug was rampant
	everywhere except in x-faces.el (the oldest and only correctly
	written code).  This also means that we need to work with font
	names at all times and not font instances, because a font instance
	is essentially a truenamed font.
	
	-- Total rewrite of extremely junky code in msw-faces.el.  Work
	with names as well as font instances, and return names; stop
	truenaming when canonicalizing and frobbing; fix handling of the
	combined style field, i.e. weight/slant (also fixed in font.el).
	
	-- Totally rewrite the frobbing functions in faces.el.  This time,
	we frob all the instantiators rather than just computing a single
	instance value and working backwards.  That way, e.g., `bold' will
	work for all charsets that have bold available, rather than only
	for whatever charset was part of the computed font instance
	(another example of the truename virus).  Also fix up code to look
	at the fallbacks (all of them) when no global value present, so we
	don't need to put something in the global value.  Intelligently
	handle a request to frob a buffer locale, rather than signalling
	an error.  When frobbing instantiators, try hard to figure out
	what device type is associated with them, and frob each according
	to its own proper device type.  Correctly handle inheritance
	vectors given as instantiators.  Preserve existing tags when
	putting back frobbed instantiators.  Extract out general
	specifier-frobbing code into specifier.el.  Document everything
	cleanly.  Do lots of other things better, etc.

	-- Don't duplicatively set a global specification for the default
	font -- it's already in the fallback and we no longer need a
	default global specification present.  Delete various code in
	x-faces.el and msw-faces.el that duplicated the lists of fonts in
	faces.c.

	-- init-global-faces was not being called at all under MS Windows!
	Major bogosity. That caused device-specific values to get stuck
	into all the fonts, making it very hard to change them -- setting
	global specs caused nothing to happen.

	-- Correct weight names in font.el.

	-- Lots more font fixups in objects*.c.
	
	* Printer.el (generic-print-region):
	Warning fix.
	
	* specifier.el:
	* specifier.el (map-specifier):
	* specifier.el (modify-specifier-instances):
	* specifier.el (instance-to-instantiator): New.
	* specifier.el (device-type-matches-spec): New.
	* specifier.el (add-tag-to-inst-list): New.
	* specifier.el (derive-domain-from-locale): New.
	* specifier.el (derive-device-type-from-tag-set): New.
	* specifier.el (Specifically): New.
	* specifier.el (derive-device-type-from-locale-and-tag-set): New.
	* specifier.el (derive-specifier-specs-from-locale): New.
	Add more args to map-specifier.

	Add various "heuristic" specifier functions to aid in creation of
	specifier-munging code such as in faces.el.

	* subr.el:
	* subr.el (args-out-of-range): New.
	* subr.el (argument-in-range-p): New.
	* subr.el (check-argument-range): New.
	New functions.
	

2002-06-04  Andy Piper  <andy@xemacs.org>

	* startup.el (normal-top-level): Fix bad merge.

2002-06-04  Jerry James <james@eecs.ku.edu>

	* find-paths.el (paths-find-architecture-directory): Search in
	`system-configuration'/`base', not `base'`system-configuration'.

2002-06-03  Andy Piper  <andy@xemacs.org>

	* dialog-items.el (make-search-dialog): align various subcontrols
	in visually pleasing ways, allow frame to autosize to the dialog
	size.
	* dialog.el (make-dialog-box): add a border inside the frame. Add
	:autosize property, if t then reset the frame size appropriately
	before the frame is mapped.
	* gutter-items.el (set-progress-feedback-instantiator): align
	various subcontrols.
	* gutter-items.el (set-progress-abort-instantiator): ditto.

2002-05-30  Andy Piper  <andy@xemacs.org>

	* files.el (revert-buffer-internal): don't visit
	revert-buffer. Kill buffer when not used. Suggested by Mike
	Alexander <mta@arbortext.com>

2002-05-08  Andy Piper  <andy@xemacs.org>

	* files.el (revert-buffer): observe noconfirm behavior.

2002-04-09  Andy Piper  <andy@xemacs.org>

	* files.el (revert-buffer): use revert-buffer-internal if it looks
	like doing so will not result in any user-visible changes.
	(revert-buffer-internal): new function. Do the actual process of
	reversion and then see whether the result is any different to what
	we have already. If it is not then do nothing.

2002-02-04  Andy Piper  <andy@xemacs.org>

	* files.el (convert-standard-filename): Fix for short filename
	Peter Arius <pas@methodpark.de>

2001-12-16  Andy Piper  <andy@xemacs.org>

	* package-get.el (package-get-update-all): Make sure installed.db
	gets updated after updating packages.

2001-12-11  Andy Piper  <andy@xemacs.org>

	* menubar.el (get-popup-menu-response): re-order so that it works
	on more sane/facist window systems.

2001-12-03  Andy Piper  <andy@xemacs.org>

	* faces.el (frob-face-property): don't infloop in face frobbing
	from Jan Vroonhof <jan@xemacs.org>.

2001-11-30  Andy Piper  <andy@xemacs.org>

	* printer.el (generic-print-region): fix for non-MS systems from
	Mike Fabian.

2001-11-30  Jan Vroonhof  <jan@xemacs.org>

	* font.el (font-window-system-mappings): Add mapping for Gtk
	(assume identical to X)	

2001-11-30  Jan Vroonhof  <jan@xemacs.org>

	* faces.el (frob-face-property): Follow face fall-back hierarchy
	properly for face properties without an instance. Only do manual
	copy form 'default in last resort. This handles in particular
	the case where 'default itself has only a fall-back (which is
	the case by default on windows).

2001-11-24  Andy Piper  <andy@xemacs.org>

	* printer.el (generic-print-region): set default-frame-plist to
	nil while creating the printer frame so that sizes reflect the
	printed page.

	* faces.el (face-complain-about-font): Don't complain on printers.

2002-04-25  Steve Youngs  <youngs@xemacs.org>

	* mule/mule-charset.el (string-to-char-list): New.  This used to
	be in 'mule-misc.el' but that file has been removed.

2002-04-14  Steve Youngs  <youngs@xemacs.org>

	* obsolete.el (find-non-ascii-charset-region): A couple of
	packages use this.
	(find-non-ascii-charset-string): Ditto.

2002-04-14  Ben Wing  <ben@xemacs.org>

	* abbrev.el:
	* abbrev.el (abbrev-mode):
	* abbrev.el (only-global-abbrevs):
	* abbrev.el (defining-abbrev-turns-on-abbrev-mode): New.
	* abbrev.el (define-abbrev-table):
	* abbrev.el (global-abbrev-mode): New.
	* abbrev.el (add-mode-abbrev):
	* abbrev.el (add-global-abbrev):
	* abbrev.el (inverse-add-mode-abbrev):
	* abbrev.el (inverse-add-global-abbrev):
	Add `global-abbrev-mode', which turns on or off abbrev-mode in all
	buffers.  Added `defining-abbrev-turns-on-abbrev-mode' -- if
	non-nil, defining an abbrev through an interactive function will
	automatically turn on abbrev-mode, either globally or locally
	depending on the command.  This is the "what you'd expect"
	behavior.
	* indent.el:
	* indent.el (indent-balanced-expression-function): New.
	* indent.el (indent-balanced-expression): New.
	* indent.el (indent-region-or-balanced-expression): New.
	general function for indenting a balanced expression in a
	mode-correct way.  Works similar to indent-region in that a mode
	can specify a specific command to do the whole operation; if not,
	figure out the region using forward-sexp and indent each line
	using indent-according-to-mode.
	* keydefs.el:
	* keydefs.el (global-map): Removed.
	Modify M-C-backslash to do indent-region-or-balanced-expression.
	Make S-Tab just insert a TAB char, like it's meant to do.
	* make-docfile.el:
	* make-docfile.el (docfile-out-of-date):
	Now that we're using the call-process-in-lisp, we need to load
	an extra file win32-native.el because we're running a bare temacs.
	* menubar-items.el:
	* menubar-items.el (default-menubar):
	Totally redo the Cmds menu so that most used commands appear
	directly on the menu and less used commands appear in submenus.
	The old way may have been very pretty, but rather impractical.
	* process.el (call-process-internal):
	Under Windows, don't ever use old-call-process-internal, even
	in batch mode.  We can do processes in batch mode.
	* subr.el:
	* subr.el (truncate-string-to-width):
	* subr.el (truncate-string-with-continuation-dots): New.
	* subr.el (plist-to-alist):
	Someone recoded truncate-string-to-width, saying "the FSF version
	is too complicated and does lots of hard-to-understand stuff" but
	the resulting recoded version was *totally* wrong!  it
	misunderstood the basic point of this function, which is work in
	*columns* not chars.  i dumped ours and copied the version from
	FSF 21.1.  Also added truncate-string-with-continuation-dots,
	since this idiom is used often.  

2002-04-07  William M. Perry  <wmperry@gnu.org>

	* startup.el (command-line): Don't call init-menubar-at-startup
	unless we were built with menubar support.

2002-03-19  Daiki Ueno  <daiki@xemacs.org>

	* mule/japanese.el: Don't quote function expressions listed as
	`native-coding-system'.
	* mule/chinese.el: Likewise.

2002-06-03  Ben Wing  <ben@xemacs.org> and
            Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* process.el:
	* process.el (process-synchronize-point): New.
	* process.el (call-process-internal):
	Create new process-synchronize-point to avoid dynamic binding
	problems.  Fix editing bogosity in setting process sentinels.

2002-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>

	* obsolete.el (find-non-ascii-charset-region): Revert the function
	definition.
	(find-non-ascii-charset-string): Ditto.

2002-06-01  Ben Wing  <ben@xemacs.org>

	* process.el (call-process-internal):
	Insert before, not after, point.

2002-05-30  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* code-process.el (call-process): Ensure that the argument to
	`symbol-value-in-buffer' is a buffer even if `buffer' is a string.

2002-05-28  Ben Wing  <ben@xemacs.org>

	* code-init.el:
	* code-init.el (coding-system-variable-default-value-table):
	* code-init.el (coding-system-variable-default-value):
	Don't use CRLF conversion by default on process output.  CMD.EXE and
	friends work both ways but Cygwin programs don't like the CRs.
	
	* code-process.el:
	* code-process.el (process-coding-system-alist):
	* code-process.el (call-process):
	* code-process.el (call-process-region):
	* code-process.el (start-process):
	* code-process.el (open-network-stream):
	* code-process.el (set-buffer-process-coding-system):
	* multicast.el:
	* multicast.el (open-multicast-group):
	* process.el:
	* process.el (start-process-shell-command):
	* process.el (call-process-internal):
	* process.el (call-process): Removed.
	* process.el (call-process-region): Removed.
	* process.el (start-process): Removed.
	* process.el (open-network-stream): Removed.

	Improvements to call-process-internal:

	-- allows a buffer to be specified for input and stderr output
	-- use it on all systems
	-- implement C-g as documented
	-- clean up and comment

	call-process-region uses new call-process facilities; no temp file.

	remove duplicate funs in process.el.

	comment exactly how coding systems work and fix various problems.

	open-multicast-group now does similar coding-system frobbing to
	open-network-stream.
	
	* dumped-lisp.el (preloaded-file-list):
	* faces.el (init-global-faces):
	* msw-faces.el (mswindows-init-global-faces): New.
	Fix some hidden errors due to code not being defined at the right time.

2002-05-25  Steve Youngs  <youngs@xemacs.org>

	* package-ui.el (pui-help-echo): Display both installed and author
	version.  Use a balloon-help window to display extra info like
	package requires.

2002-05-23  Ben Wing  <ben@xemacs.org>

	* files.el:
	* files.el (recover-session):
	* files.el (recover-session-finish): Removed.
	* files.el (Recover-session-files-from-auto-save-list-file): New.
	Recover-session improvements: Only show session files where some
	files can actually be recovered, and show in chronological order.
	
	* subr.el:
	* subr.el (truncate-string-to-width):
	* subr.el (BUG): New.
	* subr.el (truncate-string-with-continuation-dots): Removed.
	* subr.el (plist-to-alist):
	* menubar-items.el (default-menubar):
	As promised to rms, the functionality in
	truncate-string-with-continuation-dots has been merged into
	truncate-string-to-width.  Change callers in menubar-items.el.
	
	* select.el:
	* select.el (copy-primary-selection):
	* select.el (kill-primary-selection):
	* select.el (own-selection):
	* select.el (cut-copy-clear-internal):
	Document some of these funs better.  Fix problem where we were
	doing own-clipboard twice.

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

	* files.el (revert-buffer):
	(revert-buffer-internal):
	Update docstrings from 21.4.

2002-04-17  Nickolay Pakoulin  <npak@ispras.ru>

	* cus-edit.el (custom-save-delete-any): New function
	(make-custom-save-resets-mapper): New macro
	(custom-save-resets-mapper-alist): New constant
	(custom-save-resets): Modified
	Save customized values MUCH faster by keeping often used lambdas
	in cache `custom-save-resets-mapper-alist' instead of building them
	on the fly in `custom-save-resets'.
	
	* cus-edit.el (custom-save-pretty-print): New variable
	(custom-save-variable-p): New function
	(custom-save-variable-internal): New function
	(custom-save-variables): Modified
        (custom-save-face-p): New function
        (custom-save-face-internal): Modified
        (custom-save-faces): Modified
	Save customized variables and faces in the alphabetic order.
	`custom-save-pretty-print' turns on/off pretty-printing values.

2002-05-16  Ben Wing  <ben@xemacs.org>

	* dialog.el:
	* dialog.el (get-user-response): New.  Function to ask a
	multiple-choice question, automatically choosing a dialog box or
	minibuffer representation as necessary.  Generalized version of
	yes-or-no-p, y-or-n-p.
	
	* files.el:
	* files.el (recover-file-diff-program): New.
	* files.el (recover-file-diff-arguments): New.
	* files.el (recover-file):
	Use get-user-response to ask "yes/no/diff" question when recovering.
	"diff" means that a diff is displayed between the current file and the
	autosave. (Converts/deconverts escape-quoted as necessary.  No more
	complaints from you, Mr. Turnbull!) One known problem: when a dialog
	is used, it's modal, so you can't scroll the diff.  Will fix soon.
	
	* lisp-mode.el (lisp-fill-paragraph):
	If we're filling a string, don't treat semicolon as a comment,
	which would give very unfriendly results.
	Uses `buffer-syntactic-context'.

	* simple.el:
	* simple.el (undo-all-changes): New.
	all changes back to the beginning. (Useful if you've saved the file
	in the middle of the changes.)

	* simple.el (kill-word-into-kill-ring): New.
	* simple.el (backward-kill-word):
	Add option kill-word-into-kill-ring, which controls whether words
	deleted with kill-word, backward-kill-word, etc. are "cut" into the
	kill ring, or "cleared" into nothingness. (My preference is the
	latter, by far.  I'd almost go so far as suggesting we make it the
	default, as you can always select a word and then cut it if you want
	it cut.)

	* menubar-items.el (default-menubar):
	Add option corresponding to kill-word-into-kill-ring.
	
2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>

	This patch is based on Jerry James's patch and analysis.

	* select.el (get-clipboard):
	(get-selection):
	Update docstrings.
	(get-clipboard-foreign):
	(get-selection-foreign):
	New function for use as `interprogram-paste-function's.

	* simple.el (interprogram-paste-function): Change default to
	`get-clipboard-foreign'; improve docstring.
	(interprogram-cut-function): Improve dosctring.

2002-05-13  Ben Wing  <ben@xemacs.org>

	* files.el (revert-buffer):
	Andy's patch from 21.4.  Fix evil nasty problems with revert-buffer.
	
	* menubar-items.el (default-menubar):
	Add Append to Register to Rectangles/Register menu.

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

	* code-process.el (call-process): Process-related docstring
	improvements spurred by Norbert Koch.
	* code-process.el (call-process-region): Ditto.
	* code-process.el (start-process): Ditto.

2002-05-09  Ben Wing  <ben@xemacs.org>

	* keydefs.el (global-map): New.
	* msw-init.el (init-post-mswindows-win):
	ctrl-delete is like M-d, in keeping with PC standards.  it still
	will function at its original (delete-selection), when there's a
	selection, with the new associated pending-del patch.

2002-04-14  Golubev I. N.  <gin@mo.msk.ru>

	* info.el (Info-find-index-alternatives): fix missing \ in \t.
	Port of `Info-index' change from 21.4.

2002-04-23  Jerry James  <james@xemacs.org>

	* select.el (get-clipboard): Document connection with
        interprogram-paste-function.
	* select.el (get-selection): Document that nil should be
        returned if XEmacs owns the selection.
        Remove unnecessary variable.
	* simple.el (kill-ring-max): Synch with FSF Emacs 21.2.
	* simple.el (kill-new): Synch with FSF Emacs 21.2

2002-05-05  Ben Wing  <ben@xemacs.org>

	* bytecomp-runtime.el (with-obsolete-variable):
	* bytecomp-runtime.el (with-obsolete-function):
	Doc string changes.

	* compat.el:
	* compat.el (compat-current-package):
	* compat.el (compat-current-package)): New.
	* compat.el (compat-define-compat-functions): New.
	* compat.el (compat-define-group):
	* compat.el (compat-define-functions): Removed.
	* compat.el (compat-defun): New.
	* compat.el (compat-define-function): New.
	* compat.el (compat-wrap-runtime): New.
	* compat.el (compat-wrap): New.
	* compat.el (compat): Removed.
	* compat.el (overlays):
	* compat.el (overlayp): New.
	* compat.el (make-overlay): New.
	* compat.el (move-overlay): New.
	* compat.el (delete-overlay): New.
	* compat.el (overlay-start): New.
	* compat.el (overlay-end): New.
	* compat.el (overlay-buffer): New.
	* compat.el (overlay-properties): New.
	* compat.el (overlays-at): New.
	* compat.el (overlays-in): New.
	* compat.el (next-overlay-change): New.
	* compat.el (previous-overlay-change): New.
	* compat.el (overlay-lists): New.
	* compat.el (overlay-recenter): New.
	* compat.el (overlay-get): New.
	* compat.el (overlay-put): New.
	* compat.el ('delete-extent): New.
	* compat.el ('extent-end-position): New.
	* compat.el ('extent-start-position): New.
	* compat.el ('set-extent-endpoints): New.
	* compat.el ('set-extent-property): New.
	* compat.el ('make-extent): New.
	* compat.el (extent-property): New.
	* compat.el (extent-at): New.
	* compat.el (map-extents): New.  Some attempts to redo this to
	make it truly useful and fix the "multiple versions interacting
	with each other" problem.  Not yet done.  Currently doesn't work.

	* files.el (revert-buffer-internal):
	Use with-obsolete-variable to avoid warnings in new revert-buffer code.

2002-05-02  Steve Youngs  <youngs@xemacs.org>

	* package-get.el (package-get): Use 'warn' instead of 'lwarn'.

2002-05-01  Steve Youngs  <youngs@xemacs.org>

	* package-get.el (package-get-update-base-entry): Remove code to
	add package entries into custom.
	(package-get-custom-groups): Remove.
	(package-get-custom): Ditto.
	(package-get-custom-add-entry): Ditto.

2002-04-29  Steve Youngs  <youngs@xemacs.org>

	* menubar-items.el (default-menubar): Remove entry for managing
	packages via custom.

2002-04-24  Mats Lidell  <matsl@contactor.se>

	* mule/european.el (language-info-alist): Add TUTORIAL & greeting for Swedish.

2002-04-28  Steve Youngs  <youngs@xemacs.org>

ChangeLog Entries from lwlib/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* lwlib.c:
	* lwlib.c (dialog_spec_p): Fix warning.

2002-02-13  Stephen J. Turnbull  <stephen@xemacs.org>

	* lwlib-Xm.c (make_dialog): Fix XmProcessTraversal crash.

ChangeLog Entries from man/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs-faq.texi (Top, Customization, Q3.10.5, Q3.10.6):
	New "killing is slow" FAQ and link updates.

2002-06-17  Jerry James  <james@xemacs.org>

	* emodules.texi (Loading other Modules): Describe why we do not
	use RTLD_GLOBAL.

2002-06-20  Adrian Aichner  <adrian@xemacs.org>

	* xemacs/mule.texi (Language Environments): Typo fix suggested by
	Frank Schmitt.

2002-06-11  Adrian Aichner  <adrian@xemacs.org>

	* xemacs-faq.texi (Q1.3.7): Update broken link to russian.el
	(found by linklint) with Google's help.

2002-05-25  Adrian Aichner  <adrian@xemacs.org>

	* xemacs/custom.texi (Syntax Entry): Deprecate ` ' in favor of `-'.

2002-06-05  Ben Wing  <ben@xemacs.org>

	* internals/internals.texi (Top):
	* internals/internals.texi (The XEmacs Object System (Abstractly Speaking)):
	* internals/internals.texi (How Lisp Objects Are Represented in C):
	* internals/internals.texi (Major Textual Changes):
	* internals/internals.texi (Great Integral Type Renaming):
	* internals/internals.texi (Text/Char Type Renaming):
	* internals/internals.texi (files): New.

2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* custom.texi (The Init File): Rewrite completely.

2002-03-19  Adrian Aichner  <adrian@xemacs.org>

	* widget.texi (constants): Typo fix.

2002-02-07  Stephen J. Turnbull  <stephen@xemacs.org>

	* external-widget.texi (External Client Widget Internals): New node.

2001-11-15  Darryl Okahata  <darrylo@xemacs.org>

	* lispref/glyphs.texi:
	lispref/lispref.texi: Add examples of how to insert graphics into a
	buffer.
	
2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs/packages.texi (Packages):
	(Package Terminology):
	Carefully distinguish libraries and packages.
	(Package Terminology):
	More careful definitions of ``category'' and ``distribution.''
	Use ``generic'' instead of ``normal'' (N.B. package tools use
	``standard''.)
	(Installing Packages):
	Use @var to mark variable version strings, not @t or <>.
	(Sumo):
	Add disk space estimate when unpacked.

2002-02-06  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs-faq.texi (Q1.3.8, Q1.3.9): Unicode support via Mule-UCS.

2002-02-01  Steve Youngs  <youngs@xemacs.org>

	* xemacs/packages.texi (Removing Packages): The interactive
	function is 'package-get-delete-package'.

2001-11-27  Adrian Aichner  <adrian@xemacs.org>

	* xemacs-faq.texi: Hyperlink fixes.
	
2002-02-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs-faq.texi (Q4.7.7): New FAQ on remote files.

2002-01-24  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs-faq.texi (Q1.0.6): Update mail-to-news gateway information.

2002-02-04  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs/files.texi (Files):
	(File Names):
	Document remote file editing, refer to EFS and TRAMP.

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

	* lispref/packaging.texi (package-info.in Fields): Typo fix.

2002-05-11  Adrian Aichner  <adrian@xemacs.org>

	* xemacs-faq.texi (Top): Add Q2.0.15 under "Installation and
	Trouble Shooting".
	* xemacs-faq.texi (Installation): Add Q2.0.15 to Installation
	menu.
	* xemacs-faq.texi (Q2.0.14): Fix unnumberedsubsec argument.
	* xemacs-faq.texi (Q2.0.15): New.

2002-05-01  Steve Youngs  <youngs@xemacs.org>

	* xemacs/packages.texi (Automatically): Don't mention "Options"
	menu.
	(Installing Packages): Don't mention getting list of packages via
	customize.

ChangeLog Entries from modules/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

ChangeLog Entries from netinstall/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-02-04  Andy Piper  <andy@xemacs.org>

	* install.cc (install_one): Munge installed filename to fit inside
	dialog.

2001-12-17  Andy Piper  <andy@xemacs.org>

	* desktop.cc (do_desktop_setup): register the whole gamut of C++
	file types.

2001-12-12  Andy Piper  <andy@xemacs.org>

	* win32.h (CDECL): reorder to remove warnings.

	* Makefile.in.in: add new dependencies.

	* desktop.h: new file.

	* uninstall.cc: use it.

	* install.cc (uninstall_one): when uninstalling xemacs remove
	shortcuts also.

	* desktop.cc (remove_xemacs_setup): split out from
	remove_desktop_setup.
	(remove_desktop_setup): call it.

2001-12-05  Andy Piper  <andy@xemacs.org>

	* win32.h: re-order declarations for native windows from Fabrice
	Popineau.

2001-11-22  Andy Piper  <andy@xemacs.org>

	* Makefile.in.in (setup-bin.ini): cope with kit revisions.

	* source.cc (save_dialog): warning removal.
	(load_dialog): ditto.

	* msg.cc: remove cvs id.

	* desktop.cc (find_xemacs_version): new function. Cope with kit
	revisions.
	(find_xemacs_exe_path): use it.
	(find_xemacs_exe_name): ditto.

ChangeLog Entries from nt/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-06-25  Adrian Aichner  <adrian@xemacs.org>

	* xemacs.mak (DEBUG_DEFINES): Initialize to empty for
	DEBUG_XEMACS=0.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* config.inc.samp (OPTIMIZED_BUILD):
	* config.inc.samp (USE_FASTCALL): New.
	* config.inc.samp (PROFILE_SUPPORT): New.
	* config.inc.samp (DEBUG_XEMACS):
	* config.inc.samp (HAVE_VC6): New.
	* config.inc.samp (USE_PORTABLE_DUMPER):
	Clean up, add args to control fastcall (not yet supported!  the
	changes needed are in another ws of mine), profile support, vc6
	support, union-type.
	
	* xemacs.dsp (CFG):
	* xemacs.mak (HAVE_DIALOGS):
	* xemacs.mak (HAVE_MSW_C_DIRED): Removed.
	* xemacs.mak (USE_FASTCALL): New.
	* xemacs.mak (PROFILE_SUPPORT): New.
	* xemacs.mak (HAVE_VC6): New.
	* xemacs.mak (QUICK_BUILD):
	* xemacs.mak (VERBOSECC): New.
	* xemacs.mak (DEPEND): New.
	* xemacs.mak (CONFIG_ERROR):
	* xemacs.mak (CCV):
	* xemacs.mak (DEBUGFLAGS): Removed.
	* xemacs.mak (OPTFLAGS): Removed.
	* xemacs.mak (DEBUG_FLAGS_COMPILE): New.
	* xemacs.mak (DEBUG_FLAGS_LINK): New.
	* xemacs.mak (DEBUG_DEFINES): New.
	* xemacs.mak (BROWSERFLAGS): New.
	* xemacs.mak (LIBC_LIB):
	* xemacs.mak (OPTFLAGS_FASTCALL): New.
	* xemacs.mak (OPTFLAGS_CDECL): New.
	* xemacs.mak (PROFILE_FLAGS): New.
	* xemacs.mak (CFLAGS_NO_OPT): New.
	* xemacs.mak (CFLAGS_CDECL_NO_LIB): New.
	* xemacs.mak (CFLAGS_CDECL): New.
	* xemacs.mak (MSW_LIBS):
	* xemacs.mak (MSW_DEFINES): Removed.
	* xemacs.mak (MSW_C_DIRED_OBJ): Removed.
	* xemacs.mak (MULE_DEFINES):
	* xemacs.mak (DEBUG_FLAGS): Removed.
	* xemacs.mak (LINK_DEPENDENCY_ARGS):
	* xemacs.mak (ETAGS_DEPS):
	* xemacs.mak (LIB_SRC_TOOLS):
	* xemacs.mak (TEMACS_LFLAGS):
	* xemacs.mak (TEMACS_CPP_FLAGS): Removed.
	* xemacs.mak (TEMACS_CPP_FLAGS_NO_CFLAGS): New.
	* xemacs.mak (TEMACS_CPP_CDECL_FLAGS): New.
	* xemacs.mak (TEMACS_MSW_OBJS):
	* xemacs.mak (TEMACS_OBJS):
	* xemacs.mak (.SUFFIXES):
	* xemacs.mak (create-list-file): New.
	* xemacs.mak (compile-list-file): New.
	* xemacs.mak (TEMACS_DUMP_ID_OBJ): New.
	* xemacs.mak (PROGNAME):
	* xemacs.mak (temacs_loadup):
	* xemacs.mak (check):
	* xemacs.mak (check-temacs):
	* xemacs.mak (make-docargs):
	* xemacs.mak (update-elc):
	* xemacs.mak (install):
	* xemacs.mak (mostlyclean):
	* xemacs.mak (versionclean):
	* xemacs.mak (OS):
	Semi-major overhaul.

	Fix bug where dump-id was always getting recomputed, forcing a
	redump even when nothing changed.

	Add support for fastcall.  Support edit-and-continue (on by
	default) with vc6.  Use incremental linking when doing a debug
	compilation.  Add support for profiling.

	Consolidate the various debug flags.

	Partial support for "batch-compiling" -- compiling many files on a
	single invocation of the compiler.  Doesn't seem to help that much
	for me, so it's not finished or enabled by default.

	Remove HAVE_MSW_C_DIRED, we always do.

	Correct some sloppy use of directories.
	
2002-03-29  Jonathan Harris  <jonathan@xemacs.org>

	* xemacs.mak: Define STACK_TRACE_EYE_CATCHER.

2002-05-28  Ben Wing  <ben@xemacs.org>

	* xemacs.mak (CFLAGS_NO_LIB):
	* xemacs.mak (X_DEFINES):
	Add -DSTRICT.

2002-05-23  Ben Wing  <ben@xemacs.org>

	* xemacs.mak (TEMACS_OBJS):
	Add alloca.o.

2002-05-14  Ben Wing  <ben@xemacs.org>

	* xemacs.mak (batch_test_emacs):
	* xemacs.mak (check):
	Run tests with the packages so we don't get errors about
	advice not present, etc.

2002-05-14  Ben Wing  <ben@xemacs.org>

	* xemacs.mak (CONFIG_VALUES):
	* xemacs.mak (LINK_DEPENDENCY_ARGS): New.
	* xemacs.mak (LINK_STANDARD_LIBRARY_ARGS): New.
	* xemacs.mak (ETAGS_DEPS):
	* xemacs.mak (LIB_SRC_TOOLS):
	Increase the stack of etags to 0x800000 (8 MB), same as for XEmacs
	and enough to prevent regex crashes with complex multiline
	regexps. (More specifically, we reach the built-in failure limit before
	crashing the stack.  etags complains, but keeps on processing.)

2002-05-06  Jonathan Harris  <jonathan@xemacs.org>

	* README:
	Remove references to obsolete MSVC5 and NT 3.51 configurations.
	
	* config.inc.samp (HAVE_TIFF): Update PNG version to 1.0.9.
	
	* xemacs.mak (HAVE_MENUBARS): New
	* xemacs.mak (HAVE_SCROLLBARS): New
	* xemacs.mak (MSW_DEFINES):
	* xemacs.mak (MSW_LIBS):
	* xemacs.mak (TEMACS_MSW_OBJS):
	* xemacs.mak (TEMACS_OBJS):
	Make HAVE_MENUBARS and HAVE_SCROLLBARS optional.
	
	* xemacs.mak (LIB_SRC_TOOLS):
	Generate correctly-named debug program databases for lib-src helpers.

	* xemacs-vc50.dsp: Removed.
	* xemacs-vc50.dsw: Removed.

2002-05-05  Ben Wing  <ben@xemacs.org>

	* xemacs.mak (CFLAGS_NO_LIB): New.
	* xemacs.mak (CFLAGS):
	* xemacs.mak (ETAGS_DEPS):
	* xemacs.mak (LIB_SRC_TOOLS):
	Split up CFLAGS into a version without flags specifying the C
	library.  The problem seems to be that minitar depends on zlib,
	which depends specifically on libc.lib, not on any of the other C
	libraries.  Unless you compile with libc.lib, you get errors --
	specifically, no _errno in the other libraries, which must make it
	something other than an int. (#### But this doesn't seem to obtain
	in XEmacs, which also uses zlib, and can be linked with any of the
	C libraries.  Maybe zlib is used differently and doesn't need
	errno, or maybe XEmacs provides an int errno; ... I don't
	understand.

2002-03-26  Vin Shelton  <acs@xemacs.org>

	* xemacs.mak: Added special rule to build winclient.exe.

2002-04-23  Jonathan Harris  <jonathan@xemacs.org>

	* README: Document build for latest versions of zlib & png
	* xpm.mak: Default to using MSVCRT as the C runtime

2002-04-14  Ben Wing  <ben@xemacs.org>

	* config.inc.samp (HAVE_MS_WINDOWS):
	* config.inc.samp (X11_DIR):
	* config.inc.samp (ZLIB_DIR):
	* config.inc.samp (MAKEINFO):
	* config.inc.samp (OPTIMIZED_BUILD): New.
	* config.inc.samp (DEPEND):
	* config.inc.samp (USE_MINIMAL_TAGBITS): Removed.
	* config.inc.samp (USE_INDEXED_LRECORD_IMPLEMENTATION): Removed.
	* config.inc.samp (GUNG_HO): Removed.
	* xemacs.mak (USE_MINITAR):
	* xemacs.mak (USE_MINIMAL_TAGBITS): Removed.
	* xemacs.mak (USE_INDEXED_LRECORD_IMPLEMENTATION): Removed.
	* xemacs.mak (GUNG_HO): Removed.
	* xemacs.mak (CONFIG_ERROR):
	* xemacs.mak (DEBUGFLAGS): New.
	* xemacs.mak (OPT): Removed.
	* xemacs.mak (OPTFLAGS): New.
	* xemacs.mak (CFLAGS):
	* xemacs.mak (QUICK_DEFINES):
	* xemacs.mak (TAGBITS_DEFINES): Removed.
	* xemacs.mak (ERROR_CHECK_DEFINES): New.
	* xemacs.mak (LRECORD_DEFINES): Removed.
	* xemacs.mak (DEFINES):
	* xemacs.mak (TEMACS_OBJS):
	* xemacs.mak (OS):
	Separate out debug and optimize flags.
	Remove all vestiges of USE_MINIMAL_TAGBITS,
	USE_INDEXED_LRECORD_IMPLEMENTATION, and GUNG_HO, since those
	ifdefs have long been removed.
	Make error-checking support actually work.
	Some rearrangement of config.inc.samp to make it more logical.
	Remove callproc.c and ntproc.c from xemacs.mak, no longer used.

	Make pdump the default.

2002-04-13  Jonathan Harris  <jonathan@xemacs.org>

	* README: Document MSVC6 required
	* minitar.c: Fix MSVC compiler warnings
	* minitar.mak: Removed
	* xemacs.mak: Build minitar directly from this makefile
	* xemacs.mak (check-temacs):
	* xemacs.mak (make-docargs):
	* xemacs.mak (update-elc):
	Remove obsolete references to EMACSBOOTSTRAPLOADPATH and
	EMACSBOOTSTRAPMODULEPATH environment variables.

ChangeLog Entries from nt/installer/Wise/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

ChangeLog Entries from src/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* frame-impl.h (struct frame): Make comment refer to new file.

2002-06-27  Mike Sperber <mike@xemacs.org>

	* eval.c (Ffuncall): Run `post-gc-hook' if GC just happened.

	* alloc.c (garbage_collect_1): Delay running `post-gc-hook' until later.

	* data.c (prune_weak_boxes): Rewrite for better readability.

2002-06-23  Martin Köbele  <martin@mkoebele.de>
	    Jens Müller <jmueller@informatik.uni-tuebingen.de>
	    Mike Sperber <mike@xemacs.org>

        * lrecord.h (lrecord_type): add lrecord_type_ephemeron
	to lrecord_type enumeration.

	* lisp.h (XEPHEMERON): 
	(XEPHEMERON_REF): 
	(XEPHEMERON_NEXT): 
	(XEPHEMERON_FINALIZER): 
	(XSET_EPHEMERON_NEXT): 
	(XSET_EPHEMERON_VALUE): 
	(XSET_EPHEMERON_KEY): 
	(wrap_ephemeron): 
	(EPHEMERONP): 
	(CHECK_EPHEMERON): 
	(CONCHECK_EPHEMERON): 
        (struct ephemeron): Add representation of ephemerons.

        * alloc.c (garbage_collect_1):
        (finish_marking_ephemerons):
        (prune_ephemerons): Call.

        * data.c:
        (finish_marking_ephemerons):
        (prune_ephemerons):
        (mark_ephemeron):
        (print_ephemeron):
        (ephemeron_equal)
        (ephemeron_hash)::
        (make_ephemeron):
        (Fmake_ephemeron):
        (Fephemeronp):
        (Fephemeron_ref):
        (syms_of_data):
        (vars_of_data): Add implementation of ephemerons

2002-06-28  Steve Youngs  <youngs@xemacs.org>

	* inline.c: Include device-impl.h, extents-impl.h, frame-impl.h,
	and objects-impl.h to pick up some error_check_* functions.
	Remove console.h, extents.h, frame.h and objects.h because the
	*-impl.h files include them.
	
2002-06-17  Jerry James  <james@xemacs.org>

	* sysdll.c: Remove RTLD_GLOBAL initialization.
	* sysdll.c (dll_open): Do not use RTLD_GLOBAL.

2002-06-24  Mike Sperber  <mike@xemacs.org>

	* search.c (skip_chars): Fix a crash if NILP(lim).

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

	* unicode.c: More comment and string fiddling.

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

	* unicode.c: Improve top-level comments and many docstrings.

	(Fparse_unicode_translation_table): Use right function name in error.

	(unicode_to_ichar): Renamed from unicode_to_char.
	(Funicode_to_char): 
	(decode_unicode_char):
	Use new name.

	(add_charsets_to_precedence_list): Change the dynarr argument
	instead of the global precedence list.

	(Funicode_precedence_list): New function.
	(Fset_language_unicode_precedence_list,
	 Flanguage_unicode_precedence_list,
	 Fset_default_unicode_precedence_list,
	 Fdefault_unicode_precedence_list):
	Docstrings refer to docstring of Funicode_precedence_list.

	(set_unicode_conversion): Assert attempts to change Basic Latin
	(Unicode BMP, row 00).
	(Fset_unicode_conversion): Signal error on changes to Basic Latin.

2002-06-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>

	* dialog-gtk.c:
	* gpmevent.c:
	* gtk-glue.c:
	* gtk-xemacs.c:
	* menubar-gtk.c: Add required #include files to unbreak the build.

	* event-gtk.c (reinit_vars_of_event_gtk): Reinitialise new stream
	fields to unbreak the build.

2002-06-22  Stephen J. Turnbull  <stephen@xemacs.org>

	* ExternalShell.c (hack_event_masks_1): Fix signed-unsigned warning.

	* eldap.c: #include process.h for report_process_error.

	* editfns.c: #include commands.h for zmacs_region_* declarations.

2002-06-22  Mike Sperber  <mike@xemacs.org>

	* faces.c (face_property_matching_instance): Only set cdr of
	matchspec if it's actually a cons.

	* console.h: Define opaque console_methods to unbreak the build.

	* objects.c (initialize_charset_font_caches): 
	(invalidate_charset_font_caches): Only define if we're MULE.
	(font_instantiate): Unbreak for non-MULE.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* s/cygwin32.h:
	Allow pdump to work under Cygwin (mmap is broken, so need to undefine
	HAVE_MMAP).
	
	* s/win32-common.h:
	* s/win32-common.h (NO_MATHERR):
	* s/windowsnt.h:

	Support for fastcall.  Add WIN32_ANY for identifying all Win32
	variants (Cygwin, native, MinGW).  Both of these are properly used
	in another ws.

2002-06-20  Ben Wing  <ben@xemacs.org>

	* alloc.c:
	* alloc.c (disksave_object_finalization):
	* alloc.c (garbage_collect_1):
	* balloon-x.c:
	* balloon-x.c (alloc_color):
	* balloon-x.c (init):
	* buffer.c:
	* buffer.c (Fkill_buffer):
	* bytecode.c:
	* callint.c:
	* cm.c:
	* cmdloop.c:
	* cmdloop.c (Frecursive_edit):
	* cmdloop.c (Fcommand_loop_1):
	* cmds.c:
	* console-gtk.c:
	* console-gtk.h:
	* console-msw.c:
	* console-msw.h:
	* console-msw.h (struct):
	* console-msw.h (wrap_mswindows_dialog_id):
	* console-stream.c:
	* console-stream.h:
	* console-stream.h (stream_canonicalize_device_connection):
	* console-tty.c:
	* console-tty.h:
	* console-x.c:
	* console-x.h:
	* console-x.h (Xt_SET_VALUE):
	* console.c:
	* console.c (Fcdfw_console):
	* console.h:
	* console.h (CDFW_CONSOLE):
	* device-gtk.c:
	* device-gtk.c (gtk_delete_device):
	* device-gtk.c (Fgtk_display_visual_class):
	* device-gtk.c (syms_of_device_gtk):
	* device-gtk.c (vars_of_device_gtk):
	* device-msw.c:
	* device-tty.c:
	* device-x.c:
	* device-x.c (x_init_device):
	* device-x.c (x_delete_device):
	* device-x.c (x_get_resource_prefix):
	* device-x.c (Fdefault_x_device):
	* device-x.c (vars_of_device_x):
	* device.c:
	* device.c (allocate_device):
	* device.c (device_console):
	* device.c (init_global_resources):
	* device.c (init_device_resources):
	* device.c (Fdefault_device):
	* device.c (Fmake_device):
	* device.c (delete_device_internal):
	* device.c (call_critical_lisp_code):
	* device.c (syms_of_device):
	* device.c (vars_of_device):
	* device.h:
	* devslots.h:
	* dialog-gtk.c:
	* dialog-msw.c:
	* dialog-x.c:
	* dialog.c:
	* dialog.c (Fmake_dialog_box_internal):
	* dired-msw.c:
	* editfns.c:
	* emacs.c:
	* event-Xt.c:
	* event-Xt.c (change_frame_visibility):
	* event-gtk.c:
	* event-gtk.c (change_frame_visibility):
	* event-gtk.c (gtk_event_to_emacs_event):
	* event-msw.c:
	* event-stream.c:
	* event-tty.c:
	* event-unixoid.c:
	* events.c:
	* extents.c:
	* extents.h:
	* extents.h (glyph_layout):
	* faces.c:
	* faces.c (face_property_matching_instance):
	* faces.c (init_global_faces):
	* faces.c (init_device_faces):
	* faces.c (complex_vars_of_faces):
	* fileio.c:
	* fns.c:
	* frame-gtk.c:
	* frame-gtk.c (INTERNAL_BORDER_WIDTH):
	* frame-msw.c:
	* frame-tty.c:
	* frame-x.c:
	* frame.c:
	* frame.c (decode_frame_or_selected):
	* frame.h:
	* frame.h (FW_FRAME):
	* frame.h (Value): Removed.
	* frame.h (0): Removed.
	* glyphs-eimage.c:
	* glyphs-gtk.c:
	* glyphs-gtk.c (gtk_locate_pixmap_file):
	* glyphs-msw.c:
	* glyphs-widget.c:
	* glyphs-x.c:
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs.c:
	* glyphs.c (decode_device_ii_format):
	* glyphs.c (Fimage_instance_instantiator):
	* glyphs.c (syms_of_glyphs):
	* glyphs.h:
	* gui-gtk.c:
	* gui-msw.c:
	* gui-x.c:
	* gui-x.c (popup_selection_callback):
	* gui.c:
	* gutter.c:
	* input-method-xlib.c:
	* intl-encap-win32.c:
	* intl-win32.c:
	* intl-win32.c (getacp):
	* intl-win32.c (mswindows_get_registry_charset):
	* intl-win32.c (syms_of_intl_win32):
	* intl-win32.c (vars_of_intl_win32):
	* keymap.c:
	* lisp.h:
	* macros.c:
	* menubar-gtk.c:
	* menubar-msw.c:
	* menubar-x.c:
	* menubar.c:
	* menubar.h:
	* minibuf.c:
	* mule-charset.c:
	* mule-charset.c (Fset_charset_ccl_program):
	* nt.c:
	* objects-gtk.c:
	* objects-gtk.c (gtk_initialize_font_instance):
	* objects-gtk.c (gtk_print_font_instance):
	* objects-gtk.c (gtk_font_instance_truename):
	* objects-gtk.c (gtk_font_spec_matches_charset):
	* objects-gtk.c (console_type_create_objects_gtk):
	* objects-gtk.c (gtk_find_charset_font):
	* objects-gtk.h:
	* objects-msw.c:
	* objects-msw.c (charset_map):
	* objects-msw.c (font_enum_callback_2):
	* objects-msw.c (sort_font_list_function):
	* objects-msw.c (mswindows_enumerate_fonts):
	* objects-msw.c (parse_font_spec):
	* objects-msw.c (create_hfont_from_font_spec):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_list_fonts):
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_1):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_2):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-msw.c (mswindows_find_charset_font):
	* objects-msw.h:
	* objects-msw.h (mswindows_color_to_string):
	* objects-tty.c:
	* objects-tty.c (tty_font_spec_matches_charset):
	* objects-tty.c (tty_find_charset_font):
	* objects-tty.h:
	* objects-x.c:
	* objects-x.c (x_initialize_font_instance):
	* objects-x.c (x_print_font_instance):
	* objects-x.c (x_font_instance_truename):
	* objects-x.c (x_font_spec_matches_charset):
	* objects-x.c (x_find_charset_font):
	* objects-x.c (console_type_create_objects_x):
	* objects-x.h:
	* objects.c:
	* objects.c (mark_font_instance):
	* objects.c (Fmake_font_instance):
	* objects.c (font_validate_matchspec):
	* objects.c (initialize_charset_font_caches):
	* objects.c (font_instantiate):
	* objects.c (reinit_vars_of_objects):
	* objects.h:
	* postgresql.c:
	* print.c:
	* process.h:
	* redisplay-gtk.c:
	* redisplay-msw.c:
	* redisplay-output.c:
	* redisplay-tty.c:
	* redisplay-x.c:
	* redisplay.c:
	* redisplay.c (text_cursor_visible_p_changed):
	* redisplay.h:
	* scrollbar-gtk.c:
	* scrollbar-msw.c:
	* scrollbar-x.c:
	* scrollbar.c:
	* select-gtk.c:
	* select-msw.c:
	* select-x.c:
	* select.c:
	* signal.c:
	* sound.c:
	* specifier.c:
	* specifier.c (print_specifier):
	* specifier.c (setup_device_initial_specifier_tags):
	* specifier.c (Fspecifier_matching_instance):
	* symbols.c:
	* syntax.c (signal_syntax_table_extent_changed):
	* sysdep.c:
	* syssignal.h:
	* syswindows.h:
	* toolbar-common.c:
	* toolbar-gtk.c:
	* toolbar-msw.c:
	* toolbar-msw.c (mswindows_clear_toolbar):
	* toolbar-msw.c (mswindows_free_frame_toolbars):
	* toolbar-x.c:
	* toolbar.c:
	* unicode.c:
	* window.c:
	* window.c (decode_window):
	* window.h:
	* window.h (WINDOW_XFRAME):
	* window.h (XWINDOW_FRAME):
	* window.h (CHECK_LIVE_WINDOW):
	* window.h (window_divider_width):

	The following are the major changes made:

	(1) Separation of various header files into an external and an
	internal version, similar to the existing separation of process.h
	and procimpl.h.  Eventually this should be done for all Lisp
	objects.  The external version has the same name as currently; the
	internal adds -impl.  The external file has XFOO() macros for
	objects, but the structure is opaque and defined only in the
	internal file.  It's now reasonable to move all prototypes in
	lisp.h into the appropriate external file, and this should be
	done.  Currently, separation has been done on extents.h,
	objects*.h, console.h, device.h, frame.h, and window.h.

	For c/d/f/w, the most basic properties are available in the
	external header file, with the macros resolving to functions.  In
	the internal header file, the macros are redefined to directly
	access the structure.  Also, the global MARK_FOO_CHANGED macros
	have been made into functions so that they can be accessed without
	needing to include lots of -impl headers -- they are used in
	almost exclusively in non-time-critical functions, and take up
	enough time that the function overhead will be negligible.
	Similarly, the function overhead from making the basic properties
	mentioned above into functions is negligible, and code that does
	heavy accessing of c/d/f/w structures inevitably ends up needing
	the internal header files, anyway.

	(2) More face changes.

	-- Major rewrite of objects-msw.c.  Now handles wildcard specs
	properly, rather than "truenaming" (or even worse, signalling an
	error, which previously happened with some of the fallbacks if you
	tried to use them in make-font-instance!).

	-- Split charset matching of fonts into two stages -- one to find
	a font specifically designed for a particular charset (by
	examining its registry), the second to find a Unicode font that
	can support the charset.  This needs to proceed as two complete,
	separate instantiations in order to work properly (otherwise many
	of the fonts in the HELLO page look wrong).  This should also make
	it easy to support iso10646 (Unicode) fonts under X.

	-- All default values for fonts are now completely specified in
	the fallbacks.  Stuff from mule-x-init.el has all been moved here,
	merged with the existing specs, and totally rethought so you get
	sensible results. (HELLO now looks much better!).

	-- Generalize the "default X/GTK device" stuff into a
	per-device-type "default device".

	-- Add mswindows-{set-}charset-registry.  In time,
	charset<->code-page conversion functions will be removed.

	-- Wrap protective code around calls to compute device specifier tags,
	and do this computation before calling the face initialization code
	because the latter may need these tags to be correctly updated.

	(3) Other changes.

	* EmacsFrame.c:
	* EmacsFrame.c (EmacsFrameSetValues):
	* glyphs-msw.c:
	* eval.c:
	* gui-x.c:
	* intl-encap-win32.c:
	* search.c (Fstore_match_data):
	* search.c:
	* signal.c:
	* toolbar-msw.c:
	* unicode.c:
	Warning fixes.
	
	* config.h.in:
	#undefs meant to be frobbed by configure *MUST* go inside of
	#ifndef WIN32_NO_CONFIGURE, and everything else *MUST* go outside!

	* eval.c (Fbacktrace):
	Let detailed backtraces be detailed.
	* specifier.c:
	Don't override user's print-string-length/print-length settings.
	
	* glyphs.c: New function image-instance-instantiator.
	
	* config.h.in:
	* sysdep.c (set_descriptor_non_blocking):
	* sysdep.c (SIG_PARAM_TYPE):
	* sysdep.c (struct save_signal):
	* sysdep.c (save_signal_handlers):
	* sysdep.c (retry_open):
	* sysdep.c (qxe_open):
	Changes for fastcall.

	* sysdep.c (qxe_rename):
	* nt.c (mswindows_rename):
	Fix up a previous botched patch that tried to add support for both
	EEXIST and EACCES.  IF THE BOTCHED PATCH WENT INTO 21.4, THIS FIXUP
	NEEDS TO GO IN, TOO.

	* search.c (skip_chars):
	Fix *evil* crash due to incorrect synching of syntax-cache code
	with 21.1.  THIS SHOULD GO INTO 21.4.

2002-06-07  William M. Perry  <wmperry@gnu.org>

	* frame-x.c (init_x_prop_symbols): Don't attempt to expose the
	toolbar pixels from the EmacsFrame widget, they no longer exist.
	(x_frame_properties): Ditto.
	(x_internal_frame_property_p): Don't check them for internal-ness
	either.

	* EmacsFrame.c: Removed references to the resources for toolbar
	colors.  These are now controlled completely by the 'toolbar'
	face.

	* EmacsFrameP.h: Removed obsolete toolbar pixel slots.

2002-06-05  Ben Wing  <ben@xemacs.org>

	* README.integral-types: Removed.
	* README.global-renaming: Added.

	Stuff specific to the integral types rename was moved to the
	Internals Manual.  The general scripts, suitable for any type
	of global search-and-replace, were moved to README.global-renaming.
	(In the internals manual, they need to be munged by replacing @
	with @@, and this precludes just cutting and pasting from the source
	file, which is what people are naturally going to do.)

2002-06-05  Ben Wing  <ben@xemacs.org>

	* abbrev.c (abbrev_match_mapper):
	* abbrev.c (abbrev_oblookup):
	* abbrev.c (obarray_has_blank_p):
	* abbrev.c (abbrev_count_case):
	* alloc.c (make_uninit_string):
	* alloc.c (resize_string):
	* alloc.c (set_string_char):
	* alloc.c (Fmake_string):
	* alloc.c (Fstring):
	* alloc.c (init_string_ascii_begin):
	* alloc.c (make_string):
	* alloc.c (build_intstring):
	* alloc.c (build_string):
	* alloc.c (build_msg_intstring):
	* alloc.c (build_msg_string):
	* alloc.c (make_string_nocopy):
	* alloc.c (debug_string_purity_print):
	* alloc.c (garbage_collect_1):
	* buffer.c:
	* buffer.c (Fgenerate_new_buffer_name):
	* buffer.c (directory_is_current_directory):
	* buffer.c (get_initial_directory):
	* buffer.c (init_initial_directory):
	* buffer.h:
	* buffer.h (struct buffer_text):
	* buffer.h (VALIDATE_BYTEBPOS_BACKWARD):
	* buffer.h (VALIDATE_BYTEBPOS_FORWARD):
	* buffer.h (BYTE_BUF_FETCH_CHAR):
	* buffer.h (BYTE_BUF_FETCH_CHAR_RAW):
	* buffer.h (BYTE_BUF_ITEXT_COPY_ICHAR):
	* buffer.h (BUFFER_TEXT_LOOP):
	* buffer.h (BUFFER_ALLOC):
	* bytecode.c (invalid_byte_code):
	* bytecode.c (READ_INSTRUCTION_CHAR):
	* bytecode.c (optimize_byte_code):
	* bytecode.c (compiled_function_instructions):
	* callint.c (callint_prompt):
	* callint.c (PROMPT):
	* casefiddle.c (casify_object):
	* casefiddle.c (casify_region_internal):
	* casetab.c (compute_up_or_eqv_mapper):
	* casetab.c (convert_old_style_syntax_string):
	* casetab.c (complex_vars_of_casetab):
	* charset.h:
	* charset.h (ichar_charset):
	* charset.h (BREAKUP_ICHAR):
	* charset.h (struct Lisp_Charset):
	* charset.h (CHARSET_LEADING_BYTE):
	* charset.h (struct charset_lookup):
	* charset.h (ICHAR_FIELD1_MASK):
	* charset.h (ichar_field1):
	* charset.h (MIN_ICHAR_FIELD2_OFFICIAL):
	* charset.h (MIN_ICHAR_FIELD1_OFFICIAL):
	* charset.h (MIN_ICHAR_FIELD2_PRIVATE):
	* charset.h (MIN_ICHAR_FIELD1_PRIVATE):
	* charset.h (MIN_CHAR_OFFICIAL_TYPE9N):
	* charset.h (BREAKUP_ICHAR_1_UNSAFE):
	* chartab.c (get_non_ascii_char_table_value):
	* chartab.c (put_char_table):
	* chartab.c (map_over_charset_ascii_1):
	* chartab.c (map_over_charset_row):
	* chartab.c (map_over_other_charset):
	* chartab.c (map_char_table):
	* chartab.c (chartab_instantiate):
	* chartab.c (check_category_char):
	* chartab.c (Fcheck_category_at):
	* chartab.c (Fchar_in_category_p):
	* chartab.c (word_boundary_p):
	* chartab.h:
	* chartab.h (struct chartab_range):
	* cmds.c:
	* cmds.c (Fself_insert_command):
	* cmds.c (internal_self_insert):
	* console-gtk.h:
	* console-msw.c (GetConsoleHwnd):
	* console-msw.c (mswindows_output_console_string):
	* console-msw.c (Fmswindows_debugging_output):
	* console-msw.c (write_string_to_mswindows_debugging_output):
	* console-msw.c (DSTRING):
	* console-msw.c (DSYMNAME):
	* console-msw.h:
	* console-stream.c (stream_text_width):
	* console-tty.c (tty_init_console):
	* console-x.c (split_up_display_spec):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console-x.h:
	* console.h (struct console_methods):
	* console.h (struct console):
	* data.c (Fsubr_interactive):
	* data.c (Faref):
	* device-msw.c (msprinter_default_printer):
	* device-msw.c (sync_printer_with_devmode):
	* device-x.c (sanity_check_geometry_resource):
	* device-x.c (signal_if_x_error):
	* device-x.c (x_IO_error_handler):
	* device-x.c (Fx_get_resource_prefix):
	* dialog-msw.c (button_width):
	* dialog-msw.c (handle_question_dialog_box):
	* dired-msw.c (struct):
	* dired-msw.c (mswindows_get_files):
	* dired-msw.c (mswindows_format_file):
	* dired-msw.c (Fmswindows_insert_directory):
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion_stat):
	* dired.c (file_name_completion):
	* dired.c (struct user_name):
	* dired.c (user_name_completion):
	* dired.c (make_directory_hash_table):
	* dired.c (Ffile_attributes):
	* doc.c (unparesseuxify_doc_string):
	* doc.c (get_doc_string):
	* doc.c (weird_doc):
	* doc.c (Fsnarf_documentation):
	* doc.c (Fsubstitute_command_keys):
	* doprnt.c (union printf_arg):
	* doprnt.c (doprnt_2):
	* doprnt.c (parse_off_posnum):
	* doprnt.c (parse_doprnt_spec):
	* doprnt.c (get_doprnt_args):
	* doprnt.c (emacs_doprnt_1):
	* doprnt.c (emacs_doprnt_va):
	* doprnt.c (emacs_doprnt):
	* doprnt.c (emacs_vsprintf_string_lisp):
	* doprnt.c (emacs_sprintf_string_lisp):
	* doprnt.c (emacs_vsprintf_malloc_lisp):
	* doprnt.c (emacs_sprintf_malloc_lisp):
	* doprnt.c (emacs_vsprintf_string):
	* doprnt.c (emacs_sprintf_string):
	* doprnt.c (emacs_vsprintf_malloc):
	* doprnt.c (emacs_sprintf_malloc):
	* doprnt.c (emacs_vsprintf):
	* doprnt.c (emacs_sprintf):
	* editfns.c:
	* editfns.c (init_editfns):
	* editfns.c (Fchar_to_string):
	* editfns.c (Fstring_to_char):
	* editfns.c (Ftemp_directory):
	* editfns.c (Fuser_login_name):
	* editfns.c (user_login_name):
	* editfns.c (Fuser_full_name):
	* editfns.c (get_home_directory):
	* editfns.c (Fuser_home_directory):
	* editfns.c (Fcurrent_time_string):
	* editfns.c (Fcurrent_time_zone):
	* editfns.c (Finsert_char):
	* editfns.c (Fcompare_buffer_substrings):
	* editfns.c (Fsubst_char_in_region):
	* editfns.c (Ftranslate_region):
	* editfns.c (Fchar_equal):
	* eldap.c (Fldap_open):
	* emodules.c (emodules_load):
	* emodules.c (emodules_doc_subr):
	* emodules.c (emodules_doc_sym):
	* eval.c (print_subr):
	* eval.c (build_error_data):
	* eval.c (signal_error):
	* eval.c (maybe_signal_error):
	* eval.c (signal_continuable_error):
	* eval.c (maybe_signal_continuable_error):
	* eval.c (signal_error_2):
	* eval.c (maybe_signal_error_2):
	* eval.c (signal_continuable_error_2):
	* eval.c (maybe_signal_continuable_error_2):
	* eval.c (signal_ferror):
	* eval.c (maybe_signal_ferror):
	* eval.c (signal_continuable_ferror):
	* eval.c (maybe_signal_continuable_ferror):
	* eval.c (signal_ferror_with_frob):
	* eval.c (maybe_signal_ferror_with_frob):
	* eval.c (signal_continuable_ferror_with_frob):
	* eval.c (maybe_signal_continuable_ferror_with_frob):
	* eval.c (syntax_error):
	* eval.c (syntax_error_2):
	* eval.c (maybe_syntax_error):
	* eval.c (sferror):
	* eval.c (sferror_2):
	* eval.c (maybe_sferror):
	* eval.c (invalid_argument):
	* eval.c (invalid_argument_2):
	* eval.c (maybe_invalid_argument):
	* eval.c (invalid_constant):
	* eval.c (invalid_constant_2):
	* eval.c (maybe_invalid_constant):
	* eval.c (invalid_operation):
	* eval.c (invalid_operation_2):
	* eval.c (maybe_invalid_operation):
	* eval.c (invalid_change):
	* eval.c (invalid_change_2):
	* eval.c (maybe_invalid_change):
	* eval.c (invalid_state):
	* eval.c (invalid_state_2):
	* eval.c (maybe_invalid_state):
	* eval.c (wtaerror):
	* eval.c (stack_overflow):
	* eval.c (out_of_memory):
	* eval.c (printing_unreadable_object):
	* eval.c (struct call_trapping_problems):
	* eval.c (call_trapping_problems):
	* eval.c (va_call_trapping_problems):
	* eval.c (calln_trapping_problems):
	* eval.c (call0_trapping_problems):
	* eval.c (call1_trapping_problems):
	* eval.c (call2_trapping_problems):
	* eval.c (call3_trapping_problems):
	* eval.c (call4_trapping_problems):
	* eval.c (call5_trapping_problems):
	* eval.c (eval_in_buffer_trapping_problems):
	* eval.c (run_hook_trapping_problems):
	* eval.c (safe_run_hook_trapping_problems):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (warn_when_safe):
	* event-Xt.c (x_keysym_to_character):
	* event-Xt.c (x_to_emacs_keysym):
	* event-Xt.c (x_event_to_emacs_event):
	* event-Xt.c (check_for_tty_quit_char):
	* event-gtk.c (gtk_to_emacs_keysym):
	* event-gtk.c (dragndrop_data_received):
	* event-gtk.c (check_for_tty_quit_char):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-stream.c (allocate_command_builder):
	* event-stream.c (echo_key_event):
	* event-stream.c (maybe_kbd_translate):
	* event-stream.c (command_builder_find_leaf_no_mule_processing):
	* event-stream.c (command_builder_find_leaf):
	* event-stream.c (lookup_command_event):
	* event-stream.c (dribble_out_event):
	* event-unixoid.c (read_event_from_tty_or_stream_desc):
	* event-unixoid.c (event_stream_unixoid_create_io_streams):
	* events.c (character_to_event):
	* events.c (event_to_character):
	* events.c (Fevent_to_character):
	* events.c (nth_of_key_sequence_as_event):
	* events.h:
	* events.h (struct key_data):
	* events.h (struct command_builder):
	* file-coding.c (setup_eol_coding_systems):
	* file-coding.c (make_coding_system_1):
	* file-coding.c (no_conversion_convert):
	* file-coding.c (convert_eol_convert):
	* file-coding.c (look_for_coding_system_magic_cookie):
	* file-coding.h:
	* fileio.c:
	* fileio.c (report_file_type_error):
	* fileio.c (report_error_with_errno):
	* fileio.c (report_file_error):
	* fileio.c (lisp_strerror):
	* fileio.c (Ffile_name_directory):
	* fileio.c (Ffile_name_nondirectory):
	* fileio.c (file_name_as_directory):
	* fileio.c (Ffile_name_as_directory):
	* fileio.c (directory_file_name):
	* fileio.c (Fdirectory_file_name):
	* fileio.c (Fmake_temp_name):
	* fileio.c (if):
	* fileio.c (Ffile_truename):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (Ffile_name_absolute_p):
	* fileio.c (check_writable):
	* fileio.c (Ffile_writable_p):
	* fileio.c (Ffile_symlink_p):
	* fileio.c (a_write):
	* filelock.c (struct):
	* filelock.c (MAKE_LOCK_NAME):
	* filelock.c (fill_in_lock_file_name):
	* filelock.c (lock_file_1):
	* filelock.c (current_lock_owner):
	* filelock.c (lock_if_free):
	* filelock.c (lock_file):
	* filelock.c (unlock_file):
	* filelock.c (Ffile_locked_p):
	* fns.c:
	* fns.c (Fstring_lessp):
	* fns.c (concat):
	* fns.c (split_string_by_ichar_1):
	* fns.c (split_external_path):
	* fns.c (split_env_path):
	* fns.c (Fsplit_string_by_char):
	* fns.c (Fsplit_path):
	* fns.c (Ffillarray):
	* fns.c (mapcar1):
	* fns.c (ADVANCE_INPUT):
	* fns.c (base64_encode_1):
	* fns.c (STORE_BYTE):
	* fns.c (base64_decode_1):
	* fns.c (Fbase64_encode_region):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_region):
	* fns.c (Fbase64_decode_string):
	* fns.c (vars_of_fns):
	* font-lock.c (struct context_cache):
	* font-lock.c (find_context):
	* frame-gtk.c (gtk_set_frame_text_value):
	* frame-gtk.c (gtk_set_title_from_ibyte):
	* frame-gtk.c (gtk_set_icon_name_from_ibyte):
	* frame-gtk.c (console_type_create_frame_gtk):
	* frame-msw.c (mswindows_set_title_from_ibyte):
	* frame-msw.c (console_type_create_frame_mswindows):
	* frame-x.c (color_to_string):
	* frame-x.c (x_set_frame_text_value):
	* frame-x.c (x_set_title_from_ibyte):
	* frame-x.c (x_set_icon_name_from_ibyte):
	* frame-x.c (x_cde_transfer_callback):
	* frame-x.c (Fx_window_id):
	* frame-x.c (console_type_create_frame_x):
	* frame.c:
	* frame.c (allocate_frame_core):
	* frame.c (Fmake_frame):
	* frame.c (generate_title_string):
	* frame.c (update_frame_title):
	* frame.c (init_frame):
	* glyphs-eimage.c (my_jpeg_output_message):
	* glyphs-eimage.c (gif_instantiate):
	* glyphs-msw.c (struct color_symbol):
	* glyphs-msw.c (xpm_to_eimage):
	* glyphs-msw.c (struct):
	* glyphs-msw.c (resource_name_to_resource):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (charset_of_text):
	* glyphs-msw.c (mswindows_widget_instantiate):
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs-x.c (x_xface_instantiate):
	* glyphs-x.c (safe_XLoadFont):
	* glyphs-x.c (font_instantiate):
	* glyphs.c (print_image_instance):
	* glyphs.c (signal_image_error):
	* glyphs.c (signal_image_error_2):
	* glyphs.c (signal_double_image_error):
	* glyphs.c (signal_double_image_error_2):
	* glyphs.c (query_string_geometry):
	* glyphs.c (query_string_font):
	* glyphs.c (display_table_entry):
	* glyphs.h:
	* gpmevent.c (tty_get_foreign_selection):
	* gui-x.c (menu_separator_style_and_to_external):
	* gui-x.c (add_accel_and_to_external):
	* gui-x.c (button_item_to_widget_value):
	* gui-x.h:
	* gui.c (separator_string_p):
	* gui.c (gui_name_accelerator):
	* gui.h:
	* hpplay.c (player_error_internal):
	* indent.c (column_at_point):
	* indent.c (string_column_at_point):
	* indent.c (byte_spaces_at_point):
	* indent.c (Fmove_to_column):
	* insdel.c (gap_left):
	* insdel.c (gap_right):
	* insdel.c (make_gap):
	* insdel.c (fixup_internal_substring):
	* insdel.c (buffer_insert_string_1):
	* insdel.c (buffer_insert_raw_string_1):
	* insdel.c (buffer_insert_c_string_1):
	* insdel.c (buffer_insert_emacs_char_1):
	* insdel.c (buffer_insert_c_char_1):
	* insdel.c (buffer_delete_range):
	* insdel.c (buffer_replace_char):
	* insdel.h:
	* intl-win32.c (convert_multibyte_to_internal_malloc):
	* keymap.c (make_key_description):
	* keymap.c (keymap_lookup_directly):
	* keymap.c (keymap_store):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (Fdefine_key):
	* keymap.c (Flookup_key):
	* keymap.c (map_keymap_sort_predicate):
	* keymap.c (Fkey_description):
	* keymap.c (Ftext_char_description):
	* keymap.c (describe_map):
	* keymap.c (vars_of_keymap):
	* line-number.c (insert_invalidate_line_number_cache):
	* line-number.h:
	* lisp-disunion.h:
	* lisp-union.h:
	* lisp.h:
	* lisp.h (struct):
	* lisp.h (struct Lisp_String):
	* lisp.h (XCHAR):
	* lisp.h (DECLARE_INLINE_HEADER):
	* lread.c:
	* lread.c (readchar):
	* lread.c (unreadchar):
	* lread.c (Fload_internal):
	* lread.c (locate_file_map_suffixes):
	* lread.c (locate_file_in_directory_mapper):
	* lread.c (locate_file_construct_suffixed_files_mapper):
	* lread.c (readevalloop):
	* lread.c (read0):
	* lread.c (read_escape):
	* lread.c (read_atom_0):
	* lread.c (read_atom):
	* lread.c (parse_integer):
	* lread.c (read_bit_vector):
	* lread.c (read_structure):
	* lread.c (reader_nextchar):
	* lread.c (read1):
	* lread.c (isfloat_string):
	* lread.c (sequence_reader):
	* lread.c (read_list_conser):
	* lread.c (read_list):
	* lread.c (read_vector):
	* lread.c (read_compiled_function):
	* lrecord.h:
	* lstream.c:
	* lstream.c (Lstream_really_write):
	* lstream.c (Lstream_read_1):
	* lstream.c (struct filedesc_stream):
	* lstream.c (filedesc_writer):
	* lstream.c (filedesc_stream_set_pty_flushing):
	* lstream.c (lisp_string_reader):
	* lstream.c (lisp_string_rewinder):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.h:
	* lstream.h (Lstream_get_ichar):
	* md5.c (Fmd5):
	* menubar-msw.c:
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar-msw.c (displayable_menu_item):
	* menubar-msw.c (populate_menu_add_item):
	* menubar-msw.c (mswindows_char_is_accelerator):
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar.c (Fnormalize_menu_item_name):
	* minibuf.c (scmp_1):
	* minibuf.c (regexp_ignore_completion_p):
	* minibuf.c (Fall_completions):
	* minibuf.c (echo_area_append):
	* minibuf.c (echo_area_message):
	* minibuf.c (message_internal):
	* minibuf.c (message_append_internal):
	* minibuf.c (message_1):
	* minibuf.c (message_append_1):
	* mule-ccl.c:
	* mule-ccl.c (CCL_WRITE_CHAR):
	* mule-ccl.c (CCL_WRITE_STRING):
	* mule-ccl.c (CCL_MAKE_CHAR):
	* mule-charset.c (make_charset):
	* mule-charset.c (Fmake_charset):
	* mule-coding.c (shift_jis_convert):
	* mule-coding.c (Fdecode_shift_jis_char):
	* mule-coding.c (Fencode_shift_jis_char):
	* mule-coding.c (big5_convert):
	* mule-coding.c (decode_big5_char):
	* mule-coding.c (Fdecode_big5_char):
	* mule-coding.c (Fencode_big5_char):
	* mule-coding.c (charset_by_attributes_or_create_one):
	* mule-coding.c (iso2022_decode):
	* mule-coding.c (iso2022_encode):
	* mule-wnnfns.c (Fwnn_dict_list):
	* mule-wnnfns.c (Fwnn_fuzokugo_get):
	* mule-wnnfns.c (m2w):
	* ndir.h:
	* nt.c:
	* nt.c (getpwnam):
	* nt.c (parse_root):
	* nt.c (get_long_basename):
	* nt.c (mswindows_get_long_filename):
	* nt.c (is_unc_volume):
	* nt.c (nt_get_resource):
	* nt.c (init_mswindows_environment):
	* nt.c (volume_info_data):
	* nt.c (lookup_volume_info):
	* nt.c (add_volume_info):
	* nt.c (get_cached_volume_information):
	* nt.c (get_volume_info):
	* nt.c (is_exec):
	* nt.c (mswindows_opendir):
	* nt.c (mswindows_readdir):
	* nt.c (open_unc_volume):
	* nt.c (read_unc_volume):
	* nt.c (unc_volume_file_attributes):
	* nt.c (mswindows_access):
	* nt.c (mswindows_link):
	* nt.c (mswindows_rename):
	* nt.c (mswindows_unlink):
	* nt.c (mswindows_fstat):
	* nt.c (mswindows_stat):
	* nt.c (mswindows_getdcwd):
	* nt.c (open_input_file):
	* nt.c (open_output_file):
	* nt.c (mswindows_executable_type):
	* nt.c (Fmswindows_short_file_name):
	* nt.c (Fmswindows_long_file_name):
	* nt.c (init_nt):
	* objects-gtk.c (gtk_parse_nearest_color):
	* objects-gtk.c (gtk_font_spec_matches_charset):
	* objects-gtk.c (gtk_find_charset_font):
	* objects-gtk.h:
	* objects-msw.c (hexval):
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (match_font):
	* objects-msw.c (font_enum_callback_2):
	* objects-msw.c (create_hfont_from_font_spec):
	* objects-msw.c (initialize_font_instance):
	* objects-msw.c (mswindows_list_fonts):
	* objects-msw.c (mswindows_font_instance_truename):
	* objects-msw.c (mswindows_font_spec_matches_charset_stage_1):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-tty.c (tty_initialize_font_instance):
	* objects-tty.c (tty_font_spec_matches_charset):
	* objects-tty.c (tty_find_charset_font):
	* objects-x.c (x_font_instance_properties):
	* objects-x.c (x_font_spec_matches_charset):
	* objects-x.c (x_find_charset_font):
	* objects.c (font_spec_matches_charset):
	* objects.h:
	* postgresql.c (init_postgresql_from_environment):
	* print.c:
	* print.c (write_string_to_stdio_stream):
	* print.c (std_handle_out_va):
	* print.c (stderr_out):
	* print.c (stdout_out):
	* print.c (debug_out):
	* print.c (fatal):
	* print.c (output_string):
	* print.c (write_string_1):
	* print.c (write_string):
	* print.c (write_c_string):
	* print.c (write_fmt_string):
	* print.c (write_fmt_string_lisp):
	* print.c (stderr_out_lisp):
	* print.c (Fwrite_char):
	* print.c (float_to_string):
	* print.c (print_string):
	* print.c (print_internal):
	* print.c (print_symbol):
	* print.c (Falternate_debugging_output):
	* print.c (write_string_to_alternate_debugging_output):
	* print.c (Fexternal_debugging_output):
	* process-nt.c (mswindows_compare_env):
	* process-nt.c (nt_create_process):
	* process-nt.c (nt_send_process):
	* process-unix.c:
	* process-unix.c (allocate_pty):
	* process-unix.c (relocate_fd):
	* process-unix.c (child_setup):
	* process-unix.c (unix_create_process):
	* process-unix.c (unix_send_process):
	* process-unix.c (unix_process_send_eof):
	* process-unix.c (unix_kill_child_process):
	* process-unix.c (unix_canonicalize_host_name):
	* process-unix.c (unix_open_network_stream):
	* process.c (read_process_output):
	* process.c (send_process):
	* process.c (status_message):
	* process.c (decode_signal):
	* process.c (getenv_internal):
	* process.c (putenv_internal):
	* process.c (Fgetenv):
	* process.c (egetenv):
	* process.c (eputenv):
	* process.c (init_xemacs_process):
	* procimpl.h:
	* realpath.c:
	* realpath.c (mswindows_readlink_and_correct_case):
	* realpath.c (cygwin_readlink_and_correct_case):
	* realpath.c (mswindows_abs_start):
	* realpath.c (qxe_realpath):
	* redisplay-gtk.c:
	* redisplay-gtk.c (separate_textual_runs):
	* redisplay-gtk.c (gtk_text_width):
	* redisplay-gtk.c (gtk_output_display_block):
	* redisplay-gtk.c (gtk_output_string):
	* redisplay-msw.c (separate_textual_runs):
	* redisplay-msw.c (mswindows_output_cursor):
	* redisplay-msw.c (mswindows_output_string):
	* redisplay-msw.c (mswindows_output_display_block):
	* redisplay-msw.c (mswindows_text_width):
	* redisplay-output.c (redisplay_output_layout):
	* redisplay-tty.c:
	* redisplay-tty.c (tty_text_width):
	* redisplay-tty.c (tty_output_display_block):
	* redisplay-tty.c (tty_output_ibyte_string):
	* redisplay-tty.c (tty_output_ichar_dynarr):
	* redisplay-tty.c (substitute_in_dynamic_color_string):
	* redisplay-tty.c (set_foreground_to):
	* redisplay-tty.c (set_background_to):
	* redisplay-x.c:
	* redisplay-x.c (separate_textual_runs):
	* redisplay-x.c (x_text_width):
	* redisplay-x.c (x_output_display_block):
	* redisplay-x.c (x_output_string):
	* redisplay.c:
	* redisplay.c (position_redisplay_data_type):
	* redisplay.c (struct prop_block):
	* redisplay.c (redisplay_text_width_ichar_string):
	* redisplay.c (redisplay_text_width_string):
	* redisplay.c (redisplay_frame_text_width_string):
	* redisplay.c (add_ichar_rune_1):
	* redisplay.c (add_ichar_rune):
	* redisplay.c (add_ibyte_string_runes):
	* redisplay.c (ADD_NEXT_OCTAL_RUNE_CHAR):
	* redisplay.c (add_octal_runes):
	* redisplay.c (add_control_char_runes):
	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (add_propagation_runes):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (create_text_block):
	* redisplay.c (create_overlay_glyph_block):
	* redisplay.c (generate_formatted_string_db):
	* redisplay.c (add_string_to_fstring_db_runes):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (create_string_text_block):
	* redisplay.c (decode_mode_spec):
	* redisplay.c (init_redisplay):
	* redisplay.h:
	* redisplay.h (struct rune):
	* regex.c:
	* regex.c (RE_TRANSLATE_1):
	* regex.c (itext_ichar):
	* regex.c (INC_IBYTEPTR):
	* regex.c (PATFETCH_RAW):
	* regex.c (PATUNFETCH):
	* regex.c (regex_compile):
	* regex.c (compile_range):
	* regex.c (compile_extended_range):
	* regex.c (re_compile_fastmap):
	* regex.c (re_search_2):
	* regex.c (re_match_2_internal):
	* search.c:
	* search.c (TRANSLATE):
	* search.c (fixup_search_regs_for_string):
	* search.c (fast_string_match):
	* search.c (byte_scan_buffer):
	* search.c (scan_buffer):
	* search.c (byte_find_next_ichar_in_string):
	* search.c (skip_chars):
	* search.c (trivial_regexp_p):
	* search.c (search_buffer):
	* search.c (simple_search):
	* search.c (boyer_moore):
	* search.c (wordify):
	* search.c (Freplace_match):
	* search.c (Fregexp_quote):
	* select-common.h (lisp_data_to_selection_data):
	* select-gtk.c (atom_to_symbol):
	* select-x.c (x_atom_to_symbol):
	* select-x.c (hack_motif_clipboard_selection):
	* select-x.c (Fx_store_cutbuffer_internal):
	* sound.h (sound_perror):
	* symbols.c (intern_int):
	* symbols.c (intern):
	* symbols.c (intern_converting_underscores_to_dashes):
	* symbols.c (oblookup):
	* symbols.c (hash_string):
	* symbols.c (init_symbols_once_early):
	* symbols.c (defsymbol_massage_name_1):
	* symbols.c (defsymbol_nodump):
	* symbols.c (defsymbol):
	* symbols.c (defvar_magic):
	* syntax.c (struct lisp_parse_state):
	* syntax.c (syntax_match):
	* syntax.c (WORD_BOUNDARY_P):
	* syntax.c (scan_words):
	* syntax.c (find_start_of_comment):
	* syntax.c (Fforward_comment):
	* syntax.c (scan_lists):
	* syntax.c (Fbackward_prefix_chars):
	* syntax.c (scan_sexps_forward):
	* syntax.c (complex_vars_of_syntax):
	* syntax.h:
	* sysdep.c:
	* sysdep.c (sys_subshell):
	* sysdep.c (get_eof_char):
	* sysdep.c (init_system_name):
	* sysdep.c (qxe_open):
	* sysdep.c (qxe_interruptible_open):
	* sysdep.c (qxe_fopen):
	* sysdep.c (qxe_chdir):
	* sysdep.c (qxe_mkdir):
	* sysdep.c (qxe_opendir):
	* sysdep.c (qxe_readdir):
	* sysdep.c (qxe_rmdir):
	* sysdep.c (qxe_allocating_getcwd):
	* sysdep.c (qxe_access):
	* sysdep.c (qxe_eaccess):
	* sysdep.c (qxe_lstat):
	* sysdep.c (qxe_readlink):
	* sysdep.c (qxe_stat):
	* sysdep.c (qxe_chmod):
	* sysdep.c (qxe_link):
	* sysdep.c (qxe_rename):
	* sysdep.c (qxe_symlink):
	* sysdep.c (qxe_unlink):
	* sysdep.c (qxe_execve):
	* sysdep.c (qxe_getpwnam):
	* sysdep.c (qxe_ctime):
	* sysdep.h:
	* sysdir.h:
	* sysdir.h (qxe_allocating_getcwd):
	* sysfile.h:
	* sysfile.h (DECLARE_INLINE_HEADER):
	* sysproc.h:
	* syspwd.h:
	* systime.h:
	* syswindows.h:
	* syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR):
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT):
	* syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT):
	* syswindows.h (LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR):
	* syswindows.h (file_data):
	* syswindows.h (DECLARE_INLINE_HEADER):
	* termcap.c (tgetent):
	* tests.c (Ftest_data_format_conversion):
	* text.c:
	* text.c (qxesprintf):
	* text.c (qxestrcasecmp):
	* text.c (ascii_strcasecmp):
	* text.c (qxestrcasecmp_c):
	* text.c (qxestrcasecmp_i18n):
	* text.c (qxestrncasecmp):
	* text.c (ascii_strncasecmp):
	* text.c (qxestrncasecmp_c):
	* text.c (qxestrncasecmp_i18n):
	* text.c (qxememcmp):
	* text.c (qxememcmp4):
	* text.c (qxememcasecmp):
	* text.c (qxememcasecmp4):
	* text.c (qxetextcmp):
	* text.c (qxetextcmp_matching):
	* text.c (qxetextcasecmp):
	* text.c (qxetextcasecmp_matching):
	* text.c (lisp_strcasecmp):
	* text.c (convert_ibyte_string_into_ichar_dynarr):
	* text.c (convert_ibyte_string_into_ichar_string):
	* text.c (convert_ichar_string_into_ibyte_dynarr):
	* text.c (convert_ichar_string_into_malloced_string):
	* text.c (COPY_TEXT_BETWEEN_FORMATS):
	* text.c (copy_text_between_formats):
	* text.c (copy_buffer_text_out):
	* text.c (find_charsets_in_ibyte_string):
	* text.c (find_charsets_in_ichar_string):
	* text.c (ibyte_string_displayed_columns):
	* text.c (ichar_string_displayed_columns):
	* text.c (ibyte_string_nonascii_chars):
	* text.c (eistr_casefiddle_1):
	* text.c (eito_malloc_1):
	* text.c (eicmp_1):
	* text.c (eicpyout_malloc_fmt):
	* text.c (skip_ascii):
	* text.c (bytecount_to_charcount_fun):
	* text.c (charcount_to_bytecount_fun):
	* text.c (struct):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (non_ascii_set_itext_ichar):
	* text.c (non_ascii_itext_ichar):
	* text.c (non_ascii_valid_ichar_p):
	* text.c (non_ascii_itext_copy_ichar):
	* text.c (Lstream_get_ichar_1):
	* text.c (Lstream_fput_ichar):
	* text.c (Lstream_funget_ichar):
	* text.c (Fmake_char):
	* text.c (Fchar_charset):
	* text.c (Fchar_octet):
	* text.c (Fsplit_char):
	* text.c (lookup_composite_char):
	* text.c (composite_char_string):
	* text.c (Fcomposite_char_string):
	* text.c (reinit_vars_of_text):
	* text.h:
	* text.h (MAX_ICHAR_LEN):
	* text.h (ibyte_first_byte_p):
	* text.h (ibyte_leading_byte_p):
	* text.h (ichar_multibyte_p):
	* text.h (ichar_ascii_p):
	* text.h (ichar_16_bit_fixed_p):
	* text.h (ichar_to_raw):
	* text.h (valid_ibyteptr_p):
	* text.h (assert_valid_ibyteptr):
	* text.h (INC_IBYTEPTR):
	* text.h (INC_IBYTEPTR_FMT):
	* text.h (DEC_IBYTEPTR):
	* text.h (DEC_IBYTEPTR_FMT):
	* text.h (VALIDATE_IBYTEPTR_BACKWARD):
	* text.h (VALIDATE_IBYTEPTR_FORWARD):
	* text.h (validate_ibyte_string_backward):
	* text.h (itext_ichar_len):
	* text.h (INC_BYTECOUNT):
	* text.h (simple_itext_ichar):
	* text.h (itext_ichar):
	* text.h (valid_ichar_p):
	* text.h (CHAR_INTP):
	* text.h (ASSERT_VALID_BYTE_STRING_INDEX_UNSAFE):
	* text.h (LISP_STRING_TO_ALLOCA):
	* text.h (alloca_ibytes):
	* text.h (struct):
	* text.h (EI_ALLOC):
	* text.h (eicpy_lstr_off):
	* text.h (eicpy_raw_fmt):
	* text.h (eicpy_rawz_fmt):
	* text.h (eicpy_ch):
	* text.h (eireset):
	* text.h (eito_alloca):
	* text.h (DECLARE_INLINE_HEADER):
	* text.h (eigetch):
	* text.h (eicat_c):
	* text.h (eicat_raw):
	* text.h (eicat_rawz):
	* text.h (eicat_ch):
	* text.h (eisub_1):
	* text.h (eisub_ch):
	* text.h (EI_CASECHANGE):
	* text.h (DFC_LISP_STRING_USE_CONVERTED_DATA):
	* text.h (GET_STRERROR):
	* toolbar-common.c (common_output_toolbar_button):
	* tooltalk.c (check_status):
	* tooltalk.c (tt_message_arg_bval_vector):
	* ui-gtk.c (lisp_to_gtk_type):
	* unexnt.c (unexec):
	* unexnt.c (get_bss_info_from_map_file):
	* unicode.c:
	* unicode.c (sledgehammer_check_from_table):
	* unicode.c (sledgehammer_check_to_table):
	* unicode.c (set_unicode_conversion):
	* unicode.c (ichar_to_unicode):
	* unicode.c (unicode_to_char):
	* unicode.c (Fchar_to_unicode):
	* unicode.c (Funicode_to_char):
	* unicode.c (decode_unicode_char):
	* unicode.c (encode_unicode_char):
	* unicode.c (unicode_convert):
	* win32.c (urlify_filename):
	* win32.c (tstr_to_local_file_format):
	* win32.c (mswindows_canonicalize_filename):
	* win32.c (mswindows_lisp_error_1):
	* win32.c (Fmswindows_cygwin_to_win32_path):

	Text/char naming rationalization.

	[a] distinguish between "charptr" when it refers to operations on
	the pointer itself and when it refers to operations on text; and
	[b] use consistent naming for everything referring to internal
	format, i.e.
 
	Itext == text in internal format
	Ibyte == a byte in such text
	Ichar == a char as represented in internal character format
 
	thus e.g.
 
	set_charptr_emchar -> set_itext_ichar

	The pre and post tags on either side of this change are:
	
	pre-internal-format-textual-renaming
	post-internal-format-textual-renaming

	See the Internals Manual for details of exactly how this was done,
	how to handle the change in your workspace, etc.
	
2002-06-04  Andy Piper  <andy@xemacs.org>

	* glyphs-widget.c (widget_logical_unit_height): don't try and
	determine geometry of nil strings.

2002-06-03  Andy Piper  <andy@xemacs.org>

	* frame.c (frame_conversion_internal): add conversion appropriate
	for setting frame dimensions in pixels.

	* console.h (struct console_methods): add device-specific widget
	layout functions.

	* emacs.c (main_1): initialize glyph vars.

	* event-Xt.c (handle_focus_event_1): call handle_focus_event_2
	(handle_focus_event_2): new function. Allow focus to
	be set to a particular window and widget.
	(enqueue_focus_event): new function. Create a
	synthetic focus event.
	(emacs_Xt_handle_magic_event): call
	handle_focus_event_2.

	* frame.c (Fset_frame_pixel_height): new function. Allow
	pixel-based sizing. Does the right thing on character-oriented
	displays.
	(Fset_frame_pixel_width): ditto.
	(Fset_frame_pixel_size): ditto.
	(syms_of_frame): declare.

	* general-slots.h: add :vertically-justify and
	:horizontally-justify.

	* glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
	(mswindows_widget_border_width): new function.
	(mswindows_combo_box_instantiate): set border widths.
	(console_type_create_glyphs_mswindows): declare.

	* glyphs-widget.c:
	(check_valid_justification): allow vertical and horizontal
	justification.
	(widget_border_width): new function. Call device methods.
	(widget_instance_border_width): ditto.
	(logical_unit_height): new function. Determine the height of a
	logical-unit. Logical units are intended to provide grid-like
	layout for subcontrols in a layout. If the layout is
	:vertically-justify top then subcontrols will be positioned on
	logical-unit boundaries, thus allowing adjacent subcontrols to
	line up.
	(widget_logical_unit_height): ditto for widgets.
	(redisplay_widget): misc cleanup.
	(widget_spacing): new function. Call device specific
	methods. Intended to be the default gap between adjacent widgets.
	(widget_query_geometry): use new spacing functions to determine
	appropriate geometry.
	(initialize_widget_image_instance): initialize horizontal and
	vertical justification.
	(widget_instantiate): use logica-units where appropriate for
	sizing large widgets.
	(button_query_geometry): use widget_instance_border_width.
	(tree_view_query_geometry): ditto.
	(tab_control_query_geometry): ditto.
	(edit_field_query_geometry): new function.
	(layout_update): pick up :justify, :horizontally-justify and
	:vertically-justify none of which worked previously. :justify is
	used as a fallback for both horizontal and vertical justification.
	(layout_query_geometry): use logical units to size appropriately.
	(layout_layout): ditto.
	(Fwidget_logical_to_character_width): new function. Allow users to
	convert from logical units to characters so that frame sizes can
	be set appropriately.
	(Fwidget_logical_to_character_height): ditto.
	(syms_of_glyphs_widget): declare.
	(image_instantiator_edit_fields): add edit_field_query_geometry.
	(VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
	:horizontally-justify.
	(specifier_vars_of_glyphs_widget): new function. Declare
	Vwidget_border_width which is not yet used.

	* glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
	(x_widget_border_width): new function.
	(x_widget_instantiate): create a sensible name for widgets.
	(console_type_create_glyphs_x): declare x_widget_border_width.

	* glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
	(struct Lisp_Image_Instance): add :vertically-justify and
	:horizontally-justify.
	(LAYOUT_JUSTIFY_TOP): new.
	(IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
	(ROUND_UP): new macro. Round argument up to next integral
	interval.

	* redisplay-output.c (redisplay_output_layout): misc formatting.

	* symsinit.h: declare specifier_vars_of_glyphs_widget.

2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>

	* sysdep.c (sys_rename): Make sys_rename work for the case where
	Windows rename sets errno to EACCES if target file exists.

2002-05-21  Jonathan Harris  <jonathan@xemacs.org>

	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Fix detection of metric units to work on Win95

2002-05-25  Andy Piper  <andy@xemacs.org>

	* select-x.c (vars_of_select_x): Fix docstring of
	x-selection-strict-motif-ownership

2002-05-07  Nix  <nix@esperi.demon.co.uk>

	Supersedes 2002-04-17 patch.

	* process.h (PROCESS_LIVE_P): Use the process status as
	evidence of health, not the state of the input stream.
	(PROCESS_READABLE_P): Say if the process is readable
	from. (It may be dead nonetheless.)
	(CHECK_READABLE_PROCESS): Test for that condition.

	* process.c (create_process): Use PROCESS_READABLE_P.
	(read_process_output, set_process_filter): Likewise.

	* process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
	(Fset_process_input_coding_system, Fprocess_coding_system): Likewise.

	This code is #if 0'd, this is not the time to add new functions:

	* process.c (Fprocess_readable_p): Report readability status.
	* process.c (Qprocess_readable_p): New, associated symbol...
	* process.c (syms_of_process): ... initialize it.

2002-05-06  Andy Piper  <andy@xemacs.org>

	* process.h (PROCESS_LIVE_P): revert previous change because of
	tty problems.

2002-04-27  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.

2002-04-26  Andy Piper  <andy@xemacs.org>

	* glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
	behavior.

	* config.h.in: pull in 21.5.x change to stop alloca warnings under
	cygwin.

2002-06-02  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>

	* process.c (remove_process): Don't invalidate the process marker
	after the process has died to make point synchronization in
	`call-process-internal' possible.

2002-06-01  Ben Wing  <ben@xemacs.org>

	* buffer.c (init_initial_directory):
	Fix bug noted by someone.
	
	* console-tty.h:
	* device.h (struct device):
	* emacs.c:
	* filelock.c:
	* nt.c:
	* process-nt.c:
	* process-unix.c:
	* process.c:
	* redisplay-tty.c:
	* sysdep.c:
	* sysproc.h:
	* win32.c:
	Redo problem with syssignal.h/sysproc.h dependence noted by Didier
	-- rather than require one included before the other
	(error-prone), just include syssignal.h from sysproc.h
	where it's needed.
	
	* inline.c:
	Include sysfile.h due to inline funs in that header.
	
	* extents.c (Fset_extent_parent):
	Fix bug noted by Andrew Cohen <cohen@andy.bu.edu>.
	
	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	Fix other bug noted by Andrew Cohen <cohen@andy.bu.edu>.

	* process.c (syms_of_process):
	Add process-has-separate-stderr-p, used by call-process-internal.

2002-05-28  Martin Köbele <mkoebele@mkoebele.de>, Jens Müller <jmueller@informatik.uni-tuebingen.de>

	* lrecord.h (lrecord_type): Add lrecord_type_weak_box to
	lrecord_type enumeration.

	* alloc.c (garbage_collect_1): Call prune_weak_boxes().

	* lisp.h (struct weak_box): 
	* data.c: 
	(prune_weak_boxes): 
	(mark_weak_box): 
	(print_weak_box): 
	(weak_box_equal): 
	(weak_box_hash): 
	(make_weak_box): 
	(Fmake_weak_box): 
	(Fweak_box_ref): 
	(Fweak_boxp): 
	(syms_of_data): 
	(vars_of_data): Add implementation of weak boxes.

2002-05-29  Ben Wing  <ben@xemacs.org>

	* event-msw.c:
	Oops, paren in wrong place.
	Oops, manifest constant needed earlier than defined.

2002-05-29  Didier Verna  <didier@xemacs.org>

	* process-unix.c (unix_canonicalize_host_name): change gai_error
	to gai_err to avoid shadow declaration.
	* process-unix.c (unix_open_network_stream): ditto.

2002-05-28  Didier Verna  <didier@xemacs.org>

	* emacs.c: comment the inclusion order of syssignal.h and sysproc.h.
	* filelock.c: ditto.
	* nt.c: ditto.
	* sysproc.h: ditto.
	* process-nt.c: ditto.
	* process-unix.c: include syssignal.h before sysproc.h.
	* process.c: ditto.
	* sysdep.c: ditto.
	* win32.c: ditto.

2002-05-28  Ben Wing  <ben@xemacs.org>

	================================================================
   	       ALLOW SEPARATION OF STDOUT AND STDERR IN PROCESSES
	================================================================

	Standard output and standard error can be processed separately in
	a process.  Each can have its own buffer, its own mark in that buffer,
	and its filter function.  You can specify a separate buffer for stderr
	in `start-process' to get things started, or use the new primitives:

        set-process-stderr-buffer
        process-stderr-buffer
	process-stderr-mark
        set-process-stderr-filter
	process-stderr-filter

        Also, process-send-region takes a 4th optional arg, a buffer.

	Currently always uses a pipe() under Unix to read the error output.
	(#### Would a PTY be better?)

	* sysdep.h:
	* sysproc.h:
	* unexfreebsd.c (unexec):
	* unexsunos4.c (unexec):
	* nt.c (init_user_info):
	* emacs.c:
	* emacs.c (main_1):
	* callproc.c:
	* symsinit.h:
	* sysdep.c:
	* sysdep.c (wait_for_termination):
	* Makefile.in.in (objs):
	* process-unix.c (child_setup):
	Delete callproc.c.  Move child_setup() to process-unix.c.
	wait_for_termination() now only needed on a few really old systems.

	* console-msw.h:
	* event-Xt.c (emacs_Xt_select_process):
	* event-Xt.c (emacs_Xt_unselect_process):
	* event-Xt.c (emacs_Xt_create_io_streams):
	* event-Xt.c (emacs_Xt_delete_io_streams):
	* event-Xt.c (debug_process_finalization):
	* event-Xt.c (reinit_vars_of_event_Xt):
	* event-msw.c (get_process_stderr_waitable):
	* event-msw.c (emacs_mswindows_select_process):
	* event-msw.c (emacs_mswindows_unselect_process):
	* event-msw.c (emacs_mswindows_create_io_streams):
	* event-msw.c (emacs_mswindows_delete_io_streams):
	* event-msw.c (debug_process_finalization):
	* event-msw.c (reinit_vars_of_event_mswindows):
	* event-msw.c (vars_of_event_mswindows):
	* event-msw.c (lstream_type_create_mswindows_selectable):
	* event-stream.c (event_stream_select_process):
	* event-stream.c (event_stream_unselect_process):
	* event-stream.c (event_stream_create_io_streams):
	* event-stream.c (event_stream_delete_io_streams):
	* event-stream.c (Faccept_process_output):
	* event-tty.c (emacs_tty_select_process):
	* event-tty.c (emacs_tty_unselect_process):
	* event-tty.c (emacs_tty_create_io_streams):
	* event-tty.c (emacs_tty_delete_io_streams):
	* event-tty.c (reinit_vars_of_event_tty):
	* event-unixoid.c:
	* event-unixoid.c (get_process_infd):
	* event-unixoid.c (get_process_errfd):
	* event-unixoid.c (event_stream_unixoid_select_process):
	* event-unixoid.c (event_stream_unixoid_unselect_process):
	* event-unixoid.c (event_stream_unixoid_create_io_streams):
	* event-unixoid.c (event_stream_unixoid_delete_io_streams):
	* events.h:
	* events.h (struct event_stream):
	* process-nt.c:
	* process-nt.c (struct nt_process_data):
	* process-nt.c (nt_create_process):
	* process-nt.c (get_internet_address):
	* process-nt.c (nt_open_network_stream):
	* process-unix.c:
	* process-unix.c (struct unix_process_data):
	* process-unix.c (UNIX_DATA):
	* process-unix.c (close_process_descs_mapfun):
	* process-unix.c (close_process_descs):
	* process-unix.c (connect_to_file_descriptor):
	* process-unix.c (process_signal_char):
	* process-unix.c (unix_alloc_process_data):
	* process-unix.c (unix_init_process_io_handles):
	* process-unix.c (unix_create_process):
	* process-unix.c (io_failure): Removed.
	* process-unix.c (unix_tooltalk_connection_p):
	* process-unix.c (unix_set_window_size):
	* process-unix.c (unix_reap_exited_processes):
	* process-unix.c (unix_deactivate_process):
	* process-unix.c (unix_kill_child_process):
	* process.c:
	* process.c (mark_process):
	* process.c (get_process_streams):
	* process.c (get_process_from_usid):
	* process.c (get_process_selected_p):
	* process.c (set_process_selected_p):
	* process.c (make_process_internal):
	* process.c (init_process_io_handles):
	* process.c (create_process):
	* process.c (Fstart_process_internal):
	* process.c (Fopen_multicast_group_internal):
	* process.c (process_setup_for_insertion):
	* process.c (read_process_output):
	* process.c (Fset_process_stderr_buffer):
	* process.c (Fprocess_stderr_mark):
	* process.c (set_process_filter):
	* process.c (Fset_process_filter):
	* process.c (Fset_process_stderr_filter):
	* process.c (Fprocess_stderr_filter):
	* process.c (exec_sentinel_unwind):
	* process.c (exec_sentinel):
	* process.c (status_notify):
	* process.c (Fprocess_send_eof):
	* process.c (deactivate_process):
	* process.c (syms_of_process):
	* process.c (vars_of_process):
	* process.h:
	* procimpl.h:
	* procimpl.h (struct process_methods):
	* procimpl.h (struct Lisp_Process):
	* procimpl.h (DATA_ERRSTREAM):
	Rewrite the process methods to handle a separate channel for
	error input.  Create Lstreams for reading in the error channel.
	Many process methods need change.  In general the changes are
	fairly clear as they involve duplicating what's used for reading
	the normal stdout and changing for stderr -- although tedious,
	as such changes are required throughout the entire process code.
	Rewrote the code that reads process output to do two loops, one
	for stdout and one for stderr.

	* gpmevent.c (get_process_infd):
	* gpmevent.c (Fgpm_enable):
	* tooltalk.c:
	* tooltalk.c (init_tooltalk):
        set_process_filter takes an argument for stderr.

	================================================================
                          NEW ERROR-TRAPPING MECHANISM
	================================================================

        Totally rewrite error trapping code to be unified and support more
        features.  Basic function is call_trapping_problems(), which lets
	you specify, by means of flags, what sorts of problems you want
	trapped.  these can include

	-- quit
	-- errors
	-- throws past the function
	-- creation of "display objects" (e.g. buffers)
	-- deletion of already-existing "display objects" (e.g. buffers)
	-- modification of already-existing buffers
	-- entering the debugger
	-- gc
	-- errors->warnings (ala suspended errors)

	etc.  All other error funs rewritten in terms of this one.
	Various older mechanisms removed or rewritten.

	* window.c (mark_window_as_deleted):
	* window.c (Fdelete_window):
	* window.c (Fset_window_configuration):
	* insdel.c (prepare_to_modify_buffer):
	* insdel.c (buffer_insert_string_1):
	* console.c (create_console):
	* buffer.c (finish_init_buffer):
	* device.c (allocate_device):
	* device.c (Fmake_device):
	* frame.c:
	* frame.c (Fmake_frame):
	* frame.c (allocate_frame_core):
	* frame.c (setup_normal_frame):
	* frame.c (delete_frame_internal):
	* window.c (Fsplit_window):
	* device.c (delete_device_internal):
	* console.c (delete_console_internal):
	* buffer.c (Fkill_buffer):
	When creating a display object, added call to
	note_object_created(), for use with trapping_problems mechanism.
	When deleting, call check_allowed_operation() and note_object
	deleted().

	The trapping-problems code records the objects created since the
	call-trapping-problems began.  Those objects can be deleted, but
	none others (i.e. previously existing ones).

	* bytecode.c (execute_rare_opcode):
	* cmdloop.c:
	* cmdloop.c (initial_command_loop):
	* cmdloop.c (Frecursive_edit):
	* cmdloop.c (call_command_loop):
	internal_catch takes another arg.

	* eval.c:
        Add long comments describing the "five lists" used to maintain
	state (backtrace, gcpro, specbind, etc.) in the Lisp engine.

	* backtrace.h:
	* eval.c (current_warning_level):
	* eval.c (call_debugger):
	* eval.c (signal_call_debugger):
	* eval.c (Fwhen):
	* eval.c (Fcatch):
	* eval.c (internal_catch):
	* eval.c (unwind_to_catch):
	* eval.c (throw_or_bomb_out):
	* eval.c (condition_bind_unwind):
	* eval.c (condition_case_1):
	* eval.c (Fcall_with_condition_handler):
	* eval.c (call_with_condition_handler):
	* eval.c (Fsignal):
	* eval.c (check_catchlist_sanity):
	* eval.c (check_specbind_stack_sanity):
	* eval.c (signal_quit):
	* eval.c (Feval):
	* eval.c (run_hook_list_with_args):
	* eval.c (run_hook):
	* eval.c (get_inhibit_flags):
	* eval.c (check_allowed_operation):
	* eval.c (note_object_created):
	* eval.c (note_object_deleted):
	* eval.c (struct call_trapping_problems):
	* eval.c (flagged_a_squirmer):
	* eval.c (call_trapping_problems_2):
	* eval.c (call_trapping_problems_1):
	* eval.c (call_trapping_problems):
	* eval.c (struct va_call_trapping_problems):
	* eval.c (va_call_trapping_problems_1):
	* eval.c (va_call_trapping_problems):
	* eval.c (call_with_suspended_errors):
	* eval.c (struct calln_trapping_problems):
	* eval.c (calln_trapping_problems_1):
	* eval.c (calln_trapping_problems):
	* eval.c (call1_trapping_problems):
	* eval.c (call2_trapping_problems):
	* eval.c (call3_trapping_problems):
	* eval.c (call4_trapping_problems):
	* eval.c (call5_trapping_problems):
	* eval.c (eval_in_buffer_trapping_problems_1):
	* eval.c (eval_in_buffer_trapping_problems):
	* eval.c (run_hook_trapping_problems):
	* eval.c (safe_run_hook_trapping_problems_1):
	* eval.c (safe_run_hook_trapping_problems):
	* eval.c (struct run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems_1):
	* eval.c (run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (va_run_hook_with_args_trapping_problems):
	* eval.c (va_run_hook_with_args_in_buffer_trapping_problems):
	* eval.c (reinit_vars_of_eval):
	* eval.c (vars_of_eval):
	Implement trapping-problems mechanism, eliminate old mechanisms or
	redo in terms of new one.

	* frame.c (enter_redisplay_critical_section):
	* frame.c (exit_redisplay_critical_section):
	* gutter.c (redraw_exposed_gutters):
	* gutter.c (Fset_default_gutter_position):
	* gutter.c (Fredisplay_gutter_area):
	Flush out the concept of "critical display section", defined by
	the in_display() var.  Use an internal_bind() to get it reset,
	rather than just doing it at end, because there may be a non-local
	exit.

	* event-msw.c (struct mswindows_protect_modal_loop):
	* event-msw.c (mswindows_protect_modal_loop_1):
	* event-msw.c (mswindows_protect_modal_loop):
	* event-msw.c (mswindows_unmodalize_signal_maybe):
	* event-msw.c (mswindows_pump_outstanding_events):
	* event-msw.c (mswindows_need_event):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c:
	* event-msw.c (vars_of_event_mswindows):
	* event-msw.c (struct ntpipe_slurp_stream_shared_data):
	* event-msw.c (struct ntpipe_shove_stream):
	* event-stream.c (pre_command_hook):
	* event-stream.c (post_command_hook):
	* event-stream.c (vars_of_event_stream):
	* event-stream.c (run_pre_idle_hook):
	* console-msw.h:
	* device.c (call_critical_lisp_code): Rewrite.
	* dialog-msw.c (dialog_proc):
	* frame.c (adjust_frame_size):
	* frame.h:
	* intl.c (init_intl):
	* toolbar.c (Fset_default_toolbar_position):
	* toolbar.c (update_toolbar_button):
	* menubar-msw.c (unsafe_handle_wm_initmenu_1):
	* menubar-msw.c (mswindows_handle_wm_initmenupopup):
	* menubar-msw.c (mswindows_handle_wm_initmenu):
	* redisplay.c:
	* redisplay.c (call_redisplay_end_triggers):
	* redisplay.c (redisplay_frame):
	* redisplay.c (redisplay_no_pre_idle_hook):
	* redisplay.c (eval_within_redisplay):
	* redisplay.c (Fredisplay_echo_area):
	* alloc.c (garbage_collect_1):
	* menubar-x.c:
	* menubar-x.c (menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (struct menu_item_descriptor_to_widget_value):
	* menubar-x.c (protected_menu_item_descriptor_to_widget_value_1):
	* menubar-x.c (protected_menu_item_descriptor_to_widget_value):
	* menubar-x.c (pre_activate_callback):
	Make use of new trapping-errors stuff and rewrite code based on
	old mechanisms.

	* glyphs-widget.c (widget_query_geometry):
	* glyphs-widget.c (layout_query_geometry):
	* redisplay.h:
        Protect calling Lisp in redisplay.

	* insdel.c (signal_first_change):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
        Protect hooks against deleting existing buffers.

	* frame-msw.c (mswindows_init_frame_1):
	Use EQ, not EQUAL in hash tables whose keys are just numbers.
	Otherwise we run into stickiness in redisplay because
	internal_equal() can QUIT.

	================================================================
                               SIGNAL, C-G CHANGES
	================================================================

	Here we change the way that C-g interacts with event reading.  The
	idea is that a C-g occurring while we're reading a user event
	should be read as C-g, but elsewhere should be a QUIT.  The former
	code did all sorts of bizarreness -- requiring that no QUIT occurs
	anywhere in event-reading code (impossible to enforce given the
	stuff called or Lisp code invoked), and having some weird system
	involving enqueue/dequeue of a C-g and interaction with Vquit_flag
	-- and it didn't work.

 	Now, we simply enclose all code where we want C-g read as an event
	with {begin/end}_dont_check_for_quit().  This completely turns off
	the mechanism that checks (and may remove or alter) C-g in the
	read-ahead queues, so we just get the C-g normal.

	Signal.c documents this very carefully.

	* cmdloop.c (Fcommand_loop_1):
        Correct use of dont_check_for_quit to new scheme, remove old
        out-of-date comments.

	* event-stream.c (maybe_echo_keys):
	* event-stream.c (enqueue_command_event_1):
	* event-stream.c (next_event_internal):
	* event-stream.c (Fnext_event):
	* event-stream.c (Fnext_command_event):
	* event-stream.c (Fdispatch_non_command_events):
	* event-stream.c (Fdiscard_input):
	* event-stream.c (Fsleep_for):
	* event-stream.c (Fsit_for):
	* event-stream.c (wait_delaying_user_input):
	* event-stream.c (execute_internal_event):
	* event-stream.c (lookup_command_event):
	* event-stream.c (Fread_key_sequence):
	* event-stream.c:
	* event-stream.c (event_stream_next_event):
	 Fix C-g handling to actually work.

	* device-x.c (get_device_from_display):
	* device-x.c (x_error_handler):
	* device-x.c (x_IO_error_handler):
	Disable quit checking when err out.

	* signal.c:
	* signal.c (handle_async_timeout_signal):
	* signal.c (check_what_happened):
	* signal.c (begin_dont_check_for_quit):
	* signal.c (check_quit):
        Cleanup.  Add large descriptive comment.

	* process-unix.c (unix_open_network_stream):
	* process-unix.c (unix_open_multicast_group):
	* process-nt.c (nt_open_network_stream):
	* sysdep.c (retry_read_1):
	* sysdep.c (retry_write_1):
        Use QUIT instead of REALLY_QUIT.
        It's not necessary to use REALLY_QUIT and just confuses the issue.

	* lisp.h (INTERNAL_QUITP): Comment quit handlers.

	================================================================
                                 CONS CHANGES
	================================================================

	free_cons() now takes a Lisp_Object not the result of XCONS().
	car and cdr have been renamed so that they don't get used directly;
	go through XCAR(), XCDR() instead.

	* alloc.c (Fcons):
	* alloc.c (free_cons):
	* alloc.c (free_list):
	* alloc.c (free_alist):
	* dired.c (file_name_completion_unwind):
	* dired.c (user_name_completion_unwind):
	* editfns.c (save_excursion_save):
	* editfns.c (save_excursion_restore):
	* editfns.c (save_restriction_restore):
	* emodules.c (module_load_unwind):
	* fns.c:
	* fns.c (delq_no_quit_and_free_cons):
	* fns.c (merge_pred_function):
	* fns.c (tweaked_internal_equal):
	* glyphs-msw.c (extract_xpm_color_names):
	* glyphs-x.c (extract_xpm_color_names):
	* glyphs.c (image_instantiate_cache_result):
	* glyphs.c (image_instance_changed):
	* keymap.c (traverse_keymaps):
	* minibuf.c (read_minibuffer_internal_unwind):
	* search.c (free_created_dynarrs):
	* eval.c (specbind_unwind_local):
	* lread.c (various):
	* lisp.h (struct Lisp_Cons):
	* lisp.h (cons_car):
        Correct free_cons calling convention: now takes Lisp_Object,
        not Lisp_Cons

	* chartab.c (word_boundary_p):
        Eliminate direct use of ->car, ->cdr, should be black box.


	* callint.c (quotify_args):
        Rewrote using EXTERNAL_LIST_LOOP to avoid use of Lisp_Cons.

	================================================================
                           USE INTERNAL-BIND-*
	================================================================

	* eval.c (restore_lisp_object):
	* eval.c (restore_int):
	Cleanups of these funs.

	* alloc.c (begin_gc_forbidden):
	* fileio.c:
	* fileio.c (close_file_unwind):
	* fileio.c (Fdo_auto_save):
	* undo.c:
	* undo.c (Fprimitive_undo):
	* specifier.c:
	* specifier.c (unlock_ghost_specifiers_protected):
	* specifier.c (set_specifier_caching):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* profile.c (struct get_profiling_info_closure):
	* profile.c (Fget_profiling_info):
	* lread.c:
	* lread.c (load_unwind):
	* lread.c (Fload_internal):
	* lread.c (read0):
	* lread.c (read1):
	* lread.c (read_list_conser):
	* lread.c (read_vector):
	* lread.c (read_compiled_function):
	* redisplay.c (Fredraw_frame):
	* redisplay.c (Fredisplay_frame):
	* redisplay.c (Fredraw_device):
	* redisplay.c (Note): New.
	* redisplay.c (Fredisplay_device):
	* redisplay.c (redisplay_without_hooks):
	* menubar-x.c (pre_activate_callback):
	* macros.c (Fexecute_kbd_macro):
        Rewrote to use internal_bind_int() and internal_bind_lisp_object()
	in place of whatever varied and cumbersome mechanisms were
	formerly there.


	================================================================
                                SPECBIND SANITY
	================================================================

	* backtrace.h:
        - Improved comments

	* backtrace.h (SPECBIND):
	* backtrace.h (SPECBIND_FAST_UNSAFE):
	* backtrace.h (UNBIND_TO_GCPRO):
	* backtrace.h (UNBIND_TO):
	* backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
	* bytecode.c (execute_optimized_program):
	* eval.c (grow_specpdl):
	* eval.c (specbind):
	* eval.c (specbind_magic):
	* eval.c (record_unwind_protect):
	* eval.c (unbind_to_1):
	* eval.c (unbind_to_hairy):
        Add new mechanism check_specbind_stack_sanity() for sanity
	checking code each time the catchlist or specbind stack change.
	Removed older prototype of same mechanism.

	================================================================
                                    MISC
	================================================================

	* lisp.h:
	* insdel.c:
	* window.c:
	* device.c:
	* console.c:
	* buffer.c:
	 Fleshed out authorship.

	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Correct bad Unicode-ization.

	* print.c (debug_print_no_newline):
	* print.c (debug_backtrace):
        Be more careful when not initialized or in fatal error handling.

	* search.c (looking_at_1):
	* search.c (string_match_1):
	* search.c (search_buffer):
	* search.c (Fstore_match_data):
        Eliminate running_asynch_code, an FSF holdover.

	* alloc.c (vars_of_alloc):
	* alloc.c:
	Added comments about gc-cons-threshold.

	* dialog-x.c:
	* dialog-x.c (dbox_descriptor_to_widget_value):
	Use begin_gc_forbidden() around code to build up a widget value
	tree, like in menubar-x.c.

	* gui.c (gui_item_id_hash): Use Qunbound not Qnil as the default for
	gethash.

	* lisp-disunion.h:
	* lisp-union.h:
        Added warnings on use of VOID_TO_LISP().

	* lisp.h:
	Use ERROR_CHECK_STRUCTURES to turn on
	ERROR_CHECK_TRAPPING_PROBLEMS and ERROR_CHECK_TYPECHECK

	* lisp.h (assert_with_message):
	Add assert_with_message.

	* lisp.h (GCPRO1_ARRAY):
	* lisp.h (NGCPRO1_ARRAY):
	* lisp.h (NNGCPRO1_ARRAY):
	Add macros for gcproing entire arrays. (You could do this before
	but it required manual twiddling the gcpro structure.)

	* lisp.h:
        Add prototypes for new functions defined elsewhere.

2002-05-23  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (objs):
	* Makefile.in.in (Emacs.ad.h):
	* Makefile.in.in (alloca.o): Removed.
	* Makefile.in.in (allocax.o): New.
	Add alloca.o.  Ensure that alloca.s doesn't compile into alloca.o,
	but allocax.o (not that it's currently used or anything.)

	* EmacsFrame.c (Xt_StringToScrollBarPlacement):
	* abbrev.c (abbrev_oblookup):
	* alloc.c:
	* alloc.c (allocate_lisp_storage):
	* alloc.c (recompute_funcall_allocation_flag):
	* alloc.c (recompute_need_to_garbage_collect):
	* alloc.c (common_init_alloc_once_early):
	* alloca.c:
	* alloca.c (hdr):
	* alloca.c (xemacs_c_alloca):
	* callint.c (Fcall_interactively):
	* callproc.c (Fold_call_process_internal):
	* config.h.in:
	* config.h.in (XEMACS_WANTS_C_ALLOCA):
	* device-msw.c (msprinter_default_printer):
	* device-msw.c (Fmswindows_printer_list):
	* device-x.c (x_init_device):
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion_stat):
	* doc.c (get_doc_string):
	* editfns.c (Fformat_time_string):
	* emacs.c (main_1):
	* emodules.c (emodules_load):
	* eval.c (Ffuncall):
	* event-Xt.c (x_to_emacs_keysym):
	* event-msw.c (mswindows_dde_callback):
	* event-msw.c (mswindows_wnd_proc):
	* event-stream.c (Fnext_event):
	* file-coding.c (setup_eol_coding_systems):
	* fileio.c:
	* fileio.c (Fdirectory_file_name):
	* fileio.c (if):
	* fileio.c (Fsubstitute_in_file_name):
	* fileio.c (Fencrypt_string):
	* fileio.c (Fdecrypt_string):
	* filelock.c (MAKE_LOCK_NAME):
	* filelock.c (lock_file_1):
	* filelock.c (current_lock_owner):
	* filelock.c (lock_file):
	* fns.c (concat):
	* fns.c (mapcar1):
	* fns.c (Fbase64_encode_region):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_region):
	* fns.c (Fbase64_decode_string):
	* glyphs-gtk.c (gtk_xface_instantiate):
	* glyphs-msw.c (mswindows_xface_instantiate):
	* glyphs-msw.c (mswindows_widget_property):
	* glyphs-msw.c (mswindows_combo_box_property):
	* glyphs-x.c (x_xface_instantiate):
	* gui-x.c (add_accel_and_to_external):
	* input-method-xlib.c (EmacsXtCvtStringToXIMStyles):
	* intl-win32.c (Fmswindows_get_valid_keyboard_layouts):
	* lisp.h:
	* lisp.h (alloca_new):
	* lisp.h (NOTE): New.
	* lisp.h (MAX_STRING_ASCII_BEGIN):
	* lread.c (Fload_internal):
	* lread.c (locate_file_map_suffixes):
	* menubar-gtk.c (menu_descriptor_to_widget_1):
	* menubar-msw.c (mswindows_translate_menu_or_dialog_item):
	* menubar.c (Fnormalize_menu_item_name):
	* mule-wnnfns.c (Fwnn_open):
	* nt.c (init_mswindows_environment):
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (mswindows_font_instance_truename):
	* process-nt.c (nt_create_process):
	* realpath.c (cygwin_readlink_and_correct_case):
	* redisplay-gtk.c:
	* redisplay-gtk.c (gtk_text_width):
	* redisplay-gtk.c (gtk_output_string):
	* redisplay-output.c:
	* redisplay-output.c (compare_runes_2):
	* redisplay-x.c:
	* redisplay-x.c (x_text_width):
	* redisplay-x.c (x_output_string):
	* redisplay.c (generate_displayable_area):
	* redisplay.c (regenerate_window):
	* search.c (wordify):
	* search.c (Fregexp_quote):
	* select-msw.c (mswindows_own_selection):
	* sysdep.c (sys_subshell):
	* sysdep.c (init_system_name):
	* syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT):
	* syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT):
	* text.c (convert_emchar_string_into_malloced_string):
	* text.h:
	* text.h (EI_ALLOC):
	* text.h (eito_alloca):
	* text.h (EI_CASECHANGE):
	* text.h (DFC_ALLOCA_USE_CONVERTED_DATA):
	* text.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA):
	* text.h (GET_STRERROR):
	* ui-byhand.c (Fgtk_curve_get_vector):
	* ui-byhand.c (Fgtk_curve_set_vector):

	Fix Raymond Toy's crash.  Repeat to self: 2^21 - 1 is NOT the
	same as (2 << 21) - 1.

	Fix crashes due to excessive alloca().  replace alloca() with
	ALLOCA(), which calls the C alloca() [which uses xmalloc()]
	when the size is too big.  Insert in various places calls to
	try to flush the C alloca() stored info if there is any.

	Add MALLOC_OR_ALLOCA(), for places that expect to be alloca()ing
	large blocks.  This xmalloc()s when too large and records an
	unwind-protect to free -- relying on the caller to unbind_to()
	elsewhere in the function.  Use it in concat().

	Use MALLOC instead of ALLOCA in select-msw.c.

2002-05-21  Jonathan Harris  <jonathan@xemacs.org>

	* device-msw.c (mswindows_handle_page_setup_dialog_box):
	Fix detection of metric units to work on Win95

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

	* eldap.c (print_ldap): swap arguments of write_c_string.

2002-05-16  Ben Wing  <ben@xemacs.org>

	* bytecode.c (execute_rare_opcode):
	* editfns.c:
	* editfns.c (save_restriction_save):
	* editfns.c (save_restriction_restore):
	* editfns.c (Fsave_restriction):
	* lisp.h:
	* lread.c (Feval_region):
	Fix save-restriction to use markers rather than pseudo-markers
	(integers representing the amount of text on either side of the
	region).  That way, all inserts are handled correctly, not just
	those inside old restriction.

	Add buffer argument to save_restriction_save().

	* process.c:
	* process.c (process_setup_for_insertion):
	* process.c (read_process_output):
	* process.c (status_notify):
	Clean up very dirty and kludgy code that outputs into a buffer --
	use proper unwind protects, etc.

	* font-lock.c (find_context):
	Do save-restriction/widen around the function -- otherwise, incorrect
	results will ensue when a buffer has been narrowed before a call to
	e.g. `buffer-syntactic-context' -- something that happens quite often.

	* fileio.c:
	* fileio.c (Fmake_temp_name):
	* fileio.c (syms_of_fileio):
	Look for a handler for make-temp-name.

	* window.c:
	* window.c (allocate_window):
	* window.c (Fset_window_point):
	* window.c (unshow_buffer):
	* window.c (Fset_window_buffer):
	* window.c (make_dummy_parent):
	* winslots.h:
	Try to solve this annoying problem: have two frames displaying the
	buffer, in different places; in one, temporarily switch away to
	another buffer and then back -- and you've lost your position;
	it's reset to the other one in the other frame.  My current
	solution involves window-level caches of buffers and points (also
	a cache for window-start); when set-window-buffer is called, it
	looks to see if the buffer was previously visited in the window,
	and if so, uses the most recent point at that time. (It's a
	marker, so it handles changes.)

	#### Note: It could be argued that doing it on the frame level
	would be better -- e.g. if you visit a buffer temporarily through
	a grep, and then go back to that buffer, you presumably want the
	grep's position rather than some previous position provided
	everything was in the same frame, even though the grep was in
	another window in the frame.  However, doing it on the frame level
	fails when you have two windows on the same frame.  Perhaps we
	keep both a window and a frame cache, and use the frame cache if
	there are no other windows on the frame showing the buffer, else
	the window's cache?  This is probably something to be configurable
	using a specifier.  Suggestions please please please?

	* window.c (window_scroll):
	* window.c (Fmove_to_window_line):
	Clean up a bit code that deals with the annoyance of window-point
	vs. point.

2002-05-16  Stephen J. Turnbull  <stephen@xemacs.org>

	* select.c (Fown_selection_internal):
	* select.c (Fget_selection_internal):
	Revert Jerry James's 2002-04-23 patch.

2002-05-14  Ben Wing  <ben@xemacs.org>

	* font-lock.c (find_context):
	Don't use off the beginning position to initiate syntax cache.

2002-05-14  Ben Wing  <ben@xemacs.org>

	* text.c (copy_buffer_text_out): Fix bug leading to crashes
	with multibyte text.
	* win32.c (Fmswindows_shell_execute): Fix crash due to errant
	xfree().

2002-05-14  Ben Wing  <ben@xemacs.org>

	* callproc.c (Fold_call_process_internal):
	Use Fget_buffer_create() with a string buffer, as documented.

	* extents.c (signal_extent_changed): indentation.

	* lstream.c (lisp_buffer_reader): fix a bug in selective-display
	handling; not the crash we're seeing.

	* marker.c:
	* marker.c (byte_marker_position):
	* marker.c (set_byte_marker_position):
	delete superfluous error-checking -- it's already there in
	bytebpos_to_membpos() and vice-versa.

2002-05-13  Ben Wing  <ben@xemacs.org>

	* config.h.in:
	* font-lock.c:
	Reenable font-lock code since it's used by mouse.el.  The flag for
	this exists in config.h.in but not currently controllable through
	configure.

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

	* callproc.c: Process-related docstring improvements spurred by
	Norbert Koch.

2002-05-09  Ben Wing  <ben@xemacs.org>

	* doprnt.c (emacs_doprnt_1):
	Use make_int() not make_char() when error about bad charval,
	or abort will occur.

	* extents.c (signal_extent_changed):
	Loop over children, not ourself -- avoid infinite loop.

	* lisp-disunion.h:
	* lisp-union.h:
	Rename make_char() to make_char_1 for error-checking purposes.

	* lread.c (read_escape):
	Syntax error if escape is outside of ISO-8859-1 range.
	Remove hopelessly broken (and unworkable) FSF_KEYS code.

	* mule-coding.c (Fdecode_shift_jis_char):
	* search.c (skip_chars):
	Spacing changes.

	* text.h:
	New make_char() -- verify that the char value is legal.

2002-04-23  Jerry James  <james@xemacs.org>

	* select.c (Fown_selection_internal): Document connection with
        interprogram-cut-function.
	* select.c (Fget_selection_internal): return Qnil if XEmacs owns
        the selection and it does not need coercion.
        Document connection with interprogram-paste-function.

2002-05-06  Jonathan Harris  <jonathan@xemacs.org>

	* console-msw.h:
	* event-msw.c (mswindows_wnd_proc):
	Condition references to menu accelerator functions on HAVE_MENUBARS.

	* frame-msw.c (mswindows_init_frame_3):
	Remove obsolete runemacs hack which called ShowWindow() twice.

	* intl-auto-encap-win32.c:
	* intl-auto-encap-win32.h:
	* intl-encap-win32.c:
	Use handwritten version of GetEnvironmentStrings() in
	intl-encap-win32.c.

	* ntproc.c: Removed.

	* s/windowsnt.h:
	Disable .data section renaming hack when using portable dumping.
	Force _WIN32_WINNT = 0x0400 since intl-auto-encap-win32.[ch]
	requires this.

2002-05-05  Ben Wing  <ben@xemacs.org>

	* Makefile.in.in (batch_test_emacs):

	Fix so that packages are around when testing.

	* abbrev.c (struct abbrev_match_mapper_closure):
	* abbrev.c (abbrev_match_mapper):
	* abbrev.c (abbrev_match):
	* abbrev.c (Fexpand_abbrev):
	* alloc.c (deadbeef_memory):
	* alloc.c (STRING_FULLSIZE):
	* alloc.c (sledgehammer_check_ascii_begin):
	* alloc.c (make_uninit_string):
	* alloc.c (set_string_char):
	* alloc.c (init_string_ascii_begin):
	* alloc.c (make_string_nocopy):
	* alloc.c (compact_string_chars):
	* alloc.c (debug_string_purity_print):
	* buffer.c (mark_buffer):
	* buffer.c (print_buffer):
	* buffer.c (finish_init_buffer):
	* buffer.c (Fother_buffer):
	* buffer.c (Fkill_buffer):
	* buffer.h:
	* buffer.h (struct buffer_text):
	* buffer.h (struct buffer):
	* buffer.h (BYTE_BUF_BEG):
	* buffer.h (BYTE_BUF_BEGV):
	* buffer.h (BYTE_BUF_ZV):
	* buffer.h (BYTE_BUF_Z):
	* buffer.h (BYTE_BUF_PT):
	* buffer.h (INC_BYTEBPOS):
	* buffer.h (make_charbpos):
	* buffer.h (BYTE_BUF_FETCH_CHAR_RAW):
	* buffer.h (BYTE_BUF_CHARPTR_COPY_EMCHAR):
	* buffer.h (SET_BOTH_BUF_BEGV):
	* buffer.h (SET_BOTH_BUF_ZV):
	* buffer.h (BOTH_BUF_SET_PT):
	* buffer.h (BUF_NARROWED):
	* buffer.h (BYTE_BUF_CEILING_OF_IGNORE_ACCESSIBLE):
	* buffer.h (BYTE_BUF_FLOOR_OF_IGNORE_ACCESSIBLE):
	* bytecode.c (optimize_compiled_function):
	* bytecode.c (print_compiled_function):
	* bytecode.c (Fcompiled_function_annotation):
	* callint.c (Fcall_interactively):
	* casefiddle.c:
	* casefiddle.c (casify_object):
	* casefiddle.c (casify_region_internal):
	* casetab.c:
	* casetab.c (STRING256_P):
	* casetab.c (print_case_table):
	* casetab.c (allocate_case_table):
	* casetab.c (Fmake_case_table):
	* casetab.c (case_table_char):
	* casetab.c (Fget_case_table):
	* casetab.c (Fput_case_table):
	* casetab.c (Fput_case_table_pair):
	* casetab.c (Fcopy_case_table):
	* casetab.c (compute_canon_mapper):
	* casetab.c (compute_up_or_eqv_mapper):
	* casetab.c (recompute_case_table):
	* casetab.c (convert_old_style_syntax_string):
	* casetab.c (set_case_table):
	* casetab.c (Fset_standard_case_table):
	* casetab.c (syms_of_casetab):
	* casetab.c (complex_vars_of_casetab):
	* casetab.h:
	* casetab.h (struct Lisp_Case_Table):
	* charset.h:
	* charset.h (emchar_charset):
	* charset.h (leading_byte_private_p):
	* charset.h (private_leading_byte_prefix):
	* charset.h (CHARSET_PRIVATE_P):
	* charset.h (EMCHAR_FIELD1_MASK):
	* charset.h (emchar_field1):
	* charset.h (MIN_EMCHAR_FIELD2_OFFICIAL):
	* charset.h (MIN_EMCHAR_FIELD1_OFFICIAL):
	* charset.h (MIN_EMCHAR_FIELD2_PRIVATE):
	* charset.h (MIN_EMCHAR_FIELD1_PRIVATE):
	* charset.h (MIN_CHAR_OFFICIAL_TYPE9N):
	* charset.h (BREAKUP_EMCHAR_1_UNSAFE):
	* charset.h (BREAKUP_EMCHAR):
	* chartab.c:
	* chartab.c (char_table_entry_hash):
	* chartab.c (decode_char_table_range):
	* chartab.c (encode_char_table_range):
	* chartab.c (struct ptemap):
	* chartab.c (print_table_entry):
	* chartab.c (print_char_table):
	* chartab.c (char_table_equal):
	* chartab.c (char_table_hash):
	* chartab.c (set_char_table_default):
	* chartab.c (fill_char_table):
	* chartab.c (Freset_char_table):
	* chartab.c (Fmake_char_table):
	* chartab.c (get_non_ascii_char_table_value):
	* chartab.c (Fchar_table_default):
	* chartab.c (Fget_char_table):
	* chartab.c (copy_mapper):
	* chartab.c (copy_char_table_range):
	* chartab.c (get_range_char_table):
	* chartab.c (Fget_range_char_table):
	* chartab.c (put_char_table):
	* chartab.c (Fput_char_table):
	* chartab.c (Fremove_char_table):
	* chartab.c (map_over_charset_ascii_1):
	* chartab.c (map_over_charset_control_1):
	* chartab.c (map_over_charset_row):
	* chartab.c (map_over_other_charset):
	* chartab.c (map_char_table):
	* chartab.c (slow_map_char_table_fun):
	* chartab.c (Fmap_char_table):
	* chartab.c (check_category_char):
	* chartab.c (CATEGORY_SET):
	* chartab.c (word_boundary_p):
	* chartab.c (syms_of_chartab):
	* chartab.h:
	* chartab.h (struct Lisp_Char_Table):
	* cmds.c:
	* cmds.c (internal_self_insert):
	* console-msw.h:
	* console-stream.c (stream_clear_region):
	* console-stream.c (stream_ring_bell):
	* console-x.c (x_semi_canonicalize_console_connection):
	* console.c (find_nonminibuffer_frame_not_on_console_predicate):
	* console.h:
	* data.c (eq_with_ebola_notice):
	* data.c (Faref):
	* data.c (Faset):
	* device-msw.c (print_devmode):
	* device.c (find_nonminibuffer_frame_not_on_device_predicate):
	* device.h:
	* device.h (struct pixel_to_glyph_translation_cache):
	* dialog-msw.c (dialog_proc):
	* dialog-x.c (maybe_run_dbox_text_callback):
	* dired-msw.c:
	* dired-msw.c (mswindows_get_files):
	* dired.c:
	* dired.c (Fdirectory_files):
	* dired.c (file_name_completion):
	* dired.c (user_name_completion):
	* doc.c (unparesseuxify_doc_string):
	* doprnt.c (emacs_doprnt_1):
	* dumper.c:
	* dumper.c (PDUMP_READ_ALIGNED):
	* dumper.c (pdump_structure_size):
	* dumper.c (pdump):
	* dumper.c (pdump_load_finish):
	* editfns.c:
	* editfns.c (Fstring_to_char):
	* editfns.c (Ftranslate_region):
	* editfns.c (Fdelete_region):
	* editfns.c (widen_buffer):
	* editfns.c (Fnarrow_to_region):
	* editfns.c (save_restriction_restore):
	* elhash.c (print_hash_table_data):
	* elhash.c (print_hash_table):
	* elhash.c (Finternal_hash_value):
	* emacs.c:
	* emacs.c (main_1):
	* emacs.c (standard_args):
	* eval.c (print_subr):
	* eval.c (Fuser_variable_p):
	* eval.c (backtrace_specials):
	* eval.c (Fbacktrace):
	* event-Xt.c (USE_CHARSET):
	* event-Xt.c (x_keysym_to_character):
	* event-Xt.c (emacs_Xt_format_magic_event):
	* event-gtk.c (emacs_gtk_format_magic_event):
	* event-msw.c (mswindows_wnd_proc):
	* event-msw.c (mswindows_find_frame):
	* event-msw.c (FROB):
	* event-msw.c (emacs_mswindows_format_magic_event):
	* event-stream.c (external_debugging_print_event):
	* event-stream.c (command_builder_find_leaf):
	* event-stream.c (dribble_out_event):
	* events.c (print_event_1):
	* events.c (print_event):
	* events.c (nth_of_key_sequence_as_event):
	* events.c (Fevent_next):
	* events.c (Fset_event_next):
	* events.h:
	* extents.c:
	* extents.c (stack_of_extents):
	* extents.c (memxpos_to_startind):
	* extents.c (buffer_or_string_bytexpos_to_startind):
	* extents.c (buffer_or_string_bytexpos_to_endind):
	* extents.c (gap_array_adjust_markers):
	* extents.c (gap_array_move_gap):
	* extents.c (extent_list_locate_from_pos):
	* extents.c (extent_list_at):
	* extents.c (soe_dump):
	* extents.c (soe_move):
	* extents.c (extent_endpoint_byte):
	* extents.c (extent_endpoint_char):
	* extents.c (signal_single_extent_changed):
	* extents.c (signal_extent_changed):
	* extents.c (signal_extent_property_changed):
	* extents.c (extent_attach):
	* extents.c (extent_detach):
	* extents.c (extent_in_region_p):
	* extents.c (map_extents):
	* extents.c (adjust_extents):
	* extents.c (adjust_extents_for_deletion):
	* extents.c (extent_find_end_of_run):
	* extents.c (extent_find_beginning_of_run):
	* extents.c (extent_fragment_update):
	* extents.c (print_extent_1):
	* extents.c (print_extent):
	* extents.c (extent_remprop):
	* extents.c (extent_endpoint_external):
	* extents.c (Fextent_length):
	* extents.c (Fnext_extent_change):
	* extents.c (Fprevious_extent_change):
	* extents.c (Fset_extent_parent):
	* extents.c (set_extent_endpoints_1):
	* extents.c (set_extent_endpoints):
	* extents.c (set_extent_openness):
	* extents.c (make_extent):
	* extents.c (Fmake_extent):
	* extents.c (Fset_extent_endpoints):
	* extents.c (Fextent_in_region_p):
	* extents.c (Fmap_extents):
	* extents.c (struct slow_map_extent_children_arg):
	* extents.c (slow_map_extent_children_function):
	* extents.c (Fmap_extent_children):
	* extents.c (struct extent_at_arg):
	* extents.c (decode_extent_at_flag):
	* extents.c (extent_at):
	* extents.c (Fextent_at):
	* extents.c (Fextents_at):
	* extents.c (struct verify_extents_arg):
	* extents.c (verify_extent_modification):
	* extents.c (struct process_extents_for_insertion_arg):
	* extents.c (process_extents_for_insertion_mapper):
	* extents.c (process_extents_for_insertion):
	* extents.c (struct process_extents_for_deletion_arg):
	* extents.c (process_extents_for_deletion):
	* extents.c (report_extent_modification_mapper):
	* extents.c (report_extent_modification):
	* extents.c (set_extent_invisible):
	* extents.c (Fset_extent_face):
	* extents.c (Fset_extent_mouse_face):
	* extents.c (set_extent_glyph):
	* extents.c (Fset_extent_begin_glyph_layout):
	* extents.c (Fset_extent_end_glyph_layout):
	* extents.c (Fset_extent_priority):
	* extents.c (Fset_extent_property):
	* extents.c (extent_properties):
	* extents.c (ADD_PROP):
	* extents.c (Fextent_properties):
	* extents.c (do_highlight):
	* extents.c (run_extent_copy_paste_internal):
	* extents.c (run_extent_copy_function):
	* extents.c (run_extent_paste_function):
	* extents.c (run_extent_paste_function_char):
	* extents.c (insert_extent):
	* extents.c (struct add_string_extents_arg):
	* extents.c (add_string_extents_mapper):
	* extents.c (struct add_string_extents_the_hard_way_arg):
	* extents.c (add_string_extents_the_hard_way_mapper):
	* extents.c (add_string_extents):
	* extents.c (struct splice_in_string_extents_arg):
	* extents.c (splice_in_string_extents_mapper):
	* extents.c (struct splice_in_string_extents_the_hard_way_arg):
	* extents.c (splice_in_string_extents_the_hard_way_mapper):
	* extents.c (splice_in_string_extents):
	* extents.c (copy_string_extents_mapper):
	* extents.c (copy_string_extents):
	* extents.c (get_char_property):
	* extents.c (get_char_property_char):
	* extents.c (Fget_text_property):
	* extents.c (Fget_char_property):
	* extents.c (struct put_text_prop_arg):
	* extents.c (put_text_prop_mapper):
	* extents.c (put_text_prop_openness_mapper):
	* extents.c (put_text_prop):
	* extents.c (Fput_text_property):
	* extents.c (Fadd_text_properties):
	* extents.c (Fremove_text_properties):
	* extents.c (next_single_property_change):
	* extents.c (previous_single_property_change):
	* extents.h:
	* extents.h (struct extent):
	* faces.c (print_face):
	* faces.c (update_face_inheritance_mapper):
	* faces.c (ensure_face_cachel_complete):
	* faces.c (face_cachel_charset_font_metric_info):
	* file-coding.c (print_coding_system):
	* file-coding.c (print_coding_system_in_print_method):
	* file-coding.c (chain_print):
	* file-coding.c (no_conversion_convert):
	* file-coding.c (undecided_print):
	* file-coding.c (gzip_print):
	* file-coding.h (DECLARE_CODING_SYSTEM_TYPE):
	* file-coding.h (DECODE_ADD_BINARY_CHAR):
	* fileio.c (Ffile_truename):
	* fileio.c (expand_and_dir_to_file):
	* fns.c (print_bit_vector):
	* fns.c (Flength):
	* fns.c (Fstring_lessp):
	* fns.c (Fsplit_path):
	* fns.c (Ffillarray):
	* fns.c (Fbase64_encode_string):
	* fns.c (Fbase64_decode_string):
	* font-lock.c:
	* font-lock.c (find_context):
	* frame-gtk.c (gtk_set_frame_text_value):
	* frame-msw.c (mswindows_get_mouse_position):
	* frame-msw.c (mswindows_get_frame_parent):
	* frame-x.c:
	* frame-x.c (x_set_frame_text_value):
	* frame.c:
	* frame.c (allocate_frame_core):
	* frame.c (Fignore_event):
	* frame.h:
	* glade.c (connector):
	* glyphs-gtk.c:
	* glyphs-gtk.c (convert_EImage_to_GDKImage):
	* glyphs-gtk.c (gtk_print_image_instance):
	* glyphs-gtk.c (gtk_locate_pixmap_file):
	* glyphs-msw.c (mswindows_locate_pixmap_file):
	* glyphs-msw.c (mswindows_print_image_instance):
	* glyphs-msw.c (charset_of_text):
	* glyphs-msw.h:
	* glyphs-x.c (LISP_DEVICE_TO_X_SCREEN):
	* glyphs-x.c (convert_EImage_to_XImage):
	* glyphs-x.c (x_print_image_instance):
	* glyphs-x.c (x_locate_pixmap_file):
	* glyphs.c (check_instance_cache_mapper):
	* glyphs.c (print_image_instance):
	* glyphs.c (query_string_font):
	* glyphs.c (check_valid_xbm_inline):
	* glyphs.c (display_table_entry):
	* glyphs.h:
	* gui-msw.c (mswindows_handle_gui_wm_command):
	* gui-x.c (mark_widget_value_mapper):
	* gui-x.c (popup_selection_callback):
	* gui.h:
	* gutter.h (GUTTER_POS_LOOP):
	* hash.h:
	* indent.c:
	* indent.c (column_at_point):
	* indent.c (string_column_at_point):
	* indent.c (byte_spaces_at_point):
	* indent.c (Fcurrent_indentation):
	* indent.c (Fmove_to_column):
	* insdel.c (BYTE_BUF_GPT):
	* insdel.c (SET_BYTE_BUF_GPT):
	* insdel.c (SET_END_SENTINEL):
	* insdel.c (set_buffer_point):
	* insdel.c (gap_left):
	* insdel.c (gap_right):
	* insdel.c (move_gap):
	* insdel.c (merge_gap_with_end_gap):
	* insdel.c (make_gap):
	* insdel.c (signal_before_change):
	* insdel.c (signal_after_change):
	* insdel.c (buffer_insert_string_1):
	* insdel.c (buffer_delete_range):
	* insdel.c (buffer_replace_char):
	* insdel.c (make_string_from_buffer_1):
	* insdel.c (init_buffer_text):
	* intl-win32.c:
	* intl-win32.c (Fmswindows_get_valid_code_pages):
	* intl-win32.c (Fmswindows_get_console_code_page):
	* intl-win32.c (Fmswindows_set_console_code_page):
	* intl-win32.c (Fmswindows_get_console_output_code_page):
	* intl-win32.c (Fmswindows_set_console_output_code_page):
	* intl-win32.c (Fmswindows_get_code_page_charset):
	* intl-win32.c (Fmswindows_get_valid_keyboard_layouts):
	* intl-win32.c (Fmswindows_get_keyboard_layout):
	* intl-win32.c (Fmswindows_set_keyboard_layout):
	* intl-win32.c (mswindows_multibyte_to_unicode_print):
	* intl.c:
	* intl.c (Fignore_defer_gettext):
	* keymap.c (print_keymap):
	* keymap.c (keymap_lookup_directly):
	* keymap.c (keymap_store):
	* keymap.c (define_key_check_and_coerce_keysym):
	* keymap.c (Fdefine_key):
	* keymap.c (Flookup_key):
	* keymap.c (map_keymap_mapper):
	* keymap.c (Fkey_description):
	* lisp-disunion.h:
	* lisp-disunion.h (VALMASK):
	* lisp-disunion.h (VOID_TO_LISP):
	* lisp-union.h:
	* lisp-union.h (union Lisp_Object):
	* lisp-union.h (XPNTRVAL):
	* lisp-union.h (XREALINT):
	* lisp-union.h (INTP):
	* lisp.h:
	* lisp.h (DECLARE_POINTER_TYPE_ARITH_COUNT):
	* lisp.h (MAX_ALIGN_SIZE):
	* lisp.h (struct Lisp_String):
	* lisp.h (set_lispstringp_length):
	* lisp.h (XSET_STRING_LENGTH):
	* lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
	* lisp.h (SYMBOL_IS_KEYWORD):
	* lread.c:
	* lrecord.h:
	* lrecord.h (DECLARE_LRECORD):
	* lrecord.h (DECLARE_EXTERNAL_LRECORD):
	* lrecord.h (DECLARE_NONRECORD):
	* lstream.c (aligned_sizeof_lstream):
	* lstream.c (Lstream_really_write):
	* lstream.c (make_lisp_buffer_stream_1):
	* lstream.c (make_lisp_buffer_input_stream):
	* lstream.c (lisp_buffer_reader):
	* lstream.c (lisp_buffer_writer):
	* lstream.h:
	* marker.c (print_marker):
	* marker.c (byte_marker_position):
	* marker.c (marker_position):
	* marker.c (set_byte_marker_position):
	* marker.c (set_marker_position):
	* marker.c (Fbuffer_has_markers_at):
	* menubar-gtk.c (__torn_off_sir):
	* menubar-gtk.c (__activate_menu):
	* menubar-gtk.c (__generic_button_callback):
	* menubar-msw.c:
	* menubar-x.c (pre_activate_callback):
	* menubar-x.c (command_builder_operate_menu_accelerator):
	* menubar-x.c (command_builder_find_menu_accelerator):
	* menubar.c:
	* menubar.c (Fnormalize_menu_item_name):
	* minibuf.c:
	* minibuf.c (Ftry_completion):
	* minibuf.c (Fall_completions):
	* minibuf.c (Fminibuffer_prompt):
	* minibuf.c (Fminibuffer_prompt_width):
	* minibuf.c (echo_area_append):
	* mule-ccl.c:
	* mule-ccl.c (CCL_WRITE_CHAR):
	* mule-ccl.c (CCL_WRITE_STRING):
	* mule-ccl.c (CCL_MAKE_CHAR):
	* mule-ccl.c (ccl_driver):
	* mule-charset.c (Fmake_charset):
	* mule-charset.c (Fcharset_from_attributes):
	* mule-coding.c (byte_shift_jis_two_byte_1_p):
	* mule-coding.c (byte_shift_jis_two_byte_2_p):
	* mule-coding.c (byte_shift_jis_katakana_p):
	* mule-coding.c (shift_jis_convert):
	* mule-coding.c (Fdecode_shift_jis_char):
	* mule-coding.c (Fencode_shift_jis_char):
	* mule-coding.c (byte_big5_two_byte_1_p):
	* mule-coding.c (byte_big5_two_byte_2_p):
	* mule-coding.c (big5_convert):
	* mule-coding.c (decode_big5_char):
	* mule-coding.c (Fencode_big5_char):
	* mule-coding.c (charset_by_attributes_or_create_one):
	* mule-coding.c (iso2022_decode):
	* mule-coding.c (iso2022_encode):
	* mule-coding.c (iso2022_print):
	* mule-coding.c (iso2022_detect):
	* mule-wnnfns.c (m2w):
	* nas.c:
	* objects-msw.c (mswindows_string_to_color):
	* objects-msw.c (mswindows_font_spec_matches_charset):
	* objects-x.c (x_font_instance_properties):
	* opaque.c (aligned_sizeof_opaque):
	* postgresql.c (print_pgconn):
	* postgresql.c (print_pgresult):
	* print.c:
	* print.c (output_string):
	* print.c (write_string_1):
	* print.c (write_string):
	* print.c (write_c_string):
	* print.c (write_eistring):
	* print.c (write_fmt_string):
	* print.c (write_fmt_string_lisp):
	* print.c (stderr_out_lisp):
	* print.c (Fterpri):
	* print.c (Fprint):
	* print.c (print_error_message):
	* print.c (print_vector_internal):
	* print.c (print_cons):
	* print.c (print_string):
	* print.c (print_internal):
	* print.c (print_float):
	* print.c (print_symbol):
	* process-nt.c (nt_create_process):
	* process-unix.c (close_process_descs_mapfun):
	* process.c (print_process):
	* process.c (get_process_from_usid):
	* process.c (Fstart_process_internal):
	* process.c (status_message):
	* process.c (status_notify):
	* process.c (Fprocess_connection):
	* process.c (getenv_internal):
	* process.c (putenv_internal):
	* process.h:
	* profile.c (get_profiling_info_maphash):
	* profile.c (mark_profiling_info_maphash):
	* rangetab.c (print_range_table):
	* rangetab.c (unified_range_table_copy_data):
	* rangetab.c (align_the_damn_table):
	* redisplay-gtk.c:
	* redisplay-gtk.c (separate_textual_runs):
	* redisplay-gtk.c (gtk_output_display_block):
	* redisplay-msw.c (separate_textual_runs):
	* redisplay-msw.c (mswindows_output_display_block):
	* redisplay-output.c:
	* redisplay-output.c (ADJ_CHARPOS):
	* redisplay-output.c (redisplay_move_cursor):
	* redisplay-output.c (redisplay_update_line):
	* redisplay-x.c (separate_textual_runs):
	* redisplay-x.c (x_output_display_block):
	* redisplay.c:
	* redisplay.c (position_redisplay_data_type):
	* redisplay.c (struct prop_block):
	* redisplay.c (generate_display_line):
	* redisplay.c (add_hscroll_rune):
	* redisplay.c (add_emchar_rune_1):
	* redisplay.c (add_blank_rune):
	* redisplay.c (add_octal_runes):
	* redisplay.c (add_control_char_runes):
	* redisplay.c (add_disp_table_entry_runes_1):
	* redisplay.c (add_propagation_runes):
	* redisplay.c (add_glyph_rune):
	* redisplay.c (create_text_block):
	* redisplay.c (add_margin_blank):
	* redisplay.c (generate_modeline):
	* redisplay.c (generate_fstring_runes):
	* redisplay.c (create_string_text_block):
	* redisplay.c (generate_string_display_line):
	* redisplay.c (generate_displayable_area):
	* redisplay.c (REGEN_INC_FIND_START_END):
	* redisplay.c (regenerate_window_extents_only_changed):
	* redisplay.c (regenerate_window_incrementally):
	* redisplay.c (point_visible):
	* redisplay.c (point_at_center):
	* redisplay.c (update_internal_cache_list):
	* redisplay.c (UPDATE_CACHE_RETURN):
	* redisplay.c (pixel_to_glyph_translation):
	* redisplay.h:
	* redisplay.h (struct rune):
	* redisplay.h (struct display_line):
	* redisplay.h (struct extent_fragment):
	* regex.c:
	* regex.c (RE_TRANSLATE_1):
	* regex.c (charptr_emchar):
	* regex.c (INC_CHARPTR_FMT):
	* regex.c (SYNTAX):
	* regex.c (EXTEND_BUFFER):
	* regex.c (regex_compile):
	* regex.c (compile_range):
	* regex.c (compile_extended_range):
	* regex.c (re_compile_fastmap):
	* regex.c (re_search):
	* regex.c (re_search_2):
	* regex.c (REGEX_PREFETCH):
	* regex.c (WORDCHAR_P):
	* regex.c (re_match):
	* regex.c (re_match_2):
	* regex.c (re_match_2_internal):
	* regex.c (re_compile_pattern):
	* regex.c (re_comp):
	* regex.c (make-backup-files): Removed.
	* regex.c (version-control): Removed.
	* regex.c (trim-versions-without-asking): Removed.
	* regex.c (End): Removed.
	* regex.h:
	* regex.h (RE_LISP_SHORT_CONTEXT_ARGS_DECL):
	* scrollbar-msw.c (mswindows_free_scrollbar_instance):
	* scrollbar-msw.c (mswindows_handle_scrollbar_event):
	* scrollbar-msw.c (mswindows_handle_mousewheel_event):
	* search.c:
	* search.c (matcher_overflow):
	* search.c (compile_pattern_1):
	* search.c (compile_pattern):
	* search.c (fixup_search_regs_for_buffer):
	* search.c (looking_at_1):
	* search.c (Fposix_looking_at):
	* search.c (string_match_1):
	* search.c (fast_string_match):
	* search.c (byte_scan_buffer):
	* search.c (scan_buffer):
	* search.c (byte_find_next_newline_no_quit):
	* search.c (byte_find_next_emchar_in_string):
	* search.c (find_before_next_newline):
	* search.c (skip_chars):
	* search.c (search_command):
	* search.c (trivial_regexp_p):
	* search.c (search_buffer):
	* search.c (simple_search):
	* search.c (boyer_moore):
	* search.c (set_search_regs):
	* search.c (wordify):
	* search.c (Freplace_match):
	* search.c (match_limit):
	* search.c (Fmatch_data):
	* search.c (Fstore_match_data):
	* select-x.c (hack_motif_clipboard_selection):
	* select-x.c (Fx_store_cutbuffer_internal):
	* specifier.c (print_specifier):
	* specifier.c (aligned_sizeof_specifier):
	* specifier.c (recompute_cached_specifier_everywhere_mapfun):
	* specifier.h:
	* specifier.h (DECLARE_SPECIFIER_TYPE):
	* symbols.c (Fintern):
	* symsinit.h:
	* syntax.c:
	* syntax.c (struct lisp_parse_state):
	* syntax.c (find_defun_start):
	* syntax.c (Fset_syntax_table):
	* syntax.c (init_syntax_cache):
	* syntax.c (update_syntax_cache):
	* syntax.c (Fchar_syntax):
	* syntax.c (charset_syntax):
	* syntax.c (syntax_match):
	* syntax.c (Fmatching_paren):
	* syntax.c (WORD_BOUNDARY_P):
	* syntax.c (scan_words):
	* syntax.c (find_start_of_comment):
	* syntax.c (find_end_of_comment):
	* syntax.c (Fforward_comment):
	* syntax.c (scan_lists):
	* syntax.c (char_quoted):
	* syntax.c (Fbackward_prefix_chars):
	* syntax.c (scan_sexps_forward):
	* syntax.c (Fparse_partial_sexp):
	* syntax.c (copy_to_mirrortab):
	* syntax.c (copy_if_not_already_present):
	* syntax.c (update_just_this_syntax_table):
	* syntax.c (update_syntax_table):
	* syntax.c (syms_of_syntax):
	* syntax.c (vars_of_syntax):
	* syntax.c (complex_vars_of_syntax):
	* syntax.h:
	* syntax.h (SYNTAX_CODE):
	* syntax.h (SYNTAX_FROM_CODE):
	* syntax.h (SYNTAX_PREFIX):
	* syntax.h (struct syntax_cache):
	* syswindows.h:
	* tests.c (Ftest_data_format_conversion):
	* text.c:
	* text.c (convert_emchar_string_into_malloced_string):
	* text.c (COPY_TEXT_BETWEEN_FORMATS):
	* text.c (copy_buffer_text_out):
	* text.c (find_charsets_in_intbyte_string):
	* text.c (find_charsets_in_emchar_string):
	* text.c (intbyte_string_displayed_columns):
	* text.c (emchar_string_displayed_columns):
	* text.c (intbyte_string_nonascii_chars):
	* text.c (eicpyout_malloc_fmt):
	* text.c (skip_ascii):
	* text.c (charcount_to_bytecount_fun):
	* text.c (charbpos_to_bytebpos_func):
	* text.c (bytebpos_to_charbpos_func):
	* text.c (buffer_mule_signal_inserted_region):
	* text.c (buffer_mule_signal_deleted_region):
	* text.c (get_buffer_range_char):
	* text.c (get_buffer_range_byte):
	* text.c (get_string_pos_char):
	* text.c (get_string_range_char):
	* text.c (get_buffer_or_string_pos_char):
	* text.c (get_buffer_or_string_pos_byte):
	* text.c (get_buffer_or_string_range_char):
	* text.c (get_buffer_or_string_range_byte):
	* text.c (buffer_or_string_accessible_begin_char):
	* text.c (buffer_or_string_accessible_end_char):
	* text.c (buffer_or_string_accessible_begin_byte):
	* text.c (buffer_or_string_accessible_end_byte):
	* text.c (buffer_or_string_absolute_begin_char):
	* text.c (buffer_or_string_absolute_end_char):
	* text.c (buffer_or_string_absolute_begin_byte):
	* text.c (buffer_or_string_absolute_end_byte):
	* text.c (dfc_convert_to_external_format):
	* text.c (dfc_convert_to_internal_format):
	* text.c (non_ascii_set_charptr_emchar):
	* text.c (non_ascii_charptr_emchar):
	* text.c (non_ascii_valid_emchar_p):
	* text.c (non_ascii_charptr_copy_emchar):
	* text.c (Lstream_get_emchar_1):
	* text.c (Fmake_char):
	* text.c (Fchar_charset):
	* text.c (Fchar_octet):
	* text.c (Fsplit_char):
	* text.c (lookup_composite_char):
	* text.c (Fmake_composite_char):
	* text.c (Fcomposite_char_string):
	* text.h:
	* text.h (rep_bytes_by_first_byte):
	* text.h (byte_ascii_p):
	* text.h (intbyte_leading_byte_p):
	* text.h (emchar_multibyte_p):
	* text.h (emchar_ascii_p):
	* text.h (assert_valid_charptr):
	* text.h (INC_CHARPTR):
	* text.h (INC_CHARPTR_FMT):
	* text.h (DEC_CHARPTR_FMT):
	* text.h (VALIDATE_CHARPTR_BACKWARD):
	* text.h (validate_intbyte_string_backward):
	* text.h (simple_charptr_copy_emchar):
	* text.h (charptr_emchar):
	* text.h (valid_emchar_p):
	* text.h (CHAR_INTP):
	* text.h (eicpy_lstr):
	* text.h (eicpy_raw_fmt):
	* text.h (eicpy_raw):
	* text.h (eicpy_rawz_fmt):
	* text.h (eicpy_rawz):
	* text.h (eicpyout_alloca):
	* text.h (eicat_lstr):
	* text.h (GET_STRERROR):
	* tooltalk.c (tooltalk_message_callback):
	* tooltalk.c (tooltalk_pattern_callback):
	* ui-byhand.c (__generic_toolbar_callback):
	* ui-byhand.c (__emacs_gtk_ctree_recurse_internal):
	* ui-gtk.c (emacs_gtk_object_printer):
	* ui-gtk.c (__internal_callback_destroy):
	* ui-gtk.c (__internal_callback_marshal):
	* ui-gtk.c (emacs_gtk_boxed_printer):
	* ui-gtk.c (gtk_type_to_lisp):
	* unicode.c (sledgehammer_check_from_table):
	* unicode.c (sledgehammer_check_to_table):
	* unicode.c (set_unicode_conversion):
	* unicode.c (emchar_to_unicode):
	* unicode.c (unicode_to_char):
	* unicode.c (recalculate_unicode_precedence):
	* unicode.c (Fchar_to_unicode):
	* unicode.c (encode_unicode_char):
	* unicode.c (unicode_convert):
	* unicode.c (unicode_print):
	* win32.c:
	* win32.c (tstr_to_local_file_format):
	* win32.c (mswindows_lisp_error_1):
	* win32.c (Fmswindows_shell_execute):
	* window.c (print_window):
	* window.c (print_window_config):
	* window.c (Fcurrent_pixel_column):
	Another big Ben patch.

	-- FUNCTIONALITY CHANGES:

	add partial support for 8-bit-fixed, 16-bit-fixed, and
	32-bit-fixed formats.  not quite done yet. (in particular, needs
	functions to actually convert the buffer.) NOTE: lots of changes
	to regex.c here.  also, many new *_fmt() inline funs that take an
	Internal_Format argument.

	redo syntax cache code.  make the cache per-buffer; keep the cache
	valid across calls to functions that use it.  also keep it valid
	across insertions/deletions and extent changes, as much as is
	possible.  eliminate the junky regex-reentrancy code by passing in
	the relevant lisp info to the regex routines as local vars.

	add general mechanism in extents code for signalling extent changes.

	fix numerous problems with the case-table implementation; yoshiki
	never properly transferred many algorithms from old-style to
	new-style case tables.

	redo char tables to support a default argument, so that mapping
	only occurs over changed args.  change many chartab functions to
	accept Lisp_Object instead of Lisp_Char_Table *.

	comment out the code in font-lock.c by default, because
	font-lock.el no longer uses it.  we should consider eliminating it
	entirely.

	Don't output bell as ^G in console-stream when not a TTY.

	add -mswindows-termination-handle to interface with i.c, so we can
	properly kill a build.

	add more error-checking to buffer/string macros.

	add some additional buffer_or_string_() funs.

	-- INTERFACE CHANGES AFFECTING MORE CODE:

	switch the arguments of write_c_string and friends to be
	consistent with write_fmt_string, which must have printcharfun
	first.

	change BI_* macros to BYTE_* for increased clarity; similarly for
	bi_* local vars.

	change VOID_TO_LISP to be a one-argument function.  eliminate
	no-longer-needed CVOID_TO_LISP.

	-- char/string macro changes:

	rename MAKE_CHAR() to make_emchar() for slightly less confusion
	with make_char(). (The former generates an Emchar, the latter a
	Lisp object.  Conceivably we should rename make_char() -> wrap_char()
	and similarly for make_int(), make_float().)

	Similar changes for other *CHAR* macros -- we now consistently use
	names with `emchar' whenever we are working with Emchars.  Any
	remaining name with just `char' always refers to a Lisp object.

	rename macros with XSTRING_* to string_* except for those that
	reference actual fields in the Lisp_String object, following
	conventions used elsewhere.

	rename set_string_{data,length} macros (the only ones to work with
	a Lisp_String_* instead of a Lisp_Object) to set_lispstringp_*
	to make the difference clear.

	try to be consistent about caps vs. lowercase in macro/inline-fun
	names for chars and such, which wasn't the case before.  we now
	reserve caps either for XFOO_ macros that reference object fields
	(e.g. XSTRING_DATA) or for things that have non-function semantics,
	e.g. directly modifying an arg (BREAKUP_EMCHAR) or evaluating an
	arg (any arg) more than once.  otherwise, use lowercase.

	here is a summary of most of the macros/inline funs changed by all
	of the above changes:

	BYTE_*_P -> byte_*_p
	XSTRING_BYTE -> string_byte
	set_string_data/length -> set_lispstringp_data/length
	XSTRING_CHAR_LENGTH -> string_char_length
	XSTRING_CHAR -> string_emchar
	INTBYTE_FIRST_BYTE_P -> intbyte_first_byte_p
	INTBYTE_LEADING_BYTE_P -> intbyte_leading_byte_p
	charptr_copy_char -> charptr_copy_emchar
	LEADING_BYTE_* -> leading_byte_*
	CHAR_* -> EMCHAR_*
	*_CHAR_* -> *_EMCHAR_*
	*_CHAR -> *_EMCHAR
	CHARSET_BY_ -> charset_by_*
	BYTE_SHIFT_JIS* -> byte_shift_jis*
	BYTE_BIG5* -> byte_big5*
	REP_BYTES_BY_FIRST_BYTE -> rep_bytes_by_first_byte
	char_to_unicode -> emchar_to_unicode
	valid_char_p -> valid_emchar_p

2002-04-30  Charles G. Waldman <cgw@xemacs.org>

        * sysdep.c (sys_siglist): change "signum" to "signal"

2001-04-21  Martin Buchholz  <martin@xemacs.org>

	* s/darwin.h: New file.
	Thanks to Greg Parker <gparker@cs.stanford.edu>.
	
2002-04-23  Andreas Jaeger  <aj@suse.de>

	* s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
	which use lib64 for 64-bit libs.
        (START_FILES): Likewise.

2002-02-11  Mike Sperber  <mike@xemacs.org>

	* device-x.c: 
	(x_IO_error_handler):
	(x_init_device): Temporarily keep device in static variable
	`device_being_initialized' so we can recover gracefully from
	internal XOpenDevice failure.  (XOpenDevice is documented to
	return NULL on failure, but sometimes calls the IO error handler
	instead.)

2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>

	* dired.c (Ffile_name_all_completions): Change documentation --
	remove reference to completion-ignored-extensions.
	* dired.c (vars_of_dired): Change documentation for
	completion-ignored-extensions -- remove reference to
	file-name-all-completions.

2002-03-06  Jerry James  <james@xemacs.org>

	* emodules.c (emodules_load): Fix multiple loading of same module.

2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
	* sysdll.c (dll_open): Changed to use RTLD_NOW instead of
	RTLD_LAZY to avoid incorrect symbol binding when using nested
	shared libraries on Solaris.

2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>

	* fileio.c (Ffind_file_name_handler): Improve docstring.

2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>

	* fns.c (Fmapconcat): Improve docstring.

2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>

	* device-gtk.c: Add prototype for
	emacs_gtk_selection_clear_event_handle.
	(gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
	selection.  Setup signal handler for "selection_clear_event"
	(emacs_gtk_selection_clear_event_handle).

	* select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
	other applications owning the clipboard (based on
	x_handle_selection_clear).

2001-12-23  William M. Perry  <wmperry@gnu.org>

	* menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
	
2002-01-04  Martin Buchholz  <martin@xemacs.org>

	* keymap.c (define_key_alternate_name): Parenthesize EQ.

ChangeLog Entries from tests/ChangeLog

goto announcement, summary, changes


2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-06-27  Mike Sperber <mike@xemacs.org>

	* automated/weak-tests.el: Create.

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

	* automated/mule-tests.el ((featurep 'mule)): Fix unicode test.

2002-04-27  Stephen J. Turnbull  <stephen@xemacs.org>

	* automated/test-harness.el (test-harness-from-buffer): Clean up
	Check-Message and Check-Error-Message when done.

2002-05-05  Ben Wing  <ben@xemacs.org>

	* automated/lisp-tests.el:
	* automated/symbol-tests.el:
	* automated/test-harness.el:
	* automated/test-harness.el (test-harness-from-buffer):
	Fix test harness to output FAIL messages to stderr when in
	batch mode.

	Fix up some problems in lisp-tests/symbol-tests that were
	causing spurious failures.


End of change notices.
            
 
 

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