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

XEmacs 21.4.5 "Civil Service" is Released

Message-ID: <15317.29162.921855.730313@turnbull.sk.tsukuba.ac.jp>
Date: Tue, 23 Oct 2001 22:34:34 +0900
From: "Stephen J. Turnbull, XEmacs 21.4 Release Manager" <stephen@xemacs.org>
To: XEmacs Announcements <xemacs-announce@xemacs.org>
Subject: XEmacs 21.4.5 "Civil Service" is released.

*            XEmacs 21.4.5 "Civil Service" is released.
        "Civil Service" is the sixth in the OXYMORON series.

Relative to XEmacs 21.4.4 "Artificial Intelligence", it contains
critical fixes for the "GC in windows procedure" and "setitimer"
crashes on the MS Windows platform.  There are also a few typo
fixes in the documentation, and some minor bugfixes in the user

Due to the forced move from our CVS server and other infrastructure
issues, this release has been prepared in some haste.  It does appear
that the stability on Windows platforms is acceptable, or better.
There are very few changes that affect stability of other platforms,
so they are expected to give excellent stability as usual.

A binary release for Windows with improvements in the installation
process should follow shortly.

More detailed information about the changes is presented below.

The first release in this series, XEmacs 21.4.0 "Solid Vapor",
contained a large number of improvements and extensions to the current
stable version, XEmacs 21.1.14.  For more information about the
OXYMORON series, see etc/NEWS, the initial release announcement


and the release planning page,


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

* XEmacs 21.4.5 is "gamma" software. 

Besides the usual "no warranty" disclaimer (see etc/WARRANTY, sections
10 and 11), we are now experimenting with a level of stability
intermediate between "beta" and "stable", dubbed "gamma".  At this
point all the developers and most of our beta testers trust the 21.4
code base with all their editing needs.

After several months of testing, XEmacs 21.4.5 now is sufficiently
stable to be recommended to all users.  However, there still remain a
few outstanding problems with fontlock that must be fixed before we
retire 21.1.

* Availability

Anonymous ftp:


Windows netinstaller:

    Andy Piper will make an announcement when it is ready.

Anonymous (pserver) CVS:

    The pserver is presently unavailable.  The root is likely to
    change in the move.  We will announce when it is available again.

* Brief summary of Changes to 21.4.5 "Civil Service"

Possibly annoying UI changes:

  - (**) configure.ac added to auto-mode-alist.
  - (**) Recognize .9 files as man pages  (shadowed by ChangeLog and .scm).
  - (**) Derive buffers-tab face from the modeline face by default.
  - (**) Enable win32 paths under cygwin.

Other UI and API changes:

  - Add GTK defaults in several places.
  - Printer improvements and fixes for Windows.
  - Speed up saving of custom file.
  - Improve fontlock handling of unterminated comments.
  - Use new politically correct 'report-xemacs-bug' nomenclature in menus.
  - DDE improvements for Windows.

Bug fixes:

  - Fix those dreaded "GC during window procedure" and setitimer crashes.
  - Fix several wrong-type-argument bugs in face handling.
  - Fix Lisp syntax in several files.
  - Fix pty allocation on SCO Unix.
  - call-process-internal reads files as 'binary, now writes 'binary too.
  - Mouse-track fixes.
  - Fix black borders in tab control widgets.
  - Fix progress gauge flashing under OpenMotif.
  - Case sensitivity and shell quoting fixes for Windows.
  - Multicast data conversion fix.
  - Correct handling of dedicated windows when killing buffer.
  - Fix progress gauge flashing under OpenMotif.

Build improvements:

  - Correct case for XEmacs file names under msw (Cygwin is pedantic).
  - Install arch-specific files relative to $execdir, not $prefix.
  - New configure.ac guards against autoconf 2.5x, not yet supported.
  - Now detects xpm-nox on Cygwin.
  - Conditionalize *-msw.c against Cygwin and MSVC5 deficiencies.
  - Eliminate a few warnings.
  - Detect Cygwin xpm-nox.
  - Remove references to XMU from #ifndef HAVE_XMU code.


  - FAQ corrections, typo fixes, other documentation improvements.
  - Texinfo syntax corrections in Info sources.

* Full ChangeLogs:

I do not have time to fix up the mailing list archive references for
the ChangeLogs this time.  I'm sorry about that, as some of the
changes are quite important.

