XEmacs 21.4.12 "Portable Code".
[chise/xemacs-chise.git.1] / src / ChangeLog
index bd6c040..03c25d8 100644 (file)
@@ -1,3 +1,808 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
+
+       * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
+       * s/cygwin.sc: new linker file.
+
+2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
+
+       * redisplay-x.c (x_output_string): Use X11-specified types.
+       * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
+       * emacs.c (__free_hook): Use typeof with Intel compiler.
+       * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
+
+2003-01-08  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): Set the stack
+       reserve size during unexec().
+
+2003-01-07  Daiki Ueno  <daiki@xemacs.org>
+
+       * process-unix.c (unix_create_process): Don't let outchannel block.
+
+2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
+
+        * emacs.c: Include "syswindows.h" when compiling under Cygwin.
+        Needed for IsBadReadPtr().
+
+2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.11 "Native Windows TTY Support" is released.
+
+2002-12-14  Ben Wing  <ben@xemacs.org>
+
+       * callint.c: Declaration error.
+       * dumper.c (pdump):
+       * dumper.c (pdump_load): Warning fix.
+       * process.c: GCPRO error.
+       * glyphs.c (unmap_subwindow):
+       * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
+       * event-stream.c (maybe_kbd_translate): Wrong argument to
+       character_to_event().
+
+       * alloc.c (garbage_collect_1):
+       * emacs.c:
+       * emacs.c (debug_can_access_memory):
+       * emacs.c (fatal_error_signal):
+       * emacs.c (mswindows_handle_hardware_exceptions):
+       * emacs.c (main_1):
+       * emacs.c (main):
+       * emacs.c (assert_failed):
+       * emacs.c (syms_of_emacs):
+       * lisp.h:
+       * print.c:
+       * print.c (std_handle_out_va):
+       * print.c (write_string_to_stdio_stream):
+       * print.c (write_fmt_string):
+       * print.c (printing_badness):
+       * print.c (printing_major_badness):
+       * print.c (print_internal):
+       * print.c (debug_print_no_newline):
+       * print.c (debug_backtrace):
+       Be more defensive in handling bad values when printing.  Add code
+       from trunk involving inhibit_non_essential_printing_operations.
+       When going down or in debug_print(), don't do external conversion
+       and such and try really, really hard when printing to avoid core
+       dumping.  Add force-debugging-signal, debug_break().
+
+2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * dumper.c (pdump_load): Include sysdep.h; retry with truename.
+       Analysis and original patch by Vin Shelton <acs@xemacs.org>.
+
+2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
+
+       * database.c: Fix open_database. Berkeley DB API has changed in
+       4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
+
+2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * specifier.c (Fvalid_specifier_type_p): Typo in comment.
+
+2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * event-Xt.c (Xt_timeout):
+       (Xt_timeout_callback):
+       (emacs_Xt_add_timeout):
+       (emacs_Xt_remove_timeout):
+       (Xt_timeout_to_emacs_event):
+       Turn completed_timeouts from a stack into a queue.  Fixes
+       deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
+
+2002-11-07  Wolfram Gloger  <wg@malloc.de>
+
+       * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
+       * emacs.c (main): Assert that mmap'd allocation is disabled.
+
+2002-10-14  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (layout_query_geometry): add in fiddle
+       factor. Include border text in width layout calculation.
+       (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
+
+2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.10 "Military Intelligence" is released.
+
+2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
+
+       * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
+       using the NAS private array SoundFileInfo that no longer exists in
+       NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
+       and earlier.  This is broken for some versions between 1.5a and
+       1.5f.
+
+2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
+
+       * emacs.c (shut_down_emacs): Improve crash message.
+
+2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * file-coding.c (determine_real_coding_system): Check for coding
+       cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
+       shebangs and Python PEP 263.
+
+2002-10-08  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (layout_query_geometry): only resize dynamically
+       if static sizes haven't been set.
+
+2002-08-30  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
+       to close a socket.
+
+2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * callproc.c (child_setup): 21.4 doesn't have retry_close.
+
+2002-09-20  Mike Sperber <mike@xemacs.org>
+
+       (This partially gets back my patch from 2002-07-20 without the
+       bug.)
+       * callproc.c (child_setup): Remove Ben's comment noting confusion
+       over the file descriptors >= 3: close_process_descs() doesn't
+       close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
+       * process-unix.c (unix_create_process): Call
+       begin_dont_check_for_quit to inhibit unwanted interaction (and
+       thus breaking of X event synchronicity) in the child.
+
+2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
+
+       * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
+       widget.
+
+2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
+
+       * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
+       instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
+       the xemacs process did not exit, but looped infinitely here.  This
+       fixes that problem.
+
+2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
+       (find_context): Improve comments.
+
+       * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
+       (re_match_2): An XCHAR_TABLE operation was missing.
+
+       Many of the following changes were inspired by Andy Piper's (now
+       obsolete) patch to make syntax-table text property lookup optional.
+
+       [Documentation]
+
+       * syntax.h (top level): Document semantics of syntax flags.
+       * syntax.c (comstr_start, Fforward_comment): Improve comments.
+       * syntax.c, syntax.h (top level): Document syntax cache better in
+       comments.
+
+       [Instrument syntax caching (temporary change)]
+
+       * syntax.h (enum syntax_cache_statistics_functions, struct
+       syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
+       SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
+       * syntax.c (scan_words, Fforward_comment, scan_lists,
+       Fbackward_prefix_characters):
+       * font-lock.c (find_context):
+       Use them to instrument syntax caching. 
+       * syntax.c (struct syntax_cache_statistics, scs_statistics,
+       syntax_cache_statistics_function_names): New type and variables.
+       * syntax.c (update_syntax_cache): Update and report statistics.
+
+       [Major syntax cache optimizations]
+
+       syntax.c (lookup_syntax_properties): Default off.
+
+       * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
+       * syntax.c (update_syntax_cache):
+       Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
+
+       [Minor syntax cache optimizations and code clarifications]
+
+       * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
+       SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
+       SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
+       SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
+       SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
+       (Code clarification.)
+
+       * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
+       scan_lists): Compute code from syncode, use Boolean macros instead
+       of redundant masking operations.  (Code clarification; any decent
+       compiler can do this optimization.)
+
+       * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
+       for clarity.
+
+       * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
+       PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
+       use F*_single_property_change instead of F*_extent_change.
+       Currently F*_single_property_change is _much_ less efficient.
+
+       * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
+       * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
+       syntax_cache.object properly, don't leave Qt or Qnil.
+       (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
+       * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
+       tests for Qt or Qnil.
+
+2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * redisplay.c (point_in_line_start_cache): 
+       * extents.c (print_extent_1):
+       Fix warnings.
+
+       * extents.c (Fset_extent_property): Document `syntax-table' property.
+
+       * extents.h (Fnext_single_property_change): EXFUN it.
+
+2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * search.c (clear_unused_search_regs): New static function.
+       (search_buffer): 
+       (simple_search): 
+       (boyer_moore):
+       Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
+       Minor clarifications in comments.
+
+       * regex.c (re_match_2_internal): Ensure no stale submatches.
+
+2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * event-Xt.c (enqueue_focus_event): Add missing prototype.
+
+2002-08-29  Jerry James  <james@xemacs.org>
+
+       * lisp.h: structrures -> structures.
+
+2002-06-03  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (frame_conversion_internal): add conversion appropriate
+       for setting frame dimensions in pixels.
+
+       * console.h (struct console_methods): add device-specific widget
+       layout functions.
+
+       * emacs.c (main_1): initialize glyph vars.
+
+       * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
+       (handle_focus_event_2): new function. Allow focus to
+       be set to a particular window and widget.
+       (enqueue_focus_event): new function. Create a
+       synthetic focus event.
+       (emacs_Xt_handle_magic_event): call
+       handle_focus_event_2.
+
+       * frame.c (Fset_frame_pixel_height): new function. Allow
+       pixel-based sizing. Does the right thing on character-oriented
+       displays.
+       (Fset_frame_pixel_width): ditto.
+       (Fset_frame_pixel_size): ditto.
+       (syms_of_frame): declare.
+
+       * general-slots.h: add :vertically-justify and
+       :horizontally-justify.
+
+       * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
+       (mswindows_widget_border_width): new function.
+       (mswindows_combo_box_instantiate): set border widths.
+       (console_type_create_glyphs_mswindows): declare.
+
+       * glyphs-widget.c:
+       (check_valid_justification): allow vertical and horizontal
+       justification.
+       (widget_border_width): new function. Call device methods.
+       (widget_instance_border_width): ditto.
+       (logical_unit_height): new function. Determine the height of a
+       logical-unit. Logical units are intended to provide grid-like
+       layout for subcontrols in a layout. If the layout is
+       :vertically-justify top then subcontrols will be positioned on
+       logical-unit boundaries, thus allowing adjacent subcontrols to
+       line up.
+       (widget_logical_unit_height): ditto for widgets.
+       (redisplay_widget): misc cleanup.
+       (widget_spacing): new function. Call device specific
+       methods. Intended to be the default gap between adjacent widgets.
+       (widget_query_geometry): use new spacing functions to determine
+       appropriate geometry.
+       (initialize_widget_image_instance): initialize horizontal and
+       vertical justification.
+       (widget_instantiate): use logica-units where appropriate for
+       sizing large widgets.
+       (button_query_geometry): use widget_instance_border_width.
+       (tree_view_query_geometry): ditto.
+       (tab_control_query_geometry): ditto.
+       (edit_field_query_geometry): new function.
+       (layout_update): pick up :justify, :horizontally-justify and
+       :vertically-justify none of which worked previously. :justify is
+       used as a fallback for both horizontal and vertical justification.
+       (layout_query_geometry): use logical units to size appropriately.
+       (layout_layout): ditto.
+       (Fwidget_logical_to_character_width): new function. Allow users to
+       convert from logical units to characters so that frame sizes can
+       be set appropriately.
+       (Fwidget_logical_to_character_height): ditto.
+       (syms_of_glyphs_widget): declare.
+       (image_instantiator_edit_fields): add edit_field_query_geometry.
+       (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
+       :horizontally-justify.
+       (specifier_vars_of_glyphs_widget): new function. Declare
+       Vwidget_border_width which is not yet used.
+
+       * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
+       (x_widget_border_width): new function.
+       (x_widget_instantiate): create a sensible name for widgets.
+       (console_type_create_glyphs_x): declare x_widget_border_width.
+
+       * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
+       (struct Lisp_Image_Instance): add :vertically-justify and
+       :horizontally-justify.
+       (LAYOUT_JUSTIFY_TOP): new.
+       (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
+       (ROUND_UP): new macro. Round argument up to next integral
+       interval.
+
+       * redisplay-output.c (redisplay_output_layout): misc formatting.
+
+       * symsinit.h: declare specifier_vars_of_glyphs_widget.
+
+2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-08-19  Andy Piper  <andy@xemacs.org>
+
+       * fileio.c (Ffile_truename): on cygwin using win32 normalize to
+       win32 format.
+
+       * realpath.c (xrealpath): normalize drive spec also so that dir
+       sep chars are not mixed on cygwin.
+
+2002-08-06  Jerry James  <james@xemacs.org>
+
+       * window.c (Fsplit_window): Count only half of the divider width
+       against the left window when splitting horizontally. 
+
+2002-06-24  Andy Piper  <andy@xemacs.org>
+
+       * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
+       toolbar was cleared.
+
+       * toolbar-msw.c (mswindows_clear_frame_toolbars): new
+       function. Split out from mswindows_output_frame_toolbars.
+       (mswindows_output_frame_toolbars): move clear pieces to
+       mswindows_output_frame_toolbars.
+
+       * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
+       out from gtk_output_frame_toolbars.
+       (gtk_output_frame_toolbars): move clear pieces to
+       gtk_clear_frame_toolbars.
+
+       * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
+       the frame is cleared. How this ever worked before is a mystery.
+       (x_output_frame_toolbars): Only output toolbars.
+       (x_clear_frame_toolbars): new. Clear previous toolbar locations.
+
+       * gutter.c (update_gutter_geometry):
+       Mark frame layout changed.
+       (update_frame_gutter_geometry, update_frame_gutters):
+       Respect frame_layout_changed.
+
+       * console.h (struct console_methods): add
+       clear_frame_toolbars_method.
+
+       * redisplay.c (redisplay_frame): call
+       update_frame_toolbars_geometry and re-order update_frame_toolbars.
+
+       * toolbar.h: declare update_frame_toolbars_geometry.
+
+       * toolbar.c (update_frame_toolbars_geometry): new function. Split
+       out from update_frame_toolbars.  Call clear_frame_toolbars.
+       (update_frame_toolbars): only output, do not change geometry.
+
+       * redisplay.c: add frame_layout_changed.
+
+       * redisplay.h: add frame_layout_changed.
+       (CLASS_RESET_CHANGED_FLAGS): set it.
+       (GLOBAL_RESET_CHANGED_FLAGS): ditto.
+       (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
+       (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
+
+       * device.h (struct device): add frame_layout_changed.
+       (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
+
+       * frame.h (struct frame): add frame_layout_changed.
+       (MARK_FRAME_LAYOUT_CHANGED): new.
+
+2002-06-30  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (mswindows_need_event): Don't wait for a new message
+       if the queue is not empty.  Suggested by Paul Moore.
+
+2002-06-12  Andy Piper  <andy@xemacs.org>
+
+       * frame-msw.c (msprinter_init_frame_3): calculate the frame size
+       for printing on accurately.
+
+2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
+
+       * event-msw.c (mswindows_wnd_proc): Add a handler for the
+       WM_ACTIVATE message. Make sure that the frame is visible if the
+       window is visible. This seemss to fix the problem where XEmacs
+       appears to freeze after switching desktops with certain virtual
+       window managers.
+       (debug_output_mswin_message): Added code to output message
+       parameters for WM_WINDOWPOSCHANGED, 
+       WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
+
+2002-05-25  Andy Piper  <andy@xemacs.org>
+
+       * select-x.c (vars_of_select_x): Fix docstring of
+       x-selection-strict-motif-ownership
+
+2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * keymap.c (get_keymap):
+       Add comment about do_autoload GCPROs own args.
+
+2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * bytecode.c (execute_optimized_program): check_opcode ifdef
+       ERROR_CHECK_BYTE_CODE.
+
+2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       Thanks to Ben Wing and Michael Sperber.
+
+       * eval.c (Fcommand_execute):
+       (Feval):
+       (Ffuncall):
+       (Fmacroexpand_internal):
+       (function_argcount):
+       callint.c (Fcall_interactively):
+       Add comment about do_autoload GCPROs own args.
+
+       * (do_autoload): GCPRO both args as well as local Lisp_Object.
+
+       * eval.c (Ffuncall): Extra braces to placate GCC.
+
+2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * backtrace.h (grow_specpdl):
+       (SPECPDL_RESERVE):
+       * EmacsFrame.c (EmacsFrameSetValues):
+       * eval.c (grow_specpdl):
+       * ExternalShell.c (hack_event_masks_1):
+       * glyphs-x.c (convert_EImage_to_XImage): 
+       (x_finalize_image_instance):
+       * ralloc.c (page_size):
+       (r_alloc_sbrk):
+       * xgccache.c (gc_cache_hash):
+       Fix unsigned comparison warnings.
+
+2002-07-29  Jerry James  <james@xemacs.org>
+
+       * lread.c (locate_file): Any nonnegative return value indicates
+       success if MODE is nonnegative.
+
+2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
+
+       * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
+       argument. 
+
+2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * process-unix.c (unix_send_process): #ifdef the coding_stream member.
+
+       * dumper.c (pdump_get_indirect_count):
+       (pdump_scan_by_alignment):
+       (pdump_dump_root_struct_ptrs):
+       (pdump_dump_rtables):
+       (pdump_dump_root_objects):
+       (pdump):
+       * nas.c (WaveOpenDataForReading):
+       * fns.c (print_bit_vector):
+       * font-lock.c (SINGLE_SYNTAX_STYLE):
+       * glyphs.c (check_for_ignored_expose):
+       (find_matching_subwindow):
+       * glyphs-eimage.c:
+       * imgproc.c (get_histogram):
+       * redisplay.c (point_in_line_start_cache):
+       * redisplay-output.c (redisplay_unmap_subwindows):
+       * symbols.c (defsymbol_massage_name_1):
+       (defkeyword_massage_name):
+       (deferror_massage_name_and_message):
+       * redisplay-x.c (x_output_string): 
+       * emacs.c (run_temacs_argv_size, run_temacs_args_size):
+       * frame.h (struct frame):
+       * filelock.c (current_lock_owner):
+       * doprnt.c (emacs_doprnt_1):
+       * lisp.h (struct Lisp_Bit_Vector):
+       (DO_REALLOC):
+       Fix warnings.
+
+2002-02-13  Ben Wing  <ben@xemacs.org>
+
+       * event-stream.c (reset_key_echo):
+       * event-stream.c (reset_this_command_keys):
+       * event-stream.c (execute_command_event):
+       If console is dead as a result of C-x 5 0, then post-command stuff
+       needs to be careful and do only non-console-specific stuff.
+
+2002-07-01  Mike Sperber <mike@xemacs.org>
+
+       * process-unix.c (unix_send_process): Mark coding_outstream as
+       non-open upon SIGPIPE.
+
+       * event-stream.c (Fnext_event): Reorder switch cases to something
+       that makes sense.
+
+2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
+
+       * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
+       Don't bogusly reinitialize ascii_character property.
+
+2002-07-08  Mike Sperber <mike@xemacs.org>
+
+       * process.c (Fstart_process_internal): Do error checking before we
+       fork off the child, so the child can't muck with the state of the
+       parent.
+
+2002-07-08  Mike Sperber <mike@xemacs.org>
+
+       * ralloc.c (init_ralloc): Allocate properly for pdump.
+
+2002-06-12  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (query_string_geometry): check the string.
+
+       * glyphs-widget.c (widget_logical_unit_height): cope with nil
+       widget names.
+
+2002-06-17  Jerry James  <james@xemacs.org>
+
+       * sysdll.c: Remove RTLD_GLOBAL initialization.
+       * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
+
+2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
+
+2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
+
+       * sysdep.c (sys_rename): Make sys_rename work for the case where
+       Windows rename sets errno to EACCES if target file exists.
+
+2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
+
+       * device-msw.c (mswindows_handle_page_setup_dialog_box):
+       Fix detection of metric units to work on Win95
+
+2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
+
+2002-04-25  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (create_text_block): Remove extra comment trailer.
+
+2002-04-24  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (create_text_block): Don't actually add propagation
+       data if the line ends after we have added a glyph.
+
+2002-04-22  Andy Piper  <andy@xemacs.org>
+
+       * extents.c (extent_fragment_update): check for glyphs we have
+       previously displayed.
+       * extents.c (print_extent_1): warning removal.
+       * extents.h: change prototype.
+       * redisplay-output.c (redisplay_normalize_glyph_area): calculate
+       widths correctly for wide glyphs.
+       * redisplay.c (position_redisplay_data_type): add end_glyph_width.
+       * redisplay.c (prop_type): add PROP_GLYPH.
+       * redisplay.c (struct prop_block): add glyph type
+       * redisplay.c (add_glyph_rune): when adding part of a glyph add it
+       to the propagation data.
+       * redisplay.c (create_text_block): if there is a glyph in the
+       propagation data use it to salt extent_fragment_update.
+       * redisplay.c (create_string_text_block): ditto.
+
+2002-04-13  Nix  <nix@esperi.demon.co.uk>
+
+       * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
+       * redisplay-output.c (compare_runes): Compare them.
+       * redisplay.c: Update copyright date.
+       * redisplay.c (pos_data): Add need_baseline_computation field.
+       * redisplay.c (add_glyph_rune): Update ascent, descent, and
+       need_baseline_computation; zero yoffset. Set max_pixmap_height
+       for all pixmaps, not just automatically positioned ones.
+       * redisplay.c (calculate_yoffset): New, compute yoffset values.
+       * redisplay.c (calculate_baseline): New, compute textual baseline.
+       * redisplay.c (add_glyph_rune): Call them.
+       * redisplay.c (create_text_block): Likewise.
+       * redisplay.c (create_overlay_glyph_block): Likewise.
+       * redisplay.c (add_margin_runes): Likewise.
+       * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
+
+       * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
+       * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
+       * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
+       * redisplay-msw.c (mswindows_output_string): Likewise.
+       * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
+       * redisplay-gtk.c (gtk_output_display_block): Likewise.
+       * redisplay-x.c (x_output_display_block): Likewise.
+
+2002-03-28  Ben Wing  <ben@xemacs.org>
+
+       * redisplay.c: Fixed bug in redisplay
+       w.r.t. hscroll/truncation/continuation glyphs causing jumping up
+       and down of the lines, since they're bigger than the line
+       size. (It was seen most obviously when there's a horizontal scroll
+       bar, e.g. do C-h a glyph or something like that.) The problem was
+       that the glyph-contrib-p setting on glyphs was ignored even if it
+       was set properly, which it wasn't until now.
+
+2002-04-24  Andy Piper  <andy@xemacs.org>
+
+       * lisp.h (Dynarr_end): Fix definition.
+
+2002-02-06  Adrian Aichner  <adrian@xemacs.org>
+
+       * redisplay.c (mark_redisplay): Remove call to
+       update_frame_window_mirror.
+
+2001-11-15  Andy Piper  <andy@xemacs.org>
+
+       * win32.c (Fmswindows_shell_execute): fix handling of URL's under
+       cygwin (again).
+
+2002-02-13  Andy Piper  <andy@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
+       we did in fact enqueue the XM_MAPFRAME event.
+
+2002-01-15  Adrian Aichner  <adrian@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
+       to fix problem switching between virtual desktops under virtuawin
+       virtual window manager.
+
+2001-07-30  Adrian Aichner  <adrian@xemacs.org>
+
+       * event-msw.c: Typo fix.
+       * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
+       magic XM_MAPFRAME event has been sent.
+
+2001-11-23  Andy Piper  <andy@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
+
+2001-11-21  Andy Piper  <andy@xemacs.org>
+
+       * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
+       mouse events outside the frame.
+
+2002-03-20  Andy Piper  <andy@xemacs.org>
+
+       * menubar-msw.c (mswindows_popup_menu): warning removal.
+       * dialog-msw.c (dialog_popped_down): ditto.
+
+2001-12-11  Andy Piper  <andy@xemacs.org>
+
+       * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
+       * dialog-msw.c (mswindows_make_dialog_box_internal): set
+       popup_up_p.
+       * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
+       * menubar-msw.c (mswindows_handle_wm_command): ditto.
+       * menubar-msw.c (mswindows_popup_menu): ditto.
+
+2001-10-29  Andy Piper  <andy@xemacs.org>
+
+       * dialog-msw.c (handle_directory_dialog_box): quit if the user
+       cancels.
+
+2002-01-03  Andy Piper  <andy@xemacs.org>
+
+       * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
+       letters.
+       (xrealpath): ditto.
+
+2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
+
+       * device-msw.c (plist_get_margin): Add arg specifying mm or inches
+       * device-msw.c (plist_set_margin): Fix multiplicand used for mm
+       * device-msw.c (mswindows_handle_page_setup_dialog_box):
+       Detect and handle case where machine is set up for metric units
+
+2002-04-02  Andy Piper  <andy@xemacs.org>
+
+       * dired-msw.c (mswindows_get_files): 
+       * nt.c (mswindows_stat): SetErrorMode() so that file errors are
+       completely handled by XEmacs. Suggested by Thomas Vogler
+       <mail@thomas-vogler.de>.
+
+2001-11-14  Andy Piper  <andy@xemacs.org>
+
+       * nt.c (REG_ROOT): change registry key to XEmacs.
+
+2002-04-27  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
+
+2002-04-26  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
+       behavior.
+
+2002-03-14  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (mswindows_unwait_process): New, remove process from
+       wait list
+       * process-nt.c (nt_finalize_process_data): Call
+       mswindows_unwait_process
+       * console-msw.h: Declare mswindows_unwait_process
+
+2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * editfns.c (Fdecode_time):
+       (Fformat_time_string):
+       Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
+       (make_time): Warning elimination (change arg name).
+
+2001-11-24  Andy Piper  <andy@xemacs.org>
+
+       * window.c (Fsplit_window): Doc return type.
+
+2002-04-01  Andy Piper  <andy@xemacs.org>
+
+       * emacs.c (Fkill_emacs): Only output message box in interactive
+       mode.
+
+2002-04-26  Andy Piper  <andy@xemacs.org>
+       * config.h.in: pull in 21.5.x change to stop alloca warnings under
+       cygwin.
+
+2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
+
+       * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
+       bit platform.
+
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
+2002-05-07  Nix  <nix@esperi.demon.co.uk>
+
+       Supersedes 2002-04-17 patch.
+
+       * process.h (PROCESS_LIVE_P): Use the process status as
+       evidence of health, not the state of the input stream.
+       (PROCESS_READABLE_P): Say if the process is readable
+       from. (It may be dead nonetheless.)
+       (CHECK_READABLE_PROCESS): Test for that condition.
+
+       * process.c (create_process): Use PROCESS_READABLE_P.
+       (read_process_output, set_process_filter): Likewise.
+
+       * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
+       (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
+
+       This code is #if 0'd, this is not the time to add new functions:
+
+       * process.c (Fprocess_readable_p): Report readability status.
+       * process.c (Qprocess_readable_p): New, associated symbol...
+       * process.c (syms_of_process): ... initialize it.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.