This release is timed mostly to get myself back in the swing of
things. However, the fixes to window configuration and Unicode keysym
support are important and I recommend that those who aren't following
CVS HEAD update to this version.
I know there are some fixes for MC_ALLOC in the pipeline, and probably
some other developers with work in progress. Feel free to ask me to
roll a new beta release if that seems appropriate. Build reports (M-x
build-report) and bug reports (M-x report-xemacs-bug) are of course
very welcome.
Upload is currently in progress; please allow about 3 hours from the
date of this message for that to complete.
Steve
Here's the beef (please report any BSE!):
* XEmacs 21.5.22 "cucumber" is released.
"cucumber" is the twenty-third in the VEGETABLE series.
The successor to XEmacs 21.5.21 "corn", "cucumber" adds important
fixes
to the window configuration code from Fabrice Popineau and Michael
Sperber. Aidan Kehoe added support for Unnnn-style keysyms on X11.
Although we still need better internal support for Unicode, this is an
important step.
For LISP programmers, Didier Verna added face aliasing support. This
has no immediate impact on users but will help us keep up with recent
changes in GNU Emacs face naming conventions, which are pervasive.
Marcus Crestani has performed a number of cleanups on his new
allocator code. There have been a few bug reports recently, but they
don't seem to affect very many people. Marcus's new allocator remains
the default in this release. If you experience problems in building
or running, give configure the `--disable-mc-alloc' option and
rebuild.
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.22 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 safe your work often and follow a regular backup regime.
* 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.21 source tree, a patchkit is available in
xemacs-21.5.21-21.5.22.patch.gz. This does not update .elcs or .infos,
they will be rebuilt when you make XEmacs. If you have an earlier
version, you can repeatedly apply patchkits.
Also, if you don't have the packages yet, see
http://www.xemacs.org/Documentation/packageGuide.html.
Anonymous (pserver) CVS:
Anonymous CVS is available. We are very grateful to the staff at our
host, SunSITE.dk, for a lot of help and quick reponse to all our
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.22, use the update
flag "-r r21-5-22". 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 .
* Brief summary of Changes to XEmacs 21.5.22 "cucumber"
-- Fix: window configuration subsystem. -- Michael Sperber, Fabrice Popineau
-- Fix: add generated dumper files to .cvsignore. -- Marcus Crestani
-- Fix: add generated makefiles to .cvsignore in ./modules. -- Craig Lanning
-- Fix: lispref - compose processing now goes direct to character, not
keysym. -- Aidan Kehoe
-- Improve: lispref - Mule explanations. -- Aidan Kehoe
-- Improve: lispref - remove discussion of pure storage, long disabled.
-- Aidan Kehoe
-- New: lispref - face aliasing. -- Didier Verna
-- New: face aliasing. -- Didier Verna
-- Fix: DLL implementation for Mac OS X "Tiger". -- Atanu Ghosh
-- Fix: false load path shadows after package update. -- Jeff Mincy,
Adrian Aichner
-- Fix: make CCL check for existence before using characters. -- Aidan Kehoe
-- Fix: memory descriptions for gap variables for better 64-bit support.
-- Darryl Okahata
-- Fix: various cleanups for MC_ALLOC. -- Marcus Crestani
-- Improve: use characters instead of keysyms in x-compose.el. Remove
iso8859 .els from dumped-lisp.el. -- Aidan Kehoe
-------- ChangeLog Entries from ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-07-20 Didier Verna <didier(a)xemacs.org>
* CHANGES-beta: Remove the face aliasing feature announcement.
2005-07-19 Didier Verna <didier(a)xemacs.org>
* CHANGES-beta: Announce the face aliasing feature.
-------- ChangeLog Entries from etc/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-07-17 Aidan Kehoe <kehoea(a)parhasard.net>
* NEWS: Add information on the last argument to event-to-character
being ignored.
-------- ChangeLog Entries from lib-src/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-06-28 Marcus Crestani <crestani(a)xemacs.org>
* .cvsignore: Add insert-data-in-exec.
-------- ChangeLog Entries from lisp/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-08-06 Mike Sperber <mike(a)xemacs.org>
* window-xemacs.el (really-set-window-configuration): Only set
the frame top and left if they've changed.
2005-08-04 Mike Sperber <mike(a)xemacs.org>
* window-xemacs.el (window-configuration-equal): Compare frame top
and left via `equal' rather than '=', as it can be nil.
2005-07-24 Fabrice Popineau <Fabrice.Popineau(a)supelec.fr>
* window-xemacs.el (really-set-window-configuration):
* window-xemacs.el (current-window-configuration):
* window-xemacs.el (window-configuration-equal):
* window-xemacs.el (window-configuration): Add `frame-top' and
`frame-left' field to windows configurations, and save and restore
them.
2005-06-26 Aidan Kehoe <kehoea(a)parhasard.net>
* cmdloop.el (read-quoted-char):
* isearch-mode.el (isearch-char-to-string):
Remove the fourth argument from event-to-character.
* dumped-lisp.el (preloaded-file-list):
No longer dump x-iso8859-1.el--we don't need it any more.
* x-init.el (x-initialize-keyboard):
* keymap.el (events-to-keys):
* events.el:
Rename the ascii-character keysym property to character-of-keysym.
* gtk-compose.el:
Don't depend on gtk-iso8859-1.el
* x-compose.el:
Move to using character literals rather than X11 keysyms as macro
expansions. Loses the ability to use another character encoding
for the Latin-1 characters in X11 composition with a bit of
programming, which no-one uses; also happily reduces dependence on
x-iso8859-1.el, which is no longer of use.
2005-06-06 Adrian Aichner <adrian(a)xemacs.org>
* package-get.el (package-get-init-package):
package-get-init-package buglet (21.4.17) by Jeff Mincy
<mincy(a)rcn.com> fixing false temporary load-path shadows reported
after package installation and simplifying code.
-------- ChangeLog Entries from lwlib/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
-------- ChangeLog Entries from man/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-07-20 Didier Verna <didier(a)xemacs.org>
* lispref/faces.texi (Basic Face Functions): Rephrase the face
aliasing paragraph following a suggestion from Stephen J.
Turnbull.
2005-07-19 Didier Verna <didier(a)xemacs.org>
* lispref/faces.texi (Basic Face Functions): Document the face
aliasing feature.
2005-07-17 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/commands.texi (Converting Events):
Give details on the deprecated ALLOW-NON-ASCII argument to
event-to-character, and why you shouldn't use it.
2005-06-26 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/commands.texi (Converting Events):
* lispref/keymaps.texi (Key Sequences):
Stop pretending ASCII is an eight-bit character set, and remove
documentation of event-to-character's vanished fourth argument.
* internals/internals.texi (Old Future Work -- Improvements in
support for non-ASCII (European) keysyms under X):
Rename the ascii-character property.
2005-06-19 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/building.texi (Building XEmacs and Object Allocation):
Pure storage has been gone for half a decade or more.
* lispref/mule.texi (Internationalization Terminology):
Phrase stuff a little more clearly, compare Mule with Unicode.
* lispref/lispref.texi (Top):
Take out info on pure storage.
-------- ChangeLog Entries from modules/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-06-09 Craig Lanning <CraigL(a)sc.rr.com>
* ldap/.cvsignore:
* sample/external/.cvsignore:
* sample/internal/.cvsignore:
Added GNUmakefile, Makefile, and Makefile.in
-------- ChangeLog Entries from netinstall/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
-------- ChangeLog Entries from nt/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
-------- ChangeLog Entries from nt/installer/Wise/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
-------- ChangeLog Entries from src/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
2005-07-29 Darryl Okahata <darrylo(a)xemacs.org>
* extents.c (lispobj_gap_array_description_1): fix the memory
descriptions for the "gap", "offset_past_gap", and
"els_past_gap"
members. Before, they were incorrectly defined as "XD_INT"
objects. They've been corrected to use "XD_ELEMCOUNT" and
"XD_BYTECOUNT", as that is how they are defined in the actual
Gap_Array declaration. This is important on systems where
sizeof(int) != sizeof(long), such as some 64-bit systems.
2005-07-24 Fabrice Popineau <Fabrice.Popineau(a)supelec.fr>
* frame-msw.c (mswindows_set_frame_size): Don't have a frame size
change trigger restoring the frame.
2005-07-20 Didier Verna <didier(a)xemacs.org>
Following suggestions from Stephen J. Turnbull:
* faces.c (Qcyclic_face_alias): New name for
Qcyclic_face_aliasing.
* faces.c (Ffind_face): Use it. Rename FACE_ALIASING_MAX_DEPTH to
FACE_ALIAS_MAX_DEPTH.
* faces.c (syms_of_faces): Ditto.
2005-07-19 Didier Verna <didier(a)xemacs.org>
* faces.c (Ffind_face): Implement face aliasing.
* faces.c (syms_of_faces): Define Qface_alias symbol, and
Qcyclic_face_aliasing error symbol.
2005-07-17 Aidan Kehoe <kehoea(a)parhasard.net>
* cmds.c (Fself_insert_command):
* editfns.c (Fchar_to_string):
* event-stream.c (Fnext_event):
* event-stream.c (execute_command_event):
* events.c (Fevent_to_character):
* keymap.c (Ftext_char_description):
* lisp.h:
Add back the last argument to event-to-character; document that
it's unused.
2005-07-11 Atanu Ghosh <atanu(a)icsi.berkeley.edu>
* sysdll.c (dll_open): Under MacOS X return NULL under the
filename is NULL. Fixes problems finding local symbols under 10.4
(Tiger)
2005-07-07 Aidan Kehoe <kehoea(a)parhasard.net>
* console-msw.c:
* console-msw.c (mswindows_perhaps_init_unseen_key_defaults):
* console-msw.c (vars_of_console_mswindows):
Rename Qseen_characters to Vmswindows_seen_characters, dump it
when pdump is in use.
* console-tty.c (tty_perhaps_init_unseen_key_defaults):
* console-tty.c (vars_of_console_tty):
Rename Qseen_characters to Vttyxo_seen_characters, dump it
when pdump is in use.
2005-06-29 Marcus Crestani <crestani(a)xemacs.org>
Fix C++ build for unexec.
* unexelf.c: Adjust fatal and unexec to the declarations in
lisp.h.
* unexelf.c (unexec): Remove unneeded arguments from fatal calls.
2005-07-03 Aidan Kehoe <kehoea(a)parhasard.net>
* event-Xt.c:
* event-gtk.c:
* events.c (event_to_character):
* general-slots.h:
Move the Qkey_mapping variable to general-slots.h, now that it's
used outside the platform specific keyboard warning code.
2005-06-28 Marcus Crestani <crestani(a)xemacs.org>
* console-x.c (x_perhaps_init_unseen_key_defaults): Use
build_intstring to avoid type error.
* event-Xt.c (x_keysym_to_emacs_keysym): Add cast to avoid type
error.
2005-06-28 Marcus Crestani <crestani(a)xemacs.org>
* .cvsignore: Add dump-size, xemacs.def, xemacs.def.in.
2005-06-28 Marcus Crestani <crestani(a)xemacs.org>
* gpmevent.c: Remove workaround.
* gpmevent.c (Fgpm_enable): Use GET_DEFUN_LISP_OBJECT to get
Lisp_Object of a built-in function.
* gpmevent.c (syms_of_gpmevent): Remove workaround.
* lisp.h (GET_DEFUN_LISP_OBJECT): New. Returns Lisp_Object of a
DEFUN.
* tooltalk.c (init_tooltalk): Use GET_DEFUN_LISP_OBJECT to get
Lisp_Object of a built-in function.
2005-06-26 Aidan Kehoe <kehoea(a)parhasard.net>
* event-stream.c (command_builder_find_leaf):
* mule-ccl.c (POSSIBLE_LEADING_BYTE_P):
* mule-ccl.c (ccl_driver):
Couple of build fixes.
2005-06-26 Aidan Kehoe <kehoea(a)parhasard.net>
* mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
* mule-ccl.c: Check that a character set exists before using it
to create a character.
2005-06-26 Aidan Kehoe <kehoea(a)parhasard.net>
* cmds.c (Fself_insert_command):
No 4th arg to event_to_character.
* console-impl.h (struct console_methods): Add a new member
method, perhaps_init_unseen_key_defaults, which is to allow the
console to take appropriate action--often a default binding to
self-insert-command--when notified about a character it may not
have seen before.
* console-gtk.c:
Add gtk_perhaps_init_unseen_key_defaults, a new console method,
and a hash table it uses.
* console-msw.c:
Add mswindows_perhaps_init_unseen_key_defaults, a new console
method, and a hash table it uses.
* console-tty.c:
Add tty_perhaps_init_unseen_key_defaults, a new console method,
and a hash table used by it.
* console-x.c:
* console-x.c (x_perhaps_init_unseen_key_defaults): New.
Given a key, if it maps to a character and we weren't previously
aware that it could be generated on console CON, and if it's
unbound in the global map, bind it to self-insert-command. Return
Qt if the binding was done; Qnil if not.
* device-gtk.c:
* device-gtk.c (vars_of_device_gtk):
Add a hash table var used by gtk_perhaps_init_unseen_key_defaults.
* editfns.c (Fchar_to_string):
Call Fevent_to_character with three arguments, not four; don't
express a belief that the only XEmacs character encoding is
ASCII.
* event-Xt.c:
* event-Xt.c (maybe_define_x_key_as_self_inserting_character):
ascii-character -> character-of-keysym property renaming.
* event-Xt.c (x_has_keysym):
Make it visible to the console code, make it a little more Mule-safe.
* event-Xt.c (index_to_name):
Move to Mule declaration conventions.
* event-Xt.c (x_reset_modifier_mapping):
Move large comment from Jamie before this function.
* event-Xt.c (x_keysym_to_emacs_keysym):
Move to Mule declaration conventions and coding practices.
* event-Xt.c (x_event_to_emacs_event):
Add some comments, and the initial steps necessary for Russian C-x
support.
* event-msw.c (mswindows_wnd_proc):
Don't conditionalize Russian C-x support on Mule. (I'm not certain
if this is correct on MSW, but it's the approach I'm taking on
X11.)
* event-stream.c:
Add Russian C-x support, a var to enable and disable it, remove
composed-character-default-binding in favour of
self-insert-command, rename
command_builder_find_leaf_no_mule_processing to
command_builder_find_leaf_no_jit_binding, change
command_builder_find_leaf to tell the console-specific code to
perhaps add a binding for keys its never seen before, and then
retry the lookup if it would otherwise fail.
* event-stream.c (execute_command_event):
event-to-character has three arguments now, not four.
* event-stream.c (vars_of_event_stream):
Formatting clean up for inhibit-input-event-recoding.
* event-xlike-inc.c:
* event-xlike-inc.c (endif):
Move x_keysym_to_character here from event-Xt.c so it can be used
by GTK 1.0 as well; greatly expand it, to handle many more
characters than previously.
* events.c:
Rename the ascii-character property, remove
character-set-property, remove the now unused fourth argument to
event_to_character, ditto for the event-to-character,
* events.h (enum alternative_key_chars):
* events.h (struct Lisp_Key_Data):
Russian C-x processing is no longer Mule specific. (Though I'm not
certain why a Russian speaker would be using a non-Mule build.)
* keymap.c:
* keymap.c (event_matches_key_specifier_p):
* keymap.c (map_keymap_sort_predicate):
* keymap.c (Ftext_char_description):
* keymap.c (elide_next_two_p):
* keymap.c (describe_map):
Rename ascii-character to character-of-keysym, stop pretending the
internal encoding of XEmacs is purely ASCII,
* lisp.h:
* sysdep.c (tty_init_sys_modes_on_device):
One less argument to event-to-character.
2005-06-23 Marcus Crestani <crestani(a)xemacs.org>
* dumper.c (pdump_load_finish): Use EMACS_INT for elt_count.
2005-06-19 Aidan Kehoe <kehoea(a)parhasard.net>
* file-coding.c:
* mule-coding.c:
The vernacular in Taiwan, and thus the language for which Big5 is
most used, is Mandarin. Taiwanese does exist, but since the
Chinese civil war, it's used less and less in Taiwan.
2005-06-06 Marcus Crestani <crestani(a)xemacs.org>
* lisp.h (DEFUN): Define S##fname here.
* lisp.h (DEFUN_NORETURN): Define S##fname here.
* symeval.h (DEFSUBR_MC_ALLOC): Use already defined S##fname.
2005-06-01 Marcus Crestani <crestani(a)xemacs.org>
* ralloc.c:
* ralloc.c (r_alloc_free): Call refill_memory_reserve only if
MC_ALLOC is not defined.
-------- ChangeLog Entries from tests/ChangeLog --------
2005-09-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.22 "cucumber" is released.
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.