-------- ChangeLog entries from ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

2001-10-05  Stephen J. Turnbull  <stephen@xemacs.org>

	* configure.in: Document that autoconf 2.5x is unsupported.

2001-10-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* PROBLEMS:  configure doesn't support --with-{ld,as}, use environment
	variables.  Suggested by Goran Koruga <goran.koruga@hermes.si>.

2001-09-17  Ben Wing  <ben@xemacs.org>

	* configure.in (TAB):
	* configure.in (XE_COMPUTE_RUNPATH):
	Don't use -Wshadow when compiling with g++ or you get buried in
	silly warnings.  This patch was already applied but somehow got
	unapplied.  Stephen?

2001-08-19  Charles Wilson  <cwilson@ece.gatech.edu>

	* configure.in (for graphics libraries): Detect Cygwin xpm-nox.

2001-08-02  Peter Brown  <rendhalver@users.sourceforge.net>

	Synch options documentation with those in configure.in:

	* configure.usage (--with-dialogs): added lucid to list of options
	* configure.usage (--with-widgets): added lucid to list of options
	* configure.usage (--with-dragndrop): added GTK to list of protocols
	* configure.usage (--mail-locking): added `locking' or `mmdf'. to list
	of options
2001-09-25  Didier Verna  <didier@xemacs.org>

	* configure.ac: new. Autoconf 2.5x guard.

2001-08-29  Jered Floyd  <jered@MIT.EDU>

	* configure.in (moduledir,sitemoduledir,archlibdir):
        Place arch-specific files under ${libdir}, not under ${datadir}.

-------- ChangeLog entries from lib-src/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

-------- ChangeLog entries from lisp/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

2001-04-23  Didier Verna  <didier@xemacs.org>

	* cus-edit.el (custom-variable-pre-save): New.
	* cus-edit.el (custom-variable-post-save): New.
	* cus-edit.el (custom-variable-save): use them.
	* cus-edit.el (custom-face-pre-save): New.
	* cus-edit.el (custom-face-post-save): New.
	* cus-edit.el (custom-face-save): use them.
	* cus-edit.el (custom-group-pre-save): New.
	* cus-edit.el (custom-group-post-save): New.
	* cus-edit.el (custom-group-save): use them.
	* cus-edit.el (Custom-save): use the pre/post functions above,
	call `custom-save-all' only once.
	* cus-edit.el (custom-variable-pre-reset-standard): New.
	* cus-edit.el (custom-variable-post-reset-standard): New.
	* cus-edit.el (custom-variable-reset-standard): use them.
	* cus-edit.el (custom-face-pre-reset-standard): New.
	* cus-edit.el (custom-face-post-reset-standard): New.
	* cus-edit.el (custom-face-reset-standard): use them.
	* cus-edit.el (custom-group-pre-reset-standard): New.
	* cus-edit.el (custom-group-post-reset-standard): New.
	* cus-edit.el (Custom-reset-standard): use them.
	* cus-edit.el (custom-face-reset-saved): use the pre/post
	functions above, call `custom-save-all' only once.

2001-04-08  Danny Colascione  <qtmstr@optonline.net>

	* gutter-items.el (buffers-tab face): Derive from the modeline
	face by default.  Many people use white-on-black for the default
	font, and the tabs look hideous with that color combination.  The
	modeline usually has the correct colors.

2001-09-28  Robert Pluim  <rpluim@bigfoot.com>

	* etags.el (find-tag): Doc fix, point users at pop-tag-mark.
	(tag-mark-stack-max): Typo fix.

2001-09-28  Ben Wing  <ben@xemacs.org>

	* font-lock.el:
	* font-lock.el (font-lock-after-change-function):
	fix problem with last patch, reported by Katsumi Yamaoka.

2001-09-17  Ben Wing  <ben@xemacs.org>

	* font-lock.el (font-lock-after-change-function):
	fix problem when you insert a comment on the line before a line of
	code: if we use the following char, then when you hit backspace,
	the following line of code turns the comment color.

