* XEmacs 21.5.25 "eggplant" is released.
"eggplant" is the twenty-sixth in the VEGETABLE series.
The successor to XEmacs 21.5.24 "dandelion", "eggplant" adds a
clearer
and more convenient interface to configuring package locations, and the
usual assortment of fixes and improvements.
The main purpose of this release is as a "checkpoint" before a large and
possibly destabilizing patch to the garbage collector. At this point
policy is uncertain, but there is a proposal under discussion to make
Marcus Crestani's new incremental garbage collector the default after
it's checked in next week. Those who would like to maintain maximum
stability may configure with `--disable-newgc'. (`--enable-kkcc' will
remain the default, and `--enable-mc-alloc' will be *removed*, as most
of its function is included in `--enable-newgc'.)
The `--with-package-prefix' option introduced in 21.5.19 has been
removed, in favor of a more flexible scheme with either functional or
logical specifications:
Functional name | Logical name | Default
-----------------------+-----------------------+---------------------
--with-user-packages | --with-early-packages | "~/.xemacs"
--with-system-packages | --with-late-packages | "$prefix/lib/xemacs"
--with-legacy-packages | --with-last-packages | (nil)
Each option takes a colon-separated (for MS Windows, semicolon-separated)
list of directories as argument. Each directory is interpreted as a
"package directory" which may contain one or more of the subdirectories
"site-packages", "mule-packages", and "xemacs-packages".
Under each of
the *-packages subdirectories, any Lisp packages found installed into the
lisp, lib-src, info, etc, man, and pkginfo directories in the usual way
will have their auto-autoloads and custom-load libraries loaded, and
their lisp directory added to LOAD-PATH in the normal startup process.
If you have been using `--with-package-prefix=PREFIX', you should get the
same effect with `--with-system-packages=PREFIX'.
Two crashes have been fixed, in Xft related to fonts with non-ASCII names
and in the syntax cache triggered by the combination of cperl-mode and
completion.el. Other minor fixes and improvements are listed below, with
detailed descriptions in the ChangeLogs.
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.25 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 requires a build and test cycle
with no regressions. However, building and testing on the release
engineer's host is all the quality assurance that is done for most
beta releases. Make sure you checkpoint to a known good version of
XEmacs (a CVS tag or tarball) before overwriting your 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.24 source tree, a patchkit is available in
xemacs-21.5.24-21.5.25.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.25, use the update
flag "-r r21-5-25". 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/
* Brief summary of Changes to XEmacs 21.5.25 "eggplant"
Major Features and Backward Incompatible Changes
-- Fix: crash due to broken initialization of syntax cache. -- Stephen Turnbull
-- Fix: crash due to incomplete Mule-ization of x_font_instance_truename. -- Stephen
Turnbull
-- Improve: configure UI for packages. -- Mike Sperber
User-Visible Bug Fixes and Minor Improvements
-- Fix: default char-syntax of CJK to ?w failed. -- Aidan Kehoe
-- Fix: missing fonts due to MAX_FONT_COUNT = 5000 isn't infinite any more. -- Aidan
Kehoe
-- Fix: missing setlocale(3) initialization in Mule. -- Aidan Kehoe
-- Improve: Java support in font-lock. -- Martin Buchholz
-- Improve: Russian C-x processing. -- Aidan Kehoe
-- Improve: use logical "beta" path to downloads. -- Adrian
-- New: euc-cn coding system alias for cn-gb-2312. -- Aidan Kehoe
-- Update: package download sites. -- Adrian Aichner
Build Infrastructure
-- Fix: conditionalization of checks for Xft library. -- Mike Sperber
-- Fix: deletion of user-created links in distclean. -- Mike Sperber
-- Fix: reporting of Xft in Installation. -- Stephen Turnbull
-- Improve: cygwin include and no-X Xpm handling in configure. -- Vin Shelton
Documentation
-- Improve: comments. -- Aidan Kehoe, Stephen Turnbull
-- New: node on keyboards with which one can't type Latin. -- Aidan Kehoe
-- Update: Info docs for new package-path configuratin syntax. -- Mike Sperber
Lisp API
-- New: rename command and binding in buffer menu mode. -- Stephen Turnbull
Internal API and Implementation
-- Fix: "not char-or-int-p: nil" bug in easymenu. -- Aidan Kehoe
-- Fix: C++ correctness. -- Marcus Crestani
-- Fix: buggy computation of dynarr size. -- Marcus Crestani
-- Fix: char/event confusion introduced by a GNU Emacs sync. -- Aidan Kehoe
-- Fix: missing hardware-specific X11 keycode initialization. -- Aidan Kehoe
-- Fix: syntax errors. -- Andrey Slusar
-- Fix: workaround missing d_ino field from 'struct dirent'. -- Rick Rankin
-- Fix: x_find_charset_font returned Qunboundp inefficiently. -- Aidan Kehoe
-- Fix: x_find_charset_font wasn't Mule-ized. -- Stephen Turnbull
-- Improve: Cygwin support in MC_ALLOC. -- Marcus Crestani
-- Improve: silence redundant gc cache warning. -- Marcus Crestani
-- Improve: syntax cache factoring and documentation. -- Stephen Turnbull
-------- ChangeLog Entries from ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
2006-02-18 Stephen J. Turnbull <stephen(a)xemacs.org>
* configure.ac (Mule): Mark broken test with ####.
2006-02-18 Stephen J. Turnbull <stephen(a)xemacs.org>
* configure.ac (Mule): Remove obsolete comment on XIM.
2006-01-30 Vin Shelton <acs(a)xemacs.org>
* configure.ac: Simplify cygwin include and no-X Xpm handling.
As of cygwin-1.5.19 (if you're using /bin/gcc),
'gcc -print-file-name=libc.a' (effectively) returns '/lib'
instead of '/usr/lib', so we'll use 'gcc -print-search-dirs'
instead.
2005-12-29 Mike Sperber <mike(a)xemacs.org>
* Makefile.in.in (top-distclean-noconfig): Don't delete
site-packages xemacs-packages mule-packages site-lisp---those are
supposed to stick around.
2005-11-25 Mike Sperber <mike(a)xemacs.org>
* CHANGES-beta:
* configure.ac: Zap --with-package-prefix; instead, add
--with-user-packages/--with-early-packages,
--with-system-packages/--with-late-packages, and
--with-legacy-packages/--with-last-packages.
2005-12-13 Mike Sperber <mike(a)xemacs.org>
* configure.ac: Move the checks for the Xft-associated library out
of a conditional.
2005-12-23 Stephen J. Turnbull <stephen(a)xemacs.org>
* configure.ac (Xft): Fix typo preventing report of Xft buffers.
Remove now-irrelevant comments.
2005-12-22 Stephen J. Turnbull <stephen(a)xemacs.org>
* configure.ac: Three typos fixed.
2005-12-13 Mike Sperber <mike(a)xemacs.org>
* configure.ac: Move the checks for the Xft-associated
library out of a conditional.
-------- ChangeLog Entries from etc/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
-------- ChangeLog Entries from lib-src/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
-------- ChangeLog Entries from lisp/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
2006-02-05 Aidan Kehoe <kehoea(a)parhasard.net>
* easymenu.el: Update copyright.
* easymenu.el (easy-menu-all-popups):
Add a docstring.
* easymenu.el (easy-menu-add):
Document a bug, rework the function to preserve any existing
non-default mode-popup-menu instead of overwriting it, and not to
bother normalising the menu title (nothing else does).
* easymenu.el (easy-menu-remove):
Restore the default mode-popup-menu instead of leaving an empty
one when we remove the last easy-menu popup.
2004-01-19 Martin Buchholz <martin(a)xemacs.org>
* font-lock.el: Add support for not-so recent changes in Java to
java-mode.
2006-01-08 Aidan Kehoe <kehoea(a)parhasard.net>
* cmdloop.el (read-quoted-char):
Eliminate some char/event confusion introduced by a GNU Emacs
sync.
2006-01-06 Adrian Aichner <adrian(a)xemacs.org>
* package-get.el (package-get-download-sites): Add
pt.xemacs.org,
as suggested by Rodrigo Ventura.
* package-get.el (package-get-pre-release-download-sites): Ditto,
with replacement of xemacs-21.5 by beta, which is the logical path
to our beta core and package pre-releases.
2005-12-30 Mike Sperber <mike(a)xemacs.org>
* packages.el (packages-find-all-package-hierarchies): Interpret
EMACSPACKAGEPATH as listing package direcories, not hierarchies.
This fixes a regression introduced in the change on 2005-01-08.
2005-11-25 Mike Sperber <mike(a)xemacs.org>
* packages.el (packages-find-package-hierarchies-named): Use
`file-name-as-directory' to normalize something which may not
have a trailing path separator.
* package-get.el (package-get-package-index-file-location): Fix
essentially bogus definition.
* package-admin.el (package-admin-find-top-directory): Use the
existing variables rather than groking the paths from scratch, and
greatly simplify.
* packages.el (packages-find-all-package-hierarchies):
Take into account `configure-early-package-hierarchies',
`configure-late-package-hierarchies',
`configure-last-package-hierarchies', as set by configure.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/chinese.el:
* mule/chinese.el ('euc-china): Removed. Shouldn't have been
uncommented in the first place.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/mule-cmds.el (set-language-environment-coding-systems):
* mule/mule-cmds.el (init-locale-at-early-startup):
Call set-current-locale (the wrapper for setlocale(3)) before
checking the current locale, because the C code doesn't.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/chinese.el:
Make euc-cn available as a coding system alias for cn-gb-2312, for
the sake of consistency with euc-jp, euc-ko and the FSF.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* x-win-sun.el (x-win-init-sun):
* x-win-xfree86.el (x-win-init-xfree86):
Initialise the hardware-specific mapping from raw keycodes to the
US key layout.
2005-12-22 Stephen J. Turnbull <stephen(a)xemacs.org>
* buff-menu.el (Buffer-menu-rename): New command.
(Buffer-menu-mode-map): Bind it to ?r.
-------- ChangeLog Entries from lwlib/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
2005-12-21 Andrey Slusar <anrays(a)gmail.com>
* xlwmenu.c (make_drawing_gcs): Fix build with gcc 2.95.
-------- ChangeLog Entries from man/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
2005-11-25 Mike Sperber <mike(a)xemacs.org>
* lispref/packaging.texi (The User View):
* xemacs/startup.texi (Startup Paths):
* xemacs-faq.texi (Q2.1.6): Document new configure options and
environment variables for
package locations.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* xemacs/keystrokes.texi (Keystrokes):
Add new node on keyboards with which one can't type Latin.
* xemacs/keystrokes.texi (Non-Latin keyboards):
Describe the support for falling back to a US key layout on
keyboards where typing the Roman alphabet is difficult.
-------- ChangeLog Entries from modules/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
-------- ChangeLog Entries from netinstall/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
2005-11-25 Mike Sperber <mike(a)xemacs.org>
* reginfo.h (XEMACS_INFO_XEMACS_EARLY_PACKAGES_KEY)
(XEMACS_INFO_XEMACS_LATE_PACKAGES_KEY)
(XEMACS_INFO_XEMACS_LAST_PACKAGES_KEY): Add.
-------- ChangeLog Entries from nt/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
-------- ChangeLog Entries from nt/installer/Wise/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
-------- ChangeLog Entries from src/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
2006-02-22 Stephen J. Turnbull <stephen(a)xemacs.org>
* syntax.c: Move static functions in syntax_cache page to top.
2006-02-19 Stephen J. Turnbull <stephen(a)xemacs.org>
Fix crash (cf. Holger Schauer <yxz7j7xzk97.fsf(a)gimli.holgi.priv>).
Improve nomenclature (some identifiers were misnamed with
"syntax_table" although they are purely related to syntax cache).
Add lots of comments explaining logic and use of arguments.
* syntax.c (setup_syntax_cache): Fix broken logic that
initialized prev_change and next_change members to Qnil for syntax
caches associated with buffers, triggering an assertion because
the update functions expect those members to markers.
* syntax.c (signal_syntax_cache_extent_changed):
* syntax.c (reset_buffer_syntax_cache_range):
Rename reset_buffer_cache_range to reset_buffer_syntax_cache_range.
* lisp.h (signal_syntax_cache_extent_changed):
* syntax.c (signal_syntax_cache_extent_changed)
* syntax.c (update_syntax_cache):
* extents.c (signal_single_extent_changed):
Rename signal_syntax_table_extent_changed to
signal_syntax_cache_extent_changed.
* lisp.h (signal_syntax_cache_extent_adjust):
* syntax.c (signal_syntax_cache_extent_adjust):
* insdel.c (buffer_delete_range, buffer_insert_string_1):
Rename signal_syntax_table_extent_adjust to
signal_syntax_cache_extent_adjust.
* syntax.h (update_syntax_cache): Fix typo in comment.
2006-02-16 Marcus Crestani <crestani(a)xemacs.org>
* xgccache.c (gc_cache_lookup): Remove "Cache full" warning.
2006-01-21 Marcus Crestani <crestani(a)xemacs.org>
* mc-alloc.c (init_mc_allocator): Cygwin claims to have a 64k
page size, add it.
2006-01-20 Rick Rankin <rrankin1424-xemacs(a)yahoo.com>
* sysdir.h: Workaround missing d_ino field from 'struct dirent'.
2006-01-19 Marcus Crestani <crestani(a)xemacs.org>
* dynarr.c (Dynarr_realloc): Determine size of memory region to
copy correctly, fix types.
* dynarr.c (Dynarr_lisp_realloc): Determine size of memory region
to copy correctly.
* dynarr.c (Dynarr_resize): Call Dynarr_realloc with number of
elements instead of memory region size.
2006-01-19 Marcus Crestani <crestani(a)xemacs.org>
* objects-x.c (x_find_charset_font): Add cast to fix C++ build.
2005-11-25 Mike Sperber <mike(a)xemacs.org>
* nt.c (init_mswindows_environment): Add EMACSEARLYPACKAGES,
EMACSLATEPACKAGES, EMACSLASTPACKAGES.
* config.h.in:
(PATH_EARLY_PACKAGE_DIRECTORIES, PATH_LATE_PACKAGE_DIRECTORIES)
(PATH_LAST_PACKAGE_DIRECTORIES): Add.
* paths.h.in:
(PATH_EARLY_PACKAGE_DIRECTORIES, PATH_LATE_PACKAGE_DIRECTORIES)
(PATH_LAST_PACKAGE_DIRECTORIES): Add.
* emacs.c: Add Vconfigure_early_package_directories,
Vconfigure_late_package_directories,
Vconfigure_last_package_directories.
(complex_vars_of_emacs): Set them.
2005-12-25 Aidan Kehoe <kehoea(a)parhasard.net>
* alloc.c:
* alloc.c (malloc_warning):
* alloc.c (MALLOC_BEGIN):
* alloc.c (FREE_OR_REALLOC_BEGIN):
Revert the alloc warning bugfix, in response to Stephen's mail
87acepzl6e.fsf(a)tleepslib.sk.tsukuba.ac.jp .
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* objects-x.c (x_font_instance_truename):
* objects-x.c (x_find_charset_font):
Reintroduce my change of 2005-12-20 and Stephen's of 2005-12-23,
which my last commit overrode.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* event-Xt.c:
Add two new lisp variables, x-us-keymap-description and
x-us-keymap-first-keycode to better provide a fallback to the US
layout with keyboards where typing the Roman alphabet and those
punctuation symbols that have command bindings associated with
them is difficult.
* event-Xt.c (x_event_to_emacs_event):
Use those two Lisp variables to improve Russian C-x processing.
* event-stream.c (command_builder_find_leaf):
Make a comment more readable.
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* alloc.c (MALLOC_BEGIN):
Assert that we're either not in malloc, or warning about memory
being low.
* alloc.c (MALLOC_WARNING_BEGIN, MALLOC_WARNING_END):
Add two clauses to set and clear a flag that we're in a low-memory
warning situation.
* alloc.c (malloc_warning):
Move it after the definition of MALLOC_WARNING_BEGIN,
MALLOC_WARNING_END
2005-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* objects-gtk.c (MAX_FONT_COUNT):
* objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
to INT_MAX. Applies to both the X and GTK platforms.
2005-12-23 Stephen J. Turnbull <stephen(a)xemacs.org>
* objects-x.c (x_find_charset_font): More mule-ization.
2005-12-23 Stephen J. Turnbull <stephen(a)xemacs.org>
* objects-x.c (x_font_instance_truename): Mule-ize handling of
font name (Xft names are UTF-8). Fixes crash.
2005-12-20 Aidan Kehoe <kehoea(a)parhasard.net>
* objects-x.c (x_find_charset_font):
Return Qnil on no match, not Qunbound. Fixes performance issues
based on the use of this return value in
objects.c:font_instantiate
2005-12-18 Aidan Kehoe <kehoea(a)parhasard.net>
* syntax.c (charset_syntax):
* syntax.c (update_just_this_syntax_table):
* syntax.c (complex_vars_of_syntax):
To my embarrassment, my previous change didn't actually work. This
change makes
(char-syntax (make-char 'chinese-cns11643-1 50 50))
give ?w, the expected result after the last change.
-------- ChangeLog Entries from tests/ChangeLog --------
2006-02-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.25 "eggplant" is released.
--
University of Tsukuba Graduate School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.