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

XEmacs 21.2.30 Release

Summary of Changes to 21.2.30 "Hygeia"

goto changes

  • Make (find-tag-other-window) always use other window, even if tag is found in buffer of current window, Samuel Mikes
  • Make configure complain about broken compiler versions (Jan Vroonhof, Yoshiki Hayashi, Bill Perry)
  • `write-region' now deals properly with non-ASCII file names, Martin Buchholz
  • `file-truename' now respects file-name-coding-system, Martin Buchholz
  • arm configure support fixed.
  • non-ASCII string handling performance boost, Martin Buchholz
  • Garbage collector performance boost, Martin Buchholz
  • Lisp engine performance boost, Martin Buchholz
  • New ldap API (Oscar Figueiredo)
  • (- 0) is now optimized to 0, not (-), Martin Buchholz
  • More gutter tabs fixes, Andy Piper

ChangeLogs for Release 21.2.30 "Hygeia" of XEmacs

goto summary


goto changes, summary

2000-02-19  Martin Buchholz  <martin@xemacs.org>

	* byte-optimize.el (byte-optimize-plus): 
	Optimize (- 0) to 0, not (-)
	Optimize (+ 5 3.0) to 8.0
        Optimize (* 5 3.0) to 15.0
	Improve readability.

2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* modeline.el: (modeline-scrolling-method): change modeline
	mswindows cursor appearance according to the value.

	* msw-faces.el: (mswindows-init-device-faces): Initialise 'default
	and 'gui-element face colors and 'gui-element face font to Windows

2000-02-09 Stef Epardaud  <stef@lunatech.com>
	* font-lock.el: Javadoc enhancements 

1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* ldap.el (toplevel): Test if LDAP support has been compiled in
	(ldap-verbose): New option
	(ldap-search-entries): Renamed from the previous ldap-search
	Conditionalize message display on ldap-verbose
	(ldap-add-entries, ldap-modify-entries, ldap-delete-entries): New
	(ldap-search): Is now defined as an obsolete wrapper calling 
	ldap-search-basic or ldap-search-entries

1999-12-06  Hirokazu FUKUI  <hfukui@sannet.ne.jp> 
            Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
	    Jan Vroonhof  <jan@xemacs.org>
        * byte-optimize.el (byte-optimize-form-code-walker): Fixed. 
        When for-effect is true, didn't call `byte-optimize-form' 
        in and/or subforms without last. 
1999-12-07  Jan Vroonhof  <vroonhof@math.ethz.ch> 
        * package-get.el (package-get-download-sites): Use correct custom 
2000-02-15  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* files.el (write-file): Ask for coding system when compiled with

2000-02-16  Andy Piper  <andy@xemacs.org>

	* buffer.el (switch-to-buffer): give norecord argument to
	set-window-buffer instead of explicitly recording.

	* gutter-items.el (buffers-tab-switch-to-buffer): don't record if
	we have to pick a window.

1999-12-24  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* mule/mule-cmds.el (describe-language-support): Don't add
	unexist function to help-map.
	(describe-coding-system): Don't use already assigend `C'.

2000-01-23  Björn Torkelsson  <torkel@hpc2n.umu.se>

	* info.el (Info-save-auto-generated-dir): nil -> 'never to make it
	work in custom.

2000-02-04  Kazuyuki IENAGA <kazz@imasy.or.jp>

	* about.el: Ienaga's e-mail address change.

2000-02-16  Samuel Mikes  <smikes@alumni.hmc.edu>

        * etags.el (find-tag): force new window -- even if buf already
        visible -- when other-window is t


goto changes, summary

2000-02-21  Andy Piper  <andy@xemacs.org>

	* lwlib.c (merge_widget_value_args): don't delete the args before
	copying, lw_copy_widget_value_args will do this for us if
	(lw_add_widget_value_arg): Allow existing args to be replaced.
	(free_widget_value_args): Set args to 0 rather than 0xdeadbeef,
	reference couting works better that way.
	(lw_copy_widget_value_args): Do the right thing.

	* lwlib-Xm.c (xm_create_progress): Make sensitive as this looks
	much better.
	* lwlib-Xaw.c (xaw_create_progress): ditto.

2000-02-12  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* xlwmenu.h (XmUNSPECIFIED_PIXMAP): Define this if we are using Motif
	compatible resource names.

	* xlwmenu.c (make_shadow_gcs): Always check for XmUNSPECIFIED_PIXMAP
	even if we are only 'compatible' with the Motif resources.

2000-02-15  Andy Piper  <andy@xemacs.org>

	* xlwgauge.c (GaugeExpose): remove shadows.