2001-06-08  Ben Wing  <ben@xemacs.org>

	* process.el: comment about shell-command-switch.
	* process.el (shell-quote-argument): Need to quote a null
	argument, too.  From Dan Holmsand.
	* startup.el (normal-top-level): Delete some unused FSF junk.
	* startup.el (command-line-early):
	* startup.el (command-line): Call MS Windows init function.
	* win32-native.el:
	* win32-native.el (mswindows-system-shells): New.
	* win32-native.el (mswindows-system-shell-p): New.
	* win32-native.el (init-mswindows-at-startup): New.
	* win32-native.el (mswindows-quote-one-vc-runtime-arg):
	* win32-native.el (mswindows-quote-one-simple-arg):
	* win32-native.el (mswindows-quote-one-command-arg):
	* win32-native.el (mswindows-construct-process-command-line-alist):
	Correct comments at top.  Correctly handle passing arguments
	to Cygwin programs and to bash.  Fix quoting of zero-length
	arguments (from Dan Holmsand).  Set shell-command-switch based
	on shell-file-name, which in turn comes from env var SHELL.

2001-07-18  Alexey Mahotkin  <alexm@hsys.msk.ru>

	* toolbar.el (toolbar-visible-p, toolbar-captioned-p,
	default-toolbar-position): Fill docstrings for balloon-help.

2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>

	* faces.el: Reenable specifications over 'gtk domain.

2001-08-08  Didier Verna  <didier@xemacs.org>

	* autoload.el (update-autoload-files): make defdir a file name,
	not directory name.

2001-08-06  Steve Youngs  <youngs@xemacs.org>

	* menubar-items.el (default-menubar): Use 'report-xemacs-bug'.

	* lisp-mnt.el (lm-report-bug): Use 'report-xemacs-bug-beta-address'.

2001-08-01  Edward M. Lee  <tailbert@yahoo.com>

	* font-menu.el (font-menu-set-font): Default to current font-family.
	Provide gtk defaults, too.

2001-07-29  Mike Alexander  <mta@arbortext.com>

	* cus-face.el (custom-set-face-font-size): Last arg to apply is a
	(custom-set-face-font-family): ditto

2001-07-26  Mike Sperber <mike@xemacs.org>

	* files.el (auto-mode-alist): .9 files are man pages, too.

2001-07-23  Edwin Steiner <esteiner@net4you.at>

	* process.el (call-process-internal): bind
	coding-system-for-write to 'binary when calling
	start-process-internal, so the process receives 
	the literal contents of INFILE.

2001-09-15  Edward M. Lee  <tailbert@yahoo.com>

	* files.el (auto-mode-alist): Add configure.ac support.

2001-07-19  Adrian Aichner  <adrian@xemacs.org>

	* buff-menu.el:
	Adrian's mouse-track patch.  See <y9plq0nc.fsf@ecf.teradyne.com>.

-------- ChangeLog entries from lwlib/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

2001-10-02  Darryl Okahata  <darrylo@sonic.net>

	* If HAVE_XMU was not defined (xmu was not being used), xlwgcs.c
	was still referencing xmu functions.

2001-04-08  Danny Colascione  <qtmstr@optonline.net>

	* lwlib-Xlw.c:
	Force buffer-tab highlight update when moving the buffer, avoiding
	an ugly black border, used for keyboard focus indication, on a
	widget that can never have keyboard focus, the buffer tab.

2001-07-26  Andy Piper  <andy@xemacs.org>

	Fix progress gauge flashing under OpenMotif:

	* lwlib-Xm.c (xm_update_progress): new function. Set Scale height
	and width from normal height and width.
	* lwlib-Xm.c (xm_create_progress): ditto.
	* lwlib-Xm.c (xm_update_one_widget): call xm_update_progress.
	* lwlib.c (lw_get_value_arg): new function. Return an argument
	based on its name.
	* lwlib.h: declare it.

-------- ChangeLog entries from man/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

2001-10-17  Stephen J. Turnbull  <stephen@xemacs.org>

	* xemacs/text.texi (Outline Visibility):  hide-subtree is bound to
	C-c C-d, not C-c C-h.  Thanks: Keith Browne <kbrowne@legato.com>.

2001-07-25  Jim Horning  <jim.horning@lmco.com>

	* xemacs/packages.texi (Package Terminology):
	* xemacs/packages.texi (Automatically):
	In itemize and enumerate lists @item should be on its own line.

