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.26 "endive" is released

goto announcement, summary, changes

To: XEmacs Beta Testers <xemacs-beta@xemacs.org>
From: "Stephen J. Turnbull, XEmacs 21.5 Beta Engineer" <stephen@xemacs.org>
Subject: XEmacs 21.5.26 "endive" is released.
Organization: The XEmacs Project



*          XEmacs 21.5.26 "endive" is released.
      "endive" is the twenty-seventh in the VEGETABLE series.


The successor to XEmacs 21.5.25 "eggplant", "endive" adds support
for the Advanced Linux Sound Architecture by Jerry James, and a large
number of fixes and improvements to the new garbage collector by
Marcus Crestani.  The most important of these was to make finalization
of Lisp objects asynchronous, which doesn't have direct relevance to
users, but will make writing correct code for Lisp primitives easier.
Vin Shelton contributed several improvements to the path-finding code
(primarily MS Windows-oriented), aided and abetted by Mike Sperber and
several testers.  Of course, there was the usual array of small
improvements and bug fixes.

*Important Notice*

There were a number of important bugs (including crashes) in the new
gc code fixed, and unfortunately some of them affected the supposedly
stable --enable-newgc=no code, it seems.  Also, Malcolm Purvis
committed a workaround for an assert in the regex code that was being
provoked by Gnus and by the error parser for M-x compile.  It is
*highly recommended* that you upgrade if you are currently using the
previous beta, 21.5.25.

However, there are a number of undiagnosed crashes lurking, especially
on the x86_64 platform.  It's possible they've been fixed en passant,
but since they're undiagnosed, please be prudent, save often, and back
up your essential data.



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

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

		       http://www.xemacs.org/

* XEmacs 21.5.26 is "beta" software. 

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

Note that part of the release process involves a full build and test cycle,
with no regressions.  However, one build on the release engineer's host is
all the quality assurance that is done for most beta releases.  Be sure to
checkpoint a known good version of XEmacs (eg, a CVS tag or tarball) before
overwriting your XEmacs source tree.

* Availability

Anonymous ftp:

             ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.5

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

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

We thank our hosts at Tux.org, and numerous mirrors around the world,
for providing space and bandwidth for distributing XEmacs.

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

        http://www.xemacs.org/Documentation/packageGuide.html.

Anonymous (pserver) CVS:

Anonymous CVS is available.  We are very grateful to the staff at our
host, dotsrc.org (formerly SunSITE.dk), for a lot of help and quick
response to all our requests.

Take care that your Root is set correctly to

	 CVSROOT=:pserver:cvs@cvs.xemacs.org:/pack/xemacscvs

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

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

will convert your entire tree.

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

For more details, see

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

or the ViewCVS interface at
                        http://cvs/xemacs.org .


Changes in XEmacs 21.5.26 "endive"

goto announcement, summary, changes

Major Features and Backward Incompatible Changes

  • Improve: search for package roots on Windows. (Vin Shelton)
  • Improve: support asynchronous finalization, remove explicit finalizers, and support for statistics for explicitly finalized objects. (Marcus Crestani, Adrian Aichner)
  • New: support ALSA sound on Linux. (Jerry James)

User-Visible Bug Fixes and Minor Improvements

  • Fix: GC cursor display in mc-alloc. (Marcus Crestani)
  • Fix: next-error.el vs. compile.el name clashes. (Malcolm Purvis)
  • Fix: restore memory usage stats (fix regexp). (Marcus Crestani)
  • Fix: synch widget-move-and-invoke, used by Gnus. (Jerry James)
  • Fix: uncomment-region in C files. (Jerry James)
  • Fix: use set-text-properties, not remove-list-of-text-properties. (Jerry James)
  • Improve: convert decode-coding-region, encode-coding-region to interactive commands. (Stephen Turnbull)
  • Improve: synch regex failure limits with GNU Emacs, avoiding asserts. (Malcolm Purvis)

Build Infrastructure

  • Fix: eliminate configure idioms obsolete in Autoconf 2.59. (Jerry James, Ilya Golubev)
  • Improve: merge mc-alloc features into --with-newgc. (Marcus Crestani)