goto changes, summary

2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* internals/internals.texi: Made texinfmt-friendly.

2000-01-20  Mark Thomas  <mthomas@jprc.com>

	* lispref/backups.texi (Numbered Backups):
	* xemacs/files.texi (Backup Deletion):
	Change trim-versions-without-asking to delete-old-versions.

2000-02-19  Martin Buchholz  <martin@xemacs.org>

	* internals/internals.texi (Conversion to and from External Data):
	Document TO_EXTERNAL_FORMAT and friends.
	Doc bug fixes.


goto changes, summary

2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* README: Tidy up.
	Document need for makeinfo program or texinfo package.

	* Xmd.patch: New file, previously in README.

2000-02-17  Martin Buchholz  <martin@xemacs.org>

	* config.h: Delete unused HAVE_LINUX_VERSION_H.


goto changes, summary

2000-02-20  Martin Buchholz  <martin@xemacs.org>

	Performance hacking.
	* *.c (syms_of_*):
	Add INIT_LRECORD_IMPLEMENTATION macros, paired with
	DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
	* emacs.c (main_1):
	* lisp.h (DEFUN):
	* console.c (DEFVAR_CONSOLE_LOCAL_1):
	* buffer.c (DEFVAR_BUFFER_LOCAL_1):
	* symeval.h (DEFVAR_SYMVAL_FWD):
	* symbols.c (guts_of_unbound_marker):
	Make all c_readonly objects also lisp_readonly and marked for life.
	* lrecord.h (struct lrecord_implementation):
	Document flags better.
	* lrecord.h (DECLARE_LRECORD):
	* lrecord.h (XSETRECORD):
	* lrecord.h (RECORDP):
	* lrecord.h (RECORD_TYPEP):
	* lrecord.h (RECORD_MARKER): New.
	* lrecord.h (error_check_*):
	* lrecord.h (CONCHECK_NONRECORD):
	* lrecord.h (set_lheader_implementation):
	* lrecord.h (enum lrecord_type): New.
	* symeval.h (SYMBOL_VALUE_MAGIC_P):
	* alloc.c (disksave_object_finalization_1):
	* alloc.c (mark_object):
	* alloc.c (lrecord_type_index):
	* alloc.c (tick_lcrecord_stats):
	* alloc.c (Fgarbage_collect):
	* alloc.c (init_alloc_once_early):
	* alloc.c (pdump_load):
	* alloc.c (lrecord_type_index): Delete.
	Make lisp object type indexes be constant.  
	  Makes (byte-compile) 5% faster.
	Put all marker functions into their own array.  
	  Makes (garbage-collect) 5% faster.
	  Makes (byte-compile) 2-3% faster.
	* config.h.in (gc_checking_assert): New.
	* alloc.c: Use gc_checking_assert().
	* .dbxrc: Make compatible with new object type implementation.
	* .gdbinit: Make compatible with new object type implementation.
	* alloc.c: Delete all symbols defined only for debugging, such as
	Lisp_Type_Vector and lrecord_charset.

2000-02-21  Andy Piper  <andy@xemacs.org>

	* gui-msw.c (Fmswindows_shell_execute): fix file location

	* buffer.c (Fkill_buffer): remove buffer from alist buffer
	unshowing so that set_window_buffer doesn't undo
	kill_buffer_hook's hard work.

	* glyphs-widget.c (tab_control_query_geometry): don't count the
	first item when calculating geometry.

	* glyphs.c (map_subwindow): remove redundant code.
	(update_frame_subwindows): be more circumspect about when to
	update subwindows.

	* glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
	when items haven't changed. Update faces if faces have changed as
	well as just the widget face.
	(x_tab_control_update): Update faces if faces have changed as well
	as just the widget face.

2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* device-msw.c: (mswindows_delete_device): Remove redundant DDE
	(build_syscolor_string): Use mswindows_color_to_string to try to
	get a named color.
	(mswindows_device_system_metrics): Reverse the foreground and
	background colors so that they match the documentation.

	* objects-msw.c: (mswindows_X_color_map): tweak some values so
	they match the default Windows palette.
	(mswindows_color_to_string): New function.
2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.

2000-02-18  Olivier Galibert  <galibert@pobox.com>

	* m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
	* symbols.c (init_symbols_once_early): Removed obsolete
	DATA_SEG_BITS related kludge.
	(defvar_magic): Ditto.

	* malloc.c: Removed obsolete DATA_SEG_BITS
	* ralloc.c: Ditto.
	* mem-limits.h: Ditto.

	* Makefile.in.in: Removed obsolete HAVE_SHM
	* emacs.c: Ditto.

