XEmacs 21.2.25 "Hephaestus".
[chise/xemacs-chise.git.1] / src / ChangeLog
index 175fdde..df89f68 100644 (file)
+1999-12-24  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.25 is released.
+
+1999-12-22  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments.
+
+1999-12-21  Martin Buchholz  <martin@xemacs.org>
+
+       * editfns.c (Fpoint_min): 
+       (Fpoint_min_marker): 
+       (Fpoint_max): 
+       (Fpoint_max_marker): 
+       (Fchar_after): 
+       (Fchar_before): 
+       Docstring fixes.  What's a `buffer pointer' anyways?
+
+       * editfns.c (char=): Remove unused and undocumented optional
+       third BUFFER argument.
+
+       * toolbar.h (DEVICE_SUPPORTS_TOOLBARS_P): 
+       * fns.c (plists_differ): 
+       * elhash.c (HASH_CODE): 
+       * elhash.c (KEYS_EQUAL_P): 
+       * redisplay-output.c (redisplay_move_cursor): 
+       * redisplay.c (create_text_block): 
+       * floatfns.c (Flogb): 
+       * glyphs-msw.c (mswindows_initialize_image_instance_mask): 
+       * glyphs-msw.c (xpm_to_eimage): 
+       * buffer.h (POINT_MARKER_P): 
+       * syntax.c (scan_lists): 
+       * cmdloop.c (Fcommand_loop_1): 
+       * widget.c (Fwidget_apply): 
+       * regex.c (STREQ): 
+       Remove extra parens, esp. of the form ((expr))
+
+       * floatfns.c (Flogb): Make 64-bit clean.
+
+1999-12-12  Daniel Pittman  <daniel@danann.net>
+
+       * configure.in:
+       * configure.usage:
+        Clean up Athena widget support:
+       - Add `with-athena' to select a variant.
+       - Remove all `athena3d' options.
+       - Robust detection of Athena libraries and headers.
+        - Refuse to build with mismatched library and headers.
+        - Only build a 3d Athena if the user asks for it.
+
+1999-12-21  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (redisplay_frame): check for faces changed when
+       reseting subwindow caches.
+
+       * glyphs.h (struct ii_keyword_entry): add copy_p.
+       (struct image_instantiator_methods): add query_geometry_method and
+       layout_children_method.
+       (IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account
+       copying characteristics of keywords.
+       (IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords
+       whose arguments should not be copied by the specifier code.
+       (image_instance_geometry): new enum for layouts.
+       (struct Lisp_Image_Instance): re-jig for layouts and update
+       macros.
+
+       * glyphs.c (string_instantiate): rename variables.
+       (image_instantiate): add strings to those widgets that are
+       instantiated per-window.
+       (image_copy_vector_instantiator): new function for copying glyph
+       specifier instantiators.
+       (image_copy_instantiator): ditto.
+
+       * glyphs-x.c (x_update_subwindow): use new face update functions.
+       (update_widget_face): update to use new lwlib arg functions.
+       (update_tab_widget_face): new function for updating tab control
+       label faces.
+       (x_widget_instantiate): use new face update functions and new
+       lwlib arg functions.
+       (x_tab_control_instantiate): ditto.
+       (x_tab_control_set_property): ditto.
+
+       * glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for
+       callbacks and other things that could recurse.
+       (VALID_GUI_KEYWORDS): 
+
+       * event-msw.c: fix cpp stuff for cygwin < b20.
+
+       * config.h.in: move uid_t and friends to before the s&m files so
+       that they can be used there.
+
+       * Makefile.in.in (debug-temacs): new target that adds emacs
+       environment before invoking gdb.
+
+       * lwlib.h (_widget_args): new structure for holding widget
+       args. It is reference counted so that we don't have to copy Xt
+       args.
+       (_widget_value): remove widget args. Add reference to widget_args.
+
+       * lwlib.c (free_widget_value_contents): free widget args using
+       free_widget_value_args.
+
+       * lwlib-Xaw.c (xaw_update_one_widget): use new arg packet.
+       (xaw_update_one_widget): use XtIsSubclass for determining labels.
+
+       * lwlib.c (lw_add_value_args_to_args): modify to use our reference
+       counted arg packet.
+       (lw_add_widget_value_arg): new function. Add an arg to the arg
+       packet.
+       (free_widget_value_args): new function. Remove a reference counted
+       arg packet.
+       (lw_copy_widget_value_args): new function. Copy reference counted
+       arg packet.
+       (merge_widget_value_args): new function. Do a merge of widget
+       args.
+       (merge_widget_value): use it.
+       (copy_widget_value_tree): copy widget args using reference
+       counting, since we can't easily copy the args we have been given.
+
+       * specifier.h (struct specifier_methods): add copy_instantiator_method.
+
+       * specifier.c (build_up_processed_list): use
+       copy_instantiator_method if defined.
+
+1999-12-19  Martin Buchholz  <martin@xemacs.org>
+
+       * fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings.
+
+1999-12-19  Hrvoje Niksic  <hniksic@iskon.hr>
+
+       * profile.c (sigprof_handler): FUN retrieved from the backtrace
+       can also be a cons representing anonymous interpreted function.
+
+1999-12-18  Martin Buchholz  <martin@xemacs.org>
+
+       * fns.c (mapcar1): 
+       (Fmapconcat): 
+       (Fmapcar): 
+       (Fmapvector): 
+       Docstring fixes.  Make them consistent with the lispref and ANSI Lisp.
+
+1999-12-17  Martin Buchholz  <martin@xemacs.org>
+
+       * print.c (print_internal): print ?+ instead of ?\+, etc...
+       Make printing a little more efficient.
+       Prevent buffer overflow if sizeof EMACS_INT > 8.
+       My first 128-bit fix!
+
+1999-12-14  Karl M. Hegbloom  <karlheg@inetarena.com>
+
+       * filelock.c (unlock_all_files): GC_CONSP should be CONSP
+
+1999-12-17  Martin Buchholz  <martin@xemacs.org>
+
+       * database.c:
+       * window.c:
+       * event-stream.c:
+       Remove last vestigial uses of GC_*
+       
+       * fns.c (mapcar1): Fix ***THREE*** obscure crashes in one function!
+       - Two of those involve evil mapping functions that destructively
+         modify a list being mapped over.
+       - Any garbage collection when mapping over a string could cause a
+         crash (typically in mapconcat).
+
+1999-12-08  Adrian Aichner  <adrian@xemacs.org>
+
+       * s\windowsnt.h (DIRECTORY_SEP): Initialize from
+       `Vdirectory_sep_char'.
+
+       * lisp.h: Add declaration for `Vdirectory_sep_char' to allow
+       customization of `DIRECTORY_SEP' under native Windows NT.
+
+1999-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * buffer.c (Fbury_buffer): Add directions to the docstring.
+
+1999-12-14  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.24 is released.
+
+1999-12-13  Martin Buchholz  <martin@xemacs.org>
+
+       * sound.c (vars_of_sound): Provide esd-sound if HAVE_ESD_SOUND
+
+       * nas.c: Fix compiler warnings.  Ansify.  C++ compilation support.
+
+1999-12-13  Kazuyuki IENAGA <ienaga@jsys.co.jp>
+
+       * input-method-xlib.c: Make sure src/ does not use Athena, except
+       indirectly through lwlib.
+
+1999-12-13  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * dbxrc (pobj): Add opaque_ptr, remove opaque_list.
+
+1999-12-10  Shenghuo ZHU <zsh@cs.rochester.edu>
+
+       * file-coding.c (add_coding_system_to_list_mapper): 
+       - (coding-system-list) should list aliases correctly.
+
+1999-12-07  Andy Piper  <andy@xemacs.org>
+
+       * fileio.c (vars_of_fileio): directory separator fix from Mike Alexander.
+       * windowsnt.h (ditto):
+
+1999-11-27  Adrian Aichner  <adrian@xemacs.org>
+
+       * sysfile.h: Encapsulate `fstat' for Windows NT just like stat to
+       get consistent file modification times.
+
+       * sysdep.h: Declare `wait_for_termination' to use process handle,
+       not PID, on Windows NT native.
+
+       * sysdep.c (wait_for_termination): Use process handle, not PID, on
+       Windows NT native.  Set exit code correctly on Windows NT.
+       (sys_subshell): Use process handle, not PID,
+       on Windows NT native.
+       (sys_fstat): Add ENCAPSULATE_FSTAT for Windows NT.
+
+       * process-nt.c (nt_create_process): Remove negative pid hack for
+       Windows 95.
+       (nt_send_process): Declare vol_proc volatile.
+       (get_internet_address): warn_when_safe if IP address cannot be
+       found.
+       (nt_open_network_stream): warn_when_safe if network stream fails
+       to open.
+       
+       * ntproc.c (create_child): Remove negative pid hack for Windows
+       95.  Remove incorrect and unnecessary USE_UNION_TYPE handling.
+
+       * nt.c (fstat): Encapsulate for Windows NT just like stat to get
+       consistent file modification times.
+
+       * callproc.c (call_process_cleanup): Use process handle, not PID,
+       on Windows NT native.
+       (Fcall_process_internal): Ditto.  Close fd_error in parent.  Don't
+       check for negative pid on Windows NT/9[58].
+
+1999-12-07  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.23 is released.
+
+1999-12-06  Martin Buchholz  <martin@xemacs.org>
+
+       * events.c (Fcopy_event): Don't copy the lrecord_header.
+
+       * lisp.h (DO_REALLOC): 
+       Optimize.
+       Remove redundant parens.
+       Remove generic hygienic macro comment.
+
+       * lrecord.h (set_lheader_implementation): Remove redundant parens.
+
+1999-12-05  Martin Buchholz  <martin@xemacs.org>
+
+       * lstream.c (Lstream_adding): 
+       - Never compare a size_t and a possibly negative number.
+       - Optimize.
+
+1999-12-05  Kyle Jones  <kyle_jones@wonderworks.com>
+
+       * lisp/itimer.el: (require 'lisp-float-type).  Use
+         floats directly in itimer-time-difference.
+
+1999-12-05  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_layout): avoid name hiding.
+
+       * gui.h: declare gui_add_item_keywords_to_plist.
+
+       * window.c (Fdelete_window): mark subwindows as changed so that
+       they can be GC'd if necessary.
+
+1999-12-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * src/callproc.c (Fcall_process_internal): Be careful in writing
+       terminating null when copying args. nargs can be < 4.
+       Idea from Klaus Frank <klausf@i3.informatik.rwth-aachen.de>
+
+1999-11-29  Kyle Jones  <kyle_jones@wonderworks.com>
+
+       * src/sound.c (Fding): Remove zero initialization of
+         static variables to avoid crashes on systems that dump
+         the initialized data segment read-only.
+
+1999-12-05  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * glyphs-x.c (convert_EImage_to_XImage): Guard against other
+       visual classes. From Rasmus Borup Hansen <rbh@math.ku.dk>
+
+1999-12-04  Martin Buchholz  <martin@xemacs.org>
+
+       * lstream.c: (filedesc_reader): 
+       (filedesc_writer): Try number 2: Support broken systems where
+       return type of read() and write() is different from ssize_t.
+
+       * systty.h: 
+       * sysdep.h:
+       * sysdep.c:
+       - Replace macro calls to EMACS_GET_TTY and EMACS_SET_TTY with
+         function equivalents emacs_get_tty() and emacs_set_tty().
+       - Moved prototypes to systty.h, where struct event_tty is defined.
+       - Renamed bogus `waitp' parameter to `flushp'.
+
+       * lstream.c (filedesc_reader): Support broken systems where return
+       type of read() is different from ssize_t.
+
+       * events.c (Fcopy_event): Avoid redundant EQ test if event2 is nil.
+
+       * event-stream.c (menu_move_up): Remove redundant if block.
+       (menu_move_down): Gratuitous rewriting.
+       (menu_move_left): Work around Cygnus codefusion-990706 compiler bug.
+       (menu_move_right): Ditto.
+
+       * lrecord.h (copy_lcrecord):
+       (zero_lcrecord): 
+       Always add parentheses around uses of macro arguments.
+
+       * sysdll.c: #include <stdlib.h> for exit().
+       * unexhp9k800.x: #include <stdlib.h> for malloc().
+       Use proper prototype for Save_Shared_Data(void).
+
+1999-12-04  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * src/redisplay.c (point_would_be_visible): Correct for topclip.
+
+1999-12-02  Hrvoje Niksic  <hniksic@iskon.hr>
+
+       * lisp.h: Declare Qself_insert_defer_undo.
+
+       * event-stream.c (Fdispatch_event): Get the magic undo thing from
+       a symbol property, so commands other than self-insert-command can
+       install it.
+       (syms_of_event_stream): Define Qself_insert_defer_undo.
+
+1999-11-30  Martin Buchholz  <martin@xemacs.org>
+
+       * floatfns.c (emacs_rint): Rename rint to emacs_rint, so that
+       `#undef HAVE_RINT' works.
+
+       * sysdep.h: Fix up prototypes for sys_read_1(), sys_write_1()
+
+1999-11-25  Andy Piper  <andy@xemacs.org>
+
+       * select-msw.c (Fmswindows_set_clipboard): selection fixes from
+       Mike Alexander.
+       (Fmswindows_delete_selection): ditto.
+
+       * redisplay.h (CLASS_REDISPLAY_FLAGS_CHANGEDP): add size_changed.
+       (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
+
+       * redisplay.c (redisplay_device): move size changed to macros in
+       redisplay.h
+       (redisplay_without_hooks): ditto.
+
+       * redisplay-output.c (redisplay_output_layout): rename to avoid
+       name hiding.
+
+       * process-nt.c (struct nt_process_data): mks toolkit fixes from
+       Mike Alexander.
+       (nt_create_process): ditto.
+       (nt_send_process): ditto.
+
+       * nt.c (init_environment): make sure mingw32 gets the cached
+       system info.
+
+       * gui.h: declare gui_add_item_keywords_to_plist.
+
+       * event-msw.c (mswindows_wnd_proc): Clipboard fixes from Mike
+       Alexander.
+
+       * console-msw.h: fix cygwin define/header 1.0 problems.
+       * glyphs-msw.c: ditto.
+       * ntplay.c: ditto.
+       * unexcw.c: ditto.
+       * s/cygwin32/h: ditto.
+
+1999-11-29  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.22 is released
+
+1999-11-28  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.21 is released.
+
+1999-11-26  Martin Buchholz  <martin@xemacs.org>
+
+       * callproc.c (Fcall_process_internal):
+       * config.h.in:
+       * esd.c:
+       * event-msw.c (ntpipe_slurp_reader):
+       * event-msw.c (ntpipe_shove_writer):
+       * event-msw.c (winsock_reader):
+       * event-msw.c (winsock_writer):
+       * event-stream.c (dribble_out_event):
+       * fileio.c:
+       * fileio.c (Fexpand_file_name):
+       * glyphs-x.c (write_lisp_string_to_temp_file):
+       * gpmevent.c (tty_get_foreign_selection):
+       * lisp.h: Update prototypes.
+       * lstream.c (Lstream_flush_out):
+       * lstream.c (Lstream_write_1):
+       * lstream.c (Lstream_was_blocked_p):
+       * lstream.c (Lstream_read_more):
+       * lstream.c (Lstream_read):
+       * lstream.c (Lstream_fputc):
+       * lstream.c (make_stdio_output_stream):
+       * lstream.c (stdio_flusher):
+       * lstream.c (stdio_closer):
+       * lstream.c (make_filedesc_output_stream):
+       * lstream.c (errno_would_block_p):
+       * lstream.c (filedesc_writer):
+       * lstream.c (make_lisp_string_input_stream):
+       * lstream.c (make_fixed_buffer_output_stream):
+       * lstream.c (fixed_buffer_reader):
+       * lstream.c (make_resizing_buffer_output_stream):
+       * lstream.c (make_dynarr_output_stream):
+       * lstream.c (make_lisp_buffer_output_stream):
+       * lstream.c (lisp_buffer_reader):
+       * lstream.h (lstream_implementation):
+       * md5.c (Fmd5):
+       * miscplay.h (reset_parsestate):
+       * process-nt.c (nt_send_process):
+       * process-unix.c (unix_send_process):
+       * sound.c:
+       * sysdep.c (sys_close):
+       * sysdep.c (sys_read_1):
+       * sysdep.c (sys_write_1):
+       * sysfile.h:
+       * file-coding.c (determine_real_coding_system):
+       * file-coding.c (Fdetect_coding_region):
+       * file-coding.c (struct decoding_stream):
+       * file-coding.c (decoding_reader):
+       * file-coding.c (Fdecode_coding_region):
+       * file-coding.c (struct encoding_stream):
+       * file-coding.c (encoding_reader):
+       * file-coding.c (Fencode_coding_region):
+       * file-coding.c (convert_to_external_format):
+       * file-coding.c (convert_from_external_format):
+       - Lstream functions mirror Unix98 read(),write().  Therefore use
+         Unix98 types size_t and ssize_t.  
+       - Try to make Lstream* functions 64-bit clean.  Someday someone
+         may actually want to read from a Lstream with more than 2**32 bytes.
+       - Add configure support for ssize_t.
+       - Update all callers of Lstream_read and Lstream_write to
+         use the new types.
+       - Fix esd* initiated C++ compile errors.
+       - Remove comments referring to `fpurge' - we don't want to call it
+         even if it's there.
+
+       * lisp.h
+       - Remove some lingering Lucid compiler support.
+
+       * lisp.h
+       - Add prototype for Fdelete_process.
+
+       * gpmevent.c (Freceive_gpm_event): Remove unused variables.
+
+1999-11-27  Martin Buchholz  <martin@xemacs.org>
+
+       * Makefile.in.in (depend): Only update `depend' if there were changes.
+
+1999-11-26  Martin Buchholz  <martin@xemacs.org>
+
+       * editfns.c (get_system_name): Remove.
+
+1999-11-26  Martin Buchholz  <martin@xemacs.org>
+
+       * device-x.c (x_init_device): 
+       - Replace magic number `17' with equivalent expn using sizeof.
+       - Replace strcmp with marginally more efficient memcmp.
+       - Avoid using C++ reserved word `class'.
+
+       * file-coding.c (determine_real_coding_system): 
+       - Look for both initial and final -*- cookies.
+       - Replace EQ (foo, Qnil) with NILP (foo)
+       - Make searching for cookies more efficient.
+       - Recognize only rfc 1521 characters in charset names.
+
+1999-11-22  Kazuyuki IENAGA <kazz@imasy.or.jp>
+
+       * input-method-xlib.c (IMDestroyCallback): #ifdef'd by
+       "THIS_IS_X11R6", because it shouldn't be evaluated unless X11R6.
+       * input-method-xlib.c (IMInstantiateCallback): Ditto.
+       * input-method-xlib.c (XIM_init_device): Revive XOpenIM function
+       call for X11R5 systems.
+       * input-method-xlib.c (XIM_delete_frame): Enabled XDestroyIC()
+       again because XIM doesn't concern with frame deletion itself.
+       The XIC will be cleared by XIM when XIM is closing (at XIM destroy
+       callback).
+
+1999-10-25  Kazuyuki IENAGA <kazz@imasy.or.jp>
+
+        * input-method-xlib.c: Added new lisp object Qxim_xlib.
+        New macro xim_warn(str), xim_warn1(fmt,str) and xim_info(str).
+        All the valid stderr_out were changed to those macros.
+        (IMDestroyCallback): Don't test the XIC if the frame is not X
+        frame.
+        (IMInstantiateCallback): Treat the client_data as "device" not
+        "frame" because the caller changed from frame to device.
+        Here initializes XIM and activates XICs for each frame which
+        doesn't have XIC.
+        (XIM_init_device): Register the XIM instantiation callback which
+        had been performed by XIM_init_frame() before.
+        (XIM_delete_frame): Added a test for the XIM before clearing XIC.
+        (XIM_init_frame): Placed an actual code for XIC activation which
+        was moved from IMInstantiateCallback.
+        (syms_of_input_method_xlib): New function which includes a symbol
+        Qxim_xlib that uses in emacs.c.
+
+        * emacs.c: Added a function entry "syms_of_input_method_xlib" for
+        input_method_xlib.
+
+        * symsinit.h: Added a declaration of "syms_of_input_method_xlib".
+
+1999-11-05  Robert Pluim  <rpluim@bigfoot.com>
+
+       * emacs.c (shut_down_emacs): Point users to PROBLEMS file
+
+1999-11-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * redisplay-output.c (compare_runes): Add comments about
+       results from profiling.
+
+       * redisplay.h (struct rune): Do not use bitfields for members.
+       (struct rune): Add various comments about further optimizations.
+       
+1999-11-19  Eric Darve  <darve@crocco.stanford.edu>
+
+       * abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart
+       if Vabbrev_start_location is used too.
+
+1999-10-27  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * file-coding.c (detect_eol_type): Return CR when two
+       sequential CR are found.
+       (determine_real_coding_system): Check EOL type when coding:
+       cookie is found and EOL type is not specified.
+       Don't assume 8bit char as part of coding: cookie.
+
+1999-10-26  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * file-coding.c (determine_real_coding_system): Check if
+       '-*-' exists. End searching for coding: cookie at the end
+       of line. Check whether character before coding: is space,
+       tab or ';'.
+
+1999-11-07  William M. Perry  <wmperry@aventail.com>
+
+       * gpmevent.c: Completely rewrote GPM mouse support for linux
+         console.  The TTY console and event stream are modified at run
+         time, so this code can now be used as a module.
+         (tty_get_foreign_selection): New function to allow pasting from
+         other virtual consoles.
+         (Fgpm_enable): New lisp-visible function to turn GPM on or off
+         at run time.
+
+       * device-tty.c (tty_asynch_device_change): No longer need to
+         notify GPM code of window/console height/width changes.
+
+       * console-tty.c (tty_init_console): Removed outdated GPM support
+         that was part of the console/event code.
+
+       * event-Xt.c (emacs_Xt_select_console): Ditto
+
+       * event-Xt.c (emacs_Xt_unselect_console): Ditto
+
+       * event-unixoid.c (read_event_from_tty_or_stream_desc): Ditto
+
+       * frame-tty.c (console_type_create_frame_tty): Ditto
+
+1999-11-17  Martin Buchholz  <martin@xemacs.org>
+
+       * nt.c:
+       * sysdep.c:
+       * s/mingw32.h:
+       * s/windowsnt.h:
+       - Use Unix 98 types uid_t, gid_t, pid_t.
+       - Define them.
+
+1999-11-01  Olivier Galibert  <galibert@pobox.com>
+
+       * alloc.c (reinit_alloc_once_early): Move purify_flag init...
+       * emacs.c (main_1): ...here, to get the correct value even with
+       the portable dumper.
+
+1999-11-17  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h (BIT_VECTOR_LONG_STORAGE): Add extra parens.  It's a macro!
+
+       * tooltalk.c (tt_build_string): Remove extra parens.
+       * process.c (print_process): Remove extra parens.
+       * buffer.h (BI_BUF_PTR_BYTE_POS): 
+       (BUF_PTR_BYTE_POS): 
+       (BI_BUF_BYTE_ADDRESS): 
+       (BI_BUF_BYTE_ADDRESS_BEFORE): 
+       (valid_memind_p): 
+       (bytind_to_memind): 
+       (memind_to_bytind):
+       Remove extra parens.  Inline functions are not macros.
+
+       * editfns.c (Fuser_login_name): 
+       (user_login_name):
+       Use proper type uid_t.
+
+1999-11-15  Martin Buchholz  <martin@xemacs.org>
+
+       * syntax.c (complex_vars_of_syntax): Make more readable.
+       (define_standard_syntax): New function.
+
+       * syntax.c (forward-comment): Gradually make XEmacs 64-bit-clean.
+
+1999-11-14  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings.
+
+1999-11-12  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * mule-charset.h (LEADING_BYTE_OFFICIAL_1, LEADING_BYTE_OFFICIAL_2):
+       New enum type to make sure no gap in the leading byte definition.
+
+1999-11-11  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * mule-charset.h (LEADING_BYTE_CYRILLIC_ISO_8859_5,
+       LEADING_BYTE_LATIN_ISO8859_9): Moved to 0x8B and 0x8C
+       to remove a hole in leading byte definition.
+
+1999-11-10  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * mule-charset.c (non_ascii_valid_charptr_p): Check if
+       private charset is defined.
+
+1999-11-09  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * mule-ccl.c (ccl_driver): Make sure generated sequences
+       are valid when doing `CCL_WRITE_STRING'.
+       (ccl-execute-on-string): Pass CCL_MODE_DECODING to ccl_driver.
+
+1999-11-10  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.20 is released
+
+1999-11-04  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-ccl.c (ccl_driver): Warning suppression
+
+1999-11-01  SL Baur  <steve@miho.m17n.org>
+
+       * emacs.c (main_1): Guard call to reinit_vars_of_debug when not
+       building a debugged XEmacs.
+
+1999-10-28  Andreas Jaeger  <aj@suse.de>
+
+       * src/emacs.c (main_1): Don't set the malloc hooks if using
+       DOUG_LEA_MALLOC.
+
+1999-10-30  Olivier Galibert  <galibert@pobox.com>
+
+       * alloc.c (pdump_dump_rtables): Don't forget to dump the last
+       registered type.
+       (pdump): Ditto.
+
+1999-10-25  Olivier Galibert  <galibert@pobox.com>
+
+       * emacs.c (main_1): Call reinit_vars_of_scrollbar_x.
+
+       * symsinit.h: Declare reinit_vars_of_scrollbar_x.
+
+1999-10-25  Martin Buchholz  <martin@xemacs.org>
+
+       * redisplay.h (CLASS_RESET_CHANGED_FLAGS): 
+       (GLOBAL_RESET_CHANGED_FLAGS): 
+       (CLASS_REDISPLAY_FLAGS_CHANGEDP): 
+       (RESET_CHANGED_SET_FLAGS): 
+       Fix C++ compile errors/warnings.
+       These macros were just a tad too clever.
+
+       * process-unix.c (unix_open_network_stream):
+       * objects-x.c (allocate_nearest_color):
+       * mule-charset.c (vars_of_mule_charset): 
+       * fileio.c (Ffile_truename): 
+       * file-coding.c (vars_of_file_coding): 
+       Fix compile errors/warnings.
+
+       * alloc.c (xstrdup): Use fact that memcpy returns its first arg.
+       (allocate_lisp_storage): Simplify.
+
+1999-10-24  Olivier Galibert  <galibert@pobox.com>
+
+       * conslots.h: Add defines with first and last slot names.
+       * bufslots.h: Add defines with first and last slot names.
+
+       * buffer.c (common_init_complex_vars_of_buffer): Renamed from
+       reinit_complex_vars_of_buffer
+       (reinit_complex_vars_of_buffer): Reset the slots to the dumped
+       value.
+       (complex_vars_of_buffer): Dump the slots values.
+
+       * console.c (common_init_complex_vars_of_console): Renamed from
+       reinit_complex_vars_of_console
+       (reinit_complex_vars_of_console): Reset the slots to the dumped
+       value.
+       (complex_vars_of_console): Dump the slots values.
+
+       * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to
+       pdump_rt_list and move them at the beginning of the file.
+       (gc_sweep): Unmark pdumped objects after the sweep phase.
+       (pdump_dump_rtables): Change a bare 256 to
+       last_lrecord_type_index_assigned.  Add a separator between the
+       adresses or lrecords and the ones of C structs in the dump file.
+       (pdump_load): Cope with the new separator and the renamings.  Stop
+       looking for the hash tables list after it has been found (duh!).
+
+1999-10-24  Robert Bihlmeyer <robbe@orcus.priv.at>
+
+       * sound.c: support HAVE_ESD_SOUND
+
+       * miscplay.c: 
+       * miscplay.h: 
+       * linuxplay.c: Move large part of linuxplay to generalized file
+       miscplay. Make it platform independent.
+
+       * esd.c: New file
+
+1999-10-24  Adrian Aichner <adrian@xemacs.org>
+
+       * lisp.h (Dynarr_declare): Fix boo-boo.
+
+1999-10-24  Olivier Galibert  <galibert@pobox.com>
+
+       * process-unix.c (allocate_pty): Fix HAVE_GETPT.
+       * process.h: Ditto.
+
+1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt
+       >=0). Handle the cur_elt == 0 case.
+
+1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * unexelf.c: Merge Martin's c++ fixes back in 
+
+1999-10-20  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+        * unexelf.c (unexec): Only copy the global offset
+        table from memory on sgi machines.
+
+1999-08-13     Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org>
+
+        * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by
+        adding support for an sbss section.  Get IRIX 5.2 to build using
+        unexelf.c.
+
+        * m/iris4d.h: Use unexelf.o for unexec.
+
+        * m/iris5d.h: Use unexelf.o for unexec.
+
+1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * unexelf.c: Revert to 21.1 version
+
+1999-08-28  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * window.c (Fwindow_truncated_p): New function.
+
+1999-08-25  Jonathan Marten <jonathan.marten@uk.sun.com>
+
+       * window.c (window_truncation_on): Always return 0 for minibuffer
+       windows, to enable auto scrolling.
+
+1999-10-24 Neal Becker <nbecker@fred.net>
+       * process.h: Unix98 PTY support
+
+1999-10-17  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * fileio.c (Ffile_truename): Do proper mule decoding on
+       the argument to xrealpath()
+
+1999-08-19  Stephen Tse  <stephent@sfu.ca>
+
+       * process-unix.c (unix_open_network_stream): Add udp network
+       support; rename variable Qtcpip to Qtcp, parameter family to
+       protocol for consistency with Qudp.
+
+       * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to
+       Qtcp, parameter family to protocol for consistency with Qudp.
+
+       * process.c (global_variables): Add a new variable Qudp for udp
+       network support; rename variable Qtcpip to Qtcp for consistency
+       with Qudp.
+       (Fopen_network_stream_internal): Rename parameter FAMILY to
+       PROTOCOL for consistency; fix a minor typo and add an explanation
+       in docstring for udp programming.
+       (Fopen_multicast_group_internal): Fix a minor typo in docstring.
+       (syms_of_process): Add a new variable Qudp for udp network
+       support; rename variable Qtcpip to Qtcp for consistency with Qudp.
+
+       * process.h (extern_variables): Add a new variable Qudp for udp
+       network support; rename variable Qtcpip to Qtcp for consistency
+       with Qudp.
+
+       * procimpl.h: Add a new variable Qudp for udp network support;
+       rename variable Qtcpip to Qtcp for consistency with Qudp.
+       (struct process_methods): Rename parameter family to protocol.
+
+
+1999-10-24  Olivier Galibert  <galibert@pobox.com>
+
+       * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash.
+
+1999-10-23  Olivier Galibert  <galibert@pobox.com>
+
+       * lrecord.h (struct lrecord_header): Removed dumped flags.
+
+       * dynarr.c: Use DUMPEDP instead of dumped flag.
+
+       * lisp.h (DUMPEDP): Added.  Removed dumped flag from dynarr.
+
+       * alloc.c: Removed hash_next linked list pointer.
+       
+       * *.c *.h: Removed markobj and mark_object parameters, removed GC_
+       and XGC macros.
+
+1999-10-14  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-x.c (x_output_shadows): fix dodgy maths for border
+       calculations.
+
+       * gutter.c (output_gutter): be more accurate about the area to be
+       cleared since X seems to manage to do the clear after drawing the
+       border.
+
+       * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting
+       redisplay flags as a group.
+       (RESET_CHANGED_SET_FLAGS): ditto.
+       (CLASS_RESET_CHANGED_FLAGS): ditto.
+       (GLOBAL_RESET_CHANGED_FLAGS): ditto.
+       (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags
+       as a group.
+       (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto.
+       (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
+
+       * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS
+       instead of setting flags individually.
+       (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
+       (redisplay_device): ditto.
+       (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS.
+       (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP.
+       (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
+       (redisplay_without_hooks): ditto.
+       (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS.
+
+       * redisplay-x.c (x_output_string): unmap subwindows in the area.
+       (x_output_blank): ditto.
+
+       * redisplay-output.c (redisplay_output_display_block): don't unmap
+       subwindows in case layout optimization can avoid it.
+       (redisplay_output_subwindow): unmap subwindows in the area.
+       (redisplay_output_layout): optimize the output of layouts - only
+       output glyphs that have changed if nothing else of redisplay
+       significance has occurred.
+       (redisplay_output_pixmap): change args to
+       redisplay_clear_clipped_region.
+       (redisplay_clear_clipped_region): allow the clipped region to be
+       cleared of all subwindows except the one passed in.
+
+       * redisplay-msw.c (mswindows_output_blank): unmap subwindows in
+       the area.
+       (mswindows_output_cursor): ditto.
+       (mswindows_output_string): ditto.
+
+       * gutter.c (calculate_gutter_size): if the window buffer is nil
+       then don't continue.
+       (update_frame_gutters): be more lenient about when we actually
+       update the gutter. Layout optimization makes this
+       non-costly. Cache redisplay flags that we want to temporarily
+       ignore.
+
+       * glyphs.c (Fglyph_animated_timeout_handler): handle image
+       specific timeouts rather than iterating over the instance cache.
+       (glyph_animated_timeout_mapper): deleted.
+       (add_glyph_animated_timeout): use a weak list to hold onto the
+       image so that it can be GC'ed.
+       (disable_glyph_animated_timeout): disable a specific timeout.
+       (vars_of_glyphs): disable-animated-pixmaps is a new boolean for
+       controlling whether pixmaps are animated or not.
+
+       * glyphs-msw.c (mswindows_finalize_image_instance): make sure the
+       image timeout gets disabled when the image gets freed.
+
+       * glyphs-eimage.c (gif_instantiate): remove meaningless
+       comment. Cope with timeouts specified in the gif extension block.
+
+       * event-msw.c (vars_of_event_mswindows): new variable
+       mswindows-meta-activates-menu.
+       (mswindows_wnd_proc): only goto defproc with VK_MENU if the user
+       wants it.
+
+       * glyphs-x.c (x_finalize_image_instance): delete mask first so
+       that we can compare with image.
+
+1999-10-14  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * event-msw.c (mswindows_key_to_emacs_keysym):
+       Recognise keypad keys as different from normal keys.
+
+1999-10-14  Didier Verna  <didier@xemacs.org>
+
+       * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps.
+
+1999-10-10  Olivier Galibert  <galibert@pobox.com>
+
+       * symbols.c (init_symbols_once_early): dump Vquit_flag.
+
+       * symsinit.h: Updated.
+
+       * ntproc.c (vars_of_ntproc): Use defsymbol.
+
+       * emacs.c (main_1): Updated reinit calls.
+
+       * lisp.h: Removed Fpurecopy and pure_put declarations.
+       * fns.c: Removed pure_put.
+
+       * eval.c (Fdefvar): pure_put -> Fput
+       (Fdefconst): Ditto.
+       * frame-x.c (init_x_prop_symbols): Ditto.
+       * symbols.c (deferror): Ditto.
+
+       * alloc.c (Fmake_byte_code): Remove Fpurecopy call.
+       * buffer.c (vars_of_buffer): Ditto.
+       * bytecode.c (Ffetch_bytecode): Ditto.
+       (optimize_compiled_function): Ditto.
+       * emacs.c (vars_of_emacs): Ditto.
+       * emodules.c (vars_of_module): Ditto.
+       * eval.c (define_function): Ditto.
+       (Fautoload): Ditto.
+       * frame.c (vars_of_frame): Ditto.
+       * intl.c (Fset_domain): Ditto.
+       * lread.c (load_force_doc_string_unwind): Ditto.
+       * menubar.c (vars_of_menubar): Ditto.
+       * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
+
+       * debug.c (reinit_vars_of_debug): Extracted.
+       * device-x.c (reinit_vars_of_device_x): Ditto.
+       * emodules.c (reinit_vars_of_module): Ditto.
+       * font-lock.c (reinit_vars_of_font_lock): Ditto.
+       * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto.
+       * glyphs.c (reinit_vars_of_glyphs): Ditto.
+       * gui-x.c (reinit_vars_of_gui_x): Ditto.
+       * insdel.c (reinit_vars_of_insdel): Ditto.
+       * menubar-x.c (reinit_vars_of_menubar_x): Ditto.
+       * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
+       * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto.
+       * print.c (reinit_vars_of_print): Ditto.
+       * redisplay.c (reinit_vars_of_redisplay): Ditto.
+       * select-x.c (reinit_vars_of_xselect): Ditto.
+       * undo.c (reinit_vars_of_undo): Ditto.
+
+1999-10-10  Olivier Galibert  <galibert@pobox.com>
+
+       * symsinit.h: Updated declarations, see other ChangeLog entries.
+
+       * redisplay.c (init_redisplay): Ensure proper reinitialisation.
+
+       * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it.
+
+       * glyphs.c: Add the ii_keyword_entry and related descriptions.
+       Fix the image_instantiator_methods one.
+
+       * file-coding.c: Plonk all data that needs to be dumped in a
+       dynamically allocated structure.
+
+       * extents.c (reinit_vars_of_extents): Extracted from
+       vars_of_extents.
+
+       * event-stream.c (vars_of_event_stream): Don't staticpro when
+       pdump_wire is enough.
+
+       * event-msw.c (reinit_vars_of_event_mswindows): Extracted from
+       vars_of_event_mswindows.
+
+       * event-Xt.c (reinit_vars_of_event_Xt): Extracted from
+       vars_of_event_Xt.
+
+       * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough.
+
+       * emacs.c (main_1): Added some reinit calls.
+
+       * device-x.c (reinit_console_type_create_device_x): Extracted from
+       console_type_create_device_x.
+
+       * console.h: Declare the console_type_entry_dynarr description.
+
+       * console.c: Unstatic the console_type_entry_dynarr description.
+
+       * alloc.c: Removed some dubious comments.  Handle XD_INT_RESET.
+
+1999-10-07  Olivier Galibert  <galibert@pobox.com>
+
+       * symsinit.h: Updated declarations, see other ChangeLog entries.
+
+       * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from
+       complex_vars_of_minibuf.
+
+       * lrecord.h: Removed XD_PARENT_INDIRECT (unused and
+       unimplemented), added XD_LO_LINK.
+
+       * lisp.h (pdump_wire_list): Add declaration.
+
+       * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy.
+       (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug.
+       (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the
+       stupid bug fixed.
+
+       * glyphs.c (reinit_image_instantiator_format_create): Remove.
+
+       * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
+       Remove.
+
+       * glyphs-widget.c
+       (reinit_image_instantiator_format_create_glyphs_widget): Remove.
+
+       * glyphs-msw.c
+       (reinit_image_instantiator_format_create_glyphs_mswindows):
+       Remove.
+
+       * glyphs-eimage.c
+       (reinit_image_instantiator_format_create_glyphs_eimage): Remove.
+
+       * frame.c (Fmake_frame): Don't reset the face cache when using the
+       stream device.
+
+       * file-coding.c: Dumped the_codesys_prop_dynarr and added all
+       relevant descriptions.
+
+       * events.c (reinit_vars_of_events): Extracted from vars_of_events.
+
+       * eval.c: The subr is _not_ a lcrecord.
+
+       * emacs.c (main_1): Call vars_of_specifier early before any
+       specifier creation (e.g in vars_of_glyphs, at least).  Remove the
+       useless reinit_image_instantiator_format*.  Add
+       reinit_vars_of_events and reinit_complex_vars_of_minibuf.  Add
+       calls to lstream_type_create* and process_type_create*.
+
+       * elhash.c: Dump Vall_weak_hash_tables correctly.
+
+       * data.c: Dump Vall_weak_lists correctly.
+
+       * console.c: Fix description.
+
+       * console-stream.c (init_console_stream): Do initializations
+       correctly in the pdump case.
+
+       * chartab.c: Fix description.  Dump Vall_syntax_tables correctly.
+       (Fcopy_char_table): Link into Vall_syntax_tables.
+
+       * alloc.c (pdump_wire_list): Added.
+       (Fgarbage_collect): Fix loop in stats couting missing the last
+       lrecord type.
+       (pdump_register_sub): Added XD_LO_LINK.
+       (pdump_dump_data): Ditto.  Fixed XD_LO_RESET_NIL forgttting the
+       counter.
+       (pdump_reloc_one): Ditto.
+       (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned
+       instead of 256.
+       (pdump_dump_wired): Added lists.
+       (pdump): Use last_lrecord_type_index_assigned instead of 256.
+       Dump last_lrecord_type_index_assigned value.  Fix minor bugs.
+
+1999-10-07  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_finalize_image_instance): zero out
+       bitmap slices.
+
+       * glyphs-x.c (x_finalize_image_instance): fix FMW problem.
+
+1999-10-06  Andy Piper  <andy@xemacs.org>
+
+       * elhash.c (resize_hash_table): Correct reference to lrecord_header.
+
+1999-10-06  Damon Lipparelli  <lipp@primus.com>
+
+       * elhash.h: forward declare Lisp_Hash_Table.
+
+1999-10-06  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (Fset_image_instance_property): mark glyphs as dirty
+       after setting an image instance property.
+
+1999-10-05  Andy Piper  <andy@xemacs.org>
+
+       * gutter.c (update_frame_gutters): output gutters if
+       windows_changed is set. This is the only way of catching changes
+       in selected window which obviously can affect the specifiers.
+
+       * redisplay.c: new state flags, subwindows_state_changed and
+       subwindows_state_changed set.
+       (redisplay_window): use them.
+       (redisplay_device): ditto.
+       (redisplay_without_hooks): ditto.
+       (redisplay_frame): ditto. Reset subwindow cachels if
+       subwindows_changed is set.
+       (redisplay_window): call mark_glyph_cachels_as_clean after
+       redisplaying.
+
+       * redisplay-x.c (x_output_x_pixmap): select correct
+       pixmap image for display depending on the currently selected
+       slice.
+
+       * redisplay-output.c (compare_runes): check dirtiness when
+       checking RUNE_DGLYPH runes.
+       (compare_display_blocks): relax invalidation of display blocks
+       since we can now detect whether individual glyphs have changed or
+       not.
+
+       * redisplay-msw.c (mswindows_output_dibitmap): select correct
+       bitmap image for display depending on the currently selected
+       slice.
+
+       * glyphs.h (struct Lisp_Image_Instance): add a dirty flag.
+       (IMAGE_INSTANCE_DIRTYP): new macro.
+       (XIMAGE_INSTANCE_DIRTYP): ditto.
+       (MARK_IMAGE_INSTANCE_CHANGED): ditto.
+       (GLYPH_DIRTYP): ditto.
+       (XGLYPH_DIRTYP): ditto.
+       (MARK_GLYPH_CHANGED): ditto.
+       (GLYPH_CACHEL_DIRTYP): ditto.
+       (struct glyph_cachel): add a dirty flag.
+
+       * glyphs.c (update_frame_subwindows): Don't update on
+       glyphs_changed.
+       (glyph_animated_timeout_mapper): new function. Map over the
+       instance cache lookinng for animated images to update.
+       (Fglyph_animated_timeout_handler): new function. Lisp callback for
+       handling animated image timeout events.
+       (disable_glyph_animated_timeout): new function. Add the animated
+       image timeout.
+       (disable_glyph_animated_timeout): new function. Remove the
+       animated image timeout.
+       (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and
+       friends.
+       (vars_of_glyphs): initialize Vglyph_animated_ticker.
+       (image_instance_equal): add the currently displayed slice.
+       (image_instance_hash): ditto.
+       (allocate_glyph): initialize dirty flag.
+       (glyph_width): rename glyph -> glyph_or_image.
+       (glyph_height_internal): ditto.
+       (glyph_dirty_p): new function. Determine whether the image
+       instance in the domain and/or glyph is dirty.
+       (set_glyph_dirty_p): set the dirtiness.
+       (update_glyph_cachel_data): take dirtiness into account. Pass the
+       image instance we are interested in to glyph_width and friends.
+       (get_glyph_cachel_index): make non-static. Always call
+       update_glyph_cachel_data.
+       (mark_glyph_cachels_as_not_updated): meaningless formatting
+       change.
+       (mark_glyph_cachels_as_clean): new function. Clean dirtiness from
+       glyph cachels.
+
+       * glyphs-x.h (struct x_image_instance_data): change
+       pixmap to a list of pixmaps.
+       (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro.
+       (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
+       (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto.
+       (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
+
+       * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap
+       images get deleted properly.
+       (init_image_instance_from_x_image): add slices paramater and use
+       it to initialize x_image_instance_data correctly.
+       (image_instance_add_x_image): new function. Add new pixmaps to our
+       set of instantiated pixmaps for an image. Used by animated images.
+       (x_init_image_instance_from_eimage): add a slices
+       parameter. Instantiate all images from the eimage.
+       (x_xpm_instantiate): update use of
+       init_image_instance_from_x_image.
+       (init_image_instance_from_xbm_inline): ditto.
+       (x_initialize_pixmap_image_instance): add slices paramater and use
+       it to allocate x_image_instance_data correctly.
+
+       * glyphs-msw.h (struct mswindows_image_instance_data): change
+       bitmap to a list of bitmaps.
+       (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro.
+       (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
+       (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto.
+       (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
+
+       * glyphs-msw.c (init_image_instance_from_dibitmap): add slices
+       paramater and use it to initialize mswindows_image_instance_data
+       correctly.
+       (image_instance_add_dibitmap): new function. Add new bitmaps to
+       our set of instantiated bitmaps for an image. Used by animated
+       images.
+       (mswindows_init_image_instance_from_eimage): add a slices
+       parameter. Instantiate all images from the eimage.
+       (mswindows_xpm_instantiate): update use of
+       init_image_instance_from_dibitmap.
+       (bmp_instantiate): ditto.
+       (init_image_instance_from_xbm_inline): ditto.
+       (mswindows_finalize_image_instance): make sure all the bitmap
+       slices get deleted.
+       (mswindows_initialize_dibitmap_image_instance): add slices
+       paramater and use it to allocate mswindows_image_instance_data
+       correctly.
+
+       * glyphs-eimage.c (jpeg_instantiate): give extra paramter to
+       init_image_instance_from_eimage.
+       (png_instantiate): ditto.
+       (tiff_instantiate): ditto.
+       (gif_instantiate): allocate bitmaps for all gif slices not just
+       the first one.
+
+       * device.h (struct device): add subwindows_state_changed flag.
+       (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro.
+       (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto.
+
+       * console.h (struct console_methods): add a slice parameter to
+       init_image_instance_from_eimage_method.
+
+       * redisplay.c (create_string_text_block): Allow buffer to be nil
+       without crashing.
+
+1999-09-24  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c: only include gui-x.h if we are building with
+       widgets.
+
+       * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups.
+
+1999-09-28  Lee Kindness <lkindness@csl.co.uk>
+
+       * objects-x.c (allocate_nearest_color): will return 0 (failure)
+       when the colormap is full and the color it has computed to be the
+       'nearest' has been allocated read/write.
+
+1999-10-02  Olivier Galibert  <galibert@pobox.com>
+
+       * search.c (reinit_vars_of_search):   Reinit   the  search   cache
+       correctly.
+
+       * elhash.h:     Make    the    description    visible.     Declare
+       resize_hash_table.
+
+       * elhash.c  (resize_hash_table): Extracted from enlarge_hash_table
+       to generalize the hash table reorganization.
+       (reorganize_hash_table): Added.
+       (enlarge_hash_table): Uses resize_has_table.
+
+       * casetab.c (complex_vars_of_casetab):  staticpro  the mule mirror
+       tables.
+
+       * alloc.c:   Add  correct  management  of   blocks of  structures.
+       Reorganize hash tables at reload since  the hash values can change
+       with the pointers.
+
+1999-10-01  Olivier Galibert  <galibert@pobox.com>
+
+       * lisp.h: Add pdump_wire declaration
+
+       * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables.
+       * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound.
+
+       * alloc.c (pdump_wire): Added..
+       (pdump_load): Support it.
+       (pdump): Support it
+
+       * glyphs-msw.c
+       (reinit_image_instantiator_format_create_glyphs_mswindows): Fix
+       macro calls.
+
+1999-09-28  Olivier Galibert  <galibert@pobox.com>
+
+       * symsinit.h: Added lots of prototypes.
+
+       * symeval.h: Added defsymbol_nodump declaration.
+
+       * symbols.c (find_symbol_value): Lame attempt at making the
+       startup go further.
+       (defsymbol_nodump): Added.
+
+       * mule-charset.c: Collapsed global lisp objects arrays in one
+       dumpable structure.
+
+       * lrecord.h: Added some flags.
+
+       * lisp.h: Added dumped flag to dynarrs.  Added dumpstruct
+       declaration.
+
+       * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't
+       staticpro dynamic variables.
+
+       * glyphs.c (reinit_specifier_type_create_image): Added.
+       (image_instantiator_format_create): Dump image instantiator format
+       dynarr.
+       (reinit_image_instantiator_format_create): Added.
+
+       * emacs.c (main_1): Added reinits calls.
+
+       * dynarr.c: Protect dumped dynarrays from going berzek in free or
+       realloc.
+
+       * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic
+       variables.
+       * specifier.c (specifier_type_create): Dump the specifier type
+       dynarr.
+       (reinit_specifier_type_create): Added.
+       * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic
+       variables.
+       * console.c (console_type_create): Dump the console type dynarr.
+       (reinit_vars_of_console): Extracted from vars_of_console.
+       (reinit_complex_vars_of_console): Extracted from
+       complex_vars_of_console
+       * window.c (reinit_vars_of_window): Extracted from vars_of_window.
+       * toolbar.c (reinit_specifier_type_create_toolbar): Added.
+       * search.c (reinit_vars_of_search): Extracted from vars_of_search.
+       * objects.c (reinit_specifier_type_create_objects): Added.
+       (reinit_vars_of_objects): Extracted from vars_of_objects.
+       * lstream.c (reinit_vars_of_lstream): Extracted from
+       vars_of_lstream.
+       * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread.
+       * gutter.c (reinit_specifier_type_create_gutter): Added.
+       * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
+       Added.
+       * glyphs-widget.c
+       (reinit_image_instantiator_format_create_glyphs_widget): Added
+       * glyphs-msw.c
+       (reinit_image_instantiator_format_create_glyphs_mswindows): Added.
+       * glyphs-eimage.c
+       (reinit_image_instantiator_format_create_glyphs_eimage): Added.
+       * event-stream.c (reinit_vars_of_event_stream): Extracted from
+       vars_of_event_stream
+       * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval.
+       * device.c (reinit_vars_of_device): Extracted from vars_of_device.
+       * console-x.c (reinit_console_type_create_x): Added.
+       * console-tty.c (reinit_console_type_create_tty): Added
+       * console-stream.c (reinit_console_type_create_stream): Added.
+       (init_console_stream): If PDUMP, always reinitialise basic
+       devices.
+       * console-msw.c (reinit_console_type_create_mswindows): Added.
+       * buffer.c (reinit_vars_of_buffer): Extracted from
+       init_vars_of_buffer.
+       (reinit_complex_vars_of_buffer): Extracted from
+       complex_vars_of_buffer
+
+       * alloc.c: Further with the portable dumping, the revenge.
+       (dumpstruct): Added.
+       (reinit_alloc_once_early): Extracted from init_alloc_once_early.
+
+       * specifier.c (sizeof_specifier): Correct size computation.
+       (make_specifier_internal): Ditto.
+
+1999-09-27  Olivier Galibert  <galibert@pobox.com>
+
+       * alloc.c: Further with the portable dumping.
+
+1999-09-27  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs-x.c (update_widget_face): Remove bogus cast
+
+       * data.c (sign_extent_lisp):
+       * data.c (check_int_range):
+       * data.c (Faref):
+       * data.c (Faset):
+       * data.c (number_char_or_marker_to_int):
+       * data.c (number_char_or_marker_to_double):
+       * data.c (Frem):
+       * data.c (Fmod):
+       * extents.c (print_extent_1):
+       * fns.c (print_bit_vector):
+       * fns.c (Flength):
+       * fns.c (Fsafe_length):
+       * fns.c (copy_list):
+       * fns.c (Fsubseq):
+       * fns.c (Felt):
+       * fns.c (Flast):
+       * fns.c (Fnbutlast):
+       * insdel.h:
+       * marker.c (print_marker):
+       * syntax.h:
+       * bytecode.c (bytecode_arithcompare):
+       * bytecode.c (bytecode_arithop):
+       * lisp.h:
+       * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF):
+       * lisp.h (TRUE_LIST_P):
+       * lisp.h (CHECK_TRUE_LIST):
+       * lisp.h (bit_vector_length):
+       * lisp.h (GCPRO4): Make consistent.
+       * lisp.h (NGCPRO4): Make consistent.
+       * lisp.h (NNGCPRO4): Make consistent.
+       * alloc.c (Fmake_list):
+       * alloc.c (Fmake_string):
+       Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int.
+       This should make all arithmetic 64-bit clean.
+
+       Use %ld with (long) casts in print statements of types with sizes
+       possibly larger than int.
+
+       Following functions had mismatched prototypes!!:
+       do_marker_adjustment(), fixup_internal_substring(), scan_lists(),
+       char_quoted(), make_string_from_buffer(),
+       make_string_from_buffer_no_extents()
+
+       The types of Bufpos, Bytind, Memind, Bytecount, Charcount,
+       Extcount are all now EMACS_INT.  I hope to see the day when I can
+       create a buffer with more than INT_MAX characters, without having
+       XEmacs slow down to a crawl.  I also hope to be able to create a
+       list with more than INT_MAX cons cells.
+
+       * redisplay.c (decode_mode_spec): 
+       The %p and %P specs in the mode line were not correct for buffers
+       larger than MAX_INT/100!  The %p spec was off by .5% even for
+       small buffers!
+
+1999-09-27  Martin Buchholz  <martin@xemacs.org>
+
+       * cmdloop.c (num_input_keys):
+       * print.c (debug_temp):
+       * emacs.c (Vinfo_directory):
+       Delete unused variables 
+
+       * console-x.h (x_interline_space):  Mark as unimplemented.
+       * redisplay-x.c (x_interline_space):  Mark as unimplemented.
+
+       * event-Xt.c (pending_timeouts):
+       * linuxplay.c (linuxplay_sndbuf):
+       * profile.c (QS*):
+       * search.c (searchbufs):
+       * specifier.c (specifier_type_entry_dynarr):
+       * undo.c (pending_boundary):
+       * event-stream.c (the_low_level_timeout_blocktype):
+       * extents.c (gap_array_marker_freelist):
+       * extents.c (extent_list_marker_freelist):
+       * print.c (being_printed):
+       * print.c (alternate_do_pointer):
+       * alloc.c (first_string_chars_block):
+       * alloc.c (current_string_chars_block):
+       * emacs.c (initial_argv):
+       * emacs.c (initial_argc):
+       * eval.c (lisp_eval_depth):
+       * free-hook.c (pointer_table):
+       * free-hook.c (free_queue):
+       * free-hook.c (current_free):
+       * free-hook.c (strict_free_check):
+       * redisplay.c (formatted_string_emchar_dynarr):
+       * redisplay.c (formatted_string_display_line):
+       * redisplay.c (formatted_string_extent_dynarr):
+       * redisplay.c (formatted_string_extent_start_dynarr):
+       * redisplay.c (formatted_string_extent_end_dynarr):
+       * redisplay.c (updating_line_start_cache):
+       * redisplay.c (last_display_warning_tick):
+       * redisplay.c (display_warning_tick):
+       * redisplay.c (internal_cache):
+       * window.c (Vwindow_configuration_free_list):
+       Make static.
+
+       * redisplay.c (Vinitial_window_system):  Make CONST.
+
+1999-09-24  Martin Buchholz  <martin@xemacs.org>
+
+       * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements.
+
+       * doprnt.c (get_doprnt_args): Use int, not short, with va_arg.
+
+1999-09-24  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (output_display_line): only clear the borders
+       if we are not displaying the gutter.
+
+1999-09-24  Jan Vroonhof <vroonhof@math.ethz.ch>
+
+       * frame-x.c (x_any_window_to_frame): Let Xt find the widget and
+       then use x_any_widget_or_parent_to_frame().
+       (x_find_frame_for_window): remove special cases.
+
+1999-09-24  Andy Piper  <andy@xemacs.org>
+
+       * scrollbar-x.c (x_window_is_scrollbar): deleted.
+       * scrollbar-x.h: ditto.
+       
+1999-09-23  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (this_marks_a_marked_record): Remove.
+
+       * buffer.c (mark_buffer):
+       * buffer.c (nuke_all_buffer_slots):
+       * console.c (mark_console):
+       * console.c (nuke_all_console_slots):
+       * frame.c (mark_frame):
+       * frame.c (nuke_all_frame_slots):
+       Treat MARKED_SLOT() macros consistently.
+
+       * device.h (error_check_device_type):
+       * faces.c (face_getprop):
+       * fileio.c (DRIVE_LETTER):
+       * filelock.c (lock_file_1):
+       * frame-x.c (x_create_widgets):
+       * frame.h (error_check_frame_type):
+       * keymap.c (print_keymap):
+       * keymap.c (Fkey_description):
+       * keymap.c (where_is_recursive_mapper):
+       * mule-charset.h (CHARSET_LEADING_BYTE):
+       * objects-msw.c (mswindows_color_instance_hash):
+       * objects.c (color_instance_equal):
+       * objects.h (struct color_specifier):
+       * objects.h (struct font_specifier):
+       * objects.h (struct face_boolean_specifier):
+       * opaque.h (get_opaque_ptr):
+       * opaque.h (set_opaque_ptr):
+       * process-unix.c (set_socket_nonblocking_maybe):
+       * specifier.h (SPECIFIER_TYPE_P):
+       * symbols.c (store_symval_forwarding):
+       * syssignal.h (EMACS_KILLPG):
+       * terminfo.c (emacs_tparam):
+       * glyphs.c (glyph_putprop):
+       * glyphs.c (glyph_remprop):
+       * glyphs.c (Fimage_instance_subwindow_id):
+       * window.c (mark_window):
+       * window.c (mark_window_config):
+       * window.c (Fset_window_configuration):
+       * window.c (save_window_save):
+       * eval.c (Fuser_variable_p):
+       * eval.c (Fcommand_execute):
+       * eval.c (Feval):
+       * eval.c (Ffuncall):
+       * lisp.h (XPNTR):
+       * lisp.h (INT_OR_FLOATP):
+       * lisp.h (GC_INT_OR_FLOATP):
+       * lisp.h (XFLOATINT):
+       * lisp.h (IS_ANY_SEP):
+       * mule-ccl.c (Fccl_execute):
+       * mule-ccl.c (Fccl_execute_on_string):
+       * redisplay-x.c (x_output_string):
+       Remove redundant extra parentheses.
+
+1999-09-22  Martin Buchholz  <martin@xemacs.org>
+
+       * chartab.c (word_boundary_p): Add prototype for warning avoidance.
+       * eval.c (PRIMITIVE_FUNCALL): ANSIfy
+       * free-hook.c (fun_ptr): ANSIfy
+       * getloadavg.c: Remove declaration for errno.
+       * gui.c (allocate_gui_item): ANSIfy
+       * gui.h (allocate_gui_item): ANSIfy
+       * mule-ccl.c (resolve_symbol_ccl_program): Make static
+       * realpath.c: Remove K&R support.
+       * redisplay-x.c (x_output_display_block): Don't shadow previous local
+       * glyphs-widget.c (layout_instantiate):  Don't shadow previous local
+       * gutter.c (get_gutter_coords): Make static.
+       * lread.c (locate_file_map_suffixes): Make static.
+       * ralloc.c (relinquish): ANSIfy
+       * redisplay.c:
+       * lisp.h:
+       Move prototypes from redisplay.c to lisp.h
+
+1999-09-22  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs-x.c (x_widget_set_property):
+       - Remove unnecessary initialization.
+       - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
+       * glyphs-x.c (x_widget_instantiate):
+       - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
+       * unexelf.c (unexec):
+       Add cast for C++ compilability.
+       * redisplay.h:
+       Fix a typo.
+       * ralloc.c (r_alloc_reinit):
+       SET_FUN_PTR was broken wrt ANSI aliasing!
+       To compensate, use __typeof__ when using gcc, else live with
+       possible (but rare) warnings.
+       * ralloc.c (init_ralloc):
+       Ditto
+       * ralloc.c: Use the real dlmalloc prototype for __morecore.
+       * lread.c (locate_file_map_suffixes):
+       * input-method-xlib.c (XIM_init_frame):
+       - Xlib functions should use XPointer, not XtPointer.
+       * input-method-xlib.c (XIM_delete_frame):
+       - Xlib functions should use XPointer, not XtPointer.
+       * input-method-xlib.c (IMDestroyCallback):
+       - Simplify.
+       - XFRAME (obj) can never be NULL, so don't test for it.
+       * gutter.h:
+       Add GUTTER_POS_LOOP for iterating over all gutter_pos'es
+       * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
+       Run c-backslash-region on macro body.
+       * gutter.c (gutter_was_visible):
+       Remove redundant parens - this is not a macro.
+       * gutter.c (redraw_exposed_gutters):
+       Use GUTTER_POS_LOOP.
+       * gutter.c (gutter_specs_changed):
+       Use GUTTER_POS_LOOP.
+       * gutter.c (gutter_geometry_changed_in_window):
+       Use GUTTER_POS_LOOP.
+       * gutter.c (update_frame_gutters):
+       Use GUTTER_POS_LOOP.
+       * gutter.c (init_frame_gutters):
+       Use GUTTER_POS_LOOP.
+       * file-coding.c (determine_real_coding_system):
+       Fix C++ compile error.
+       * emodules.c (find_make_module):
+       Cast return value from xrealloc
+       * emacs.c (Fkill_emacs):
+       Use __typeof__, when available.
+       * emacs.c (voodoo_free_hook):
+       Use __typeof__, when available.
+       (Unfortunately, the type of __free_hook is glibc-version-dependent)
+       * dired.c (user_cache): Use Bufbyte *, not char *
+       * dired.c (Fuser_name_all_completions): Ditto.
+
+1999-09-22  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (redisplay_frame): reset the gutter display lines
+       when we reset the subwindows.
+
+       * gutter.c (reset_gutter_display_lines): new function.
+
+       * window.c (Flast_nonminibuf_window): new function equivalent to
+       FRAME_LAST_NONMINIBUF_WINDOW ().
+       (syms_of_window): declare it.
+
+       * redisplay.c (create_string_text_block): don't add bogus eol
+       markers to gutter display lines.
+
+       * glyphs.c (reset_subwindow_cachels): make sure we unmap
+       subwindows using unmap_subwindow so that expose events get
+       registered correctly.
+
+       * window.c (window_scroll): use Vwindow_pixel_scroll_increment to
+       determine how much to scroll the window.
+       (vars_of_window): Vwindow_pixel_scroll_increment is a new
+       variable.
+
+1999-09-20  Robert Pluim  <rpluim@nortelnetworks.com>
+
+       * glyphs-x.c (update_widget_face): Guard fontList declaration for
+       non-motif uses.
+
+1999-09-20  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_update_subwindow): update faces.
+
+1999-09-19  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (update_frame_subwindows): update if faces have
+       changed.
+
+       * glyphs-x.c (x_widget_instantiate): create the clip widget using
+       lwlib rather than directly.
+       (x_finalize_image_instance): delete the clip widget using lwlib.
+       (x_update_subwindow): update widget faces.
+       (update_widget_face): new function for updating the face
+       properties of a widget.
+       (x_widget_set_property): update widget faces.
+
+       * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to
+       manage the clip widgets using lwlib so that we can delete them in
+       a safe manner.
+
+1999-09-16  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp-union.h:
+       * lisp-disunion.h:
+       Define new, potentially faster INT arithmetic macros
+       INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1
+       * bytecode.c (execute_optimized_function):
+       Use new macros.
+       Fix metering code
+       * bytecode.c (bytecode_negate):
+       Optimize for integer case.
+
+1999-08-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * m/mips.h: Support for mips-linux: Add !linux around places
+       that are not valid for linux, define TEXT_START, DATA_START,
+       DATA_SEG_BITS.
+
+1999-09-16  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_subwindow): clip subwindows
+       that don't completely fit on-screen rather than just unmapping
+       them.
+
+       * glyphs.h: change signature of map_subwindow.
+
+       * glyphs.c (map_subwindow): add display_glyph_area to the
+       signature. make sure the mapped area saved in the subwindow_cachel
+       reflects this.
+       (Fforce_subwindow_map): make a no-op. I don't think this does
+       anything useful.
+
+       * glyphs-x.h (struct x_subwindow_data): save the Display rather
+       than the Screen. Add a clipwindow and clipwidget handle.
+       (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor.
+       (IMAGE_INSTANCE_X_CLIPWIDGET): ditto.
+       (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto.
+       (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto.
+
+       * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget
+       as well as the widget itself.
+       (x_unmap_subwindow): unmap the clipwindow and clipwidget rather
+       than the widgets and subwindows themselves. move the widget inside
+       the clipwidget.
+       (x_subwindow_instantiate): hold onto the Display rather than the
+       Screen. allocate a clipwindow to put the subwindow inside.
+       (x_resize_subwindow): use saved Display directly.
+       (x_widget_instantiate): allocate a clipwidget of type EmacsManager
+       to put widgets inside.
+
+       * glyphs-widget.c: remove group stuff.
+
+       * glyphs-msw.h (struct mswindows_subwindow_data): new structure to
+       hold the clipwindow.
+       (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor.
+       (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto.
+
+       * glyphs-msw.c: remove group stuff.
+       (mswindows_finalize_image_instance): destroy clipwindow as well as
+       the widget itself.
+       (mswindows_unmap_subwindow): unmap the clipwindow rather than the
+       widget.
+       (mswindows_map_subwindow): ditto. move the widget within the
+       clipwindow.
+       (mswindows_subwindow_instantiate): allocate and initialize
+       mswindows_subwindow_data. allocate a clipwindow with the subwindow
+       as a child.
+       (mswindows_widget_instantiate): ditto.
+       (mswindows_control_wnd_proc): new function that allows us to
+       propagate events from the widget to the main windows control loop.
+
+       * device-msw.c (mswindows_init_device): register new widget clip window
+       class.
+
+       * console.h (struct console_methods): add display_glyph_area to
+       map_window.
+
+       * console-msw.h: declare new window class and wnd proc for
+       widgets.
+
+1999-09-14  Martin Buchholz  <martin@xemacs.org>
+
+       * general.c:
+       * eldap.c:
+       Move symbols used only by eldap.c into eldap.c as statics.
+
+1999-09-09  Martin Buchholz  <martin@xemacs.org>
+
+       * window.c (syms_of_window):
+       * symbols.c (syms_of_symbols):
+       * redisplay.c (syms_of_redisplay):
+       * print.c (syms_of_print):
+       * lisp.h:
+       * intl.c (syms_of_intl):
+       * general.c (syms_of_general):
+       * frame.c (syms_of_frame):
+       * fileio.c (syms_of_fileio):
+       * file-coding.h:
+       * file-coding.c (syms_of_file_coding):
+       * extents.c (syms_of_extents):
+       * event-stream.c (syms_of_event_stream):
+       * event-stream.c (Fnext_event):
+       * device.c (syms_of_device):
+       * data.c (syms_of_data):
+       * casetab.c (syms_of_casetab):
+       * casetab.c (check_case_table):
+       * callint.c (syms_of_callint):
+       * buffer.c (syms_of_buffer):
+       Delete unused C symbols:
+       Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p,
+       Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp,
+       Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device,
+       Qcommand_execute, Qglyph_invisible,
+       Qbuffer_file_coding_system, Qfile_name_handler_alist,
+       Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath,
+       Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output,
+       Qprint_escape_newlines, Qprint_readably, Qfloat_output_format,
+       Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down
+
+       Rename symbols as required by the CHECK_RECORD macro:
+       - Qcase_table_p to Qcase_tablep
+       - Qcoding_system_p to Qcoding_systemp
+
+       * debug.h:
+       * debug.c (syms_of_debug):
+       Make debug.c's internal Lisp_Objects static.
+
+       * events.c (vars_of_events):
+       * events.c (syms_of_events):
+       Use regular old defsymbol instead of KEYSYM + staticpro().
+
+       * select-x.c (CHECK_CUTBUFFER):
+       Rewrite in accordance with coding standards.
+
+       * keymap.c (syms_of_keymap):
+       Use SPC in the same way as RET, TAB, etc.
+
+1999-08-27  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add
+       offset twice if HAVE_WMCOMMAND is defined.
+
+1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk>
+
+       * redisplay-x.c (x_output_vertical_divider): make sure
+       shadow_thickness is positive.
+
+1999-09-10 Julian Back <jback@rudd.compulink.co.uk>
+
+       * process-nt.c (nt_create_process): fixup to cope with
+       Vprocess_environment.
+
+1999-09-02  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_layout): call output
+       routines with clear_clip false. output layout borders with text
+       correctly.
+
+       * redisplay-msw.c (mswindows_output_blank): call output routines
+       with clear_clip true.
+       (mswindows_output_string): ditto.
+       (mswindows_output_display_block): ditto.
+
+       * redisplay-x.c (x_output_display_block): call output routines
+       with clear_clip true.
+
+       * redisplay.h: fix output routines for clear_clip parameter.
+
+       * redisplay-output.c (redisplay_output_layout): cope with glyphs
+       in the border.
+
+       * glyphs-widget.c (layout_instantiate): deal with border glyphs.
+       (check_valid_glyph_or_instantiator): renamed from
+       check_valid_glyph_or_image.
+       (check_valid_border): allow glyphs or their instantiators.
+       (check_valid_glyph_or_instantiator_list): renamed from
+       check_valid_glyph_or_image_list,
+       (glyph_instantiator_to_glyph): new function. make sure a glyph is
+       a glyph and not an instantiator.
+       (substitute_keyword_value): new function. replace a keyword value
+       with a new one.
+
+1999-09-01  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (string_set_property): new function to set the data of
+       a string.
+       (image_instantiator_format_create): use it.
+
+1999-09-07  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fmapc): Rename back to Fmapc_internal.
+
+1999-07-30  Gleb Arshinov  <gleb@cs.stanford.edu>
+
+       * ntheap.h: CONST (semantically constant) name field of file_data
+       struct
+
+       * unexnt.c (open_output_file): match function definition with
+       function declaration
+
+       * editfns.c: #include "sysfile.h" for getcwd() prototype
+
+       * gif_io.c:  #include "sysfile.h" for close() prototype
+
+1999-09-02  Martin Buchholz  <martin@xemacs.org>
+
+       * elhash.c:
+       * elhash.h:
+       Change the :type keyword to :weakness, for compatibility with the
+       GNU Emacs 20.5 hash table implementation.
+       Keep (but don't document) the :type keyword for compatibility.
+       Obsolete function hash-table-type
+       General cleanup.
+       Define function sxhash for compatibility with Common Lisp and GNU Emacs.
+
+1999-09-01  Martin Buchholz  <martin@xemacs.org>
+
+       * floatfns.c (arith_error):
+       * floatfns.c (range_error):
+       * floatfns.c (range_error2):
+       * floatfns.c (domain_error):
+       * floatfns.c (domain_error2):
+       * lrecord.h (LRECORDP):
+       * console-x.h (X_ERROR_OCCURRED):
+       * console-x.h (HANDLING_X_ERROR):
+       * chartab.c (CATEGORYP):
+       * buffer.h (XCHAR_OR_CHAR_INT):
+       Remove redundant and confusing parentheses.
+
+       * redisplay-output.c (redisplay_clear_to_window_end):
+       Remove redundant initialization.
+
+       * redisplay.h:
+       * redisplay-msw.c:
+       * redisplay-x.c:
+       Move declarations of bevel_modeline() into redisplay.h.
+
+1999-08-30  Olivier Galibert  <galibert@pobox.com>
+
+       * lisp.h: Add staticpro_nodump for undumped staticpro-ing.
+       * alloc.c: Add staticpro_nodump for undumped staticpro-ing.  Add
+                 alignment information for dumped data.  Enhance
+                 descriptions.  Phase out Vterminal_* variables while
+                 dumping.
+       * lrecord.h: Add chained descriptions and automagically-reset
+                 lisp_objects to the description system.
+
+       * console-stream.h: Declare the Vterminal_* variables.
+
+       * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and
+                 Vbuffer_local_symbols.
+       * console.c: Don't dump Vconsole_list, Vconsole_defaults and
+                 Vconsole_local_symbols.
+       * eval.c: Don't dump Qunbound_suspended_errors_tag.
+       * lread.c: Don't dump Vread_buffer_stream.
+       * lstream.c: Don't dump Vlstream_free_list[].
+       * search.c: Don't dump last_thing_searched.
+       * window.c: Don't dump minibuf_window and
+                 Vwindow_configuration_free_list[].
+
+       * faces.c: Add face description.
+       * fns.c: Add bit_vector description.
+       * glyphs.c: Add image specifier description.
+       * objects.c: Add color, face and face boolean specifiers descriptions.
+       * opaque.c: Add opaque description.  Don't dump Vopaque_ptr_free_list.
+       * rangetab.c: Add range table description.
+       * specifier.c: Add specifier and specifier methods description.
+       * specifier.h: Add specifier extra description support.
+
+       * symbols.c: Fix symbol_value_buffer_local_description.
+
+       * gdbinit (Lisp): Add opaque_ptr, remove opaque_list.
+
+1999-09-02  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * extents.c (extent_remprop): Get extent's plist address
+       correctly.
+
+1999-08-31  Andy Piper  <andy@xemacs.org>
+
+       * xmu.h: define Xmu/Converters.h things.
+
+1999-08-31  Andy Piper  <andy@xemacs.org>
+
+       * opaque.c (equal_opaque_ptr): define.
+       (hash_opaque_ptr): define.
+
+       * xmu.h: define Xmu/Misc.h things.
+
+1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (determine_real_coding_system): Treat `coding:'
+       cookie.
+
+1999-08-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (struct decoding_stream): New member `counter'.
+       (reset_decoding_stream): Initialize `counter'.
+       (decode_coding_ucs4): Use `counter'.
+       (decode_coding_utf8): Likewise.
+
+1999-08-31  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_normalize_glyph_area): make sure
+       the clip offset doesn't exceed the height we have available to
+       show.
+
+       * window.h (struct window): add top_yoffset and left_xoffset for
+       pixel scrolling.
+       (WINDOW_TEXT_TOP_CLIP): new macro.
+
+       * window.c (window_scroll): add behaviour for pixel-scrolling of
+       tall lines.
+
+       * redisplay.h (struct display_line): add top_clip.
+       (DISPLAY_LINE_HEIGHT): adjust for top_clip.
+       (DISPLAY_LINE_YPOS): ditto.
+
+       * redisplay.c (position_redisplay_data_type): add
+       start_col_xoffset to prepare for pixel-based h-scrolling.
+       (WINDOW_SCROLLED): new macro.
+       (next_tab_position): use it.
+       (add_glyph_rune): use new hscoll vars.
+       (create_text_block): ditto.
+       (generate_displayable_area): adjust off-by-one error.
+       (regenerate_window): take top_clip into account.
+       (regenerate_window_extents_only_changed): ditto.
+       (regenerate_window_incrementally): ditto.
+
+       * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS,
+       DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
+       (x_output_string): ditto.
+       (x_output_blank): ditto.
+       (x_output_hline): ditto.
+       (x_output_eol_cursor): ditto.
+
+       * redisplay-output.c (output_display_line): allow for
+       top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and
+       DISPLAY_LINE_YEND macros.
+       (redisplay_output_layout): output strings in layouts correctly.
+       (redisplay_clear_clipped_region): allow for top_clip.
+       (redisplay_calculate_display_boxes): ditto.
+
+       * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS,
+       DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
+       (mswindows_output_cursor): ditto.
+       (mswindows_output_string): ditto.
+       (mswindows_redraw_exposed_window): ditto.
+       (mswindows_output_display_block): ditto.
+
+       * gutter.c: new specifier type gutter-size.
+       (gutter_size_validate): validate gutter-size specifier.
+       (Fgutter_size_specifier_p): predicate for gutter-size.
+       (Fredisplay_gutter_area): allow the gutter area to be redisplayed
+       under user contol, like Fredisplay_echo_area.
+       (syms_of_gutter): add new functions.
+       (specifier_type_create_gutter): add new specifier.
+       (specifier_vars_of_gutter): change specifier types of *-height to
+       gutter-size.
+
+       * glyphs.c (glyph_width): make work with image instances.
+
+       * console.h (struct console_methods): change api of output_string.
+
+       * glyphs-x.c (x_map_subwindow): move before mapping as reported by
+       Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
+
+1999-08-30  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK
+       for assignment.
+       (init_image_instance_from_x_image): ditto.
+       (x_xpm_instantiate): ditto.
+       (x_colorize_image_instance): ditto. Reported by Richard Cognot
+       <cognot@ensg.u-nancy.fr>
+
+1999-08-29  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_widget_instantiate): move font initialisation so
+       that it doesn't get saved in the user defined args.
+       (x_tab_control_instantiate): Set the fg color of the tab's
+       children.
+       (x_tab_control_set_property): ditto.
+
+1999-08-27  Damon Lipparelli  <lipp@primus.com>
+
+       * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
+       (XSETTIMEOUT): fixup typo
+
+1999-08-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * syntax.c (scan_words): Unified Mule and Non-mule scanning.
+       Word boundary search looks back instead of forward so that it
+       doesn't peek over the limit.
+
+1999-08-20  Olivier Galibert  <galibert@pobox.com>
+
+       * config.h.in: Add PDUMP define.
+       * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in.
+
+       * lrecord.h: Enhance description system.
+       * alloc.c: Fix vector and string description.  Add portable
+       dumper enumeration fonctions.
+
+       * symbols.c:  Fix symbols description.   Add  symbol_value_forward
+       description.
+       * eval.c: Add subr description.
+       * elhash.c (CLEAR_HENTRY):   Clean  value pointer  too.   Fix hash
+       table description.
+       (remhash_1): CLEAR_HENTRY evaluates the parameter two times now.
+
+1999-08-20  Olivier Galibert  <galibert@pobox.com>
+
+       * opaque.c: Kill opaque lists, make  Lisp_Opaque_Ptr a lrecord of
+       its own.
+       * opaque.h: Ditto.
+
+       * eval.c (eval_in_buffer_trapping_errors):
+       (run_hook_trapping_errors):
+       (safe_run_hook_trapping_errors):
+       (call0_trapping_errors):
+       (call1_trapping_errors):
+       (call2_trapping_errors): OPAQUEP  -> OPAQUE_PTRP.  make_opaque_ptr
+       now takes a non-const void *.
+
+1999-08-20  Olivier Galibert  <galibert@pobox.com>
+
+       * opaque.c: Remove make_opaque_long.
+
+       * opaque.h: Remove everything opaque_long related.
+
+       * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an
+       opaque_ptr.
+
+       * emacs.c (main_1): Remove make_opaque_long from comment.
+
+1999-08-20  Olivier Galibert  <galibert@pobox.com>
+
+       * event-stream.c (mark_timeout):
+       (print_timeout):
+       (event_stream_generate_wakeup):
+       (event_stream_resignal_wakeup):
+       (event_stream_disable_wakeup):
+       (event_stream_wakeup_pending_p):
+       (vars_of_event_stream): Lisp_Timeout is now a lrecord.
+
+       * events.h (struct Lisp_Timeout): Added.
+
+1999-08-24  Andy Piper  <andy@xemacs.org>
+
+       * console-x.h: declare new pixmap signatures.
+
+1999-08-23  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_update_subwindow): make sure the widget size is
+       maintained after an update.
+
+       * event-Xt.c (emacs_Xt_handle_magic_event): use
+       find_matching_subwindow to check whether the exposure is totally
+       inside a subwindow, if it is then ignore it.
+
+       * glyphs.c (find_matching_subwindow): new function.
+
+       * toolbar-x.c (x_draw_blank_toolbar_button): use new
+       x_output_shadows signature.
+       (x_output_toolbar_button): use new x_output_x_pixmap signature.
+
+       * redisplay.h (struct display_box): new structure.
+       (struct display_glyph_area): ditto.
+       declare new display_box functions.
+
+       * redisplay-x.c (x_output_pixmap): update for new display
+       box stuff.
+       (x_bevel_area): update to allow multiple edge styles and border
+       segments.
+       (x_output_display_block): update for new display_box stuff and
+       signatures.
+       (x_clear_region): ditto.
+       (x_output_x_pixmap): ditto. adjust offsets rather than clip.
+       (console_type_create_redisplay_x): declare new console methods.
+       (x_output_vertical_divider): update for new bevel_area signature.
+       (x_output_shadows): update to allow selective drawing of edges.
+
+       * redisplay-tty.c (tty_output_display_block): do nothing for
+       layouts.
+
+       * redisplay-output.c (redisplay_output_subwindow): convert to use
+       display_box structure, this allows us to put subwindows anywhere
+       with any offset, useful for layout glyphs.
+       (redisplay_output_layout): new function. output a layout and its
+       sub-glyphs.
+       (redisplay_output_pixmap): new modular function combining generic
+       parts of the X and mswindows versions. convert to use display_box
+       structures.
+       (redisplay_clear_clipped_region): new function. clear the area a
+       glyph is going into.
+       (redisplay_normalize_glyph_area): new function. calculate the
+       bounds of a display_glyph_area given a display_box.
+       (redisplay_normalize_display_box): new function. shrink a
+       display_box to enclose a display_glyph_area.
+       (redisplay_display_boxes_in_window_p): check whether the input
+       display_box and display_glyph_area are actually in a window.
+       (redisplay_calculate_display_boxes): calculate display boxes based
+       on conventional display_line metrics.
+       (bevel_modeline): update for new bevel_area signature.
+
+       * redisplay-msw.c (mswindows_output_blank): update for new
+       display_box stuff.
+       (mswindows_output_string): ditto.
+       (mswindows_output_dibitmap): ditto.
+       (mswindows_output_dibitmap_region): ditto.
+       (mswindows_output_pixmap): ditto.
+       (mswindows_bevel_area): update to allow multiple edge styles and
+       border segments.
+       (mswindows_output_display_block): update for new display_box stuff
+       and signatures.
+       (mswindows_clear_region): ditto.
+       (console_type_create_redisplay_mswindows): declare new console methods.
+
+       * lisp.h (edge_style): new enum.
+       declare display_box and display_glyph_area.
+
+       * gutter.c (output_gutter): update for new bevel_area signature.
+
+       * glyphs.h (image_instance_type): add layout.
+       (IMAGE_LAYOUT_MASK): ditto.
+       (LAYOUT_IMAGE_INSTANCEP): new macro.
+       (CHECK_LAYOUT_IMAGE_INSTANCE): ditto.
+       (struct Lisp_Image_Instance): add offsets for layout and the
+       layout type itself. move mask here also.
+       (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro.
+       (IMAGE_INSTANCE_LAYOUT_BORDER): ditto.
+       (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto.
+       (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto.
+
+       * glyphs.c (mark_image_instance): update for layouts.
+       (print_image_instance): ditto.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+       (allocate_image_instance): initialise offsets for layout.
+       (decode_image_instance_type): update for layouts.
+       (encode_image_instance_type): ditto.
+       (Fimage_instance_height): ditto.
+       (Fimage_instance_width): ditto.
+       (allocate_glyph): ditto.
+       (glyph_width): allow image instances as an argument. update for layouts.
+       (glyph_height_internal): ditto.
+       (syms_of_glyphs): add layout symbols.
+
+       * glyphs-x.h (struct x_image_instance_data): remove mask entry.
+       (IMAGE_INSTANCE_X_MASK): update.
+
+       * glyphs-x.c (x_label_instantiate): new function. instantiate a
+       label.
+       (image_instantiator_format_create_glyphs_x): initialise new layout
+       glyph type.
+
+       * glyphs-widget.c: new layout type.
+       (check_valid_orientation): new keyword checker for layouts.
+       (check_valid_justification): ditto.
+       (check_valid_border): ditto.
+       (check_valid_glyph_or_image_list): ditto.
+       (layout_possible_dest_types): new function for layout glyph type.
+       (layout_normalize): ditto.
+       (layout_instantiate): ditto.
+       (syms_of_glyphs_widget): new keywords for layout.
+       (image_instantiator_format_create_glyphs_widget): initialise the
+       layout glyph type.
+
+       * glyphs-msw.h (struct mswindows_image_instance_data): remove mask
+       argument.
+       (IMAGE_INSTANCE_MSWINDOWS_MASK): update.
+
+       * glyphs-msw.c: declare layout format.
+       (image_instantiator_format_create_glyphs_mswindows): initialise it.
+
+       * general.c: new symbols for layouts.
+
+       * console.h (struct console_methods): new console methods for
+       outputting pixmaps and strings.
+
+1999-08-23  Didier Verna  <verna@inf.enst.fr>
+
+       * sound.c: revert the renaming of `bell_volume' to `Vbell_volume'
+       and `bell_inhibit_time' to `Vbell_inhibit_time'.
+
+1999-08-18  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_subwindow): disable
+       clipping attempt.
+
+1999-08-17  Andy Piper  <andy@xemacs.org>
+
+       * gutter.c (redraw_exposed_gutter): handle degenerate case of no
+       area to expose or no gutter to display.
+
+1999-08-16  Charles G Waldman  <cgw@fnal.gov>
+
+       * sound.c: rename `bell_volume' to `Vbell_volume' and
+       `bell_inhibit_time' to `Vbell_inhibit_time'.
+
+1999-08-13  Charles G Waldman  <cgw@fnal.gov>
+
+       * sound.c: (bell-inhibit-time): New variable.
+       (ding): Use it.
+       (sound-alist): Fix docstring.
+
+1999-08-17  Andy Piper  <andy@xemacs.org>
+
+       * gui-x.c (button_item_to_widget_value): xstrdup name so that
+       deleting it is ok.
+
+1999-08-16 Jeff Miller <jmiller@smart.net>
+
+       * syntax.c (scan_words): make compile.
+
+1999-08-16  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_subwindow): try and be more
+       relaxed about clipping possibilities.
+
+       * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree
+       rather than just the widget_value.
+       (x_update_subwindow): ditto.
+       (x_widget_instantiate): ditto.
+
+       * gutter.c (output_gutter): shrink current display lines if
+       required.
+
+1999-08-15  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.h: declare free_display_lines.
+
+       * redisplay.c (free_display_lines): make non-static.
+
+       * gutter.c (free_frame_gutters): use free_display_lines instead of
+       Dynarr_free.
+       (calculate_gutter_size): ditto.
+
+1999-08-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * eval.c (run_hook_with_args_in_buffer): GCPRO globals.
+
+1999-08-14  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (update_subwindow_cachel): make it less brittle.
+
+1999-08-04  Mike Woolley  <mike@bulsara.com>
+
+       * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed
+       problem in wheelmouse code occurring when the horizontal scrollbar
+       is enabled but not visible.
+
+1999-08-08  Andy Piper  <andyp@beasys.com>
+
+       * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function.
+       (console_type_create_toolbar_mswindows): use it.
+
+       * glyphs.c (Fset_image_instance_property): fiddly reorganisation.
+
+       * redisplay-output.c (redisplay_output_display_block): unmap
+       subwindows in the block area before outputting the block.
+
+       * event-msw.c (mswindows_wnd_proc): check the update rect before
+       painting and disable expose registration while painting.
+
+       * glyphs.c (register_ignored_expose): check
+       hold_ignored_expose_registration before registering expose events.
+
+       * redisplay.c (redisplay_frame): reset the subwindow cache before
+       displaying the gutter.
+
+       * glyphs-msw.c (mswindows_map_subwindow): move the window before
+       mapping.
+
+       * gutter.c (update_frame_gutters): check for glyphs_changed as if
+       it is the subwindow cache will have been reset.
+
+1999-08-06  Andy Piper  <andyp@beasys.com>
+
+       * gui-x.c (button_item_to_widget_value): cope with strings.
+
+       * glyphs.h: declare global widget functions.
+       (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro.
+
+       * glyphs-x.c (x_combo_box_instantiate): do generic initialization
+       here. remove dead code.
+       (image_instantiator_format_create_glyphs_x): enable combo boxes
+       for Motif 2.0.
+
+       * glyphs-widget.c (widget_instantiate_1): make non-static.
+       (tree_view_instantiate): renamed from combo_box_instantiate.
+       (image_instantiator_format_create_glyphs_widget): use new/changed methods.
+
+       * glyphs-msw.c (mswindows_combo_box_instantiate): do generic
+       initialization here.
+
+       * lwlib-Xm.c (xm_update_combo_box): new function.
+       (xm_update_one_widget): call it.
+       (xm_update_one_value): deal with combo boxes as well as lists.
+       (xm_create_combo_box): create a drop-down combo box.
+
+       * toolbar-msw.c (mswindows_output_toolbar): call
+       mswindows_move_toolbar.
+
+1999-08-05  Andy Piper  <andyp@beasys.com>
+
+       * window.c (Fcurrent_pixel_column): new function. use display
+       lines to calculate pixel position of point.
+       * window.c (syms_of_window): declare it.
+
+1999-08-05  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (check_for_ignored_expose): ignore exposures wholly
+       contained in our ignore list.
+
+       * buffer.c (Frecord_buffer): add call to record-buffer-hook.
+       (syms_of_buffer): declare record-buffer-hook.
+
+       * s/mingw32.h: define mousewheel things.
+
+1999-08-04  Mike Woolley <mike@bulsara.com>
+
+       * windowsnt.h (_WIN32_WINNT): enable for win95
+
+       * s/cygwin32.h: define mousewheel things.
+
+       * scrollbar-msw.h: declare mousewheel handler.
+
+       * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function.
+
+1999-08-04  Andy Piper  <andy@xemacs.org>
+
+       * gui-x.c (gui_items_to_widget_values): remove unused variable.
+       (gui_items_to_widget_values_1): ditto.
+
+       * gui-x.h: unconditionally define since it is used everywhere.
+
+1999-08-04  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_finalize_image_instance): only free pixels if we
+       have that type of image.
+
+1999-07-30  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_unmap_subwindows): add comparison
+       subwindow to not unmap if required.
+       (redisplay_unmap_subwindows_maybe): comparison is Qnil.
+       (redisplay_unmap_subwindows_except_us): new function.
+       (redisplay_output_subwindow): use it to unmap windows in the area
+       we are displaying into.
+
+       * glyphs.c (update_subwindow_cachel_data): always update as we
+       only ever get called when an update is required.
+       (update_subwindow_cachel): new function. sync a subwindow with its
+       cachel.
+       (Fresize_subwindow): use it.
+       (register_ignored_expose): make sure we set the tail correctly.
+
+1999-07-28  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_clear_bottom_of_window): remove
+       unneeded device.
+
+       * gutter.c (redraw_exposed_gutter): unmap subwindows from the
+       whole gutter.
+
+       * gui.h: declare parse_gui_item_tree_list and
+       parse_gui_item_tree_children.
+
+       * gui.c (parse_gui_item_tree_item): new function for parsing item
+       lists into gui-item trees.
+       (parse_gui_item_tree_children): ditto.
+       (parse_gui_item_tree_list): ditto.
+
+       * gui-x.h: declare gui_items_to_widget_values.
+
+       * gui-x.c (gui_items_to_widget_values_1): new function for
+       recursively parsing gui-items into widget_values.
+       (gui_item_children_to_widget_values): ditto.
+       (gui_items_to_widget_values): ditto.
+       (sanity_check_lwlib): add widgets macrolets.
+
+       * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM.
+       (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto.
+       (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM.
+       (XIMAGE_INSTANCE_WIDGET_ITEM): ditto.
+       (struct expose_ignore): new structure for storing ignorable expose
+       events.
+
+       * glyphs.c (valid_image_instantiator_format_p): fix so that using
+       a console-type as a locale works.
+       (mark_image_instance): ITEM->ITEMS.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+       (struct expose_ignore_blocktype): new blocktype.
+       (check_for_ignored_expose): new function. checks frame exposure
+       list for events to ignore.
+       (register_ignored_expose): new function. registers an expose event
+       as ignorable.
+       (unmap_subwindow): register the expose event as ignorable.
+       (vars_of_glyphs): initialise the exposure blocktype.
+
+       * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget.
+       (x_update_subwindow): modify all widgets using widget_value tree
+       rather than just a single widget value.
+       (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF.
+       make sure widgets don't resize themselves.
+       (x_tab_control_instantiate): new function. use lwlib tab functions.
+       (x_tab_control_set_property): new function.
+       (image_instantiator_format_create_glyphs_x): add tab_control.
+
+       * glyphs-widget.c (widget_text_to_pixel_conversion): calculate
+       slightly more sensibly.
+       (initialize_widget_image_instance): ITEM->ITEMS.
+       (widget_instantiate_1): parse gui items generically into the ITEMS
+       entry.
+
+       * glyphs-msw.c (mswindows_update_subwindow): replace
+       SINGLE_ITEM->ITEM.
+       (mswindows_register_widget_instance): ditto.
+       (add_tree_item): modify to use new pre-initialised gui-item
+       structure.
+       (add_tab_item): ditto.
+       (mswindows_tab_control_instantiate): ditto.
+       (mswindows_tab_control_set_property): ditto.
+       (image_instantiator_format_create_glyphs_mswindows): predicate
+       existance of widgets on HAVE_WIDGETS.
+
+       * frame.h (struct frame): add subwindow_exposures variables.
+
+       * frame.c (allocate_frame_core): reset subwindow_exposures links.
+
+       * event-msw.c (mswindows_wnd_proc): check for ignored
+       expose events before redrawing.
+
+       * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored
+       expose events before redrawing.
+
+1999-07-30  SL Baur  <steve@xemacs.org>
+
+       * scrollbar-x.c: should include EmacsFrame.h.
+       From Jeff Miller <jmiller@smart.net>
+
+1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.19 is released
+
+1999-07-27  Jeff Miller  <jmiller@smart.net>
+
+       * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around
+         menubar_show_keybindings.
+
+1999-07-23  SL Baur  <steve@miho>
+
+       * mule-charset.c (syms_of_mule_charset): Delete duplicated
+       definition of Qccl_program.
+
+       * mule-ccl.h: Make a global declaration of it here.
+
+1999-07-20  Bob Weiner  <weiner@beopen.com>
+
+       * s/sco7.h: Added from rr@sco.com.
+
+1999-06-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
+
+1999-06-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
+       (mule_encode): Likewise.
+
+       * mule-ccl.c (Qccl_program): New variable.
+       (CCL_SUSPEND): New macro.
+       (CCL_INVALID_CMD): New macro.
+       (CCL_READ_CHAR): Don't regard as invalid command while processing
+       the last block even if input is empty; use
+       `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
+       (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
+
+       * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
+       (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
+       (CCL_STAT_SUSPEND_BY_DST): Likewise.
+       (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
+       (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
+
+1999-05-04  Ken'ichi Handa  <handa@gnu.org>
+
+       * mule-ccl.h (struct ccl_program): New member stack_idx.
+
+       * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
+       (ccl_driver): Setup stack_idx and ccl_prog correctly.  Update them
+       before returing.
+       (setup_ccl_program): Initialize ccl->stack_idx to 0.
+
+1998-10-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
+       definitions.
+
+1998-08-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
+       processing the last block, don't just finish but processes eol
+       block of the current CCL program.
+       (ccl_driver): Add a new jump label ccl_repeat for the above
+       change.
+
+1998-04-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * mule-ccl.c: Typo in comments fixed.
+       (Qccl_program_idx): New variables.
+       (CCL_ReadMultibyteChar2): Macro name changed from
+       CCL_ReadMultibyteCharacter.
+       (CCL_WriteMultibyteChar2): Macro name changed from
+       CCL_WriteMultibyteChar2.
+       (ccl_driver): Adjusted for the above changes.
+       (resolve_symbol_ccl_program): New function.
+       (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
+       program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
+       numbers by resolve_symbol_ccl_program.
+       (Fccl_execute_on_string): Likewise.
+       (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
+       convert symbols in it to ID numbers by resolve_symbol_ccl_program.
+
+1998-01-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * mule-ccl.h: (struct ccl_program): New member private_state.
+
+       * mule-ccl.c
+       (CCL_Call): Fix the comment.
+       (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
+       macros for CCL Commands.
+       (EXCMD): New macro.
+       (ccl_driver): New case lable `CCL_Extention'.
+       (setup_ccl_program): Initialize the member `private_state' of CCL.
+
+1999-07-08  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * keymap.c (copy_keymap_internal): Inherit the default binding.
+
+1999-07-14  Kazuyuki IENAGA <kazz@imasy.or.jp>
+
+       * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
+       focus the event (XIM_focus_event).
+       (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
+       XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
+       the interface for future use (XIM_SetGeometry).
+       * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
+       location (XIM_SetSpotLocation).
+       (x_output_eol_cursor): Ditto.
+
+1999-07-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
+       Olivier's change to lrecord.h of 1999-04-22
+
+1999-07-20  Robert Pluim  <rpluim@bigfoot.com>
+
+       * gutter.c (redraw_exposed_gutter): Change type of pos from
+       enum toolbar_pos -> enum gutter_pos, since former is only defined
+       if toolbar support is.
+
+1999-07-19  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
+       subwindows.
+
+       * gutter.c (gutter_validate): new function for the gutter specifier.
+       (specifier_type_create_gutter): declare specifier validator.
+
+       * buffer.h (INC_CHARBYTIND): add for no error checking version.
+
+1999-07-18  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
+
+       * glyphs-msw.c (console_type_create_glyphs_mswindows): add
+       resize_subwindow.
+       (mswindows_resize_subwindow): new function.
+
+       * gutter.c (redraw_exposed_gutter): only reset the
+       current_display_lines if non-zero.
+       (Fgutter_pixel_height): new function.
+       (Fgutter_pixel_width): new function.
+
+       * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
+       we want to retrive from the tab control.
+
+1999-07-17  Andy Piper  <andy@xemacs.org>
+
+       * window.c (change_window_height): mark gutters changed when we're
+       done.
+
+       * gutter.c (specifier_vars_of_gutter): make defaults more
+       sensible.
+
+       * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
+       height gutter.
+       (DEFAULT_GUTTER_WIDTH): change.
+       (DEFAULT_GUTTER_BORDER_WIDTH): change.
+
+1999-07-18  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
+
+1999-07-16  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (Fmake_frame): call init_frame_gutters().
+
+       * redisplay.c (add_emchar_rune): use string functions if we are
+       working with a string.
+       (position_redisplay_data_type): add string element.
+
+1999-07-15  Andy Piper  <andy@xemacs.org>
+
+       * winslots.h: add real_gutter_size slots to hold the actual gutter
+       size. This is important for autodetected sizes.
+
+       * gutter.c (calculate_gutter_size): calculate size for gutters
+       that have 'autodetect size.
+
+       * redisplay-msw.c (mswindows_output_vertical_divider): adjust
+       extent of divider for gutters.
+
+       * redisplay-x.c (x_output_vertical_divider): adjust extent of
+       divider for gutters.
+
+       * scrollbar.c (update_scrollbar_instance): adjust scrollbar
+       position to take into account the gutters.
+
+       * redisplay.c (generate_modeline): adjust modeline position to
+       take into account the gutters.
+
+1999-07-14  Andy Piper  <andy@xemacs.org>
+
+       * gutter.c (frame_topmost_window): new function.
+       (frame_bottommost_window): ditto.
+       (frame_leftmost_window): ditto.
+       (frame_rightmost_window): ditto.
+
+1999-07-13  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (calculate_display_line_boundaries): use text
+       boundaries so that gutters get handled properly.
+
+1999-07-12  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
+       we're using Motif.
+
+       * redisplay-output.c (redisplay_clear_to_window_end): generalised
+       from redisplay-x.c
+
+       * redisplay-x.c (redisplay_clear_to_window_end): moved to
+       redisplay.c
+
+       * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
+
+       * gutter.c: new file - implements gutters. All new functions are
+       semantically equivalent to the toolbar functions.
+       (gutter_was_visible): new function.
+       (get_gutter_coords): ditto.
+       (output_gutter): ditto.
+       (clear_gutter): ditto.
+       (update_frame_gutters): ditto.
+       (redraw_exposed_gutter): ditto.
+       (redraw_exposed_gutters): ditto.
+       (free_frame_gutters): ditto.
+       (init_frame_gutters): ditto.
+       (decode_gutter_position): ditto.
+       (Fset_default_gutter_position): ditto.
+       (Fset_default_gutter_position): ditto.
+       (Fdefault_gutter_position): ditto.
+       (gutter_after_change): ditto.
+       (Fgutter_specifier_p): ditto.
+       (recompute_overlaying_specifier): ditto.
+       (gutter_specs_changed): ditto.
+       (default_gutter_specs_changed): ditto.
+       (gutter_geometry_changed_in_window): ditto.
+       (default_gutter_size_changed_in_window): ditto.
+       (default_gutter_border_width_changed_in_window): ditto.
+       (default_gutter_visible_p_changed_in_window): ditto.
+       (syms_of_gutter): ditto.
+       (vars_of_gutter): ditto.
+       (specifier_type_create_gutter): ditto.
+       (specifier_vars_of_gutter): ditto.
+
+       * gutter.h: new file. Contains gutter constants and sizing macros
+       similar to those for the toolbar.
+
+       * winslots.h: add gutter variables.
+
+       * window.h: declare window_is_* functions.
+
+       * window.c (window_is_lowest): make non-static.
+       (window_is_highest): ditto.
+       (window_top_toolbar_height): deleted.
+       (window_bottom_toolbar_height): deleted.
+       (window_left_toolbar_width): deleted.
+       (window_right_toolbar_width): deleted.
+       (window_top_gutter_height): add gutter sizing.
+       (window_bottom_gutter_height): ditto.
+       (window_left_gutter_width): ditto.
+       (window_right_gutter_width): ditto.
+
+       * symsinit.h: declarations for gutters vars etc.
+
+       * search.c (bi_find_next_emchar_in_string): new function.
+
+       * scrollbar.c (update_scrollbar_instance): remove reference to
+       window_bottom_toolbar_height which did nothing.
+
+       * redisplay.h (struct display_line): add face indices for
+       overriding defaults in output_display_line.
+       Add gutter_changed flags and declarations.
+
+       * redisplay.c (create_string_text_block): new function, similar to
+       create_text_block but for strings. Display tables etc are used
+       from the currently selected window.
+       (generate_string_display_line): ditto. Similar to
+       generate_display_line.
+       (generate_displayable_area): generate display lines for a given
+       area on a frame. Input is the string, with associated extents, to
+       display.
+       (redisplay_frame): add gutter_changed check.
+       (redisplay_device): ditto.
+       (redisplay_without_hooks): ditto.
+
+       * redisplay-x.c (bevel_modeline): moved to redisplay.c.
+       (x_redraw_exposed_area): redraw exposed gutters.
+       (x_bevel_area): new redisplay device method.
+       (x_type_create_redisplay_mswindows): add bevel_area device method.
+       (x_output_display_block): fiddly Martin-style cleanup.
+       (x_output_vertical_divider): use bevel_area.
+
+       * redisplay-output.c (output_display_line): check display_lines
+       for face information before using defaults.
+       (bevel_modeline): new function, calls bevel_area with appropriate
+       values.
+
+       * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
+       (mswindows_redraw_exposed_area): redraw exposed gutters.
+       (mswindows_bevel_area): new redisplay device method.
+       (console_type_create_redisplay_mswindows): add bevel_area device
+       method.
+
+       * indent.c (string_column_at_point): add column_at_point but for
+       strings.
+
+       * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
+       instantiate widgets that we have a toolkit for.
+
+       * general.c: add Qgutter.
+
+       * frame.h (struct frame): add display lines for gutters and
+       visibility flags.
+
+       * frame.c (set_frame_selected_window): mark gutters changed.
+
+       * emacs.c (main_1): add gutter initialisation.
+
+       * device.h (struct device): add gutter_changed flag and macros to
+       manipulate it.
+
+       * console.h (struct console_methods): new bevel area redisplay
+       method.
+
+       * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
+       REAL_INC_BYTIND is for buffers.
+       (INC_CHARPTR): ditto.
+
+       * Makefile.in.in (objs): add gutter.o
+
+1999-07-13  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.18 is released
+
+1999-07-08  SL Baur  <steve@mule.m17n.org>
+
+       * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
+       XIM_XLIB.
+       (emacs_Xt_handle_magic_event): Ditto.
+       * redisplay-x.c (x_output_string): Ditto.
+       (x_output_eol_cursor): Ditto.
+
+1999-06-30  Kazuyuki IENAGA <kazz@imasy.or.jp>
+
+       *  event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
+       problem that when XIM is destroyed or missed with some reason,
+       xemacs will die.  Now xim=xlib waits the XIM will be ready and
+       endures the case of XIM end up.
+
+1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
+       SIGINT and SIGCHLD before calling tt_open and restore the
+       afterwards. This fixes e.g. the zombie subprocesses on Solaris
+
+1999-07-06  SL Baur  <steve@xemacs.org>
+
+       * s/linux.h: gcc-2.8 changes for powerpc
+       From Justin Vallon <vallon@mindspring.com>
+
+1999-07-05  Didier Verna  <verna@inf.enst.fr>
+
+       * indent.c: new symbol Qcoerce.
+       (Fmove_to_column): use it + doc string update.
+
+1999-07-04  Andy Piper  <andy@xemacs.org>
+
+       * console.c: undo earlier Fprovide changes.
+       * fns.c: ditto.
+       * console.h: ditto.
+
+       * console-tty.c (image_instantiator_format_create_glyphs_tty): new
+       function. validate appropriate image formats for tty.
+
+       * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
+       initialize consoles parameter.
+       (struct image_instantiator_methods): add consoles parameter.
+       (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
+       console.
+       (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
+       console.
+
+       * glyphs-msw.c: declare instantiators for later use.
+       (image_instantiator_format_create_glyphs_mswindows): validate xpm
+       and friends on the mswindows console.
+       * glyphs-x.c: ditto.
+
+       * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
+       that have not been registered on the supplied device.
+       (Fvalid_image_instantiator_format_p): add locale argument.
+       (instantiate_image_instantiator): valid image instantiator on the
+       device.
+
+       * symsinit.h: add image_instantiator_format_create_glyphs_tty()
+       declaration.
+
+       * emacs.c (main_1): add call to
+       image_instantiator_format_create_glyphs_tty().
+
+1999-06-29  Olivier Galibert  <galibert@pobox.com>
+
+       * lisp.h: Add #include <stddef.h>.
+
+       * sysdep.c: Remove #include <stddef.h>.
+       * symbols.c: Remove #include <stddef.h>.
+       * sheap.c: Remove #include <stddef.h>.
+       * opaque.c: Remove #include <stddef.h>.
+       * nt.c: Remove #include <stddef.h>.
+       * mule-charset.c: Remove #include <stddef.h>.
+       * marker.c: Remove #include <stddef.h>.
+       * file-coding.c: Remove #include <stddef.h>.
+       * extents.c: Remove #include <stddef.h>.
+       * elhash.c: Remove #include <stddef.h>.
+       * data.c: Remove #include <stddef.h>.
+       * chartab.c: Remove #include <stddef.h>.
+       * bytecode.c: Remove #include <stddef.h>.
+       * alloc.c: Remove #include <stddef.h>.  Fix vector description
+
+1999-06-30  SL Baur  <steve@miho.m17n.org>
+
+       * editfns.c: Document "%s" format spec.
+       Suggested by Bob Weiner <weiner@altrasoft.com>
+
+1999-06-29  Andy Piper  <andy@xemacs.org>
+
+       * event-msw.c: fix definition booboo.
+
+1999-06-28  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c: change tree -> tree-view, progress ->
+       progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
+       combo-box.
+       (complex_vars_of_glyphs_x): provide-on-console the implemented
+       widget types.
+
+       * glyphs-msw.c: ditto.
+       (complex_vars_of_glyphs_mswindows): ditto.
+
+       * lisp.h: add Fprovide_on_console.
+
+       * fns.c (Ffeaturep): add extra optional console argument.
+       (Fprovide_on_console): like Fprovide but provides only on the
+       specified console-type.
+       (Frequire): check console-features as well as global features.
+
+       * console.c (Fconsole_features): new function. return features for
+       this console.
+       (syms_of_console): add Fconsole_features.
+
+       * console.h (CONMETH_FEATURES): new function for accessing features.
+       (CONSOLE_FEATURES): ditto.
+       (struct console_methods): add features slot.
+       (INITIALIZE_CONSOLE_TYPE): initialize features slot.
+
+1999-06-28  Andy Piper  <andy@xemacs.org>
+
+       * event-Xt.c (handle_focus_event_1): conditionally compile for
+       X11R5.
+
+       * s/cygwin32.h: fix me website address.
+
+       * event-msw.c: add NMHDR for pre b20 cygwin builds.
+
+       * gui-x.c (button_item_to_widget_value): only add callback if it
+       is non-nil.
+
+       * glyphs-x.c: add progress, edit and combo instantiators.
+       (x_widget_set_property): new function. uses lwlib to set widget
+       values.
+       (x_widget_property): new function. uses lwlib to get widget
+       values.
+       (x_button_instantiate): support images in buttons.
+       (x_button_property): new function. use lwlib to get the selected
+       state.
+       (x_progress_instantiate): new function for instantiating progress
+       gauges.
+       (x_progress_set_property): new function. sets the progress gauge
+       position.
+       (x_edit_instantiate): new function. for instantiating edit fields.
+       (x_combo_instantiate): new function. for instantiating combo
+       boxes.
+       (image_instantiator_format_create_glyphs_x): add new device ii
+       formats.
+
+       * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
+
+       * console.h (CONSOLE_FEATURES): new features accesor.
+
+       * conslots.h (MARKED_SLOT): add features entry.
+
+1999-06-25  Andy Piper  <andy@xemacs.org>
+
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
+       gui functions.
+
+       * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
+
+       * gui.h (struct Lisp_Gui_Item): add accelerator.
+
+       * gui.c (gui_item_add_keyval_pair): deal with accelerators.
+       (gui_item_init): ditto.
+       (gui_add_item_keywords_to_plist): ditto.
+       (mark_gui_item): ditto.
+       (gui_item_hash): ditto.
+       (gui_item_accelerator): new function.
+       (gui_name_accelerator): new function stolen from gui-x.c
+
+       * gui-x.c (popup_selection_callback): always define. mark
+       subwindows changed after calling a callback.
+       (menu_name_to_accelerator): deleted.
+       (button_item_to_widget_value): forward gui_item things to gui_item
+       functions.
+
+       * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
+       appropriate accesors.
+
+       * glyphs-x.c: declare new glyph formats.
+       (x_finalize_image_instance): unmanage and destroy widgets if they
+       exist.
+       (x_unmap_subwindow): handle widgets specially.
+       (x_map_subwindow): ditto. offset display of widgets by offset of
+       text widget within container.
+       (x_update_subwindow): new function. call lw_modify_all_widgets
+       when we are a widget.
+       (x_widget_instantiate): new function for generically creating
+       widgets-glyphs. toolkit specifics forwarded to lwlib.
+       (x_button_instantiate): new function for instantiating
+       widgets-glyph buttons.
+       (console_type_create_glyphs_x): register update_subwindow.
+       (image_instantiator_format_create_glyphs_x): register widget and
+       button types.
+
+       * event-msw.c (mswindows_wnd_proc): remove redundant variable.
+
+       * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
+       when we get a button press in case we do not have the focus.
+       (handle_focus_event_1): set the keyboard focus to the text widget
+       if we do not have it.
+
+       * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
+       functions.
+
+1999-06-24  SL Baur  <steve@miho.m17n.org>
+
+       * syntax.c (scan_words): Restore non-Mule code.
+       (word_constituent_p): Restore.
+
+1999-06-23  Olivier Galibert  <galibert@pobox.com>
+
+       * config.h.in: Add missing #undef *_USER_DEFINED.
+
+1999-06-23  SL Baur  <steve@miho.m17n.org>
+
+       * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
+       int (fixes a 64-bit problem).
+
+       * chartab.c (word_boundary_p): Use EQ not == for lisp_object
+       comparison.
+
+1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+       * paths.h.in (PATH_DOC): Made doc-directory configurable.
+
+1999-06-22  Olivier Galibert  <galibert@pobox.com>
+
+       * lrecord.h: Added basic external description system.
+
+       * symbols.c: Added symbol, symbol-value-buffer-local,
+       symbol-value-lisp-magic and symbol-value-varalias description.
+       * mule-charset.c: Added charset description.
+       * marker.c: Added marker description.
+       * keymap.c: Added keymap description.
+       * glyphs.c: Added glyph description.
+       * floatfns.c: Added float description.
+       * file-coding.c: Added coding-system description.
+       * extents.c: Added extent description.
+       * elhash.c: Added hash-table description.
+       * data.c: Added weak-list desciption.
+       * chartab.c: Added char-table-entry and char-table description.
+       * bytecode.c: Added compiled-function description.
+       * alloc.c: Added cons, vector and string description.
+
+1999-06-22  Olivier Galibert  <galibert@pobox.com>
+
+       * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
+       Updated everything to the removal of the "flags" substructure.
+
+       * lisp.h (subr_lheader_initializer): Updated.
+       * symeval.h (symbol_value_forward_lheader_initializer): Updated.
+
+1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * syntax.c (word_constituent_p): Deleted.
+       (scan_words): Use `WORD_BOUNDARY_P'.
+
+       * chartab.c (Vword_combining_categories): New variable.
+       (Vword_separating_categories): Likewise.
+       (CATEGORYP): New macro.
+       (CATEGORY_SET): Likewise.
+       (CATEGORY_MEMBER): Likewise.
+       (word_boundary_p): New function.
+       (complex_vars_of_chartab): Set up new variable
+       `word-combining-categories' and `word-separating-categories'.
+
+1999-06-18  Olivier Galibert  <galibert@pobox.com>
+
+       * lrecord.h: Added description as a placehold in the lrecord
+       implementation structures.  Added the parameter to all constructor
+       defines.
+
+       * alloc.c: Added placeholders.
+       * buffer.c: Ditto.
+       * bytecode.c: Ditto.
+       * chartab.c: Ditto.
+       * console.c: Ditto.
+       * data.c: Ditto.
+       * database.c: Ditto.
+       * device.c: Ditto.
+       * eldap.c: Ditto.
+       * elhash.c: Ditto.
+       * eval.c: Ditto.
+       * event-stream.c: Ditto.
+       * events.c: Ditto.
+       * extents.c: Ditto.
+       * faces.c: Ditto.
+       * file-coding.c: Ditto.
+       * floatfns.c: Ditto.
+       * fns.c: Ditto.
+       * frame.c: Ditto.
+       * glyphs.c: Ditto.
+       * gui-x.c: Ditto.
+       * keymap.c: Ditto.
+       * lstream.c: Ditto.
+       * marker.c: Ditto.
+       * mule-charset.c: Ditto.
+       * objects.c: Ditto.
+       * opaque.c: Ditto.
+       * process.c: Ditto.
+       * rangetab.c: Ditto.
+       * specifier.c: Ditto.
+       * symbols.c: Ditto.
+       * toolbar.c: Ditto.
+       * tooltalk.c: Ditto.
+       * window.c: Ditto.
+
+1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.17 is released
+
+1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>
+
+       * config.h.in (HAVE_LDAP_SET_OPTION): New define
+       (HAVE_LDAP_GET_LDERRNO): Ditto
+       (HAVE_LDAP_RESULT2ERROR): Ditto
+       (HAVE_LDAP_PARSE_RESULT): Ditto
+       (HAVE_UMICH_LDAP): Removed
+       (HAVE_NS_LDAP): Removed
+
+       * eldap.h (struct Lisp_LDAP): Removed the `livep' member as
+       suggested by Olivier Galibert
+       (CHECK_LIVE_LDAP): Test on `ld' instead of `livep'
+
+       * eldap.c: Take the removal of `livep' into account in all the
+       necessary functions
+       (signal_ldap_error): Take two additional parameters
+       Added new finer compilation conditions in order to use
+       ldap_parse_result or ldap_result2error if available
+       (Fldap_open): Conform to this new API
+       (Fldap_search_internal): Ditto
+
+1999-06-17  SL Baur  <steve@miho.m17n.org>
+
+       * data.c (struct int_or_double): Should use EMACS_INT not int.
+
+1999-06-16  Norbert Koch  <n.koch@eai-delta.de>
+
+       * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
+       redisplay-x.c
+
+1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
+       `CCL_MODE_ENCODING'.
+
+       * file-coding.c (mule_decode): Run `ccl_driver' with
+       `CCL_MODE_DECODING'.
+       (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.
+
+       * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
+       (ccl_driver): Add new argument `conversion_mode'.
+       (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
+       (Fccl_execute_on_string): Likewise [perhaps it is better to add
+       new optional argument].
+
+       * mule-ccl.h (CCL_MODE_ENCODING): New macro.
+       (CCL_MODE_DECODING): New macro.
+       (ccl_driver): Add new argument `conversion_mode'.
+
+1999-06-15  SL Baur  <steve@miho.m17n.org>
+
+       * mule-charset.c (Fsplit_char): New subr.
+       (Fchar_octet): delete.
+       (syms_of_mule_charset): DEFSUBR it.
+
+1999-06-13  Andy Piper  <andy@xemacs.org>
+
+       * menubar.h: update declarations involving gui_items.
+
+       * lisp.h: declare Lisp_Gui_Item.
+
+       * glyphs.h (struct Lisp_Image_Instance): update type of gui_item.
+
+       * glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
+       (print_image_instance): ditto.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+
+       * event-msw.c (mswindows_need_event): assert badly_p status.
+       (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
+       callbacks in tree-view and tab-control widgets.
+       (emacs_mswindows_next_event): modify use of
+       mswindows_dequeue_dispatch_event.
+
+       * dialog-msw.c (mswindows_popup_dialog_box): modify for new
+       lisp-based gui_items.
+
+       * glyphs-msw.c (mswindows_update_subwindow): update use of
+       gui_items.
+       (mswindows_register_gui_item): new function.
+       (mswindows_register_gui_item): fix to use lisp gui_items.
+       (mswindows_widget_instantiate): ditto.
+       (mswindows_button_instantiate): ditto.
+       (add_tree_item): new function to recursively add tree view
+       elements.
+       (add_tree_item_list): ditto.
+       (mswindows_tree_instantiate): new function. instantiate tree view
+       controls.
+       (add_tab_item): new function to add tabs to a tab control.
+       (mswindows_tab_instantiate): new function. instantiate tab
+       controls.
+       (image_instantiator_format_create_glyphs_mswindows): add tree view
+       and tab controls.
+       (vars_of_glyphs_mswindows): ditto.
+
+       * glyphs-widget.c (check_valid_item_list_1): allow nested lists in
+       item lists.
+       (check_valid_item_list): ditto.
+       (initialize_widget_image_instance): fix to use new lisp gui_item.
+       (widget_instantiate_1): allow the setting of default textwidth in
+       characters.
+       (widget_instantiate): change to use new widget_instantiate_1
+       signature.
+       (combo_instantiate): ditto.
+       (static_instantiate): ditto.
+       (tab_instantiate): new function for tab widgets.
+       (image_instantiator_format_create_glyphs_widget): add tab and tree
+       view widgets.
+
+       * menubar-msw.c (displayable_menu_item): convert to use lisp
+       gui_items.
+       (populate_menu_add_item): ditto.
+       (populate_or_checksum_helper): ditto.
+
+       * menubar.c (menu_parse_submenu_keywords): convert to use lisp
+       gui_items.
+       (Fmenu_find_real_submenu): ditto.
+
+       * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.
+
+       * gui.c (gui_item_add_keyval_pair): gui_items are now lisp
+       objects, convert functions that use them accordingly.
+       (gui_item_init): ditto.
+       (gui_item_active_p): ditto.
+       (gui_item_selected_p): ditto.
+       (gui_item_included_p): ditto.
+       (gui_item_display_flush_left): ditto.
+       (gui_item_display_flush_right): ditto.
+       (mark_gui_item): ditto.
+       (allocate_gui_item): new function to create a gui_item.
+       (make_gui_item_from_keywords_internal): ditto. create and return a
+       gui_item as well as setting keywords.
+       (gui_parse_item_keywords): ditto.
+       (gui_parse_item_keywords_no_errors): ditto.
+       (gui_add_item_keywords_to_plist): new function, not yet used.
+       (gui_item_hash): new function.
+       (gui_item_id_hash): use gui_item_hash.
+       (gui_item_equal): new function.
+       (print_gui_item): new function.
+
+1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.16 is released
+
+1999-06-10  Andy Piper  <andy@xemacs.org>
+
+       * select-msw.c (mswindows_own_selection): only set the clipboard
+       if asked.
+       (mswindows_get_foreign_selection): only get the clipboard if
+       asked.
+       (mswindows_disown_selection): only disown the clipboard if asked.
+
+1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (coding_system_from_mask): Use `raw-text' instead
+       of `no-conversion'.
+       (complex_vars_of_mule_coding): Use `raw-text' as the coding-system
+       of coding-category `no-conversion'.
+
+1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (Qraw_text): New variable.
+       (syms_of_mule_coding): Add new symbol `raw-text'.
+       (complex_vars_of_mule_coding): Add new coding-system `raw-text';
+       define coding-system `binary' independently; define coding-system
+       `no-conversion' as an alias for `raw-text'.
+
+       * file-coding.h (Qraw_text): New variable.
+
+1999-06-08  SL Baur  <steve@xemacs.org>
+
+       * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
+
+1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
+       base64.el.
+       (base64_decode_1): Signal errors instead of returning -1.
+
+1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * mule-charset.c (Fmake_char): Update docstring.
+
+1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.
+
+1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (base64_decode_1): Allow and ignore any non-base64
+       characters in input.
+
+1999-05-27  Olivier Galibert  <galibert@pobox.com>
+
+       * emacs.c (Fdump_emacs): Add clear_message() lost with the removal
+       of report_pure_usage().
+
+1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fstring_lessp): Remove O(n^2) under Mule.
+
+1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.15 is released
+
+1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
+
+       * frame.c (Fset_mouse_position):
+       (Fset_mouse_pixel_position):
+       * window.c (Fsplit_window):
+       (Fmove_to_window_line):
+       Fix crash when invoking functions with an already-deleted window
+       argument.
+
+       * indent.c (vertical_motion_1):
+       (vmotion_pixels):
+       (Fvertical_motion_pixels):
+       * window.c (Fwindow_displayed_text_pixel_height):
+       Fix error message when invoking functions with an already-deleted
+       window argument.
+
+1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * sysdep.c (request_sigio_on_device): Guard against glibc
+       2.1's stub streams implementation.
+
+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
        * bytecode.c (funcall_compiled_function): Call
        UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
 
-       * backtrace.h (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>
        (image_instantiator_format_create): xface declarations moved from
        glyphs-x.c.
 
-1999-01-14  Adrian Aichner  <aichner@ecf.teradyne.com>
+1999-01-14  Adrian Aichner  <adrian@xemacs.org>
 
        * event-stream.c (vars_of_event_stream): Fixing documentation.
 
 
        * glyphs-eimage.c (gif_instantiate): Correct handling of
        interlaced gifs to avoid writing past the end of the eimage
-       buffer. 
+       buffer.
 
 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
 
 
 1999-01-01    <martin@xemacs.org>
 
-       * device-x.c (Fx_set_font_path): 
+       * device-x.c (Fx_set_font_path):
        Add proper cast to permit compilation under C++.
 
-       * buffer.c (directory_is_current_directory): 
+       * buffer.c (directory_is_current_directory):
        Add proper casts to permit compilation under C++.
 
 1998-12-30  Damon Lipparelli  <lipp@primus.com>
 
 1998-12-29  Martin Buchholz  <martin@xemacs.org>
 
-       * file-coding.c (decode_coding_iso2022): 
+       * file-coding.c (decode_coding_iso2022):
        - Prevent crash when decoding ISO7/Lock detected files
        - the usual martin fiddling
 
          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  Martin Buchholz  <martin@xemacs.org>
 
-       * editfns.c (get_home_directory): 
+       * editfns.c (get_home_directory):
        (user-home-directory): Simplify.
-       
 
-       * callproc.c (child_setup): 
+
+       * callproc.c (child_setup):
        - Environment variables were being passed to inferior processes
          using internal encoding.
        - Convert to external encoding.
        - Remove one unneeded GCPRO.
 
        * buffer.h (initial_directory):
-       * buffer.c (init_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.
        (lrecord_type_index): replace abort() with more readable assert().
 
        (reset_lcrecord_stats): remove.
-       (sweep_lcrecords_1): 
+       (sweep_lcrecords_1):
        - replace call to reset_lcrecord_stats() with call to xzero().
 
 1998-12-27  Martin Buchholz  <martin@xemacs.org>
 
 1998-12-11  Martin Buchholz  <martin@xemacs.org>
 
-        * event-msw.c (mswindows_cancel_dispatch_event):
-        Gratuitous code prettification
+       * event-msw.c (mswindows_cancel_dispatch_event):
+       Gratuitous code prettification
 
 
 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
 
        * 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
 
 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
          substitute-in-file-name because we don't know that the
          filename refers to a local file.
 
-1998-06-24  Adrian Aichner  <aichner@ecf.teradyne.com>
+1998-06-24  Adrian Aichner  <adrian@xemacs.org>
 
        * process-nt.c (nt_create_process): Try appending the standard
          executable file extensions to the filename if none supplied.
@@ -3562,7 +7898,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
 1998-05-14  Damon Lipparelli  <lipp@primus.com>
 
-        * winslots.h: close comment
+       * winslots.h: close comment
 
 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
 
@@ -4076,4 +8412,3 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
 
        * frame.c (Ffocus_frame): New function.
-