Documentation

  • Fix: document dependence of `run-lisp' on os-utils package. (Mike Sperber)
  • Improve: move historical READMEs, etc, to internals.texi. (Stephen Turnbull)

Lisp API

  • Improve: remove dead API (lisp-send-defun). (Mike Sperber)

Internal API and Implementation

  • Fix: add missing do to RETURN_UNGCPRO_EXIT_PROFILING. (Jerry James)
  • Fix: avoid malloc in vdb signal handler. (Marcus Crestani)
  • Fix: broken use of memset in vdb_install_signal_handler. (Mike Fabian)
  • Fix: eliminate bogus pointer to nowhere. (Stephen Turnbull, Jerry James)
  • Fix: malloc size in Dynarr_realloc. (Marcus Crestani)
  • Improve: add internal API to zero uninitialized string. (Marcus Crestani)
  • Improve: dynamic array cleanup, remove duplicate code. (Marcus Crestani)
  • Improve: handle memory shortage in mc-alloc properly. (Marcus Crestani)
  • Improve: mc-alloc APIs now return number of pages processed. (Marcus Crestani)

ChangeLogs for XEmacs 21.5.26 "endive"

goto announcement, summary, changes

ChangeLog Entries from ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	Miscellaneous doc cleanup, parts 2-4: move CHANGES-msw,
	TODO.ben-mule-21-5, README.ben-mule-21-5, and
	README.ben-separate-stderr to Internals Manual.

	* CHANGES-msw: Removed.
	* TODO.ben-mule-21-5: Removed.
	* README.ben-mule-21-5: Removed.
	* README.ben-separate-stderr: Removed.

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

	Miscellaneous doc cleanup, part 1: move CHANGES-ben-mule to
	Internals Manual.

	* CHANGES-ben-mule: Removed.

	* ChangeLog:
	* lib-src/ChangeLog:
	* lisp/ChangeLog:
	* lwlib/ChangeLog:
	* man/ChangeLog:
	* man/internals/internals.texi:
	* modules/ChangeLog:
	* netinstall/ChangeLog:
	* nt/ChangeLog:
	* nt/installer/Wise/ChangeLog:
	* src/ChangeLog:
	* tests/ChangeLog:
	Update the Great Mule Merge placeholders to point to Internals
	Manual node "The Great Mule Merge of March 2002".
	N.B. Self-referencing log entries were *not* added to other logs.
	
2006-03-30  Jerry James  <james@xemacs.org>

	* configure.ac: Fix for -Kalloca detection, also broken by the
	recent autoconf updates.  Thanks to Ilya Golubev.

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

	* configure.ac: Fix FOR_MSW XPM test, broken by previous update.

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

	* aclocal.m4: Updates for autoconf 2.59.
	* configure.ac: Ditto.  Also, don't bother checking for inttypes.h
	and unistd.h explicitly, since AC_HEADER_STDC does that.

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

	* configure.ac: Repair ALSA detection.

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

	* configure.ac: Autodetect ALSA support and report it if detected.

2006-02-22  Marcus Crestani  <crestani@xemacs.org>

	* configure.ac: Remove mc-alloc, replace it with newgc, adjust
	output and comments.

ChangeLog Entries from etc/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

ChangeLog Entries from lib-src/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

ChangeLog Entries from lisp/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

2006-03-31  Marcus Crestani  <marcus.crestani@ub.uni-tuebingen.de>

	* diagnose.el (show-mc-alloc-memory-usage): Rename buffer to
	"mc-alloc memory usage" to avoid name clash with
	show-memory-usage.

2006-03-26  Marcus Crestani  <crestani@xemacs.org>

	* diagnose.el (show-gc-stats): Adjust format string, remove
	explicitly-freed statistics (the need to explicitly free went away
	with the asynchronous finalization patch).

2006-03-20  Malcolm Purvis  <malcolmp@xemacs.org>

	* next-error.el: Rename functions that clash with the next-error
	family in compile.el
	* occur.el (occur-next-error): Use new names
	* occur.el (multi-occur): Fix compiler warnings.

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

	* newcomment.el (uncomment-region): Remove old code that breaks
	uncomment-region on C files.  Thanks to Christian Podlasly for the
	report.

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

	* register.el (describe-register-1): Use set-text-properties
	instead of the nonexistent remove-list-of-text-properties.

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

	* wid-edit.el (widget-move-and-invoke): New function, used by Gnus.

2006-02-26  Vin Shelton  <acs@xemacs.org>

	* setup-paths.el (paths-emacs-data-root-p): Add search for package
	root.
	(paths-find-invocation-roots): Add root-p parameter to test
	plausibility of the roots.

2006-03-12  Marcus Crestani  <crestani@xemacs.org>

	* diagnose.el (show-memory-usage): Fix regexp.

2006-02-26  Mike Sperber  <mike@xemacs.org>

	* lisp-mode.el (lisp-send-defun): Remove this function; the
	definition here didn't do anything---once upon a time, it may have
	gotten overwritten by some code that has evaporated since then.

ChangeLog Entries from lwlib/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

ChangeLog Entries from man/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	Miscellaneous doc cleanup, parts 2-4: move CHANGES-msw,
	TODO.ben-mule-21-5, README.ben-mule-21-5, and
	README.ben-separate-stderr to Internals Manual.

	* internals/internals.texi (Ben's TODO list): 
	(CHANGES from 21.4-windows branch):
	(Ben's README):
	(Ben's separate stderr notes):
	New nodes.

	(Subprocesses): Add "Ben's separate stderr notes" to menu.
	(The Great Mule Merge of March 2002): Add "Ben's TODO list" and
	"Ben's README" to menu.
	(Interface to MS Windows): Add "CHANGES from 21.4-windows branch"
	to menu.

	(Top): Update detailmenu.

2006-03-30  Stephen J. Turnbull  <stephen@xemacs.org>

	Miscellaneous doc cleanup, part 1: move CHANGES-ben-mule to
	Internals Manual.

	* internals/internals.texi (The Great Mule Merge of March 2002):
	Insert CHANGES-ben-mule here, and reformat for Texinfo.

2006-02-26  Mike Sperber  <mike@xemacs.org>

	* xemacs/building.texi (External Lisp): Document that `run-lisp'
	needs the os-utils package.