2001-09-16  Adrian Aichner  <adrian@xemacs.org>

	* xemacs-faq.texi (Q4.0.7): Fix link to VM FAQ thanks to word I
	got from Gregory Neil Shapiro.
	* xemacs-faq.texi (Q1.3.7): Update moved link.
	* xemacs-faq.texi (Q7.0.2): Comment out empty list of bullets to
	avoid HTML error in texi2html translation.

2001-09-15  Adrian Aichner  <adrian@xemacs.org>

	* xemacs-faq.texi (Q4.6.1): Infodock is now hosted on SourceForge,
	infodock.com is no more.
	* xemacs-faq.texi (Q4.7.1): Take auc out of http://sunsite.auc.dk.

2001-09-09  Adrian Aichner  <adrian@xemacs.org>

	* xemacs-faq.texi (Q1.0.9): Correct link to snapshots as suggested
	by Robin S. Socha.

-------- ChangeLog entries from netinstall/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

-------- ChangeLog entries from nt/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

2001-08-02  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>

	* xemacs.rc:
	Under cygwin, when environment variable CYGWIN is set
	to check_case:strict, filenames are considered case sensitive.

-------- ChangeLog entries from src/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.

2001-04-08  Danny Colascione  <qtmstr@optonline.net>

	* glyphs-x.c: Force buffer-tab highlight update when moving the
	buffer, avoiding an ugly black border, used for keyboard focus
	indication, on a widget that can never have keyboard focus, the
	buffer tab.

2001-08-30  Daiki Ueno  <ueno@unixuser.org>

	* process-unix.c (unix_open_multicast_group): Remove too much
	conversion between host and network byte order.

2001-09-10  Nix  <nix@esperi.demon.co.uk>

	* src/buffer.c (kill_buffer): Undedicate windows showing BUF
        before replacing them.

        * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER

        * src/window.c (undedicate_windows): Use it.
        * src/window.h: Add prototype.

2001-09-17  Ben Wing  <ben@xemacs.org>

	* fileio.c (normalize_filename):
	* fileio.c (Fexpand_file_name):
	Fix various C++ compile errors in Andy's recent code.
	* callint.c (Fcall_interactively):
	* editfns.c (Ftemp_directory):
	* editfns.c (Fuser_full_name):
	* emacs.c (argmatch):
	* lread.c (locate_file_map_suffixes):
	* redisplay-x.c (x_ring_bell):
	Fix sign-compare warnings.
2001-09-08  Andy Piper  <andy@xemacs.org>

	* fileio.c (normalize_filename): copied from nt.c
	* (Ffile_name_directory): enable win32 paths under cygwin.
	* (Ffile_name_nondirectory): ditto.
	* (directory_file_name): ditto.
	* (Fexpand_file_name): ditto.
	* (Ffile_truename): ditto.
	* (Fsubstitute_in_file_name): ditto.
	* (Ffile_name_absolute_p): ditto.
	* (Ffile_readable_p): ditto.

2001-09-08  Andy Piper  <andy@xemacs.org>

	* device-msw.c (mswindows_finish_init_device): remove dde
	* device-msw.c (mswindows_init_dde): factor out from
	* device-msw.c (init_mswindows_very_early): new function
	initialize but don't enable dde.
	* emacs.c (main_1): call init_mswindows_very_early.
	* event-msw.c:
	* event-msw.c (mswindows_dde_callback): only execute when we are
	* symsinit.h: declare init_mswindows_very_early.

