Contents in 1999-06-04-13 of release-21-2.
[chise/xemacs-chise.git.1] / src / ChangeLog
index aa84b92..34ab6df 100644 (file)
+1999-06-03  SL Baur  <steve@xemacs.org>
+
+       * config.h.in:
+       * emacs.c:  Implement x.y.z version numbers
+       From Jan Vroonhof <vroonhof@math.ethz.ch>
+
+1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Registry of
+       japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
+       "jisc6226.1983".
+
+1999-06-03  SL Baur  <steve@xemacs.org>
+
+       * frame-x.c:
+       * device-x.c: rename session option to wmcommand.
+       From Oliver Graf <ograf@rhein-zeitung.de>
+
+1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fsubstring): Don't traverse the same region twice with
+       charcount_to_bytecount().
+
+1999-06-03  SL Baur  <steve@steve1.m17n.org>
+
+       * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
+       garbage.
+
+       * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
+       doesn't really work as is implied by the commentary).
+       Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
+
+1999-06-02  SL Baur  <steve@steve1.m17n.org>
+
+       * symsinit.h: Declare vars_of_ntproc.
+       * emacs.c (main_1): Call it.
+
+       * ntproc.c (syms_of_ntproc): Move variable initializations from
+       here ...
+       (vars_of_ntproc): ... to here [new function].
+
+       * file-coding.c (syms_of_file_coding): Rename.
+       (vars_of_file_coding): Ditto.
+       (complex_vars_of_file_coding): Ditto.
+
+       * symsinit.h: Rename *_mule_coding to *_file_coding.
+
+       * emacs.c (main_1): Call them by the proper name.
+
+       * device-msw.c (syms_of_device_mswindows): Move variable
+       initializations from here ...
+       (vars_of_device_mswindows): ... to here.
+
+       * chartab.c (vars_of_chartab): New function.
+
+       * symsinit.h: New function, vars_of_chartab.
+
+       * emacs.c (main_1): Call it.
+
+       * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
+       (vars_of_mule_canna): ... to here.
+
+       * mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
+       initializations out of syms_of_mule_ccl.
+
+       * symsinit.h: Declare new function vars_of_mule_ccl.
+
+       * emacs.c (main_1): Call it.
+
+1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (base64_decode_1): Ignore whitespace.
+
+1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
+       ARG2.
+
+1999-05-21  Andy Piper  <andy@xemacs.org>
+       
+       * xselect.c: deleted.
+       
+       * symsinit.h: declare select initialisation.
+
+       * select.h: new file. declare commonly used select functions and
+       variables.
+
+       * select.c: new file. generalised from xselect.c.
+       (clean_local_selection_data): moved from xselect.c.
+       (get_local_selection): ditto. device specific pieces called via a
+       devmeth.
+       (handle_selection_clear): ditto.
+       (Fown_selection_internal): renamed and generalised from
+       Fx_own_selection_internal. moved from xselect.c.
+       (Fdisown_selection_internal): ditto.
+       (Fselection_owner_p): ditto.
+       (Fselection_exists_p): ditto.
+       (Fget_selection_internal): ditto.
+       (syms_of_select): new function. QXXXX values moved from xselect.c
+       (vars_of_select): new function. selection_converter_alist,
+       lost_selection_hooks moved and renamed from xselect.c
+
+       * select-x.c: renamed from xselect.c.
+       (x_own_selection): converted to device specific. non-X-specific
+       bits moved to select.c.
+       (x_get_foreign_selection): ditto.
+       (x_disown_selection): ditto.
+       (x_selection_exists_p): ditto.
+       (console_type_create_select_x): new function.
+
+       * select-msw.c (mswindows_own_selection): new device method to set
+       the clipboard when we 'own' the selection.
+       (mswindows_get_foreign_selection): new device method to get the
+       clipboard.
+       (mswindows_disown_selection): new device method to delete the
+       selection when we 'disown' it.
+       (console_type_create_select_mswindows): new function.
+
+       * emacs.c (main_1): add select to things to initialise.
+
+       * console.h (struct console_methods): new console methods for
+       selection.
+
+       * Makefile.in.in (x_objs): xselect.c renamed to select-x.c
+
+1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * print.c (long_to_string): Install a faster version.
+
+1999-05-16  Andy Piper  <andy@xemacs.org>
+
+       * ntproc.c (syms_of_ntproc): default
+       win32-start-process-share-console to t.
+
+1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * config.h.in: Do it here.
+
+       * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.
+
+1999-05-14  Andy Piper  <andy@xemacs.org>
+
+       * toolbar-msw.c (mswindows_output_toolbar): hash on something
+       hashable.
+
+1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.14 is released
+
+1999-05-12  Andy Piper  <andy@xemacs.org>
+
+       * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.
+
+1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
+       run_temacs_argv array -- fixes random memory corruption crash
+
+1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * window.c (Fcurrent_window_configuration):
+       Save minibuffer height;
+
+       * window.c (set_window_configuration): use it.
+
+1999-05-10  Robert Pluim  <rpluim@bigfoot.com>
+
+       * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version
+
+1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * redisplay.c (redisplay_window): Do not put data
+       in the line start cache if it is not guaranteed to be correct
+
+1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * window.c (struct window_config): Removed frame
+       size members.
+       (window_config_equal): No longer compare frame sizes.
+       (Fset_window_configuration): Resize old top window to fit in the
+       current frame directly, no longer use a fake frame resize.
+       (Fcurrent_window_configuration): No longer save frame size
+
+1999-05-11  Andy Piper  <andy@xemacs.org>
+
+       * ntproc.c (sys_spawnve): actually assign argv[0] instead of the
+       first character.
+
+1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * sysdep.c (init_system_name): If gethostname gives a proper
+       domain name, don't look further for one.
+
+1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
+       (Fintern_soft): Accept a symbol argument.
+
+1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * symbols.c (Fintern): ...do it here.
+
+       * lread.c (read_atom): Don't handle keywords here.
+
+1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.
+
+1999-05-03  Olivier Galibert  <galibert@pobox.com>
+
+       * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
+       is interned in the main obarray.
+
+1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+        
+       * menubar-x.c (pre_activate_callback): set accelerator field in
+       "No menu" entries to nil. Avoid crash in
+       command_builder_operate_menu_accelerator
+
+1999-05-03  Olivier Galibert  <galibert@pobox.com>
+
+       * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
+
+       * lisp.h (DEFUN): Fix lrecord header initialisation.
+
+1999-05-02  Andy Piper  <andy@xemacs.org>
+
+       * objects-msw.c (mswindows_font_instance_truename): add a ';'.
+
+       * ntproc.c (sys_kill): cast using MS mandated defines.
+
+1999-04-29  Andy Piper  <andy@xemacs.org>
+
+       * m/intel386.h: remove redundant definitions.
+
+       * s/mingw32.h: new header for mingw32.
+       
+       * unexnt.c: (open_input_file): function moved to nt.c.
+       (close_file_data): ditto.
+       (rva_to_section): function moved to ntproc.
+
+       * symsinit.h: declare syms_of_ntproc();
+       
+       * objects-msw.c (mswindows_font_instance_truename): new function.
+
+       * ntproc.c: remove many warnings.
+       (_sys_read_ahead): moved from nt.c and made static.
+       (rva_to_section): moved from unexnt.c but not defined under
+       mingw32.
+       (win32_executable_type): implement what we can for mingw32
+       headers.
+       (sys_spawnve): fix bad MULE/GCPRO bug in filename handling.
+
+       * ntheap.h: remove declarations of functions that are now static.
+       
+       * ntheap.c: support static heap.
+
+       * nt.h: conditionalise X_OK definition.
+
+       * nt.c: eliminate many warnings and support mingw32.
+       (open_input_file): function moved from unexnt.c and made static
+       (close_file_data): ditto.
+       (_sys_read_ahead): moved to ntproc.c
+
+       * emacs.c: make sure syms_of_ntptroc gets called under windows.
+       
+       * console-msw.h: support mingw32.
+       * getloadavg.c: ditto.
+       * ntplay.c: ditto.
+       * sysdep.c: ditto.
+       * sysdir.h: ditto.
+       * systime.h: ditto.
+       * systty.h: ditto.
+
+       * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because
+       some systems don't have all of the encapsulated system calls.
+       
+       * callproc.c: warning elimination.
+       * dired-msw.c: ditto.
+       * process-nt.c: ditto.
+       * realpath.c: ditto.
+       
+       * Makefile.in.in: tweak : and ; for building under mswindows.
+       
+1999-04-26  Michael Harnois  <mharnois@willinet.net>
+
+       * eldap.c (allocate_ldap): Adapt to the new semantics of
+       alloc_lcrecord_type().
+
+1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.
+
+1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * Delete mule-coding.c and mule-coding.h because they are not
+       used.
+
+1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * objects.c (print_font_instance): Check for NILP(f->device),
+       i.e. Vthe_null_font_instance.
+       (font_instance_truename_internal): ditto.
+       (Ffont_instance_properties): ditto.
+
+1999-04-22  Olivier Galibert  <galibert@pobox.com>
+
+       * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
+       array anymore.
+
+1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * Makefile.in.in (tests): Don't mention tests explicitly -- makes
+       it easier to add new ones.
+
+1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * symbols.c (reject_constant_symbols): Ditto.
+       (init_symbols_once_early): Ditto.
+
+       * print.c (print_symbol): Don't use ->obarray.
+
+       * symbols.c (Funintern): Ditto.
+
+       * alloc.c (Fmake_symbol): Don't set ->obarray.
+
+       * lisp.h (struct Lisp_Symbol): Removed .obarray field.
+
+       * symbols.c (init_symbols_once_early): Removed
+       Vpure_uninterned_symbol_table.
+       (Fintern): Don't store to ->obarray field.
+
+1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
+       (eq_with_ebola_notice): Remove abracadabra support.
+
+1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
+
+       * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
+       retrieve the distinguished names of entries
+
+1999-03-08  Martin Buchholz  <martin@xemacs.org>
+
+       * lread.c (read_escape): Make hex escapes read only two hex digits.
+
+1999-04-05  Olivier Galibert  <galibert@pobox.com>
+
+       * Makefile.in.in: Remove puresize-adjust.h and recursive makes.
+       * make-src-depend: Remove puresize-adjust.h.
+       * src-headers: Remove puresize-adjust.h.
+       * config.h.in: Kill everything purespace/gung-ho related.
+
+       * dbxrc: Make gung-ho mandatory.
+       * gdbinit: Ditto.
+
+       * lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
+       c_readonly and lisp_readonly.  Remove implementation arrays.
+       (C_READONLY_RECORD_HEADER_P): Added.
+       (LISP_READONLY_RECORD_HEADER_P): Added.
+       (SET_C_READONLY_RECORD_HEADER): Added.
+       (SET_LISP_READONLY_RECORD_HEADER): Added.
+
+       * lisp.h: Kill everything purespace/non gung-ho related.
+       (CHECK_C_WRITEABLE): Added.
+       (CHECK_LISP_WRITEABLE): Added.
+       (C_READONLY): Added.
+       (LISP_READONLY): Added.
+
+       * lisp-union.h: Make gung-ho mandatory.
+       * lisp-disunion.h: Ditto.
+
+       * alloc.c: Kill everything purespace/non  gung-ho related. Fix all
+       set_lheader_implementation calls.
+       (c_readonly): Added.
+       (lisp_readonly): Added.
+       (make_string_nocopy): Added.
+       (Fpurecopy):  Changed to do  nothing.   Kept the old documentation
+       for reference purposes for the next patches.
+       (sweep_lcrecords_1): Don't free C readonly lcrecords.
+       (sweep_bit_vectors_1): Don't free C readonly bitvectors.
+       (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.
+
+       * fns.c: Make gung-ho mandatory.
+       (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
+       (Fremprop): Ditto.
+       (Ffillarray): Ditto.
+
+       * data.c: Make gung-ho mandatory.
+       (pure_write_error): Removed.
+       (c_write_error): Added.
+       (lisp_write_error): Added.
+       (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
+       (Fsetcdr): Ditto.
+       (Faset): Ditto.
+
+       * symbols.c: Make gung-ho mandatory.  make_pure_pname ->
+                 make_string or make_string_nocopy.  Fix various
+                 alloc_lcrecord_type.
+       
+       * lread.c: Remove everything purespace related.
+       (Flocate_file_clear_hashing): purified -> c_readonly.
+       (locate_file): Ditto.
+       (read_atom): make_pure_pname -> make_string.
+
+       * emacs.c (Frun_emacs_from_temacs): Remove purespace stats
+                 reporting.
+       (Fdump_emacs): Ditto.
+
+       * print.c (print_internal): Make gung-ho mandatory.
+       * ntheap.c (sbrk): Ditto.
+       * mem-limits.h (EXCEEDS_LISP_PTR): Ditto
+       * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
+
+       * sheap.c (more_static_core): Remove puresize-adjust.h from
+                 message.
+
+       * syntax.c (complex_vars_of_syntax): make_pure_string ->
+                 make_string_nocopy.
+       * keymap.c (make_keymap): Fix alloc_lcrecord_type.
+       (vars_of_keymap): make_pure_string -> make_string_nocopy.
+       * events.c (deinitialize_event): Fix set_lheader_implementation.
+       (zero_event): Ditto.
+       * specifier.c (make_specifier_internal): Fix alloc_lcrecord.
+       * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
+       * mule-charset.c (make_charset): Ditto.
+       * console.c (allocate_console): Ditto.
+       (complex_vars_of_console): Ditto.
+       * file-coding.c (allocate_coding_system): Ditto.
+       * device.c (allocate_device): Ditto
+       * gui-x.c (gcpro_popup_callbacks): Ditto.
+       * extents.c (allocate_extent_auxiliary): Ditto.
+       (allocate_extent_info): Ditto.
+       (copy_extent): Ditto.
+       * glyphs.c (allocate_image_instance): Ditto.
+       (allocate_glyph): Ditto.
+       * frame.c (allocate_frame_core): Ditto.
+       * database.c (allocate_database): Ditto.
+       * tooltalk.c (make_tooltalk_message): Ditto.
+       (make_tooltalk_pattern): Ditto.
+       * rangetab.c (Fmake_range_table): Ditto.
+       (Fcopy_range_table): Ditto.
+       * process.c (make_process_internal): Ditto.
+       * chartab.c (Fmake_char_table): Ditto.
+       (make_char_table_entry): Ditto.
+       (copy_char_table_entry): Ditto.
+       (Fcopy_char_table): Ditto.
+       * elhash.c (make_general_lisp_hash_table): Ditto.
+       (Fcopy_hash_table): Ditto.
+       * buffer.c (allocate_buffer): Ditto.
+       (complex_vars_of_buffer): Ditto.
+       * event-stream.c (allocate_command_builder): Ditto.
+       * objects.c (Fmake_color_instance): Ditto.
+       (Fmake_font_instance): Ditto.
+       (vars_of_objects): Ditto.
+       * toolbar.c (update_toolbar_button): Ditto.
+       * window.c (allocate_window): Ditto.
+       (make_dummy_parent): Ditto.
+       (Fcurrent_window_configuration): Fix alloc_lcrecord.
+       (vars_of_window): Fix make_lcrecord_list.
+       * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
+                 Flist.
+       * lstream.c (Lstream_new): Fix make_lcrecord_list.
+       * opaque.c (make_opaque): Fix alloc_lrecord.
+       (make_opaque_list): Fix alloc_lrecord_type.
+
+1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * process.c (Fstart_process_internal): Ditto.
+
+       * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
+       locate_file().
+
+       * glyphs-x.c (x_locate_pixmap_file): Ditto.
+
+       * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
+       locate_file().
+
+       * emodules.c (vars_of_module): New variable Vmodule_extensions.
+       (emodules_load): Use it when calling locate_file().
+
+       * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
+       locate_file().
+
+       * callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
+       (vars_of_callproc): Initialize it.
+       (Fcall_process_internal): Use it when calling locate_file().
+
+       * alloc.c (disksave_object_finalization): Use
+       Flocate_file_clear_hashing().
+
+       * lread.c (Flocate_file_clear_hashing): Clear all hasing when
+       given `t' as argument.
+
+1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * lread.c (locate_file): Expand `pathel' when appropriate.
+       (Flocate_file_clear_hashing): Expand path elements.
+       (Flocate_file_clear_hashing): Use Vlocate_file_hash_table.
+
+       * dired.c (make_directory_hash_table): Create the hash-table only
+       if the directory open is successful.
+
+       * lread.c (decode_mode_1): New function.
+       (decode_mode): Ditto.
+       (Flocate_file): Use them.
+       (Flocate_file): Expand FILENAME.
+       (locate_file_map_suffixes): New function.
+       (locate_file_in_directory_mapper): New function.
+       (locate_file_in_directory): Use locate_file_in_directory_mapper()
+       and locate_file_map_suffixes().
+       (locate_file_construct_suffixed_files): Use
+       locate_file_map_suffixes().
+       (locate_file_without_hash): Don't GCPRO path.
+       (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
+       (syms_of_lread): Remove Qlocate_file_hash_table.
+       (locate_file_find_directory_hash_table): Use
+       Vlocate_file_hash_table.
+       (locate_file_refresh_hashing): Ditto.
+
+       * lread.c: Renamed read_objects to Vread_objects.
+
+1999-04-16  Olivier Galibert  <galibert@pobox.com>
+
+       * mule-charset.c: Generally resync with fsf 20.3 charset
+       interface.
+       (make_charset): Add long and short name.  Use id instead of
+       leading byte.
+       (Fmake_charset): Ditto.
+       (Fmake_reverse_direction_charset): Ditto.
+       (Fcharset_property): Ditto.
+       (Fcharset_short_name): Added.
+       (Fcharset_long_name): Added.
+       (Fcharset_description): Renamed from charset-doc-string.
+       (syms_of_mule_charset): Synced symbols.
+       (complex_vars_of_mule_charset): Synced charsets.
+
+       * mule-charset.h: Removed leading byte (uses id instead), added
+       short and long name.
+
+1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * file-coding.c (Fdefine_coding_system_alias): New function.
+
+1999-04-08  Olivier Galibert  <galibert@pobox.com>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
+       and -ascii fonts for displaying ascii instead of iso8859-1 only.
+
+1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * extents.c (set_extent_glyph_1): Make sure that the glyph we
+       attach to the extent is valid.
+
+1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * dired.c (user_name_completion): Mule-ize.
+       (user_name_completion): Use xmalloc/xrealloc/xfree.
+       (user_name_completion): Use DO_REALLOC.
+       (user_name_completion): Cut down the number of static variables;
+       use a structure.
+       (user_name_completion): Username completion is always
+       case-sensitive.
+
+1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (base64_decode_1): Remove COUNTER.
+       (base64_decode_1): Accept CRLF in addition to CR.
+       (base64_decode_1): Disallow a stray character after final EOF; the 
+       check was probably a remnant of buggy recode code.
+
+1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (init_provide_once): Provide `base64'.
+
+1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
+       (Fbase64_encode_region): If buffer is read-only, bail out early.
+       (Fbase64_decode_region): Ditto.
+       (Fbase64_encode_region): Initialize SPECCOUNT to pacify the
+       compiler.
+       (Fbase64_encode_string): Ditto.
+       (Fbase64_decode_region): Ditto.
+       (Fbase64_decode_string): Ditto.
+
+1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * dired.c (Fdirectory_files): Remove redundant code.
+
+1999-03-05  Philip Aston  <philipa@parallax.co.uk>
+
+       * frame-msw.c Make raise-frame restore minimised windows.
+
+1999-03-05  Philip Aston  <philipa@parallax.co.uk>
+
+       * device-msw.c: Fix DEFVAR format - Death to phantom quote, and
+       add magic newline.
+
+1999-03-05  Philip Aston  <philipa@parallax.co.uk>
+
+       * toolbar-msw.c Consider captions when deciding whether to rebuild
+       toolbar. This fixes the initial toolbar display for those of us
+       who don't like captions. These patches applied by Andy Piper.
+
+1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.13 is released
+
+1999-03-12  SL Baur  <steve@xemacs.org>
+
+       * file-coding.c: Guard ucs table initialization with ifdef MULE.
+
+1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>
+
+       * file-coding.c:  docstring and comment improvements.
+       (decode_ucs4)  flag possible data loss with comment.
+
+1999-03-10  Martin Buchholz  <martin@xemacs.org>
+
+       * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
+       (ucs_to_char):
+       (Fucs_char):
+       (Fset_char_ucs):
+       (decode_coding_ucs4):
+       (encode_coding_ucs4):
+       (detect_coding_utf8):
+       (decode_coding_utf8):
+       (encode_utf8):
+       (encode_coding_utf8):
+       Add CHECK_* macros where needed to avoid crashes.
+       #ifdef out all composite character support using
+       #ifdef ENABLE_COMPOSITE_CHARS
+       Use normal XEmacs coding standards.
+       Fix docstrings.
+       Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.
+
+1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (make-coding-system): Add description about
+       `ucs-4' and `utf-8'.
+       (detection_state): Modify to implement ucs-4 and utf-8.
+       (detect_coding_type): Likewise.
+       (detect_coding_ucs4): New implementation.
+       (detect_coding_utf8): New implementation.
+       (encode_utf8): fixed.
+       (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
+       `utf-8'.
+
+1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
+       2022 registry to private area.
+
+1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (encode_utf8): New function.
+       (encode_coding_utf8): New implementation.
+
+1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (ucs_to_mule_table): New variable; abolish
+       `Vucs_to_mule_table'
+       (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
+       (set-ucs-char): New function.
+       (ucs_to_char): New function.
+       (ucs-char): New function.
+       (set-char-ucs): New function.
+       (char-ucs): New function.
+       (decode_ucs4): Use `ucs_to_char'.
+       (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
+       `mule-to-ucs-table'.
+
+1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * chartab.h: EXFUN `Fget_char_table'.
+
+       * file-coding.c (encode_ucs4): New function.
+       (encode_coding_ucs4): Use `encode_ucs4'.
+
+1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (decode_coding_ucs4): New implementation.
+
+1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (decode_coding_ucs4): fixed.
+
+       * file-coding.c (Vmule_to_ucs_table): New variable.
+       (mule_char_to_ucs4): New function.
+       (encode_coding_ucs4): New implementation.
+       (complex_vars_of_mule_coding): Define variable
+       `mule-to-ucs-table'.
+
+1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (decode_coding_utf8): New implementation.
+
+1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (decode_coding_utf8): fixed.
+
+1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (Vucs_to_mule_table): New variable.
+       (decode_ucs4): Refer `Vucs_to_mule_table'.
+       (complex_vars_of_mule_coding): Define variable
+       `ucs-to-mule-table'.
+
+1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * file-coding.c (detect_coding_ucs4): New function (not
+       implemented yet).
+       (decode_coding_ucs4): New function.
+       (encode_coding_ucs4): New function (not implemented yet).
+       (detect_coding_utf8): New function (not implemented yet).
+       (decode_coding_utf8): New function.
+       (encode_coding_utf8): New function (not implemented yet).
+       (make-coding-system): New type `ucs4' and `utf8'.
+       (coding-system-type): Likewise.
+       (detection_state): Add `ucs4' and `utf8'.
+       (detect_coding_type): Likewise.
+       (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
+       (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
+       (decode_ucs4): New function (very incomplete).
+       (syms_of_mule_coding): Add `ucs4' and `utf8'.
+
+       * file-coding.h: Add definitions for UCS-4 and UTF-8.
+
+1999-03-08  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-charset.c:
+       (non_ascii_valid_char_p):
+       (lookup_composite_char):
+       (composite_char_string):
+       (make-composite-char):
+       (composite-char-string):
+       (syms_of_mule_charset): 
+       (complex_vars_of_mule_charset): 
+       * mule-charset.h (LEADING_BYTE_COMPOSITE):
+       (CHAR_LEADING_BYTE):
+       (MAKE_CHAR):
+       * file-coding.h (CODING_STATE_COMPOSITE):
+       (CODING_STATE_ISO2022_LOCK):
+       (iso_esc_flag):
+       (LEADING_BYTE_COMPOSITE):
+       * file-coding.c (struct iso2022_decoder):
+       (decoding_closer):
+       (reset_iso2022):
+       (parse_iso2022_esc):
+       (encode_coding_iso2022):
+       #ifdef out all composite character support using 
+       #ifdef ENABLE_COMPOSITE_CHARS 
+
+       * alloc.c: Define lrecord_coding_system only if ! FILE_CODING
+
+1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
+
+       * fns.c (Fbase64_encode_string): Calculate `allength' in the same
+       way of `Fbase64_encode_region'.
+
+1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * fns.c (base64_encode_1): Don't add a newline at the tail.
+
+1999-03-08  Andy Piper  <andy@xemacs.org>
+
+       * menubar-msw.c (displayable_menu_item): correct off-by-one &
+       handling.
+
+1999-03-07  Martin Buchholz  <martin@xemacs.org>
+
+       * console-stream.h (struct stream_console):
+       * event-unixoid.c (event_stream_unixoid_select_console):
+       (event_stream_unixoid_unselect_console):
+       * print.c (Fexternal_debugging_output):
+       * sysdep.c (reset_one_device):
+       * console-stream.c (stream_init_console):
+       (stream_delete_console):
+       (allocate_stream_console_struct): move into stream_init_console.
+       (free_stream_console_struct): move into stream_delete_console.
+       Use `fd' only for file descriptors.
+       Therefore, rename members of struct stream_console.
+
+       * systime.h: Unix98 says sys/time.h should define select(), but
+       some systems define that in unistd.h.  So include that file always.
+
+       * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
+       multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
+       (HAS_IIFORMAT_METH_P): Prevent macro from being used in
+       non-boolean context
+       (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.
+
+       * EmacsShell.c:
+       * balloon_help.c:
+       Add #include <stdio.h>.
+       Some versions of assert.h use printf() without #include'ing stdio.h
+
+       * free-hook.c (blocktype): Add gcpro5_type to blocktype.
+       (log_gcpro): Remove unused variable FRAME.
+       (show_gcprohist): Ansify.
+       Comment the #endif's
+
+       * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
+       after it's just been XtDestroy'ed!
+
+1999-02-18  Martin Buchholz  <martin@xemacs.org>
+
+       * opaque.c (print_opaque):
+       (sizeof_opaque):
+       (equal_opaque):
+       (hash_opaque):
+       Egcs 1.1.1 seems to have a bug where
+       INTP (p->size_or_chain)
+       will crash XEmacs.  Fix by introducing intermediate variable.
+
+       * sound.c (Fdevice_sound_enabled_p): Fix compiler warning.
+
+       * dired.c (Fdirectory_files):
+       (Ffile_name_completion):
+       (Ffile_name_all_completions):
+       (file_name_completion):
+       - Use `directory' instead of `dirname' to sync with FSF Emacs and
+       avoid compiler warnings.
+       - Fix up docstrings so that C variables match documentation.
+
+1999-03-05  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c: (garbage_collect_1): Reorg code to make scope of local
+       variables as small as possible to help out the compiler and the maintainer.
+
+       * alloc.c: (disksave_object_finalization):
+       Set all the *-load-path variables to
+       nil, not just load-path itself.  This gets the locate-file hash
+       tables garbage collected BEFORE dump, and has the side effect of
+       preventing crashes on OSF4.0+egcs.
+
+       * alloc.c:
+       * gdbinit:
+       * dbxrc:
+       - Clean up gdb/dbx debugging support.
+       - Storing an EMACS_INT in an enum is not 64-bit clean!
+       - So change the enum to a set of separate variables.
+       - Add test cases to help debug the debugging support!
+       - Add `lisp-shadows' and `run-temacs' targets for dbx.
+       - Both dbx and gdb have been tested now.
+
+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.12 is released
+
+1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
+
+       * device-x.c: Support to find best visual without flashing.
+
+1999-03-02  Paul Keusemann  <pkeusem@visi.com>
+
+       * database.c (berkdb_map): Add flags argument to cursor call (must
+         be 0 according to docs) required for Berkeley DB 2.6.4 and later.
+
+1999-03-03  Martin Buchholz  <martin@xemacs.org>
+
+       * hash.c:
+       * hash.h:
+       General cleanup.  Get free-hook.c working again.
+       Remove unused functions:
+       make_strings_hash_table, copy_hash, expand_hash_table.
+
+       * malloc.c:
+       * mem-limits.h:
+       Always use new ANSI-style function prototypes.
+
+       * unexalpha.c (unexec): Never use implicit int.
+
+       * sgiplay.c (close_sound_file):
+       (play_sound_file):
+       (restore_audio_port):
+       (play_sound_data):
+       (audio_initialize):
+       (play_internal):
+       (drain_audio_port):
+       (write_mulaw_8_chunk):
+       (write_linear_chunk):
+       (write_linear_32_chunk):
+       (initialize_audio_port):
+       (open_audio_port):
+       (set_channels):
+       (set_output_format):
+       (adjust_audio_volume):
+       (get_current_volumes):
+       (parse_snd_header):
+       Always use new ANSI-style function prototypes.
+       Use unistd.h for missing prototypes.
+
+       * unexelfsgi.c (round_up):
+       (find_section):
+       (unexec): Always use new ANSI-style function prototypes
+
+       * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
+
+       * console.h (struct console_methods): Always use full ANSI prototypes
+
+       * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
+
+1999-03-02  Andy Piper  <andy@xemacs.org>
+
+       * event-stream.c (init_event_stream): make sure native mswindows
+       gets an appropriate event loop.
+
+1999-02-22  Andy Piper  <andy@xemacs.org>
+
+       * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
+       than SW_SHOWNORMAL to prevent resizing of maximised frames.
+       (mswindows_raise_frame): remove comment.
+
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 is released
+
+1999-02-25  SL Baur  <steve@xemacs.org>
+
+       * mule-charset.c (Qleading_byte): New variable to implement
+       charset-leading-byte function.
+       (Fcharset_property): Use it.
+       (syms_of_mule_charset): Initialize it.
+       From Kazuyuki IENAGA <ienaga@jsys.co.jp>
+
+1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
+
+       * glyphs-x.c (cononvert_EImage_to_XImage): correct
+       bytes per pixel counting.
+
+1999-02-15  Andy Piper  <andy@xemacs.org>
+
+       * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
+       major lockups.
+
+1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * fns.c (Fbase64_encode_string): New optional argument
+       `NO_LINE_BREAK'.
+
+1999-02-16  Martin Buchholz  <martin@xemacs.org>
+
+       * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
+       * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
+
+1999-02-10  Martin Buchholz  <martin@xemacs.org>
+
+       * s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
+       * xintrinsic.h:  Redo CONST support for X11 R4 compatibility.
+
+1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.10 is released
+
+1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
+
+       * process-nt.c (nt_send_process):
+       Fix for process-send-region/process-send-string breaking when size
+       of the input > 128 chars: change maximum chunk size for process
+       stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
+       succeeds.
+
+1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.9 is released
+
+1999-01-30  Martin Buchholz  <martin@xemacs.org>
+
+       * bytecode.c (funcall_compiled_function): Call
+       UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
+
+       * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
+       #ifdef 0 out unused macro.
+
+1999-01-27  Martin Buchholz  <martin@xemacs.org>
+
+       * gui.c (gui_parse_item_keywords_internal): Make static.
+
+1999-01-21  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c: add xface support.
+       (mswindows_xface_instantiate): new function copied from glyphs-x.c
+       (image_instantiator_format_create_glyphs_mswindows): do device
+       specific initialisation for xfaces.
+       (xbm_create_bitmap_from_data): line data must be padded to a word
+       boundary.
+
+       * glyphs-x.c (xface_validate): moved to glyphs.c
+       (xface_normalize): ditto.
+       (xface_possible_dest_types): ditto.
+       (image_instantiator_format_create_glyphs_x): do device specific
+       initialisation for xfaces.
+
+       * glyphs.h: declare xface symbol.
+
+       * glyphs.c: move generic xface support here.
+       (xface_validate): moved from glyphs-x.c
+       (xface_normalize): ditto.
+       (xface_possible_dest_types): ditto.
+       (image_instantiator_format_create): xface declarations moved from
+       glyphs-x.c.
+
+1999-01-14  Adrian Aichner  <aichner@ecf.teradyne.com>
+
+       * event-stream.c (vars_of_event_stream): Fixing documentation.
+
+1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * glyphs-eimage.c (gif_instantiate): Correct handling of
+       interlaced gifs to avoid writing past the end of the eimage
+       buffer.
+
+1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * search.c (Freplace_match): Handle single backslash at end of
+       NEWTEXT correctly.
+
+1999-01-12  William M. Perry  <wmperry@aventail.com>
+
+       * eldap.c (Fldap_open): slow down interrupts around ldap_open to
+         avoid connection errors.
+
+1999-01-12  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_update_line): backout change that
+       shouldn't have gone ine.
+
+1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
+
+       * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
+       collide with ldap.el
+
+1999-01-11  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
+       (DISPLAY_LINE_YPOS): new macro.
+
+       * redisplay-msw.c (mswindows_output_string): use it.
+       (mswindows_output_pixmap): ditto.
+       (mswindows_output_display_block): ditto.
+
+       * redisplay-output.c (redisplay_output_display_block): new
+       function. just call the devmeth, maybe insert some generic code
+       here later.
+       (compare_display_blocks): use it.
+       (output_display_line): ditto.
+       (redisplay_unmap_subwindows_maybe): new function. potentially
+       unmap subwindows in the given area.
+
+       * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
+       resetting.
+
+1999-01-10  J. Kean Johnston  <jkj@sco.com>
+
+       * Makefile.in.in: Set value of moduledir
+       - Changed DUMPENV to include $(MODULEPATH)
+       - Added install rule to install header files for use by ellcc.
+
+       * config.h.in: Added INHIBIT_SITE_MODULES
+       - Added HAVE__DLERROR
+       - Added HAVE_DLFCN_H
+       - Added DLSYM_NEEDS_UNDERSCORE
+
+       * dll.c: Removed.
+
+       * emodules.c: New file containing dynamic loading code.
+
+       * emodules.h: New file.
+
+       * emacs.c: Added variables Vmodule_directory,
+       Vsite_module_directory, Vconfigure_module_directory and
+       Vconfigure_site_module_directory.
+       - (main_1): Added new variable inhibit_site_modules and command
+       line options `-no-site-modules' and `--no-site-modules'.
+       - (main_1): Call syms_of_module() instead of syms_of_dll().
+       - (main_1): Call vars_of_module().
+       - (vars_of_emacs): Introduce inhibit-site-modules,
+       module-directory, configure-module-directory,
+       site-module-directory, and configure-site-module-directory to the
+       Lisp reader.
+
+       * lisp.h: Declare load_module and list_modules, as well as
+       Vmodule_directory, Vsite_module_directory,
+       Vconfigure_module_directory and Vconfigure_site_module_directory.
+
+       * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
+       - Added correct support for site-lisp directory.
+
+       * symbols.c (defsubr): Modified to allow modules to add new subrs
+       after dump time.
+       - (defsubr_macro): Same.
+       - (defvar_magick): Only use purespace when not initialized, so
+       that loaded modules can still add symbols.
+
+       * symsinit.h: Add definitions for syms_of_module(),
+       vars_of_module().  Removed syms_of_dll().
+
+       * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
+       - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
+       - (dll_error): use _dlerror() if HAVE__DLERROR is defined.
+
+       * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
+       explicitly pass -belf for native cc.
+
+       * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
+       hard-coding the library name.
+
+1999-01-01    <martin@xemacs.org>
+
+       * device-x.c (Fx_set_font_path):
+       Add proper cast to permit compilation under C++.
+
+       * buffer.c (directory_is_current_directory):
+       Add proper casts to permit compilation under C++.
+
+1998-12-30  Damon Lipparelli  <lipp@primus.com>
+
+       * event-msw.c (mswindows_wnd_proc):
+         Fixed failure when building with MSVC 5.
+
+1998-12-29  Martin Buchholz  <martin@xemacs.org>
+
+       * file-coding.c (decode_coding_iso2022):
+       - Prevent crash when decoding ISO7/Lock detected files
+       - the usual martin fiddling
+
+1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * event-msw.c:
+         glyphs-msw.c:
+         Fixed failures when building with MSVC.
+       * unexnt.c (dump_bss_and_heap):
+         Removed compiler warning by removing bss_data variable.
+
+1998-12-18  Jim Radford  <radford@robby.caltech.edu>
+
+       * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
+       so that packages that distribute their own fonts can access them.
+
+1998-12-28  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_button_instantiate): cope with buttons
+       that have an image provided.
+
+       * glyphs.h: add Q_image decl.
+
+       * glyphs-widget.c new functionality allowing images in
+       widgets.
+       (check_valid_glyph_or_image): new function to validate
+       glyphs passed in through :image.
+       (widget_normalize): new function. convert :image parameters into
+       real glyphs if not already so.
+       (widget_instantiate_1): mess with size parameters to be similar to
+       :image if provided.
+       (syms_of_glyphs_widget): new keyword :image.
+       (image_instantiator_format_create_glyphs_widget): normalize
+       buttons and allow :image.
+
+1998-12-27  Andy Piper  <andy@xemacs.org>
+
+       * frame-msw.c (mswindows_init_frame_1): warning elimination.
+
+       * glyphs-widget.c (check_valid_anything): no-op function.
+       (check_valid_callback): check callbacks in gui_items.
+       (check_valid_symbol): as it sounds.
+       (check_valid_string_or_vector): ditto.
+       (widget_validate): modified for descriptors that are vectors or
+       sequences of keyword/val pairs.
+       (widget_instantiate_1): ditto.
+       (image_instantiator_format_create_glyphs_widget): allow gui_item
+       keywords in the instantiator.
+
+       * gui.c (gui_parse_item_keywords_internal): renamed from
+       gui_parse_item_keywords but taking error behaviour.
+       (gui_parse_item_keywords): use it.
+       (gui_parse_item_keywords_no_errors): ditto.
+       (gui_item_add_keyval_pair): add Error_behavior flag and only
+       signal invalid keywords if required.
+
+       * gui.h: new gui signatures.
+
+       * menubar.c (menu_parse_submenu_keywords): use new
+       gui_item_add_keyval_pair signature.
+
+       * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.
+
+1998-12-28  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.8 is released.
+
+1998-12-28  Martin Buchholz  <martin@xemacs.org>
+
+       * editfns.c (get_home_directory):
+       (user-home-directory): Simplify.
+
+
+       * callproc.c (child_setup):
+       - Environment variables were being passed to inferior processes
+         using internal encoding.
+       - Convert to external encoding.
+       - Rename local var `tem' to better name `tail'.
+       - Use Flength instead of `manual' calculation.
+
+       * buffer.c (kill-buffer):
+       (record-buffer):
+       (set-buffer-major-mode):
+       (current-buffer):
+       - Fix up parameter names to correspond to docstrings.
+       - Don't use `bufname' when a buffer will do as well.
+       - Remove one unneeded GCPRO.
+
+       * buffer.h (initial_directory):
+       * buffer.c (init_initial_directory):
+       - use correct conversions between internal and external format.
+       (directory_is_current_directory): new function
+       (init_buffer): convert initial_directory to internal format.
+       - solve crashes when current working directory is non-ASCII.
+
+       * alloc.c (xmalloc):
+       (xcalloc):
+       (xrealloc):
+       - remove stupid casts, since XEmacs requires an ANSI C system.
+       (lrecord_type_index): replace abort() with more readable assert().
+
+       (reset_lcrecord_stats): remove.
+       (sweep_lcrecords_1):
+       - replace call to reset_lcrecord_stats() with call to xzero().
+
+1998-12-27  Martin Buchholz  <martin@xemacs.org>
+
+       * process-unix.c (unix_create_process):
+       - Fix crash invoking program with non-ASCII name.
+         Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
+       - Remove unused variable `env'.
+       - Rename `temp' to better name `save_errno'.
+       - Reorganize code for clarity.  But still too chicken to nuke the
+         BSD 4.2 support.
+
+1998-12-24  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.7 is released.
+
+1998-12-23  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs.c (decode_device_ii_format):
+       - Fix indentation.
+       - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.
+
+       * glyphs-x.c (x_subwindow_instantiate):
+       - A image instance mask was being assigned to a image instance type!
+       - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.
+
+       * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
+       Fix indentation.
+       * glyphs-x.h: Make indentation consistent.
+
+       * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.
+
+       * glyphs-widget.c (check_valid_glyph): Warning suppression.
+       - Make it static
+       - #ifdef it out, since it's not actually used yet (FIX THIS!)
+
+       * glyphs-widget.c:
+       * glyphs.h:
+       Move declarations of decode_device_ii_format and
+       decode_image_instantiator_format into glyphs.h where they belong.
+
+1998-12-22  Martin Buchholz  <martin@xemacs.org>
+
+       * frame-x.c (x_delete_frame): Revert part of my changes at the
+       suggestion of Gunnar Evermann - unfortunately no one really
+       understands this code.
+
+       * callproc.c (init_callproc): code cleanup.
+
+       * free-hook.c (malloc):
+       (check_malloc):
+       (__free_hook):
+       (__malloc_hook):
+       (__realloc_hook):
+       (block_input_malloc):
+       (block_input_realloc):
+       * device-x.c (x_delete_device):
+       * emacs.c (voodoo_free_hook):
+       * events.c (print_event):
+       (CHECK_EVENT_TYPE):
+       (CHECK_EVENT_TYPE2):
+       (CHECK_EVENT_TYPE3):
+       Use proper prototypes.
+       Make C_E_T macros a little faster.
+       Pedantic fiddly little changes.  You really don't care.
+
+1998-12-22  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_clear_region): make sure that
+       fg/bg colors get set even when we are in the border area.
+
+1998-12-13  Martin Buchholz  <martin@xemacs.org>
+
+       * console-msw.c: Function definitions follow coding standards
+       - This prevents e.g. find-tag on Lisp_Event finding DEVENT
+
+1998-12-11  Martin Buchholz  <martin@xemacs.org>
+
+       * events.h (struct timeout_data):
+       * event-tty.c (tty_timeout_to_emacs_event):
+       * event-msw.c (mswindows_wm_timer_callback):
+       * event-Xt.c (Xt_timeout_to_emacs_event):
+       * event-msw.c (mswindows_cancel_dispatch_event):
+       Make sure Lisp_Objects inside events are initialized to Qnil, not
+       Qnull_pointer, which is now illegal.
+
+1998-12-10  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h: Fix up prototypes to match alloc.c
+
+1998-12-08  Martin Buchholz  <martin@xemacs.org>
+
+       * windowsnt.h: Remove `support' for using index and rindex
+
+       * filelock.c (current_lock_owner):
+       - Change uses of index -> strchr, rindex -> strrchr
+
+1998-12-07  Martin Buchholz  <martin@xemacs.org>
+
+       * sysdep.c (set_descriptor_non_blocking):
+       Since O_NONBLOCK is now always #defined, make use of fcntl
+       conditional on F_SETFL being defined.
+
+       * console-msw.c (DHEADgER):
+       (DOPAQUE_DATA):
+       (DEVENT):
+       (DCONS):
+       (DCONSCDR):
+       (DSTRING):
+       (DVECTOR):
+       (DSYMBOL):
+       (DSYMNAME):
+       - max_align_t should not be visible to the user of the
+         XOPAQUE_DATA macro.
+       - use Bufbyte instead of char
+       - parens around (FOOP (obj)) are always redundant.
+         If they were necessary, we should fix the macro instead.
+       - Always use string_data(foo) instead of foo->data.
+
+
+1998-12-06  Martin Buchholz  <martin@xemacs.org>
+
+       * frame-msw.c (mswindows_init_frame_1):
+       - use make_lisp_hash_table, not Fmake_hash_table
+       - include elhash.h
+
+       * lisp.h:
+       * alloc.c (make_vector): remove travesty
+       (Fmake_vector):
+       (make_pure_vector):
+       (pure_cons):
+       (make_bit_vector_internal):
+       (make_bit_vector):
+       (make_bit_vector_from_byte_vector):
+       (Fmake_bit_vector):
+       - make vector_equal a little faster.
+       - Don't use variable name `new'.
+       - Use size_t instead of EMACS_INT.
+       - usual Martin-style pointless bit-twiddling.
+
+       * fns.c (mapcar1):
+       (Fmapconcat):
+       (Fmapcar):
+       (Fmapvector):
+       Make mapcar faster.  In particular, make
+         (mapc #'identity long-string)
+       MUCH faster under Mule.
+       * tests/automated/lisp-tests.el: Test 'em!
+
+       * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
+       bytecode.
+
+1998-12-01  Martin Buchholz  <martin@xemacs.org>
+
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
+       Qnil, not NULL, to initialize `null' Lisp_Objects.
+
+1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * specifier.c (display_table_validate): Update.
+
+       * redisplay.c (create_text_block): Use them.
+
+       * glyphs.c (display_table_entry): New function.
+       (get_display_tables): Ditto.
+
+1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
+
+       * eldap.c (toplevel): Mention that eldap.c compiles with
+       OpenLDAP libs
+       (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
+       (Fldap_search_internal): Ditto
+
+1998-12-11  Martin Buchholz  <martin@xemacs.org>
+
+        * event-msw.c (mswindows_cancel_dispatch_event):
+        Gratuitous code prettification
+
+
+1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fnconc): Fix use of wrong_type_argument().
+
+       * floatfns.c (Ffloat): Fix docstring.
+       (Ffloat): Fix use of wrong_type_argument().
+       (Fabs): Ditto.
+       (extract_float): Ditto.
+       (Fceiling): Ditto.
+       (Fround): Ditto.
+       (Ftruncate): Ditto.
+
+1998-12-06  Martin Buchholz  <martin@xemacs.org>
+
+       * frame-msw.c (mswindows_init_frame_1):
+       - use make_lisp_hash_table, not Fmake_hash_table
+       - include elhash.h
+
+       * lisp.h:
+       * alloc.c (make_vector): remove travesty
+       (Fmake_vector):
+       (make_pure_vector):
+       (pure_cons):
+       (make_bit_vector_internal):
+       (make_bit_vector):
+       (make_bit_vector_from_byte_vector):
+       (Fmake_bit_vector):
+       - make vector_equal a little faster.
+       - Don't use variable name `new'.
+       - Use size_t instead of EMACS_INT.
+       - usual Martin-style pointless bit-twiddling.
+
+       * fns.c (mapcar1):
+       (Fmapconcat):
+       (Fmapcar):
+       (Fmapvector):
+       Make mapcar faster.  In particular, make
+         (mapc #'identity long-string)
+       MUCH faster under Mule.
+       * tests/automated/lisp-tests.el: Test 'em!
+
+       * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
+       bytecode.
+
+1998-12-02  Didier Verna  <verna@inf.enst.fr>
+
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
+       accelerator field to nil for labels.
+
+1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * menubar-msw.c (displayable_menu_item):
+         Escape occurrences of '&' and support occurrences of the
+        '%_' accelerator indicator in menus.
+
+1998-11-26  Didier Verna  <verna@inf.enst.fr>
+
+       * dired.c (Fdirectory_files): use make_string instead of
+       make_ext_string on the filename. The conversion external->internal
+       format is already done in sys_readdir.
+
+1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * glyphs.c (normalize_image_instantiator): GCPRO instantiator
+
+1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * event-msw.c
+         (Belatedly) added Kirill to list of file's authors.
+         emacs_mswindows_quit_p: Don't process WM_PAINT messages in
+         quit checking. WM_PAINT messages cause redisplay, but
+         windows' states are not necessarily stable when this function
+         gets called.
+
+1998-12-17  Andy Piper  <andy@xemacs.org>
+
+       * strftime.c (zone_name): CONSTify.
+
+1998-12-15  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_combo_instantiate): ditto.
+       (mswindows_widget_property): return Qunbound when no property available.
+       (mswindows_button_property): ditto.
+       (mswindows_combo_property): ditto.
+       (mswindows_widget_set_property): ditto.
+
+       * glyphs-widget.c (check_valid_item_list): use properties.
+
+       * glyphs.h (struct Lisp_Image_Instance): we have properties now.
+
+       * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
+       (Fimage_instance_property): ditto.
+       * glyphs-widget.c (widget_property): ditto.
+       (widget_set_property): ditto.
+
+       * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
+       as setting the class cursor so that GC actually changes the
+       cursor.
+
+       * config.h: don't undef MAIL_USE_POP.
+
+1998-12-13  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c
+       (image_instantiator_format_create_glyphs_mswindows): line ->
+       label.
+       (mswindows_label_instantiate): ditto. Play with window flags.
+       (image_instantiator_format_create_glyphs_mswindows): ditto.
+       (vars_of_glyphs_mswindows): provide Qlabel as we support it now.
+
+       * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
+       cope with lines and labels.
+       (static_instantiate): use widget_instantiate_1.
+       line -> label.
+       (image_instantiator_format_create_glyphs_widget): ditto.
+
+1998-12-10  Andy Piper  <andy@xemacs.org>
+
+       * Makefile.in.in (objs): add gui.o
+
+1998-12-10  Andy Piper  <andy@xemacs.org>
+
+       * gui.c: adjust defines of HAVE_POPUPS so that we can build with
+       no window system.
+
+1998-12-09  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (finalize_image_instance): mark glyphs changed when an
+       image instance is removed so that the subwindow cache gets reset
+       and thus destroyed images get GC'd.
+
+1998-12-08  Andy Piper  <andy@xemacs.org>
+
+       * gui-msw.c (mswindows_handle_gui_wm_command): call
+       MARK_SUBWINDOWS_CHANGED.
+
+       * glyphs-msw.c (mswindows_finalize_image_instance): make sure
+       subwindows really get deleted.
+
+       * redisplay.c: new variable subwindows_changed[_set].
+       (redisplay_window): use it.
+       (redisplay_frame): ditto.
+       (redisplay_device): ditto.
+       (redisplay_without_hooks): ditto.
+
+       * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
+       subwindows redisplay as per glyphs equivalent.
+       * redisplay.h: ditto.
+       (MARK_SUBWINDOWS_CHANGED): ditto.
+       (RESET_CHANGED_SET_FLAGS): ditto.
+       * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.
+
+1998-12-07  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (Fmake_frame): reset subwindow cachels on non-stream
+       frames.
+
+       * redisplay.c (redisplay_frame): invalidate subwindow cachels.
+
+       * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
+       messages and paint widget glyphs as appropriate with their face fg
+       & bg.
+
+1998-12-06  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
+       here rather than in glyphs-widget - do this because we only want
+       to provide what is really available.
+
+       * glyphs.c (Fimage_instance_property): new function to get the
+       properties of image instances. wires through to console specific
+       methods and then to widget specific methods.
+       (Fset_image_instance_property): ditto but for setting widget properties.
+       (check_valid_face): make extern so that it can be used elsewhere.
+
+       * glyphs-widget.c (widget_property): new function. gets the
+       properties of widgets in general and wires the function through to
+       widget specific ones.
+       (widget_set_property): ditto but for setting widget properties.
+
+       * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
+       add items to the list. Play with window styles a bit to get the
+       desired effect.
+       (mswindows_widget_property): break out specific widget properties.
+       (mswindows_button_property): new function. gets the checked state
+       of a button.
+       (mswindows_combo_property): new function. gets the current
+       selection in the combo box.
+       (mswindows_widget_set_property): new function. sets specific
+       properties of specific widgets.
+
+       * glyphs-widget.c (check_valid_item_list): new function. check
+       that items for a combo-box are just a list of strings.
+       (combo_validate): new function. check there is an item list.
+       (widget_instantiate_1): new function. renamed from
+       widget_instantiate so that we can do slightly different things for
+       other widgets.
+       (widget_instantiate): call widget_instantiate_1.
+       (combo_instantiate): new function to instantiate combo boxes,
+       defaults height to the pixel height of the number of items in the
+       box.
+       (syms_of_glyphs_widget): move widget keywords here.
+       (image_instantiator_format_create_glyphs_widget): use new combo
+       functions.
+
+1998-12-04  Andy Piper  <andy@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): mule-ize.
+
+       * glyphs.c (pixmap_to_lisp_data): mule-ize.
+
+       * glyphs-msw.c (extract_xpm_color_names): mule-ize.
+       (resource_name_to_resource): ditto.
+       (mswindows_resource_instantiate): ditto.
+       (mswindows_widget_instantiate): ditto.
+       (mswindows_widget_set_property): ditto.
+
+       * redisplay-output.c (redisplay_output_subwindow): don't show
+       subwindows if they are obscured at the edge of the frame, emacs
+       gets into some sort of redisplay loop otherwise.
+
+       * gui.h: prototype gui_item_selected_p.
+
+       * gui.c (gui_item_selected_p): new function to determine the
+       selected state of a gui_item.
+
+       * frame.h (struct frame): add subwindows_changed flag.
+
+       * redisplay.c (redisplay_frame): call update_frame_subwindows ().
+
+       * glyphs.c (update_subwindow): new function to update a
+       subwindow's state.
+       (update_frame_subwindows): new function to update all the
+       subwindows on a frame.
+
+       * console.h (struct console_methods): add update_subwindow.
+
+       * glyphs-msw.c (mswindows_widget_property): return selected state
+       for selected property.
+       (mswindows_update_subwindow): new function. updates widget glyphs
+       in redisplay as per menubars or toolbars e.g. selected state.
+       (console_type_create_glyphs_mswindows): add update_subwindow.
+
+1998-12-03  Andy Piper  <andy@xemacs.org>
+
+       * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
+       tty coding system things are such.
+
+       * glyphs-widget.c (widget_face_font_info): new function for
+       pulling out height and width metrics for a widget's face.
+       (widget_text_to_pixel_conversion): calculate pixel sizes of text
+       for widgets.
+
+       * event-msw.c (mswindows_drain_windows_queue): translate messages
+       that are destined for subwindows. This makes edit fields interact
+       with the keyboard correctly.
+       nuke warnings by #ifndef'ing out stuff not required by msg select().
+
+       * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
+       macro defining the iiforma without the symbol required by widget.
+       (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.
+
+       * general.c (syms_of_general): add Qwidget, Qselected.
+
+       * faces.c (complex_vars_of_faces): add widget face inheriting from
+       gui-element face.
+
+1998-11-09  Andy Piper  <andy@xemacs.org>
+
+       * window.h (struct window): add a cache of subwindows on a
+       per-window basis.
+
+       * window.c (mark_window): mark the subwindow_instance_cache.
+       (allocate_window): initialise the subwindow instance_cache.
+
+       * toolbar-x.c (x_output_toolbar): call redisplay_clear_region
+       instead of the devmeth.
+       (x_clear_toolbar): ditto.
+
+       * redisplay-x.c (x_output_display_block): call
+       redisplay_output_subwindow for subwindows and widgets.
+
+       * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
+       types to do nothing for.
+
+       * lisp.h: declare new widget/subwindow symbols.
+
+       * glyphs.c (image_instantiate): cache subwindows on a per-window
+       basis.
+       (subwindow_possible_dest_types): new function for subwindow dest
+       types.
+       (subwindow_instantiate): generic instantiation of a
+       subwindow. specialised by device multi-methods.
+       (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
+       subwindows.
+       (Fimage_instance_subwindow_id): ditto.
+       (Fresize_subwindow): ditto.
+       (Fforce_subwindow_map): ditto.
+
+       * glyphs-x.c (x_print_image_instance): remove subwindow
+       stuff. Handled genrically in glyphs.c.
+       (x_image_instance_equal): ditto.
+       (x_image_instance_hash): ditto.
+       (x_finalize_image_instance): delete subwindows when required.
+       (mark_subwindow) (print_subwindow) (finalize_subwindow)
+       (subwindow_hash) (Fmake_subwindow): deleted because of new,
+       glyph-based, subwindow implementation.
+       (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
+       in glyphs.el
+       (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
+       glyphs.c.
+       (x_unmap_subwindow): new function to unmap X subwindows.
+       (x_map_subwindow): new function to map X subwindows.
+       (x_subwindow_instantiate): new function to instantiate X
+       subwindows.
+       (x_resize_subwindow): new function to resize X subwindows.
+       (console_type_create_glyphs_x): add subwindow functions.
+       (image_instantiator_format_create_glyphs_x): add device
+       multi-methods for xpm, xbm and subwindow.
+
+       * glyphs.el (subwindow-xid): old alias for new subwindow functions.
+       (subwindow-width): ditto.
+       (subwindow-height): ditto.
+
+       * glyphs-msw.c (mswindows_widget_instantiate): new function for
+       generally instantiating ms subwindows. Used by
+       mswindows_*_instantiate.
+       (mswindows_edit_instantiate): instantiate an edit field on a
+       mswindows frame.
+
+1998-11-04  Andy Piper  <andy@xemacs.org>
+
+       * symsinit.h: declare new functions.
+
+       * redisplay.h: declare new functions.
+
+       * redisplay-x.c (x_output_display_block): call
+       redisplay_clear_region rather than x_clear_region.
+       (x_output_string): ditto.
+       (x_output_pixmap): ditto.
+       (x_clear_to_window_end): ditto.
+       (x_output_eol_cursor): ditto.
+       (x_clear_region): only do X specific things. other duties handled
+       in redisplay_clear_region.
+
+       * redisplay-tty.c (tty_clear_region): do tty specific things - some
+       duties moved to redisplay_clear_region.
+
+       * redisplay-output.c (clear_left_border): use
+       redisplay_clear_region instead of device method.
+       (clear_right_border): ditto.
+       (output_display_line): ditto.
+       (redisplay_output_subwindow): ditto.
+       (redisplay_clear_top_of_window): ditto.
+       (redisplay_clear_region): perform duties previously handled by
+       device methods. call the appropriate device method at the
+       end. unmap subwindows if necessary.
+
+       * redisplay-msw.c (mswindows_output_string): use
+       redisplay_clear_region instead of mswindows_clear_region.
+       (mswindows_clear_to_window_end): ditto.
+       (mswindows_output_display_block): output subwindows when required.
+       (mswindows_clear_region): only do mswindows specific things,
+       everything else is now handled in redisplay_clear_region.
+
+       * gui.h: add item id hash defines and declare function prototypes.
+
+       * gui.c (mark_gui_item): new function for marking gui_items.
+       (gui_item_hash): generic hash function for generating command ids
+       for gui_items.
+
+       * gui-msw.c: new file.
+       (mswindows_handle_gui_wm_command): new function to handle widget
+       callbacks.
+
+       * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
+       multi-methods.
+       (IIFORMAT_HAS_SHARED_METHOD): ditto.
+       (DEFINE_DEVICE_IIFORMAT): ditto.
+       (INITIALIZE_DEVICE_IIFORMAT): ditto.
+       (struct Lisp_Image_Instance): add widget and subwindow data plus
+       appropriate access functions.
+
+       * glyphs.c (decode_device_ii_format): new function for decoding
+       image instantiator functions based on a device type as well as an
+       image format.
+       (decode_image_instantiator_format): just call
+       decode_device_ii_format with nil device.
+       (add_entry_to_device_ii_format_list): new function for per device
+       method instances.
+       (add_entry_to_image_instantiator_format_list): just call
+       add_entry_to_device_ii_format_list with nil device.
+       (check_valid_vector): new function.
+       (instantiate_image_instantiator): instantiate using per-format
+       method and then per-format-per-device method (device
+       multi-methods). signal an error if neither is possible.
+       (mark_image_instance): cope with subwindows and widgets.
+       (print_image_instance): ditto.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+       (allocate_glyph): ditto.
+       (glyph_width): ditto.
+       (glyph_height_internal): ditto.
+       (xpm_instantiate): removed because of device multi-methods.
+       (mark_subwindow_cachels): new cachel functions for caching
+       instantiated subwindows on a per-frame basis. mostly copied from
+       glyph cachel functions.
+       (update_subwindow_cachel_data): ditto.
+       (add_subwindow_cachel): ditto.
+       (get_subwindow_cachel_index): ditto.
+       (reset_subwindow_cachels): ditto.
+       (mark_subwindow_cachels_as_not_updated): ditto.
+       (unmap_subwindow): generic unmapping of subwindows based on cachel
+       data.
+       (map_subwindow): ditto.
+       (initialize_subwindow_image_instance): generic initialisation of
+       subwindow data.
+       (syms_of_glyphs): add widget keywords.
+
+       * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
+       x_subwindow_data.
+
+1998-11-04  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c: new file for instantiating widget type glyphs.
+       (widget_possible_dest_types): new general dest type function for
+       widgets.
+       (widget_validate): ditto.
+       (initialize_widget_image_instance): ditto
+       (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
+       before handing on control to device multi-methods.
+       (syms_of_glyphs_widget): new function.
+       (image_instantiator_format_create_glyphs_widget): new function,
+       added placeholders for button, edit, combo, scrollbar
+       (vars_of_glyphs_widget): new function.
+
+       * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
+       storing window ids of widgets.
+
+       * glyphs-msw.c (mswindows_finalize_image_instance): cope with
+       deletion of widget and subwindow glyphs.
+       (mswindows_unmap_subwindow): new device function for unmapping
+       subwindows on a msw frame.
+       (mswindows_map_subwindow): ditto.
+       (mswindows_register_image_instance): register instantiated widgets
+       with the widget hastable.
+       (mswindows_button_instantiate): instantiate a button type widget
+       on an msw frame.
+       (mswindows_subwindow_instantiate): instanttiate a subwindow on a
+       mswindows frame.
+       (image_instantiator_format_create_glyphs_mswindows): add device
+       multi-methods for xbm, xpm, subwindow, edit and button.
+
+       * frame.h (struct frame): add subwindow_cachels dynarr for caching
+       information about subwindows visible on the current frame. used by
+       redisplay_clear_region to unmap subwindows as required.
+
+       * frame.c (mark_frame): mark subwindow_cachels.
+       (allocate_frame_core): instantiate subwindow_cachels.
+
+       * frame-msw.c (mswindows_init_frame_1): instntiate and mark the
+       widget hashtable.
+
+       * event-msw.c (mswindows_wnd_proc): add call to
+       mswindows_handle_gui_wm_command to handle widget callbacks.
+
+       * emacs.c (main_1): add calls to glyphs-widget initialisation
+       routines.
+
+       * console.h (struct console_methods): add
+       unmap/map_subwindow_method for use be redisplay_clear_region to
+       map and unmap subwindows. Remove xpm and xbm stuff - now dealt
+       with by image instantiator multi-methods. Add
+       resize_subwindow_method.
+
+       * console-stream.c (stream_clear_region): change signature to
+       match new generic clear region function.
+
+       * Makefile.in.in: add glyphs-widget.o to list of objects.
+
+       * console-msw.h (struct mswindows_frame): add widget hashtable for
+       wiring command ids to callbacks.
+
+1998-12-16  Andy Piper  <andy@xemacs.org>
+
+       * XEmacs 21.2.6 is released
+
+1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * md5.c (Fmd5): Correctly initiate string input stream.
+
+       * Makefile.in.in (tests): Add md5-tests.el.
+
+1998-12-06  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h:
+       * alloc.c (make_vector): remove travesty
+       (Fmake_vector):
+       (make_pure_vector):
+       (pure_cons):
+       (make_bit_vector_internal):
+       (make_bit_vector):
+       (make_bit_vector_from_byte_vector):
+       (Fmake_bit_vector):
+       - make vector_equal a little faster.
+       - Don't use variable name `new'.
+       - Use size_t instead of EMACS_INT.
+       - usual Martin-style pointless bit-twiddling.
+
+       * fns.c (mapcar1):
+       (Fmapconcat):
+       (Fmapcar):
+       (Fmapvector):
+       Make mapcar faster.  In particular, make
+         (mapc #'identity long-string)
+       MUCH faster under Mule.
+       * tests/automated/lisp-tests.el: Test 'em!
+
+1998-12-06  Martin Buchholz  <martin@xemacs.org>
+
+       * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
+       bytecode.
+
+1998-12-13  Martin Buchholz  <martin@xemacs.org>
+
+       * console-msw.c: Function definitions follow coding standards
+       - This prevents e.g. find-tag on Lisp_Event finding DEVENT
+
+1998-12-11  Martin Buchholz  <martin@xemacs.org>
+
+       * events.h (struct timeout_data):
+       * event-tty.c (tty_timeout_to_emacs_event):
+       * event-msw.c (mswindows_wm_timer_callback):
+       * event-Xt.c (Xt_timeout_to_emacs_event):
+       * event-msw.c (mswindows_cancel_dispatch_event):
+       Make sure Lisp_Objects inside events are initialized to Qnil, not
+       Qnull_pointer, which is now illegal.
+
+1998-12-10  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h: Fix up prototypes to match alloc.c
+
+1998-12-09  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
+       XSETINT for assigning lisp objects.
+
+1998-12-07  Martin Buchholz  <martin@xemacs.org>
+
+       * opaque.h:
+       * console-msw.c (DHEADER):
+       (DOPAQUE_DATA):
+       (DEVENT):
+       (DCONS):
+       (DCONSCDR):
+       (DSTRING):
+       (DVECTOR):
+       (DSYMBOL):
+       (DSYMNAME):
+       - max_align_t should not be visible to the user of the
+         XOPAQUE_DATA macro.
+       - use Bufbyte instead of char
+       - parens around (FOOP (obj)) are always redundant.
+         If they were necessary, we should fix the macro instead.
+       - Always use string_data(foo) instead of foo->data.
+
+1998-12-07  Martin Buchholz  <martin@xemacs.org>
+
+       * sysdep.c (set_descriptor_non_blocking):
+       Since O_NONBLOCK is now always #defined, make use of fcntl
+       conditional on F_SETFL being defined.
+
+1998-12-09  Andy Piper  <andy@xemacs.org>
+
+       * menubar-msw.c (mswindows_handle_wm_command): add back in checks
+       that got removed in the merge
+
+1998-11-30  Greg Klanderman  <greg@alphatech.com>
+
+       * dired.c (vars_of_dired): bugfix for previous conditionalization
+       of user-name-completion on non- Windows NT.
+
+1998-12-08  Martin Buchholz  <martin@xemacs.org>
+
+       * windowsnt.h: Remove `support' for using index and rindex
+
+       * filelock.c (current_lock_owner):
+       - Change uses of index -> strchr, rindex -> strrchr
+
+1998-12-06  Martin Buchholz  <martin@xemacs.org>
+
+       * frame-msw.c (mswindows_init_frame_1):
+       - use make_lisp_hash_table, not Fmake_hash_table
+       - include elhash.h
+
+1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.5 is released
+
+1998-11-30  Martin Buchholz  <martin@xemacs.org>
+
+       * xselect.c (receive_incremental_selection):
+       * xselect.c (x_get_window_property):
+       * xmu.c (XmuReadBitmapDataFromFile):
+       * xmu.c (XmuCursorNameToIndex):
+       * xgccache.c (describe_gc_cache):
+       * xgccache.c (gc_cache_lookup):
+       * xgccache.c (free_gc_cache):
+       * xgccache.c (make_gc_cache):
+       * window.h:
+       * window.c (map_windows_1):
+       * window.c (Fother_window_for_scrolling):
+       * window.c (window_scroll):
+       * window.c (change_window_height):
+       * window.c (Fsplit_window):
+       * window.c (window_left_gutter_width):
+       * window.c (window_modeline_height):
+       * window.c (invalidate_vertical_divider_cache_in_window):
+       * window.c (window_needs_vertical_divider_1):
+       * window.c (update_mirror_internal):
+       * window.c (SET_LAST_FACECHANGE):
+       * widget.c (Fwidget_plist_member):
+       * unexec.c (copy_text_and_data):
+       * unexcw.c (copy_executable_and_dump_data_section):
+       * tooltalk.doc:
+       * tooltalk.c (struct Lisp_Tooltalk_Pattern):
+       * tooltalk.c (struct Lisp_Tooltalk_Message):
+       * toolbar.h (struct toolbar_button):
+       * toolbar.c (default_toolbar_visible_p_changed_in_window):
+       * toolbar.c (recompute_overlaying_specifier):
+       * toolbar.c (toolbar_validate):
+       * toolbar.c (toolbar_button_at_pixpos):
+       * toolbar.c (get_toolbar_coords):
+       * toolbar.c (update_frame_toolbars):
+       * toolbar-x.c:
+       * toolbar-msw.c (mswindows_handle_toolbar_wm_command):
+       * toolbar-msw.c (mswindows_find_toolbar_pos):
+       * toolbar-msw.c (mswindows_output_toolbar):
+       * toolbar-msw.c (mswindows_clear_toolbar):
+       * toolbar-msw.c:
+       * systty.h:
+       * syssignal.h:
+       * sysproc.h:
+       * sysfile.h:
+       * sysdll.c:
+       * sysdep.h:
+       * sysdep.c (rmdir):
+       * sysdep.c (sys_fopen):
+       * sysdep.c (sys_open):
+       * sysdep.c (tty_init_sys_modes_on_device):
+       * sysdep.c (get_eof_char):
+       * sysdep.c (child_setup_tty):
+       * sysdep.c (set_descriptor_non_blocking):
+       * syntax.h:
+       * syntax.c (scan_words):
+       * syntax.c:
+       * symsinit.h:
+       * symeval.h (struct symbol_value_varalias):
+       * symeval.h (struct symbol_value_forward):
+       * symbols.c (syms_of_symbols):
+       * symbols.c (init_symbols_once_early):
+       * symbols.c (Fbuilt_in_variable_type):
+       * symbols.c (Fsymbol_value_in_buffer):
+       * symbols.c (default_value):
+       * symbols.c (Fset):
+       * symbols.c (find_symbol_value_quickly):
+       * symbols.c (store_symval_forwarding):
+       * symbols.c (set_default_console_slot_variable):
+       * symbols.c (set_default_buffer_slot_variable):
+       * symbols.c (verify_ok_for_buffer_local):
+       * symbols.c (symbol_is_constant):
+       * symbols.c (oblookup):
+       * symbols.c (Funintern):
+       * symbols.c (Fintern):
+       * symbols.c (check_obarray):
+       * sunplay.c:
+       * specifier.h (struct specifier_methods):
+       * specifier.h:
+       * specifier.c (specifier_instance):
+       * specifier.c (specifier_instance_from_inst_list):
+       * specifier.c (decode_locale_type):
+       * specifier.c (specifier_equal):
+       * specifier.c (finalize_specifier):
+       * specifier.c (prune_specifiers):
+       * specifier.c (kill_specifier_buffer_locals):
+       * sound.c (init_native_sound):
+       * sound.c:
+       * signal.c (alarm):
+       * search.c (Fmatch_data):
+       * search.c (match_limit):
+       * search.c (Freplace_match):
+       * search.c (skip_chars):
+       * search.c (scan_buffer):
+       * search.c:
+       * scrollbar.c (specifier_vars_of_scrollbar):
+       * scrollbar.c (Fscrollbar_set_hscroll):
+       * scrollbar.c (vertical_scrollbar_changed_in_window):
+       * scrollbar.c (release_window_mirror_scrollbars):
+       * scrollbar.c (free_scrollbar_instance):
+       * scrollbar-x.c:
+       * scrollbar-msw.c:
+       * s/msdos.h (O_BINARY):
+       * s/linux.h:
+       * s/freebsd.h (LIBS_TERMCAP):
+       * regex.c (re_match_2_internal):
+       * regex.c (compile_extended_range):
+       * regex.c (POP_FAILURE_POINT):
+       * regex.c (PUSH_FAILURE_POINT):
+       * redisplay.h (RESET_CHANGED_SET_FLAGS):
+       * redisplay.h:
+       * redisplay.h (struct display_line):
+       * redisplay.h (struct rune):
+       * redisplay.c (vars_of_redisplay):
+       * redisplay.c (redisplay_variable_changed):
+       * redisplay.c (UPDATE_CACHE_RETURN):
+       * redisplay.c (validate_line_start_cache):
+       * redisplay.c (mark_redisplay_structs):
+       * redisplay.c (mark_glyph_block_dynarr):
+       * redisplay.c (window_line_number):
+       * redisplay.c (redisplay_frame):
+       * redisplay.c (redisplay_window):
+       * redisplay.c (generate_modeline):
+       * redisplay.c (create_right_glyph_block):
+       * redisplay.c (create_left_glyph_block):
+       * redisplay.c (create_text_block):
+       * redisplay.c:
+       * redisplay-x.c (x_output_hline):
+       * redisplay-x.c (x_output_vertical_divider):
+       * redisplay-tty.c (tty_output_display_block):
+       * redisplay-output.c (output_display_line):
+       * redisplay-output.c:
+       * redisplay-msw.c (mswindows_output_vertical_divider):
+       * redisplay-msw.c (mswindows_ring_bell):
+       * redisplay-msw.c (mswindows_output_cursor):
+       * redisplay-msw.c:
+       * rangetab.c:
+       * ralloc.c:
+       * puresize.h (RAW_PURESIZE):
+       * profile.c (syms_of_profile):
+       * profile.c (Fstart_profiling):
+       * profile.c (sigprof_handler):
+       * profile.c:
+       * procimpl.h:
+       * process.c (vars_of_process):
+       * process.c (read_process_output):
+       * process.c (get_process):
+       * process.c:
+       * process-unix.c (unix_open_multicast_group):
+       * process-unix.c (unix_get_tty_name):
+       * process-unix.c (unix_send_process):
+       * process-unix.c (unix_reap_exited_processes):
+       * process-unix.c (unix_create_process):
+       * process-unix.c (unix_init_process_io_handles):
+       * process-unix.c (allocate_pty):
+       * process-unix.c:
+       * process-nt.c (nt_open_network_stream):
+       * process-nt.c (nt_update_status_if_terminated):
+       * process-nt.c (nt_finalize_process_data):
+       * process-nt.c:
+       * print.c (debug_short_backtrace):
+       * print.c (debug_backtrace):
+       * print.c (print_symbol):
+       * print.c (print_internal):
+       * print.c (print_cons):
+       * print.c (Fwrite_char):
+       * print.c (print_prepare):
+       * print.c (canonicalize_printcharfun):
+       * print.c (output_string):
+       * print.c:
+       * opaque.h:
+       * opaque.c (allocate_managed_opaque):
+       * opaque.c:
+       * offix.c (DndSetData):
+       * objects.c (face_boolean_create):
+       * objects.c (font_instantiate):
+       * objects.c (font_create):
+       * objects.c (color_create):
+       * objects.c (finalize_font_instance):
+       * objects.c (finalize_color_instance):
+       * objects.c:
+       * objects-x.c (x_font_instance_truename):
+       * objects-x.c:
+       * objects-x.c (x_initialize_font_instance):
+       * objects-x.c (allocate_nearest_color):
+       * objects-tty.c (tty_initialize_font_instance):
+       * objects-tty.c (tty_initialize_color_instance):
+       * objects-msw.c (mswindows_initialize_color_instance):
+       * ntproc.c (syms_of_ntproc):
+       * ntproc.c (Fwin32_set_process_priority):
+       * ntproc.c (sys_spawnve):
+       * ntproc.c:
+       * ntheap.c (get_data_end):
+       * nt.c (period):
+       * nt.c:
+       * nt.c (stat):
+       * nt.c (generate_inode_val):
+       * nt.c (sys_rename):
+       * nas.c:
+       * mule-wnnfns.c (Fwnn_hinsi_number):
+       * mule-wnnfns.c (Fwnn_yuragi):
+       * mule-wnnfns.c (Fwnn_common_learn):
+       * mule-wnnfns.c (Fwnn_suffix_learn):
+       * mule-wnnfns.c (Fwnn_prefix_learn):
+       * mule-wnnfns.c (Fwnn_okuri_learn):
+       * mule-wnnfns.c (Fwnn_complex_conv):
+       * mule-wnnfns.c (Fwnn_last_is_first):
+       * mule-wnnfns.c (Fwnn_bmodify_dict_add):
+       * mule-wnnfns.c (Fwnn_notrans_dict_add):
+       * mule-wnnfns.c (Fwnn_fiusr_dict_add):
+       * mule-wnnfns.c (Fwnn_fisys_dict_add):
+       * mule-wnnfns.c (Fwnn_hinsi_list):
+       * mule-wnnfns.c (Fwnn_fuzokugo_set):
+       * mule-wnnfns.c (Fwnn_dict_search):
+       * mule-wnnfns.c (Fwnn_word_toroku):
+       * mule-wnnfns.c (Fwnn_hindo_update):
+       * mule-wnnfns.c (Fwnn_bunsetu_henkou):
+       * mule-wnnfns.c (Fwnn_kakutei):
+       * mule-wnnfns.c (Fwnn_begin_henkan):
+       * mule-wnnfns.c (Fwnn_dict_comment):
+       * mule-wnnfns.c (Fwnn_dict_add):
+       * mule-wnnfns.c (Fwnn_open):
+       * mule-mcpath.c (mc_getcwd):
+       * mule-coding.c (vars_of_mule_coding):
+       * mule-coding.c (convert_to_external_format):
+       * mule-coding.c (encoding_marker):
+       * mule-coding.c (decoding_marker):
+       * mule-coding.c (Fcopy_coding_system):
+       * mule-coding.c (Fmake_coding_system):
+       * mule-coding.c (Fcoding_system_list):
+       * mule-coding.c (Ffind_coding_system):
+       * mule-coding.c (symbol_to_eol_type):
+       * mule-coding.c:
+       * mule-charset.c (complex_vars_of_mule_charset):
+       * mule-charset.c (vars_of_mule_charset):
+       * mule-charset.c (Fset_charset_ccl_program):
+       * mule-charset.c (struct charset_list_closure):
+       * mule-charset.c (Ffind_charset):
+       * mule-charset.c (make_charset):
+       * mule-charset.c (non_ascii_valid_char_p):
+       * mule-charset.c:
+       * mule-ccl.c (ccl_driver):
+       * mule-canna.c (c2mu):
+       * mule-canna.c (Fcanna_henkan_begin):
+       * mule-canna.c (Fcanna_parse):
+       * mule-canna.c (Fcanna_store_yomi):
+       * mule-canna.c (Fcanna_touroku_string):
+       * mule-canna.c (Fcanna_initialize):
+       * minibuf.c:
+       * menubar.c (menu_parse_submenu_keywords):
+       * menubar-x.c (make_dummy_xbutton_event):
+       * menubar-x.c (set_frame_menubar):
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1):
+       * menubar-x.c:
+       * menubar-msw.h:
+       * menubar-msw.c (mswindows_popup_menu):
+       * menubar-msw.c (mswindows_update_frame_menubars):
+       * menubar-msw.c (mswindows_handle_wm_command):
+       * menubar-msw.c (unsafe_handle_wm_initmenu_1):
+       * menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
+       * menubar-msw.c (update_frame_menubar_maybe):
+       * menubar-msw.c (populate_or_checksum_helper):
+       * menubar-msw.c (empty_menu):
+       * menubar-msw.c:
+       * md5.c:
+       * marker.c (set_marker_internal):
+       * marker.c (print_marker):
+       * malloc.c:
+       * make-src-depend:
+       * lstream.c (lisp_buffer_rewinder):
+       * lstream.c (mark_lstream):
+       * lrecord.h:
+       * lrecord.h (struct lrecord_header):
+       * lread.c (readevalloop):
+       * lread.c (locate_file):
+       * lread.c (locate_file_in_directory):
+       * lread.c (Flocate_file):
+       * lread.c (load_force_doc_string_unwind):
+       * lread.c (ebolify_bytecode_constants):
+       * lread.c:
+       * lisp.h:
+       * lisp-union.h:
+       * lisp-disunion.h:
+       * linuxplay.c (linux_play_data_or_file):
+       * linuxplay.c (audio_init):
+       * line-number.c:
+       * keymap.h:
+       * keymap.c (describe_map):
+       * keymap.c (describe_map_mapper):
+       * keymap.c (Fdescribe_bindings_internal):
+       * keymap.c (Fsingle_key_description):
+       * keymap.c (map_keymap_sorted):
+       * keymap.c (get_relevant_keymaps):
+       * keymap.c (Flookup_key):
+       * keymap.c (raw_lookup_key_mapper):
+       * keymap.c (Fdefine_key):
+       * keymap.c (Fevent_matches_key_specifier_p):
+       * keymap.c (key_desc_list_to_event):
+       * keymap.c (define_key_parser):
+       * keymap.c (define_key_check_and_coerce_keysym):
+       * keymap.c (keymap_submaps):
+       * keymap.c (keymap_store_internal):
+       * keymap.c (keymap_delete_inverse_internal):
+       * keymap.c (keymap_store_inverse_internal):
+       * keymap.c (print_keymap):
+       * keymap.c (Lisp_Keymap):
+       * keymap.c:
+       * intl.c:
+       * insdel.c (convert_bufbyte_string_into_emchar_dynarr):
+       * insdel.c (make_gap):
+       * input-method-xlib.c (get_XIM_input):
+       * input-method-xlib.c (XIM_init_frame):
+       * imgproc.c:
+       * hash.h:
+       * hash.c:
+       * gui.c:
+       * gui-x.c (button_item_to_widget_value):
+       * gui-x.c (popup_selection_callback):
+       * glyphs.h (struct image_instantiator_methods):
+       * glyphs.c (mark_glyph_cachels):
+       * glyphs.c (Fglyph_type):
+       * glyphs.c (image_instantiate):
+       * glyphs.c (image_create):
+       * glyphs.c (make_image_instance_1):
+       * glyphs.c (finalize_image_instance):
+       * glyphs.c:
+       * glyphs-x.c (finalize_subwindow):
+       * glyphs-x.c (xface_validate):
+       * glyphs-x.c (x_locate_pixmap_file):
+       * glyphs-x.c (convert_EImage_to_XImage):
+       * glyphs-msw.c:
+       * glyphs-msw.c (mswindows_resource_instantiate):
+       * glyphs-msw.c (xpm_to_eimage):
+       * glyphs-msw.c (convert_EImage_to_DIBitmap):
+       * glyphs-eimage.c (tiff_instantiate):
+       * glyphs-eimage.c (png_instantiate):
+       * glyphs-eimage.c (struct png_error_struct):
+       * glyphs-eimage.c (gif_memory_storage):
+       * glyphs-eimage.c:
+       * gifrlib.h:
+       * getloadavg.c (getloadavg):
+       * getloadavg.c:
+       * gdbinit:
+       * free-hook.c (log_gcpro):
+       * free-hook.c (check_malloc):
+       * free-hook.c (check_free):
+       * free-hook.c (ROUND_UP_TO_PAGE):
+       * free-hook.c:
+       * frame.h (struct frame):
+       * frame.h:
+       * frame.c (change_frame_size_1):
+       * frame.c (allocate_frame_core):
+       * frame.c:
+       * frame-x.c (x_focus_on_frame):
+       * frame-x.c (x_init_frame_2):
+       * frame-x.c (x_popup_frame):
+       * frame-x.c (xemacs_XtPopup):
+       * frame-x.c:
+       * frame-x.c (Foffix_start_drag_internal):
+       * frame-x.c (x_cde_destroy_callback):
+       * frame-x.c (x_wm_hack_wm_protocols):
+       * frame-tty.c (tty_frame_visible_p):
+       * frame-msw.c (mswindows_make_frame_invisible):
+       * frame-msw.c (mswindows_after_init_frame):
+       * frame-msw.c (mswindows_init_frame_1):
+       * fns.c (syms_of_fns):
+       * fns.c (Fbase64_decode_string):
+       * fns.c (Fnconc):
+       * fns.c (Ffillarray):
+       * fns.c (Fobject_plist):
+       * fns.c (Fget):
+       * fns.c (Fcanonicalize_lax_plist):
+       * fns.c (Fcanonicalize_plist):
+       * fns.c (Fplist_remprop):
+       * fns.c (Fplist_get):
+       * fns.c (advance_plist_pointers):
+       * fns.c (internal_plist_put):
+       * fns.c (Fnreverse):
+       * fns.c (Fremassq):
+       * fns.c (Felt):
+       * fns.c (Fsubstring):
+       * fns.c (Fbvconcat):
+       * fns.c (Flength):
+       * fns.c (length_with_bytecode_hack):
+       * fns.c (print_bit_vector):
+       * fns.c:
+       * floatfns.c (Ffloor):
+       * floatfns.c:
+       * floatfns.c (in_float_error):
+       * fileio.c (Ffile_modes):
+       * fileio.c (Fexpand_file_name):
+       * fileio.c (Fmake_temp_name):
+       * fileio.c (Ffile_name_nondirectory):
+       * fileio.c (Ffile_name_directory):
+       * file-coding.h:
+       * file-coding.c (vars_of_mule_coding):
+       * file-coding.c (convert_to_external_format):
+       * file-coding.c (encoding_marker):
+       * file-coding.c (decoding_marker):
+       * file-coding.c (Fcopy_coding_system):
+       * file-coding.c (Fmake_coding_system):
+       * file-coding.c (struct coding_system_list_closure):
+       * file-coding.c (Ffind_coding_system):
+       * file-coding.c (symbol_to_eol_type):
+       * file-coding.c:
+       * faces.h (struct face_cachel):
+       * faces.c (vars_of_faces):
+       * faces.c (face_property_was_changed):
+       * faces.c (mark_face_cachels):
+       * faces.c (temporary_faces_list):
+       * faces.c (struct face_list_closure):
+       * faces.c:
+       * extents.h (struct extent):
+       * extents.c (vars_of_extents):
+       * extents.c (struct copy_string_extents_1_arg):
+       * extents.c (add_string_extents_mapper):
+       * extents.c (Fextent_property):
+       * extents.c (Fset_extent_property):
+       * extents.c (symbol_to_glyph_layout):
+       * extents.c (properties_equal):
+       * extents.c (print_extent):
+       * extents.c (print_extent_1):
+       * extents.c (extent_in_region_p):
+       * extents.c (gap_array_make_gap):
+       * extents.c:
+       * events.h (struct Lisp_Event):
+       * events.h:
+       * events.c (Fevent_properties):
+       * events.c (format_event_object):
+       * events.c (Fmake_event):
+       * events.c (event_equal):
+       * events.c (print_event):
+       * events.c (mark_event):
+       * event-stream.c ((read-char)
+       * event-stream.c (vars_of_event_stream):
+       * event-stream.c (syms_of_event_stream):
+       * event-stream.c (Fset_recent_keys_ring_size):
+       * event-stream.c (Fsit_for):
+       * event-stream.c (Fnext_event):
+       * event-stream.c (execute_help_form):
+       * event-stream.c (maybe_kbd_translate):
+       * event-stream.c:
+       * event-msw.c (vars_of_event_mswindows):
+       * event-msw.c (mswindows_wnd_proc):
+       * event-msw.c (mswindows_need_event):
+       * event-msw.c (mswindows_drain_windows_queue):
+       * event-msw.c (mswindows_pump_outstanding_events):
+       * event-msw.c:
+       * event-msw.c (slurp_thread):
+       * event-msw.c (struct ntpipe_slurp_stream):
+       * event-msw.c (HANDLE_TO_USID):
+       * event-Xt.c (emacs_Xt_handle_magic_event):
+       * event-Xt.c (x_event_to_emacs_event):
+       * event-Xt.c (x_reset_modifier_mapping):
+       * event-Xt.c (x_reset_key_mapping):
+       * event-Xt.c:
+       * eval.c (syms_of_eval):
+       * eval.c (warn_when_safe):
+       * eval.c (warn_when_safe_lispobj):
+       * eval.c (Fbacktrace_frame):
+       * eval.c (Fbacktrace):
+       * eval.c (top_level_set):
+       * eval.c (unbind_to_hairy):
+       * eval.c (specbind_magic):
+       * eval.c (specbind_unwind_wasnt_local):
+       * eval.c (call2_trapping_errors):
+       * eval.c (call1_trapping_errors):
+       * eval.c (catch_them_squirmers_call2):
+       * eval.c (call0_trapping_errors):
+       * eval.c (run_hook_trapping_errors):
+       * eval.c (catch_them_squirmers_eval_in_buffer):
+       * eval.c (call4_in_buffer):
+       * eval.c (call3_in_buffer):
+       * eval.c (call2_in_buffer):
+       * eval.c (call1_in_buffer):
+       * eval.c (call0_in_buffer):
+       * eval.c (run_hook):
+       * eval.c (run_hook_with_args_in_buffer):
+       * eval.c (Fapply):
+       * eval.c (Feval):
+       * eval.c (do_autoload):
+       * eval.c (un_autoload):
+       * eval.c (Fautoload):
+       * eval.c (Finteractive_p):
+       * eval.c (Fcommand_execute):
+       * eval.c (signal_quit):
+       * eval.c (call_with_suspended_errors):
+       * eval.c (signal_error):
+       * eval.c (return_from_signal):
+       * eval.c (Fcall_with_condition_handler):
+       * eval.c (run_condition_case_handlers):
+       * eval.c (condition_case_1):
+       * eval.c (Funwind_protect):
+       * eval.c (unwind_to_catch):
+       * eval.c (internal_catch):
+       * eval.c (Fmacroexpand_internal):
+       * eval.c (Fuser_variable_p):
+       * eval.c (Fdefconst):
+       * eval.c (Fdefvar):
+       * eval.c (Ffunction):
+       * eval.c (signal_call_debugger):
+       * eval.c (call_debugger):
+       * eval.c:
+       * emacs.c (main):
+       * emacs.c (sort_args):
+       * emacs.c (main_1):
+       * elhash.h:
+       * elhash.c:
+       * editfns.c (Fencode_time):
+       * editfns.c (Fdecode_time):
+       * editfns.c (Fuser_full_name):
+       * editfns.c:
+       * editfns.c (save_excursion_restore):
+       * ecrt0.c:
+       * dynarr.c:
+       * doprnt.c (emacs_doprnt_1):
+       * doc.c (verify_doc_mapper):
+       * doc.c (Fsnarf_documentation):
+       * doc.c (Fdocumentation):
+       * dll.c:
+       * dired.c (user_name_completion):
+       * dired.c (Fdirectory_files):
+       * dialog-x.c:
+       * dialog-msw.c:
+       * dgif_lib.c (FreeSavedImages):
+       * dgif_lib.c (DGifGetImageDesc):
+       * device.h:
+       * device.h (struct device):
+       * device.c (Fselect_device):
+       * device.c (allocate_device):
+       * device.c:
+       * device-x.c (Fx_keysym_on_keyboard_p):
+       * device-x.c (Fx_valid_keysym_name_p):
+       * device-x.c (x_IO_error_handler):
+       * device-x.c (x_delete_device):
+       * device-x.c (x_finish_init_device):
+       * device-x.c (x_init_device):
+       * device-x.c:
+       * device-msw.c (mswindows_init_device):
+       * dbxrc:
+       * database.c (vars_of_database):
+       * database.c (Fput_database):
+       * database.c (Fopen_database):
+       * database.c (berkdb_remove):
+       * database.c (berkdb_put):
+       * database.c (Fdatabasep):
+       * database.c (print_database):
+       * database.c:
+       * data.c (vars_of_data):
+       * data.c (syms_of_data):
+       * data.c (init_errors_once_early):
+       * data.c (prune_weak_lists):
+       * data.c (finish_marking_weak_lists):
+       * data.c (print_weak_list):
+       * data.c (Fmod):
+       * data.c (Fstring_to_number):
+       * data.c (Fnumber_to_string):
+       * data.c (Findirect_function):
+       * data.c (Fsetcdr):
+       * data.c (Ffloatp):
+       * data.c (Fsubr_interactive):
+       * data.c (Farrayp):
+       * data.c (Fkeywordp):
+       * data.c (Fnull):
+       * data.c:
+       * console.h (CONSOLE_NAME):
+       * console.h:
+       * console.c (vars_of_console):
+       * console.c (Fselect_console):
+       * console.c:
+       * console-x.h (DEVICE_X_COLORMAP):
+       * console-x.h (struct x_device):
+       * console-x.c (x_device_to_console_connection):
+       * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
+       * console-tty.c (tty_init_console):
+       * console-tty.c:
+       * console-msw.h (struct mswindows_frame):
+       * conslots.h:
+       * config.h.in:
+       * cmds.c (internal_self_insert):
+       * cmds.c (Fforward_line):
+       * cmds.c (Fforward_char):
+       * cmds.c:
+       * cmdloop.c:
+       * chartab.c (mark_char_table_entry):
+       * chartab.c:
+       * casefiddle.c (casify_word):
+       * callproc.c (child_setup):
+       * callproc.c (Fcall_process_internal):
+       * callproc.c:
+       * callint.c (Fcall_interactively):
+       * bytecode.h:
+       * bytecode.c (execute_rare_opcode):
+       * bytecode.c (execute_optimized_program):
+       * bytecode.c:
+       * bufslots.h:
+       * buffer.h (BUFFER_REALLOC):
+       * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
+       * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
+       * buffer.h:
+       * buffer.h (MAP_INDIRECT_BUFFERS):
+       * buffer.h (CHECK_LIVE_BUFFER):
+       * buffer.c (init_initial_directory):
+       * buffer.c (complex_vars_of_buffer):
+       * buffer.c (vars_of_buffer):
+       * buffer.c (finish_init_buffer):
+       * buffer.c (Fget_file_buffer):
+       * buffer.c (Fbuffer_list):
+       * buffer.c (mark_buffer):
+       * balloon_help.c (balloon_help_move_to_pointer):
+       * balloon_help.c (show_help):
+       * balloon_help.c:
+       * backtrace.h:
+       * alloc.c (garbage_collect_1):
+       * alloc.c (sweep_strings):
+       * alloc.c (sweep_compiled_functions):
+       * alloc.c (sweep_bit_vectors_1):
+       * alloc.c (sweep_vectors_1):
+       * alloc.c (sweep_lcrecords_1):
+       * alloc.c (tick_lcrecord_stats):
+       * alloc.c (pure_string_sizeof):
+       * alloc.c (mark_conses_in_list):
+       * alloc.c (mark_object):
+       * alloc.c (report_pure_usage):
+       * alloc.c (make_pure_float):
+       * alloc.c (make_pure_string):
+       * alloc.c (free_managed_lcrecord):
+       * alloc.c (mark_string):
+       * alloc.c (noseeum_make_marker):
+       * alloc.c (allocate_event):
+       * alloc.c (Fbit_vector):
+       * alloc.c (Fvector):
+       * alloc.c (make_float):
+       * alloc.c (Fmake_list):
+       * alloc.c (Flist):
+       * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
+       * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
+       * alloc.c (DECLARE_FIXED_TYPE_ALLOC):
+       * alloc.c (dbg_constants):
+       * alloc.c (gc_record_type_p):
+       * alloc.c (free_lcrecord):
+       * alloc.c (xmalloc):
+       * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
+       * abbrev.c:
+       * Makefile.in.in (mostlyclean):
+       * Makefile.in.in (external_client_xlib_objs_nonshared):
+       * Makefile.in.in (temacs_link_args):
+       * Makefile.in.in (release):
+       * Makefile.in.in (dnd_objs):
+       * Makefile.in.in (objs):
+       * Makefile.in.in (PROGNAME):
+       * EmacsShell.c: cast strings to (XtPointer)
+       * EmacsFrame.c: cast strings to (XtPointer)
+       - mega patch
+       - rewrite basic lisp functions for speed
+       - rewrite bytecode interpreter for speed
+       - rewrite list looping constructs for speed and safety using
+         tortoise/hare.
+       - use size_t where appropriate.
+       - new hashtable implementation
+       - cleanup implementation of opaques
+       - opaques can now be purecopy'ed
+       - move some cl functionality into C for speed.
+       - remove last remaining VMS support
+       - spelling fixes
+       - improve gdb/dbx debugger support
+       - move pure.c back into alloc.c for performance
+       - enable report_pure_usage() if --memory-usage-stats
+       - remove remnants of Energize support (EMACS_BTL, cadillac...)
+       - don't use symbols with leading `_' or embedded `__'
+       - globally cleanup duplicated semicolons `;;'
+       - I give in on %p vs %lx - we use printf("%lx",(long) p)
+         globally.
+       - globally replace O_NDELAY with O_NONBLOCK.
+       - globally replace CDISABLE with _POSIX_VDISABLE.
+       - use O_RDONLY and O_RDWR instead of magic `0' and `2'.
+       - define (and maybe use!) STDERR_FILENO and friends.
+       - add support for macros defined in C
+       - `when', `unless', `not' and `defalias' now defined in C,
+         so that they are universally available.
+       - rename defvar_mumble to defvar_magic
+       - rename RETURN__ to RETURN_SANS_WARNINGS
+       - use consistent style of initial caps in error messages
+       - implement last, butlast, nbutlast, copy-list in C.
+       - provide typedefs for all struct Lisp_foo types
+       - Lisp_Objects must be initialized to Qnil rather than 0.
+       - make sure XEmacs runs (slowly) with always_gc == 1;
+       - fast and safe LOOP_* macros
+       - change calls to XSETOBJ to XSETFOO
+       - replace calls to XSETINT by make_int()
+       - plug up memory leaks
+       - use style markobj (foo), not silly ((markobj) (foo))
+       - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))
+
+1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>
+
+       * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0
+
+1998-11-28  SL Baur  <steve@altair.xemacs.org>
+
+       * XEmacs 21.2-beta4 is released.
+
+1998-11-27  SL Baur  <steve@altair.xemacs.org>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Fix graphic
+       property in control-1 charset.
+       From Julian Bradfield <jcb@daimi.au.dk>
+
+1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * gui-x.c (button_item_to_widget_value): Ignore :key-sequence
+       keyword.
+       Add stub for :label.
+
+       * gui.c (gui_item_add_keyval_pair): ditto.
+
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
+       :key-sequence keyword.
+       Add stub for:label.
+       Support :active for submenus like the Windows code and FSF Emacs.
+
+1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * dired.c (make_directory_hash_table): make_string() is OK because
+       readdir() Mule-encapsulates.
+
+1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fbase64_encode_string): Fix docstring.
+       (Fbase64_decode_string): Ditto.
+
+1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * editfns.c (Ftranslate_region): Use
+       convert_bufbyte_string_into_emchar_string().
+
+1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * editfns.c (Ftranslate_region): Accept vectors and char-tables as
+       well as strings.
+       (Ftranslate_region): Turn table into an array of Emchars for
+       larger regions.
+
+1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * chartab.c (Freset_char_table): Fix wrong placement of #endif.
+
+1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * chartab.c (Freset_char_table): Don't blindly fill chartables of
+       type `char' with nils.
+
+       * chartab.c (canonicalize_char_table_value): Coerce ints to chars
+       for tables of type `char'.
+
+1998-11-26  Didier Verna  <verna@inf.enst.fr>
+
+       * input-method-xlib.c (Initialize_Locale): don't call
+       XtSetLanguageProc. We've done the whole work here.
+       * input-method-xfs.c (Initialize_Locale): ditto.
+       * input-method-motif.c (Initialize_Locale): ditto.
+
+1998-11-26  Didier Verna  <verna@inf.enst.fr>
+
+       * process-unix.c (unix_create_process): handle properly
+       Vfile_name_coding_system for converting the program and directory
+       names.
+
+1998-11-27  SL Baur  <steve@altair.xemacs.org>
+
+       * m/arm.h: New file.
+       From James LewisMoss <dres@ioa.com>
+
+1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
+
+       * m/mips-nec.h:
+       Fix the realpath() problem of UnixWare2.1.3.
+       Patches for NEC's sysv4.2 machine.
+
+1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * dired.c (Fdirectory_files): Remove redundant code.
+
+1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (free_malloced_ptr): New function.
+       (XMALLOC_OR_ALLOCA): New macro.
+       (XMALLOC_UNBIND): Ditto.
+       (Fbase64_encode_region): Use malloc() for large blocks; arrange it
+       to be freed in case of non-local exit.
+       (Fbase64_encode_string): Ditto.
+       (Fbase64_decode_region): Ditto.
+       (Fbase64_decode_string): Ditto.
+       (STORE_BYTE): New macro.
+       (base64_decode_1): Use it.
+
+1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (base64_value_to_char): Base64 stuff.
+
+1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * editfns.c (Fbuffer_substring): New function.
+
+       * lisp.h: Declare make_string_from_buffer_no_extents().
+
+       * insdel.c (make_string_from_buffer_1): New function.
+       (make_string_from_buffer_no_extents): Ditto.
+
+1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+       * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
+       sound work on AIX with OSS installed.  Linux should still work.
+
+1998-11-03  Andy Piper  <andyp@parallax.co.uk>
+
+       * config.h.in: name change for cygwin/version.h
+
+       * configure.in: check for cygwin/version.h now.
+
+       * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
+       CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
+       move cygwin32/version.h to cygwin/version.h
+
+1998-11-03  Olivier Galibert  <galibert@pobox.com>
+
+       * lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
+       int to long.
+
+1998-10-22  Andy Piper  <andyp@parallax.co.uk>
+
+       * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
+       CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
+       enable BROKEN_SIGIO under b20 to make QUIT work.
+
+1998-10-22  Andy Piper  <andyp@parallax.co.uk>
+
+       * frame-msw.c (mswindows_size_frame_internal): force frame sizing
+       to fit within the constraints of the screen size. I.e. make the
+       frame small enough to fit and move it if some of it will be
+       off-screen.
+
+1998-10-19  Greg Klanderman  <greg@alphatech.com>
+
+       * dired.c: conditionalize inclusion of user-name-completion
+       primitives on non-Windows NT.  The needed functions don't exist on NT.
+
+1998-11-24  SL Baur  <steve@altair.xemacs.org>
+
+       * gifrlib.h: Clean up types for 64 bit compile.
+       * dgif_lib.c (DGifInitRead): Ditto.
+       (MakeSavedImage): Ditto.
+       * emacs.c (decode_path): Ditto.
+       From Steve Carney <carney@pa.dec.com>
+
+1998-10-16  William M. Perry  <wmperry@aventail.com>
+
+       * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
+         (cehckboxes instead of checkboxes).
+
 1998-10-15  SL Baur  <steve@altair.xemacs.org>
 
        * XEmacs 21.2-beta3 is released.
 
 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
 
-       * scrollbar-msw.c: Use the same vertical scrollbar drag hack as 
+       * scrollbar-msw.c: Use the same vertical scrollbar drag hack as
          is used for Motif or Lucid scrollbars under X.
 
 1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>
 
        * s/cygwin32.h: more cygwin b20 reorganisation.
 
-1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
-
-       * window.c (Fset_window_start): Document me.
-       (Fset_window_buffer): Document me.
-       Fixes some sort of repeatable crash.
-
 1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>
 
        * nas.c: Added necessary support functions to be able to handle
          mswindows_enumerate_fonts() function in objects-msw.c instead
          of font_enum_callback_1() to enumerate fonts.
 
-         font_enum_callback_1() and _2() moved to objects-msw.c. 
+         font_enum_callback_1() and _2() moved to objects-msw.c.
 
-       * faces.c (complex_vars_of_faces): Make the mswindows default 
+       * faces.c (complex_vars_of_faces): Make the mswindows default
          face font fully specified and provide some fallbacks.
 
        * objects-msw.c: font_enum_callback_1() and _2() moved here
          sig_enable_code_end() since they are now redundant.
 
          send_signal() and enable_child_signals(): Don't try to work
-         out the end of the code fragments passed to 
+         out the end of the code fragments passed to
          run_in_other_process()
 
 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
 
        * filelock.c: Replaced by version from FSF 20.2. Now implements
        locking by using symlinks which is NFS safe. However keep the
-       GCPRO's in lock_file and the calls to callx_in_buffer like our old 
+       GCPRO's in lock_file and the calls to callx_in_buffer like our old
        version (and of course use ansi C, acessor macros, etc).
 
 1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>
 
        * process-unix.c (unix_create_process): Reset SIGHUP handler to
        SIG_DFL. We now try to conserve any inherted SIG_IGN settings
-       in init_signals_very_early. However these should not be passed 
+       in init_signals_very_early. However these should not be passed
        on to children attached to the new pty.
 
 1998-08-28  Andy Piper  <andyp@parallax.co.uk>
 1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
 
        * fileio.c (file-name-directory, file_name_as_directory):
-         Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT. 
+         Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
 
 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
 
 
        * frame-x.c (x_delete_frame): Flush the X output buffer after
        calling XtDestroyWidget to ensure that the windows are really
-       killed right now. 
+       killed right now.
 
 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
 
        all the buffers.
        (buffer_delete_range): Ditto.
 
-       * marker.c (init_buffer_markers): Set point-marker to the value of 
+       * marker.c (init_buffer_markers): Set point-marker to the value of
        point in an indirect buffer.
 
 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
 
 1998-08-07 Matt Stupple <matts@tibco.com>
 
-        * ntproc.c: don't wait on char_consumed at thread entry. 
+        * ntproc.c: don't wait on char_consumed at thread entry.
        Additionally, to get the 'process' marked as finished, ensure
        that the CHILD_ACTIVE macro returns false, so before exiting
        close char_avail and set it to NULL, and close other handles
 
 1998-07-20  Martin Buchholz  <martin@xemacs.org>
 
-       * casefiddle.c (casify_object): 
+       * casefiddle.c (casify_object):
        Change algorithm from O(N**2) to O(N).
        Code cleanup.
        Doc string cleanup.
 1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
 
        * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
-       (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier 
+       (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
        keys thus no longer considering all keysyms on a key.
 
 1998-07-19  SL Baur  <steve@altair.xemacs.org>
 
        * eval.c (run_hook_with_args_in_buffer): Check
          default (non-buffer-local) value of hook for
-         nil before treating it as a function.  Don't initialize 
+         nil before treating it as a function.  Don't initialize
          the `globals' variable twice.
 
 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
 
        * eval.c (run_hook_with_args_in_buffer): Don't treat
          the default value of a buffer local hook as a list of
-         hooks unless it is both a cons and the car of that cons 
+         hooks unless it is both a cons and the car of that cons
          is not Qlambda.
 
 1998-06-29  SL Baur  <steve@altair.xemacs.org>
        * winslots.h: Rename.
 
        * window.c (specifier_vars_of_window): Renamed
-       vertical-divider-draggable-p to vertical-divider-always-visible-p, 
+       vertical-divider-draggable-p to vertical-divider-always-visible-p,
        as suggested by Ben Wing.
        (specifier_vars_of_window): Fix docstrings.
 
        Set last_known_column_point to the buffer position for
        which the column was requested, not buffer's point.
 
-       * redisplay.c (decode_mode_spec): for current-column, show 
+       * redisplay.c (decode_mode_spec): for current-column, show
        window's point's column, not buffer's point's column.
 
 1998-06-23  Andy Piper  <andyp@parallax.co.uk>
        mswindows_size_frame_internal function and size frame if frame
        parameters not just if init is finished - WM_SIZE happens too
        early for some specs. (mswindows_size_frame_internal): new
-       function abstracted from mswindows_set_frame_properties. 
+       function abstracted from mswindows_set_frame_properties.
        (Vmswindows_use_system_frame_size_defaults):
        new variable controls whether to allow the system to pick frame
        size defaults, defaults to nil.
 
 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
 
-       * eldap.c (Fldap_search_internal): Use build_ext_string instead of 
+       * eldap.c (Fldap_search_internal): Use build_ext_string instead of
        build_string to avoid crashes under Mule.
 
 1998-06-13  Andy Piper  <andyp@parallax.co.uk>
 
        * glyphs-msw.c (read_bitmap_data) (NextInt)
        (read_bitmap_data_from_file): new functions copied from Xmu
-       sources. 
+       sources.
        (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
        inline data to an mswindows bitmap.
        (init_image_instance_from_xbm_inline) (xbm_instantiate_1)
        Added prototype for mswindows_enqueue_misc_user_event().
 
        * menubar-msw.c (mswindows_handle_wm_command): Use
-       mswindows_enqueue_misc_user_event(). 
+       mswindows_enqueue_misc_user_event().
 
        * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
 
 1998-05-29  Greg Klanderman  <greg@alphatech.com>
 
        * window.c (Fwindow_displayed_text_pixel_height): was relying on
-       incorrect semantics of vmotion_pixels which has been fixed.  don't 
+       incorrect semantics of vmotion_pixels which has been fixed.  don't
        use it anymore as it can't easily be used.
 
        * indent.c (vmotion_pixels): fix off by one bug moving up.  also
-       the motion was reported incorrectly if you tried to go past end of 
+       the motion was reported incorrectly if you tried to go past end of
        buffer.
 
 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
 
 1998-05-28  Martin Buchholz  <martin@xemacs.org>
 
-       * alloc.c (dbg_constants): 
+       * alloc.c (dbg_constants):
        * dbxrc:
        * gdbinit:
        Remove toolbar_data debugging code, since that lrecord has
-       also been removed. 
+       also been removed.
 
 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
@@ -1165,7 +4025,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        * fileio.c: replaced egetenv("HOME") with calls to the new
          get_home_directory().
 
-       * lisp.h: Added function prototypes for uncache_home_directory() 
+       * lisp.h: Added function prototypes for uncache_home_directory()
          and get_home_directory(), along with lisp prototypes for
          Fuser_home_directory() and friends.
 
@@ -1182,7 +4042,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
        remove MOD_SHIFT from ASCII characters.
-       (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when 
+       (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
        F10 is pressed.
 
 1998-05-24  Oliver Graf <ograf@fga.de>
@@ -1219,10 +4079,10 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (syms_of_indent): DEFSUBR.
        * lisp.h: declaration for vmotion_pixels().
 
-       * indent.c (Fvertical_motion): Add optional third argument PIXELS, 
+       * indent.c (Fvertical_motion): Add optional third argument PIXELS,
        to request returning motion in pixels.
        (Fvertical_motion_pixels): Remove, functionality merged into
-       Fvertical_motion. 
+       Fvertical_motion.
        * window.c (window_scroll): call Fvertical_motion with 3 arguments.
        (Fmove_to_window_line): ditto.
        * lisp.h: Change declaration for Fvertical_motion.
@@ -1236,7 +4096,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str
 
 1998-05-27  Andy Piper  <andyp@parallax.co.uk>
-               
+
        * faces.c: create a new 3d_object_face, make modeline and
        vertical_divider faces fallback to this rather than the default.
 
@@ -1284,9 +4144,9 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        * This patch is to fix compilation warnings under Windows.
 
        * s/windowsnt.h: Encapsulate getpid with sys_getpid.
-       Added prototypes for FSF inherited functions, with which XEmacs is 
+       Added prototypes for FSF inherited functions, with which XEmacs is
        sprinkled thoroughly.
-       Removed some #if 0 code. Bracketed some more definitions, probably 
+       Removed some #if 0 code. Bracketed some more definitions, probably
        related to Visual C versions prior to 4 (we do not support them).
 
        * sysfloat.h (logb): Finally, get logb() prototyped.
@@ -1302,10 +4162,10 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        vars_of_dired_mswindows and init_ntproc (Grrr).
 
        * realpath.c: Added Windows specific include files.
-       (xrealpath): Conditionalized declaration of some auto variables on 
+       (xrealpath): Conditionalized declaration of some auto variables on
        S_IFLNK, to avoid warnings.
 
-       * ntproc.c: Disabled some compiler warnings. This file is going to 
+       * ntproc.c: Disabled some compiler warnings. This file is going to
        die, so I have not cleaned it up much.
        (set_process_dir): Const parameter.
        (Fwin32_short_file_name): Down CHECK_* macros to one argument.
@@ -1381,7 +4241,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * symsinit.h: Prototyped the above functions.
 
-       * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency 
+       * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
        checks to dialog.c...
 
        * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
@@ -1434,7 +4294,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
        {top,bottom}-{left,right} values in addition to
-       {top,bottom}_{left,right}. 
+       {top,bottom}_{left,right}.
 
 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
 
@@ -1445,10 +4305,10 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
 1998-05-19  Martin Buchholz  <martin@xemacs.org>
 
-       * unexhp9k800.c: 
-       * sound.c (vars_of_sound): 
-       * sysdep.c (reset_sigio_on_device): 
-       * window.c (window_bottom_gutter_height): 
+       * unexhp9k800.c:
+       * sound.c (vars_of_sound):
+       * sysdep.c (reset_sigio_on_device):
+       * window.c (window_bottom_gutter_height):
        unexhp9k800.c:258: warning: implicit declaration of function
        `calculate_checksum'
        sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
@@ -1478,7 +4338,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        * frame-x.c (x_update_frame_external_traits): Start preprocessor
        directives in column 1.
 
-       * search.c (skip_chars): Avoid using xzero with arrays, since some 
+       * search.c (skip_chars): Avoid using xzero with arrays, since some
        compilers get confused by the construct &array.
 
 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
@@ -1502,7 +4362,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
 
        * objects-msw.c (mswindows_initialize_font_instance): Use ANSI
-       charset when creating font. 
+       charset when creating font.
        (mswindows_initialize_color_instance): Do not create brush along
        with a color.
        (mswindows_finalize_color_instance): Do not delete it then.
@@ -1526,7 +4386,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (compute_frame_toolbars_data): Removed unused second parameter;
        Adjusted callers of this static function throughout the file.
        (init_frame_toolbars): Initialize current_toolbar_size.
-       (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of 
+       (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
        what is its current expansion, for clarity.
        (init_frame_toolbars): Ditto.
        (init_device_toolbars): Ditto.
@@ -1571,7 +4431,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * emacs.c (main_1): Call syms_of_process_nt()
 
-       * process-nt.c: Quote process arguments by a call to Lisp function 
+       * process-nt.c: Quote process arguments by a call to Lisp function
        `nt-quote-process-args'.
        (syms_of_process_nt): New function.
        (nt_send_process): Flush data stream after each write, to avoid
@@ -1596,7 +4456,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
 1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
 
-       * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c. 
+       * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.
 
        * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.
 
@@ -1668,7 +4528,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * bufslots.h: Removed buffer_file_type slot.
 
-       * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from 
+       * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
        buffer local flags.
        (complex_vars_of_buffer): Removed buffer-file-type variable and
        its default reference.
@@ -1697,9 +4557,9 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (x_divider_width): ditto.
 
        * window.c (specifier_vars_of_window): new specifiers:
-       vertical-divier -line-width and -spacing. 
+       vertical-divier -line-width and -spacing.
        (vertical_divider_global_width_changed): formerly known as
-       vertical_divider_shadow_thickness_changed. 
+       vertical_divider_shadow_thickness_changed.
 
        * winslots.h: new slots: vertical_specifier _line_width and
        _spacing. Plus corrected a comment typo.
@@ -1712,7 +4572,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (console_type_create_stream): And declaration for it.
 
        * redisplay.c (pixel_to_glyph_translation): Use
-       window_divider_width() instead of divider_width redisplay method. 
+       window_divider_width() instead of divider_width redisplay method.
        (pixel_to_glyph_translation): Fix top divider edge calculation
        when scrollbar is on top.
 
@@ -1722,7 +4582,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (specifier_vars_of_window): For vertical-divider-{spacing,line-width}
        specifiers, set fallback values differently on TTYs, and document
        the behavior of these on TTYs in the docstrings.
-       
+
        * scrollbar.c (update_scrollbar_instance): Use
        window_divider_width() instead of divider_width redisplay method.
 
@@ -1777,7 +4637,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * emacs.c (main_1): Call console_type_create_dialog_x().
 
-       * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted 
+       * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
        into this device method.
        (console_type_create_dialog_x): New function.
 
@@ -1785,7 +4645,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (syms_of_dialog): Defsubr it.
 
        * console.h (struct console_methods): Declared
-       popup_dialog_box_method(). 
+       popup_dialog_box_method().
 
        * symsinit.h: Defined console_type_create_dialog_{x,mswindows}
 
@@ -1823,10 +4683,10 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        ** Renamed window-divider-map => vertical-divider-map
        and event-over-divider-p => event-over-vertical-divider-p,
        in the following files/functions:
-       * events.h: 
-       * events.c (Fevent_over_divider_p): 
-       * keymap.c (get_relevant_keymaps): 
-       (vars_of_keymap): 
+       * events.h:
+       * events.c (Fevent_over_divider_p):
+       * keymap.c (get_relevant_keymaps):
+       (vars_of_keymap):
 
        * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.
 
@@ -1849,7 +4709,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * window.h: Prototype invalidate_vertical_divider_cache_in_window.
        (struct window): Added need_vertical_divider_p and
-       need_vertical_divider_valid_p. 
+       need_vertical_divider_valid_p.
 
        * winslots.h: Added vertical_divider_draggable_p slot.
 
@@ -1905,7 +4765,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        thickness is negative.
 
        * console-stream.c (stream_divider_width): pass a struct window *
-       argument. 
+       argument.
 
        * redisplay-tty.c (tty_divider_width): ditto.
 
@@ -1914,12 +4774,12 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        * redisplay.c (generate_modeline): ittod.
 
        * scrollbar.c (update_scrollbar_instance): ttido.
-       
-       * redisplay-msw.c (mswindows_divider_width): ottid. 
+
+       * redisplay-msw.c (mswindows_divider_width): ottid.
        WARNING: this enables to compile, but the feature is not functional.
 
        * window.h (struct window): new field
-       vertical_divider_shadow_thickness. 
+       vertical_divider_shadow_thickness.
 
        * window.c (specifier_vars_of_window): new specifier
        vertical-divider-shadow-thickness.
@@ -1970,7 +4830,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
 
        * redisplay-msw.c (mswindows_output_dibitmap_region): make sure
-       multiple bitmaps are output vertically as well as horizontally.  
+       multiple bitmaps are output vertically as well as horizontally.
        * (mswindows_output_dibitmap): don't cope with bitmap boundaries
        crossing lines this is handled by
        mswindows_output_dibitmap_region.
@@ -1979,7 +4839,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
        * inline.c: Include eldap.h
 
-       * menubar-x.c (x_update_frame_menubar_internal): 
+       * menubar-x.c (x_update_frame_menubar_internal):
        Remove: unused variable `container'
 
 1998-05-11  Martin Buchholz  <martin@xemacs.org>
@@ -1987,8 +4847,8 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
        Unfortunately, the resulting temacs still cannot dump.
 
-       * symbols.c (symbol_is_constant): 
-       (verify_ok_for_buffer_local): 
+       * symbols.c (symbol_is_constant):
+       (verify_ok_for_buffer_local):
        -Wswitch Warning suppression - add default case to switches.
 
        * redisplay.c (decode_mode_spec): Remove unused variables,
@@ -2035,7 +4895,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 1998-05-12  Didier Verna  <verna@inf.enst.fr>
 
        * redisplay.c: removed the scrolling modeline code that didn't
-       make it for 21.0. To be continued ... 
+       make it for 21.0. To be continued ...
 
 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
 
@@ -2092,7 +4952,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (mswindows_output_vertical_divider): Always output the divider on
        the right side of a window, down to bottom.
 
-       * keymap.c (get_relevant_keymaps): Route mouse button events which 
+       * keymap.c (get_relevant_keymaps): Route mouse button events which
        happened over a window divider through window-divider-map.
        (Fkey_binding): Documented that in the docstring.
        Defined the variable Vwindow_divider_map.
@@ -2141,7 +5001,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
        (metrics); Changed parameters order and added DEFAULT parameter;
        Unabbreviated some metric constants; Fixed and untabified doc string.
        (Fdevice_system_metrics): Added. Returns a plist of all provided
-       metrics. 
+       metrics.
 
        * device-msw.c (mswindows_device_system_metrics): Renamed
        device_metrics enum constants.