+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.
+
+2002-04-17 Nix <nix@esperi.demon.co.uk>
+
+ * process.h (PROCESS_LIVE_P): Use the process status as
+ evidence of health, not the state of the input stream.
+
+2002-04-30 Charles G. Waldman <cgw@xemacs.org>
+
+ * sysdep.c (sys_siglist): change "signum" to "signal"
+
+2001-04-21 Martin Buchholz <martin@xemacs.org>
+
+ * s/darwin.h: New file.
+ Thanks to Greg Parker <gparker@cs.stanford.edu>.
+
+2002-04-23 Andreas Jaeger <aj@suse.de>
+
+ * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
+ which use lib64 for 64-bit libs.
+ (START_FILES): Likewise.
+
+2002-02-11 Mike Sperber <mike@xemacs.org>
+
+ * device-x.c:
+ (x_IO_error_handler):
+ (x_init_device): Temporarily keep device in static variable
+ `device_being_initialized' so we can recover gracefully from
+ internal XOpenDevice failure. (XOpenDevice is documented to
+ return NULL on failure, but sometimes calls the IO error handler
+ instead.)
+
+2002-01-31 John H. Palmieri <palmieri@math.washington.edu>
+
+ * dired.c (Ffile_name_all_completions): Change documentation --
+ remove reference to completion-ignored-extensions.
+ * dired.c (vars_of_dired): Change documentation for
+ completion-ignored-extensions -- remove reference to
+ file-name-all-completions.
+
+2002-03-06 Jerry James <james@xemacs.org>
+
+ * emodules.c (emodules_load): Fix multiple loading of same module.
+
+2002-01-25 Andrew Begel <abegel@cs.berkeley.edu>
+ * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
+ RTLD_LAZY to avoid incorrect symbol binding when using nested
+ shared libraries on Solaris.
+
+2002-02-12 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * fileio.c (Ffind_file_name_handler): Improve docstring.
+
+2002-01-20 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * fns.c (Fmapconcat): Improve docstring.
+
+2002-01-03 Eric Gillespie, Jr. <epg@pretzelnet.org>
+
+ * device-gtk.c: Add prototype for
+ emacs_gtk_selection_clear_event_handle.
+ (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
+ selection. Setup signal handler for "selection_clear_event"
+ (emacs_gtk_selection_clear_event_handle).
+
+ * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
+ other applications owning the clipboard (based on
+ x_handle_selection_clear).
+
+2001-12-23 William M. Perry <wmperry@gnu.org>
+
+ * menubar-gtk.c (gtk_popup_menu) Add sanity checks, fix crash.
+
+2002-01-04 Martin Buchholz <martin@xemacs.org>
+
+ * keymap.c (define_key_alternate_name): Parenthesize EQ.
+
+2001-12-17 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.6 "Common Lisp" is released.
+
+2001-12-16 Torsten Duwe <duwe@caldera.de>
+
+ * search.c (Freplace_match): Add missing sub-expression functionality.
+
+ * buffer.c (decode_buffer): Add a check for pointer type to
+ decode_buffer, before gcc's CSE optimization reorders a
+ dereference in front of the allow_string test.
+
+2001-11-16 Darryl Okahata <darrylo@xemacs.org>
+
+ * window.c (window_loop): Fix bug that sometimes prevented
+ window_loop() from iterating across multiple devices. Also, at
+ Ben's request, changed infloop-detecting code to abort() instead
+ of silently terminating window_loop().
+
+2001-11-21 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Based on analysis and patch by Simon Josefson <jas@extundo.com>.
+ * editfns.c (make_time): New function.
+ (Fencode_time): Use it instead of wasteful_word_to_lisp.
+ * lisp.h (make_time): Prototype and comment it.
+ * dired.c (wasteful_word_to_lisp): Deprecate.
+ (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
+
+2001-10-31 Kyle Jones <kyle_jones@wonderworks.com>
+
+ * fileio.c (auto_save_1): Use current coding system, not
+ escape-quoted.
+
+2001-11-13 Ben Wing <ben@xemacs.org>
+
+ * window.c:
+ * window.c (window_truncation_on):
+ * window.c (syms_of_window):
+ truncate-partial-width-windows should respect the buffer being
+ displayed, like other redisplay vars.
+
+2001-11-13 Hirokazu FUKUI <hfukui@sannet.ne.jp>
+
+ * event-stream.c (Fread_key_sequence): save current buffer.
+
+2001-10-29 Andrew Begel <abegel@eecs.berkeley.edu>
+
+ * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
+
+2001-10-29 Andrew Begel <abegel@eecs.berkeley.edu>
+
+ * alloc.c (lcrecord_stats): Add space for types defined in modules.
+
+2001-10-26 Mike Alexander <mta@arbortext.com>
+
+ * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
+
+2001-10-25 Andy Piper <andy@xemacs.org>
+
+ * ChangeLog:
+ * dialog-msw.c (handle_directory_proc): new function.
+ (handle_directory_dialog_box): new fucntion.
+ (handle_file_dialog_box): use new directory dialog support.
+ (mswindows_make_dialog_box_internal): ditto.
+ * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
+ handling.
+ (mswindows_find_frame): make global.
+ * fileio.c (Fexpand_file_name): build fix.
+ * general-slots.h: add Qdirectory.
+ * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
+ handling.
+ * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
+ cygwin not leaving win32 paths unchanged.
+ * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
+ cygwin runtime to do path conversion.
+ (Fmswindows_shell_execute): fix cygwin handling of URLs.
+ (syms_of_win32): add new function.
+ * window.c (window_loop): build fix.
+
+2001-10-15 Andy Piper <andy@xemacs.org>
+
+ (Fmswindows_shell_execute): fix handling of URL's under cygwin.
+
+2001-10-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.5 "Civil Service" is released.
+
+2001-04-08 Danny Colascione <qtmstr@optonline.net>
+
+ * glyphs-x.c: Force buffer-tab highlight update when moving the
+ buffer, avoiding an ugly black border, used for keyboard focus
+ indication, on a widget that can never have keyboard focus, the
+ buffer tab.
+
+2001-08-30 Daiki Ueno <ueno@unixuser.org>
+
+ * process-unix.c (unix_open_multicast_group): Remove too much
+ conversion between host and network byte order.
+
+2001-09-10 Nix <nix@esperi.demon.co.uk>
+
+ * src/buffer.c (kill_buffer): Undedicate windows showing BUF
+ before replacing them.
+
+ * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
+ operation.
+
+ * src/window.c (undedicate_windows): Use it.
+ * src/window.h: Add prototype.
+
+2001-09-17 Ben Wing <ben@xemacs.org>
+
+ * fileio.c (normalize_filename):
+ * fileio.c (Fexpand_file_name):
+ Fix various C++ compile errors in Andy's recent code.
+
+ * callint.c (Fcall_interactively):
+ * editfns.c (Ftemp_directory):
+ * editfns.c (Fuser_full_name):
+ * emacs.c (argmatch):
+ * lread.c (locate_file_map_suffixes):
+ * redisplay-x.c (x_ring_bell):
+ Fix sign-compare warnings.
+
+2001-09-08 Andy Piper <andy@xemacs.org>
+
+ * fileio.c (normalize_filename): copied from nt.c
+ * (Ffile_name_directory): enable win32 paths under cygwin.
+ * (Ffile_name_nondirectory): ditto.
+ * (directory_file_name): ditto.
+ * (Fexpand_file_name): ditto.
+ * (Ffile_truename): ditto.
+ * (Fsubstitute_in_file_name): ditto.
+ * (Ffile_name_absolute_p): ditto.
+ * (Ffile_readable_p): ditto.
+
+2001-09-08 Andy Piper <andy@xemacs.org>
+
+ * device-msw.c (mswindows_finish_init_device): remove dde
+ initialization.
+ * device-msw.c (mswindows_init_dde): factor out from
+ mswindows_finish_init_device()
+ * device-msw.c (init_mswindows_very_early): new function
+ initialize but don't enable dde.
+ * emacs.c (main_1): call init_mswindows_very_early.
+ * event-msw.c:
+ * event-msw.c (mswindows_dde_callback): only execute when we are
+ ready.
+ * symsinit.h: declare init_mswindows_very_early.
+
+2001-05-02 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ [sjt: This has been in 21.5 for months with no complaints.]
+
+ * console.h (struct console_methods): Added flags member.
+ (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
+ (CONMETH_IMPL_FLAG):
+ (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
+ Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
+
+ * device.c (window_system_pixelated_geometry): Use the above macros.
+
+ * device.h (DEVICE_IMPL_FLAG): Macro to check a device
+ implememntation flag.
+ * device.h (DEVICE_DISPLAY_P): Use it.
+
+ * frame.c (delete_frame_internal): Use the above macro.
+
+ * redisplay.c (redisplay_device): Use it.
+ (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
+ (redisplay_frame): Ditto.
+
+ * device-msw.c (mswindows_device_implementation_flags): Removed.
+ (msprinter_device_implementation_flags): Removed.
+ (console_type_create_device_mswindows): Removed references to
+ implementation_flags methods, set implementation flags here.
+ (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
+
+ * device-gtk.c (gtk_device_implementation_flags): Removed method.
+ (console_type_create_device_gtk): Removed method declaration.
+ Added commented out statement which semantically matches the
+ commented out statement in the above removed method.
+
+2001-04-14 Gordon Sadler <gbsadler1@lcisp.com>
+
+ The attached patch fixes a few warnings.
+
+ * src/emacs.c: prototype console_type_create_select_gtk for GTK only
+ * src/frame-gtk.c: guard against GNOME calls in GTK only
+ * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
+ * src/select-gtk.c: prototype lisp_to_time
+
+2001-06-08 Ben Wing <ben@xemacs.org>
+
+ ------ gc-in-window-procedure fixes ------
+
+ * alloc.c:
+ * alloc.c (struct post_gc_action):
+ * alloc.c (register_post_gc_action):
+ * alloc.c (run_post_gc_actions):
+ * alloc.c (garbage_collect_1):
+ Create "post-gc actions", to avoid those dreaded "GC during window
+ procedure" problems.
+
+ * event-msw.c:
+ Abort, clean and simple, when GC in window procedure. We want
+ to flush these puppies out.
+
+ * glyphs-msw.c:
+ * glyphs-msw.c (finalize_destroy_window):
+ * glyphs-msw.c (mswindows_finalize_image_instance):
+ Use a post-gc action when destroying subwindows.
+
+ * lisp.h:
+ Declare register_post_gc_action().
+
+ * scrollbar-msw.c:
+ * scrollbar-msw.c (unshow_that_mofo):
+ Use a post-gc action when unshowing scrollbar windows, if in gc.
+
+ * redisplay.c (mark_redisplay):
+ Add comment about the utter evilness of what's going down here.
+
+ ------ cygwin setitimer fixes ------
+
+ * Makefile.in.in (sheap_objs):
+ * Makefile.in.in (profile_objs):
+ * Makefile.in.in (objs):
+ Compile profile.c only when HAVE_SETITIMER.
+
+ * nt.c (mswindows_sigset):
+ * nt.c (mswindows_sighold):
+ * nt.c (mswindows_sigrelse):
+ * nt.c (mswindows_sigpause):
+ * nt.c (mswindows_raise):
+ * nt.c (close_file_data):
+ Style fixes.
+
+ * nt.c:
+ Move setitimer() emulation to win32.c, because Cygwin needs it too.
+
+ * profile.c:
+ * profile.c (Fstart_profiling):
+ * profile.c (Fstop_profiling):
+ Make sure we don't compile if no setitimer(). Use qxe_setitimer()
+ instead of just plain setitimer().
+
+ * signal.c:
+ * signal.c (set_one_shot_timer):
+ * signal.c (alarm):
+ Define qxe_setitimer() as an encapsulation around setitimer() --
+ call setitimer() directly unless Cygwin or MS Win, in which case
+ we use our simulated version in win32.c.
+
+ * systime.h:
+ * systime.h (struct itimerval):
+ * systime.h (ITIMER_REAL):
+ Prototype mswindows_setitimer() and qxe_setitimer(). Long
+ comment about "qxe" and the policy regarding encapsulation.
+
+ * win32.c:
+ * win32.c (setitimer_helper_proc):
+ * win32.c (setitimer_helper_period):
+ * win32.c (setitimer_helper):
+ * win32.c (mswindows_setitimer):
+ Move setitimer() emulation here, so Cygwin can use it.
+ Rename a couple of functions and variables to be longer and more
+ descriptive. In setitimer_helper_proc(), send the signal
+ using either mswindows_raise() or (on Cygwin) kill(). If for
+ some reason we are still getting lockups, we'll change the kill()
+ to directly invoke the signal handlers.
+
+ ------ windows shell fixes ------
+
+ * callproc.c:
+ * ntproc.c:
+ Comments about how these two files must die.
+
+ * callproc.c (init_callproc):
+ On MS Windows, init shell-file-name from SHELL, then COMSPEC,
+ not just COMSPEC. (more correct and closer to FSF.) Don't
+ force a value for SHELL into the environment. (Comments added
+ to explain why not.)
+
+ * nt.c (init_user_info):
+ Don't shove a fabricated SHELL into the environment. See above.
+
+2001-06-01 Ben Wing <ben@xemacs.org>
+
+ * Makefile.in.in (ldflags):
+ eliminate that pesky "defaulting to 00401000" warning.
+ * nt.h:
+ eliminate warnings.
+
+2001-06-15 Golubev I. N. <gin@mo.msk.ru>
+
+ * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
+ * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
+
+2001-04-24 Jerry James <james@xemacs.org>
+
+ * faces.h: pass parameters to Fadd_spec_to_specifier in the
+ correct order.
+
+2001-06-01 Ben Wing <ben@xemacs.org>
+
+ * event-msw.c (debug_mswin_messages):
+ conditionalize the messages that were causing compile errors.
+ (if only macros could generate #ifdef statements ...)
+
+2001-07-28 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.4 "Artificial Intelligence" is released.
+
+2001-07-22 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
+
+2001-07-22 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
+ * process-unix.c (unix_canonicalize_host_name):
+ sysdep.c (init_system_name):
+ Use it to conditionally support IPv6 canonicalization.
+
+2001-05-31 Paul Stodghill <stodghil@cs.cornell.edu>
+
+ * event-msw.c:
+ Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
+
+2001-05-19 Paul Krause <paulkrause1@mediaone.net>
+
+ * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
+ attempt is made to scroll when no scroll bar is available.
+
+2001-04-19 Glynn Clements <glynn.clements@virgin.net>
+
+ * input-method-motif.c (XIM_delete_frame): New callback.
+ (XIM_init_frame): Register it. (Reapplied by SJT, it somehow
+ got deleted from 21.4.3.)
+
+2001-06-01 Ben Wing <ben@xemacs.org>
+
+ * nt.c (mswindows_utime):
+ * nt.c (close_file_data):
+ fix off-by-one-indirection error.
+
+2001-05-29 Adrian Aichner <adrian@xemacs.org>
+
+ * fileio.c: Include nt.h. Remove lisp_string_set_file_times()
+ because set_file_times() now takes Lisp_Object path, instead of
+ char*.
+ * nt.c: Include buffer.h.
+ * nt.c (convert_from_time_t): New.
+ * nt.c (mswindows_utime): New. Use utime, since SetFileTime does
+ not set mtime correctly.
+ * nt.h: Declare mswindows_utime().
+ * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
+ path, instead of char*.
+ * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
+
+2001-05-30 Ben Wing <ben@xemacs.org>
+
+ For 21.4:
+
+ (Stephen, just take all event-msw.c patches. This includes
+ the "iconify" fix below.)
+
+ * event-msw.c:
+ * event-msw.c (mswindows_dequeue_dispatch_event):
+ * event-msw.c (assert):
+ * event-msw.c (emacs_mswindows_quit_p):
+ * event-msw.c (debug_mswin_messages):
+ * event-msw.c (debug_output_mswin_message):
+ * event-msw.c (vars_of_event_mswindows):
+ Fix yet more problems with C-g handling.
+ Implement debug-mswindows-events.
+
+2001-05-24 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
+
+2001-05-23 Ben Wing <ben@xemacs.org>
+
+ * event-msw.c (winsock_writer):
+ * event-msw.c (winsock_closer):
+ prior kludgy code was clobbering the buffer, thinking it was
+ "unused" space to store an unneeded return value; instead, use
+ the variable we've already got staring us in the face.
+
+2001-05-17 Andy Piper <andy@xemacs.org>
+
+ * sysfile.h: don't assume that file attributes are boolean
+
+2001-05-23 Ben Wing <ben@xemacs.org>
+
+ * device-msw.c (msprinter_init_device):
+ signal an error rather than crash with an unavailable network
+ printer (from Mike Alexander).
+
+ * event-msw.c:
+ * event-msw.c (struct winsock_stream):
+ * event-msw.c (winsock_writer):
+ * event-msw.c (winsock_closer):
+ * event-msw.c (make_winsock_stream_1):
+ cleanup headers. fix (hopefully) an error with data corruption
+ when sending to a network connection.
+
+ * fileio.c (Fexpand_file_name): Fix evil code that attempts
+ to handle the ~user prefix by (a) always assuming we're referencing
+ ourselves and not even verifying the user -- hence any file with
+ a tilde as its first char is invalid! (b) if there wasn't a slash
+ following the filename, the pointer was set *past* the end of
+ file and we started reading from uninitialized memory. Now we
+ simply treat these as files, always.
+
+ * buffer.c (common_init_complex_vars_of_buffer): comment change.
+
+2001-05-19 Ben Wing <ben@xemacs.org>
+
+ * eval.c: doc comment about gcpro'ing in record_unwind_protect.
+
+ * process-nt.c:
+ * process-nt.c (vars_of_process_nt):
+ remove unused mswindows-quote-process-args. rec for 21.4.
+
+2001-05-12 Ben Wing <ben@xemacs.org>
+
+ * event-msw.c (mswindows_dde_callback):
+ * event-msw.c (mswindows_wnd_proc):
+ eliminate cygwin warnings.
+
+2001-05-06 Ben Wing <ben@xemacs.org>
+
+ * console-msw.h:
+ * device-msw.c:
+ * device-msw.c (print_dialog_worker):
+ * device-msw.c (mswindows_handle_print_dialog_box):
+ * device-msw.c (syms_of_device_mswindows):
+ * dialog-msw.c (mswindows_make_dialog_box_internal):
+ * general-slots.h:
+ implement printing the selection when it's selected.
+
+2001-05-20 Drazen Kacar <dave@arsdigita.com>
+
+ * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
+
+2001-05-11 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * lisp.h (EMACS_INT_MAX): This should be one bit less since
+ EMACS_INT is signed.
+
+2001-04-15 Michael Lausch <mla@1012surf.net>
+
+ * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
+ gtk_widget_request_size() to give scrollbar >0 width for
+ GTK >1.2.8.
+
+2001-05-30 William M. Perry <wmperry@gnu.org>
+
+ * event-gtk.c: Check for buttons as modifier keys.
+
+2001-05-25 Craig Lanning <CraigL@Knology.net>
+
+ * s\mingw32.h:
+ Properly find MinGW's <process.h> inside Cygwin's restructured
+ include directories. Don't try to include <cygwin/version.h>
+ since we are dropping support for MinGW in versions of Cygwin
+ earlier than b21.
+ * nt.c:
+ Drop support for MinGW in versions of Cygwin before b21.
+ * sysdep.c:
+ Properly find MinGW's <process.h> inside Cygwin's restructured
+ include directories.
+ * syswindows.h:
+ Drop support for MinGW in versions of Cygwin before b21.
+ * unexcw.c:
+ Even though a.out.h is no longer detected by configure, allow
+ MinGW to use it until we figure out how to do the job with Win32.
+
+2001-07-11 Matt Tucker <tuck@whistlingfish.net>
+
+ * syntax.c (find_start_of_comment):
+ Fix `unbalanced parentheses' bug when dealing with mixed comment
+ styles in c++/java/etc. mode
+
+2001-05-29 Mike Alexander <mta@arbortext.com>
+
+ * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
+ FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
+
+2001-05-17 Andrew Begel <abegel@eecs.berkeley.edu>
+
+ * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
+
+2001-03-31 Mike Sperber <mike@xemacs.org>
+
+ * search.c (Freplace_match): Support FSF-style specification of
+ match subexpression when applied to a buffer.
+
+2001-05-27 Karl M. Hegbloom <karlheg@hegbloom.net>
+
+ * event-stream.c (is_scrollbar_event): add missing semicolon
+
+2001-05-22 Isaac Hollander <ysh@mindspring.com>
+
+ * Makefile.in.in: Use TAR macro instead of hardcoding
+ tar. Allows use of GNU tar instead of system tar
+
+2001-05-27 Karl M. Hegbloom <karlheg@hegbloom.net>
+
+ * event-stream.c (is_scrollbar_event): add missing semicolon
+
+2001-05-17 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.3 "Academic Rigor" is released.
+
+2001-05-17 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
+
+2001-05-08 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * buffer.c (Vcase_fold_search): Remove obsolete
+ comment about non ASCII case-fold-search. This
+ bug has been fixed by case-table changes.
+
+2001-05-11 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * event-msw.c: Restore include of events-mod.h.
+
+2001-04-22 zhaoway <zw@debian.org>
+
+ * event-stream.c (is_scrollbar_event): Noop returning 0 if
+ !HAVE_SCROLLBARS.
+
+2001-05-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
+
+2001-05-08 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
+
+ * mule-charset.c (Fmake_charset): Add missing else.
+
+2001-04-23 Ben Wing <ben@xemacs.org>
+
+ * event-msw.c (FAKE_MOD_QUIT):
+ * event-msw.c (mswindows_dequeue_dispatch_event):
+ * event-msw.c (mswindows_wnd_proc):
+ * event-msw.c (emacs_mswindows_quit_p):
+ Get critical quit working.
+
+2001-05-05 Ben Wing <ben@xemacs.org>
+
+ * console-msw.h:
+ * device-msw.c:
+ * device-msw.c (mswindows_get_default_margin):
+ * frame-msw.c (mswindows_size_frame_internal):
+ * frame-msw.c (msprinter_init_frame_1):
+ * frame-msw.c (vars_of_frame_mswindows):
+ Change top/bottom margin defaults to 0.5 inches.
+
+2001-05-01 Martin Buchholz <martin@xemacs.org>
+
+ Fix link error with gcc 3.0 on Linux.
+ * terminfo.c (UP): Remove.
+ * terminfo.c (BC): Remove.
+ * terminfo.c (PC): Remove.
+ They weren't used, and in any case, these symbols should be
+ defined in the *library*.
+
+2001-05-03 Martin Buchholz <martin@xemacs.org>
+
+ * s/aix4.h: Fix crash with xlc -O3.
+ Improve comment explaining how -O3 works.
+
+2001-04-15 Ben Wing <ben@xemacs.org>
+
+ * event-stream.c:
+ * event-stream.c (Fnext_event):
+ * event-stream.c (is_scrollbar_event):
+ * event-stream.c (execute_command_event):
+ Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
+ crash' problem. His fix introduces other problems. We filter
+ out scrollbar events specifically, making them somewhat invisible
+ to command-building, and not appearing in `this-command-keys'.
+ More work is still needed (see comments in event-stream.c), but
+ this fixes all the major problems.
+
+2001-04-20 Ben Wing <ben@xemacs.org>
+
+ * .cvsignore: Added stuff for Windows.
+
+2001-04-28 Ben Wing <ben@xemacs.org>
+
+ * buffer.c (Ferase_buffer):
+ * editfns.c (buffer_insert1):
+ * editfns.c (Finsert_before_markers):
+ * editfns.c (Finsert_string):
+ * editfns.c (Finsert_char):
+ * editfns.c (Fdelete_region):
+ * editfns.c (Fwiden):
+ * editfns.c (Fnarrow_to_region):
+ remove bogus lines setting zmacs_region_stays to 0.
+
+2001-04-15 Gunnar Evermann <ge204@eng.cam.ac.uk>
+
+ * process-unix.c (unix_open_network_stream): If connect() fails
+ invalidate file descriptor after closing it.
+
+2001-03-08 Mike Alexander <mta@arbortext.com>
+
+ * event-msw.c (mswindows_need_event_in_modal_loop):
+ Don't dispatch a message if we didn't get one.
+ (mswindows_need_event):
+ Terminate the correct process when one exits instead of the first
+ one on Vprocess_list and look for process termination when in
+ mswindows_protect_modal_loop.
+
+2001-04-19 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.1 "Copyleft" is released.
+
+2001-04-19 Glynn Clements <glynn.clements@virgin.net>
+
+ * input-method-motif.c (XIM_delete_frame): New callback.
+ (XIM_init_frame): Register it.
+
+2001-04-16 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.0 "Solid Vapor" is released.
+
+2001-04-15 Ben Wing <ben@xemacs.org>
+
+ * cmdloop.c (call_command_loop):
+ Fix braino in bit-rotting code.
+
+2001-04-07 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * extents.c (Fset_extent_endpoints): Force creation of extent info
+ in buffer_or_string.
+
+ * extents.c (process_extents_for_insertion_mapper): Correctly
+ check for open-open zero-length extents.
+
+2001-04-16 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * lisp.h: New typedefs Memory_count, Element_count.
+ * regex.c:
+ * regex.h:
+ Sign-compare warning elimination: several unsigned -> signed.
+ Based on work by Ben Wing <ben@xemacs.org>.
+