emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/ChangeLog


From: Andreas Schwab
Subject: [Emacs-diffs] Changes to emacs/src/ChangeLog
Date: Wed, 19 Feb 2003 08:07:31 -0500

Index: emacs/src/ChangeLog
diff -c emacs/src/ChangeLog:1.3108 emacs/src/ChangeLog:1.3109
*** emacs/src/ChangeLog:1.3108  Wed Feb 19 01:15:15 2003
--- emacs/src/ChangeLog Wed Feb 19 08:07:30 2003
***************
*** 1,3 ****
--- 1,8 ----
+ 2003-02-19  Andreas Schwab  <address@hidden>
+ 
+       * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte): Add
+       prototypes.
+ 
  2003-02-19  Kenichi Handa  <address@hidden>
  
        * xfaces.c (try_alternative_families): Try all scalable fonts if
***************
*** 496,7106 ****
        * gtkutil.c (xg_create_frame_widgets): Check if there is an
        external tool bar before setting tool bar height.
  
! 2003-01-19  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xterm.c (handle_one_xevent): Surround popup_activated
!       with #ifdef:s for non-toolkit version.
! 
!       * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
!       (gtkutil.o): New file.
!       (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
!       (LIBW): Set to @GTK_LIBS@ if USE_GTK.
  
!       * gtkutil.c: New file for GTK version.
  
!       * gtkutil.h: New file for GTK version.
  
!       * xterm.h: Add xt_or_gtk_widget.
!       Include gtk files for USE_GTK.
!       (struct x_output): Add toolbar_height.
!       (struct x_output): Add GTK widgets and Gdk size_hints.
!       (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
!       (FRAME_OUTER_WINDOW): New macros for USE_GTK.
!       (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
  
!       * xterm.c: Include gtkutil.h for USE_GTK.
!       Declare extern void free_frame_menubar for USE_GTK.
!       (note_mouse_highlight): Check popup_activated for USE_GTK.
!       (xt_action_hook): Don't compile if USE_GTK.
!       (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
!       (xg_scroll_callback): New function.
!       (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
!       (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
!       for USE_GTK.
!       (x_scroll_bar_create): Call xg_update_scrollbar_pos and
!       xg_show_scroll_bar for USE_GTK.
!       (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
!       (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
!       (event_handler_gdk): New function for USE_GTK.
!       (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
!       (handle_one_xevent): Make sure widget is mapped before
!       calling x_real_positions for USE_GTK.
!       (XTread_socket): Add GTK event loop for USE_GTK.
!       (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
!       (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
!       (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
!       (x_iconify_frame): Add code for USE_GTK.
!       (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
!       (x_wm_set_size_hint): Only compile if not USE_GTK.  GTK version
!       is in gtkutil.c.
!       (x_term_init): Add initialization for GTK.
!       (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
  
!       * xmenu.c: Include gtkutil.h for USE_GTK.
!       (Fx_popup_menu): Use current position if x and y is NIL.
!       (single_menu_item, single_menu_item, Fx_popup_dialog): Check
!       for USE_GTK.
!       (popup_widget_loop): New function for USE_GTK.
!       (x_activate_menubar): Add code for USE_GTK.
!       (popup_activate_callback, popup_deactivate_callback)
!       (menu_highlight_callback, menubar_selection_callback): USE_GTK versions
!       added.
!       (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
!       (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
!       (free_frame_menubar): Only compile if not USE_GTK.  GTK version
!       is in gtkutil.c.
!       (popup_selection_callback): New version for USE_GTK.
!       (create_and_show_popup_menu): New fuction, one USE_GTK version and
!       one USE_X_TOOLKIT version.
!       (xmenu_show): Call create_and_show_popup_menu.
!       (dialog_selection_callback): New version for USE_GTK.
!       (create_and_show_dialog): New fuction, one USE_GTK version and
!       one USE_X_TOOLKIT version.
!       (xdialog_show): Call create_and_show_dialog.
  
!       * xfns.c: Include gtkutil for USE_GTK.
!       (x_window_to_frame, x_any_window_to_frame)
!       (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
!       (x_top_window_to_frame): Add code for USE_GTK.
!       (x_set_background_color): Call xg_set_background_color for GTK.
!       (x_set_menu_bar_lines): Check for USE_GTK.
!       (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
!       (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
!       (x_window): Call xg_create_frame_widgets for USE_GTK.
!       (Fx_create_frame): Check for USE_GTK
!       (Fx_file_dialog): New implementation for USE_GTK.
  
!       * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
!       (update_menu_bar): Add check for USE_GTK.
!       (update_tool_bar): Add check for USE_GTK and external tool bar.
!       (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
!       (redisplay_internal): Add check for USE_GTK and popup_activated.
!       (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
!       (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
!       (display_menu_bar): Add check for USE_GTK
  
!       * lisp.h: Declare Vx_resource_name extern.
  
!       * keyboard.c (kbd_buffer_get_event):  Check MENU_BAR_ACTIVATE_EVENT
!       for USE_GTK.
!       (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
  
!       * frame.h (struct frame): Add external_tool_bar.  Check for USE_GTK.
!       (FRAME_EXTERNAL_TOOL_BAR): New macro.
!       (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
  
!       * fileio.c (Fread_file_name): Add check for USE_GTK.
  
!       * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Add
!       check for USE_GTK.
  
!       * config.in: Added HAVE_GTK
  
!       * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
  
! 2003-01-18  Stefan Monnier  <address@hidden>
  
!       * charset.h (Funibyte_char_to_multibyte): Export.
  
! 2003-01-18  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xmenu.c (mouse_position_for_popup): New function.
!       (Fx_popup_menu): Call mouse_position_for_popup for X and
!       mouse_position_hook for others.
  
! 2003-01-17  Kim F. Storm  <address@hidden>
  
!       * editfns.c (Finsert): Mention `string-make-multibyte' and
!       `string-as-multibyte' in doc string.
  
! 2003-01-17  Kenichi Handa  <address@hidden>
  
!       * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
  
!       * editfns.c (Fformat): Convert an unibyte char argument that is
!       formatted by "%c" to multibyte if the total result must be a
!       multibyte string.
  
! 2003-01-16  Kim F. Storm  <address@hidden>
  
!       * process.c (set-process-filter): Document unibyte/multibyte-ness
!       of string argument.
  
! 2003-01-16  Kenichi Handa  <address@hidden>
  
!       * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
  
!       * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
!       (re_search_2): Likewise.
  
! 2003-01-15  Kenichi Handa  <address@hidden>
  
!       * xdisp.c (message_dolog): Fix bug of the case that *Message*
!       buffer is unibyte.
  
! 2003-01-15  Francesco Potort,Al(B  <address@hidden>
  
!       * fns.c (Fsubstring): Clarify doc string.
  
!       * textprop.c (Ftext_properties_at, Fnext_char_property_change)
!       (Fprevious_char_property_change)
!       (Fnext_single_char_property_change)
!       (Fprevious_single_char_property_change, Fnext_property_change)
!       (Fnext_single_property_change, Fprevious_property_change)
!       (Fprevious_single_property_change, Fadd_text_properties)
!       (Fput_text_property, Fset_text_properties)
!       (Fremove_text_properties, Fremove_list_of_text_properties)
!       (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
  
! 2003-01-14  Kim F. Storm  <address@hidden>
  
!       * process.h (struct Lisp_Process): New member plist replaces old
!       member private_vars.  All uses changed.
  
!       * process.c: Reworked 2003-01-12 change -- call a plist a plist!
!       (QCplist): Renamed from QCvars.  All uses changed.
!       (Fprocess_plist): Replaces Fprocess_variable.  Simplified.
!       (Fset_process_plist): Replaces Fset_process_variable.  Simplified.
!       (syms_of_process): Intern, staticpro, defsubr these.
!       (Fmake_network_process): Describe :plist arg.  Removed :vars arg.
  
! 2003-01-14  Francesco Potort,Al(B  <address@hidden>
  
!       * m/delta.h: Removed (obsolete).
  
! 2003-01-13  Francesco Potort,Al(B  <address@hidden>
  
!       * fileio.c (Fdelete_directory, Fdelete_file): Document the
!       behaviour in front of symlinks.
!       (Fdelete_file): Raise an error on directories.
  
! 2003-01-13  Dave Love  <address@hidden>
  
!       * fns.c (Freverse): Use QUIT.
  
! 2003-01-13  Richard M. Stallman  <address@hidden>
  
!       * minibuf.c (minibuffer_completion_contents):
!       Error if point is inside prompt.
  
!       * keyboard.c (command_loop_1): Don't redisplay directly
!       if there's a post-command-hook.
  
!       * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
!       (Fdo_auto_save): Add gcpros around Ffile_name_directory.
  
! 2003-01-12  Kim F. Storm  <address@hidden>
  
!       * process.h (struct Lisp_Process): New member private_vars.
  
!       * process.c (QCvars): New variable.
!       (syms_of_process): Intern and staticpro it.
!       (Fset_process_contact): Removed function.
!       (Fprocess_variable, Fset_process_variable): New functions.
!       (syms_of_process): Defsubr them.
!       (Fstart_process): Initialize private_vars plist to nil.
!       (Fmake_network_process): New arg :vars to setup the private
!       variables for new network process.
!       (server_accept_connection): Copy server's private variables to
!       client process.
  
!       * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
!       crashes).  Code rewritten and simplified.  Now directly aligns the
!       pointer and recalculates pure_bytes_used, rather than aligning the
!       size and adjusting the pointer.
  
! 2003-01-11  Kim F. Storm  <address@hidden>
  
!       * process.c (Fset_process_contact): New function.
!       (syms_of_process): defsubr it.
!       (make-network-process): Update doc.
  
! 2003-01-10  Andreas Schwab  <address@hidden>
  
!       * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
!       Reported by Berthold Gunreben <address@hidden>.
  
! 2003-01-10  Dave Love  <address@hidden>
  
!       * composite.c (syms_of_composite): Make composition_hash_table weak.
  
! 2003-01-09  Kim F. Storm  <address@hidden>
  
!       * process.c (Fmake_network_process): Convert new port number
!       to host byte order for `:service t' case.  From Mario Lang.
  
! 2003-01-08  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
!       instead of XtAppProcessEvent.
  
!       * xterm.c (handle_one_xevent): New function.
!       (x_dispatch_event): New function.
!       (XTread_socket): Call handle_one_xevent.
  
!       * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
  
!       * xmenu.c (Fx_popup_menu): If popping up at mouse position,
!       call XQueryPointer to get coordinates.
!       (popup_get_selection): Do not set popup_activated_flag to zero,
!       let popup_deactivate_callback do that.  Needed for Motif.
!       Call x_dispatch_event instead of XtDispatchEvent.
!       (xmenu_show): Calculate root coordinate from frame top/left position.
  
! 2003-01-08  Kim F. Storm  <address@hidden>
  
!       * process.c (server_accept_connection): Fixed recording of new
!       connection's local address in :local property of contact info.
!       (Fmake_network_process): Record local network address for new
!       client processes in :local property of contact info.
!       (format-network-address): Added arg OMIT-PORT.  Callers changed.
  
! 2003-01-07  Dave Love  <address@hidden>
  
!       * Makefile.in (fns.o): Depend on coding.h.
  
! 2003-01-07  Markus Rost  <address@hidden>
  
!       * minibuf.c (Fread_variable): Doc fix.
  
!       * eval.c (Fuser_variable_p): Doc change.  For custom variables,
!       use the same test as for custom-variable-p.
  
! 2003-01-05  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
!       Count LAST_LINE_MISFIT in scroll margin for end of window.
!       Move label too_near_end before setting SCROLL_MARGIN_POS.
!       Set LAST_LINE_MISFIT before jumping there.
  
!       * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
!       scroll_conservatively case.  If scrolling that much doesn't change
!       STARTP, move it down one line.
  
!       * xdisp.c (redisplay_window): Pass last_line_misfit arg to
!       try_scrolling.  Make it 1 after make_cursor_line_fully_visible fails.
  
!       * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
!       selected frame.
  
!       * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
!       (syms_of_keymap): staticpro them.
!       (Fapropos_internal): Initialize them and clear them out.
!       Don't GCPRO them.
  
!       * buffer.c (syms_of_buffer) <scroll-up-aggressively, 
scroll-down-aggressively>:
!       Doc fixes.
  
!       * lisp.h: New misc type Lisp_Save_Value.
!       (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
!       (XSAVE_VALUE): New macro.
!       (struct Lisp_Save_Value): New data type.
!       (union Lisp_Misc): Add u_save_value alternative.
!       (make_save_value): Declared.
  
!       * alloc.c (make_save_value): New function.
  
!       * xterm.c (x_catch_errors): Save dpy using make_save_value.
!       (x_catch_errors_unwind): Call XSync.
  
! 2003-01-01  Richard M. Stallman  <address@hidden>
  
!       * window.c (window_scroll_pixel_based): Partially undo last change.
  
!       * keyboard.c (command_loop_1): Call adjust_point_for_property
!       in direct action cases for Qforward_char and Qbackward_char.
!       Set already_adjusted so it won't be done twice.
  
! 2002-12-30  Richard Dawe  <address@hidden>  (tiny change)
  
!       * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
!       type definition of size_t.
  
! 2003-01-02  Steven Tamm  <address@hidden>
  
!       * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
!       distinguish Carbon GUI builds from X11 builds on darwin.
  
! 2002-12-30  Steven Tamm  <address@hidden>
  
!       * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
!       to default to t.
  
! 2002-12-29  Francesco Potort,Al(B  <address@hidden>
  
!       * data.c (Fstring_to_number, Fminus): Better English in doc strings.
  
! 2002-12-28  Steven Tamm  <address@hidden>
  
!       * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
!       allow building in a different directory than source.  Uses some
!       GNU Make extensions, but there is no other make on Mac OS X.
  
! 2002-12-26  Francesco Potort,Al(B  <address@hidden>
  
!       * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
!       (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
!       (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
!       (Fstring_to_number): Mention the returned value in the doc strings.
  
! 2002-12-23  Richard M. Stallman  <address@hidden>
  
!       * buffer.c (syms_of_buffer) <scroll-up-aggressively>
!       <scroll-down-aggressively>: Doc fix.
  
!       * xmenu.c (parse_single_submenu): Use individual keymap's prompt
!       string as pane name, if there is one.
!       (set_frame_menubar): Save menu_items_n_panes from each call to
!       parse_single_submenu and use it when calling digest_single_submenu.
  
!       * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
!       Don't try to make last line fully visible if it is past end of window.
  
! 2002-12-22  Steven Tamm  <address@hidden>
  
!       * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
!       (mac_menu_show): Add support for hierarchical popup menus.
!       (add_menu_item): Remove indentation support.
!       (fill_submenu, fill_menu): Create hierarchical menus
!       instead of using indentation.
  
! 2002-12-22  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (try_cursor_movement): Don't call try_window here.
!       (redisplay_window): Never redisplay minibuffer when inactive.
  
!       * window.c (select_window_1): Undo 9/21 change.
  
! 2002-12-22  Steven Tamm  <address@hidden>
  
!       * macterm.c (XTread_socket): Call KeyTranslate for control and
!       meta to deal correctly shifted non-alpha characters, like C-S-5
!       being treated like C-%.  Does not look for shift key to deal
!       with masking off control-key with mac-reverse-ctrl-meta.
  
! 2002-12-21  Richard M. Stallman  <address@hidden>
  
!       * xmenu.c (popup_get_selection): Now static.  New arg DO_TIMERS.
!       If it is non-nil, run timers.  Use an unwind-protect to requeue
!       the events that were read ahead.
!       (popup_get_selection_unwind): New subroutine.
!       (popup_get_selection_queue): File-scope variable now holds that queue.
!       (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
!       (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
!       Use an unwind-protect to pop down the dialog box.
!       (xdialog_show_unwind): New subroutine implements that.
  
!       * xdisp.c (row_containing_pos): Change exit test using last_y.
!       (try_window_id): Abort if row_containing_pos returns null.
  
!       * lread.c (load_error_handler): New function.
!       (Fload): Handle errors in Fsubstitute_in_file_name.
!       Don't expect Fsignal to return.
  
!       * eval.c: Errors and throws work right with interrupt blocking.
!       (struct catchtag): New elt interrupt_input_blocked.
!       (unwind_to_catch): Restore interrupt_input_blocked from saved value.
!       (internal_catch, Fcondition_case, internal_condition_case)
!       (internal_condition_case_1, internal_condition_case_2): Save it.
!       (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
  
!       * editfns.c (Fformat): Add parens.
  
!       * dired.c (file_name_completion): Fix that change.
!       Delete special quit-handling code; just use QUIT.
  
! 2002-12-21  Tak Ota  <address@hidden>  (tiny change)
  
!       * dired.c (file_name_completion): Close directory on error
!       just as in directory_files_internal.
  
! 2002-12-19  David Kastrup  <address@hidden>
  
!       * window.c (Fset_window_configuration): Set old_point to correct
!       value when new_current_buffer == current_buffer.
  
! 2002-12-17  Ben Key  <address@hidden>
  
!       Revisited my earlier fix for the following entry in etc/PROBLEMS:
!       "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
!       or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
  
!       These changes were in part based upon suggestions made by Peter
!       'Luna' Runestig address@hidden
  
!       * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
!       g_b_init_get_token_information, g_b_init_lookup_account_sid,
!       g_b_init_get_sid_identifier_authority ): Added several static
!       global variables.
  
!       * w32.c (globals_of_w32): New function.  Used to initialize those
!       global variables that must always be initialized on startup even
!       when the global variable initialized is non zero.  Its primary
!       purpose at this time is to set the global variables
!       g_b_init_is_windows_9x, g_b_init_open_process_token,
!       g_b_init_get_token_information, g_b_init_lookup_account_sid, and
!       g_b_init_get_sid_identifier_authority to 0 on startup.
!       Called from main.
  
!       * w32.c (is_windows_9x): Perform initialization only if
!       g_b_init_is_windows_9x is equal to 0.  On initialization set
!       g_b_init_is_windows_9x equal to 1.
  
!       * w32.c (open_process_token): Perform initialization only if
!       g_b_init_open_process_token is equal to 0.  On initialization set
!       g_b_init_open_process_token equal to 1.
  
!       * w32.c (get_token_information): Perform initialization only if
!       g_b_init_get_token_information is equal to 0.  On initialization
!       set g_b_init_get_token_information equal to 1.
  
!       * w32.c (lookup_account_sid): Perform initialization only if
!       g_b_init_lookup_account_sid is equal to 0.  On initialization
!       set g_b_init_lookup_account_sid equal to 1.
  
!       * w32.c (get_sid_identifier_authority): Perform initialization
!       only if g_b_init_get_sid_identifier_authority is equal to 0.
!       On initialization set g_b_init_get_sid_identifier_authority equal to 1.
  
!       * w32fns.c (globals_of_w32fns): New function. Used to initialize
!       those global variables that must always be initialized on startup
!       even when the global variable initialized is non zero.
!       Its primary purpose at this time is to initialize the global variable
!       track_mouse_event_fn.
  
!       * w32fns.c (w32_wnd_proc):  Remove initialization of
!       track_mouse_event_fn from the handler for the WM_SETFOCUS message.
  
!       * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
  
!       * w32menu.c (globals_of_w32menu):  New function. Used to
!       initialize those global variables that must always be initialized
!       on startup even when the global variable initialized is non zero.
!       Its primary purpose at this time is to initialize the global
!       variables get_menu_item_info and set_menu_item_info.
  
!       * w32menu.c (initialize_frame_menubar): Remove initialization of
!       get_menu_item_info and set_menu_item_info.
  
!       * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
  
!       * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
!       Declare them.
  
!       * emacs.c (main): Call globals_of_w32 prior to calling
!       init_environment if WINDOWSNT is defined.  Call globals_of_w32fns
!       and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
!       is defined.
  
!       * w32term.c (x_update_window_begin): Fix Windows API error
!       detected by BoundsChecker.  Test to determine if
!       w32_system_caret_hwnd is NULL prior to attempting to use
!       SendMessage to send the WM_EMACS_HIDE_CARET message to it.
  
!       * w32term.c (x_update_window_end): Fix Windows API error
!       detected by BoundsChecker.  Test to determine if
!       w32_system_caret_hwnd is NULL prior to attempting to use
!       SendMessage to send the WM_EMACS_SHOW_CARET message to it.
  
! 2002-12-17  Kenichi Handa  <address@hidden>
  
!       * coding.c (coding_system_require_warning): New variable.
!       (syms_of_coding): DEFVAR it.
  
!       * coding.h (coding_system_require_warning): Extern it.
  
!       * fileio.c (choose_write_coding_system): Even if
!       Vcoding_system_for_write is non-nil, if
!       coding_system_require_warning is nonzero, call
!       Vselect_safe_coding_system_function.
  
! 2002-12-17  Markus Rost  <address@hidden>
  
!       * Makefile.in (lisp, shortlisp): Add cus-face and timer.
!       (lisp): Add font-core.
  
! 2002-12-13  Stefan Monnier  <address@hidden>
! 
!       * textprop.c (text_read_only): New arg `propval'.
!       (get_char_property_and_overlay): Remove unused var `next_overlay'.
!       (verify_interval_modification): Use text_read_only's new arg.
  
! 2002-12-13  Kenichi Handa  <address@hidden>
  
!       * coding.c (Funencodable_char_position): Set pend correctly.
  
! 2002-12-12  Jason Rumney  <address@hidden>
  
!       * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
!       (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
!       Be more careful about when help_events are generated.
  
! 2002-12-12  Steven Tamm  <address@hidden>
  
!       * macterm.c (mac_check_for_quit_char): Correctly set the
!       modifiers of the event to 0.
!       * mac.c (sys_select): Duplicate rfds before calling select to
!       ensure that rfds survive the while loop.
  
! 2002-12-11  Kim F. Storm  <address@hidden>
  
!       * xdisp.c (try_window_id): Don't call set_cursor_from_row if
!       row_containing_pos returned NULL.
  
! 2002-12-10  Steven Tamm  <address@hidden>
  
!       * mac.c (sys_read): Fixed sys_read to not call select if IO is
!       non-blocking.
!       (sys_select): Fixed sys_select to not use a timeout larger than
!       the one given.
  
! 2002-12-10  Juanma Barranquero  <address@hidden>
  
!       * editfns.c (Fformat): Use alloca, not _alloca.
  
! 2002-12-09  Richard M. Stallman  <address@hidden>
  
!       * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
!       as the last thing.
  
! 2002-12-09  Dave Love  <address@hidden>
  
!       * s/sol2-8.h: Removed.  (Not necessary.)
  
! 2002-12-09  Matthew Swift  <address@hidden>
  
!       * editfns.c (Fformat): Handle precision in string conversion
!       specifiers like libc functions do (ie, print at most that many
!       characters).
  
! 2002-12-08  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (row_containing_pos): Check more carefully
!       whether charpos is really in the row before returning it.
  
! 2002-12-07  Steven Tamm  <address@hidden>
  
!       * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
  
!       * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
!       each stack frame.  This may change as it could be time consuming.
  
!       * macterm.c (mac_check_for_quit_char, quit_char_comp)
!       (init_quit_char_handler, mac_determine_quit_char_modifiers)
!       (mac_initialize): Added code to check for pressing of quit_char
!       in the OS event queue.
  
!       * mac.c (sys_select): Call mac_check_for_quit_char every second
!       while blocking on select.
  
!       * mac.c (sys_read): Use sys_select to test for input first
!       before calling read, to allow C-g to break.
  
! 2002-12-07  Richard M. Stallman  <address@hidden>
  
!       * minibuf.c (Fcompleting_read): Doc fix.
  
!       * lread.c (syms_of_lread) <load-history>: Doc fix.
  
!       * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
  
!       * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
!       autoload.
  
!       * data.c (Fdefalias): Record in load-history redefining an autoload.
  
!       * alloca.c: Undo ifdef change accidentally made on 12-04.
  
! 2002-12-06  Francesco Potorti`  <address@hidden>
  
!       * xfns.c (png_load): Avoid double gamma correction for PNG images.
  
! 2002-12-04  Richard M. Stallman  <address@hidden>
  
!       * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
  
!       * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
  
!       * alloca.c: Don't use #error.
  
! 2002-12-03  Dave Love  <address@hidden>
  
!       * buffer.c (Qucs_set_table_for_input): New.
!       (Fget_buffer_create): Use it.
!       (Qset_buffer_major_mode_hook): Deleted.
!       (Fset_buffer_major_mode): Revert previous change.
!       (init_buffer_once): Intern ucs-set-table-for-input.
!       (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
!       Add &Qucs_set_table_for_input.
  
! 2002-12-03  Andreas Schwab  <address@hidden>
  
!       * callint.c (Fcall_interactively): Use next_event only if less
!       than key_count.
  
! 2002-12-02  Andrew Choi  <address@hidden>
  
!       * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
!       names to 255 characters.
  
!       * macterm.c (XTread_socket): If all frames have been collapsed,
!       expand the first one before handling drag-and-drop events.
  
!       * s/darwin.h (GETPGRP_NO_ARG): Delete.  Replaced by GETPGRP_VOID,
!       which is detected by autoconf.
  
! 2002-12-01  Steven Tamm  <address@hidden>
  
!       * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
!       offset in two hints table to allow prebinding to be redone and
!       allow the executable to be stripped.
  
! 2002-11-29  Dave Love  <address@hidden>
  
!       * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
!       already provided.
  
! 2002-11-29  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (start_display): Check more intelligently for
!       whether the line is continued.
!       (move_it_vertically_backward): Clear it->continuation_lines_width.
  
! 2002-11-28  Dave Love  <address@hidden>
  
!       * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
!       * s/alliant.h, s/altos.h: Deleted.  (Unused/empty.)
  
! 2002-11-27  Steven Tamm  <address@hidden>
  
!       * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
!       more descriptive error output from lread.c:Fload upon most require
!       cycles during boostrapping.
  
! 2002-11-27  Jason Rumney  <address@hidden>
  
!       * fileio.c (Finsert_file_contents): Give a more appropriate error
!       for files bigger than 2Gb when off_t is 32 bit.
  
!       * dired.c (Ffile_attributes): Don't return negative file sizes for
!       files bigger than 2Gb when off_t is 32 bit.
  
! 2002-11-27  Dave Love  <address@hidden>
  
!       * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
  
!       * systty.h: Don't conditionally define GETPGRP_NO_ARG.
!       Test GETPGRP_VOID instead.
!       [BSD_TERMIOS]: Remove definitions (never used).
  
!       * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
!       Don't define.
!       (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
  
!       * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
  
! 2002-11-25  Jason Rumney  <address@hidden>
  
!       * w32.c (sys_write): Avoid non-blocking mode, which is not fully
!       supported.
  
! 2002-11-25  Dave Love  <address@hidden>
  
!       * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
  
!       * Makefile.in (TEMACS_LDFLAGS): Update last change.
  
! 2002-11-25  Andreas Schwab  <address@hidden>
  
!       * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
  
! 2002-11-24  Steven Tamm  <address@hidden>
  
!       * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
!       determine the size of pointers alloced in unexed space instead
!       of using possibly invalid emacs_zone pointers.  This fixes the
!       binary incompatibility problems caused by updates to libSystem.B.
  
! 2002-11-24  Richard M. Stallman  <address@hidden>
  
!       * search.c (Fstring_match): Doc fix.
  
!       * callint.c (Fcall_interactively): If a command fails because
!       `*' detects a read-only buffer, but RECORD_FLAG is set,
!       record it anyway if the args don't actually do tty input.
  
! 2002-11-22  Dave Love  <address@hidden>
  
!       * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
  
!       * keyboard.c (interrupt_signal): Provide forward declaration.
!       (kbd_buffer_store_event): Don't declare interrupt_signal.
  
!       * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
  
! 2002-11-21  Richard M. Stallman  <address@hidden>
  
!       * eval.c (interactive_p): Skip any number of bytecode
!       and special form frames, in any order.
  
! 2002-11-20  Jason Rumney  <address@hidden>
  
!       * w32fns.c (convert_mono_to_color_image): New function.
!       (xbm_load, xbm_load_image): Use it when foreground or background
!       is explicitly set.
  
! 2002-11-19  Dave Love  <address@hidden>
  
!       * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
  
! 2002-11-18  Jason Rumney  <address@hidden>
  
!       * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
!       (XPutPixel): Swap blue and red.
!       (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
!       (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
!       (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
!       (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
  
! 2002-11-18  Dave Love  <address@hidden>
  
!       * m/orion105.h (HAVE_ALLOCA): Don't define.
  
!       * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
  
!       * m/intel386.h: Don't include alloca.h or define alloca.
  
!       * m/ia64.h: Don't include alloca.h, stdlib.h.  Don't declare
!       malloc, realloc, calloc.
  
!       * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
!       (bcmp): Don't define.
  
!       * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
  
!       * m/amdahl.h: Don't define LIB_STANDARD.
  
!       * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
  
!       * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
  
!       * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
!       Don't include alloca.h.
  
!       * s/aix3-2.h (HAVE_FSYNC): Don't define.
  
!       * regex.c (_GNU_SOURCE): Don't define.
  
!       * process.c (_GNU_SOURCE): Don't define.
  
!       * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
  
! 2002-11-18  Markus Rost  <address@hidden>
  
!       * s/sol2-8.h: Include sol2-6.h.
  
! 2002-11-18  Miles Bader  <address@hidden>
  
!       * dispextern.h (struct face): Add `overstrike' field.
!       * xterm.c (x_draw_glyph_string_foreground)
!       (x_draw_composite_glyph_string_foreground): Implement overstriking.
!       * xfaces.c (load_face_font): Set `face->overstrike' based on
!       result from choose_face_font.
!       (best_matching_font, choose_face_font): Add `needs_overstrike'
!       argument, and use it to return whether overstriking is desirable
!       for this face/font combo.
!       (set_font_frame_param: Pass new argument to choose_face_font.
! 
! 2002-11-17  Ben Key  <address@hidden>
! 
!       This change is my fix for the following entry in etc/PROBLEMS:
!       "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
!       or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
! 
!       * w32.c: Added wrapper functions around the win32 API functions
!       OpenProcessToken, GetTokenInformation, LookupAccountSid, and
!       GetSidIdentifierAuthority.  These wrapper functions serve two
!       purposes:
!       1.  They ensure that the wrapped function can never be called
!       when Emacs is running on an operating system on which they are
!       not supported (Microsoft Windows 95 / 98 / ME).
!       2.  They call the wrapped functions via function pointers rather
!       than calling them directly.  This avoids taking advantage of the
!       undocumented fact that although these functions are not supported
!       in the 9x branch of Microsoft Windows, the functions do exist in
!       the version of advapi32.dll that is found in the 9x branch of
!       Microsoft Windows.
! 
!       * w32.c (init_user_info): Replaced the calls to the win32 API
!       functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
!       and GetSidIdentifierAuthority with calls to the newly added
!       wrapper functions.
! 
!       * w32.h: Added extern declarations for the following functions:
!       syms_of_w32term, syms_of_w32fns, syms_of_w32select,
!       syms_of_w32menu, and void syms_of_fontset.
! 
!       * w32fns.c (w32_wnd_proc): Added code to reinitialize the
!       function pointer track_mouse_event_fn in the handler for the
!       WM_SETFOCUS message.
! 
!       * w32menu.c (initialize_frame_menubar): Added code to
!       reinitialize the function pointers set_menu_item_info and
!       get_menu_item_info.
! 
! 2002-11-17  Ben Key  <address@hidden>
! 
!       * sound.c: Added a partial implementation of play-sound-internal
!       for Microsoft Windows.  Added various #ifdef / #else / #endif
!       code blocks to separate the code that will compile under
!       Microsoft Windows from the code that is specific to Gnu/Linux.
!       Moved several blocks of code around to make this separation of code
!       into Windows compatible and Gnu/Linux compatible code blocks easier.
! 
!       * makefile.w32-in: Include sound.c and link with WinMM.lib.
! 
!       * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
!       added support for play-sound-internal under Windows would be
!       included in the build of Emacs.
! 
! 2002-11-16  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (w32_load_system_font): Don't disable Cleartype.
! 
!       * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
! 
! 2002-11-15  Stefan Monnier  <address@hidden>
! 
!       * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
!       (adjust_point_for_property): Move out of display and invisible even if
!       we were already inside before (in case a property was added while
!       we weren't looking).  Be more careful when handling invisible props.
!       Skip invisible text as if it really wasn't there at all.
! 
! 2002-11-15  Jason Rumney  <address@hidden>
! 
!       * w32term.c (x_draw_image_foreground)
!       (w32_draw_image_foreground_1): Use standard copy and invert
!       operations to draw images.
! 
!       * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
!       depth of 1.
!       (xbm_read_bitmap_data): Invert bits as xbm is read in.
!       (XPutPixel): Don't invert bits here.
! 
! 2002-11-15  Jason Rumney  <address@hidden>
! 
!       * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
!       (w32_draw_image_foreground_1): Handle image masks.
!       (x_draw_image_glyph_string): Don't BitBlt transparently.
  
!       * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
!       (x_from_xcolors): Adjust RGB values for W32.
!       (image_background, image_background_transparent)
!       (postprocess_image, x_to_xcolors, x_disable_image)
!       (x_build_heuristic_mask): Adapt for W32 and enable.
!       (x_create_x_image_and_pixmap): Mark images with palettes as such.
!       (xbm_load): Remove unused variable.
  
! 2002-11-14  Richard M. Stallman  <address@hidden>
  
!       * buffer.c (syms_of_buffer): Doc fix.
  
! 2002-11-14  Dave Love  <address@hidden>
  
!       * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
  
!       * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
!       * xmenu.c (unuse_menu_items, digest_single_submenu):
!       * xfns.c (x_put_x_image):
!       * xdisp.c (message2_nolog, set_message):
!       * undo.c (record_point):
!       * terminfo.c (tparam):
!       * syntax.c (scan_sexps_forward):
!       * scroll.c (calculate_scrolling, calculate_direct_scrolling):
!       * composite.c (update_compositions):
!       * cm.c (calccost, cmgoto):
!       * charset.c (c_string_width): Declare all args (per C99).
  
!       * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
  
!       * lisp.h (get_specified_cursor_type, get_window_cursor_type):
!       Don't declare.
  
!       * emacs.c (main) [!VMS]: Avoid third arg.
  
!       * fns.c (Fcopy_sequence): Doc fix.
!       (Fmap_char_table): Cast `call2'.
! 
! 2002-11-14  Francesco Potorti`  <address@hidden>
! 
!       * s/sol2-8.h: New file.
! 
! 2002-11-14  Kim F. Storm  <address@hidden>
! 
!       * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
!       dependency on `risky-local-variable' and the :propertize form.
! 
! 2002-11-12  Stefan Monnier  <address@hidden>
! 
!       * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
! 
!       * syntax.c (scan_sexps_forward): Undo last patch.
!       Use a more obvious fix: check eob before updating the syntax table.
! 
! 2002-11-09  Stefan Monnier  <address@hidden>
! 
!       * syntax.c (scan_sexps_forward): Update syntax table before reading
!       a char rather than after so we don't update the table past eob.
! 
! 2002-11-09  Dave Love  <address@hidden>
! 
!       * buffer.c (Fset_buffer_major_mode): Fix last change.
! 
!       * regex.c (regexec): Fix pmatch declaration.
! 
!       * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
! 
!       * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
!       to self-inserting characters.
!       (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
! 
!       * coding.c (Vtranslation_table_for_input): New.
!       (syms_of_coding): DEFVAR it.
! 
! 2002-11-08  Juanma Barranquero  <address@hidden>
! 
!       * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
!       window.
! 
! 2002-11-08  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * process.c (Fformat_network_address): Removed unused locals p,
!       cp, and i.
! 
! 2002-11-06  Dave Love  <address@hidden>
! 
!       * buffer.c (Qset_buffer_major_mode_hook): New.
!       (Fset_buffer_major_mode): Use it.
! 
! 2002-11-06  Richard M. Stallman  <address@hidden>
! 
!       * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
!       and stop_polling.
! 
!       * process.c (wait_reading_process_input):
!       Test POLLING_PROBLEM_IN_SELECT, not hpux.
!       Avoid initialization for auto Lisp_Object var.
! 
!       * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
! 
!       * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
! 
! 2002-11-05  Richard M. Stallman  <address@hidden>
! 
!       * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
! 
!       * callint.c (Fcall_interactively): New local filter_specs.
!       (Fcall_interactively): Check for progn as well as let.
!       Add a gcpro.
!       (Qprogn): New variable.
!       (syms_of_callint): Staticpro and init Qprogn.
! 
! 2002-11-04  John Paul Wallington  <address@hidden>
! 
!       * lread.c (Feval_buffer): Doc fix.
! 
! 2002-11-04  Dave Love  <address@hidden>
! 
!       * keyboard.c (read_char): Always translate iff
!       Vkeyboard_translate_table is a char table and c is valid.
! 
!       * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
!       and fix C types.
! 
! 2002-11-03  Stefan Monnier  <address@hidden>
! 
!       * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
! 
!       * editfns.c (get_pos_property): Don't hardcode Qfield.
! 
!       * keyboard.c (adjust_point_for_property): Handle `display' prop on
!       overlays.  Also handle `invisible' prop.
! 
! 2002-11-02  Stefan Monnier  <address@hidden>
! 
!       * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
!       (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
! 
! 2002-11-01  Andreas Schwab  <address@hidden>
! 
!       * editfns.c (Fmessage): Revert last change to properly handle %%.
! 
! 2002-11-01  Stefan Monnier  <address@hidden>
! 
!       * xmenu.c (unuse_menu_items): New fun.
!       (menu_items_inuse): New var.
!       (syms_of_xmenu): Initialize it.
!       (init_menu_items): Use it to detect re-entrance.
!       (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
!       (Fx_popup_menu): Remove spurious XSETFRAME.
! 
!       * editfns.c (find_field): Make an exception for nil fields.
! 
! 2002-11-01  Dave Love  <address@hidden>
! 
!       * m/gec63.h: Deleted.
! 
! 2002-10-31  Dave Love  <address@hidden>
! 
!       * xterm.c (XTread_socket): Fix last change.
!       (xaw_scroll_callback): Cast call_data to long to avoid warning.
! 
! 2002-10-31  Stefan Monnier  <address@hidden>
! 
!       * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
! 
! 2002-10-30  Stefan Monnier  <address@hidden>
! 
!       * editfns.c (overlays_around, get_pos_property): New funs.
!       (find_field): Use them.
!       Also be careful not to modify POS before its last use.
!       (Fmessage): Don't Fformat if there's nothing to format.
! 
! 2002-10-30  Dave Love  <address@hidden>
! 
!       * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
!       [HAVE_PTY_H]; Include pty.h.
! 
!       * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
! 
!       * xterm.c (Qeql): Declare.
!       (Vx_keysym_table): New.
!       (syms_of_xterm): Initialize it.
!       (XTread_socket): Use it.  Deal with ASCII keysyms.
!       (XSetIMValues) [HAVE_X11R6]: Prototype.
! 
!       * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
!       (lispy_kana_keys): Comment out.
!       (make_lispy_event) [XK_kana_A]: Comment out.
!       (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
!       Fix sprintf call.
! 
!       * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
!       regexp.h change).
!       (TERMINFO, LIBS_TERMCAP): Define.
! 
!       * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
!       (bcmp): Define conditional on HAVE_BCMP.
!       (NO_SIOCTL_H): Don't define.
!       (TIOCSIGSEND): Don't make conditional on IRIX6.
! 
!       * s/sol2-5.h: Don't include strings.h.
!       (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
! 
!       * s/irix6-0.h (IRIX6): Don't define.
!       (bcopy, bcmp, bzero): Don't undef.
! 
!       * s/irix6-5.h: Don't include strings.h.
!       (IRIX6): Don't define.
!       (bcopy, bcmp, bzero): Don't undef.
! 
!       * syntax.c (Fforward_comment): Doc fix.
! 
! 2002-10-29  Kim F. Storm  <address@hidden>
! 
!       * process.c (Fsignal_process): Allow PROCESS to be specified by
!       name in addition to pid (as integer or string).
! 
! 2002-10-28  Harald Maier  <address@hidden>  (tiny change)
! 
!       * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
!       environments.
! 
! 2002-10-27  Kim F. Storm  <address@hidden>
! 
!       * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
! 
!       * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
! 
!       * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
! 
!       * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
! 
! 2002-10-26  Richard M. Stallman  <address@hidden>
! 
!       * editfns.c (Fformat): Detect invalid format letters for floats.
! 
! 2002-10-25  Kenichi Handa  <address@hidden>
! 
!       * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
!       (x_set_title): Likewise.
! 
! 2002-10-25  Juanma Barranquero  <address@hidden>
! 
!       * macgui.h:
!       * w32gui.h: Remove definition of XColor.
! 
!       * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
! 
! 2002-10-24  Kim F. Storm  <address@hidden>
! 
!       * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
!       Callers changed (supply dummy arg).
! 
!       * lisp.h (get_window_cursor_type): Update prototype.
! 
!       * w32term.c (x_display_and_set_cursor): Get active_cursor from
!       get_window_cursor_type to track system caret.
! 
! 2002-10-24  Kim F. Storm  <address@hidden>
! 
!       * process.c (Fformat_network_address): New function.
!       (syms_of_process): Defsubr it.
!       (list_processes_1): Use it to format :local/:remote address if
!       service/host is not set; before emacs would crash in that case.
!       (Fmake_network_process): Don't use Ffind_operation_coding_system
!       to setup coding system if host or service is not set.
! 
! 2002-10-23  Juanma Barranquero  <address@hidden>
! 
!       Patch suggested by Jay Finger <address@hidden>.
! 
!       * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
!       COLORREF.
! 
!       * macgui.h:
!       * w32gui.h: Add definition of XColor.
! 
!       * macfns.c:
!       * w32fns.c:
!       * xfaces.c: Remove definition of XColor.
! 
! 2002-10-22  Stefan Monnier  <address@hidden>
! 
!       * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
! 
!       * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
!       Only ignore truly dedicated windows.  For UNSHOW_BUFFER, delete the
!       window if it is dedicated.
!       (Fshrink_window): Add preserve_before as was done for enlarge_window.
!       (Vspecial_display_function): Update docstring.
! 
!       * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
!       (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
!       (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
! 
! 2002-10-21  Stefan Monnier  <address@hidden>
! 
!       * casefiddle.c (casify_region): Don't treat a prefix char as part
!       of a word when at the beginning.
! 
! 2002-10-17  Juanma Barranquero  <address@hidden>
! 
!       * lread.c (syms_of_lread): Fix typos.
! 
! 2002-10-17  Dave Love  <address@hidden>
! 
!       * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
! 
! 2002-10-16  Richard M. Stallman  <address@hidden>
! 
!       * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
! 
! 2002-10-14  Juanma Barranquero  <address@hidden>
! 
!       * w16select.c (syms_of_win16select): Fix docstring for
!       `selection-coding-system'.
! 
!       * w32select.c (syms_of_w32select): Likewise.
! 
! 2002-10-14  Stefan Monnier  <address@hidden>
! 
!       * syntax.c (scan_lists): Don't get fooled by a symbol ending with
!       a backslash-quoted char.
!       (scan_lists, scan_sexps_forward): Pacify the compiler.
! 
! 2002-10-13  Richard M. Stallman  <address@hidden>
! 
!       * window.c (window_scroll): Set immediate_quit.
! 
!       * print.c (print): When backquote form is the car of a list,
!       output in old style.  Use old_backquote_output to output all
!       comma forms inside it in old style too.
! 
!       * buffer.h (struct buffer): Move `undo_list' down below `name'.
! 
! 2002-10-11  Markus Rost  <address@hidden>
! 
!       * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
!       batch mode).
! 
!       * lread.c (Fload): Doc fix (load-suffixes).
! 
! 2002-10-10  Steven Tamm  <address@hidden>
! 
!       * macterm.c (syms_of_macterm, mac_get_mouse_btn):
!       Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
!       Also switch the default to Qnil from Qt.
! 
! 2002-10-08  Kenichi Handa  <address@hidden>
! 
!       * coding.c (code_convert_region): When we need more GAP for
!       conversion, pay attention to the case that coding->produced is not
!       greater than coding->consumed.
! 
! 2002-10-07  Richard M. Stallman  <address@hidden>
! 
!       * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
! 
! 2002-10-06  Andrew Choi  <address@hidden>
! 
!       * macmenu.c (mac_menu_show): Add j to count menu items; match
!       menu_item_selection to it to find selected item.
! 
! 2002-10-06  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
!       cases.  The correct fix is to pass ReparentNotify to Xt.
!       The shell widget interprets ConfigureNotify differently depending
!       on if it has been reparented or not.
! 
! 2002-10-05  Markus Rost  <address@hidden>
! 
!       * editfns.c (Fformat_time_string): Doc fix.
! 
! 2002-10-05  John Paul Wallington  <address@hidden>
! 
!       * fns.c (Flength): Doc fix.
! 
! 2002-10-04  Stefan Monnier  <address@hidden>
! 
!       * keyboard.c (keyremap): New struct.
!       (read_key_sequence): Use it: globally replace keytran_foo with
!       keytran.foo and fkey_foo with fkey.foo.  Rename temp vars
!       keytran_next and fkey_next to just `next'.
! 
! 2002-10-04  Steven Tamm  <address@hidden>
! 
!       * macterm.c (keycode_to_xkeysym_table): Change return to be
!       treated like an X keysym.
! 
! 2002-10-03  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
!       and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
!       This is to also handle x/y changes that occur because of a resize.
! 
! 2002-10-02  John Paul Wallington  <address@hidden>
! 
!       * frame.c (Vdelete_frame_functions): New variable.
!       (syms_of_frame): Initialize and defvar it.
!       (Fdelete_frame): Use it instead of delete-frame-hook.  Don't run
!       it when frame's `tooltip' parameter is non-nil.
! 
!       * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
! 
!       * w32fns.c (x_create_tip_frame): Likewise.
! 
!       * macfns.c (x_create_tip_frame): Likewise.
! 
! 2002-09-30  Kenichi Handa  <address@hidden>
! 
!       * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
!       -1 before calling ccl_driver.
! 
!       * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
!       Only when it is non-nil, handle composition sequence.
!       (setup_coding_system) <0>: Don't force composition handling.
! 
!       * Makefile.in (lisp, shortlisp): Add utf-16.elc
! 
! 2002-09-29  Richard M. Stallman  <address@hidden>
! 
!       * search.c (Freplace_match): Adjust match data for the substitution
!       just made in the buffer.
! 
!       * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
!       (redisplay_internal): Use them.  Do RESUME_POLLING at end of function.
! 
! 2002-09-27  Richard M. Stallman  <address@hidden>
! 
!       * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
!       (read_char): Use them.  Do all exits thru the end of the function.
! 
! 2002-09-27  Kenichi Handa  <address@hidden>
! 
!       * xfaces.c (try_font_list): Pay attention to the case that FAMILY
!       is nil.
! 
! 2002-09-26  Richard M. Stallman  <address@hidden>
! 
!       * regex.h (__restrict_arr): Don't define if already defined.
! 
!       * coding.c (run_pre_post_conversion_on_str):
!       Save and restore Vdeactivate_mark.
! 
! 2002-09-26  John Paul Wallington  <address@hidden>
! 
!       * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
! 
! 2002-09-26  Kenichi Handa  <address@hidden>
! 
!       * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY.  If it is
!       nonzero, try face's family at first.  Otherwise try FAMILY at first.
!       (choose_face_font): If C is a single byte char or latin-1, call
!       try_font_list with PREFER_FACE_FAMILY 1.
! 
! 2002-09-21  Richard M. Stallman  <address@hidden>
! 
!       * window.c (select_window_1): Don't select frame.
!       Set frame's selected window only when frame itself is selected.
!       (Fselect_window): Doc fix.
! 
! 2002-09-18  Kim F. Storm  <address@hidden>
! 
!       * process.c (make-network-process): Doc fix (there is no
!       network-server-log-function hook).
! 
! 2002-09-18  Richard M. Stallman  <address@hidden>
! 
!       * print.c (print): Clear out the unused parts of Vprint_number_table.
!       (syms_of_print): Doc fix for `print-number-table'.
! 
!       * unexelf.c (unexec): Undo previous change.
! 
! 2002-09-17  Andreas Schwab  <address@hidden>
! 
!       * m/alpha.h [LINUX]: Don't define DATA_START.
! 
! 2002-09-16  Dave Love  <address@hidden>
! 
!       * unexelf.c (unexec): Deal with .got, reinstating change from
!       25-08-1999.
! 
! 2002-09-13  Richard M. Stallman  <address@hidden>
! 
!       * s/sol2-6.h (UNEXEC): Comment out definition.
! 
!       * unexsol.c (unexec): Don't downcase first letter of error msg.
! 
!       * xfaces.c (Fcolor_supported_p): Just one arg is required.
! 
! 2002-09-12  Markus Rost  <address@hidden>
! 
!       * unexsol.c: Include buffer.h, charset.h, coding.h.
! 
! 2002-09-11  Richard M. Stallman  <address@hidden>
! 
!       * unexsol.c: Don't use report_file_error; do it by hand
!       using dlerror.
! 
!       * process.c (wait_reading_process_input, both versions):
!       Before calling turn_on_atimers, call stop_polling.
! 
!       * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
! 
!       * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
!       we go to too_near_end, call clear_glyph_matrix.
!       (redisplay_window): After make_cursor_line_fully_visible,
!       call clear_glyph_matrix and bypass `goto done'.
! 
!       * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
!       and we have non-toolkit scroll bars, return nil for scroll-bar-width.
! 
! 2002-09-10  Richard M. Stallman  <address@hidden>
! 
!       * fileio.c (Fdo_auto_save): Catch error making directory.
!       Only call push_message if we need to.
!       At the same time, make an unwind-protect to pop it.
!       Rename local message_p to old_message_p.
!       (do_auto_save_make_dir, do_auto_save_eh): New functions.
!       (do_auto_save_unwind): Don't call pop_message.
! 
!       * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
! 
!       * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
! 
!       * alloc.c (Fgarbage_collect): Use pop_message_unwind.
! 
!       * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
! 
! 2002-09-10  Stefan Monnier  <address@hidden>
! 
!       * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
!       (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
!       (re_match_2_internal): Be more careful with infinite loops.
! 
! 2002-09-10  Kim F. Storm  <address@hidden>
! 
!       * macros.c (end_kbd_macro): New function.
!       (Fend_kbd_macro): Use it.
! 
!       * macros.h (end_kbd_macro): Declare extern.
! 
!       * keyboard.c (Fdiscard_input): If defining keyboard macro,
!       end and save it instead of discarding it.
! 
! 2002-09-09  Markus Rost  <address@hidden>
! 
!       * s/sol2-6.h: Fix typo.  Add comment.
! 
! 2002-09-09  Richard M. Stallman  <address@hidden>
! 
!       * regex.c (regnum_t): Use signed int, not unsigned int.
! 
!       * s/sol2-6.h: New file.
! 
!       * s/sol2-5.h (UNEXEC): Definition deleted.
! 
! 2002-09-08  Kim F. Storm  <address@hidden>
! 
!       * macros.c (executing_macro_index): Change type to EMACS_INT.
!       (syms_of_macros): DEFVAR_INT it  (needed by kmacro).
! 
!       * macros.h (executing_macro_index): Change type to EMACS_INT.
! 
! 2002-09-06  Richard M. Stallman  <address@hidden>
! 
!       * casetab.c (set_case_table): Make canon table point to eqv table.
! 
! 2002-09-06  Juanma Barranquero  <address@hidden>
! 
!       * coding.c (syms_of_coding): Fix spacing.
! 
!       * composite.c (Fcompose_region_internal)
!       (Fcompose_string_internal): Likewise.
! 
!       * data.c (Flsh): Likewise.
! 
!       * fontset.c (Fset_fontset_font): Likewise.
! 
!       * macfns.c (Fx_server_max_request_size): Likewise.
! 
!       * w16select.c (syms_of_win16select): Likewise.
! 
!       * w32select.c (syms_of_w32select): Likewise.
! 
!       * xselect.c (syms_of_xselect): Likewise.
! 
! 2002-09-05  Richard M. Stallman  <address@hidden>
! 
!       * regex.c (set_image_of_range_1): In no-TRANSLATE case,
!       call EXTEND_RANGE_TABLE and return a proper value.
!       (set_image_of_range): Don't call set_image_of_range_1
!       if no TRANSLATE or if range includes all of Latin-1.
!       Only call it for the Latin-1 part of the range.
!       For other cases, make two separate ranges,
!       one for the original specified characters and one for
!       their case-conversions.
! 
! 2002-09-04  Richard M. Stallman  <address@hidden>
! 
!       * s/sol2-5.h (UNEXEC): Use unexsol.o.
! 
!       * window.c (displayed_window_lines): Correct for one-off bug
!       in HEIGHT on non-window displays.
! 
!       * regex.c (set_image_of_range_1): New function.
!       (set_image_of_range): Use set_image_of_range_1 for Latin-1.
!       Return a value to indicate running out of memory.
!       (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
!       (extend_range_table_work_area): New subroutine.
!       (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
!       Different calling conventions, and used from set_image_of_range{,_1}.
!       (IMMEDIATE_QUIT_CHECK): Definitions moved.
! 
! 2002-09-04  Juanma Barranquero  <address@hidden>
! 
!       * makefile.w32-in: All dependencies updated.
! 
! 2002-09-01  Richard M. Stallman  <address@hidden>
! 
!       * unexsol.c: New file.
! 
!       * xfns.c (Qbox): Declare external, don't define.
! 
!       * xdisp.c (redisplay_window) <force-start case>:
!       If point is on semi-visible last line, reposition
!       it at previous line.
! 
!       * alloc.c (display_malloc_warning): Use display-warning.
!       (malloc_warning_1): Function deleted.
! 
!       * alloc.c [ALLOC_DEBUG]: #undef INLINE.
! 
!       * lread.c (read1): Handle #! by skipping the line.
! 
! 2002-08-31  Richard M. Stallman  <address@hidden>
! 
!       * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
!       Don't include LDFLAGS.
!       (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
! 
! 2002-08-31  Eli Zaretskii  <address@hidden>
! 
!       * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
!       member of x_display_info unless we compile for some window system.
! 
! 2002-08-31  Kim F. Storm  <address@hidden>
! 
!       * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
!       (get_window_cursor_type): Don't use them.
!       (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
! 
! 2002-08-30  Kenichi Handa  <address@hidden>
! 
!       * xdisp.c (get_next_display_element): Fix previous change.
! 
! 2002-08-30  Andrew Choi  <address@hidden>
! 
!       * macterm.c (expose_overlaps): New function (merge code from xterm.c).
!       (expose_window): Use it to fix the display of overlapping
!       rows (merge code from xterm.c).
! 
!       * macfns.c (Qbox): Add extern declaration.
! 
! 2002-08-30  Juanma Barranquero  <address@hidden>
! 
!       * w32fns.c (Qbox): Make extern.
!       (syms_of_w32fns): Remove initialization of Qbox.
! 
! 2002-08-30  Rune Kleveland  <address@hidden>  (tiny change)
! 
!       * xfns.c (Fx_open_connection): Fix error message.
! 
! 2002-08-30  Kim F. Storm  <address@hidden>
! 
!       The following changes consolidates the handling of the cursor
!       type in xdisp.c, moving duplicate code and functionality from
!       xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
! 
!       * frame.h (enum text_cursor_kinds): Consolidated here.
!       Added DEFAULT_CURSOR value.
!       (struct frame) <desired_cursor, cursor_width>
!       <blink_off_cursor, blink_off_cursor_width>: New fields.
!       Consolidated from output_x, output_w32 and output_mac structs.
!       (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
!       (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
! 
!       * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
!       Variables consolidated here.
!       (Valternate_cursor_type, Qalternate_cursor_type): New variables.
!       (Vcursor_in_non_selected_windows): Renamed from
!       cursor_in_non_selected_windows and changed to Lisp_Object.
!       (syms_of_xdisp): Define and staticpro new and moved variables.
!       (get_specified_cursor_type): Renamed from x_specified_cursor_type;
!       consolidated here.  Recognize Qhollow setting.
!       (set_frame_cursor_types): New function to set frame cursor types
!       based on the frame parameters.
!       (get_window_cursor_type): New function to calculate new cursor
!       type and width for the specified window.  Based on duplicated
!       code consolidated here.
!       Enhancements: cursor-in-non-selected-windows may be a cursor type,
!       check buffer-local alternate-cursor-type and blink-cursor-alist
!       before using built-in blink off methods.
! 
!       * dispextern.h (cursor_in_non_selected_windows): Extern removed.
! 
!       * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
!       (get_specified_cursor_type, get_window_cursor_type)
!       (set_frame_cursor_types): Added prototypes.
! 
!       * macfns.c (x_specified_cursor_type): Removed.
!       (x_set_cursor_type): Use set_frame_cursor_types.
!       (Qbar, Qbox): Removed.
!       (syms_of_macfns): Don't intern or staticpro them.
! 
!       * macterm.c (x_specified_cursor_type): Remove prototype.
!       (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
!       (x_display_and_set_cursor): Use get_window_cursor_type.
!       Remove unused local variables cursor_non_selected, active_cursor.
!       Redraw cursor if hbar cursor width changes.
!       (make_mac_frame): Set FRAME_DESIRED_CURSOR.
! 
!       * macterm.h (enum text_cursor_kinds): Removed.
!       (struct output_mac) <current_cursor, desired_cursor, cursor_width>
!       <blink_off_cursor, blink_off_cursor_width>: Members removed.
!       (FRAME_DESIRED_CURSOR): Macro removed.
! 
!       * w32fns.c (Vblink_cursor_alist): Removed.
!       (Qbar, Qhbar, Qbox, Qhollow): Removed.
!       (syms_of_w32fns): Don't intern, staticpro, or define them.
!       (x_specified_cursor_type): Removed.
!       (x_set_cursor_type): Use set_frame_cursor_types.
! 
!       * w32term.c (x_specified_cursor_type): Remove prototype.
!       (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
!       (x_display_and_set_cursor): Use get_window_cursor_type.
!       Remove unused local variables cursor_off_state.
!       Redraw cursor if hbar cursor width changes.
!       Changed all occurrences of w32_highlight_frame to x_highlight_frame.
! 
!       * w32term.h (enum text_cursor_kinds): Removed.
!       (struct output_w32) <current_cursor, desired_cursor, cursor_width>
!       <blink_off_cursor, blink_off_cursor_width>: Members removed.
!       (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
!       (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
!       (struct w32_display_info) <x_highlight_frame>: Renamed member from
!       w32_highlight_frame.
! 
!       * xfns.c (Vblink_cursor_alist): Removed.
!       (Qbar, Qhbar, Qbox, Qhollow): Removed.
!       (syms_of_xfns): Don't intern, staticpro, or define them.
!       (x_specified_cursor_type): Removed.
!       (x_set_cursor_type): Use set_frame_cursor_types.
! 
!       * xterm.c (x_specified_cursor_type): Remove prototype.
!       (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
!       (x_display_and_set_cursor): Use get_window_cursor_type.
!       Remove unused local variables cursor_off_state.
!       Redraw cursor if hbar cursor width changes.
! 
!       * xterm.h (enum text_cursor_kinds): Removed.
!       (struct output_x) <current_cursor, desired_cursor, cursor_width>
!       <blink_off_cursor, blink_off_cursor_width>: Members removed.
!       (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
!       (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
!       (x_specified_cursor_type): Remove prototype.
! 
! 2002-08-28  Richard M. Stallman  <address@hidden>
! 
!       * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
!       FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
!       (Vblink_cursor_alist): New variable.
!       (syms_of_w32fns): Initialize and defvar it.
!       (x_specified_cursor_type): Recognize Qbox for filled box.
!       Exceptions are hollow boxes.
!       (Qbox, Qhollow): New variables.
!       (syms_of_w32fns): Initialize and staticpro them.
! 
!       * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
!       New macros.
!       (struct w32_output): New fields blink_off_cursor,
!       blink_off_cursor_width.
!       (FRAME_CURSOR_WIDTH): New macro.
! 
!       * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
!       and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
! 
!       * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
!       for bar cursor.
! 
!       * w32term.c (expose_overlaps): New function.
!       (expose_window): Use it to fix the display of overlapping rows.
! 
! 2002-08-28  Simon Josefsson  <address@hidden>
! 
!       * xfns.c (Fx_open_connection): Improve help when X connection
!       fails, xhost is insecure and xauth is better.
! 
! 2002-08-28  Juanma Barranquero  <address@hidden>
! 
!       * makefile.w32-in: Add missing dependencies on w32term.h and
!       composite.h.
! 
!       * emacs.c (USAGE1): Add missing newline.
! 
! 2002-08-27  Andrew Choi  <address@hidden>
! 
!       * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
! 
! 2002-08-27  Richard M. Stallman  <address@hidden>
! 
!       * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
!       FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
!       (Vblink_cursor_alist): New variable.
!       (syms_of_xfns): Initialize and defvar it.
!       (x_specified_cursor_type): Recognize Qbox for filled box.
!       Exceptions are hollow boxes.
!       (Qbox, Qhollow): New variables.
!       (syms_of_xfns): Initialize and staticpro them.
! 
!       * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
!       New macros.
!       (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
! 
!       * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
!       and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
! 
!       * emacs.c (main): Handle --script.
!       (USAGE1): Mention --script.
!       (standard_args): Define sort order for --script.
! 
! 2002-08-27  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (redisplay_updating_p): Variable removed.
!       (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
!       New variables.
!       (init_iterator): Don't free realized faces if
!       inhibit_free_realized_faces is set.
!       (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
!       (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
!       initialize Qinhibit_free_realized_faces.
! 
!       * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
!       when iterator is adding glyphs to a glyph matrix.
! 
! 2002-08-27  Kenichi Handa  <address@hidden>
! 
!       * xdisp.c (get_next_display_element): In unibyte case, don't use
!       octal form for such eight-bit characters that can be converted to
!       multibyte char.
! 
! 2002-08-26  Kim F. Storm  <address@hidden>
! 
!       * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
!       and background colors.  From Joe Buehler (tiny change).
! 
! 2002-08-26  Miles Bader  <address@hidden>
! 
!       * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
! 
! 2002-08-25  Andrew Choi  <address@hidden>
! 
!       * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
!       defined instead of MAC_OSX.
! 
!       * s/darwin.h (select): Define select to sys_select only if
!       HAVE_CARBON is defined.
!       (HAVE_WORKING_VFORK): #undef it.  Define vfork to fork.
!       (DONT_REOPEN_PTY): #def it.
! 
!       * macterm.c (XTread_socket): Remove code to call
!       SendEventToEventTarget for keys with command modifiers when
!       mac_command_key_is_meta is nil.
! 
! 2002-08-24  Andreas Schwab  <address@hidden>
! 
!       * eval.c (Fdefvar): Fix last change.
! 
! 2002-08-23  Richard M. Stallman  <address@hidden>
! 
!       * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
!       Record variables in load history as (defvar . VAR).
!       (Fdefvar): Don't record in load history if no initial value.
!       (Qdefvar): New variable.
!       (syms_of_eval): Init and staticpro it.
! 
!       * lread.c (syms_of_lread): Doc fix.
!       (build_load_history): Use Fmember to see if a definition
!       is already in the Vload_history element.
! 
!       * process.c (Fstart_process): Remove /: from program name.
! 
!       * emacs.c (decode_env_path): Don't add /: if file name handler
!       has a `safe-magic' property.
! 
!       * callproc.c (Fcall_process): Remove /: from program name.
! 
! 2002-08-23  Stefan Monnier  <address@hidden>
! 
!       * regex.c (PATFETCH): Remove the translating fetch.
!       (PATFETCH_RAW): Rename to PATFETCH.
!       (set_image_of_range): New fun.
!       (SET_RANGE_TABLE_WORK_AREA): Use it.
!       (regex_compile): Don't translate the pattern chars so eagerly.
!       Only do it when inserting an `exactn' bytecode or when handling
!       a char-range.
!       (mutually_exclusive_p): Avoid empty statement.
! 
! 2002-08-22  Kim F. Storm  <address@hidden>
! 
!       * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
!       end up on a partially visible line; this reverts a specific part
!       of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
!       display error which has been reported several times now.
!       However it introduces the problem that changes was supposed to fix.
!       See my comments in the source if you want to debug this further.
! 
! 2002-08-20  Kenichi Handa  <address@hidden>
! 
!       * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
! 
! 2002-08-19  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (croak): Add `void' to definition.
! 
!       * sysdep.c [MSDOS] (request_sigio, unrequest_sigio):
!       Don't define them, they are defined in msdos.c.
! 
!       * mem-limits.h [MSDOS]: Declare etext.
! 
!       * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
!       `const' since CORRECT_DIR_SEPS modifies its target.
! 
! 2002-08-19  Kim F. Storm  <address@hidden>
! 
!       * keyboard.c (Fclear_this_command_keys): Added optional arg
!       KEEP-RECORD to avoid clearing lossage when we just want to clear
!       the current key sequence (kmacro needs this).
! 
! 2002-08-19  Kenichi Handa  <address@hidden>
! 
!       * composite.c (run_composition_function): Call FUNC if it is fboundp.
! 
!       * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
!       cons, return Qnil.
! 
! 2002-08-17  Richard M. Stallman  <address@hidden>
! 
!       * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
! 
!       * sysdep.c [!VMS]: Include sys/files.h.
! 
!       * editfns.c (save_restriction_restore): Defend from unchained marker.
! 
!       * buffer.c (overlays_at): Handle extending vec uniformly.
!       (overlays_in): Handle extending vec from length 0 as in overlays_at.
! 
! 2002-08-15  Andrew Choi  <address@hidden>
! 
!       * mac.c (init_mac_osx_environment): New function.
! 
!       * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
! 
! 2002-08-14  Kim F. Storm  <address@hidden>
! 
!       * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
!       executing macro before appending to it (when used from Lisp).
!       (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
!       which is called prior to each iteration of macro (for kmacro.el).
!       (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
! 
!       * lisp.h (Fexecute_kbd_macro): Update prototype.
! 
!       * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
! 
! 2002-08-14  Kenichi Handa  <address@hidden>
! 
!       * xselect.c (QUTF8_STRING): New variable.
!       (symbol_to_x_atom): Pay attention to QUTF8_STRING.
!       (x_atom_to_symbol): Likewise.
!       (x_get_local_selection): New argument local_request.  If it is
!       nonzero, call handler_fn with the second arg nil.
!       (x_handle_selection_request): Call x_get_local_selection with
!       local_request 0.
!       (lisp_data_to_selection_data): Don't encode the string here.
!       (Fx_get_selection_internal): Call x_get_local_selection with
!       local_request 1.
!       (syms_of_xselect): Intern and staticpro QUTF8_STRING.
! 
!       * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
! 
!       * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
! 
! 2002-08-13  Richard M. Stallman  <address@hidden>
! 
!       * minibuf.c (Fminibufferp): New function.
!       (syms_of_minibuf): Defsubr it.
!       (Fminibuffer_prompt_end): Handle non-minibuffers specially.
! 
! 2002-08-13  Gerd Moellmann  <address@hidden>
! 
!       * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
! 
! 2002-08-12  Richard M. Stallman  <address@hidden>
! 
!       * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
!       [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
!       (WSTOPSIG, WTERMSIG): Define each one independently if not defined
!       already.
! 
!       * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
! 
! 2002-08-11  Andrew Choi  <address@hidden>
! 
!       * macterm.c (XTmouse_position): Check wp with is_emacs_window.
!       (Vmac_pass_command_to_system): New variable.
!       (Vmac_pass_control_to_system): New variable.
!       (do_mouse_moved): Check wp with is_emacs_window.
!       (XTread_socket): Check window_ptr with is_emacs_window.
!       Call FrontNonFloatingWindow instead of FrontWindow.  Send keydown
!       events back to Mac Toolbox for processing, depending on values of
!       Vmac_pass_command_to_system and Vmac_pass_control_to_system.
!       (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
!       Vmac_pass_control_to_system.
! 
! 2002-08-10  Kenichi Handa  <address@hidden>
! 
!       * coding.c (unencodable_char_position): New function.
!       (Funencodable_char_position): New function.
!       (syms_of_coding): Defsubr Funencodable_char_position.
! 
! 2002-08-10  Andrew Choi  <address@hidden>
! 
!       * mac.c (sys_select) [MAC_OSX]: New function.
! 
!       * macterm.c (MakeMeTheFrontProcess): New function.
!       (mac_initialize): Call MakeMeTheFrontProcess.
! 
!       * s/darwin.h: Define select to sys_select.
! 
! 2002-08-09  Richard M. Stallman  <address@hidden>
! 
!       * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
! 
! 2002-08-09  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
!       end of the buffer.
! 
! 2002-08-08  Ken Raeburn  <address@hidden>
! 
!       * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
! 
!       * puresize.h (BASE_PURESIZE): Increase to 910000.
! 
! 2002-08-08  Kenichi Handa  <address@hidden>
! 
!       * coding.c (Ffind_operation_coding_system): For write-region, if
!       VISIT is a filename, make it the target.
! 
! 2002-08-07  Richard M. Stallman  <address@hidden>
! 
!       * alloc.c (mark_object): Detect long lists for debugging.
!       (mark_object_loop_halt): New variable.
! 
!       * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
! 
!       * data.c (Fmake_variable_frame_local): Doc fix.
! 
! 2002-08-01  David Ponce  <address@hidden>
! 
!       * w32menu.c (local_heap, local_alloc, local_free): New macros.
!       (malloc_widget_value, free_widget_value)
!       (w32_free_submenu_strings): Use them.
! 
!       (push_submenu_start, push_submenu_end, push_left_right_boundary)
!       (push_menu_pane, push_menu_item, single_keymap_panes)
!       (single_menu_item, Fx_popup_menu, menubar_selection_callback)
!       (single_submenu, set_frame_menubar)
!       (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
! 
!       (Fx_popup_menu): Don't show pop up menu until preceding one is
!       actually cleaned up.  Moved UNGCPRO outside #ifdef HAVE_MENUS block.
! 
!       * w32menu.c: Changes adapted from xmenu.c
!       (set_frame_menubar): First parse all submenus,
!       then make widget_value trees from them.
!       Don't allocate any widget_value objects
!       until we are done with the parsing.
!       (parse_single_submenu): New function.
!       (digest_single_submenu): New function.
!       (single_submenu): Function deleted, replaced by those two.
! 
! 2002-08-04  Andrew Choi  <address@hidden>
! 
!       * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
!       returns a valid window pointer before proceeding for keyDown and
!       autoKey events.
! 
! 2002-08-03  Andrew Choi  <address@hidden>
! 
!       * macterm.c (USE_CARBON_EVENTS): New macro.
!       (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
!       (x_iconify_frame): Call CollapseWindow.
!       (Vmac_reverse_ctrl_meta): New variable.
!       (Vmac_wheel_button_is_mouse_2): New variable.
!       (init_mac_drag_n_drop): New function.
!       (mac_do_receive_drag): New function.
!       (mac_handle_service_event): New function.
!       (init_service_handler): New function.
!       (mac_to_emacs_modifiers): New function.
!       (mac_event_to_emacs_modifiers): New function.
!       (mac_get_mouse_btn): New function.
!       (mac_convert_event_ref): New function.
!       (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
!       SendEventToEventTarget, mac_event_to_emacs_modifiers, and
!       mac_get_mouse_btn.
!       (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
! 
!       * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
!       lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
!       (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
!       TOOL_BAR_EVENT for MAC_OS as well.
!       (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
!       as for WINDOWS_NT.
!       (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
! 
!       * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
! 
! 2002-08-03  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (forward_to_next_line_start): Fix a condition that
!       lead to a newline being skipped.
! 
! 2002-08-02  Andrew Choi  <address@hidden>
! 
!       * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
! 
! 2002-08-01  Richard M. Stallman  <address@hidden>
! 
!       * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
! 
! 2002-07-31  Andrew Choi  <address@hidden>
! 
!       * macfns.c: #undef init_process before #define-ing it.
! 
!       * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
!       HAVE_CARBON is defined.
! 
! 2002-07-31  Richard M. Stallman  <address@hidden>
! 
!       * xmenu.c (set_frame_menubar): First parse all submenus,
!       then make widget_value trees from them.
!       Don't allocate any widget_value objects
!       until we are done with the parsing.
!       (parse_single_submenu): New function.
!       (digest_single_submenu): New function.
!       (single_submenu): Function deleted, replaced by those two.
! 
! 2002-07-30  Juanma Barranquero  <address@hidden>
! 
!       * w32proc.c (syms_of_ntproc): Fix docstring of
!       `w32-get-true-file-attributes'.
! 
! 2002-07-28  Richard M. Stallman  <address@hidden>
! 
!       * s/hpux8.h (HPUX8): Define this before including hpux.h.
!       (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
! 
!       * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
! 
!       * keyboard.c (make_lispy_event):
!       Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
!       Explicitly clear up_modifier in event->modifiers.
! 
! 2002-07-27  Richard M. Stallman  <address@hidden>
! 
!       * xterm.h (FRAME_CURSOR_WIDTH): New macro.
! 
!       * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
!       for bar cursor.
! 
! 2002-07-26  Kenichi Handa  <address@hidden>
! 
!       * coding.c (detect_coding_iso2022): While checking a byte sequence
!       for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
!       it in the normal loop.
! 
! 2002-07-24  Gerd Moellmann  <address@hidden>
! 
!       * xterm.c (expose_overlaps): New function.
!       (expose_window): Use it to fix the display of overlapping rows.
! 
!       * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
! 
! 2002-07-23  Ken Raeburn  <address@hidden>
! 
!       * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
!       since it only depends on XUINT.
! 
!       * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
!       EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
!       PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
!       Macros deleted.
! 
!       * mem-limits.h (start_of_data): If DATA_START is defined, prefer
!       its value over other approaches.
!       * sysdep.c (start_of_data): Don't define the function if a macro
!       form has been defined.
! 
! 2002-07-23  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (redisplay_updating_p): New variable.
!       (init_iterator): Don't free realized faces when
!       redisplay_updating_p is set.
!       (redisplay_internal): Set redisplay_updating_p while updating
!       the display.
! 
! 2002-07-23  Richard M. Stallman  <address@hidden>
! 
!       * editfns.c (Fmessage): Treat "" like nil.
! 
! 2002-07-23  Kenichi Handa  <address@hidden>
! 
!       * xdisp.c (face_before_or_after_it_pos):
!       Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
! 
! 2002-07-22  Juanma Barranquero  <address@hidden>
! 
!       * callproc.c (init_callproc) [DOS_NT]:
!       Initialize Vshared_game_score_directory to nil.
!       (syms_of_callproc) [DOS_NT]: Likewise.
! 
! 2002-07-22  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (display_line): Replace an abort with xassert.
! 
! 2002-07-21  Richard M. Stallman  <address@hidden>
! 
!       * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
!       and END_UNCHANGED when setting buffer_unchanged_p.
!       Use current_matrix_up_to_date_p to decide whether to use
!       try_cursor_movement.
! 
!       * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
! 
!       * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
! 
!       * callproc.c (init_callproc): Set up Vshared_game_score_directory.
!       Set to nil if dir does not exist.
!       (syms_of_callproc): Init unconditionally and simply.
! 
!       * buffer.c (Fbuffer_list): Doc fix.
! 
! 2002-07-21  Ken Raeburn  <address@hidden>
! 
!       * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
! 
!       * buffer.c (mmap_realloc): When shrinking, make sure number of
!       pages to unmap is rounded towards zero.
! 
!       * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
!       (XSETINT): Deleted.
! 
!       * m/att3b.h (XINT): Don't define.
!       (VALBITS, VALMASK, XTYPE): Deleted.
!       (DATA_SEG_BITS): Define.
!       * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
!       ARRAY_MARK_FLAG): Deleted.
!       (DATA_SEG_BITS): Define.
!       * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
!       (DATA_SEG_BITS): Define.
! 
! 2002-07-20  Richard M. Stallman  <address@hidden>
! 
!       * print.c (print_error_message): New args CONTEXT and CALLER.
!       Calls changed.
! 
!       * lisp.h (print_error_message): Declare new args.
! 
!       * keyboard.c (cmd_error_internal): Pass Vsignaling_function
!       and CONTEXT to print_error_message, don't print them here.
!       For a Quit, don't use Vsignaling_function.
!       Call message_log_maybe_newline.
! 
!       * Makefile.in (xsmfns.o): Don't depend on lisp.h.
! 
! 2002-07-20  Kim F. Storm  <address@hidden>
! 
!       * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
! 
! 2002-07-19  Ken Raeburn  <address@hidden>
! 
!       * bytecode.c (struct byte_stack): Pointers into byte string now
!       point to const.
!       * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
!       const.
!       * charset.h (BCOPY_SHORT): Source pointer now points to const.
!       * coding.c (encode_eol, detect_coding, detect_eol):
!       (decode_coding, encode_coding, detect_coding_system):
!       Source strings now treated as const.
!       (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
!       modify Lisp string contents.
!       * coding.h (decode_coding, encode_coding, detect_coding,
!       detect_eol): Declarations updated.
!       * composite.c (compose_chars_in_text): Treat Lisp string contents
!       as const.
!       * dispnew.c (safe_bcopy): Source pointer now points to const.
!       * lisp.h (STRING_COPYIN): New macro.
!       (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
!       (internal_with_output_to_temp_buffer): Declarations updated.
!       * print.c (temp_output_buffer_setup):
!       (internal_with_output_to_temp_buffer): Buffer name argument is now
!       pointer to const.
!       * sound.c (struct sound_device): Function pointer field "write"
!       buffer argument now points to const.
!       (vox_write): Buffer argument points to const.
!       * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
!       contents as const.
!       * sysdep.c (emacs_write): Buffer pointer now const.
!       * term.c (encode_terminal_code): Buffer pointer now const.
!       * xfaces.c (may_use_scalable_font_p): Argument now points to const.
!       (x_face_list_fonts, x_update_menu_appearance):
!       (hash_string_case_insensitive): Treat Lisp string contents as const.
! 
! 2002-07-19  Juanma Barranquero  <address@hidden>
! 
!       * fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
!       (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
! 
!       * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
! 
!       * fileio.c (syms_of_fileio): Likewise.
! 
! 2002-07-18  Richard M. Stallman  <address@hidden>
! 
!       * data.c (Fdefalias): Doc fix.
! 
! 2002-07-17  Dave Love  <address@hidden>
! 
!       * intervals.h (text_property_stickiness): Use P_.
! 
!       * ccl.c: Remove `emacs' conditionals.
!       (ccl_backtrace_table): Fix size spec.
!       (ccl_driver): Fix type errors.
! 
! 2002-07-16  Ken Raeburn  <address@hidden>
! 
!       * alloc.c (xstrdup, make_string, make_unibyte_string)
!       (make_multibyte_string, build_string): String pointer args now
!       point to const.
!       * charset.c (find_charset_in_text, c_string_width):
!       (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
!       * fileio.c (report_file_error):
!       * insdel.c (copy_text, count_size_as_multibyte, insert_1):
!       (count_combining_before, count_combining_after, insert_1_both):
!       (insert, insert_and_inherit, insert_string):
!       (insert_before_markers, insert_before_markers_and_inherit):
!       * lread.c (intern, oblookup, hash_string):
!       * minibuf.c (temp_echo_area_glyphs):
!       * search.c (fast_c_string_match_ignore_case):
!       * sysdep.c (emacs_open, set_file_times):
!       * xfaces.c (xstricmp):
!       * xdisp.c (store_frame_title, string_char_and_length):
!       (message_dolog, message2, message2_nolog, set_message): Likewise.
!       (set_message_1): Cast message string argument to const pointer.
!       * editfns.c (general_insert_function): Insertion function now
!       takes pointer to const for input data.
!       * charset.h (find_charset_in_text, c_string_width):
!       (parse_str_as_multibyte): Declarations updated.
!       * dispextern.h (xstricmp): Declaration updated.
!       * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
!       (count_size_as_multibyte, count_combining_before):
!       (count_combining_after, insert_1, insert_1_both, message_dolog):
!       (insert, insert_and_inherit, insert_before_markers)
!       (insert_before_markers_and_inherit, set_message, message2):
!       (message2_dolog, build_string, make_string, make_unibyte_string):
!       (make_multibyte_string, intern, oblookup, report_file_error):
!       (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
!       (emacs_open, xstrdup): Declarations updated.
!       * systime.h (set_file_times): Declaration updated.
! 
!       * charset.c (find_charset_in_text, lisp_string_width): Use const
!       for pointer to lisp string data.
!       * charset.h (FETCH_STRING_CHAR_ADVANCE):
!       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
!       * coding.c (Ffind_coding_systems_region_interval):
!       * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
!       (Fmake_directory_internal, Fdelete_directory):
!       (Ffile_name_absolute_p, Fwrite_region, double_dollars):
!       * fontset.c (font_family_registry, fs_query_fontset):
!       (list_fontsets):
!       * frame.c (Fframe_parameter):
!       * keyboard.c (cmd_error_internal):
!       * keymap.c (Fdescribe_buffer_bindings):
!       * lread.c (complete_filename_p, openp):
!       * minibuf.c (Fminibuffer_complete_word):
!       * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
!       (face_before_or_after_it_pos, next_element_from_string):
!       (get_overlay_arrow_glyph_row, display_mode_element):
!       (decode_mode_spec_coding):
!       * xterm.c (same_x_server): Likewise.
! 
!       * buffer.c (reset_buffer_local_variables): Delete "#if 0"
!       settings of non-existent fields.
! 
!       * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
!       copy a lisp value.
! 
!       * lread.c (Fintern_soft): Use string macros instead of
!       Lisp_String fields.
!       * keyboard.c (echo_char, parse_modifiers_uncached):
!       (parse_solitary_modifier, Fexecute_extended_command): Likewise.
!       * textprop.c (validate_interval_range, interval_of): Likewise.
! 
!       * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
! 
!       * charset.h (FETCH_STRING_CHAR_ADVANCE)
!       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
!       XSTRING()->size_byte.
! 
!       * lisp.h (SDATA, SREF): Produce rvalue.
!       (SSET): New macro.
!       * alloc.c (make_event_array): Use SSET for storing into a string.
!       * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
!       a string.
!       * casefiddle.c (casify_object): Use SSET.
!       * charset.h (FETCH_STRING_CHAR_ADVANCE)
!       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
!       address of string contents.
!       * data.c (Faref): Use SDATA.
!       (Faset): Use SDATA, SSET.
!       * dired.c (directory_files_internal): Use SSET.
!       * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
!       (Fread_file_name): Use SREF, SSET.
!       * fns.c (concat): Use SSET.
!       (concat, Fdelete): Use SDATA.
!       * insdel.c (insert_from_string_1): Use SDATA.
!       * keyboard.c (Fevent_convert_list): Use SREF.
!       * lread.c (Fload): Use SDATA, SSET.
!       * macfns.c (validate_x_resource_name): Use SSET.
!       * process.c (status_message): Use SSET.
!       * search.c (wordify): Use SDATA.
!       (Freplace_match): Use SREF.
!       * w32fns.c (validate_x_resource_name): Use SSET.
!       * xfns.c (validate_x_resource_name): Use SSET.
!       * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
! 
! 2002-07-16  Richard M. Stallman  <address@hidden>
! 
!       * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
! 
!       * xdisp.c (reconsider_clip_changes):
!       Don't test prevent_redisplay_optimizations_p.
!       (redisplay_internal): Test prevent_redisplay_optimizations_p
!       along with clip_changed in some cases.
!       (try_window_id): Likewise.
!       (redisplay_window): New local var buffer_unchanged_p.
! 
!       * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
! 
!       * process.c (create_process): Test USG_SUBTTY_WORKS.
!       (process_send_signal): Clean up handling of GID.
!       Detect errors in ioctls meant to set GID.
! 
!       * window.c (temp_output_buffer_show):
!       Don't set prevent_redisplay_optimizations_p.
! 
! 2002-07-15  Juanma Barranquero  <address@hidden>
! 
!       * eval.c (Fdefvaralias): Add docstring argument.
! 
! 2002-07-15  Ken Raeburn  <address@hidden>
! 
!       * lisp.h (STRING_INTERVALS): Produce rvalue.
!       (STRING_SET_INTERVALS): New macro.
!       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
!       * fns.c (Fstring_as_multibyte): Likewise.
!       * intervals.c (balance_possible_root_interval, delete_interval)
!       (create_root_interval, copy_intervals_to_string): Likewise.
!       * textprop.c (set_text_properties): Likewise.  Use NULL_INTERVAL
!       instead of 0.
! 
! 2002-07-14  Ken Raeburn  <address@hidden>
! 
!       * lisp.h (STRING_SET_CHARS): New macro.
!       (SCHARS, SBYTES): Produce rvalues.
!       * dired.c (directory_files_internal): Use STRING_SET_CHARS.
!       * fns.c (concat): Likewise.
!       * lread.c (read_vector): Likewise.
! 
!       * lisp.h (SMBP): Deleted.  All uses changed to STRING_MULTIBYTE.
!       (STRING_SET_UNIBYTE): New macro.
!       (SET_STRING_BYTES): Deleted.  Callers (all of which supplied a
!       length of -1) changed to use STRING_SET_UNIBYTE.
!       * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
!       casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
!       composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
!       dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
!       fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
!       keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
!       minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
!       sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
!       w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
!       w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
!       xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
!       STRING_BYTES or indirection changed to SCHARS, SBYTES,
!       STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
!       unchanged for now.
! 
! 2002-07-13  Kim F. Storm  <address@hidden>
! 
!       * keyboard.c (command_loop_1): Invert check on Vmemory_full.
! 
! 2002-07-12  Richard M. Stallman  <address@hidden>
! 
!       * fileio.c (Fwrite_region): Doc fix.
! 
!       * print.c (print_error_message): Don't handle Vsignaling_function here.
! 
!       * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
!       (command_loop_1): Avoid certain actions after memory-full error.
! 
!       * eval.c (Fsignal): Don't call cancel_hourglass.
!       For a memory-full error, don't call Vsignal_hook_function
!       and don't set Vsignaling_function.
! 
!       * process.c (process_send_signal): Add abort call.
! 
! 2002-07-11  Markus Rost  <address@hidden>
! 
!       * keymap.c (Fkey_binding): Fix typo.
! 
! 2002-07-11  Richard M. Stallman  <address@hidden>
! 
!       * alloc.c (Vmemory_full): New variable.
!       (Vmemory_signal_data): Renamed from memory_signal_data.
!       Uses changed.
!       (syms_of_alloc): Defvar them.
!       (memory_full, buffer_memory_full): Set Vmemory_full.
! 
!       * lisp.h (Vmemory_full): Add declaration.
!       (current_column, indented_beyond_p): Change declaration.
! 
!       * indent.c (last_known_column): Declare as double, not float.
!       (current_column, current_column_1, string_display_width)
!       (position_indentation): Return `double'.
!       (indented_beyond_p): Arg `column' is `double'.  Callers changed.
! 
!       * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
!       (back_to_previous_visible_line_start)
!       (reseat_at_next_visible_line_start, next_element_from_buffer):
!       Use `double', not `float', when calling indented_beyond_p.
! 
!       * s/hpux11.h (BROKEN_SA_RESTART): Defined.
! 
!       * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
! 
! 2002-07-11  Juanma Barranquero  <address@hidden>
! 
!       * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
!       * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
!       * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
!       * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
!       * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
!       * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
! 
! 2002-07-10  Juanma Barranquero  <address@hidden>
! 
!       * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
!       changed.
! 
! 2002-07-09  Stefan Monnier  <address@hidden>
! 
!       * data.c (Fdefalias): Add an optional `docstring' argument.
!       (set_internal, Fsetq_default): Use XCAR/XCDR.
! 
!       * composite.c (HASH_VALUE, HASH_KEY):
!       * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
! 
! 2002-07-09  Kenichi Handa  <address@hidden>
! 
!       * callproc.c (Fcall_process): Fix previous change.
! 
! 2002-07-07  Stefan Monnier  <address@hidden>
! 
!       * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
!       Add support for hash-tables.
!       (Ftry_completion): Return t even if the string appears multiple times.
! 
!       * fns.c (Fnconc): Use XCDR.
!       (Fprovide): Use CONSP and XCDR.
!       (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
!       (HASH_TABLE_SIZE): Delete: moved to lisp.h.
!       (Fmake_hash_table): Accept `:size nil'.
!       (Fmakehash): Delete: moved to subr.el.
!       (syms_of_fns): Don't defsubr makehash.
! 
!       * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
!       (HASH_TABLE_SIZE): Move from fns.c.
! 
! 2002-07-07  Richard M. Stallman  <address@hidden>
! 
!       * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
!       Instead just return 0 when there is something to be done.
!       (try_scrolling): If make_cursor_line_fully_visible returns 0,
!       retry scrolling as if cursor were off the bottom.
!       (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
!       return CURSOR_MOVEMENT_MUST_SCROLL.
!       (redisplay_window): If make_cursor_line_fully_visible returns 0,
!       go to try_to_scroll.
! 
!       * buffer.c (Fbuffer_local_value): Store current value into its binding
!       so we get the up-to-date value for the binding that is loaded.
! 
!       * eval.c (Fdefmacro): Doc fix.
! 
! 2002-07-05  Dave Love  <address@hidden>
! 
!       * keyboard.c (read_key_sequence): Set initial_idleness_start_time
!       correctly.
! 
!       * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
!       (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
!       (ccl_driver): Add cases for CCL_LookupIntConstTbl,
!       CCL_LookupCharConstTbl.
!       (syms_of_ccl): Defvar translation-hash-table-vector.
! 
! 2002-07-05  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xdisp.c: Remove unused variable `face'.
! 
! 2002-07-04  Juanma Barranquero  <address@hidden>
! 
!       * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
!       obsolescence information.
! 
! 2002-07-03  Andrew Choi  <address@hidden>
! 
!       * macterm.c (x_list_fonts): Fix comment.  Cache fonts matching
!       pattern.  Search cache first.
!       (init_font_name_table): Also add entry for jisx0201.1976-0 coding
!       for Japanese font.
!       (XLoadQueryFont): Use it.
! 
! 2002-07-02  Richard M. Stallman  <address@hidden>
! 
!       * keymap.c (Fdefine_key): Doc fix.
! 
!       * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
! 
! 2002-07-02  Juanma Barranquero  <address@hidden>
! 
!       * keymap.c (syms_of_keymap): Fix typo.
! 
! 2002-07-01  Andrew Choi  <address@hidden>
! 
!       * s/darwin.h: Define POSIX_SIGNALS.
! 
!       * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
!       and FSRefMakePath to convert FSSpec returned with Apple Event to
!       Posix pathname.
!       (mac_initialize) [TARGET_API_MAC_CARBON]:
!       Call init_required_apple_events and disable the `Quit' menu item
!       provided automatically by the Carbon Toolbox.
! 
! 2002-07-01  Dave Love  <address@hidden>
! 
!       * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
!       for K&R.
! 
!       * xterm.c: Fix prototype for K&R.
! 
!       * term.c (costs_set): Declare static, non-initialized for pcc.
! 
! 2002-07-01  Richard M. Stallman  <address@hidden>
! 
!       * keyboard.c (timer_last_idleness_start_time): New variable.
!       (timer_start_idle): Set that.
!       (read_key_sequence): Use that to reset timer_idleness_start_time
!       to previous value.
! 
!       * window.c (Frecenter): With arg, set optional_new_start.
! 
!       * xdisp.c (redisplay_internal): Make optional_new_start really work.
! 
!       * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
!       buffer for completion.
! 
! 2002-06-29  Ken Raeburn  <address@hidden>
! 
!       * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
! 
! 2002-06-28  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * keyboard.c (readable_filtered_events): New function that filters
!       FOCUS_IN_EVENT depending on parameter.
!       (readable_events): Calls readable_filtered_events, not filtering
!       FOCUS_IN_EVENT.
!       (get_filtered_input_pending): New function, filtering parameter passed
!       to readable_filtered_events.
!       (get_input_pending): Calls get_filtered_input_pending, not filtering
!       FOCUS_IN_EVENT.
!       (Finput_pending_p): Calls get_filtered_input_pending, DO filter
!       FOCUS_IN_EVENT.
! 
!       * xterm.h (struct x_output): Add focus_state.
! 
!       * xterm.c (x_focus_changed): New function.
!       (x_detect_focus_change): New function.
!       (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
!       EnterNotify and LeaveNotify to track X focus changes.
! 
! 2002-06-28  Andreas Schwab  <address@hidden>
! 
!       * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
! 
! 2002-06-27  Kim F. Storm  <address@hidden>
! 
!       * xdisp.c: (mode_line_string_list, mode_line_string_face)
!       (mode_line_string_face_prop): New variables.
!       (store_mode_line_string): New function.
!       (display_mode_element): Use store_mode_line_string to
!       add mode-line string elements to mode_line_string_list
!       when mode_line_string_list is non-nil.
!       (Fformat_mode_line): Now returns propertized string by
!       default.  New arg NO-PROPS to ignore properties.
!       (decode_mode_spec): Only add two dashes for %- in propertized
!       mode-line string.
!       (syms_of_xdisp): Init and staticpro mode_line_string_list.
! 
! 2002-06-27  Stefan Monnier  <address@hidden>
! 
!       * minibuf.c (minibuffer_completion_contents): Add return type.
! 
! 2002-06-27  Juanma Barranquero  <address@hidden>
! 
!       * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
! 
! 2002-06-26  Juanma Barranquero  <address@hidden>
! 
!       * fileio.c (read_file_name_cleanup): Add missing return.
! 
! 2002-06-26  Richard M. Stallman  <address@hidden>
! 
!       * window.c (Frecenter): Don't set force_start flag.
! 
!       * minibuf.c (do_completion, Fminibuffer_complete_word)
!       (Fminibuffer_completion_help): Complete just the text before point.
!       (minibuffer_completion_contents): New function.
! 
!       * buffer.c (Fbury_buffer): Use frames_discard_buffer.
! 
!       * frame.c (frames_bury_buffer): Function deleted.
! 
! 2002-06-25  Miles Bader  <address@hidden>
! 
!       * callint.c (Fcall_interactively): When checking to see if doprnt hit
!       the end of callint_message, allow for a terminating '\0'.
! 
! 2002-06-24  Juanma Barranquero  <address@hidden>
! 
!       * w32select.c: Include composite.h
! 
!       * w16select.c: Likewise.
! 
! 2002-06-24  Kenichi Handa  <address@hidden>
! 
!       * callproc.c (Fcall_process): If code detection is necessary,
!       call detect_coding directly here.
! 
!       * coding.c (detect_eol): Preserve coding->cmp_data.
! 
!       * w16select.c (Fw16_get_clipboard_data):
!       * w32fns.c (w32_to_x_font):
!       * w32select.c (Fw32_get_clipboard_data):
!       * xselect.c (selection_data_to_lisp_data):
!       * xterm.c (XTread_socket): Disable composition handling.
! 
! 2002-06-24  Stefan Monnier  <address@hidden>
! 
!       * print.c (temp_output_buffer_setup): Kill all local variables.
! 
! 2002-06-22  Stefan Monnier  <address@hidden>
! 
!       * lread.c (Fread): Remove redundant and imprecise declaration.
! 
!       * xfns.c (check_x_display_info): Use check_x_frame.
! 
!       * .gdbinit (xprintsym): Use the new `xname' field.
!       (xsymbol): Use it.
! 
! 2002-06-22  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (file_dialog_callback): New function.
!       (Fx_file_dialog): Allow selecting directories as well as files.
! 
! 2002-06-21  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
!       OpenBSD. Add support for mipseb-*-netbsd* machines.
! 
! 2002-06-17  Andrew Choi  <address@hidden>
! 
!       * macterm.c (mac_scroll_area): Set foreground and backcolor to
!       black and white before scrolling.  Restore frame background and
!       foreground color after scrolling.
!       (do_window_update): Call XClearWindow before calling expose_frame.
!       (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
!       FRAME_FOREGROUND_PIXEL of frame.
! 
!       * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
!       test Mac command key as <ALT> key.
! 
! 2002-06-17  Stefan Monnier  <address@hidden>
! 
!       * window.c (Fset_window_configuration): Lisp_Object/int mixup.
! 
!       * keyboard.c (read_key_sequence): Be more careful with first_unbound.
!       Lookup keys in function-key-map immediately so that key-translation-map
!       can be applied earlier.
!       Remove function_key_possible and key_translation_possible, replaced
!       by checking `keytran_start < t'.
! 
!       * .gdbinit (xsymbol): Use the new `xname' field.
! 
! 2002-06-17  Andrew Choi  <address@hidden>
! 
!       * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
!       test Mac command key as <ALT> key.
! 
!       * mac.c (do_applescript): Call initialize_applescript if necessary
!       when first called.  Dispose of result_desc only when there is no error.
!       (Fdo_applescript): Use %d format specifier instead of %ld.
! 
! 2002-06-16  Andrew Choi  <address@hidden>
! 
!       * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
!       of FrontWindow for cases keyDown and autoKey.
! 
!       * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
!       Vdefault_fontset to Monaco with mac-roman coding.
! 
!       * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
!       init_process before and after inclusion of Carbon/Carbon.h, resp.
! 
!       * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
!       cursor_gc.
!       (add_font_name_table_entry): New function.
!       (init_font_name_table): Use add_font_name_table_entry; add italic,
!       bold, and bold-italic entries for truetype fonts.
! 
!       * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
!       for Mac too.
!       (try_font_list) [MAC_OS]: If no font matches given registry, try
!       fonts with any registry matching face_family.
!       (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
! 
!       * s/darwin.h: If autoconf detects the Ncurses library, define
!       LIBS_TERMCAP to -lncurses to use it.
! 
! 2002-06-16  Eli Zaretskii  <address@hidden>
! 
!       * strftime.c [__hpux]: Include sys/_mbstate_t.h.
! 
! 2002-06-15  Richard M. Stallman  <address@hidden>
! 
!       * window.c (Fset_window_configuration): Explicitly preserve
!       the point value that new_current_buffer had at the start.
! 
! 2002-06-14  Juanma Barranquero  <address@hidden>
! 
!       * composite.c (Fcompose_region_internal, Fcompose_string_internal):
!       Fix typos.
! 
! 2002-06-14  Kim F. Storm  <address@hidden>
! 
!       * insdel.c (insert_1_both, insert_from_string_1)
!       (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
!       insert happened in the end_unchanged region.  Otherwise, the
!       redisplay may be confused and duplicate the last line in the
!       buffer [seen after save-buffer when require-final-newline==t].
! 
! 2002-06-13  Jason Rumney  <address@hidden>
! 
!       * w32.c (init_environment): Remove EMACSLOCKDIR.
!       (stat): Swap _S_IFDIR and _S_IFREG.
! 
! 2002-06-13  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
!       * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
!       * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
!       ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
!       to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
!       NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
!       to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
!       language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
!       to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
!       W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
!       SELECTION_REQUEST_EVENT, selection_clear_event to
!       SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
!       delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
!       ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
!       menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
!       DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
!       no_event to NO_EVENT.
! 
! 2002-06-12  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
! 
! 2002-06-12  Stefan Monnier  <address@hidden>
! 
!       * intervals.c (textget): Don't forget to `return'.
!       (lookup_char_property): Use XCAR/XCDR.
! 
! 2002-06-12  Juanma Barranquero  <address@hidden>
! 
!       * xdisp.c (Fformat_mode_line): Fix typo.
! 
! 2002-06-12  Kim F. Storm  <address@hidden>
! 
!       * xdisp.c (Fformat_mode_line): New function.
!       (frame_title_buf, frame_title_buf_end, frame_title_ptr)
!       (store_frame_title_char, store_frame_title): Use unconditionally.
!       (init_xdisp): Defsubr Fformat_mode_line.
!       Initialize frame_title_buf etc. unconditionally.
! 
! 2002-06-11  Stefan Monnier  <address@hidden>
! 
!       * keyboard.c (read_key_sequence):
!       Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
!       things through those maps after downcasing events.
!       Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
!       applies after function-key-map.
!       Make sure that keytran can be done in the middle in the sequence.
!       Be careful not to throw away events past the one we downcase.
! 
!       * lread.c (read_integer): Remove unused var `tem'.
!       (read1): Fix int/Lisp_Object mixup.
! 
!       * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
! 
! 2002-06-11  Richard M. Stallman  <address@hidden>
! 
!       * keyboard.c (readable_events): Ignore any number of
!       FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
! 
! 2002-06-09  Miles Bader  <address@hidden>
! 
!       * xfaces.c (Ftty_supports_face_attributes_p): New function.
!       (parse_rgb_list, tty_lookup_color): New functions.
!       (tty_defined_color): Use `tty_lookup_color' to do all the work.
!       (color_distance, Fcolor_distance): New functions.
!       (TTY_SAME_COLOR_THRESHOLD): New macro.
!       (Qtty_color_standard_values): New variable.
!       (syms_of_xfaces): Initialize new vars & functions.
! 
! 2002-06-08  Colin Walters  <address@hidden>
! 
!       * textprop.c (Vchar_property_alias_alist): New variable.
!       (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
! 
!       * intervals.c (lookup_char_property): New function for looking up
!       overlay and text properties, created from textget.
!       (textget): Use it.
! 
!       * intervals.h (lookup_char_property): Declare.
!       (Vchar_property_alias_alist): Declare.
! 
!       * buffer.c (Foverlay_get): Use lookup_char_property.
! 
! 2002-06-07  Sam Steingold  <address@hidden>
! 
!       * xselect.c (lisp_data_to_selection_data): Fix last change:
!       *data_ret is not a Lisp string, while unibyte_string is.
! 
! 2002-06-07  Eli Zaretskii  <address@hidden>
! 
!       * xselect.c (lisp_data_to_selection_data): Fix last change:
!       set size_ret.
! 
! 2002-06-07  Andreas Schwab  <address@hidden>
! 
!       * m/amdx86-64.h: New file.
! 
! 2002-06-05  Eli Zaretskii  <address@hidden>
! 
!       * fns.c (Fstring_make_unibyte): Doc fix.
! 
!       * xselect.c (lisp_data_to_selection_data): If the requested type
!        is STRING, call string_make_unibyte to encode the selected text
!        as a string.
! 
!       * window.c (Fset_window_hscroll): Doc fix.
! 
! 2002-06-05  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * fileio.c (choose_write_coding_system):
!       Call select-safe-coding-system properly.
! 
! 2002-06-03  Richard M. Stallman  <address@hidden>
! 
!       * xdisp.c (message_with_string): Error if STRING is not a string.
! 
!       * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
! 
!       * fileio.c (choose_write_coding_system): Pass FILE arg to
!       Vselect_safe_coding_system_function.
! 
! 2002-06-03  Ken Raeburn  <address@hidden>
! 
!       * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
! 
! 2002-06-02  Thien-Thi Nguyen  <address@hidden>
! 
!       * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
!       * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
!       * keymap.c (describe_command): Likewise.
!       * minibuf.c (read_minibuf): Likewise.
! 
!       * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
!       Cast `current_column' return value to int.
!       (back_to_previous_visible_line_start)
!       (reseat_at_next_visible_line_start, next_element_from_buffer):
!       Cast `indented_beyond_p' 3rd arg to float.
! 
!       * indent.c (last_known_column): Now a float.
!       (current_column_1, position_indentation, current_column)
!       (string_display_width): Return float.
!       (Fcurrent_column): Cast `current_column' return value to int.
!       (Fcurrent_indentation): Cast `position_indentation' retval to int.
!       (indented_beyond_p): Third arg now a float.
!       (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
! 
!       * lisp.h (current_column): Now returns float.
!       (indented_beyond_p): 3rd arg now a float.
! 
! 2002-05-31  Eli Zaretskii  <address@hidden>
! 
!       * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
!       is Qcompound_text_with_extensions.
! 
!       * xselect.c (lisp_data_to_selection_data): Always set selection
!       type as string if x_encode_text returns streingp non-NULL.
! 
!       * s/netbsd.h: Include /usr/pkg in the run time shared library path.
! 
! 2002-05-30  Richard M. Stallman  <address@hidden>
! 
!       * window.c (Fset_window_configuration): Correct the handling
!       of point in current buffer, to work with multiple windows.
! 
! 2002-05-29  Colin Walters  <address@hidden>
! 
!       * lread.c (Fread_from_string): Don't depend on order of evaluation
!       for C function parameters.
! 
! 2002-05-28  Richard M. Stallman  <address@hidden>
! 
!       * xterm.c (x_display_and_set_cursor): Change the cursor in the same
!       way for blinked-off state and for a nonselected window.
! 
!       * window.c (window_scroll_pixel_based): Don't call Fbolp;
!       instead, see if the new start pos is at beginning of line.
! 
!       * fileio.c (Fwrite_region): If START is a string, don't
!       make any annotations.
! 
!       * eval.c (syms_of_eval): Doc fix.
! 
! 2002-05-28  Colin Walters  <address@hidden>
! 
!       * emacs.c (USAGE1): Add --no-splash.
!       (standard_args): Ditto.
! 
! 2002-05-28  Colin Walters  <address@hidden>
! 
!       * lread.c (readchar_count): New variable.
!       (readchar): Increment it.
!       (unreadchar): Decrement it.
!       (read_multibyte): Decrement it.
!       (Vread_with_symbol_positions): New variable.
!       (Vread_symbol_positions_list): New variable.
!       (read_internal_start): New function, created from Fread and
!       Fread_from_string.  Handle Vread_symbol_positions_list and
!       Vread_with_symbol_positions.
!       (readevalloop, Fread, Fread_from_string): Use it.
!       (read1): Use readchar_count to add symbol positions to
!       Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
!       (syms_of_lread): DEFVAR_LISP and initialize them.
! 
!       * lread.c (read0, read1, read_list, read_vector, read_multibyte)
!       (substitute_object_recurse, substitute_object_in_subtree)
!       (substitute_in_interval): Prototype.
!       (read_multibyte): Return c if it's less than zero.
! 
! 2002-05-28  Kim F. Storm  <address@hidden>
! 
!       * fileio.c (Fread_file_name_internal): Added brute-force
!       speed up for using predicate file-directory-p.
! 
! 2002-05-28  Kim F. Storm  <address@hidden>
! 
!       * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
!       New variables.
!       (syms_of_fileio): DEFVAR_LISP them.
!       (read_file_name_cleanup): New unwind function.
!       (Fread_file_name_internal): Only return completions satifying
!       Vread_file_name_predicate.  Temporarily unwind protect and rebind
!       default-directory while checking completions against the predicate.
!       (Fread_file_name): Added PREDICATE argument.  Specbind it to
!       Vread_file_name_predicate during completion.
!       Call Vread_file_name_function to read the file name if non-nil.
! 
!       * lisp.h (Fread_file_name): Now has 6 args.
! 
!       * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
!       predicate for Fread_file_name when reading directory name.
!       Supply Qnil for predicate in other calls to Fread_file_name.
! 
! 2002-05-26  Miles Bader  <address@hidden>
! 
!       * term.c (tty_capable_p): New function.
!       * dispextern.h (tty_capable_p): New function declaration.
!       (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
!       (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
! 
! 2002-05-23  Stefan Monnier  <address@hidden>
! 
!       * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
!       (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
!       (Vwrite_region_annotate_functions): Docstring fix.
! 
! 2002-05-23  Kim F. Storm  <address@hidden>
! 
!       * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
!       phys_cursor's hpos is overwritten.  This is still not completely
!       correct, as it doesn't really make sense to use hpos at all to
!       get the cursor glyph (as that is relative to the width of the
!       characters on the line, which may have changed during the update).
! 
! 2002-05-22  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (enumfont_t): Remove tail, make pattern a normal
!       Lisp_Object.
!       (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
!       Use modified enumfont_t struct.
! 
!       * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
! 
!       * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
!       Handle the `hbar' cursor type.
!       (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
! 
!       * w32fns.c (Qhbar): New variable.
!       (x_specified_cursor_type): Use it.
! 
! 2002-05-21  Ken Raeburn  <address@hidden>
! 
!       * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
!       now, when the address is needed.
! 
! 2002-05-21  Colin Walters  <address@hidden>
! 
!       * Makefile.in (shortlisp): Add font-core.el.
! 
! 2002-05-20  Richard M. Stallman  <address@hidden>
! 
!       * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
! 
!       * keyboard.c (read_char_minibuf_menu_prompt): Don't list
!       equivalent key bindings here.
! 
! 2002-05-20  Ken Raeburn  <address@hidden>
! 
!       Change symbol structure to contain a lisp object for the symbol
!       name:
!       * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
!       object field named "xname".
!       (SYMBOL_NAME): New macro.
!       * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
!       name field.
!       * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
!       (mark_object, gc_sweep): Use symbol xname field and XSTRING
!       instead of name field.
!       * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
!       SYMBOL_NAME instead of XSYMBOL and name field.
!       * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
!       instead of XSYMBOL and name field.
!       * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
!       and SYMBOL_NAME instead of XSYMBOL and name field.
!       * coding.c (Fread_coding_system, code_convert_region1)
!       (code_convert_string1, code_convert_string_norecord)
!       (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
!       XSYMBOL and name field.
!       * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
!       (Fmake_variable_buffer_local, Fmake_local_variable)
!       (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
!       of XSYMBOL and name field.
!       * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
!       XSYMBOL and name field.
!       * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
!       instead of XSYMBOL and name field.
!       * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
!       XSYMBOL and name field.
!       * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
!       Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
!       * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
!       instead of XSYMBOL and name field.
!       * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
!       (parse_modifiers, apply_modifiers, Fevent_convert_list)
!       (parse_solitary_modifier, Fexecute_extended_command):
!       Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
!       * keymap.c (silly_event_symbol_error, Fsingle_key_description)
!       (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
!       of XSYMBOL and name field.
!       (describe_command, describe_translation): Use SYMBOL_NAME and
!       assignment instead of XSYMBOL and name field and XSETSTRING.
!       * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
!       instead of XSYMBOL and name field.
!       (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
!       name field and XSETSTRING.
!       * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
!       of XSYMBOL and name field.
!       * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
!       assignment instead of XSYMBOL and name field and XSETSTRING.
!       * print.c (print_error_message, print_object): Use SYMBOL_NAME and
!       XSTRING instead of XSYMBOL and name field.
!       * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
!       and XSTRING instead of XSYMBOL and name field.
!       * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
!       and XSTRING instead of XSYMBOL and name field.
!       * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
!       XSTRING instead of XSYMBOL and name field.
!       * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
!       of XSYMBOL and name field.
!       * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
!       Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
! 
! 2002-05-19  Ken Raeburn  <address@hidden>
! 
!       * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
!       and XCDR real rvalues in most configurations.
! 
!       * buffer.c (fix_overlays_in_range, fix_overlays_before):
!       Don't take the address of the cdr part of a cons cell; instead, track
!       the parent cell and call XSETCDR, or set the variable for the head
!       of the list if we haven't started down the list yet.
! 
! 2002-05-19  Richard M. Stallman  <address@hidden>
! 
!       * doc.c (reread_doc_file): Don't ask for confirmation.
! 
! 2002-05-18  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
!       (xbm_load_image): Use it.
!       (xbm_load): Ditto.
!       (xbm_read_bitmap_data): Reverted to xfns.c version.
!       From David Ponce <address@hidden>.
! 
! 2002-05-17  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
!       2.02 and later.
! 
! 2002-05-16  Juanma Barranquero  <address@hidden>
! 
!       * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
! 
! 2002-05-15  Stefan Monnier  <address@hidden>
! 
!       * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
!       meaningful test.
!       (read_char_minibuf_menu_prompt): Fix typo.
! 
! 2002-05-15  Eli Zaretskii  <address@hidden>
! 
!       * eval.c (Fcommandp): Doc fix.
! 
! 2002-05-13  Stefan Monnier  <address@hidden>
! 
!       * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
!       (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
!       (Fset_keymap_parent): Gcpro a bit more.
!       (access_keymap): Gcpro around meta_map call and around the main loop.
!       (get_keyelt): Gcpro when following indirect references.
!       (copy_keymap_item): New fun, extracted from Fcopy_keymap.
!       (copy_keymap_1, Fcopy_keymap): Use it.  Don't copy the parent map.
!       (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
!       Remove useless ad-hoc remap code.
! 
! 2002-05-13  Richard M. Stallman  <address@hidden>
! 
!       * search.c (search_buffer): Give up boyer moore search if inverse
!       translation change charset_base.
! 
! 2002-05-12  Eli Zaretskii  <address@hidden>
! 
!       * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
!       characters is carried over from the previous block of text, adjust
!       coding->produced to account for the extra character.
! 
! 2002-05-11  Andreas Schwab  <address@hidden>
! 
!       * coding.c (intersection): Keep the elements of the returned list
!       in the same order as in the first list.
! 
! 2002-05-11  Kim F. Storm  <address@hidden>
! 
!       * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
!       only update cmm_size if realloc actually succeeds.
!       Testing with initial size of 2 elements revealed that using
!       realloc on GNU/Linux would cause a random trap in xmalloc
!       later on, so I rewrote the code to use malloc/bcopy/free instead
!       of realloc.
! 
! 2002-05-10  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
! 
! 2002-05-10  Eli Zaretskii  <address@hidden>
! 
!       * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
!       parens, to ensure correct evaluation order.
! 
! 2002-05-10  Kim F. Storm  <address@hidden>
! 
!       * keymap.c (Vemulation_mode_map_alists): New variable.
!       (syms_of_keymap): DEFVAR_LISP it.
!       (current_minor_maps): Process keymap alists in that list before
!       minor-mode-overriding-map-alist and minor-mode-map-alist.
! 
! 2002-05-09  Richard M. Stallman  <address@hidden>
! 
!       * search.c (Freplace_match): Doc fix.
! 
! 2002-05-09  Kim F. Storm  <address@hidden>
! 
!       * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
!       Enlarge cursor rectangle drawn around image with non-zero relief.
! 
!       * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
!       Enlarge cursor rectangle drawn around image with non-zero relief.
! 
!       * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
!       Enlarge cursor rectangle drawn around image with non-zero relief.
! 
! 2002-05-07  Eli Zaretskii  <address@hidden>
! 
!       * xselect.c (lisp_data_to_selection_data): Don't set selection
!       type if comes from the Lisp object's car.  If the selection
!       contains a pure ASCII text, always return QSTRING as its type.
! 
! 2002-05-06  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * mac.c (mac-cut-function): Doc fix.
! 
! 2002-05-05  Richard M. Stallman  <address@hidden>
! 
!       * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
! 
! 2002-05-04  Jason Rumney  <address@hidden>
! 
!       * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
!       for event-click-count.
! 
!       * process.c (init_process): Only add server subfeature if we can
!       use non-blocking I/O.
! 
! 2002-05-04  Andrew Choi  <address@hidden>
! 
!       * macterm.c (XTread_socket): Call WaitNextEvent once instead of
!       repeatedly.
! 
! 2002-05-03  Jason Rumney  <address@hidden>
! 
!       * process.c (Fmake_network_process): Only support server sockets
!       when we can make them non-blocking.
! 
!       * s/ms-w32.h (HAVE_SELECT): Define.
! 
!       * w32.h (FILE_NDELAY): New flag.
! 
!       * w32.c (sys_getpeername, fcntl): New functions.
!       (_sys_read_ahead): Temporarily block on non-blocking sockets.
! 
!       * w32proc.c: include sys/file.h.
! 
! 2002-05-03  Colin Walters  <address@hidden>
! 
!       * callproc.c (Vgame_score_directory): Renamed to
!       Vshared_game_score_directory.
! 
! 2002-04-30  Richard M. Stallman  <address@hidden>
! 
!       * s/gnu.h [emacs]: Include stdio.h.
!       (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
! 
!       * eval.c (do_autoload): Error if called while preparing to dump.
! 
!       * fns.c (Frequire): Error if need to load while preparing to dump.
! 
! 2002-04-28  Colin Walters  <address@hidden>
! 
!       * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
!       Default to "~/.emacs.d/games".
! 
! 2002-04-29  Stefan Monnier  <address@hidden>
! 
!       * lread.c (openp): Change arg exec_only to predicate.
!       (build_load_history): Use XCAR/XCDR.
!       (Flocate_file_internal): New fun.
!       (syms_of_lread): Defsubr it.
!       (Fload): Update call to openp.
! 
!       * lisp.h (openp): Update prototype.
! 
!       * xfns.c (x_create_bitmap_from_file, x_find_image_file):
!       * w32proc.c (sys_spawnve):
!       * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
!       * w32.c (check_windows_init_file):
!       * sound.c (Fplay_sound_internal):
!       * process.c (Fstart_process):
!       * macfns.c (x_create_bitmap_from_file, x_find_image_file):
!       * mac.c (run_mac_command):
!       * emacs.c (init_cmdargs):
!       * callproc.c (Fcall_process): Update call to openp.
! 
!       * textprop.c (remove_properties): Don't use XCAR without CONSP.
! 
!       * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
! 
! 2002-04-29  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
!       (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
! 
! 2002-04-28  Richard M. Stallman  <address@hidden>
! 
!       * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
! 
!       * eval.c (Fcommandp): New arg for_call_interactively.
!       * lisp.h (Fcommandp): Declare new arg.
! 
! 2002-04-28  Jason Rumney  <address@hidden>
! 
!       * w32proc.c (syms_of_w32proc): Get true file attributes by default.
! 
!       * w32.c (stat, fstat): Use file index information to generate
!       inodes for directories where available.
! 
! 2002-04-26  Andrew Choi  <address@hidden>
! 
!       * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
!       [HAVE_CARBON]: Include Mac object files.
! 
!       * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
!       fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
!       termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
!       MAC_OSX, and MAC_OS instead of macintosh.
! 
!       * editfns.c [MAC_OS8]: Include stdio.h.
! 
!       * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
! 
!       * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
!       Apple Monaco.
! 
!       * process.c: Declare QCfamily and QCfilter as extern.
!       (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
!       calling select.
! 
!       * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
! 
!       * tparam.c [MAC_OSX]: Don't define BC and UP.
! 
!       * config.in [HAVE_CARBON]: Add.
! 
!       * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
!       Move here from mac/src and mac/inc.
! 
!       * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
! 
! 2002-04-26  Gerd Moellmann  <address@hidden>
! 
!       * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
!       Compute phys_cursor_width from the x position returned
!       by x_draw_glyhs, which is cheaper.
!       (x_display_and_set_cursor): Compute the buffer-local value
!       of `cursor-in-non-selected-windows' only when needed.
! 
! 2002-04-25  Gerd Moellmann  <address@hidden>
! 
!       * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
!       cursor on a stretch glyph has a width that depends on
!       x_stretch_cursor_p.
! 
! 2002-04-25  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * abbrev.c (abbrev-start-location): Doc fix.
! 
!       * indent.c (Fvertical_motion): Fix last change.
! 
! 2002-04-25  Gerd Moellmann  <address@hidden>
! 
!       * indent.c (Fvertical_motion): Move to the start of the line
!       containing PT before moving up or down.
! 
! 2002-04-24  Gerd Moellmann  <address@hidden>
! 
!       * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
!       case of writing a whole row, more or less analogous to the case of
!       writing only parts of a row.
! 
!       * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
!       0 for NO_CURSOR.
! 
!       * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
! 
! 2002-04-23  Colin Walters  <address@hidden>
! 
!       * buffer.c (syms_of_buffer): Doc fix.
! 
! 2002-04-23  Gerd Moellmann  <address@hidden>
! 
!       * xterm.c (notice_overwritten_cursor): Handle the special case
!       of the cursor being in the first blank non-text line at the
!       end of a window.
! 
!       * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
!       (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
!       (x_display_and_set_cursor): Don't set phys_cursor_width here, for
!       bar cursors only, to make phys_cursor_width contain what its name
!       suggests.
!       (notice_overwritten_cursor): Consider the cursor image erased if
!       the output area intersects the cursor image in y-direction.
! 
! 2002-04-23  Simon Marshall  <address@hidden>
! 
!       * xfns.c (x_set_mouse_color): Change default for cross_cursor
!       to XC_hand2.
! 
! 2002-04-23  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
! 
! 2002-04-22  Kim F. Storm  <address@hidden>
! 
!       * textprop.c (remove_properties): Fixed trap for malformed plist.
! 
! 2002-04-22  Richard M. Stallman  <address@hidden>
! 
!       * cmds.c (Fend_of_line): Handle intangible text in mid line.
! 
!       * window.c (make_window): Initialize height_fixed_p,
!       last_cursor_off_p, and p->cursor_off_p slots.
! 
! 2002-04-20  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * fns.c (use-dialog-box): Doc fix.
! 
! 2002-04-19  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xterm.c (note_mode_line_or_margin_highlight): Remove unused
!       variables `row', `i' and `area'.
!       (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
!       toolkit library.
! 
! 2002-04-19  Stefan Monnier  <address@hidden>
! 
!       * xfaces.c (clear_font_table): Don't free the default font of
!       a frame even if it's on another display.
!       (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
!       that could be Qt.
! 
! 2002-04-19  Juanma Barranquero  <address@hidden>
! 
!       * indent.c (Fmove_to_column): Remove unused local variable
!       `next_boundary_byte'.
!       (current_column_1): Likewise.
! 
! 2002-04-19  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (Qhbar): New variable.
!       (syms_of_msdos): Intern and staticpro it.
!       (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
!       cursor type.
! 
! 2002-04-19  Dave Lambert  <address@hidden>
! 
!       Theses change implement an underscore-like (`hbar') cursor.
! 
!       * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
! 
!       * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
!       Handle the `hbar' cursor type.
!       (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
! 
!       * xfns.c (Qhbar): New variable.
!       (syms_of_xfns): Intern and staticpro it.
!       (x_specified_cursor_type): Handle `hbar' cursor.
! 
!       * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
!       not defined.
! 
! 2002-04-18  Richard M. Stallman  <address@hidden>
! 
!       * textprop.c (remove_properties): New arg LIST allows scanning
!       either a list or a plist.
!       (interval_has_some_properties_list): New function, like
!       interval_has_some_properties using list instead of plist.
!       All callers changed.
!       (Fremove_list_of_text_properties): New function.
!       (syms_of_textprop): Defsubr it.
! 
! 2002-04-17  Eli Zaretskii  <address@hidden>
! 
!       * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
! 
! 2002-04-17  Juanma Barranquero  <address@hidden>
! 
!       * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
! 
! 2002-04-17  Eli Zaretskii  <address@hidden>
! 
!       * window.c (coordinates_in_window): Don't report on margin area
!       if its width is zero.
! 
! 2002-04-16  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (Fx_file_dialog): Decode file name before using.
! 
!       * w32term.c (construct_drag_n_drop): Likewise.
! 
! 2002-04-16  Eli Zaretskii  <address@hidden>
! 
!       * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
!       store load-history in pure space.
! 
!       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
! 
! 2002-04-16  Stefan Monnier  <address@hidden>
! 
!       * xterm.c (Qlatin_1, Qutf_8): New vars.
!       (syms_of_xterm): Initialize them.
!       (XTread_socket): Eliminate incorrect optimization that tried to avoid
!       decoding the output of X*LookupString.
!       Always use latin-1 to decode the output of XLookupString.
!       Try Xutf8LookupString if XmbLookupString failed.
! 
!       * region-cache.c (new_region_cache): Use BEG.
! 
! 2002-04-16  Gerd Moellmann  <address@hidden>
! 
!       * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
!       configuration files.
!       (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
!       returns 0.
! 
! 2002-04-15  Andreas Schwab  <address@hidden>
! 
!       * config.in: Regenerated using autoheader.
! 
!       * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
!       m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
!       m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
!       m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
!       m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
!       m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
!       m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
!       m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
!       m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
!       m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
!       m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
!       m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
!       m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
!       m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
!       m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
!       s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
!       STACK_DIRECTION, now set by autoconf.
! 
! 2002-04-14  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * dispnew.c (marginal_area_string): Sort arguments.
! 
!       * dispextern.h (marginal_area_string): Add prototype.
! 
! 2002-04-13  Richard M. Stallman  <address@hidden>
! 
!       * fileio.c (Finsert_file_contents):
!       Don't call temp_output_buffer_setup--do just part, by hand.
! 
!       * coding.c (run_pre_post_conversion_on_str):
!       Don't call temp_output_buffer_setup--do just part, by hand.
! 
!       * keyboard.c (command_loop_1): Don't call start_hourglass
!       or cancel_hourglass when executing a macro.
! 
!       * marker.c (count_markers): New function.
! 
!       * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
!       grow without limit.  Move recently used elements to the front.
! 
! 2002-04-13  Eli Zaretskii  <address@hidden>
! 
!       * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
! 
! 2002-04-12  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
!       rows marginal areas.
!       (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
!       (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
! 
!       * dispnew.c (marginal_area_string): Check that glyph row is enabled.
! 
! 2002-04-12  Dave Love  <address@hidden>
! 
!       * dispnew.c (marginal_area_string): New.
! 
!       * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
!       (Qleft_margin, Qright_margin): Declare.
!       (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
! 
!       * xterm.c (note_mode_line_or_margin_highlight): Renamed from
!       note_mode_line_highlight and extended.
! 
!       * keyboard.c (Qleft_margin, Qright_margin): Declare.
!       (make_lispy_event): Deal with mouse events in margins.
! 
! 2002-04-12  Stefan Monnier  <address@hidden>
! 
!       * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
! 
!       * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
!       than deactivating the mark if tmm is set to `lambda'.
!       (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
!       Use a single event for HELP_EVENT.
!       (Fexecute_extended_command): Save last_point_position.
! 
! 2002-04-12  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * lisp.h (Fpropertize): Add prototype.
! 
!       * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
! 
! 2002-04-10  Colin Walters  <address@hidden>
! 
!       * config.in: Add HAVE_SHARED_GAME_DIR.
! 
!       * callproc.c: (Vgame_score_directory): New variable.
!       (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
! 
! 2002-04-10  Richard M. Stallman  <address@hidden>
! 
!       * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
! 
! 2002-04-09  Stefan Monnier  <address@hidden>
! 
!       * minibuf.c (read_minibuf): Use empty_string.
!       (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
!       Short-circuit the search as soon as it "failed".
!       (Fall_completions): Allow lambda forms and lists of strings for alist.
!       (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
!       when require_match is nil.
!       (Ftest_completion): Rename from `test_completion' and export to elisp.
!       Call the predicate also when alist is a list.
!       Obey Vcompletion_regexp_list.
!       (do_completion, Fminibuffer_complete_and_exit): Use it.
!       (Fassoc_string): Rename from `assoc_for_completion'.
!       Allow list of strings as well and export to elisp.
! 
! 2002-04-08  Stefan Monnier  <address@hidden>
! 
!       * puresize.h (BASE_PURESIZE): Increase to 900KB.
! 
! 2002-04-08  Juanma Barranquero  <address@hidden>
! 
!       * w32.c (sys_accept): Don't hide variable `s'.
! 
! 2002-04-05  Gerd Moellmann  <address@hidden>
! 
!       * callint.c (Fcall_interactively): Use INTEGERP instead of
!       NUMBERP for checking Vhistory_length.
! 
! 2002-04-05  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
!       Doc fix to reflect it.
! 
! 2002-04-04  Richard M. Stallman  <address@hidden>
! 
!       * xdisp.c (display_mode_element): New arg RISKY.
!       Disregard text props found or specified within a variable
!       that isn't marked risky-local-variable.
!       (Qrisky_local_variable): New variable.
!       (syms_of_xdisp): Init and staticpro it.
! 
! 2002-04-04  Stefan Monnier  <address@hidden>
! 
!       * undo.c (record_point): New fun.
!       (record_delete, record_insert): Use it.
! 
! 2002-04-03  Juanma Barranquero  <address@hidden>
! 
!       * doc.c (Fdocumentation): Add missing parentheses.
!       (Fdocumentation_property): Likewise.
! 
! 2002-04-03  Stefan Monnier  <address@hidden>
! 
!       * doc.c (Fdocumentation, Fdocumentation_property): When the doc
!       data is 0, just return nil.
! 
! 2002-04-03  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (syms_of_msdos): Fix last change with
!       mouse_autoselect_window.
! 
! 2002-04-03  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
!       mouse_autoselect_window.
! 
! 2002-04-02  Stefan Monnier  <address@hidden>
! 
!       * keyboard.c (make_lispy_event): Handle unknown keysyms together
!       with system-specific keysyms.  Use it also for unknown function keys.
! 
!       * doc.c (reread_doc_file): Return whether reload was attempted.
!       (Fdocumentation, Fdocumentation_property): Don't try to reload
!       if the doc is 0 and only ask once.
! 
!       * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
! 
! 2002-04-02  Eli Zaretskii  <address@hidden>
! 
!       * keyboard.c (read_char): If the event was Qselect_window,
!       restore timer_idleness_start_time to its previous value.
! 
!       * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
! 
! 2002-04-01  Stefan Monnier  <address@hidden>
! 
!       * region-cache.c (new_region_cache): Use BEG.
! 
!       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
!       Use BEG and BEG_BYTE.
! 
!       * doc.c (get_doc_string): Return nil if the location is wrong.
!       (reread_doc_file): New fun.
!       (Fdocumentation, Fdocumentation_property):
!       Call it if get_doc_string fails.
!       (Fsnarf_documentation): Make it work for a dumped Emacs.
! 
!       * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
!       Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
! 
!       * charset.c (Fstring): Allow 0 arguments.
! 
!       * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
! 
!       * process.c (DATAGRAM_CONN_P, list_processes_1)
!       (Fprocess_datagram_address, Fset_process_datagram_address)
!       (Fset_network_process_options, server_accept_connection):
!       Fix some int/Lisp_Object confusions (thank you union types).
! 
! 2002-04-01  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
! 
!       * w32term.c: Likewise.
!       (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
! 
!       * keyboard.c (Qselect_window): New symbol.
!       (head_table): Use it.
!       (keys_of_keyboard): Bound select-window event to handle-select-window.
!       (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
! 
!       * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
!       (last_window): New variable.
!       (XTread_socket): Generate SELECT_WINDOW_EVENTs.
!       (note_mouse_movement): Remove reimplemented code in #if 0.
!       (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
!       Emacs windows.
! 
!       * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
! 
! 2002-03-31  Gerd Moellmann  <address@hidden>
! 
!       * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
!       Callers changed.
! 
! 2002-03-30  Richard M. Stallman  <address@hidden>
! 
!       * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
!       loop whenever it stops making progress.
! 
!       * widget.c (set_frame_size): Don't call change_frame_size.
! 
! 2002-03-30  Gerd Moellmann  <address@hidden>
! 
!       * dispnew.c (direct_output_for_insert):
!       Call mark_window_display_accurate.
! 
! 2002-03-29  Jason Rumney  <address@hidden>
! 
!       * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
! 
! 2002-03-29  Eli Zaretskii  <address@hidden>
! 
!       * Makefile.in (lread.o): Depend on coding.h.
! 
!       * lread.c (openp, Fload): Encode the file name before passing it
!       to `stat', `access', and `emacs_open'.
!       (openp): GCPRO the encoded file name.  Don't recompute Lisp
!       strings unnecessarily.
! 
! 2002-03-29  Kim F. Storm  <address@hidden>
! 
!       * fns.c (Flax_plist_put): Doc fix.
! 
! 2002-03-28  Miles Bader  <address@hidden>
! 
!       * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
! 
! 2002-03-27  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * process.c (set-network-process-options): Add usage.
!       (make-network-process): Doc fix.
! 
! 2002-03-26  Eli Zaretskii  <address@hidden>
! 
!       * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
! 
! 2002-03-26  Richard M. Stallman  <address@hidden>
! 
!       * fns.c (Fsubstring_no_properties): New function.
!       (Flax_plist_get, Flax_plist_put): New functions.
!       (syms_of_fns): defsubr them.
! 
!       * xdisp.c (update_menu_bar): Test only update_mode_lines;
!       don't test or alter w->update_mode_line.
! 
!       * window.c (Fdisplay_buffer): Doc fix.
! 
! 2002-03-24  Richard M. Stallman  <address@hidden>
! 
!       * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
! 
! 2002-03-24  Gerd Moellmann  <address@hidden>
! 
!       * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
!       (Fdefmacro): Handle `(declare ...)'.
!       (syms_of_eval) <Qdeclare>: Initialize and staticpro.
!       (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
! 
! 2002-03-24  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
!       (xbm_file_p): Add prototypes.
!       (xbm_format, xbm_image_p): Sync with xfns.c.
!       (reflect_byte): New function.
!       (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
!       (xbm_load_image): Create bitmaps with a depth of 1.
!       (init_xfns): Enable XBM images.
! 
! 2002-03-23  Jason Rumney  <address@hidden>
! 
!       * w32term.c (w32_handle_tool_bar_click): Detect up and down events
!       correctly.  Do not pass up_modifier to keyboard buffer.
! 
!       * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
! 
! 2002-03-22  Stefan Monnier  <address@hidden>
! 
!       * Makefile.in (bootstrapclean): New target.
!       (bootstrap-temacs, bootstrap-doc): Remove.
!       (bootstrap-emacs): Use a bog-standard `temacs'.
!       Don't bother to build a DOC file.
! 
!       * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
! 
!       * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
!       in temacs even if !CANNOT_DUMP.
!       (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
! 
!       * alloc.c (check_pure_size): Only output a warning.
! 
! 2002-03-22  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (Fx_create_frame): Enable tool-bar when images are
!       supported.
! 
!       * w32term.c (zv_bits): Declare as short, for word alignment.
!       (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
!       (syms_of_w32term): Define x-use-underline-position-properties.
! 
!       * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
!       (clear_image_cache): Block input, fix logic, clear matrices in
!       all frames that share this cache.
! 
! 2002-03-22  Eli Zaretskii  <address@hidden>
! 
!       * emacs.c (main): Update the Copyright year in the blurb printed
!       by "emacs --version".
! 
!       * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
! 
!       * xterm.c (XTread_socket): If XK_ISO_Lock and
!       XK_ISO_Last_Group_Lock are defined, handle keysyms between
!       XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
! 
! 2002-03-21  Kim F. Storm  <address@hidden>
! 
!       * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
!       menu-bar bindings in keymap and local-map properties _are_ used.
!       But try keymap property first in accordance with 2002-01-03 patch.
!       Added comment describing why this is not always reliable.
!       (tool_bar_items): Ditto for tool-bar.
! 
! 2002-03-21  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (x_clear_image_1): Disable color table code.
! 
! 2002-03-21  Kim F. Storm  <address@hidden>
! 
!       * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
!       removed the wrong version of the DEFUN macro; fixed it.
! 
!       * fns.c (Ffeaturep): Allow subfeature to be a list (test using
!       Fmember rather than Fmemq).
!       (Fprovide): Check that subfeatures is a list.
! 
!       * process.c (QCfeature, QCdatagram): Removed variables.
!       (QCtype, Qdatagram): New variables.
!       (network_process_featurep): Removed function.
!       (Fmake_network_process): Removed :feature check.
!       Use :type 'datagram instead of :datagram t to create a datagram
!       socket.  This allows us to add other connection types (e.g. raw
!       sockets) later in a consistent manner.
!       (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
!       supported subfeatures for feature make-network-process.
!       (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
!       Intern and staticpro QCtype and Qdatagram.
!       (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
! 
!       * xfns.c: (QCtype): Remove duplicate declaration and
!       initialization (is now declared in process.c).
! 
!       * w32fns.c: (QCtype): Remove duplicate declaration and
!       initialization (is now declared in process.c).
! 
! 2002-03-21  Richard M. Stallman  <address@hidden>
! 
!       * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
!       (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
!       when jumping to `fail' to avoid undoing reg changes in the
!       last iteration of the loop.
!       (GET_UNSIGNED_NUMBER): Skip spaces around the number.
! 
!       * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
!       Depend on process.h.
! 
! 2002-03-20  Jason Rumney  <address@hidden>
! 
!       Most of the following changes are still conditional on HAVE_IMAGES
!       which is not set by default on Windows.
! 
!       * emacs.c (main) [WINDOWSNT]: Call init_xfns.
! 
!       * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
!       (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
!       (four_corners_best, x_clear_image_1, x_clear_image)
!       (x_alloc_image_color, postprocess_image)
!       (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
!       (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
!       (init_xfns, syms_of_w32fns): Initialize image functions and constants.
! 
!       * w32gui.h (struct XImage): Define.
! 
!       * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
!       extract mouse co-ordinates.
! 
! 2002-03-20  Jason Rumney  <address@hidden>
! 
!       * w32.c (init_winsock): Dynamically load new server and UDP
!       socket functions.
!       (socket_to_fd): New function.
!       (sys_socket): Use it.
!       (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
!       (sys_recvfrom, sys_sendto): New wrapper functions.
! 
!       * process.c (QCfamily, QCfilter): Remove duplicate declaration
!       and initialization.
! 
!       * makefile.w32-in (LIBS): Remove $(WSOCK32).
! 
! 2002-03-20  Eli Zaretskii  <address@hidden>
! 
!       * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
!       Don't use "sun" as a variable, it's a predefined constant on Sun
!       machines.
! 
! 2002-03-20  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * bytecode.c (Fbyte_code): Revert last change.
! 
! 2002-03-19  Kim F. Storm  <address@hidden>
! 
!       * makefile.w32-in (LIBS): Add $(WSOCK32).
!       From David Ponce <address@hidden>.
! 
! 2002-03-18  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * process.c (wait_reading_process_input): Move variables `pname'
!       and `pnamelen' down where they are used.
! 
!       * bytecode.c (Fbyte_code): Discard unused computed value to
!       prevent gcc warning.
! 
!       * lisp.h (Fplist_member): Add prototype.
! 
! 2002-03-18  Kim F. Storm  <address@hidden>
! 
!       * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
!       HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
! 
!       * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
!       Remove explicit GNU_LINUX settings for datagram support.
! 
! 2002-03-18  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * process.c (Fmake_network_process): Remove unused variable `sa'.
!       Doc fix.  Add usage:.
!       (set_socket_options): Remove unused variables `optnum' and `opttype'.
! 
! 2002-03-17  Richard M. Stallman  <address@hidden>
! 
!       * xdisp.c (cursor_type_changed): New variable.
!       (redisplay_internal): Redisplay all windows if cursor_type_changed.
!       Clear it when clearing windows_or_buffers_changed.
!       (try_cursor_movement, redisplay_window, try_window_id)
!       (try_window_reusing_current_matrix): Test cursor_type_changed
!       along with windows_or_buffers_changed.
! 
!       * window.h (cursor_type_changed): New variable.
! 
!       * xfns.c (x_set_cursor_type): Set cursor_type_changed,
!       not update_mode_lines, and always set it to 1.
! 
!       * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
!       if no frames needed redrawing.
! 
! 2002-03-17  Kim F. Storm  <address@hidden>
! 
!       The following changes add support for network server processes,
!       datagram connections, and local (unix) sockets.
! 
!       * process.h (struct Lisp_Process): New member log.
!       Doc fix: Member command used to indicate stopped network process.
!       Doc fix: Member childp contains plist for network process.
!       Doc fix: Member kill_without_query is inverse of query-on-exit flag.
! 
!       * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
!       (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
!       (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
!       New variables.
!       (NETCONN1_P): New macro.
!       (DATAGRAM_SOCKETS): New conditional symbol.
!       (datagram_address): New array.
!       (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
!       (status_message): Use concat3.
!       (Fprocess_status): Add `listen' status to doc string.  Return `stop'
!       for a stopped network process.
!       (Fset_process_buffer): Update contact plist for network process.
!       (Fset_process_filter): Ditto.  Don't enable input for stopped
!       network processes.  Server must listen, even if filter is t.
!       (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
!       New functions.
!       (Fprocess_kill_without_query): Removed.  Now defined in simple.el.
!       (Fprocess_contact): Added KEY argument.  Handle datagrams.
!       (list_processes_1): Optionally show only processes with the query
!       on exit flag set.  Dynamically adjust column widths.  Omit tty
!       column if not needed.  Report stopped network processes.
!       Identify server and datagram network processes.
!       (Flist_processes): New optional arg `query-only'.
!       (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
!       (conv_lisp_to_sockaddr, set_socket_options)
!       (network_process_featurep, unwind_request_sigio): New helper functions.
!       (Fprocess_datagram_address, Fset_process_datagram_address):
!       (Fset_network_process_options): New lisp functions.
!       (Fopen_network_stream): Removed.  Now defined in simple.el.
!       (Fmake_network_process): New lisp function.  Code is based on previous
!       Fopen_network_stream, but heavily reworked with new property list based
!       argument list, support for datagrams, server processes, and local
!       sockets in addition to old client-only functionality.
!       (server_accept_connection): New function.
!       (wait_reading_process_input): Use it to handle incoming connects.
!       Do not enable input on a new connection if process is stopped.
!       (read_process_output): Handle datagram sockets. Use 2k buffer for them.
!       (send_process): Handle datagram sockets.
!       (Fstop_process, Fcontinue_process): Apply to network processes.  A 
stopped
!       network process is indicated by setting command field to t .
!       (Fprocess_send_eof): No-op if datagram connection.
!       (Fstatus_notify): Don't read input for a stream server socket or a
!       stopped network process.
!       (init_process): Initialize datagram_address array.
!       (syms_of_process): Intern and staticpro new variables, defsubr new
!       functions.
! 
! 2002-03-16  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (w32_to_all_x_charsets): Return correct type in
!       startup case.
! 
! 2002-03-16  Richard M. Stallman  <address@hidden>
! 
!       * xdisp.c (redisplay_internal, redisplay_windows):
!       Use list_of_error to call internal_condition_case_1.
!       (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
!       so as to catch all errors with no possibility of debugger redisplay.
!       (list_of_error): New variable.
!       (syms_of_xdisp): Init and staticpro it.
! 
!       * print.c (print_object): Delete `\ ' from printed rep of frame.
! 
! 2002-03-15  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
!       until its implementation is fixed.
! 
! 2002-03-14  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xfns.c (png_load): Remove unused variable `gamma_str'.
! 
! 2002-03-14  Richard M. Stallman  <address@hidden>
! 
!       * xfns.c (x_real_positions): Handle failure in XQueryTree.
! 
! 2002-03-14  Miles Bader  <address@hidden>
! 
!       * intervals.c (adjust_for_invis_intang): New function.
!       (set_point_both): Use `adjust_for_invis_intang' to do most of the
!       work for dealing with invisible+intangible regions.  Do so before
!       and after both forward and backward movements, to handle both
!       front-sticky and rear-sticky cases.
!       * textprop.c (text_property_stickiness): Function moved here from
!       `editfns.c'.
!       * intervals.h (text_property_stickiness): New declaration.
!       * editfns.c (char_property_eq): Function removed.
!       (text_property_stickiness): Function moved to `textprop.c'.
! 
! 2002-03-13  Jason Rumney  <address@hidden>
! 
!       * config.in: Add STRFTIME_NO_POSIX2.
! 
!       * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
!       and %OX when underlying strftime does not.
! 
! 2002-03-13  Stefan Monnier  <address@hidden>
! 
!       * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
!       Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
!       line) to avoid annoying flicker.
!       (xm_scroll_callback): Get rid of the now unnecessary kludge.
!       (XTread_socket): Mark it static.
! 
!       * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
! 
! 2002-03-13  Kim F. Storm  <address@hidden>
! 
!       * puresize.h (BASE_PURESIZE): Increase to 775000.
! 
! 2002-03-12  Juanma Barranquero  <address@hidden>
! 
!       * editfns.c (syms_of_editfns): Fix typo.
! 
! 2002-03-12  Gerd Moellmann  <address@hidden>
! 
!       * xsmfns.c: Include stdio.h because termhooks.h needs it.
!       Include termopt.h for interrupt_input.
! 
! 2002-03-11  Andreas Schwab  <address@hidden>
! 
!       * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
! 
! 2002-03-11  Gerd Moellmann  <address@hidden>
! 
!       * xterm.c (note_mouse_movement): Put code for
!       x_autoselect_window_p in #if 0.
! 
!       * lread.c (Fload): Don't assume that message_with_string uses the
!       string it is given like a C string.
! 
! 2002-03-10  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * xterm.h (x_session_check_input, x_session_initialize): Declared.
! 
!       * xterm.c: (XTread_socket): Add call to x_session_check_input and
!       x_session_have_connection.
!       (x_initialize): Add call to x_session_initialize.
! 
!       * termhooks.h (enum event_kind): Add save_session_event.
! 
!       * keyboard.c: Add Emacs event save_session_event.
! 
!       * emacs.c (main): Add call to syms_of_xsmfns.
! 
!       * lisp.h: Declare syms_of_xsmfns as extern.
! 
!       * config.in: Add HAVE_X_SM.
! 
!       * Makefile.in (LIBXT): Add -lSM -lICE
!       if HAVE_X_SM and not USE_X_TOOLKIT.
!       (XOBJ): New file xsmfns.c added.
! 
!       * xsmfns.c: New file for X session management.
! 
! 2002-03-09  Jason Rumney  <address@hidden>
! 
!       * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
!       read-only when setting modified time.
! 
! 2002-03-08  Gerd Moellmann  <address@hidden>
! 
!       * xdisp.c (move_it_vertically_backward): At the end of the function,
!       when moving forward by lines, treat terminal frames specially.
! 
!       * keyboard.c (echo_char): Make sure to add a separator between
!       keys even if echo_dash hasn't been called.
! 
!       * xdisp.c: Use new string macros.
!       (update_echo_area): Pass number of bytes to message3 instead of
!       number of chars.
!       (set_message_1): Don't access a string's size_byte directly.
!       (decode_mode_spec_coding): Use number of bytes of eoltype string
!       instead number of chars.
! 
!       * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
! 
! 2002-03-08  Juanma Barranquero  <address@hidden>
! 
!       * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
!       24-bit.
! 
! 2002-03-06  Jason Rumney  <address@hidden>
! 
!       * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
! 
! 2002-03-06  Gerd Moellmann  <address@hidden>
! 
!       * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
!       (cancel_echoing, echo_length, echo_truncate): Changed to
!       work with new kboard definition.
!       (echo_now): Use message3_nolog instead of message2_nolog.
! 
!       * alloc.c (mark_kboards): Mark echo_string.
! 
!       * keyboard.h (ECHOBUFSIZE): Removed.
!       (struct kboard): Member echoptr removed, member echobuf renamed
!       to echo_string.
! 
!       * xdisp.c (message_with_string): Use Fformat instead of doprnt and
!       message3 instead of message2 to display the message using STRING's
!       text properties.
! 
! 2002-03-05  Andreas Schwab  <address@hidden>
! 
!       * xdisp.c (hscroll_margin): Change to EMACS_INT.
! 
! 2002-03-05  Per Abrahamsen  <address@hidden>
! 
!       * frame.c (default-frame-alist): Explain that setting it doesn't
!       affect existing frames.
! 
! 2002-03-05  Stefan Monnier  <address@hidden>
! 
!       * indent.c (skip_invisible): Fix my brain fart.
! 
!       * dispnew.c (sit_for): Don't wait if executing a kbd macro.
! 
! 2002-03-04  Stefan Monnier  <address@hidden>
! 
!       * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
!       * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
!       * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
!       * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
!       and variables to use EMACS_INT instead of just int.
! 
!       * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
! 
! 2002-03-04  Eli Zaretskii  <address@hidden>
! 
!       * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
!       environment, pass it down with corrected value.
! 
! 2002-03-04  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * lread.c (read_filtered_event): Do not call start_hourglass
!       before returning.
! 
! 2002-03-04  Juanma Barranquero  <address@hidden>
! 
!       * w32term.c (x_display_and_set_cursor): Fix typo.
! 
! 2002-03-03  Richard M. Stallman  <address@hidden>
! 
!       * fileio.c (Fmake_temp_name): Doc fix.
! 
! 2002-03-03  Gary Wong  <address@hidden>
! 
!       * termcap.c [!emacs]: Replace ospeed for building standalone
!       libtermcap, for binary compatibility.
! 
!       * tparam.c [!emacs]: Move #define of bcopy to after string.h.
! 
! 2002-03-03  Richard M. Stallman  <address@hidden>
! 
!       * xrdb.c (file_p): Rename arg `path' to `filename'.
! 
!       * abbrev.c (Fexpand_abbrev): Increment plist as use count
!       only if it is an integer.
! 
!       * xfns.c (png_load): Set screen_gamma based on f->gamma.
!       If png_get_sRGB gives an answer, call png_set_gamma
!       using the default image gamma value.
! 
!       * lread.c (read1): When reading from a file, default string to
!       multibyte only if it has some multibyte characters.
! 
!       * print.c (print_object): Output multibyte chars 128...255
!       using \x even if ! print_escape_multibyte.
! 
!       * xdisp.c (display_mode_element): Move the places where
!       bytepos, charpos, this, and lisp_string are set.
!       Use lisp_string to set bytepos.
! 
!       * xdisp.c (redisplay_internal):
!       Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
! 
!       * xdisp.c (display_mode_element): Merge properties specified with
!       :propertize onto those that come with the string.
! 
! 2002-03-03  Eli Zaretskii  <address@hidden>
! 
!       * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
!       automatic-hscrolling.  Users changed.
!       <hscroll-margin>: Renamed from automatic-hscroll-margin.
!       Users changed.
!       <hscroll-step>: Renamed from automatic-hscroll-step.  Users changed.
! 
! 2002-03-02  Eli Zaretskii  <address@hidden>
! 
!       * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
! 
! 2002-03-02  Kim F. Storm  <address@hidden>
! 
!       * window.c (Fminibuffer_selected_window): New function.
!       (syms_of_window): Defsubr it.
! 
! 2002-03-01  Kim F. Storm  <address@hidden>
! 
!       * window.h (struct window): New member phys_cursor_width.
! 
!       * window.c (make_window, replace_window): Init phys_cursor_width.
! 
!       * xterm.c (x_display_and_set_cursor): Blink box cursor using
!       hollow box cursor.  Blink bar cursor using 1 pixel wide bar.
! 
!       * w32term.c (x_display_and_set_cursor): Blink box cursor using
!       hollow box cursor.  Blink bar cursor using 1 pixel wide bar.
! 
!       * lisp.h (GCPRO6): New macro.
! 
!       * process.c (Fopen_network_stream): Use GCPRO6.
! 
! 2002-03-01  Kim F. Storm  <address@hidden>
! 
!       * process.c (Qconnect, Qfailed): New variables.
!       (syms_of_process): Intern and staticpro them.
!       (Fprocess_status): Document connect and failed return values.
!       [NON_BLOCKING_CONNECT]: New conditional.
!       (connect_wait_mask, num_pending_connects): New variables.
!       (status_message): Convert Qfailed status.
!       (Fopen_network_stream): Added support for non-blocking connect.
!       New optional args: filter, sentinel, non_blocking.  Doc updated.
!       [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
!       (deactivate_process): Handle pending non-blocking connect.
!       (wait_reading_process_input): Poll for status of non-blocking
!       connects.  Exec sentinel directly when connect succeeds.
!       (status_notify): Don't read process output if not yet connected.
! 
! 2002-02-28  Kim F. Storm  <address@hidden>
! 
!       * window.c: (minibuf_selected_window): Renamed from
!       Vminibuf_selected_window.  Users changed.
!       (syms_of_window): Staticpro it.
! 
! 2002-02-26  Kim F. Storm  <address@hidden>
! 
!       The following changes add a new Vminibuf_selected_window variable
!       which is similar to Vminibuf_scroll_window, but which is only set
!       on entry to the minibuffer (from a non-minibuffer window):
! 
!       * window.c: (Vminibuf_selected_window): New variable.
!       (struct save_window_data): New member minibuf_selected_window.
!       (Fset_window_configuration): Restore Vminibuf_selected_window.
!       (Fcurrent_window_configuration): Save Vminibuf_selected_window.
!       Set minibuf_scroll_window member to nil if minibuf_level is 0.
!       (compare_window_configurations): Compare minibuf_selected_window.
! 
!       * window.h: (Vminibuf_selected_window): Declare extern.
! 
!       * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
!       entry to minibuffer or on entry from a non-minibuffer window.
! 
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
!       Vminibuf_selected_window instead of Vminibuf_scroll_window.
! 
!       * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
!       instead of Vminibuf_scroll_window when deciding in which window
!       the region should be highlighted.  Consequently, the region remains
!       highlighteded even when a completion buffer is also displayed.
! 
! 2002-02-26  Eli Zaretskii  <address@hidden>
! 
!       * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
! 
!       * xselect.c (Qcompound_text_with_extensions): Renamed from
!       Qcompound_text_no_extensions.
!       (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
! 
! 2002-02-26  Juanma Barranquero  <address@hidden>
! 
!       * w32proc.c (syms_of_ntproc): Doc fix.
! 
! 2002-02-24  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * intervals.h: Include "dispextern.h" unconditionally.
! 
! 2002-02-24  Jason Rumney  <address@hidden>
! 
!       * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
!       and disp-table.elc.
!       (lisp): Add emacs-lisp/backquote.elc.
! 
! 2002-02-24  Kim F. Storm  <address@hidden>
! 
!       * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
!       The validation of the event type was too strict as it didn't
!       allow string events; buffer names are used in bindings for
!       menu-bar-select-buffer (see `menu-bar-update-buffers').
! 
! 2002-02-23  Kim F. Storm  <address@hidden>
! 
!       The following changes rework my patch of 2002-02-06 which
!       added command remapping by entering the commands directly into
!       the keymaps.  Now, command remapping uses an explicit `remap'
!       prefix in the keymaps, i.e. [remap COMMAND].
! 
!       * keymap.c (Qremap, remap_command_vector): New variables.
!       (is_command_symbol): Removed function.
!       (Fdefine_key): No longer accept a symbol for KEY.
!       Added validation of [remap COMMAND] argument for KEY.
!       The DEF is no longer required to be a symbol when remapping a command.
!       (Fremap_command): New function to remap command through keymaps.
!       (Flookup_key): Perform command remapping initiated by
!       Fremap_command directly for speed.
!       (Fkey_binding): Use Fremap_command for command remapping.
!       (where_is_internal): Handle new command remapping representation.
!       (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
!       staticpro them.  Defsubr Fremap_command.
! 
!       * keymap.h (Fremap_command): Declare extern.
!       (is_command_symbol): Remove extern.
! 
!       * keyboard.c (command_loop_1): Use Fremap_command for command
!       remapping; now try command remapping for all symbols.
! 
! 2002-02-23  Eli Zaretskii  <address@hidden>
! 
!       * coding.h (run_pre_post_conversion_on_str): Add prototype.
! 
! 2002-02-23  Jason Rumney  <address@hidden>
! 
!       * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
!       on the string before encoding it.
!       (Fw32_get_clipboard_data): Run post-read-conversion on the string
!       after decoding it.
! 
!       * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
! 
! 2002-02-23  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * w32term.c (enter_timestamp): Remove unused static variable to
!       prevent warning.
! 
!       * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
! 
! 2002-02-23  Eli Zaretskii  <address@hidden>
! 
!       * w16select.c (Fw16_get_clipboard_data): Fix last change.
! 
!       * xselect.c (selection_data_to_lisp_data): Fix last change.
! 
! 2002-02-22  Jason Rumney  <address@hidden>
! 
!       * w32term.h (struct w32_output): New member menu_command_in_progress.
! 
!       * w32menu.c (menubar_selection_callback): Free the menu and
!       clear the menu_command_in_progress flag.
! 
!       * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
!       (menu_free_timer): New variable.
!       (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
!       (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
!       <WM_EXITMENULOOP>: Delay before freeing menu.  Do nothing if a
!       menu command is in progress.
!       <WM_COMMAND>: Set the menu_command_in_progress flag.
!       Kill any menu_free_timer that is running.
! 
!       * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
!       Call ExtTextOutA rather than ExtTextOut.
! 
! 2002-02-22  Eli Zaretskii  <address@hidden>
! 
!       * puresize.h (BASE_PURESIZE): Increase to 755000.
! 
! 2002-02-22  Eli Zaretskii  <address@hidden>
! 
!       * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
!       on the string before encoding it.
!       (Fw16_get_clipboard_data): Run post-read-conversion on the string
!       after decoding it.
! 
! 2002-02-22  Eli Zaretskii  <address@hidden>
! 
!       Support for ICCCM  Extended Segments in X selections:
! 
!       * xselect.c <Qcompound_text_no_extensions>: New variable.
!       (syms_of_xselect): Intern and staticpro it.
!       (selection_data_to_lisp_data): Run post-read-conversion on decoded
!       selection text.
!       (lisp_data_to_selection_data): If next-selection-coding-system is
!       compound-text-no-extensions, set the type of selection to be
!       compound-text.
! 
!       * xterm.h (x_encode_text): Update prototype.
! 
!       * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
!       callers changed.  If SELECTIONP is non-zero, run the
!       pre-write-conversion function before encoding the selection text.
! 
! 2002-02-21  Kim F. Storm  <address@hidden>
! 
!       * frame.c (syms_of_frame): Change mouse-highlight default to t.
! 
!       * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
!       Correct composing of language-change event.
! 
! 2002-02-20  Kim F. Storm  <address@hidden>
! 
!       * keyboard.c (menu_bar_items): Don't include keymap or local-map
!       bindings at PT when building menu (the menu is not updated often
!       enough for this to work reliable).
!       (tool_bar_items): Likewise.
!       (current_active_maps): Removed unused (and buggy) function.
! 
! 2002-02-20  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xfns.c (gif_load): Use correct width and height for GIF images.
! 
! 2002-02-19  Eli Zaretskii  <address@hidden>
! 
!       * floatfns.c (Fatan): Accept an optional second arg and call
!       atan2 if passed 2 args.
! 
! 2002-02-18  Jason Rumney  <address@hidden>
! 
!       * w32term.c (glyph_rect): Determine the row and glyph more precisely.
! 
! 2002-02-17  Jason Rumney  <address@hidden>
! 
!       * w32term.c (x_autoselect_window_p): New variable.
!       (syms_of_w32term): DEFVAR_BOOL and initialize it.
!       (note_mouse_movement): Use it.
! 
!       * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
! 
!       * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
! 
!       * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
!       New variables.
!       (syms_of_w32fns): Intern and staticpro them.
!       (x_frame_parms) <"fullscreen">: New parameter.
!       (x_fullscreen_move, x_set_fullscreen): New functions.
!       (x_set_frame_parameters): Support Qfullscreen.
!       (x_real_positions): Save x/y_pixels_diff frame params.
!       (x_figure_window_size): Support full-screen frames.
!       (Fx_create_frame): Default the fullscreen parameter.
! 
!       * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
!       (x_fullscreen_adjust): New functions.
!       (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't  resize to
!       fullscreen.  Call x_check_fullscreen_move, and set the
!       want_fullscreen member of output_data.w32
!       <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
! 
!       * w32term.h: New enum for FULLSCREEN_* constants.
!       (struct w32_output): New members want_fullscreen, x_pixels_diff,
!       y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
!       (x-fullscreen-adjust): New prototype.
! 
! 2002-02-17  Kim F. Storm  <address@hidden>
! 
!       * frame.c: (Vmouse_highlight): New variable.
!       (syms_of_frame): DEFVAR_LISP it.
! 
!       * frame.h: (Vmouse_highlight): Declare extern.
! 
!       * xterm.h (struct x_display_info): Add mouse_face_hidden.
! 
!       * xterm.c (disable_mouse_highlight): Removed variable.
!       (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
!       (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
!       (XTread_socket): Turn mouse_face_hidden off after mouse movement,
!       and on after keyboard input.
!       (x_term_init): Initialize mouse_face_hidden.
! 
!       * msdos.h (struct display_info): Add mouse_face_hidden.
! 
!       * msdos.c (disable_mouse_highlight): Removed variable.
!       (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
!       (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
!       (internal_terminal_init): Initialize mouse_face_hidden.
!       (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
!       and on after keyboard input.
! 
!       * w32term.h (struct w32_display_info): Add mouse_face_hidden.
! 
!       * w32term.c (disable_mouse_highlight): Removed variable.
!       (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
!       (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
!       (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
!       and on after keyboard input.
!       (w32_initialize_display_info): Initialize mouse_face_hidden.
! 
! 2002-02-16  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (last_mouse_window): New variable.
!       (dos_rawgetc): Fix last change--if the mouse is in the same window
!       as recorded in last_mouse_window, don't select this window.
! 
!       * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
! 
!       * msdos.c (x_autoselect_window_p): New variable.
!       (syms_of_msdos): Defvar it.
!       (dos_rawgetc): If x_autoselect_window_p is set, select the window in
!       which the last mouse movement occured, unless it is already selected.
! 
!       * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
!       New variables.
!       (syms_of_xdisp): DEVFAR them.
!       (hscroll_window_tree): Use automatic_hscroll_margin and
!       Vautomatic_hscroll_step to compute the amount of window scrolling.
! 
! 2002-02-16  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xterm.c (x-autoselect-window): New variable.
!       (note_mouse_movement): Use it.
! 
!       * keyboard.c: Do not include "systime.h" twice.
! 
! 2002-02-15  Andreas Schwab  <address@hidden>
! 
!       * puresize.h (BASE_PURESIZE): Increase to 9/5.
! 
!       * alloc.c (NSTATICS): Increase to 1280.
! 
! 2002-02-15  Kai Gro,A_(Bjohann  <address@hidden>
! 
!       * alloc.c (NSTATICS): Bump to 1026.
! 
!       * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
!       (Vx_super_keysym): New variables.
!       (syms_of_xterm): DEFVAR_LISP them.
!       (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
!       variables to determine which keys to use for the various modifiers.
! 
! 2002-02-13  Kim F. Storm  <address@hidden>
! 
!       * window.c: (Vmode_line_in_non_selected_windows): Removed.
!       (mode_line_in_non_selected_windows): New variable.
!       (syms_of_window): DEFVAR_BOOL it.
! 
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
!       Use mode_line_in_non_selected_windows.
!       (mode_line_in_non_selected_windows): Declare extern.
!       (Vmode_line_in_non_selected_windows): Removed extern.
! 
! 2002-02-13  Richard M. Stallman  <address@hidden>
! 
!       * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
!       (Fthis_single_command_keys, Fthis_single_command_raw_keys)
!       (Fclear_this_command_keys): Doc fixes.
! 
!       * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
!       (update_face_from_frame_parameter): Increment face_change_count
!       and windows_or_buffers_changed to force redisplay using changed faces.
! 
!       * xdisp.c (QCpropertize): New variable.
!       (mode_line_proptrans_alist): New variable.
!       (display_mode_element): New arg PROPS; all calls changed.
!       Implement this, for strings.
!       Handle literal output of strings by sharing the
!       main-line code for strings, using local var `literal'.
!       Handle :propertize feature.
!       (syms_of_xdisp): Initialze and staticpro QCpropertize and
!       mode_line_proptrans_alist.
! 
! 2002-02-11  Kim F. Storm  <address@hidden>
! 
!       * window.c: (Vmode_line_in_non_selected_windows): New variable.
!       (syms_of_window): DEFVAR_LISP it.
! 
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
!       (CURRENT_MODE_LINE_FACE_ID): Use it.
!       (Vmode_line_in_non_selected_windows): Declare extern.
! 
!       * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
!       to get mode line face.
! 
! 2002-02-11  Eli Zaretskii  <address@hidden>
! 
!       * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
!       variables; cus-start.el doesn't need them anymore.
! 
! 2002-02-09  Kim F. Storm  <address@hidden>
! 
!       * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
!       reduction.  This fixes a display problem where stray newlines were
!       inserted in the window (corrected by C-l).  Clarified code (IMHO).
! 
! 2002-02-09  Eli Zaretskii  <address@hidden>
! 
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
! 
!       * xdisp.c (display_mode_lines): Fix last change.
! 
! 2002-02-09  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
!       match each other.
!       (w32_load_system_font): Prevent Cleartype fonts from loading.
!       (Fx_show_tip): Ensure tip frames are above other topmost windows.
! 
! 2002-02-09  Kim F. Storm  <address@hidden>
! 
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
!       (CURRENT_MODE_LINE_HEIGHT): Use it.
!       (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
! 
!       * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
!       (pos_visible_p, handle_face_prop): Likewise.
!       (display_mode_lines): Likewise, but for the real selected window.
!       (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
! 
!       * xfaces.c (Qmode_line_inactive): New face variable for mode-line
!       in non-selected windows.
!       (realize_basic_faces): Realize it.
!       (syms_of_term): Intern and staticpro it.
! 
! 2002-02-08  Kim F. Storm  <address@hidden>
! 
!       * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
!       Changed mail addresses to address@hidden
! 
! 2002-02-08  Eli Zaretskii  <address@hidden>
! 
!       * fileio.c (Fsubstitute_in_file_name): If the file name includes
!       ~user, and there's no such user, don't discard everything before ~user.
! 
!       * floatfns.c (Fround): Doc fix.
! 
! 2002-02-08  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
! 
! 2002-02-07  Stefan Monnier  <address@hidden>
! 
!       * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
! 
! 2002-02-07  Kim F. Storm  <address@hidden>
! 
!       * keymap.c (where_is_internal): Only check whether definition is
!       remapped if it fulfills is_command_symbol.
! 
! 2002-02-07  Andreas Schwab  <address@hidden>
! 
!       * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
! 
!       * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
! 
! 2002-02-06  Kim F. Storm  <address@hidden>
! 
!       * keymap.c (Fdefine_key): Allow symbol as KEY argument for
!       defining command remapping.  Doc updated.
!       (Flookup_key): Remap command through keymap if KEY is a symbol.
!       (is_command_symbol): New function.
!       (Fkey_binding): Use it.  New optional argument NO-REMAP.
!       Doc updated.  Callers changed.  Perform command remapping via
!       recursive call unless that arg is non-nil.
!       (where_is_internal): New argument no_remap.  Callers changed.
!       Call recursively to find original key bindings for a remapped
!       comand unless that arg is non-nil.
!       (Fwhere_is_internal): New optional argument NO-REMAP.
!       Doc updated.  Callers changed.  Pass arg to where_is_internal.
! 
!       * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
!       (is_command_symbol): Added prototype.
! 
!       * keyboard.c (Vthis_original_command): New variable.
!       (syms_of_keyboard): DEFVAR_LISP it.
!       (command_loop_1): Set it, and perform command remapping.
! 
! 2002-02-06  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
! 
! 2002-02-06  Jason Rumney  <address@hidden>
! 
!       * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
! 
! 2002-02-06  Eli Zaretskii  <address@hidden>
! 
!       * charset.c (get_charset_id): Use if-else instead of ?:.
! 
! 2002-02-06  Richard M. Stallman  <address@hidden>
! 
!       * filelock.c (S_ISLNK): Define if not defined.
! 
! 2002-02-03  Richard M. Stallman  <address@hidden>
! 
!       * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
! 
!       * lread.c (read1): Redesign strategy for force_multibyte and
!       force_singlebyte.  Now is_multibyte records whether read_buffer
!       is multibyte.  Encountering any multibyte character makes it so.
! 
! 2002-02-02  Stefan Monnier  <address@hidden>
! 
!       * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
!       with the same sequence, map that sequence to f10 rather than f0.
! 
! 2002-02-03  Andreas Schwab  <address@hidden>
! 
!       * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
!       latter never being defined on GNU/Linux.
! 
! 2002-02-02  Eli Zaretskii  <address@hidden>
! 
!       * xfaces.c (realize_default_face): Don't set the weight and slant of
!       the default face to Qnormal, unless these attributes are unspecified.
! 
! 2002-02-02  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
!       Call cancel_hourglass unconditionally.
! 
!       * eval.c (Fsignal): Remove duplicated declaration of
!       the variable `display_hourglass_p'.
! 
! 2002-01-31  Richard M. Stallman  <address@hidden>
! 
!       * editfns.c (region_limit): Nicer error message.
! 
!       * coding.c (decode_composition_emacs_mule):
!       Give up if NCOMPONENT gets too large to index `component'.
! 
!       * callint.c (check_mark): New arg to specify clearer error message.
!       Callers changed.
! 
! 2002-01-27  Richard M. Stallman  <address@hidden>
! 
!       * minibuf.c (Fcompleting_read): Doc fix.
! 
! 2002-01-27  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
!       (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
!       Fix doc-strings.
! 
! 2002-01-26  Richard M. Stallman  <address@hidden>
! 
!       * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
! 
!       * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
!       and scroll_up_aggressively.
! 
! 2002-01-26  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
! 
! 2002-01-25  Stefan Monnier  <address@hidden>
! 
!       * textprop.c (Fnext_property_change, Fnext_single_property_change)
!       (Fprevious_property_change, Fprevious_single_property_change):
!       Stay within the narrowed-buffer boundaries.
! 
! 2002-01-25  Eli Zaretskii  <address@hidden>
! 
!       * term.c (Ftty_display_color_cells): New function.
!       (syms_of_term): Defsubr it.
!       (Ftty_display_color_cells, Ftty_display_color_p): Change the
!       argument name to DISPLAY.  Doc fix.
! 
!       * dispextern.h: Add prototype for set_tty_color_mode and
!       tty_setup_colors.
! 
! 2002-01-24  Jason Rumney  <address@hidden>
! 
!       * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
!       If region left to draw is not what was expected, mark the frame as
!       garbaged.
! 
!       * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
!       Combine the regions returned by BeginPaint and GetUpdateRect.
! 
! 2002-01-23  Jason Rumney  <address@hidden>
! 
!       * w32term.c (x_update_window_begin): Only hide caret if
!       w32_use_visible_system_caret is set.
!       (x_update_window_end): Only show caret if
!       w32_use_visible_system_caret is set.
!       (syms_of_w32term): Handle SystemParametersInfo call failing.
! 
!       * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
! 
! 2002-01-22  Richard M. Stallman  <address@hidden>
! 
!       * unexelf.c (unexec): Define n so as to cause compilation error
!       for the code where people have often written n instead of nn.
! 
!       * .gdbinit (hookpost-run): Defined.
! 
! 2002-01-22  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
! 
! 2002-01-21  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
!       if fullscreen is being set.
! 
! 2002-01-21  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * minibuf.c (Fminibuffer_contents)
!       (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
!       (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
! 
! 2002-01-21  Richard M. Stallman  <address@hidden>
! 
!       * window.c (check_frame_size): Fix minimum height calculation.
! 
! 2002-01-20  Ken Raeburn  <address@hidden>
! 
!       * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
!       height before comparison.
!       (WINDOW_WANTS_HEADER_LINE_P): Likewise.
! 
! 2002-01-20  Jason Rumney  <address@hidden>
! 
!       * w32term.c (w32_system_caret_width): Remove.
!       (w32_use_visible_system_caret): New user flag.
!       (syms_of_w32term): DEFVAR_BOOL it.  Initialize based on whether
!       Windows reports a screen reader running.
!       (x_update_window_begin): Hide the system caret.
!       (x_update_window_end): Show the system caret.
!       (x_display_and_set_cursor): Don't draw a cursor when
!       w32_use_visible_system_caret is set.  Do not adjust width.
! 
!       * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
!       (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
!       <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
!       the user requests it.  Use system default width when creating.
!       <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
! 
!       * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
!       New window messages.
! 
! 2002-01-20  Richard M. Stallman  <address@hidden>
! 
!       * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
! 
! 2002-01-20  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * doprnt.c (doprnt1): Fix typos in error call.
! 
! 2002-01-20  Eli Zaretskii  <address@hidden>
! 
!       * unexelf.c (unexec) [__sgi]: Support the .got sections.
! 
! 2002-01-20  Jason Rumney  <address@hidden>
! 
!       * w32term.c (w32_native_per_char_metric): Don't trust the metrics
!       that Windows returns.  If a double check fails, try to guess how
!       ExtTextOut is going to act.
! 
!       * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
!       in place of stricmp.
!       (w32_list_synthesized_fonts): Removed.
!       (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
!       (struct enumfont_t): New element; list.
!       (enum_font_cb2): List all style and charset variations of a font.
!       (Fw32_select_font): New optional argument; include_proportional.
!       Exclude vertical fonts.  Exclude proportional fonts unless
!       include_proportional is non-nil.
!       (w32_enable_synthesized_fonts): Change to a boolean.
!       (Fw32_send_sys_command): Doc fix.
! 
! 2002-01-19  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * dispnew.c (update_frame): Move the variable `tem' to the block
!       where it is used.
! 
! 2002-01-19  Jason Rumney  <address@hidden>
! 
!       * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
!       call to face-set-after-frame-default.
! 
! 2002-01-18  Richard M. Stallman  <address@hidden>
! 
!       * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
!       (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
! 
! 2002-01-17  Richard M. Stallman  <address@hidden>
! 
!       * window.c (enlarge_window): When exceeding size of parent,
!       directly delete all the siblings instead of trying to resize it.
! 
! 2002-01-17  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * term.c (set_tty_color_mode): Remove unused variable `tem'.
! 
! 2002-01-16  Henrik Enberg  <address@hidden>
! 
!       * lread.c (init_lread): Move the installed-lisp dirs later in the path.
! 
! 2002-01-16  Kim F. Storm  <address@hidden>
! 
!       * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
!       is invisible.  This can happen if cursor is on top line of a
!       window, and we switch to a buffer with a header line.
! 
!       * w32term.c (x_erase_phys_cursor): Ditto.
! 
! 2002-01-16  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
!       `dont_resize' only when used.
! 
!       * xdisp.c: Remove forgotten extern declaration of `Qimage'.
! 
! 2002-01-15  Eli Zaretskii  <address@hidden>
! 
!       * xdisp.c (display_mode_element): When computing charpos, depend
!       on multibyteness of elt, not the text in field.
! 
! 2002-01-15  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * buffer.c (Fkill_all_local_variables):
!       Increment `update_mode_lines' only once.
! 
! 2002-01-14  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * lisp.h (adjust_after_replace_noundo)
!       (Fupdate_coding_systems_internal): Add prototypes.
! 
!       * sound.c (Fplay_sound): Initialize header_size also for :data case.
! 
! 2002-01-14  Eli Zaretskii  <address@hidden>
! 
!       Support for the --color command-line argument and tty-color-mode
!       frame parameter:
! 
!       * term.c (tty_default_color_capabilities, tty_setup_colors)
!       (set_tty_color_mode): New functions.
!       (term_init): Call tty_default_color_capabilities.
!       (Qtty_color_mode_alist): New variable.
!       (syms_of_term): Intern and staticpro it.
! 
!       * frame.c (store_frame_param): Call set_tty_color_mode for termcap
!       frames.
!       (do_switch_frame): For termcap frames, switch the tty
!       color mode as specified by the frame's parameters.
!       (Qtty_color_mode): New variable.
!       (syms_of_frame): Intern and staticpro it.
! 
!       * emacs.c (USAGE2): Add the --color option.
!       (standard_args): Ditto.
! 
! 2002-01-13  Jan Dj,Ad(Brv  <address@hidden>
! 
!       * xterm.h (struct x_output): New members want_fullscreen,
!       x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
!       y_pixels_outer_diff.
!       New enum for FULLSCREEN_* constants.
!       (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
!       is NULL.
!       (x_fullscreen_adjust): Add prototype.
! 
!       * emacs.c (USAGE2): Add the new full-screen arguments.
!       (standard_args): Ditto.
! 
!       * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
!       New variables.
!       (syms_of_xfns): Intern and staticpro them.
!       (x_frame_parms) <"fullscreen">: New parameter.
!       (x_fullscreen_move, x_set_fullscreen): New functions.
!       (x_set_frame_parameters): Support for Qfullscreen.
!       (x_real_positions): More accurate computation of the frame position.
!       (x_figure_window_size): Support full-screen frames.
!       (Fx_create_frame): Default the fullscreen parameter.
! 
!       * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
!       (XTread_socket) <Expose>: Call x_check_fullscreen.
!       <ConfigureNotify>: Don't resize to fullscreen.
!       Call x_check_fullscreen_move, and set the want_fullscreen member of
!       output_data.x.
! 
! 2002-01-13  Jason Rumney  <address@hidden>
! 
!       * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
!       for mice with more than 3 buttons.
! 
!       * w32term.c (parse_button): New parameter xbutton.  Callers changed.
!       (w32_read_socket): Handle new "XBUTTON" messages.
! 
!       * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
!       (syms_of_w32fns): DEFVAR_BOOL it.
!       (w32_wnd_proc): Handle new "XBUTTON" messages.
! 
! 2002-01-13  Pavel Jan,Am(Bk  <address@hidden>
! 
!       * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
  
! 2002-01-13  Andreas Schwab  <address@hidden>
  
!       * xterm.c (x_load_font): Never set fonts_changed_p to zero.
  
! 2002-01-12  Andreas Schwab  <address@hidden>
  
!       * .gdbinit (xbuffer): Remove address operator since data is now a
!       pointer.
  
! 2002-01-11  Richard M. Stallman  <address@hidden>
  
!       * insdel.c (adjust_after_replace_noundo): New function.
  
!       * coding.c (code_convert_region): Don't copy old text if undo disabled.
  
! 2002-01-09  Jason Rumney  <address@hidden>
  
!       * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
!       when checking for multiple frames.
  
! 2002-01-08  Richard M. Stallman  <address@hidden>
  
!       * window.c (delete_window): Rewrite the code for changing the
!       selected window to handle the case where WINDOW is not a leaf.
  
! 2002-01-07  Eli Zaretskii  <address@hidden>
  
!       * process.c (send_process): Set src_multibyte to 1 after the call
!       top setup_coding_system, not before the call.
  
! 2002-01-07  Jason Rumney  <address@hidden>
  
!       * xmenu.c (set_frame_menubar, xmenu_show):
!       (xdialog_show): Initialize wv->help to Qnil.
  
!       * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
!       (w32_dialog_show): Initialize wv->help to Qnil.
  
! 2002-01-06  Jason Rumney  <address@hidden>
  
!       * xmenu.c (single_submenu): Initialize wv->help to Qnil.
  
!       * w32menu.c (w32_menu_display_help): Revert last change.
  
!       * xmenu.c (menu_highlight_callback): Revert last change.
  
! 2002-01-06  Andreas Schwab  <address@hidden>
  
!       * insdel.c (make_gap_larger): Make sure buffer size does not
!       overflow range of int.
  
! 2002-01-05  Jason Rumney  <address@hidden>
  
!       * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
!       OVERLAPS_P.
  
!       * w32menu.c (w32_menu_display_help): Hide any tooltip window.
  
!       * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
!       to the left or to the right of the pointer, put it against
!       the left screen edge.
!       (x_frame_parms): Add missing braces around initializer.
  
!       * w32term.c (x_setup_relief_colors): Don't compute an image's
!       background color if it doesn't have a Pixmap.
!       (notice_overwritten_cursor): Don't depend on
!       output_cursor and updated_area.  Compare pixel coordinates with
!       window's cursor pixel coordinates.
!       (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
!       Call notice_overwritten_cursor with new arg list.
!       (show_mouse_face): Fix bug setting a row's mouse_face_p flag
!       unconditionally.
!       (x_draw_image_relief): Use predefined macro instead of
!       constant when the value of `tool_bar_button_relief' is negative.
  
!       * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
  
! 2002-01-04  Richard M. Stallman  <address@hidden>
  
!       * xmenu.c (menu_highlight_callback): Hide any tooltip window.
  
! 2002-01-03  Richard M. Stallman  <address@hidden>
  
!       * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
!       (Fkey_binding): Try the `keymap' property map first.
!       (Fdescribe_buffer_bindings): Show `keymap' property bindings before
!       minor mode bindings.
  
! 2002-01-03  Kim F. Storm  <address@hidden>
  
!       * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
  
! 2002-01-02  Richard M. Stallman  <address@hidden>
  
!       * keyboard.c (read_key_sequence): Handle the keymap property
!       before minor mode maps.
  
!       * editfns.c (Fformat): Update thissize from field_width
!       based on the actual width, in the string case.
  
! 2002-01-01  Pavel Jan,Am(Bk  <address@hidden>
  
!       * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
!       when used as truth value to prevent gcc warnings.
  
!       * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
!       * w32proc.c: Include <config.h>.
  
! 2002-01-01  Andreas Schwab  <address@hidden>
  
!       * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
!       not EMACS_INT, to make them compatible with DEFVAR_INT.
!       * lisp.h (max_specpdl_size): Adjust declaration.
  
! 2002-01-01  Richard M. Stallman  <address@hidden>
  
!       * print.c (print_object): Test print_escape_nonascii only for
!       unibyte strings.
!       (PRINTPREPARE): Once again bind Qprint_escape_nonascii
!       when outputting to a multibyte buffer.
  
! 2001-12-29  Richard M. Stallman  <address@hidden>
  
!       * print.c (print_object): In multibyte string, use hex escapes.
!       Use octal only for unibyte strings.
!       (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
  
!       * lread.c (read_escape): New arg BYTEREP for reporting whether
!       escape forces unibyte or multibyte.
!       (read1): When reading a string, take note of that info.
  
! 2001-12-29  Ken Raeburn  <address@hidden>
  
!       * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
!       comparison to test lisp value returned by Fget.
  
! 2001-12-29  Richard M. Stallman  <address@hidden>
  
!       * lisp.h (max_specpdl_size): Add declaration.
  
!       * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
  
!       * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
!       Handle modifier bits.  Correct typo in error message.
  
! 2001-12-28  Richard M. Stallman  <address@hidden>
  
!       * abbrev.c: Use the plist of an abbrev for multiple params if nec.
!       (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
!       (Fdefine_global_abbrev, Fdefine_mode_abbrev):
!       Update calls to Fdefine_abbrev.
!       (write_abbrev): Update for changed data format.
!       Don't list "system" abbrevs.
!       (Fexpand_abbrev): Update use count with new data format.
!       (describe_abbrev): Update for changed data format.
!       (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
  
!       * config.in (HAVE_MBSINIT): Add #undef.
  
!       * strftime.c (mbsinit): Define as no-op if not available.
  
!       * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
!       (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
  
!       * keymap.c (Flookup_key): Error message if key has wrong data type.
!       (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
!       (exclude_key): New variable.
  
! 2001-12-28  Gerd Moellmann  <address@hidden>
  
!       * xterm.c (x_setup_relief_colors): Don't compute an image's
!       background color if it doesn't have a Pixmap.
  
!       * xterm.c (notice_overwritten_cursor): Don't depend on
!       output_cursor and updated_area.  Compare pixel coordinates with
!       window's cursor pixel coordinates.
!       (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
!       Call notice_overwritten_cursor with new arg list.
!       (show_mouse_face): Fix bug setting a row's mouse_face_p flag
!       unconditionally.
  
!       * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
!       height of the cursor line to the amount to scroll.
  
! 2001-12-27  Richard M. Stallman  <address@hidden>
  
!       * intervals.c (set_point_both): The position after an invisible,
!       intangible character is not an acceptable stopping point.
  
! 2001-12-27  Ken Raeburn  <address@hidden>
  
!       * window.c (enlarge_window): In new preserve_before code, convert
!       CURBEG from lisp object to integer before doing arithmetic.
  
! 2001-12-27  Richard M. Stallman  <address@hidden>
  
!       * bytecode.c (Fbyte_code): Undo previous change.
  
! 2001-12-26  Kim F. Storm  <address@hidden>
  
!       * keyboard.c (record_char): Ignore duplicate help-echo events only
!       separated by mouse-movement.  When tracking mouse, only record
!       first and last mouse-movement event in same window.
!       Don't record mouse-movement events in keyboard macros.
  
! 2001-12-25  Richard M. Stallman  <address@hidden>
  
!       * window.c (enlarge_window): New arg PRESERVE_BEFORE.  Callers changed.
!       (Fenlarge_window): New arg PRESERVE_BEFORE.
  
!       * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
!       instead of Fstring_as_unibyte.
  
! 2001-12-22  Pavel Jan,Am(Bk  <address@hidden>
  
!       The following changes remove mocklisp support:
  
!       * mocklisp.h, mocklisp.c: Files removed.
  
!       * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
!       `Qmocklisp' and `Qmocklisp_arguments'.
!       Remove prototype of syms_of_mocklisp.
  
!       * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
  
!       * callint.c: Do not include mocklisp.h.
!       (Fcall_interactively): Do not test for mocklisp case.
  
!       * eval.c: Remove variables `Qmocklisp_arguments',
!       `Vmocklisp_arguments' and `Qmocklisp'.  Remove prototype of ml_apply.
!       (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
!       Do not test for mocklisp case.
!       (Fwhile): Remove unused variable `tem'.
!       (syms_of_eval): Remove variable `moclisp-arguments'.
  
!       * data.c (wrong_type_argument): Remove mocklisp case.
  
!       * doc.c (Fdocumentation): Remove mocklisp case.
  
!       * emacs.c (main): Do not call syms_of_mocklisp.
  
! 2001-12-21  Richard M. Stallman  <address@hidden>
  
!       * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
!       to the left or to the right of the pointer, put it against
!       the left screen edge.
  
! 2001-12-21  Eli Zaretskii  <address@hidden>
  
!       * Makefile.in (distclean): Remove .gdbinit if we are building
!       outside the source tree.
  
! 2001-12-19  Eli Zaretskii  <address@hidden>
  
!       * w32.c (emacs_root_dir): New function.
  
!       * msdos.c (emacs_root_dir): New function.
  
!       * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
!       of the current drive as the fallback for default_directory.
  
!       * dired.c (file_name_completion): Run the elements of
!       completion-ignored-extensions through ENCODE_FILE.
  
!       * lisp.h (scmp): Remove prototype, since it's now a static
!       function private to dired.c.
  
! 2001-12-18  Richard M. Stallman  <address@hidden>
  
!       * dired.c (scmp): Function moved from minibuf.c.
!       Delete multibyte handling--used only on encoded strings.
  
!       * minibuf.c (scmp): Function moved to dired.c.
  
!       * fns.c (merge): Add QUIT call.
  
! 2001-12-18  Dave Love  <address@hidden>
  
!       * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
!       language/georgian.el.
  
! 2001-12-18  Eli Zaretskii  <address@hidden>
  
!       * Makefile.in (lisp, shortlisp): Synchronize with changes to
!       lisp/Makefile.in:DONTCOMPILE.
  
! 2001-12-18  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xdisp.c (window_box_height): Do not return negative values.
!       From Gerd Moellmann <address@hidden>.
  
!       * keyboard.c (head_table): Add missing braces around initializer.
  
!       * term.c (keys): Likewise.
  
!       * xfns.c (x_frame_parms, visual_classes): Likewise.
  
! 2001-12-17  Sam Steingold  <address@hidden>
  
!       * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
!       patch (COMPOSING_P, not COMPOSING).
  
! 2001-12-17  Richard M. Stallman  <address@hidden>
  
!       * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
  
!       * coding.c (code_convert_region): Update coding->cmp_data->char_offset
!       before calling decode_coding.
  
!       * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
  
!       * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
!       instead of only for COMPOSITION_DISABLED.
  
! 2001-12-16  Richard M. Stallman  <address@hidden>
  
!       * alloc.c (pure_alloc): After overflow, allocate just a small block.
  
!       * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
  
!       * buffer.h (struct buffer): New field `display_error_modiff'.
!       * buffer.c (reset_buffer): Initialize `display_error_modiff'.
  
!       * window.c (Frecenter): Clear display_error_modiff field.
  
!       * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
!       Call redisplay_window, but not if display_error_modiff field says no.
!       (redisplay_window_error): New function.
!       (displayed_buffer): New variable.
!       (redisplay_internal, redisplay_windows): Call the new functions
!       instead of redisplay_window directly.
  
! 2001-12-15  Richard M. Stallman  <address@hidden>
  
!       * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
  
! 2001-12-14  Andrew Innes  <address@hidden>
  
!       * makefile.w32-in (EMACSLOADPATH): Define.
!       ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
!       (bootstrap-temacs): Remove dependency on bootstrap-clean.
  
! 2001-12-13  Eli Zaretskii  <address@hidden>
  
!       * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
!       parameter have a numeric value all the time.
  
!       * w32fns.c (x_report_frame_params): Likewise.
  
! 2001-12-12  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Fwrite_region): Doc fix.
  
!       * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
!       (redisplay_internal): Call clear_image_cache only for window terminals.
  
! 2001-12-12  Gerd Moellmann  <address@hidden>
  
!       * xdisp.c (move_it_vertically_backward): Change heuristic
!       for the case that we didn't move far enough initially.
  
!       * window.c (Frecenter): Simplify computation in the case of window
!       system frames and ARG < 0; use window_box_height.
  
! 2001-12-11  Richard M. Stallman  <address@hidden>
  
!       * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
!       * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
  
! 2001-12-11  Andrew Innes  <address@hidden>
  
!       * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
!       arg is negative.
  
! 2001-12-11  Richard M. Stallman  <address@hidden>
  
!       * m/hp800.h: Split the __hpux conditional into the parts
!       that are right for GNU/Linux too and the parts that are not.
!       Use the former if GNU_LINUX.
!       (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
  
!       * s/gnu-linux.h (GNU_LINUX): Defined.
  
! 2001-12-11  Pavel Jan,Am(Bk  <address@hidden>
  
!       * macros.c, msdos.c, w16select.c: Change doc-string comments to
!       `new style' [w/`doc:' keyword].
  
! 2001-12-10  Jason Rumney  <address@hidden>
  
!       * w32menu.c (w32_free_submenu_strings): Clear menu item struct
!       before using.
  
! 2001-12-09  Pavel Jan,Am(Bk  <address@hidden>
  
!       * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
!       keyword].
  
! 2001-12-09  Eli Zaretskii  <address@hidden>
  
!       * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
  
!       * s/hpux10.h (srand48): Don't undefine.
  
! 2001-12-09  Jason Rumney  <address@hidden>
  
!       * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
!       Add     comment to explain where the struct came from.
!       (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
!       (add_menu_item): Process pop-up menus first to avoid memory leak.
!       (add_menu_item, w32_menu_display_help): Use `help' field as
!       Lisp_Object.
!       (w32_free_submenu_strings): Only free owner-drawn strings.
  
! 2001-12-09  Pavel Jan,Am(Bk  <address@hidden>
  
!       * COPYING: Moved back.
  
!       * charset.c (char_to_string_1, translate_char, Fdefine_charset):
!       Add parentheses around && within ||.
  
!       * indent.c (compute_motion): Likewise.
  
!       * intervals.c (merge_properties_sticky): Likewise.
  
!       * coding.c (setup_coding_system, shrink_encoding_region)
!       (Fdecode_sjis_char): Likewise.
  
! 2001-12-07  Andreas Schwab  <address@hidden>
  
!       * xdisp.c (display_mode_element): Don't read past end of string if
!       it ends with '%'.
  
!       * alloc.c (inhibit_garbage_collection): Don't exceed value an int
!       can hold.
  
!       * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
!       Rename from most_positive_fixnum and most_negative_fixnum, resp., and
!       type changed to Lisp_Object.
!       (syms_of_data): DEFVAR_LISP them.
  
! 2001-12-07  Richard M. Stallman  <address@hidden>
  
!       * callproc.c (init_callproc): Set Vdata_directory based on the source
!       location whenever Emacs was run uninstalled.
  
! 2001-12-06  Paul Eggert  <address@hidden>
  
!       * config.in (HAVE_WORKING_VFORK): New #undefs.
!       * process.c (create_process):
!       Use HAVE_WORKING_VFORK, not HAVE_VFORK.
!       * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
!       * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
!       * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
!       * m/intel386.h (HAVE_VFORK): Likewise.
!       * m/mips-siemens.h (HAVE_VFORK): Likewise.
!       * m/mips.h (HAVE_VFORK): Likewise.
!       * s/freebsd.h (vfork): Remove #define.
!       * s/lynxos.h (HAVE_VFORK): Remove #undef.
!       * s/usg5-4-2.h: Fix comment about vfork.
  
! 2001-12-06  Richard M. Stallman  <address@hidden>
  
!       * s/hpux10.h (random): Add undef.
!       (HAVE_RANDOM): Define it just once.
  
! 2001-12-06  Stefan Monnier  <address@hidden>
  
!       * eval.c: Undo last change: the standard syntax is not wanted.
  
! 2001-12-06  Eli Zaretskii  <address@hidden>
  
!       * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
!       scroll bars of the frame before deleting the frame itself.  If the
!       frame has a widget, delete the frame with XtDestroyWidget, and do
!       not call XDestroyWindow before that.
  
! 2001-12-06  Kim F. Storm  <address@hidden>
  
!       * xfns.c (x_report_frame_params): Return actual fringe widths.
  
!       * w32fns.c (x_report_frame_params): Return actual fringe widths.
  
! 2001-12-05  Andrew Innes  <address@hidden>
  
!       * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
!       excessively large.
  
!       * insdel.c (make_gap_larger): New function.
!       (make_gap_smaller): New function.
!       (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
!       Call make_gap_smaller if arg is negative.
  
! 2001-12-04  Stefan Monnier  <address@hidden>
  
!       * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
!       Pass a dummy argument when calling interrupt_signal.
!       (parse_menu_item): Mark disabled items before checking for empty def.
!       (read_char_minibuf_menu_prompt): Make safety more visible.
!       (read_key_sequence): Add a `first_unbound' variable.
!       Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
!       unbound prefix as soon as we can detect it.
  
!       * doc.c (Fsnarf_documentation): Add prototype.
!       (get_doc_string): Handle negative arguments.
!       (Fdocumentation): Use AREF and ASIZE.
!       Move the calls to get_doc_string to a single place.
!       Don't confuse an interactive-spec for a docstring reference.
!       (Fdocumentation_property): Take advantage of the fact that
!       get_doc_string now ignores the sign of the docstring position.
  
!       * eval.c: Use standard syntax for usage in docstrings.
  
! 2001-12-03  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
  
! 2001-12-02  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xterm.c (x_draw_image_relief): Use predefined macro instead of
!       constant when the value of `tool_bar_button_relief' is negative.
  
! 2001-12-02  Richard M. Stallman  <address@hidden>
  
!       * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
!       (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
  
!       * fileio.c (read_non_regular): Delete Fsignal call.
  
! 2001-12-01  Stefan Monnier  <address@hidden>
  
!       * lisp.h (run_hook_list_with_args): Undo last change.
  
! 2001-12-01  Gerd Moellmann  <address@hidden>
  
!       * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
  
! 2001-12-01  Jason Rumney  <address@hidden>
  
!       * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
  
!       * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
!       [!WM_MOUSELEAVE]: Define.
  
!       * w32menu.c (current_popup_menu, get_menu_item_info):
!       (set_menu_item_info): New vars.
!       (set_frame_menubar): Doc fix clarifying GC interaction with menus.
!       (w32_menu_show): Set current_popup_menu.
!       (add_menu_item): Allocate new strings for owner-drawn menu items
!       and help strings.
!       Use owner-draw for disabled menu items again.
!       (w32_menu_display_help): Ignore owner-drawn items and popup menus.
!       (w32_free_submenu_strings, w32_free_menu_strings): New functions.
  
!       * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
!       (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
!       <WM_EXITMENULOOP>: Free menu strings.
!       <WM_MOUSELEAVE>: Stop tracking mouse.
!       (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
  
!       * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
!       and mouse face.
  
! 2001-12-01  Kim F. Storm  <address@hidden>
  
!       The following changes add left-fringe and right-fringe
!       frame parameters to adjust fringe widths, or remove one or
!       both fringes.
  
!       * frame.h (struct frame): Remove trunc_area_pixel_width and
!       trunc_area_cols fields.
!       (Qleft_fringe, Qright_fringe): Declare.
!       (FRAME_RIGHT_FRINGE_WIDTH): New macro.
  
!       * frame.c (Qleft_fringe, Qright_fringe): New vars.
!       (syms_of_frame): Initialize them.
  
!       * window.c (coordinates_in_window): Handle separate left and right
!       fringe widths.
  
!       * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
!       and fringe_cols fields.
!       (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
!       (FRAME_X_FRINGE_COLS): Use fringe_cols field.
!       (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
!       (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
!       (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
!       (x_compute_fringe_widths): Add prototype.
  
!       * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
!       fill fringe evenly with small dashes.
!       (x_draw_fringe_bitmap): Clear background if necessary. Align and
!       clip the new ZV bitmap to avoid jitter between rows.
!       (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
!       background.  Don't draw fringe bitmaps if fringe width is zero.
!       (x_compute_fringe_widths): New function.
!       (x_new_font, x_set_window_size_1): Use it.
  
!       * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
!       (x_set_frame_parameters): Process `font' parameter before other
!       parameters as fringe widths depend on it.
!       (x_set_fringe_width): New function.
!       (x_figure_window_size): Use x_compute_fringe_widths.
!       (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
!       parameters.
  
!       * widget.c (set_frame_size): Use x_compute_fringe_widths.
!       (EmacsFrameSetCharSize): Ditto.
  
!       * w32term.h: Merged changes from xterm.h.
!       * w32term.c: Merged changes from xterm.c.
!       * w32fns.c: Merged changes from xfns.c.
  
! 2001-11-29  Pavel Jan,Am(Bk  <address@hidden>
  
!       * COPYING: Removed.
  
! 2001-11-29  Dave Love  <address@hidden>
  
!       * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
!       extra extra slot.
!       (detect_coding_mask): Fix call of detect_coding_iso2022.
  
! 2001-11-29  Pavel Jan,Am(Bk  <address@hidden>
  
!       * fileio.c (file-name-coding-system)
!       (default-file-name-coding-system): Doc fix (links to referenced
!       variables added).
  
! 2001-11-28  Stefan Monnier  <address@hidden>
  
!       * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
!       Add dummy uses of gcproN variables.
  
!       * category.c (describe_category, describe_category_1)
!       (Fdescribe_categories): Remove.  (Moved to lisp/help-fns.el.)
!       (syms_of_category): Don't defsubr Sdescribe_categories.
  
! 2001-11-28  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
  
!       * Makefile.in (lispdir): New variable, referring to build dir.
!       (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
  
! 2001-11-28  Andrew Innes  <address@hidden>
  
!       * w32menu.c (w32_menu_display_help): Actually add the new argument
!       OWNER.
  
! 2001-11-28  Jason Rumney  <address@hidden>
  
!       * w32menu.c (add_menu_item): Do not use owner-draw for disabled
!       menu items.  From David Ponce <address@hidden>.
!       (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
!       conditionally.
!       (w32_menu_display_help): New argument OWNER. Rewritten to store a
!       help event in the owner frame's keyboard buffer.
  
!       * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
!       (Fx_show_tip): Don't subtract last width from row width.
  
!       * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
!       (w32_read_socket): Use EQ to compare frames.
  
! 2001-11-28  Gerd Moellmann  <address@hidden>
  
!       * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
!       OVERLAPS_P.
  
! 2001-11-28  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xdisp.c (message_dolog): Remove unused variables `gcpro2',
!       `gcpro3' and `gcpro4'.
  
!       * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
  
! 2001-11-28  Stefan Monnier  <address@hidden>
  
!       * ccl.c: Use AREF and ASIZE.
  
! 2001-11-27  Stefan Monnier  <address@hidden>
  
!       * lisp.h (run_hook_list_with_args): Remove.
!       (LIST_END_P): Fix call to wrong_type_argument.
!       (make_fixnum_or_float): Use EMACS_INT rather than int.
  
! 2001-11-26  Stefan Monnier  <address@hidden>
  
!       * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
!       (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
  
!       * eval.c: Use AREF and ASIZE.
!       (Ffetch_bytecode): Add the file name to the error message.
  
!       * fileio.c (Ffind_file_name_handler): Give precedence to handlers
!       which match the end of the file-name.
!       (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
!       is not a valid env var, but leave it as is instead.
  
!       * keymap.c (access_keymap): Handle t bindings like nil bindings.
!       Make nil bindings in char-tables transparent.
!       (store_in_keymap): Turn a nil binding into a t binding for char-tables.
  
! 2001-11-26  Richard M. Stallman  <address@hidden>
  
!       * textprop.c (set_text_properties_1): Allow START, END in either order.
!       Do nothing if range is empty.
  
!       * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
  
!       * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
!       (clean): Not here.
  
! 2001-11-25  Stefan Monnier  <address@hidden>
  
!       * textprop.c (set_text_properties_1): Clearly mark that the
!       interval should not be empty.
  
!       * intervals.c (graft_intervals_into_buffer):
!       Don't call set_text_properties_1 on an empty interval.
  
! 2001-11-25  Richard M. Stallman  <address@hidden>
  
!       * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
  
!       * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
!       don't lose the data in it.
  
! 2001-11-25  Juanma Barranquero  <address@hidden>
  
!       * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
  
!       * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
  
!       * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
  
! 2001-11-25  Stefan Monnier  <address@hidden>
  
!       * xfaces.c (merge_face_heights): Coerce back to int explicitly.
  
! 2001-11-25  Eli Zaretskii  <address@hidden>
  
!       * window.c (Fset_window_vscroll): Doc fix.  From Kalle Olavi
!       Niemitalo <address@hidden>.
  
! 2001-11-25  Jason Rumney  <address@hidden>
  
!       * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
  
!       * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
!       (Fx_show_tip): Block input during frame creation.
!       (Fx_show_tip, Fx_hide_tip): Enable.
  
! 2001-11-24  Richard M. Stallman  <address@hidden>
  
!       * lread.c (Fload): Detect recursive load error for more than 3
!       nestings of the same file.
!       (Vrecursive_load_depth_limit): Variable deleted.
!       (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
  
! 2001-11-24  Jason Rumney  <address@hidden>
  
!       * xfns.c (compute_tip_xy): Initialize root_x and root_y from
!       mouse position if either left or top is not specified.
  
!       * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
!       <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
!       (my_create_tip_window, Fx_show_tip): Adjust size for external border.
!       (my_create_tip_window): Assign tip_window.
!       (x_create_tip_frame): Use same defaults as X.
!       (compute_tip_xy): Remove unused variable.  Use full screen width.
!       (Fx_show_tip): Do not double height. Call ShowWindow directly.
  
!       * w32term.c (x_after_update_window_line): Doc fix.
!       (w32_read_socket): Doc fix.  Avoid SET_FRAME_GARBAGED for tip
!       frames.
!       <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
  
!       * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
!       for all Windowed systems.
  
! 2001-11-23  Eli Zaretskii  <address@hidden>
  
!       * msdos.c (IT_clear_screen): If the frame's faces are not yet
!       realized, use the initial screen colors to clear the screen.
  
! 2001-11-23  Pavel Jan,Am(Bk  <address@hidden>
  
!       * textprop.c (Fset_text_properties): Remove unused variables
!       `unchanged', `prev_changed', `s' and `len'.
  
!       * search.c (Freplace_match): Remove unused variable `inslen'.
  
!       * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
  
! 2001-11-22  Jason Rumney  <address@hidden>
  
!       * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
!       (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
!       (my_create_tip_window): New function.
!       (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
!       (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
  
! 2001-11-20  Jason Rumney  <address@hidden>
  
!       * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
!       (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
  
!       * w32fns.c (Vw32_system_coding_system): Remove.
!       (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
  
! 2001-11-19  Stefan Monnier  <address@hidden>
  
!       * fileio.c (Fwrite_region): Move choose_write_coding_system to
!       after build_annotations.
  
!       * syntax.c (describe_syntax): Add dummy arg.
!       (describe_syntax_1): Update call to describe_vector.
  
!       * category.c (describe_category): Add dummy arg.
!       (describe_category_1): Update call to describe_vector.
  
!       * keymap.c (Fdescribe_vector): Add `describer' parameter.
!       (describe_command, describe_translation): Add dummy second param.
!       (describe_map): Call elt_describer with two arguments.
!       (describe_vector_princ): Add `fun' parameter.
!       Call it instead of the hardcoded `princ'.
!       (describe_vector): Add arg `args'.
!       Pass it as a new second argument to elt_describer.
  
!       * keymap.h (describe_vector): Update prototype.
  
!       * frame.c: Don't include keymap.h any more.
!       (keys_of_frame): Remove.
  
!       * lisp.h (keys_of_frame): Remove declaration.
  
!       * emacs.c (main): Don't call `keys_of_frame' any more.
  
! 2001-11-14  Andreas Schwab  <address@hidden>
  
!       * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
!       if defined, 0 otherwise.
!       (MAP_FAILED): Define if not defined and use it to test mmap failure.
!       (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
  
! 2001-11-19  Richard M. Stallman  <address@hidden>
  
!       * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
  
! 2001-11-18  Jason Rumney  <address@hidden>
  
!       * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
!       (x_draw_bar_cursor): If the background color of the glyph under
!       the cursor equals the frame's cursor color, use the glyph's
!       foreground color for drawing the bar cursor.
!       (x_after_update_window_line): Clear internal border in different
!       circumstances.
!       (w32_set_vertical_scroll_bar): Check for width and height > 0.
!       (w32_draw_relief_rect): Correct relief by 1 pixel.
!       (x_set_glyph_string_background_width):
!       Set extends_to_end_of_line_p if the row's fill_line_p is set and
!       drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
!       (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
!       if cursor_in_non_selected_windows is false.
!       (show_mouse_face): Clean up.  Recognize overwritten cursor differently.
!       (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
!       Notice if cursor gets overwritten.
!       (notice_overwritten_cursor): Renamed from
!       note_overwritten_text_cursor.  Rewritten to take glyph widths
!       into account, and to take X positions as parameters.
!       (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
!       around call to x_draw_glyphs.
!       (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
!       `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
!       color to use for image glyph reliefs.
!       (x_draw_image_relief): Accept zero tool_bar_button_relief.
!       (glyph_rect): Remove unused variable `area'.
  
!       * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
!       some items.
!       (x_set_internal_border_width): Set frame garbaged when window
!       doesn't exist yet.
!       (Fx_create_frame): Accept zero tool_bar_button_relief.
!       (x_clear_image_1, four_corners_best, image_background)
!       (image_background_transparent): New functions.
!       (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
!       (gs_format): Add `:background' entry.
!       (lookup_image): Set IMG's background color if specified.
!       (pbm_load, xbm_load_image, png_load): Set IMG's background field
!       when appropriate.
!       (x_clear_image_1): Reset `background_valid' and
!       `background_transparent_valid' fields.
!       (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
!       calculating it here.  Set IMG's background_transparent field.
!       (enum xpm_keyword_index): Add XPM_BACKGROUND.
!       (enum png_keyword_index): Add PNG_BACKGROUND.
!       (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
!       (enum tiff_keyword_index): Add TIFF_BACKGROUND.
!       (enum gif_keyword_index): Add GIF_BACKGROUND.
!       (enum gs_keyword_index): Add GS_BACKGROUND.
!       (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
!       Pre-calculate image background color where necessary.
!       (x_create_x_image_and_pixmap, xbm_load, gs_load):
!       Use display info's n_cbits entry for screen depth.
!       (Fx_show_tip): Remove unused variables `buffer', `top',
!       `left', `max_width' and `max_height'.
  
!       * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
  
! 2001-11-18  Gerd Moellmann  <address@hidden>
  
!       * puresize.h (BASE_PURESIZE): Increase to 750000.
  
! 2001-11-18  Pavel Jan,Am(Bk  <address@hidden>
  
!       * frame.c (Fframe_live_p): Doc fix.
  
! 2001-11-18  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (message_dolog_marker1, message_dolog_marker2)
!       (message_dolog_marker3): New static variables hold three markers.
!       (syms_of_xdisp): Initialize and staticpro them.
!       (message_dolog): Use message_dolog_marker1..3 instead of
!       allocating markers each time.  Unchain them when done.
  
! 2001-11-17  Richard M. Stallman  <address@hidden>
  
!       * doc.c (Fsnarf_documentation): Doc fix.
  
! 2001-11-17  Andreas Schwab  <address@hidden>
  
!       * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
  
! 2001-11-17  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
  
! 2001-11-17  Jason Rumney  <address@hidden>
  
!       * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
  
! 2001-11-17  Gerd Moellmann  <address@hidden>
  
!       * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
!       with invalid position.
  
! 2001-11-16  Richard M. Stallman  <address@hidden>
  
!       * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
  
!       * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
!       * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
!       * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
  
!       * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
  
! 2001-11-16  Stefan Monnier  <address@hidden>
  
!       * fileio.c (build_annotations): Split off the tail.
!       (build_annotations_2): New fun.  Extracted from build_annotations.
!       (Fwrite_region): Split the call to build_annotations into two
!       calls to build_annotations and build_annotations_2.
  
! 2001-11-16  Pavel Jan,Am(Bk  <address@hidden>
  
!       * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
!       clear_waiting_for_input with argument.
  
!       * xterm.h (x_update_cursor): Remove duplicated prototype.
  
!       * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
  
!       * xterm.c (waiting_for_input): Remove unnecessary declaration.
  
!       * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
  
! 2001-11-16  Stefan Monnier  <address@hidden>
  
!       * fileio.c (choose_write_coding_system): New fun, extracted
!       from Fwrite_region.
!       (Fwrite_region): Use it.
  
!       * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
!       (funcall_lambda, run_hook_with_args): Make static and add prototype.
!       (ml_apply, find_handler_clause): Add prototype.
  
! 2001-11-16  Eli Zaretskii  <address@hidden>
  
!       * config.in: Add #undef HAVE_COFF_H.
  
!       * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
!       Required for ISC 4.1.
  
! 2001-11-16  Eli Zaretskii  <address@hidden>
  
!       * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1.  Reported by
!       Andrew Wiseman <address@hidden>.
  
! 2001-11-16  Kim F. Storm  <address@hidden>
  
!       The following changes are made to clean up the various internal
!       references to the fringes to actually use the term `fringe' for
!       them.  Previously, they were called `flags areas', `bitmap areas',
!       `left/right side of windows', or implicitly as `flags' or
!       `bitmaps':
  
!       * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
!       Comments fixed. Use renamed symbols.
  
!       * dispnew.c: Comment fix. Use renamed symbols.
  
!       * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
!       (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
!       (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
  
!       * msdos.c: Comment fix.
  
!       * w32fns.c: Use renamed symbols.
  
!       * w32term.c: Comment fixes. Use renamed symbols.
!       (fringe_bitmap_type): Renamed from bitmap_type.
!       (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
!       (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
!       (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
  
!       * w32term.h: Comment fixes. Use renamed symbols.
!       (fringes_extra): Renamed from flags_areas_extra.
!       (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
!       (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
!       (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
!       (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
!       (FRAME_X_LEFT_FRINGE_WIDTH):
!       Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
!       (FRAME_X_RIGHT_FRINGE_WIDTH):
!       Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
  
!       * widget.c: Use renamed symbols.
  
!       * window.c: Comment fixes. Use renamed symbols.
!       (coordinates-in-window-p): Doc fix.
  
!       * xdisp.c: Comment fixes. Use renamed symbols.
  
!       * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
  
!       * xfns.c: Use renamed symbols.
  
!       * xterm.c: Comment fixes. Use renamed symbols.
!       (fringe_bitmap_type): Renamed from bitmap_type.
!       (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
!       (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
!       (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
  
!       * xterm.h: Comment fixes. Use renamed symbols.
!       (fringes_extra): Renamed from flags_areas_extra.
!       (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
!       (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
!       (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
!       (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
!       (FRAME_X_LEFT_FRINGE_WIDTH):
!       Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
!       (FRAME_X_RIGHT_FRINGE_WIDTH):
!       Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
  
! 2001-11-15  Jason Rumney  <address@hidden>
  
!       * w32menu.c (add-menu-item): Make help_echo and radio buttons
!       work for most menu items.  From David Ponce
!       <address@hidden>.
  
! 2001-11-15  Gerd Moellmann  <address@hidden>
  
!       * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
!       Some x_set_* function expect to be called even if old and new
!       value are equal.
  
!       * xdisp.c (build_desired_tool_bar_string): Accept zero
!       tool_bar_button_relief.
  
!       * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
  
!       * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
  
!       * xterm.c (x_draw_bar_cursor): If the background color of the
!       glyph under the cursor equals the frame's cursor color, use
!       the glyph's foreground color for drawing the bar cursor.
  
!       * dispnew.c (direct_output_forward_char): Fix character/byte
!       position comparison.
  
! 2001-11-15  Miles Bader  <address@hidden>
  
!       * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
!       (Fdelete_field, Ffield_string, Ffield_string_no_properties):
!       Update arguments to find_field.
!       (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
!       (Fconstrain_to_field): Use LIMIT arg to shorten search time.
!       * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
!       * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
  
! 2001-11-14  Richard M. Stallman  <address@hidden>
  
!       * editfns.c (Fpropertize): Allow call with 1 arg.
  
!       * dispextern.h (image_background, image_background_transparent):
!       Conditionalize on HAVE_X_WINDOWS.
  
! 2001-11-13  Richard M. Stallman  <address@hidden>
  
!       * print.c (Fprin1_to_string): Doc fix.
  
!       * sunfns.c (Fsun_change_cursor_icon): Doc fix.
  
!       * floatfns.c (Fceiling, Ffloor): Doc fixes.
  
!       * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
  
!       * fileio.c (Ffile_accessible_directory_p): Doc fix.
  
!       * eval.c (syms_of_eval): Doc fix.
  
!       * coding.c (syms_of_coding): Doc fix.
  
!       * doc.c (Fsnarf_documentation): Doc fix.
  
!       * dispnew.c (syms_of_display): Doc fix.
  
!       * category.c (Fget_unused_category): Doc fix.
  
!       * buffer.c (syms_of_buffer): Doc fixes.
  
! 2001-11-14  Eli Zaretskii  <address@hidden>
  
!       * print.c (prin1, print): Doc fix.
  
! 2001-11-14  Pavel Jan,Am(Bk  <address@hidden>
  
!       * fontset.h: Remove declarations of variables
!       `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
  
!       * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
!       `Vclip_large_size_font'.
  
! 2001-11-13  Jason Rumney  <address@hidden>
  
!       * w32fns.c: Doc fix.
  
! 2001-11-13  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xfaces.c (Fface_attributes_as_vector): Doc fix.
  
!       * fns.c: Doc fix.
  
!       * emacs.c: Doc fix.
  
!       * coding.c: Doc fix.
  
!       * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
!       * fontset.c, insdel.c, keymap.c: Change doc-string comments to
!       `new style' [w/`doc:' keyword].
  
! 2001-11-12  Richard M. Stallman  <address@hidden>
  
!       * xterm.c (XTread_socket): Don't update focus for EnterNotify or
!       LeaveNotify events.  Only FocusIn and FocusOut do that now.
!       (x_display_and_set_cursor): Do display hollow cursors in active
!       minibuffer windows when they are not selected.
  
! 2001-11-12  Jason Rumney  <address@hidden>
  
!       * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
!       * w32term.c: Change doc-string comments to `new style'.
!       [w/`doc:' keyword]. Doc fixes.
  
!       * w32fns.c: Don't define max.
!       (Fx_open_connection): Only execute once.
  
! 2001-11-12  Pavel Jan,Am(Bk  <address@hidden>
  
!       * ccl.c: Change macros to use do-while block instead of if-else.
!       Use braces to follow GNU Coding Standards.
  
! 2001-11-11  Richard M. Stallman  <address@hidden>
  
!       * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
  
!       * lread.c (read_escape): Use end_of_file_error for reporting eof.
  
!       * insdel.c (replace_range): Use adjust_markers_for_replace
!       instead of adjust_markers_for_delete and adjust_markers_for_insert.
  
!       * intervals.h: Declare set_text_properties and set_text_properties_1.
  
!       * textprop.c (set_text_properties_1): New subroutine
!       broken out of set_text_properties.
!       (set_text_properties): Use set_text_properties_1.
  
!       * intervals.c (graft_intervals_into_buffer):
!       Use set_text_properties_1 to clear out properties.
  
!       * search.c (Freplace_match): Use replace_range to insert
!       and delete.  Don't request property inheritance from
!       surrounding text.
  
! 2001-11-10  Jason Rumney  <address@hidden>
  
!       * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
!       vertical fonts. Allow them if face name is explicitly specified.
!       Do not give up if we find a font that cannot be converted to an xlfd.
  
! 2001-11-10  Gerd Moellmann  <address@hidden>
  
!       * unexelf.c (unexec): Use mmap/munmap to allocate buffers
!       instead of malloc/free.
  
! 2001-11-09  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xfaces.c (merge_face_vectors): Use braces to follow GNU
!       Coding Standards.
!       (Finternal_set_lisp_face_attribute): Likewise.
  
!       * buffer.c (Fbury_buffer): Likewise.
  
!       * indent.c (current_column_1): Remove unused variable `prev_col'.
  
!       * coding.c (encode_coding): Use precomputed value of `src'.
!       (encode_coding): Remove unused variable `src_end'.
!       (code_convert_region): Remove unused variables `count'.
  
! 2001-11-07  Jason Rumney  <address@hidden>
  
!       * w32term.c (x_display_and_set_cursor): Do not move system caret
!       if cursor_glyph is NULL.
  
! 2001-11-07  Pavel Jan,Am(Bk  <address@hidden>
  
!       * keymap.c (access_keymap): Fix compilation error.
  
! 2001-11-07  Miles Bader  <address@hidden>
  
!       * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
  
! 2001-11-07  Pavel Jan,Am(Bk  <address@hidden>
  
!       * intervals.c (graft_intervals_into_buffer):
!       Remove #ifdef'd-out code.
!       (graft_intervals_into_buffer): Remove unused variable `middle'.
  
!       * lread.c (Feval_region): Remove obsolete #ifdef'd-out
!       code (eval-current-buffer).
!       Change doc-string comments to `new style' [w/`doc:' keyword].
  
! 2001-11-06  Richard M. Stallman  <address@hidden>
  
!       * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
  
! 2001-11-06  Stefan Monnier  <address@hidden>
  
!       * lread.c (read1): Fix behavior with nested backquoting.
  
!       * keyboard.c (make_lispy_event): Check integerness and fix
!       Lisp_Object/int mixup.
  
! 2001-11-06  Pavel Jan,Am(Bk  <address@hidden>
  
!       * fns.c (copy_hash_table): Remove unused variable `v'.
  
!       * fontset.c (fontset_font_pattern): Remove unused variable
!       `family_registry'.
  
!       * indent.c (current_column_1): Remove unused variable `prev_col'.
  
! 2001-11-05  Richard M. Stallman  <address@hidden>
  
!       * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
  
!       * buffer.c (Fkill_buffer): Don't delete auto save file
!       if buffer is modified.
  
! 2001-11-05  Andrew Innes  <address@hidden>
  
!       * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
!       CHECK_NUMBER_CDR.
  
! 2001-11-05  Richard M. Stallman  <address@hidden>
  
!       * unexelf.c (unexec): Minor changes; clean up comments.
  
! 2001-11-05  Sam Steingold  <address@hidden>
  
!       * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
  
! 2001-11-05  Andreas Schwab  <address@hidden>
  
!       * sound.c (sound_perror): Save errno from being clobbered.
  
! 2001-11-05  Dale Hagglund  <address@hidden>
  
!       * unexelf.c (unexec): Don't use `mmap'.  Instead, read and write
!       the program image directly.
  
! 2001-11-05  Pavel Jan,Am(Bk  <address@hidden>
  
!       * buffer.h (Fbuffer_local_value): Add prototype.
  
! 2001-11-04  Richard M. Stallman  <address@hidden>
  
!       * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
!       and CHECK_BUFFER.
  
!       * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
!       (record_char): Likewise.
  
!       * keyboard.c (make_lispy_event): Don't insist a drag event must
!       move to a different buffer position.  Instead, check for moving at
!       least double_click_fuzz.
  
!       * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
  
!       * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
  
!       * indent.c (current_column_1, Fmove_to_column): Separate the code
!       for display-table glyphs from the code for buffer text, to fix
!       bugs in the former.
  
! 2001-11-04  Michael Welsh Duggan  <address@hidden>
  
!       * buffer.c (Fbuffer_local_value): New function.
!       (syms_of_buffer): Defsubr it.
  
!       * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
!       value of `cursor-in-non-selected-windows'.
  
!       * lisp.h (Qcursor_in_non_selected_windows): New declaration.
!       * xdisp.c (Qcursor_in_non_selected_windows): New variable.
!       (syms_of_xdisp): Initialize it.
  
! 2001-11-04  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xfns.c (Fx_create_frame): Doc fix.
  
!       * coding.c: Change doc-string comments to `new style' [w/`doc:'
!       keyword].
  
!       * eval.c (top_level_value, top_level_set): Remove commented and
!       #ifdef'd-out code.
!       (Fdefvar): Fix usage in doc-string.
  
! 2001-11-03  Richard M. Stallman  <address@hidden>
  
!       * xfns.c: Include unistd.h, if it exists.
  
!       * editfns.c: Move the include of ctype.h after unistd.h.
  
!       * gmalloc.c: Test BROKEN_PROTOTYPES.
  
! 2001-11-03  Ken Raeburn  <address@hidden>
  
!       * lisp.h (CHECK_STRING_CAR): New macro.
!       * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
!       treating XCAR and XCDR as lvalues.
!       (openp): Use CHECK_STRING_CAR.
!       (read_list): Use XSETCDR instead of treating XCDR as lvalue.
  
! 2001-11-03  Eli Zaretskii  <address@hidden>
  
!       * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
!       (SIGMASKTYPE): Define.
  
!       * syssignal.h (sigunblock): Don't define if already defined.
  
! 2001-11-02  Pavel Jan,Am(Bk  <address@hidden>
  
!       * eval.c (debugger_may_continue, Vdebug_ignored_errors)
!       (call_debugger, Fcondition_case, skip_debugger, unbind_to):
!       Fix typos in comments.
  
!       * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
!       and #ifdef'd-out code.
!       Fix and reindent comments.
  
!       * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
  
!       * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
!       argument `i' in macros.
  
!       * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
!       `i' in macros.
  
!       * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
!       (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
!       (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
!       (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
!       (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
!       (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
!       (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
!       (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
!       in macros.
  
!       * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
!       * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
!       * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
!       * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
!       * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
!       * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
!       * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
!       * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
!       * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
!       (remove unused second argument).
  
! 2001-11-02  Stefan Monnier  <address@hidden>
  
!       * syntax.c (describe_syntax): New wrapper.
!       (Finternal_describe_syntax_value): Rename from describe_syntax.
!       Don't insert space at front and \n at the end.
!       (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
  
!       * regex.c (re_wctype): Try to fix some warnings.
!       (regcomp, regexec): Don't forget the __restrict.
  
! 2001-11-02  Richard M. Stallman  <address@hidden>
  
!       * textprop.c (Fget_char_property): Doc fix.
  
! 2001-11-02  Pavel Jan,Am(Bk  <address@hidden>
  
!       * process.c (Fstart_process): Add usage to doc-string.
  
!       * data.c (Fsetq_default): Ditto.
  
!       * callint.c (Finteractive): Ditto.
  
! 2001-11-01  Stefan Monnier  <address@hidden>
  
!       * macros.c: Don't include keymap.h any more.
  
! 2001-11-01  Richard M. Stallman  <address@hidden>
  
!       * data.c (Fmake_local_variable): Doc fix.
  
!       * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
!       (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
  
!       * keymap.c (Fdescribe_buffer_bindings): Print character property
        bindings along with or instead of the buffer local map.
        Make the overriding maps override what they should.
  
--- 501,2884 ----
        * gtkutil.c (xg_create_frame_widgets): Check if there is an
        external tool bar before setting tool bar height.
  
! 2003-01-19  Ja
  
!       * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
!       (x_from_xcolors): Adjust RGB values for W32.
!       (image_background, image_background_transparent)
!       (postprocess_image, x_to_xcolors, x_disable_image)
!       (x_build_heuristic_mask): Adapt for W32 and enable.
!       (x_create_x_image_and_pixmap): Mark images with palettes as such.
!       (xbm_load): Remove unused variable.
  
! 2002-11-14  Richard M. Stallman  <address@hidden>
  
!       * buffer.c (syms_of_buffer): Doc fix.
  
! 2002-11-14  Dave Love  <address@hidden>
  
!       * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
  
!       * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
!       * xmenu.c (unuse_menu_items, digest_single_submenu):
!       * xfns.c (x_put_x_image):
!       * xdisp.c (message2_nolog, set_message):
!       * undo.c (record_point):
!       * terminfo.c (tparam):
!       * syntax.c (scan_sexps_forward):
!       * scroll.c (calculate_scrolling, calculate_direct_scrolling):
!       * composite.c (update_compositions):
!       * cm.c (calccost, cmgoto):
!       * charset.c (c_string_width): Declare all args (per C99).
  
!       * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
  
!       * lisp.h (get_specified_cursor_type, get_window_cursor_type):
!       Don't declare.
  
!       * emacs.c (main) [!VMS]: Avoid third arg.
  
!       * fns.c (Fcopy_sequence): Doc fix.
!       (Fmap_char_table): Cast `call2'.
  
! 2002-11-14  Francesco Potorti`  <address@hidden>
  
!       * s/sol2-8.h: New file.
  
! 2002-11-14  Kim F. Storm  <address@hidden>
  
!       * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
!       dependency on `risky-local-variable' and the :propertize form.
  
! 2002-11-12  Stefan Monnier  <address@hidden>
  
!       * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
  
!       * syntax.c (scan_sexps_forward): Undo last patch.
!       Use a more obvious fix: check eob before updating the syntax table.
  
! 2002-11-09  Stefan Monnier  <address@hidden>
  
!       * syntax.c (scan_sexps_forward): Update syntax table before reading
!       a char rather than after so we don't update the table past eob.
  
! 2002-11-09  Dave Love  <address@hidden>
  
!       * buffer.c (Fset_buffer_major_mode): Fix last change.
  
!       * regex.c (regexec): Fix pmatch declaration.
  
!       * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
  
!       * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
!       to self-inserting characters.
!       (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
  
!       * coding.c (Vtranslation_table_for_input): New.
!       (syms_of_coding): DEFVAR it.
  
! 2002-11-08  Juanma Barranquero  <address@hidden>
  
!       * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
!       window.
  
! 2002-11-08  Pavel Jan,Am(Bk  <address@hidden>
  
!       * process.c (Fformat_network_address): Removed unused locals p,
!       cp, and i.
  
! 2002-11-06  Dave Love  <address@hidden>
  
!       * buffer.c (Qset_buffer_major_mode_hook): New.
!       (Fset_buffer_major_mode): Use it.
  
! 2002-11-06  Richard M. Stallman  <address@hidden>
  
!       * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
!       and stop_polling.
  
!       * process.c (wait_reading_process_input):
!       Test POLLING_PROBLEM_IN_SELECT, not hpux.
!       Avoid initialization for auto Lisp_Object var.
  
!       * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
  
!       * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
  
! 2002-11-05  Richard M. Stallman  <address@hidden>
  
!       * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
  
!       * callint.c (Fcall_interactively): New local filter_specs.
!       (Fcall_interactively): Check for progn as well as let.
!       Add a gcpro.
!       (Qprogn): New variable.
!       (syms_of_callint): Staticpro and init Qprogn.
  
! 2002-11-04  John Paul Wallington  <address@hidden>
  
!       * lread.c (Feval_buffer): Doc fix.
  
! 2002-11-04  Dave Love  <address@hidden>
  
!       * keyboard.c (read_char): Always translate iff
!       Vkeyboard_translate_table is a char table and c is valid.
  
!       * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
!       and fix C types.
  
! 2002-11-03  Stefan Monnier  <address@hidden>
  
!       * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
  
!       * editfns.c (get_pos_property): Don't hardcode Qfield.
  
!       * keyboard.c (adjust_point_for_property): Handle `display' prop on
!       overlays.  Also handle `invisible' prop.
  
! 2002-11-02  Stefan Monnier  <address@hidden>
  
!       * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
!       (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
  
! 2002-11-01  Andreas Schwab  <address@hidden>
  
!       * editfns.c (Fmessage): Revert last change to properly handle %%.
  
! 2002-11-01  Stefan Monnier  <address@hidden>
  
!       * xmenu.c (unuse_menu_items): New fun.
!       (menu_items_inuse): New var.
!       (syms_of_xmenu): Initialize it.
!       (init_menu_items): Use it to detect re-entrance.
!       (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
!       (Fx_popup_menu): Remove spurious XSETFRAME.
  
!       * editfns.c (find_field): Make an exception for nil fields.
  
! 2002-11-01  Dave Love  <address@hidden>
  
!       * m/gec63.h: Deleted.
  
! 2002-10-31  Dave Love  <address@hidden>
  
!       * xterm.c (XTread_socket): Fix last change.
!       (xaw_scroll_callback): Cast call_data to long to avoid warning.
  
! 2002-10-31  Stefan Monnier  <address@hidden>
  
!       * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
  
! 2002-10-30  Stefan Monnier  <address@hidden>
  
!       * editfns.c (overlays_around, get_pos_property): New funs.
!       (find_field): Use them.
!       Also be careful not to modify POS before its last use.
!       (Fmessage): Don't Fformat if there's nothing to format.
  
! 2002-10-30  Dave Love  <address@hidden>
  
!       * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
!       [HAVE_PTY_H]; Include pty.h.
  
!       * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
  
!       * xterm.c (Qeql): Declare.
!       (Vx_keysym_table): New.
!       (syms_of_xterm): Initialize it.
!       (XTread_socket): Use it.  Deal with ASCII keysyms.
!       (XSetIMValues) [HAVE_X11R6]: Prototype.
  
!       * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
!       (lispy_kana_keys): Comment out.
!       (make_lispy_event) [XK_kana_A]: Comment out.
!       (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
!       Fix sprintf call.
  
!       * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
!       regexp.h change).
!       (TERMINFO, LIBS_TERMCAP): Define.
  
!       * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
!       (bcmp): Define conditional on HAVE_BCMP.
!       (NO_SIOCTL_H): Don't define.
!       (TIOCSIGSEND): Don't make conditional on IRIX6.
  
!       * s/sol2-5.h: Don't include strings.h.
!       (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
  
!       * s/irix6-0.h (IRIX6): Don't define.
!       (bcopy, bcmp, bzero): Don't undef.
  
!       * s/irix6-5.h: Don't include strings.h.
!       (IRIX6): Don't define.
!       (bcopy, bcmp, bzero): Don't undef.
  
!       * syntax.c (Fforward_comment): Doc fix.
  
! 2002-10-29  Kim F. Storm  <address@hidden>
  
!       * process.c (Fsignal_process): Allow PROCESS to be specified by
!       name in addition to pid (as integer or string).
  
! 2002-10-28  Harald Maier  <address@hidden>  (tiny change)
  
!       * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
!       environments.
  
! 2002-10-27  Kim F. Storm  <address@hidden>
  
!       * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
  
!       * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
  
!       * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
  
!       * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
  
! 2002-10-26  Richard M. Stallman  <address@hidden>
  
!       * editfns.c (Fformat): Detect invalid format letters for floats.
  
! 2002-10-25  Kenichi Handa  <address@hidden>
  
!       * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
!       (x_set_title): Likewise.
  
! 2002-10-25  Juanma Barranquero  <address@hidden>
  
!       * macgui.h:
!       * w32gui.h: Remove definition of XColor.
  
!       * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
  
! 2002-10-24  Kim F. Storm  <address@hidden>
  
!       * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
!       Callers changed (supply dummy arg).
  
!       * lisp.h (get_window_cursor_type): Update prototype.
  
!       * w32term.c (x_display_and_set_cursor): Get active_cursor from
!       get_window_cursor_type to track system caret.
  
! 2002-10-24  Kim F. Storm  <address@hidden>
  
!       * process.c (Fformat_network_address): New function.
!       (syms_of_process): Defsubr it.
!       (list_processes_1): Use it to format :local/:remote address if
!       service/host is not set; before emacs would crash in that case.
!       (Fmake_network_process): Don't use Ffind_operation_coding_system
!       to setup coding system if host or service is not set.
  
! 2002-10-23  Juanma Barranquero  <address@hidden>
  
!       Patch suggested by Jay Finger <address@hidden>.
  
!       * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
!       COLORREF.
  
!       * macgui.h:
!       * w32gui.h: Add definition of XColor.
  
!       * macfns.c:
!       * w32fns.c:
!       * xfaces.c: Remove definition of XColor.
  
! 2002-10-22  Stefan Monnier  <address@hidden>
  
!       * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
  
!       * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
!       Only ignore truly dedicated windows.  For UNSHOW_BUFFER, delete the
!       window if it is dedicated.
!       (Fshrink_window): Add preserve_before as was done for enlarge_window.
!       (Vspecial_display_function): Update docstring.
  
!       * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
!       (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
!       (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
  
! 2002-10-21  Stefan Monnier  <address@hidden>
  
!       * casefiddle.c (casify_region): Don't treat a prefix char as part
!       of a word when at the beginning.
  
! 2002-10-17  Juanma Barranquero  <address@hidden>
  
!       * lread.c (syms_of_lread): Fix typos.
  
! 2002-10-17  Dave Love  <address@hidden>
  
!       * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
  
! 2002-10-16  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
  
! 2002-10-14  Juanma Barranquero  <address@hidden>
  
!       * w16select.c (syms_of_win16select): Fix docstring for
!       `selection-coding-system'.
  
!       * w32select.c (syms_of_w32select): Likewise.
  
! 2002-10-14  Stefan Monnier  <address@hidden>
  
!       * syntax.c (scan_lists): Don't get fooled by a symbol ending with
!       a backslash-quoted char.
!       (scan_lists, scan_sexps_forward): Pacify the compiler.
  
! 2002-10-13  Richard M. Stallman  <address@hidden>
  
!       * window.c (window_scroll): Set immediate_quit.
  
!       * print.c (print): When backquote form is the car of a list,
!       output in old style.  Use old_backquote_output to output all
!       comma forms inside it in old style too.
  
!       * buffer.h (struct buffer): Move `undo_list' down below `name'.
  
! 2002-10-11  Markus Rost  <address@hidden>
  
!       * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
!       batch mode).
  
!       * lread.c (Fload): Doc fix (load-suffixes).
  
! 2002-10-10  Steven Tamm  <address@hidden>
  
!       * macterm.c (syms_of_macterm, mac_get_mouse_btn):
!       Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
!       Also switch the default to Qnil from Qt.
  
! 2002-10-08  Kenichi Handa  <address@hidden>
  
!       * coding.c (code_convert_region): When we need more GAP for
!       conversion, pay attention to the case that coding->produced is not
!       greater than coding->consumed.
  
! 2002-10-07  Richard M. Stallman  <address@hidden>
  
!       * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
  
! 2002-10-06  Andrew Choi  <address@hidden>
  
!       * macmenu.c (mac_menu_show): Add j to count menu items; match
!       menu_item_selection to it to find selected item.
  
! 2002-10-06  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
!       cases.  The correct fix is to pass ReparentNotify to Xt.
!       The shell widget interprets ConfigureNotify differently depending
!       on if it has been reparented or not.
  
! 2002-10-05  Markus Rost  <address@hidden>
  
!       * editfns.c (Fformat_time_string): Doc fix.
  
! 2002-10-05  John Paul Wallington  <address@hidden>
  
!       * fns.c (Flength): Doc fix.
  
! 2002-10-04  Stefan Monnier  <address@hidden>
  
!       * keyboard.c (keyremap): New struct.
!       (read_key_sequence): Use it: globally replace keytran_foo with
!       keytran.foo and fkey_foo with fkey.foo.  Rename temp vars
!       keytran_next and fkey_next to just `next'.
  
! 2002-10-04  Steven Tamm  <address@hidden>
  
!       * macterm.c (keycode_to_xkeysym_table): Change return to be
!       treated like an X keysym.
  
! 2002-10-03  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
!       and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
!       This is to also handle x/y changes that occur because of a resize.
  
! 2002-10-02  John Paul Wallington  <address@hidden>
  
!       * frame.c (Vdelete_frame_functions): New variable.
!       (syms_of_frame): Initialize and defvar it.
!       (Fdelete_frame): Use it instead of delete-frame-hook.  Don't run
!       it when frame's `tooltip' parameter is non-nil.
  
!       * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
  
!       * w32fns.c (x_create_tip_frame): Likewise.
  
!       * macfns.c (x_create_tip_frame): Likewise.
  
! 2002-09-30  Kenichi Handa  <address@hidden>
  
!       * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
!       -1 before calling ccl_driver.
  
!       * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
!       Only when it is non-nil, handle composition sequence.
!       (setup_coding_system) <0>: Don't force composition handling.
  
!       * Makefile.in (lisp, shortlisp): Add utf-16.elc
  
! 2002-09-29  Richard M. Stallman  <address@hidden>
  
!       * search.c (Freplace_match): Adjust match data for the substitution
!       just made in the buffer.
  
!       * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
!       (redisplay_internal): Use them.  Do RESUME_POLLING at end of function.
  
! 2002-09-27  Richard M. Stallman  <address@hidden>
  
!       * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
!       (read_char): Use them.  Do all exits thru the end of the function.
  
! 2002-09-27  Kenichi Handa  <address@hidden>
  
!       * xfaces.c (try_font_list): Pay attention to the case that FAMILY
!       is nil.
  
! 2002-09-26  Richard M. Stallman  <address@hidden>
  
!       * regex.h (__restrict_arr): Don't define if already defined.
  
!       * coding.c (run_pre_post_conversion_on_str):
!       Save and restore Vdeactivate_mark.
  
! 2002-09-26  John Paul Wallington  <address@hidden>
  
!       * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
  
! 2002-09-26  Kenichi Handa  <address@hidden>
  
!       * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY.  If it is
!       nonzero, try face's family at first.  Otherwise try FAMILY at first.
!       (choose_face_font): If C is a single byte char or latin-1, call
!       try_font_list with PREFER_FACE_FAMILY 1.
  
! 2002-09-21  Richard M. Stallman  <address@hidden>
  
!       * window.c (select_window_1): Don't select frame.
!       Set frame's selected window only when frame itself is selected.
!       (Fselect_window): Doc fix.
  
! 2002-09-18  Kim F. Storm  <address@hidden>
  
!       * process.c (make-network-process): Doc fix (there is no
!       network-server-log-function hook).
  
! 2002-09-18  Richard M. Stallman  <address@hidden>
  
!       * print.c (print): Clear out the unused parts of Vprint_number_table.
!       (syms_of_print): Doc fix for `print-number-table'.
  
!       * unexelf.c (unexec): Undo previous change.
  
! 2002-09-17  Andreas Schwab  <address@hidden>
  
!       * m/alpha.h [LINUX]: Don't define DATA_START.
  
! 2002-09-16  Dave Love  <address@hidden>
  
!       * unexelf.c (unexec): Deal with .got, reinstating change from
!       25-08-1999.
  
! 2002-09-13  Richard M. Stallman  <address@hidden>
  
!       * s/sol2-6.h (UNEXEC): Comment out definition.
  
!       * unexsol.c (unexec): Don't downcase first letter of error msg.
  
!       * xfaces.c (Fcolor_supported_p): Just one arg is required.
  
! 2002-09-12  Markus Rost  <address@hidden>
  
!       * unexsol.c: Include buffer.h, charset.h, coding.h.
  
! 2002-09-11  Richard M. Stallman  <address@hidden>
  
!       * unexsol.c: Don't use report_file_error; do it by hand
!       using dlerror.
  
!       * process.c (wait_reading_process_input, both versions):
!       Before calling turn_on_atimers, call stop_polling.
  
!       * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
  
!       * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
!       we go to too_near_end, call clear_glyph_matrix.
!       (redisplay_window): After make_cursor_line_fully_visible,
!       call clear_glyph_matrix and bypass `goto done'.
  
!       * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
!       and we have non-toolkit scroll bars, return nil for scroll-bar-width.
  
! 2002-09-10  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Fdo_auto_save): Catch error making directory.
!       Only call push_message if we need to.
!       At the same time, make an unwind-protect to pop it.
!       Rename local message_p to old_message_p.
!       (do_auto_save_make_dir, do_auto_save_eh): New functions.
!       (do_auto_save_unwind): Don't call pop_message.
  
!       local_request 1.
!       (syms_of_xselect): Intern and staticpro QUTF8_STRING.
  
!       * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
  
!       * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
  
! 2002-08-13  Richard M. Stallman  <address@hidden>
  
!       * minibuf.c (Fminibufferp): New function.
!       (syms_of_minibuf): Defsubr it.
!       (Fminibuffer_prompt_end): Handle non-minibuffers specially.
  
! 2002-08-13  Gerd Moellmann  <address@hidden>
  
!       * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
  
! 2002-08-12  Richard M. Stallman  <address@hidden>
  
!       * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
!       [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
!       (WSTOPSIG, WTERMSIG): Define each one independently if not defined
!       already.
  
!       * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
  
! 2002-08-11  Andrew Choi  <address@hidden>
  
!       * macterm.c (XTmouse_position): Check wp with is_emacs_window.
!       (Vmac_pass_command_to_system): New variable.
!       (Vmac_pass_control_to_system): New variable.
!       (do_mouse_moved): Check wp with is_emacs_window.
!       (XTread_socket): Check window_ptr with is_emacs_window.
!       Call FrontNonFloatingWindow instead of FrontWindow.  Send keydown
!       events back to Mac Toolbox for processing, depending on values of
!       Vmac_pass_command_to_system and Vmac_pass_control_to_system.
!       (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
!       Vmac_pass_control_to_system.
  
! 2002-08-10  Kenichi Handa  <address@hidden>
  
!       * coding.c (unencodable_char_position): New function.
!       (Funencodable_char_position): New function.
!       (syms_of_coding): Defsubr Funencodable_char_position.
  
! 2002-08-10  Andrew Choi  <address@hidden>
  
!       * mac.c (sys_select) [MAC_OSX]: New function.
  
!       * macterm.c (MakeMeTheFrontProcess): New function.
!       (mac_initialize): Call MakeMeTheFrontProcess.
  
!       * s/darwin.h: Define select to sys_select.
  
! 2002-08-09  Richard M. Stallman  <address@hidden>
  
!       * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
  
! 2002-08-09  Gerd Moellmann  <address@hidden>
  
!       * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
!       end of the buffer.
  
! 2002-08-08  Ken Raeburn  <address@hidden>
  
!       * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
  
!       * puresize.h (BASE_PURESIZE): Increase to 910000.
  
! 2002-08-08  Kenichi Handa  <address@hidden>
  
!       * coding.c (Ffind_operation_coding_system): For write-region, if
!       VISIT is a filename, make it the target.
  
! 2002-08-07  Richard M. Stallman  <address@hidden>
  
!       * alloc.c (mark_object): Detect long lists for debugging.
!       (mark_object_loop_halt): New variable.
  
!       * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
  
!       * data.c (Fmake_variable_frame_local): Doc fix.
  
! 2002-08-01  David Ponce  <address@hidden>
  
!       * w32menu.c (local_heap, local_alloc, local_free): New macros.
!       (malloc_widget_value, free_widget_value)
!       (w32_free_submenu_strings): Use them.
  
!       (push_submenu_start, push_submenu_end, push_left_right_boundary)
!       (push_menu_pane, push_menu_item, single_keymap_panes)
!       (single_menu_item, Fx_popup_menu, menubar_selection_callback)
!       (single_submenu, set_frame_menubar)
!       (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
  
!       (Fx_popup_menu): Don't show pop up menu until preceding one is
!       actually cleaned up.  Moved UNGCPRO outside #ifdef HAVE_MENUS block.
  
!       * w32menu.c: Changes adapted from xmenu.c
!       (set_frame_menubar): First parse all submenus,
!       then make widget_value trees from them.
!       Don't allocate any widget_value objects
!       until we are done with the parsing.
!       (parse_single_submenu): New function.
!       (digest_single_submenu): New function.
!       (single_submenu): Function deleted, replaced by those two.
  
! 2002-08-04  Andrew Choi  <address@hidden>
  
!       * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
!       returns a valid window pointer before proceeding for keyDown and
!       autoKey events.
  
! 2002-08-03  Andrew Choi  <address@hidden>
  
!       * macterm.c (USE_CARBON_EVENTS): New macro.
!       (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
!       (x_iconify_frame): Call CollapseWindow.
!       (Vmac_reverse_ctrl_meta): New variable.
!       (Vmac_wheel_button_is_mouse_2): New variable.
!       (init_mac_drag_n_drop): New function.
!       (mac_do_receive_drag): New function.
!       (mac_handle_service_event): New function.
!       (init_service_handler): New function.
!       (mac_to_emacs_modifiers): New function.
!       (mac_event_to_emacs_modifiers): New function.
!       (mac_get_mouse_btn): New function.
!       (mac_convert_event_ref): New function.
!       (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
!       SendEventToEventTarget, mac_event_to_emacs_modifiers, and
!       mac_get_mouse_btn.
!       (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
  
!       * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
!       lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
!       (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
!       TOOL_BAR_EVENT for MAC_OS as well.
!       (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
!       as for WINDOWS_NT.
!       (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
  
!       * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
  
! 2002-08-03  Gerd Moellmann  <address@hidden>
  
!       * xdisp.c (forward_to_next_line_start): Fix a condition that
!       lead to a newline being skipped.
  
! 2002-08-02  Andrew Choi  <address@hidden>
  
!       * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
  
! 2002-08-01  Richard M. Stallman  <address@hidden>
  
!       * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
  
! 2002-07-31  Andrew Choi  <address@hidden>
  
!       * macfns.c: #undef init_process before #define-ing it.
  
!       * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
!       HAVE_CARBON is defined.
  
! 2002-07-31  Richard M. Stallman  <address@hidden>
  
!       * xmenu.c (set_frame_menubar): First parse all submenus,
!       then make widget_value trees from them.
!       Don't allocate any widget_value objects
!       until we are done with the parsing.
!       (parse_single_submenu): New function.
!       (digest_single_submenu): New function.
!       (single_submenu): Function deleted, replaced by those two.
  
! 2002-07-30  Juanma Barranquero  <address@hidden>
  
!       * w32proc.c (syms_of_ntproc): Fix docstring of
!       `w32-get-true-file-attributes'.
  
! 2002-07-28  Richard M. Stallman  <address@hidden>
  
!       * s/hpux8.h (HPUX8): Define this before including hpux.h.
!       (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
  
!       * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
  
!       * keyboard.c (make_lispy_event):
!       Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
!       Explicitly clear up_modifier in event->modifiers.
  
! 2002-07-27  Richard M. Stallman  <address@hidden>
  
!       * xterm.h (FRAME_CURSOR_WIDTH): New macro.
  
!       * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
!       for bar cursor.
  
! 2002-07-26  Kenichi Handa  <address@hidden>
  
!       * coding.c (detect_coding_iso2022): While checking a byte sequence
!       for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
!       it in the normal loop.
  
! 2002-07-24  Gerd Moellmann  <address@hidden>
  
!       * xterm.c (expose_overlaps): New function.
!       (expose_window): Use it to fix the display of overlapping rows.
  
!       * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
  
! 2002-07-23  Ken Raeburn  <address@hidden>
  
!       * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
!       since it only depends on XUINT.
  
!       * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
!       EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
!       PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
!       Macros deleted.
  
!       * mem-limits.h (start_of_data): If DATA_START is defined, prefer
!       its value over other approaches.
!       * sysdep.c (start_of_data): Don't define the function if a macro
!       form has been defined.
  
! 2002-07-23  Gerd Moellmann  <address@hidden>
  
!       * xdisp.c (redisplay_updating_p): New variable.
!       (init_iterator): Don't free realized faces when
!       redisplay_updating_p is set.
!       (redisplay_internal): Set redisplay_updating_p while updating
!       the display.
  
! 2002-07-23  Richard M. Stallman  <address@hidden>
  
!       * editfns.c (Fmessage): Treat "" like nil.
  
! 2002-07-23  Kenichi Handa  <address@hidden>
  
!       * xdisp.c (face_before_or_after_it_pos):
!       Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
  
! 2002-07-22  Juanma Barranquero  <address@hidden>
  
!       * callproc.c (init_callproc) [DOS_NT]:
!       Initialize Vshared_game_score_directory to nil.
!       (syms_of_callproc) [DOS_NT]: Likewise.
  
! 2002-07-22  Gerd Moellmann  <address@hidden>
  
!       * xdisp.c (display_line): Replace an abort with xassert.
  
! 2002-07-21  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
!       and END_UNCHANGED when setting buffer_unchanged_p.
!       Use current_matrix_up_to_date_p to decide whether to use
!       try_cursor_movement.
  
!       * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
  
!       * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
  
!       * callproc.c (init_callproc): Set up Vshared_game_score_directory.
!       Set to nil if dir does not exist.
!       (syms_of_callproc): Init unconditionally and simply.
  
!       * buffer.c (Fbuffer_list): Doc fix.
  
! 2002-07-21  Ken Raeburn  <address@hidden>
  
!       * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
  
!       * buffer.c (mmap_realloc): When shrinking, make sure number of
!       pages to unmap is rounded towards zero.
  
!       * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
!       (XSETINT): Deleted.
  
!       * m/att3b.h (XINT): Don't define.
!       (VALBITS, VALMASK, XTYPE): Deleted.
!       (DATA_SEG_BITS): Define.
!       * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
!       ARRAY_MARK_FLAG): Deleted.
!       (DATA_SEG_BITS): Define.
!       * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
!       (DATA_SEG_BITS): Define.
  
! 2002-07-20  Richard M. Stallman  <address@hidden>
  
!       * print.c (print_error_message): New args CONTEXT and CALLER.
!       Calls changed.
  
!       * lisp.h (print_error_message): Declare new args.
  
!       * keyboard.c (cmd_error_internal): Pass Vsignaling_function
!       and CONTEXT to print_error_message, don't print them here.
!       For a Quit, don't use Vsignaling_function.
!       Call message_log_maybe_newline.
  
!       * Makefile.in (xsmfns.o): Don't depend on lisp.h.
  
! 2002-07-20  Kim F. Storm  <address@hidden>
  
!       * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
  
! 2002-07-19  Ken Raeburn  <address@hidden>
  
!       * bytecode.c (struct byte_stack): Pointers into byte string now
!       point to const.
!       * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
!       const.
!       * charset.h (BCOPY_SHORT): Source pointer now points to const.
!       * coding.c (encode_eol, detect_coding, detect_eol):
!       (decode_coding, encode_coding, detect_coding_system):
!       Source strings now treated as const.
!       (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
!       modify Lisp string contents.
!       * coding.h (decode_coding, encode_coding, detect_coding,
!       detect_eol): Declarations updated.
!       * composite.c (compose_chars_in_text): Treat Lisp string contents
!       as const.
!       * dispnew.c (safe_bcopy): Source pointer now points to const.
!       * lisp.h (STRING_COPYIN): New macro.
!       (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
!       (internal_with_output_to_temp_buffer): Declarations updated.
!       * print.c (temp_output_buffer_setup):
!       (internal_with_output_to_temp_buffer): Buffer name argument is now
!       pointer to const.
!       * sound.c (struct sound_device): Function pointer field "write"
!       buffer argument now points to const.
!       (vox_write): Buffer argument points to const.
!       * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
!       contents as const.
!       * sysdep.c (emacs_write): Buffer pointer now const.
!       * term.c (encode_terminal_code): Buffer pointer now const.
!       * xfaces.c (may_use_scalable_font_p): Argument now points to const.
!       (x_face_list_fonts, x_update_menu_appearance):
!       (hash_string_case_insensitive): Treat Lisp string contents as const.
  
! 2002-07-19  Juanma Barranquero  <address@hidden>
  
!       * fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
!       (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
  
!       * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
  
!       * fileio.c (syms_of_fileio): Likewise.
  
! 2002-07-18  Richard M. Stallman  <address@hidden>
  
!       * data.c (Fdefalias): Doc fix.
  
! 2002-07-17  Dave Love  <address@hidden>
  
!       * intervals.h (text_property_stickiness): Use P_.
  
!       * ccl.c: Remove `emacs' conditionals.
!       (ccl_backtrace_table): Fix size spec.
!       (ccl_driver): Fix type errors.
  
! 2002-07-16  Ken Raeburn  <address@hidden>
  
!       * alloc.c (xstrdup, make_string, make_unibyte_string)
!       (make_multibyte_string, build_string): String pointer args now
!       point to const.
!       * charset.c (find_charset_in_text, c_string_width):
!       (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
!       * fileio.c (report_file_error):
!       * insdel.c (copy_text, count_size_as_multibyte, insert_1):
!       (count_combining_before, count_combining_after, insert_1_both):
!       (insert, insert_and_inherit, insert_string):
!       (insert_before_markers, insert_before_markers_and_inherit):
!       * lread.c (intern, oblookup, hash_string):
!       * minibuf.c (temp_echo_area_glyphs):
!       * search.c (fast_c_string_match_ignore_case):
!       * sysdep.c (emacs_open, set_file_times):
!       * xfaces.c (xstricmp):
!       * xdisp.c (store_frame_title, string_char_and_length):
!       (message_dolog, message2, message2_nolog, set_message): Likewise.
!       (set_message_1): Cast message string argument to const pointer.
!       * editfns.c (general_insert_function): Insertion function now
!       takes pointer to const for input data.
!       * charset.h (find_charset_in_text, c_string_width):
!       (parse_str_as_multibyte): Declarations updated.
!       * dispextern.h (xstricmp): Declaration updated.
!       * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
!       (count_size_as_multibyte, count_combining_before):
!       (count_combining_after, insert_1, insert_1_both, message_dolog):
!       (insert, insert_and_inherit, insert_before_markers)
!       (insert_before_markers_and_inherit, set_message, message2):
!       (message2_dolog, build_string, make_string, make_unibyte_string):
!       (make_multibyte_string, intern, oblookup, report_file_error):
!       (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
!       (emacs_open, xstrdup): Declarations updated.
!       * systime.h (set_file_times): Declaration updated.
  
!       * charset.c (find_charset_in_text, lisp_string_width): Use const
!       for pointer to lisp string data.
!       * charset.h (FETCH_STRING_CHAR_ADVANCE):
!       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
!       * coding.c (Ffind_coding_systems_region_interval):
!       * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
!       (Fmake_directory_internal, Fdelete_directory):
!       (Ffile_name_absolute_p, Fwrite_region, double_dollars):
!       * fontset.c (font_family_registry, fs_query_fontset):
!       (list_fontsets):
!       * frame.c (Fframe_parameter):
!       * keyboard.c (cmd_error_internal):
!       * keymap.c (Fdescribe_buffer_bindings):
!       * lread.c (complete_filename_p, openp):
!       * minibuf.c (Fminibuffer_complete_word):
!       * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
!       (face_before_or_after_it_pos, next_element_from_string):
!       (get_overlay_arrow_glyph_row, display_mode_element):
!       (decode_mode_spec_coding):
!       * xterm.c (same_x_server): Likewise.
  
!       * buffer.c (reset_buffer_local_variables): Delete "#if 0"
!       settings of non-existent fields.
  
!       * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
!       copy a lisp value.
  
!       * lread.c (Fintern_soft): Use string macros instead of
!       Lisp_String fields.
!       * keyboard.c (echo_char, parse_modifiers_uncached):
!       (parse_solitary_modifier, Fexecute_extended_command): Likewise.
!       * textprop.c (validate_interval_range, interval_of): Likewise.
  
!       * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
  
!       * charset.h (FETCH_STRING_CHAR_ADVANCE)
!       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
!       XSTRING()->size_byte.
  
!       * lisp.h (SDATA, SREF): Produce rvalue.
!       (SSET): New macro.
!       * alloc.c (make_event_array): Use SSET for storing into a string.
!       * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
!       a string.
!       * casefiddle.c (casify_object): Use SSET.
!       * charset.h (FETCH_STRING_CHAR_ADVANCE)
!       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
!       address of string contents.
!       * data.c (Faref): Use SDATA.
!       (Faset): Use SDATA, SSET.
!       * dired.c (directory_files_internal): Use SSET.
!       * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
!       (Fread_file_name): Use SREF, SSET.
!       * fns.c (concat): Use SSET.
!       (concat, Fdelete): Use SDATA.
!       * insdel.c (insert_from_string_1): Use SDATA.
!       * keyboard.c (Fevent_convert_list): Use SREF.
!       * lread.c (Fload): Use SDATA, SSET.
!       * macfns.c (validate_x_resource_name): Use SSET.
!       * process.c (status_message): Use SSET.
!       * search.c (wordify): Use SDATA.
!       (Freplace_match): Use SREF.
!       * w32fns.c (validate_x_resource_name): Use SSET.
!       * xfns.c (validate_x_resource_name): Use SSET.
!       * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
  
! 2002-07-16  Richard M. Stallman  <address@hidden>
  
!       * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
  
!       * xdisp.c (reconsider_clip_changes):
!       Don't test prevent_redisplay_optimizations_p.
!       (redisplay_internal): Test prevent_redisplay_optimizations_p
!       along with clip_changed in some cases.
!       (try_window_id): Likewise.
!       (redisplay_window): New local var buffer_unchanged_p.
  
!       * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
  
!       * process.c (create_process): Test USG_SUBTTY_WORKS.
!       (process_send_signal): Clean up handling of GID.
!       Detect errors in ioctls meant to set GID.
  
!       * window.c (temp_output_buffer_show):
!       Don't set prevent_redisplay_optimizations_p.
  
! 2002-07-15  Juanma Barranquero  <address@hidden>
  
!       * eval.c (Fdefvaralias): Add docstring argument.
  
! 2002-07-15  Ken Raeburn  <address@hidden>
  
!       * lisp.h (STRING_INTERVALS): Produce rvalue.
!       (STRING_SET_INTERVALS): New macro.
!       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
!       * fns.c (Fstring_as_multibyte): Likewise.
!       * intervals.c (balance_possible_root_interval, delete_interval)
!       (create_root_interval, copy_intervals_to_string): Likewise.
!       * textprop.c (set_text_properties): Likewise.  Use NULL_INTERVAL
!       instead of 0.
  
! 2002-07-14  Ken Raeburn  <address@hidden>
  
!       * lisp.h (STRING_SET_CHARS): New macro.
!       (SCHARS, SBYTES): Produce rvalues.
!       * dired.c (directory_files_internal): Use STRING_SET_CHARS.
!       * fns.c (concat): Likewise.
!       * lread.c (read_vector): Likewise.
  
!       * lisp.h (SMBP): Deleted.  All uses changed to STRING_MULTIBYTE.
!       (STRING_SET_UNIBYTE): New macro.
!       (SET_STRING_BYTES): Deleted.  Callers (all of which supplied a
!       length of -1) changed to use STRING_SET_UNIBYTE.
!       * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
!       casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
!       composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
!       dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
!       fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
!       keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
!       minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
!       sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
!       w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
!       w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
!       xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
!       STRING_BYTES or indirection changed to SCHARS, SBYTES,
!       STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
!       unchanged for now.
  
! 2002-07-13  Kim F. Storm  <address@hidden>
  
!       * keyboard.c (command_loop_1): Invert check on Vmemory_full.
  
! 2002-07-12  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Fwrite_region): Doc fix.
  
!       * print.c (print_error_message): Don't handle Vsignaling_function here.
  
!       * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
!       (command_loop_1): Avoid certain actions after memory-full error.
  
!       * eval.c (Fsignal): Don't call cancel_hourglass.
!       For a memory-full error, don't call Vsignal_hook_function
!       and don't set Vsignaling_function.
  
!       * process.c (process_send_signal): Add abort call.
  
! 2002-07-11  Markus Rost  <address@hidden>
  
!       * keymap.c (Fkey_binding): Fix typo.
  
! 2002-07-11  Richard M. Stallman  <address@hidden>
  
!       * alloc.c (Vmemory_full): New variable.
!       (Vmemory_signal_data): Renamed from memory_signal_data.
!       Uses changed.
!       (syms_of_alloc): Defvar them.
!       (memory_full, buffer_memory_full): Set Vmemory_full.
  
!       * lisp.h (Vmemory_full): Add declaration.
!       (current_column, indented_beyond_p): Change declaration.
  
!       * indent.c (last_known_column): Declare as double, not float.
!       (current_column, current_column_1, string_display_width)
!       (position_indentation): Return `double'.
!       (indented_beyond_p): Arg `column' is `double'.  Callers changed.
  
!       * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
!       (back_to_previous_visible_line_start)
!       (reseat_at_next_visible_line_start, next_element_from_buffer):
!       Use `double', not `float', when calling indented_beyond_p.
  
!       * s/hpux11.h (BROKEN_SA_RESTART): Defined.
  
!       * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
  
! 2002-07-11  Juanma Barranquero  <address@hidden>
  
!       * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
!       * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
!       * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
!       * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
!       * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
!       * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
  
! 2002-07-10  Juanma Barranquero  <address@hidden>
  
!       * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
!       changed.
  
! 2002-07-09  Stefan Monnier  <address@hidden>
  
!       * data.c (Fdefalias): Add an optional `docstring' argument.
!       (set_internal, Fsetq_default): Use XCAR/XCDR.
  
!       * composite.c (HASH_VALUE, HASH_KEY):
!       * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
  
! 2002-07-09  Kenichi Handa  <address@hidden>
  
!       * callproc.c (Fcall_process): Fix previous change.
  
! 2002-07-07  Stefan Monnier  <address@hidden>
  
!       * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
!       Add support for hash-tables.
!       (Ftry_completion): Return t even if the string appears multiple times.
  
!       * fns.c (Fnconc): Use XCDR.
!       (Fprovide): Use CONSP and XCDR.
!       (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
!       (HASH_TABLE_SIZE): Delete: moved to lisp.h.
!       (Fmake_hash_table): Accept `:size nil'.
!       (Fmakehash): Delete: moved to subr.el.
!       (syms_of_fns): Don't defsubr makehash.
  
!       * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
!       (HASH_TABLE_SIZE): Move from fns.c.
  
! 2002-07-07  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
!       Instead just return 0 when there is something to be done.
!       (try_scrolling): If make_cursor_line_fully_visible returns 0,
!       retry scrolling as if cursor were off the bottom.
!       (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
!       return CURSOR_MOVEMENT_MUST_SCROLL.
!       (redisplay_window): If make_cursor_line_fully_visible returns 0,
!       go to try_to_scroll.
  
!       * buffer.c (Fbuffer_local_value): Store current value into its binding
!       so we get the up-to-date value for the binding that is loaded.
  
!       * eval.c (Fdefmacro): Doc fix.
  
! 2002-07-05  Dave Love  <address@hidden>
  
!       * keyboard.c (read_key_sequence): Set initial_idleness_start_time
!       correctly.
  
!       * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
!       (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
!       (ccl_driver): Add cases for CCL_LookupIntConstTbl,
!       CCL_LookupCharConstTbl.
!       (syms_of_ccl): Defvar translation-hash-table-vector.
  
! 2002-07-05  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xdisp.c: Remove unused variable `face'.
  
! 2002-07-04  Juanma Barranquero  <address@hidden>
  
!       * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
!       obsolescence information.
  
! 2002-07-03  Andrew Choi  <address@hidden>
  
!       * macterm.c (x_list_fonts): Fix comment.  Cache fonts matching
!       pattern.  Search cache first.
!       (init_font_name_table): Also add entry for jisx0201.1976-0 coding
!       for Japanese font.
!       (XLoadQueryFont): Use it.
  
! 2002-07-02  Richard M. Stallman  <address@hidden>
  
!       * keymap.c (Fdefine_key): Doc fix.
  
!       * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
  
! 2002-07-02  Juanma Barranquero  <address@hidden>
  
!       * keymap.c (syms_of_keymap): Fix typo.
  
! 2002-07-01  Andrew Choi  <address@hidden>
  
!       * s/darwin.h: Define POSIX_SIGNALS.
  
!       * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
!       and FSRefMakePath to convert FSSpec returned with Apple Event to
!       Posix pathname.
!       (mac_initialize) [TARGET_API_MAC_CARBON]:
!       Call init_required_apple_events and disable the `Quit' menu item
!       provided automatically by the Carbon Toolbox.
  
! 2002-07-01  Dave Love  <address@hidden>
  
!       * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
!       for K&R.
  
!       * xterm.c: Fix prototype for K&R.
  
!       * term.c (costs_set): Declare static, non-initialized for pcc.
  
! 2002-07-01  Richard M. Stallman  <address@hidden>
  
!       * keyboard.c (timer_last_idleness_start_time): New variable.
!       (timer_start_idle): Set that.
!       (read_key_sequence): Use that to reset timer_idleness_start_time
!       to previous value.
  
!       * window.c (Frecenter): With arg, set optional_new_start.
  
!       * xdisp.c (redisplay_internal): Make optional_new_start really work.
  
!       * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
!       buffer for completion.
  
! 2002-06-29  Ken Raeburn  <address@hidden>
  
!       * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
  
! 2002-06-28  Jan Dj,Ad(Brv  <address@hidden>
  
!       * keyboard.c (readable_filtered_events): New function that filters
!       FOCUS_IN_EVENT depending on parameter.
!       (readable_events): Calls readable_filtered_events, not filtering
!       FOCUS_IN_EVENT.
!       (get_filtered_input_pending): New function, filtering parameter passed
!       to readable_filtered_events.
!       (get_input_pending): Calls get_filtered_input_pending, not filtering
!       FOCUS_IN_EVENT.
!       (Finput_pending_p): Calls get_filtered_input_pending, DO filter
!       FOCUS_IN_EVENT.
  
!       * xterm.h (struct x_output): Add focus_state.
  
!       * xterm.c (x_focus_changed): New function.
!       (x_detect_focus_change): New function.
!       (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
!       EnterNotify and LeaveNotify to track X focus changes.
  
! 2002-06-28  Andreas Schwab  <address@hidden>
  
!       * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
  
! 2002-06-27  Kim F. Storm  <address@hidden>
  
!       * xdisp.c: (mode_line_string_list, mode_line_string_face)
!       (mode_line_string_face_prop): New variables.
!       (store_mode_line_string): New function.
!       (display_mode_element): Use store_mode_line_string to
!       add mode-line string elements to mode_line_string_list
!       when mode_line_string_list is non-nil.
!       (Fformat_mode_line): Now returns propertized string by
!       default.  New arg NO-PROPS to ignore properties.
!       (decode_mode_spec): Only add two dashes for %- in propertized
!       mode-line string.
!       (syms_of_xdisp): Init and staticpro mode_line_string_list.
  
! 2002-06-27  Stefan Monnier  <address@hidden>
  
!       * minibuf.c (minibuffer_completion_contents): Add return type.
  
! 2002-06-27  Juanma Barranquero  <address@hidden>
  
!       * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
  
! 2002-06-26  Juanma Barranquero  <address@hidden>
  
!       * fileio.c (read_file_name_cleanup): Add missing return.
  
! 2002-06-26  Richard M. Stallman  <address@hidden>
  
!       * window.c (Frecenter): Don't set force_start flag.
  
!       * minibuf.c (do_completion, Fminibuffer_complete_word)
!       (Fminibuffer_completion_help): Complete just the text before point.
!       (minibuffer_completion_contents): New function.
  
!       * buffer.c (Fbury_buffer): Use frames_discard_buffer.
  
!       * frame.c (frames_bury_buffer): Function deleted.
  
! 2002-06-25  Miles Bader  <address@hidden>
  
!       * callint.c (Fcall_interactively): When checking to see if doprnt hit
!       the end of callint_message, allow for a terminating '\0'.
  
! 2002-06-24  Juanma Barranquero  <address@hidden>
  
!       * w32select.c: Include composite.h
  
!       * w16select.c: Likewise.
  
! 2002-06-24  Kenichi Handa  <address@hidden>
  
!       * callproc.c (Fcall_process): If code detection is necessary,
!       call detect_coding directly here.
  
!       * coding.c (detect_eol): Preserve coding->cmp_data.
  
!       * w16select.c (Fw16_get_clipboard_data):
!       * w32fns.c (w32_to_x_font):
!       * w32select.c (Fw32_get_clipboard_data):
!       * xselect.c (selection_data_to_lisp_data):
!       * xterm.c (XTread_socket): Disable composition handling.
  
! 2002-06-24  Stefan Monnier  <address@hidden>
  
!       * print.c (temp_output_buffer_setup): Kill all local variables.
  
! 2002-06-22  Stefan Monnier  <address@hidden>
  
!       * lread.c (Fread): Remove redundant and imprecise declaration.
  
!       * xfns.c (check_x_display_info): Use check_x_frame.
  
!       * .gdbinit (xprintsym): Use the new `xname' field.
!       (xsymbol): Use it.
  
! 2002-06-22  Jason Rumney  <address@hidden>
  
!       * w32fns.c (file_dialog_callback): New function.
!       (Fx_file_dialog): Allow selecting directories as well as files.
  
! 2002-06-21  Pavel Jan,Am(Bk  <address@hidden>
  
!       * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
!       OpenBSD. Add support for mipseb-*-netbsd* machines.
  
! 2002-06-17  Andrew Choi  <address@hidden>
  
!       * macterm.c (mac_scroll_area): Set foreground and backcolor to
!       black and white before scrolling.  Restore frame background and
!       foreground color after scrolling.
!       (do_window_update): Call XClearWindow before calling expose_frame.
!       (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
!       FRAME_FOREGROUND_PIXEL of frame.
  
!       * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
!       test Mac command key as <ALT> key.
  
! 2002-06-17  Stefan Monnier  <address@hidden>
  
!       * window.c (Fset_window_configuration): Lisp_Object/int mixup.
  
!       * keyboard.c (read_key_sequence): Be more careful with first_unbound.
!       Lookup keys in function-key-map immediately so that key-translation-map
!       can be applied earlier.
!       Remove function_key_possible and key_translation_possible, replaced
!       by checking `keytran_start < t'.
  
!       * .gdbinit (xsymbol): Use the new `xname' field.
  
! 2002-06-17  Andrew Choi  <address@hidden>
  
!       * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
!       test Mac command key as <ALT> key.
  
!       * mac.c (do_applescript): Call initialize_applescript if necessary
!       when first called.  Dispose of result_desc only when there is no error.
!       (Fdo_applescript): Use %d format specifier instead of %ld.
  
! 2002-06-16  Andrew Choi  <address@hidden>
  
!       * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
!       of FrontWindow for cases keyDown and autoKey.
  
!       * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
!       Vdefault_fontset to Monaco with mac-roman coding.
  
!       * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
!       init_process before and after inclusion of Carbon/Carbon.h, resp.
  
!       * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
!       cursor_gc.
!       (add_font_name_table_entry): New function.
!       (init_font_name_table): Use add_font_name_table_entry; add italic,
!       bold, and bold-italic entries for truetype fonts.
  
!       * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
!       for Mac too.
!       (try_font_list) [MAC_OS]: If no font matches given registry, try
!       fonts with any registry matching face_family.
!       (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
  
!       * s/darwin.h: If autoconf detects the Ncurses library, define
!       LIBS_TERMCAP to -lncurses to use it.
  
! 2002-06-16  Eli Zaretskii  <address@hidden>
  
!       * strftime.c [__hpux]: Include sys/_mbstate_t.h.
  
! 2002-06-15  Richard M. Stallman  <address@hidden>
  
!       * window.c (Fset_window_configuration): Explicitly preserve
!       the point value that new_current_buffer had at the start.
  
! 2002-06-14  Juanma Barranquero  <address@hidden>
  
!       * composite.c (Fcompose_region_internal, Fcompose_string_internal):
!       Fix typos.
  
! 2002-06-14  Kim F. Storm  <address@hidden>
  
!       * insdel.c (insert_1_both, insert_from_string_1)
!       (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
!       insert happened in the end_unchanged region.  Otherwise, the
!       redisplay may be confused and duplicate the last line in the
!       buffer [seen after save-buffer when require-final-newline==t].
  
! 2002-06-13  Jason Rumney  <address@hidden>
  
!       * w32.c (init_environment): Remove EMACSLOCKDIR.
!       (stat): Swap _S_IFDIR and _S_IFREG.
  
! 2002-06-13  Pavel Jan,Am(Bk  <address@hidden>
  
!       * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
!       * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
!       * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
!       ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
!       to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
!       NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
!       to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
!       language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
!       to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
!       W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
!       SELECTION_REQUEST_EVENT, selection_clear_event to
!       SELECTION_CLEAR_EVENT, buffer_sw
  
! 2002-04-01  Stefan Monnier  <address@hidden>
  
!       * region-cache.c (new_region_cache): Use BEG.
  
!       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
!       Use BEG and BEG_BYTE.
  
!       * doc.c (get_doc_string): Return nil if the location is wrong.
!       (reread_doc_file): New fun.
!       (Fdocumentation, Fdocumentation_property):
!       Call it if get_doc_string fails.
!       (Fsnarf_documentation): Make it work for a dumped Emacs.
  
!       * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
!       Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
  
!       * charset.c (Fstring): Allow 0 arguments.
  
!       * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
  
!       * process.c (DATAGRAM_CONN_P, list_processes_1)
!       (Fprocess_datagram_address, Fset_process_datagram_address)
!       (Fset_network_process_options, server_accept_connection):
!       Fix some int/Lisp_Object confusions (thank you union types).
  
! 2002-04-01  Pavel Jan,Am(Bk  <address@hidden>
  
!       * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
  
!       * w32term.c: Likewise.
!       (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
  
!       * keyboard.c (Qselect_window): New symbol.
!       (head_table): Use it.
!       (keys_of_keyboard): Bound select-window event to handle-select-window.
!       (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
  
!       * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
!       (last_window): New variable.
!       (XTread_socket): Generate SELECT_WINDOW_EVENTs.
!       (note_mouse_movement): Remove reimplemented code in #if 0.
!       (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
!       Emacs windows.
  
!       * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
  
! 2002-03-31  Gerd Moellmann  <address@hidden>
  
!       * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
!       Callers changed.
  
! 2002-03-30  Richard M. Stallman  <address@hidden>
  
!       * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
!       loop whenever it stops making progress.
  
!       * widget.c (set_frame_size): Don't call change_frame_size.
  
! 2002-03-30  Gerd Moellmann  <address@hidden>
  
!       * dispnew.c (direct_output_for_insert):
!       Call mark_window_display_accurate.
  
! 2002-03-29  Jason Rumney  <address@hidden>
  
!       * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
  
! 2002-03-29  Eli Zaretskii  <address@hidden>
  
!       * Makefile.in (lread.o): Depend on coding.h.
  
!       * lread.c (openp, Fload): Encode the file name before passing it
!       to `stat', `access', and `emacs_open'.
!       (openp): GCPRO the encoded file name.  Don't recompute Lisp
!       strings unnecessarily.
  
! 2002-03-29  Kim F. Storm  <address@hidden>
  
!       * fns.c (Flax_plist_put): Doc fix.
  
! 2002-03-28  Miles Bader  <address@hidden>
  
!       * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
  
! 2002-03-27  Pavel Jan,Am(Bk  <address@hidden>
  
!       * process.c (set-network-process-options): Add usage.
!       (make-network-process): Doc fix.
  
! 2002-03-26  Eli Zaretskii  <address@hidden>
  
!       * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
  
! 2002-03-26  Richard M. Stallman  <address@hidden>
  
!       * fns.c (Fsubstring_no_properties): New function.
!       (Flax_plist_get, Flax_plist_put): New functions.
!       (syms_of_fns): defsubr them.
  
!       * xdisp.c (update_menu_bar): Test only update_mode_lines;
!       don't test or alter w->update_mode_line.
  
!       * window.c (Fdisplay_buffer): Doc fix.
  
! 2002-03-24  Richard M. Stallman  <address@hidden>
  
!       * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
  
! 2002-03-24  Gerd Moellmann  <address@hidden>
  
!       * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
!       (Fdefmacro): Handle `(declare ...)'.
!       (syms_of_eval) <Qdeclare>: Initialize and staticpro.
!       (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
  
! 2002-03-24  Jason Rumney  <address@hidden>
  
!       * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
!       (xbm_file_p): Add prototypes.
!       (xbm_format, xbm_image_p): Sync with xfns.c.
!       (reflect_byte): New function.
!       (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
!       (xbm_load_image): Create bitmaps with a depth of 1.
!       (init_xfns): Enable XBM images.
  
! 2002-03-23  Jason Rumney  <address@hidden>
  
!       * w32term.c (w32_handle_tool_bar_click): Detect up and down events
!       correctly.  Do not pass up_modifier to keyboard buffer.
  
!       * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
  
! 2002-03-22  Stefan Monnier  <address@hidden>
  
!       * Makefile.in (bootstrapclean): New target.
!       (bootstrap-temacs, bootstrap-doc): Remove.
!       (bootstrap-emacs): Use a bog-standard `temacs'.
!       Don't bother to build a DOC file.
  
!       * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
  
!       * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
!       in temacs even if !CANNOT_DUMP.
!       (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
  
!       * alloc.c (check_pure_size): Only output a warning.
  
! 2002-03-22  Jason Rumney  <address@hidden>
  
!       * w32fns.c (Fx_create_frame): Enable tool-bar when images are
!       supported.
  
!       * w32term.c (zv_bits): Declare as short, for word alignment.
!       (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
!       (syms_of_w32term): Define x-use-underline-position-properties.
  
!       * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
!       (clear_image_cache): Block input, fix logic, clear matrices in
!       all frames that share this cache.
  
! 2002-03-22  Eli Zaretskii  <address@hidden>
  
!       * emacs.c (main): Update the Copyright year in the blurb printed
!       by "emacs --version".
  
!       * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
  
!       * xterm.c (XTread_socket): If XK_ISO_Lock and
!       XK_ISO_Last_Group_Lock are defined, handle keysyms between
!       XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
  
! 2002-03-21  Kim F. Storm  <address@hidden>
  
!       * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
!       menu-bar bindings in keymap and local-map properties _are_ used.
!       But try keymap property first in accordance with 2002-01-03 patch.
!       Added comment describing why this is not always reliable.
!       (tool_bar_items): Ditto for tool-bar.
  
! 2002-03-21  Jason Rumney  <address@hidden>
  
!       * w32fns.c (x_clear_image_1): Disable color table code.
  
! 2002-03-21  Kim F. Storm  <address@hidden>
  
!       * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
!       removed the wrong version of the DEFUN macro; fixed it.
  
!       * fns.c (Ffeaturep): Allow subfeature to be a list (test using
!       Fmember rather than Fmemq).
!       (Fprovide): Check that subfeatures is a list.
  
!       * process.c (QCfeature, QCdatagram): Removed variables.
!       (QCtype, Qdatagram): New variables.
!       (network_process_featurep): Removed function.
!       (Fmake_network_process): Removed :feature check.
!       Use :type 'datagram instead of :datagram t to create a datagram
!       socket.  This allows us to add other connection types (e.g. raw
!       sockets) later in a consistent manner.
!       (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
!       supported subfeatures for feature make-network-process.
!       (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
!       Intern and staticpro QCtype and Qdatagram.
!       (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
  
!       * xfns.c: (QCtype): Remove duplicate declaration and
!       initialization (is now declared in process.c).
  
!       * w32fns.c: (QCtype): Remove duplicate declaration and
!       initialization (is now declared in process.c).
  
! 2002-03-21  Richard M. Stallman  <address@hidden>
  
!       * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
!       (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
!       when jumping to `fail' to avoid undoing reg changes in the
!       last iteration of the loop.
!       (GET_UNSIGNED_NUMBER): Skip spaces around the number.
  
!       * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
!       Depend on process.h.
  
! 2002-03-20  Jason Rumney  <address@hidden>
  
!       Most of the following changes are still conditional on HAVE_IMAGES
!       which is not set by default on Windows.
  
!       * emacs.c (main) [WINDOWSNT]: Call init_xfns.
  
!       * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
!       (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
!       (four_corners_best, x_clear_image_1, x_clear_image)
!       (x_alloc_image_color, postprocess_image)
!       (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
!       (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
!       (init_xfns, syms_of_w32fns): Initialize image functions and constants.
  
!       * w32gui.h (struct XImage): Define.
  
!       * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
!       extract mouse co-ordinates.
  
! 2002-03-20  Jason Rumney  <address@hidden>
  
!       * w32.c (init_winsock): Dynamically load new server and UDP
!       socket functions.
!       (socket_to_fd): New function.
!       (sys_socket): Use it.
!       (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
!       (sys_recvfrom, sys_sendto): New wrapper functions.
  
!       * process.c (QCfamily, QCfilter): Remove duplicate declaration
!       and initialization.
  
!       * makefile.w32-in (LIBS): Remove $(WSOCK32).
  
! 2002-03-20  Eli Zaretskii  <address@hidden>
  
!       * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
!       Don't use "sun" as a variable, it's a predefined constant on Sun
!       machines.
  
! 2002-03-20  Pavel Jan,Am(Bk  <address@hidden>
  
!       * bytecode.c (Fbyte_code): Revert last change.
  
! 2002-03-19  Kim F. Storm  <address@hidden>
  
!       * makefile.w32-in (LIBS): Add $(WSOCK32).
!       From David Ponce <address@hidden>.
  
! 2002-03-18  Pavel Jan,Am(Bk  <address@hidden>
  
!       * process.c (wait_reading_process_input): Move variables `pname'
!       and `pnamelen' down where they are used.
  
!       * bytecode.c (Fbyte_code): Discard unused computed value to
!       prevent gcc warning.
  
!       * lisp.h (Fplist_member): Add prototype.
  
! 2002-03-18  Kim F. Storm  <address@hidden>
  
!       * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
!       HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
  
!       * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
!       Remove explicit GNU_LINUX settings for datagram support.
  
! 2002-03-18  Pavel Jan,Am(Bk  <address@hidden>
  
!       * process.c (Fmake_network_process): Remove unused variable `sa'.
!       Doc fix.  Add usage:.
!       (set_socket_options): Remove unused variables `optnum' and `opttype'.
  
! 2002-03-17  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (cursor_type_changed): New variable.
!       (redisplay_internal): Redisplay all windows if cursor_type_changed.
!       Clear it when clearing windows_or_buffers_changed.
!       (try_cursor_movement, redisplay_window, try_window_id)
!       (try_window_reusing_current_matrix): Test cursor_type_changed
!       along with windows_or_buffers_changed.
  
!       * window.h (cursor_type_changed): New variable.
  
!       * xfns.c (x_set_cursor_type): Set cursor_type_changed,
!       not update_mode_lines, and always set it to 1.
  
!       * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
!       if no frames needed redrawing.
  
! 2002-03-17  Kim F. Storm  <address@hidden>
  
!       The following changes add support for network server processes,
!       datagram connections, and local (unix) sockets.
  
!       * process.h (struct Lisp_Process): New member log.
!       Doc fix: Member command used to indicate stopped network process.
!       Doc fix: Member childp contains plist for network process.
!       Doc fix: Member kill_without_query is inverse of query-on-exit flag.
  
!       * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
!       (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
!       (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
!       New variables.
!       (NETCONN1_P): New macro.
!       (DATAGRAM_SOCKETS): New conditional symbol.
!       (datagram_address): New array.
!       (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
!       (status_message): Use concat3.
!       (Fprocess_status): Add `listen' status to doc string.  Return `stop'
!       for a stopped network process.
!       (Fset_process_buffer): Update contact plist for network process.
!       (Fset_process_filter): Ditto.  Don't enable input for stopped
!       network processes.  Server must listen, even if filter is t.
!       (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
!       New functions.
!       (Fprocess_kill_without_query): Removed.  Now defined in simple.el.
!       (Fprocess_contact): Added KEY argument.  Handle datagrams.
!       (list_processes_1): Optionally show only processes with the query
!       on exit flag set.  Dynamically adjust column widths.  Omit tty
!       column if not needed.  Report stopped network processes.
!       Identify server and datagram network processes.
!       (Flist_processes): New optional arg `query-only'.
!       (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
!       (conv_lisp_to_sockaddr, set_socket_options)
!       (network_process_featurep, unwind_request_sigio): New helper functions.
!       (Fprocess_datagram_address, Fset_process_datagram_address):
!       (Fset_network_process_options): New lisp functions.
!       (Fopen_network_stream): Removed.  Now defined in simple.el.
!       (Fmake_network_process): New lisp function.  Code is based on previous
!       Fopen_network_stream, but heavily reworked with new property list based
!       argument list, support for datagrams, server processes, and local
!       sockets in addition to old client-only functionality.
!       (server_accept_connection): New function.
!       (wait_reading_process_input): Use it to handle incoming connects.
!       Do not enable input on a new connection if process is stopped.
!       (read_process_output): Handle datagram sockets. Use 2k buffer for them.
!       (send_process): Handle datagram sockets.
!       (Fstop_process, Fcontinue_process): Apply to network processes.  A 
stopped
!       network process is indicated by setting command field to t .
!       (Fprocess_send_eof): No-op if datagram connection.
!       (Fstatus_notify): Don't read input for a stream server socket or a
!       stopped network process.
!       (init_process): Initialize datagram_address array.
!       (syms_of_process): Intern and staticpro new variables, defsubr new
!       functions.
  
! 2002-03-16  Jason Rumney  <address@hidden>
  
!       * w32fns.c (w32_to_all_x_charsets): Return correct type in
!       startup case.
  
! 2002-03-16  Richard M. Stallman  <address@hidden>
  
!       * xdisp.c (redisplay_internal, redisplay_windows):
!       Use list_of_error to call internal_condition_case_1.
!       (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
!       so as to catch all errors with no possibility of debugger redisplay.
!       (list_of_error): New variable.
!       (syms_of_xdisp): Init and staticpro it.
  
!       * print.c (print_object): Delete `\ ' from printed rep of frame.
  
! 2002-03-15  Eli Zaretskii  <address@hidden>
  
!       * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
!       until its implementation is fixed.
  
! 2002-03-14  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xfns.c (png_load): Remove unused variable `gamma_str'.
  
! 2002-03-14  Richard M. Stallman  <address@hidden>
  
!       * xfns.c (x_real_positions): Handle failure in XQueryTree.
  
! 2002-03-14  Miles Bader  <address@hidden>
  
!       * intervals.c (adjust_for_invis_intang): New function.
!       (set_point_both): Use `adjust_for_invis_intang' to do most of the
!       work for dealing with invisible+intangible regions.  Do so before
!       and after both forward and backward movements, to handle both
!       front-sticky and rear-sticky cases.
!       * textprop.c (text_property_stickiness): Function moved here from
!       `editfns.c'.
!       * intervals.h (text_property_stickiness): New declaration.
!       * editfns.c (char_property_eq): Function removed.
!       (text_property_stickiness): Function moved to `textprop.c'.
  
! 2002-03-13  Jason Rumney  <address@hidden>
  
!       * config.in: Add STRFTIME_NO_POSIX2.
  
!       * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
!       and %OX when underlying strftime does not.
  
! 2002-03-13  Stefan Monnier  <address@hidden>
  
!       * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
!       Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
!       line) to avoid annoying flicker.
!       (xm_scroll_callback): Get rid of the now unnecessary kludge.
!       (XTread_socket): Mark it static.
  
!       * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
  
! 2002-03-13  Kim F. Storm  <address@hidden>
  
!       * puresize.h (BASE_PURESIZE): Increase to 775000.
  
! 2002-03-12  Juanma Barranquero  <address@hidden>
  
!       * editfns.c (syms_of_editfns): Fix typo.
  
! 2002-03-12  Gerd Moellmann  <address@hidden>
  
!       * xsmfns.c: Include stdio.h because termhooks.h needs it.
!       Include termopt.h for interrupt_input.
  
! 2002-03-11  Andreas Schwab  <address@hidden>
  
!       * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
  
! 2002-03-11  Gerd Moellmann  <address@hidden>
  
!       * xterm.c (note_mouse_movement): Put code for
!       x_autoselect_window_p in #if 0.
  
!       * lread.c (Fload): Don't assume that message_with_string uses the
!       string it is given like a C string.
  
! 2002-03-10  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xterm.h (x_session_check_input, x_sess
  
!       * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
!       New variables.
!       (syms_of_xdisp): DEVFAR them.
!       (hscroll_window_tree): Use automatic_hscroll_margin and
!       Vautomatic_hscroll_step to compute the amount of window scrolling.
  
! 2002-02-16  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xterm.c (x-autoselect-window): New variable.
!       (note_mouse_movement): Use it.
  
!       * keyboard.c: Do not include "systime.h" twice.
  
! 2002-02-15  Andreas Schwab  <address@hidden>
  
!       * puresize.h (BASE_PURESIZE): Increase to 9/5.
  
!       * alloc.c (NSTATICS): Increase to 1280.
  
! 2002-02-15  Kai Gro,A_(Bjohann  <address@hidden>
  
!       * alloc.c (NSTATICS): Bump to 1026.
  
!       * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
!       (Vx_super_keysym): New variables.
!       (syms_of_xterm): DEFVAR_LISP them.
!       (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
!       variables to determine which keys to use for the various modifiers.
  
! 2002-02-13  Kim F. Storm  <address@hidden>
  
!       * window.c: (Vmode_line_in_non_selected_windows): Removed.
!       (mode_line_in_non_selected_windows): New variable.
!       (syms_of_window): DEFVAR_BOOL it.
  
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
!       Use mode_line_in_non_selected_windows.
!       (mode_line_in_non_selected_windows): Declare extern.
!       (Vmode_line_in_non_selected_windows): Removed extern.
  
! 2002-02-13  Richard M. Stallman  <address@hidden>
  
!       * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
!       (Fthis_single_command_keys, Fthis_single_command_raw_keys)
!       (Fclear_this_command_keys): Doc fixes.
  
!       * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
!       (update_face_from_frame_parameter): Increment face_change_count
!       and windows_or_buffers_changed to force redisplay using changed faces.
  
!       * xdisp.c (QCpropertize): New variable.
!       (mode_line_proptrans_alist): New variable.
!       (display_mode_element): New arg PROPS; all calls changed.
!       Implement this, for strings.
!       Handle literal output of strings by sharing the
!       main-line code for strings, using local var `literal'.
!       Handle :propertize feature.
!       (syms_of_xdisp): Initialze and staticpro QCpropertize and
!       mode_line_proptrans_alist.
  
! 2002-02-11  Kim F. Storm  <address@hidden>
  
!       * window.c: (Vmode_line_in_non_selected_windows): New variable.
!       (syms_of_window): DEFVAR_LISP it.
  
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
!       (CURRENT_MODE_LINE_FACE_ID): Use it.
!       (Vmode_line_in_non_selected_windows): Declare extern.
  
!       * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
!       to get mode line face.
  
! 2002-02-11  Eli Zaretskii  <address@hidden>
  
!       * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
!       variables; cus-start.el doesn't need them anymore.
  
! 2002-02-09  Kim F. Storm  <address@hidden>
  
!       * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
!       reduction.  This fixes a display problem where stray newlines were
!       inserted in the window (corrected by C-l).  Clarified code (IMHO).
  
! 2002-02-09  Eli Zaretskii  <address@hidden>
  
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
  
!       * xdisp.c (display_mode_lines): Fix last change.
  
! 2002-02-09  Jason Rumney  <address@hidden>
  
!       * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
!       match each other.
!       (w32_load_system_font): Prevent Cleartype fonts from loading.
!       (Fx_show_tip): Ensure tip frames are above other topmost windows.
  
! 2002-02-09  Kim F. Storm  <address@hidden>
  
!       * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
!       (CURRENT_MODE_LINE_HEIGHT): Use it.
!       (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
  
!       * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
!       (pos_visible_p, handle_face_prop): Likewise.
!       (display_mode_lines): Likewise, but for the real selected window.
!       (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
  
!       * xfaces.c (Qmode_line_inactive): New face variable for mode-line
!       in non-selected windows.
!       (realize_basic_faces): Realize it.
!       (syms_of_term): Intern and staticpro it.
  
! 2002-02-08  Kim F. Storm  <address@hidden>
  
!       * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
!       Changed mail addresses to address@hidden
  
! 2002-02-08  Eli Zaretskii  <address@hidden>
  
!       * fileio.c (Fsubstitute_in_file_name): If the file name includes
!       ~user, and there's no such user, don't discard everything before ~user.
  
!       * floatfns.c (Fround): Doc fix.
  
! 2002-02-08  Pavel Jan,Am(Bk  <address@hidden>
  
!       * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
  
! 2002-02-07  Stefan Monnier  <address@hidden>
  
!       * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
  
! 2002-02-07  Kim F. Storm  <address@hidden>
  
!       * keymap.c (where_is_internal): Only check whether definition is
!       remapped if it fulfills is_command_symbol.
  
! 2002-02-07  Andreas Schwab  <address@hidden>
  
!       * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
  
!       * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
  
! 2002-02-06  Kim F. Storm  <address@hidden>
  
!       * keymap.c (Fdefine_key): Allow symbol as KEY argument for
!       defining command remapping.  Doc updated.
!       (Flookup_key): Remap command through keymap if KEY is a symbol.
!       (is_command_symbol): New function.
!       (Fkey_binding): Use it.  New optional argument NO-REMAP.
!       Doc updated.  Callers changed.  Perform command remapping via
!       recursive call unless that arg is non-nil.
!       (where_is_internal): New argument no_remap.  Callers changed.
!       Call recursively to find original key bindings for a remapped
!       comand unless that arg is non-nil.
!       (Fwhere_is_internal): New optional argument NO-REMAP.
!       Doc updated.  Callers changed.  Pass arg to where_is_internal.
  
!       * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
!       (is_command_symbol): Added prototype.
  
!       * keyboard.c (Vthis_original_command): New variable.
!       (syms_of_keyboard): DEFVAR_LISP it.
!       (command_loop_1): Set it, and perform command remapping.
  
! 2002-02-06  Pavel Jan,Am(Bk  <address@hidden>
  
!       * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
  
! 2002-02-06  Jason Rumney  <address@hidden>
  
!       * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
  
! 2002-02-06  Eli Zaretskii  <address@hidden>
  
!       * charset.c (get_charset_id): Use if-else instead of ?:.
  
! 2002-02-06  Richard M. Stallman  <address@hidden>
  
!       * filelock.c (S_ISLNK): Define if not defined.
  
! 2002-02-03  Richard M. Stallman  <address@hidden>
  
!       * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
  
!       * lread.c (read1): Redesign strategy for force_multibyte and
!       force_singlebyte.  Now is_multibyte records whether read_buffer
!       is multibyte.  Encountering any multibyte character makes it so.
  
! 2002-02-02  Stefan Monnier  <address@hidden>
  
!       * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
!       with the same sequence, map that sequence to f10 rather than f0.
  
! 2002-02-03  Andreas Schwab  <address@hidden>
  
!       * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
!       latter never being defined on GNU/Linux.
  
! 2002-02-02  Eli Zaretskii  <address@hidden>
  
!       * xfaces.c (realize_default_face): Don't set the weight and slant of
!       the default face to Qnormal, unless these attributes are unspecified.
  
! 2002-02-02  Pavel Jan,Am(Bk  <address@hidden>
  
!       * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
!       Call cancel_hourglass unconditionally.
  
!       * eval.c (Fsignal): Remove duplicated declaration of
!       the variable `display_hourglass_p'.
  
! 2002-01-31  Richard M. Stallman  <address@hidden>
  
!       * editfns.c (region_limit): Nicer error message.
  
!       * coding.c (decode_composition_emacs_mule):
!       Give up if NCOMPONENT gets too large to index `component'.
  
!       * callint.c (check_mark): New arg to specify clearer error message.
!       Callers changed.
  
! 2002-01-27  Richard M. Stallman  <address@hidden>
  
!       * minibuf.c (Fcompleting_read): Doc fix.
  
! 2002-01-27  Pavel Jan,Am(Bk  <address@hidden>
  
!       * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
!       (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
!       Fix doc-strings.
  
! 2002-01-26  Richard M. Stallman  <address@hidden>
  
!       * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
  
!       * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
!       and scroll_up_aggressively.
  
! 2002-01-26  Pavel Jan,Am(Bk  <address@hidden>
  
!       * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
  
! 2002-01-25  Stefan Monnier  <address@hidden>
  
!       * textprop.c (Fnext_property_change, Fnext_single_property_change)
!       (Fprevious_property_change, Fprevious_single_property_change):
!       Stay within the narrowed-buffer boundaries.
  
! 2002-01-25  Eli Zaretskii  <address@hidden>
  
!       * term.c (Ftty_display_color_cells): New function.
!       (syms_of_term): Defsubr it.
!       (Ftty_display_color_cells, Ftty_display_color_p): Change the
!       argument name to DISPLAY.  Doc fix.
  
!       * dispextern.h: Add prototype for set_tty_color_mode and
!       tty_setup_colors.
  
! 2002-01-24  Jason Rumney  <address@hidden>
  
!       * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
!       If region left to draw is not what was expected, mark the frame as
!       garbaged.
  
!       * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
!       Combine the regions returned by BeginPaint and GetUpdateRect.
  
! 2002-01-23  Jason Rumney  <address@hidden>
  
!       * w32term.c (x_update_window_begin): Only hide caret if
!       w32_use_visible_system_caret is set.
!       (x_update_window_end): Only show caret if
!       w32_use_visible_system_caret is set.
!       (syms_of_w32term): Handle SystemParametersInfo call failing.
  
!       * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
  
! 2002-01-22  Richard M. Stallman  <address@hidden>
  
!       * unexelf.c (unexec): Define n so as to cause compilation error
!       for the code where people have often written n instead of nn.
  
!       * .gdbinit (hookpost-run): Defined.
  
! 2002-01-22  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
  
! 2002-01-21  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
!       if fullscreen is being set.
  
! 2002-01-21  Pavel Jan,Am(Bk  <address@hidden>
  
!       * minibuf.c (Fminibuffer_contents)
!       (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
!       (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
  
! 2002-01-21  Richard M. Stallman  <address@hidden>
  
!       * window.c (check_frame_size): Fix minimum height calculation.
  
! 2002-01-20  Ken Raeburn  <address@hidden>
  
!       * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
!       height before comparison.
!       (WINDOW_WANTS_HEADER_LINE_P): Likewise.
  
! 2002-01-20  Jason Rumney  <address@hidden>
  
!       * w32term.c (w32_system_caret_width): Remove.
!       (w32_use_visible_system_caret): New user flag.
!       (syms_of_w32term): DEFVAR_BOOL it.  Initialize based on whether
!       Windows reports a screen reader running.
!       (x_update_window_begin): Hide the system caret.
!       (x_update_window_end): Show the system caret.
!       (x_display_and_set_cursor): Don't draw a cursor when
!       w32_use_visible_system_caret is set.  Do not adjust width.
  
!       * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
!       (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
!       <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
!       the user requests it.  Use system default width when creating.
!       <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
  
!       * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
!       New window messages.
  
! 2002-01-20  Richard M. Stallman  <address@hidden>
  
!       * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
  
! 2002-01-20  Pavel Jan,Am(Bk  <address@hidden>
  
!       * doprnt.c (doprnt1): Fix typos in error call.
  
! 2002-01-20  Eli Zaretskii  <address@hidden>
  
!       * unexelf.c (unexec) [__sgi]: Support the .got sections.
  
! 2002-01-20  Jason Rumney  <address@hidden>
  
!       * w32term.c (w32_native_per_char_metric): Don't trust the metrics
!       that Windows returns.  If a double check fails, try to guess how
!       ExtTextOut is going to act.
  
!       * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
!       in place of stricmp.
!       (w32_list_synthesized_fonts): Removed.
!       (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
!       (struct enumfont_t): New element; list.
!       (enum_font_cb2): List all style and charset variations of a font.
!       (Fw32_select_font): New optional argument; include_proportional.
!       Exclude vertical fonts.  Exclude proportional fonts unless
!       include_proportional is non-nil.
!       (w32_enable_synthesized_fonts): Change to a boolean.
!       (Fw32_send_sys_command): Doc fix.
  
! 2002-01-19  Pavel Jan,Am(Bk  <address@hidden>
  
!       * dispnew.c (update_frame): Move the variable `tem' to the block
!       where it is used.
  
! 2002-01-19  Jason Rumney  <address@hidden>
  
!       * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
!       call to face-set-after-frame-default.
  
! 2002-01-18  Richard M. Stallman  <address@hidden>
  
!       * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
!       (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
  
! 2002-01-17  Richard M. Stallman  <address@hidden>
  
!       * window.c (enlarge_window): When exceeding size of parent,
!       directly delete all the siblings instead of trying to resize it.
  
! 2002-01-17  Pavel Jan,Am(Bk  <address@hidden>
  
!       * term.c (set_tty_color_mode): Remove unused variable `tem'.
  
! 2002-01-16  Henrik Enberg  <address@hidden>
  
!       * lread.c (init_lread): Move the installed-lisp dirs later in the path.
  
! 2002-01-16  Kim F. Storm  <address@hidden>
  
!       * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
!       is invisible.  This can happen if cursor is on top line of a
!       window, and we switch to a buffer with a header line.
  
!       * w32term.c (x_erase_phys_cursor): Ditto.
  
! 2002-01-16  Pavel Jan,Am(Bk  <address@hidden>
  
!       * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
!       `dont_resize' only when used.
  
!       * xdisp.c: Remove forgotten extern declaration of `Qimage'.
  
! 2002-01-15  Eli Zaretskii  <address@hidden>
  
!       * xdisp.c (display_mode_element): When computing charpos, depend
!       on multibyteness of elt, not the text in field.
  
! 2002-01-15  Pavel Jan,Am(Bk  <address@hidden>
  
!       * buffer.c (Fkill_all_local_variables):
!       Increment `update_mode_lines' only once.
  
! 2002-01-14  Pavel Jan,Am(Bk  <address@hidden>
  
!       * lisp.h (adjust_after_replace_noundo)
!       (Fupdate_coding_systems_internal): Add prototypes.
  
!       * sound.c (Fplay_sound): Initialize header_size also for :data case.
  
! 2002-01-14  Eli Zaretskii  <address@hidden>
  
!       Support for the --color command-line argument and tty-color-mode
!       frame parameter:
  
!       * term.c (tty_default_color_capabilities, tty_setup_colors)
!       (set_tty_color_mode): New functions.
!       (term_init): Call tty_default_color_capabilities.
!       (Qtty_color_mode_alist): New variable.
!       (syms_of_term): Intern and staticpro it.
  
!       * frame.c (store_frame_param): Call set_tty_color_mode for termcap
!       frames.
!       (do_switch_frame): For termcap frames, switch the tty
!       color mode as specified by the frame's parameters.
!       (Qtty_color_mode): New variable.
!       (syms_of_frame): Intern and staticpro it.
  
!       * emacs.c (USAGE2): Add the --color option.
!       (standard_args): Ditto.
  
! 2002-01-13  Jan Dj,Ad(Brv  <address@hidden>
  
!       * xterm.h (struct x_output): New members want_fullscreen,
!       x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
!       y_pixels_outer_diff.
!       New enum for FULLSCREEN_* constants.
!       (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
!       is NULL.
!       (x_fullscreen_adjust): Add prototype.
  
!       * emacs.c (USAGE2): Add the new full-screen arguments.
!       (standard_args): Ditto.
  
!       * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
!       New variables.
!       (syms_of_xfns): Intern and staticpro them.
!       (x_frame_parms) <"fullscreen">: New parameter.
!       (x_fullscreen_move, x_set_fullscreen): New functions.
!       (x_set_frame_parameters): Support for Qfullscreen.
!       (x_real_positions): More accurate computation of the frame position.
!       (x_figure_window_size): Support full-screen frames.
!       (Fx_create_frame): Default the fullscreen parameter.
  
!       * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
!       (XTread_socket) <Expose>: Call x_check_fullscreen.
!       <ConfigureNotify>: Don't resize to fullscreen.
!       Call x_check_fullscreen_move, and set the want_fullscreen member of
!       output_data.x.
  
! 2002-01-13  Jason Rumney  <address@hidden>
  
!       * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
!       for mice with more than 3 buttons.
  
!       * w32term.c (parse_button): New parameter xbutton.  Callers changed.
!       (w32_read_socket): Handle new "XBUTTON" messages.
  
!       * w32fns.
        bindings along with or instead of the buffer local map.
        Make the overriding maps override what they should.
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]