2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	[sjt: This has been in 21.5 for months with no complaints.]

	* console.h (struct console_methods): Added flags member.
	(CONSOLE_IMPL_FLAG): Macro to check implememntation flags.

	* device.c (window_system_pixelated_geometry): Use the above macros.

	* device.h (DEVICE_IMPL_FLAG): Macro to check a device
	implememntation flag.
	* device.h (DEVICE_DISPLAY_P): Use it.

	* frame.c (delete_frame_internal): Use the above macro.

	* redisplay.c (redisplay_device): Use it.
	(redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
	(redisplay_frame): Ditto.

	* device-msw.c (mswindows_device_implementation_flags): Removed.
	(msprinter_device_implementation_flags): Removed.
	(console_type_create_device_mswindows): Removed references to
	implementation_flags methods, set implementation flags here.
	(console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.

	* device-gtk.c (gtk_device_implementation_flags): Removed method.
	(console_type_create_device_gtk): Removed method declaration.
	Added commented out statement which semantically matches the
	commented out statement in the above removed method.

2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>

	The attached patch fixes a few warnings. 

	* src/emacs.c: prototype console_type_create_select_gtk for GTK only
	* src/frame-gtk.c: guard against GNOME calls in GTK only
	* src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
	* src/select-gtk.c: prototype lisp_to_time

2001-06-08  Ben Wing  <ben@xemacs.org>

	------ gc-in-window-procedure fixes ------
	* alloc.c:
	* alloc.c (struct post_gc_action):
	* alloc.c (register_post_gc_action):
	* alloc.c (run_post_gc_actions):
	* alloc.c (garbage_collect_1):
	Create "post-gc actions", to avoid those dreaded "GC during window
	procedure" problems.

	* event-msw.c:
	Abort, clean and simple, when GC in window procedure.  We want
	to flush these puppies out.

	* glyphs-msw.c:
	* glyphs-msw.c (finalize_destroy_window):
	* glyphs-msw.c (mswindows_finalize_image_instance):
	Use a post-gc action when destroying subwindows.

	* lisp.h:
	Declare register_post_gc_action().

	* scrollbar-msw.c:
	* scrollbar-msw.c (unshow_that_mofo):
	Use a post-gc action when unshowing scrollbar windows, if in gc.

	* redisplay.c (mark_redisplay):
	Add comment about the utter evilness of what's going down here.

	------ cygwin setitimer fixes ------
	* Makefile.in.in (sheap_objs):
	* Makefile.in.in (profile_objs):
	* Makefile.in.in (objs):
	Compile profile.c only when HAVE_SETITIMER.
	* nt.c (mswindows_sigset):
	* nt.c (mswindows_sighold):
	* nt.c (mswindows_sigrelse):
	* nt.c (mswindows_sigpause):
	* nt.c (mswindows_raise):
	* nt.c (close_file_data):
	Style fixes.
	* nt.c:
	Move setitimer() emulation to win32.c, because Cygwin needs it too.
	* profile.c:
	* profile.c (Fstart_profiling):
	* profile.c (Fstop_profiling):
	Make sure we don't compile if no setitimer().  Use qxe_setitimer()
	instead of just plain setitimer().
	* signal.c:
	* signal.c (set_one_shot_timer):
	* signal.c (alarm):
	Define qxe_setitimer() as an encapsulation around setitimer() --
	call setitimer() directly unless Cygwin or MS Win, in which case
	we use our simulated version in win32.c.
	* systime.h:
	* systime.h (struct itimerval):
	* systime.h (ITIMER_REAL):
	Prototype mswindows_setitimer() and qxe_setitimer().  Long
	comment about "qxe" and the policy regarding encapsulation.

	* win32.c:
	* win32.c (setitimer_helper_proc):
	* win32.c (setitimer_helper_period):
	* win32.c (setitimer_helper):
	* win32.c (mswindows_setitimer):
	Move setitimer() emulation here, so Cygwin can use it.
	Rename a couple of functions and variables to be longer and more
	descriptive.  In setitimer_helper_proc(), send the signal
	using either mswindows_raise() or (on Cygwin) kill().  If for
	some reason we are still getting lockups, we'll change the kill()
	to directly invoke the signal handlers.

	------ windows shell fixes ------
	* callproc.c:
	* ntproc.c:
	Comments about how these two files must die.

	* callproc.c (init_callproc):
	On MS Windows, init shell-file-name from SHELL, then COMSPEC,
	not just COMSPEC. (more correct and closer to FSF.) Don't
	force a value for SHELL into the environment. (Comments added
	to explain why not.)
	* nt.c (init_user_info):
	Don't shove a fabricated SHELL into the environment.  See above.

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

	* Makefile.in.in (ldflags):
	eliminate that pesky "defaulting to 00401000" warning.
	* nt.h:
	eliminate warnings.

2001-06-15  Golubev I. N.  <gin@mo.msk.ru>

	* process-unix.c (allocate_pty): #ifndef "modern" pty allocation.

2001-04-24  Jerry James <james@xemacs.org>

        * faces.h: pass parameters to Fadd_spec_to_specifier in the
        correct order.

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

	* event-msw.c (debug_mswin_messages):
	conditionalize the messages that were causing compile errors.
	(if only macros could generate #ifdef statements ...)

-------- ChangeLog entries from tests/ChangeLog --------

2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.4.5 "Civil Service" is released.


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