ChangeLog Entries from modules/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

ChangeLog Entries from netinstall/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

ChangeLog Entries from nt/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

2006-02-27  Vin Shelton  <acs@xemacs.org>

	* config.inc.samp: Comment out PACKAGE_PREFIX.
	* xemacs.mak: Convert PACKAGE_PREFIX input from config.inc to
	PATH_LATE_PACKAGE_DIRECTORIES.  Do not use PACKAGE_PATH.

2006-02-22  Marcus Crestani  <crestani@xemacs.org>

	* xemacs.mak: Remove mc-alloc, replace with newgc, adjust output.
	* config.inc.samp: Remove MC_ALLOC option.

ChangeLog Entries from nt/installer/Wise/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

ChangeLog Entries from src/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

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

	* lisp.h (Dynarr_add): Add local variable imp to avoid VC6
	internal compiler error.

2006-03-26  Marcus Crestani  <crestani@xemacs.org>

	* gc.c: Remove functions for explicitly-freed statistics
	(the need to explicitly free went away with the asynchronous
	finalization patch).
	* gc.c (struct gc_state): EMACS_INT -> double, remove
	explicitly-freed statistics.
	* gc.c (Fgc_stats): Remove explicitly-freed statistics.
	* gc.c (PL): Use make_float.
	* gc.h: Remove prototypes and macros for explicitly-freed
	statistics.

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

	* alsaplay.c: New file providing support for sound with ALSA.
	* config.h.in: New symbol HAVE_ALSA_SOUND
	* sound.c: Add ALSA support.

2006-03-27  Mike Fabian  <mfabian@suse.de>

	* vdb-posix.c (vdb_install_signal_handler): Correct memset.

2006-03-26  Marcus Crestani  <crestani@xemacs.org>

	* alloc.c (malloc_warning): Move function into scope of
	MALLOC_END, add MALLOC_END.
	* alloc.c (memory_full): Add memory shortage indication, adjust
	error messages.
	* mc-alloc.c: Add memory_shortage.
	* mc-alloc.c (expand_heap): If memory is short, allocate only the
	needed pages, not more.
	* mc-alloc.h: Add memory_shortage.

2006-03-26  Marcus Crestani  <crestani@xemacs.org>

	* alloc.c (make_uninit_string): Use set_lispstringp_direct.
	* lisp.h (set_lispstringp_direct): New.

2006-03-21  Marcus Crestani  <crestani@xemacs.org>

	* mc-alloc.c (visit_all_used_page_headers):
	* mc-alloc.c (finalize_page_for_disksave):
	* mc-alloc.c (mc_finalize_for_disksave):
	* mc-alloc.c (sweep_page):
	* mc-alloc.c (mc_sweep):
	* mc-alloc.c (protect_heap_page):
	* mc-alloc.c (protect_heap_pages):
	* mc-alloc.c (unprotect_heap_page):
	* mc-alloc.c (unprotect_heap_pages):
	* mc-alloc.h: Return number of pages processed.
	* vdb.c (vdb_start_dirty_bits_recording): Adjust size of
	page_fault_table to its upper bound (= number of pages that
	contain BLACK objects) in advance, to avoid malloc in the signal
	handler.

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

	* file-coding.c (decode-coding-region, encode-coding-region):
	Convert to interactive commands, and adjust docstrings.