2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	*  device-msw.c (mswindows_delete_device): Free DDE string

2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>

	* keymap.c (get_keyelt): 
	* unexnt.c (unexec):
	* vm-limit.c (memory_warnings):
	* ntheap.c (recreate_heap):
	* ntheap.h (UNINIT_PTR):
	* select-msw.c (Fmswindows_get_clipboard): 
	* objects-msw.h (MSWINDOWS_BAD_HFONT):
	* objects-msw.c:
	* menubar-msw.c (displayable_menu_item):
	* glyphs-msw.c:
	* sysdep.c (sys_subshell):
	* process-nt.c (nt_create_process):
	* nt.c (normalize_filename):
	* ntproc.c (win32_executable_type):
	* ntplay.c (play_sound_data_1):
	* editfns.c (get_home_directory): 
	* event-msw.c (struct winsock_stream): 
	* device-msw.c (msprinter_init_device): 
	(msprinter_get_devmode_copy): Frobbed syntax frivolities.

	* toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
	mswindows_clear_toolbar were swapped!

	* objects-msw.c:(colormap_t):
	* emacs.c (struct standard_args): Fixed const jumble.

	* glyphs-widget.c (update_widget): Fixed comparison notation.

	* event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
	* s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
	__declspec(noreturn) syntax.

2000-02-19  Martin Buchholz  <martin@xemacs.org>

	* eldap.c (Fldap_open): 
	Use new coding system conversion macros.

2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>

	* console-tty.c (tty_init_console): Change MULE to FILE_CODING.

1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>

	* eldap.h (Fldap_search) Renamed from Fldap_search_internal: 
	(Fldap_add, Fldap_modify, Fldap_delete): New functions

	* eldap.c (Qadd, Qreplace): New constant symbols
	(Fldap_open): Use the LDAP_OPT_RESTART option to avoid
	interruptions by XEmacs signals
	Remove unnecessary calls to slow_down_interrupts and
	(Fldap_search_basic): Renamed from Fldap_search_internal
	Added new optional parameter VERBOSE that triggers the 
	display of progress messages
	Remove unnecessary calls to slow_down_interrupts and
	LDAP result code analysis rewritten
	(Fldap_add, Fldap_modify, Fldap_delete): New functions
	(syms_of_eldap): Define the new symbols and functions

2000-02-17  Martin Buchholz  <martin@xemacs.org>

	* realpath.c: Determine PATH_MAX maximally portably.

	* insdel.c (bytecount_to_charcount): Optimize.
	The function used to be optimized for entirely ASCII sequences.
	Now it is optimized for successive characters from the same
	charset.  This also wins big for _mostly_ ASCII sequences.

	* fileio.c (Ffile_truename): convert return from realpath() using
	Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
	- Rewrite GCPROing slightly.

	* sysdep.c (sys_open): Do filename conversion, like all other
	sys_* functions.  Fixes bug:
	(let ((file-name-coding-system 'iso-8859-2))
	   (write-region x y latin2-name))
	==> writes filename using internal encoding.

2000-02-18  Martin Buchholz  <martin@xemacs.org>

	* buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
	* console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
	* symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
	* eval.c (lrecord_subr): Remove this_one_is_unmarkable.
	* symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
	* symbols.c (guts_of_unbound_marker): Turn on c_readonly.
	* lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
	* alloc.c (this_one_is_unmarkable): Delete.
	(mark_object): Don't check for this_one_is_unmarkable. Use the
	c_readonly flag instead.
	* lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.

2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>

	* event-msw.c (mswindows_drain_windows_queue):
	(emacs_mswindows_handle_magic_event): Remove attempt to optimise
	away redundant repaint events.

2000-02-17  Andy Piper  <andy@xemacs.org>

	* redisplay.h: declare mark_redisplay_structs.

	* redisplay.c (redisplay_window):
	(redisplay_frame): don't check subwindows_state_changed.
	(mark_redisplay): mark gutters here.

	* glyphs.c: (instantiate_image_instantiator): always layout if we
	haven't done so already.
	(allocate_image_instance): don't mark as dirty.
	(update_subwindow): bind inhibit_quit.

	* gutter.c (mark_gutters): new function.

	* glyphs-x.c (x_update_widget): Always resize to get round a
	widget bug.

	* glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
	breaking absolutely everything.

	* gutter.h: declare mark_gutters.


goto changes, summary

2000-02-17  Martin Buchholz  <martin@xemacs.org>

	* automated/mule-tests.el: Added some fileio tests.

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