2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>

	* regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
	current values found in GNU Emacs.

2006-03-20  Marcus Crestani  <crestani@xemacs.org>

	* dynarr.c (Dynarr_realloc): Malloc correct size.
	* lisp.h: Dynamic array cleanup, remove duplicate code. 

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

	* objects-x.c (x_font_instance_truename):
	Eliminate bogus pointer to nowhere.

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

	* profile.h (RETURN_UNGCPRO_EXIT_PROFILING): Add missing do.

2006-03-02  Marcus Crestani  <crestani@xemacs.org>

	* gc.c (show_gc_cursor_and_message): New.
	* gc.c (remove_gc_cursor_and_message): New.
	* gc.c (gc_prepare): Move mouse pointer code to
	show_gc_cursor_and_message.
	* gc.c (gc_finish): Move mouse pointer code to
	remove_gc_cursor_and_message.
	* gc.c (gc): Call show/remove_gc_cursor_and_message.
	* gc.c (garbage_collect_1): Call
	show/remove_gc_cursor_and_message.

2006-02-22  Marcus Crestani  <crestani@xemacs.org>

	Asynchronous finalization:
	
	* Makefile.in.in: Remove mc-alloc, replace with newgc.
	* alloc.c (alloc_lrecord): Add object that has a finalizer
	to Vall_finalizable_objs.
	* alloc.c (noseeum_alloc_lrecord): Add object that has a finalizer
	to Vall_finalizable_objs.
	* alloc.c (alloc_lrecord_array): Add object that has a finalizer
	to Vall_finalizable_objs.
	* alloc.c (free_lrecord): Disable manual free.
	* dumper.c (pdump_register_object): Objects with finalizers cannot
	be dumped.
	* eval.c (Ffuncall): Add call to run_finalizers.
	* gc.c (finalize_elem): New.
	* gc.c (add_finalizable_object): New.
	* gc.c (register_for_finalization): New.
	* gc.c (gc_finalize): Call register_for_finalization.
	* gc.c (gc_1): Move kkcc_gc_stack_free after finalization. 
	* gc.c (common_init_gc_early): Add asynchronous finalization
	variables.
	* gc.c (init_gc_early): Add asynchronous finalization variables.
	* gc.c (vars_of_gc): Add asynchronous finalization variables.
	* gc.h: Add asynchronous finalization prototypes.
	* mc-alloc.c (finalize_heap): Remove.
	* mc-alloc.c (mc_free): Disable manual free.

	* elhash.c (finalize_hash_table): Remove unneeded finalizer for
	NEW_GC
	* extents.c (finalize_extent_info): Remove unneeded finalizer for
	NEW_GC.
	* file-coding.c (finalize_coding_system): Remove unneeded
	finalizer for NEW_GC.
	* gui.c (finalize_gui_item): Remove unneeded finalizer.
	* specifier.c (finalize_specifier): Remove unneeded finalizer for
	NEW_GC.

        Merge #ifdef MC_ALLOC into #ifdef NEW_GC, remove no longer needed
	MC_ALLOC specific code in all files: 
	* alloc.c:
	* buffer.c:
	* bytecode.c:
	* bytecode.h:
	* config.h.in:
	* console-stream.c:
	* console.c:
	* dumper.c:
	* dumper.h:
	* elhash.c:
	* emacs.c:
	* event-msw.c:
	* event-stream.c:
	* extents.c:
	* extents.c:
	* faces.h:
	* file-coding.c:
	* gc.c:
	* glyphs.h:
	* lisp.h:
	* lrecord.h:
	* lstream.c:
	* marker.c:
	* mc-alloc.c:
	* mc-alloc.h:
	* opaque.c:
	* print.c:
	* ralloc.c:
	* specifier.c:
	* symbols.c:
	* symeval.h:
	* symsinit.h:
	* tests.c:
	* xemacs.def.in.in:

ChangeLog Entries from tests/ChangeLog

goto announcement, summary, changes


2006-03-31  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.26 "endive" is released.

goto announcement, summary, changes

 
 

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