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 [gnus-5_10-branch]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/ChangeLog [gnus-5_10-branch]
Date: Sat, 04 Sep 2004 08:13:51 -0400

Index: emacs/src/ChangeLog
diff -c /dev/null emacs/src/ChangeLog:1.3811.2.1
*** /dev/null   Sat Sep  4 12:03:15 2004
--- emacs/src/ChangeLog Sat Sep  4 12:01:15 2004
***************
*** 0 ****
--- 1,14982 ----
+ 2004-09-03  Jason Rumney  <address@hidden>
+ 
+       * w32menu.c (_widget_value): Added lname and lkey.
+       (digest_single_submenu): Set lname and lkey in widget_value
+       instead of name and key.
+       (update_submenu_strings): New function.
+       (set_frame_menubar): Remove call to inhibit_garbage_collection,
+       call update_submenu_strings.
+ 
+       * w32menu.c (globals_of_w32menu): Check for Unicode API.
+       (digest_single_submenu, w32_menu_show): Encode menu strings as
+       UTF-8 if Unicode API is available.
+       (utf8to16): New function.
+       (add_menu_item): Use it when calling Unicode API.
+       
+ 2004-09-03  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
+       in overlay or text-property strings; set cursor on corresponding
+       glyph rather than at end of the string.
+ 
+ 2004-09-02  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macfns.c (x_real_positions): Save the current window port and
+       set a new one before obtaining the global coordinate.  Use
+       FRAME_MAC_WINDOW.
+       (x_set_name, x_set_title): Encode title to UTF8.  Use
+       SetWindowTitleWithCFString.
+       (Fx_server_version): Get correct OS version.
+ 
+       * macmenu.c (add_menu_item): Remove unused variable `i'.  Don't
+       let separator items destroy refence constants of other menu items.
+ 
+       * macterm.c (x_update_end): Move SetPortWindowPort to inside
+       BLOCK_INPUT.
+       (x_set_offset): Use FRAME_MAC_WINDOW.
+ 
+       * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
+       nontext_cursor if it is on a scroll bar.
+ 
+       * s/darwin.h (LIBS_CARBON): New define to specify libraries for
+       Carbon support.
+       (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.  Use
+       LIBS_CARBON.
+ 
+ 2004-09-02  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (x_set_name_internal): New function.  Check if we shall call
+       xfree before ENCODE_UTF_8.
+       (x_set_name, x_set_title): Call x_set_name_internal.
+ 
+ 2004-08-31  NAKAMURA Toshikazu  <address@hidden>  (tiny change)
+ 
+       * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
+       reload it.
+ 
+ 2004-08-30  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * macmenu.c (_widget_value): Added lname and lkey.
+       (single_submenu): Set lname and lkey in widget_value
+       instead of name and key.
+       (update_submenu_strings): New function.
+       (set_frame_menubar): Remove call to inhibit_garbage_collection,
+       call update_submenu_strings.
+ 
+       * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
+       instead of name and key.
+       (update_submenu_strings): New function.
+       (set_frame_menubar): Remove call to inhibit_garbage_collection,
+       call update_submenu_strings.
+ 
+       * gtkutil.h (_widget_value): Added lname and lkey.
+ 
+ 2004-08-30  Steven Tamm  <address@hidden>
+ 
+       * macmenu.c (mac_menu_show): Remove shadowing of menu variable
+       by using different names for inner loop variables.
+ 
+ 2004-08-27  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
+       from 1.233 so that strings from ENCODE_UTF_8 isn't GC:ed before used.
+ 
+       * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
+       tool bar items is 0.
+ 
+ 2004-08-26  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
+       strings in menu items.
+       (single_submenu): Use ENCODE_MENU_STRING
+       (mac_menu_show): Use ENCODE_MENU_STRING.  Reset grabbed because
+       button release isn't passed to event loop
+       (add_menu_item): Use SetMenuItemWithCFString
+ 
+ 2004-08-26  Steven Tamm  <address@hidden>
+ 
+       * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
+       tool-bar/menu click
+       * macfns.c (Fx_file_dialog): Implemented using NavServices
+ 
+ 2004-08-24  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
+ 
+       * xfns.c (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): Return 0 if wdesc is None.
+ 
+ 2004-08-22  Richard M. Stallman  <address@hidden>
+ 
+       * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
+       HAVE_TERMIOS]: If there's no char for this signal, drop through
+       and use system calls.
+ 
+       * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
+ 
+ 2004-08-20  Kim F. Storm  <address@hidden>
+ 
+       * process.c (wait_reading_process_output): Rename from
+       wait_reading_process_input.  All uses changed.
+       (wait_reading_process_output_1): Rename from
+       wait_reading_process_input_1.  All uses changed.
+ 
+       * dispnew.c (Fsleep_for): Remove obsolete code.
+ 
+ 2004-08-20  Kenichi Handa  <address@hidden>
+ 
+       * syntax.c (skip_chars): Fix for unibyte case.
+ 
+ 2004-08-19  Stefan Monnier  <address@hidden>
+ 
+       * syntax.c (char_quoted): Mixup byte/char pos.
+       (back_comment): Fixup globals in all cases.
+ 
+ 2004-08-19  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
+       passing it to gtk_window_set_title.
+ 
+ 2004-08-19  Kim F. Storm  <address@hidden>
+ 
+       * process.c (wait_reading_process_input): Clean up.
+       Add wait_for_cell, wait_proc, and just_wait_proc args
+       to avoid overloading `read_kbd' and `do_display' args.
+       Change read_kbd arg to int.  All callers changed.
+ 
+       * process.c (process_send_signal): Use CDISABLE.
+ 
+       * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
+ 
+ 2004-08-18  Kim F. Storm  <address@hidden>
+ 
+       * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
+       forward to wait_reading_process_input via DO_DISPLAY arg.
+       (wait_reading_process_input): If DO_DISPLAY < 0 for a process
+       object, only process output from that process; also inhibit
+       running timers if DO_DISPLAY==-2.
+ 
+ 2004-08-17  Kim F. Storm  <address@hidden>
+ 
+       * process.c (process_send_signal): Fix last change--use
+       _POSIX_VDISABLE instead of CVDISABLE when available.
+ 
+ 2004-08-16  Richard M. Stallman  <address@hidden>
+ 
+       * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
+       Set VQUIT and VINTR chars to the standard ones if they are unset.
+       [AIX]: Don't do that here.  And don't force VINTR to standard
+       when SIGNALS_VIA_CHARACTERS.
+ 
+       * process.c (process_send_signal)
+       [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
+       Do nothing if the character is CVDISABLE.
+ 
+       * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
+ 
+       * intervals.c (move_if_not_intangible):
+       Force POSITION to be between BEGV and ZV.
+ 
+ 2004-08-14  John Paul Wallington  <address@hidden>
+ 
+       * buffer.c (Frestore_buffer_modified_p): Doc fix.
+ 
+       * fileio.c (Fread_file_name): Doc fix.
+ 
+       * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
+ 
+ 2004-08-09  Luc Teirlinck  <address@hidden>
+ 
+       * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
+ 
+ 2004-08-08  Luc Teirlinck  <address@hidden>
+ 
+       * keyboard.c: Declare Qdisabled_command_function instead of
+       Qdisabled_command_hook.
+       (Fcommand_execute): Use Qdisabled_command_function instead of
+       Qdisabled_command_hook.
+       (syms_of_keyboard): Ditto.
+ 
+ 2004-08-07  Luc Teirlinck  <address@hidden>
+ 
+       * keymap.c (Flocal_key_binding, Fglobal_key_binding)
+       (syms_of_keymap) <key-translation-map>: Doc fixes.
+ 
+ 2004-08-07  Stefan Monnier  <address@hidden>
+ 
+       * window.c (window_list_1): YAILOM.
+ 
+       * fileio.c (make_temp_name): Handle multibyte prefixes.
+ 
+ 2004-08-06  Luc Teirlinck  <address@hidden>
+ 
+       * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
+       Doc fix.
+ 
+ 2004-08-03  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (decode_coding_string): Adjust coding->consumed, and
+       etc. with shrinked_bytes.
+ 
+ 2004-08-03  Kim F. Storm  <address@hidden>
+ 
+       * indent.c (compute_motion): Fix check for full width window
+       in non-window case.  Do not count left truncation glyph on
+       window systems.
+ 
+ 2004-08-02  Luc Teirlinck  <address@hidden>
+ 
+       * data.c (Finteractive_form): Doc fix.
+ 
+ 2004-08-02  Kim F. Storm  <address@hidden>
+ 
+       * indent.c (compute_motion): Use actual window width if WIDTH is -1,
+       properly accounting for continuation glyph on non-window systems.
+       (Fcompute_motion): Use actual window width if WIDTH is nil, and
+       actual window width/height if TOPOS is nil, properly accounting for
+       continuation glyphs on non-window systems, and optional header lines.
+       (vmotion): Let compute_motion calculate actual window width.
+ 
+       * window.c (window_scroll_line_based): Let compute_motion
+       calculate actual window width.
+ 
+ 2004-08-02  Kim F. Storm  <address@hidden>
+ 
+       * process.c (read_process_output): Use whole read buffer.
+       Don't trigger adaptive read buffering on errors.
+ 
+ 2004-07-31  Luc Teirlinck  <address@hidden>
+ 
+       * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
+ 
+       * keyboard.c (syms_of_keyboard) <disable-point-adjustment>:  Doc fix.
+ 
+       * callint.c (Fcall_interactively): Doc fix.
+ 
+ 2004-07-30  Richard M. Stallman  <address@hidden>
+ 
+       * abbrev.c (Fexpand_abbrev): Undo previous change.
+ 
+ 2004-07-30  Kim F. Storm  <address@hidden>
+ 
+       * editfns.c (Fformat): Allocate extra (dummy) element in info.
+ 
+ 2004-07-28  Luc Teirlinck  <address@hidden>
+ 
+       * eval.c (Fdefvar, Fdefconst): Doc fixes.
+ 
+ 2004-07-27  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
+       we have ensured that the glyph fits on the current line (or returned
+       MOVE_LINE_CONTINUED otherwise).
+ 
+ 2004-07-26  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
+       is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
+       if target position is at end of display line but char is not a newline.
+ 
+ 2004-07-25  Richard M. Stallman  <address@hidden>
+ 
+       * window.c (coordinates_in_window): Return ON_SCROLL_BAR
+       instead of ON_VERTICAL_BORDER, when on scroll bar.
+       (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
+ 
+       * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
+ 
+       * window.c (Fcoordinates_in_window_p):
+       Take account of FRAME_INTERNAL_BORDER_WIDTH.
+ 
+       * alloc.c (check_cons_list): New function (contents commented out).
+ 
+ 2004-07-24  Luc Teirlinck  <address@hidden>
+ 
+       * xfaces.c (Fcolor_supported_p): Doc fix.
+ 
+       * frame.c (Fselect_frame, Fset_frame_selected_window)
+       (Fframe_visible_p, Fraise_frame): Doc fixes.
+ 
+ 2004-07-24  Richard M. Stallman  <address@hidden>
+ 
+       * keyboard.h (not_single_kboard_state): Declared.
+ 
+       * fileio.c (Fwrite_region): Doc fix.
+ 
+       * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
+ 
+       * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
+       only when a real abbrev is present.
+ 
+       * xfns.c (x_icon_verify): New function.
+       (Fx_create_frame): Use it.
+ 
+ 2004-07-22  Barry Fishman <address@hidden>  (tiny change)
+ 
+       * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
+ 
+ 2004-07-21  Kim F. Storm  <address@hidden>
+ 
+       * window.h (struct glyph_matrix): New members nrows_scale_factor
+       and ncols_scale_factor.
+ 
+       * window.c (make_window): Initialize nrows_scale_factor and
+       ncols_scale_factor members.
+ 
+       * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
+       (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
+       (required_matrix_height): Apply nrows_scale_factor.
+       (required_matrix_width): Apply ncols_scale_factor.
+ 
+       * xdisp.c (display_line): Increment nrows_scale_factor and set
+       fonts_changed_p if past last allocated row.
+       (append_glyph, append_composite_glyph, produce_image_glyph)
+       (append_stretch_glyph): Increment ncols_scale_factor and set
+       fonts_changed_p if current area is full.
+ 
+ 2004-07-21  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
+ 
+ 2004-07-19  Luc Teirlinck  <address@hidden>
+ 
+       * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
+       (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
+       (Fset_window_start, Fscroll_up, Fscroll_down)
+       (Fother_window_for_scrolling, Fscroll_other_window)
+       (Fsave_window_excursion, Fset_window_vscroll)
+       (syms_of_window) <window-size-fixed>: Doc fixes.
+ 
+ 2004-07-19  KOBAYASHI Yasuhiro  <address@hidden>  (tiny change)
+ 
+       * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
+       ENCODE_SYSTEM for filenames.
+ 
+ 2004-07-18  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * mac.c (sys_select): Block input around call to
+       ReceiveNextEvent to prevent breakage.  Correctly handle
+       blocking on event queue only by calling ReceiveNextEvent
+       instead of select (since GUI events aren't on an fd).
+       (sys_read): Remove function
+       * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
+ 
+ 2004-07-18  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * mac.c (sys_select): Redo sys_select to use alarm-based
+       polling instead of 1 sec timeouts (like solaris).
+ 
+       * macterm.c (x_make_frame_visible): Comment in polling on
+       frame creation.
+ 
+       * keyboard.c: Undef SIGIO on Carbon
+ 
+       * atimer.c (alarm_signal_handler): Call alarm handlers after
+       scheduling.
+ 
+       * eval.c (Feval): Remove quit_char test
+ 
+       * process.c (wait_reading_process_input): Remove clearing
+       stdin for select call on process input.
+ 
+ 2004-07-18  Luc Teirlinck  <address@hidden>
+ 
+       * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
+       capitalization error in docstring.
+ 
+ 2004-07-17  Juanma Barranquero  <address@hidden>
+ 
+       * keyboard.c (not_single_kboard_state): Do nothing unless
+       MULTI_KBOARD is defined.
+ 
+ 2004-07-17  Richard M. Stallman  <address@hidden>
+ 
+       * window.c (coordinates_in_window): Inside the window but outside
+       its box to the L or R, return ON_VERTICAL_BORDER.
+       (window_list_1): Rotate the list to start with WINDOW.
+ 
+       * print.c (print_preprocess): Test for print_depth at limit
+       before entering in being_printed.
+ 
+       * keyboard.c (not_single_kboard_state): New function.
+       (stuff_buffered_input): Now no-op only if no SIGTSTP.
+ 
+       * frame.c (Fdelete_frame): If we're in single_bboard_state on
+       this kboard, and we delete its last frame, go to any_kboard_state.
+ 
+       * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
+ 
+ 2004-07-15  KOBAYASHI Yasuhiro  <address@hidden>  (tiny change)
+ 
+       * w32fns.c (Fx_file_dialog): Encode strings in system coding
+       system before passing them to OS functions for display.
+ 
+ 2004-07-15  David Kastrup  <address@hidden>
+ 
+       * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
+       Apparently fixes an abort condition.
+ 
+ 2004-07-14  Luc Teirlinck  <address@hidden>
+ 
+       * fileio.c (Fvisited_file_modtime): Return a list of two integers,
+       instead of a cons.
+ 
+ 2004-07-14  K,Ba(Broly L,Bu(Brentey  <address@hidden>
+ 
+       * keyboard.c (echo_dash): Do nothing if there already is a dash
+       at the end of the echo string.
+ 
+ 2004-07-12  Kim F. Storm  <address@hidden>
+ 
+       * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
+       if GC_MARK_STACK.
+ 
+ 2004-07-10  Luc Teirlinck  <address@hidden>
+ 
+       * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
+ 
+       * window.c (Fwindow_buffer, Fother_window,  Fget_lru_window)
+       (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
+       (Freplace_buffer_in_windows, Fset_window_buffer)
+       (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
+       (syms_of_window): Expand docstring of `display-buffer-function'.
+ 
+ 2004-07-09  Luc Teirlinck  <address@hidden>
+ 
+       * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
+       (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
+       that time values of the type (HIGH . LOW) are considered obsolete.
+ 
+ 2004-07-06  Luc Teirlinck  <address@hidden>
+ 
+       * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
+       docstring.
+ 
+       * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
+ 
+ 2004-07-06  John Paul Wallington  <address@hidden>
+ 
+       * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
+ 
+       * fns.c (Fclear_string): Signal an error if STRING is not a string.
+ 
+ 2004-07-05  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
+       instead of CGMainDisplayID (only in OSX 10.2 and later).
+ 
+ 2004-07-04  John Paul Wallington  <address@hidden>
+ 
+       * fileio.c (read_file_name_completion_ignore_case): New variable.
+       (syms_of_fileio): Declare and initialise it.
+       (Fread_file_name): Bind `completion-ignore-case' to respect it.
+ 
+ 2004-07-03  Eli Zaretskii  <address@hidden>
+ 
+       * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
+       for event.x and event.y.
+ 
+ 2004-07-01  Kenichi Handa  <address@hidden>
+ 
+       * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
+       after getting a new string by pre-write-conversion.
+ 
+ 2004-06-30  Stefan  <address@hidden>
+ 
+       * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
+       (x_calc_absolute_position): Remove unused var `child'.
+ 
+       * xfaces.c (x_supports_face_attributes_p)
+       (Fdisplay_supports_face_attributes_p): YAILOM.
+       (tty_supports_face_attributes_p): Remove unused var `i'.
+ 
+       * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
+       back_unibyte_ok.
+ 
+       * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
+ 
+       * fontset.c (Fset_fontset_font): Remove unused vars `family' and 
`registry'.
+ 
+       * Makefile.in (${etc}DOC): Fix file name of make-docfile.
+ 
+ 2004-06-30  Andreas Schwab  <address@hidden>
+ 
+       * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
+       (Finit_image_library): Pass LIBRARIES through to
+       CHECK_LIB_AVAILABLE.  Declare parameters.  Doc fix.
+       (lookup_image_type): Pass Qnil as second argument to
+       Finit_image_library.
+ 
+       * lisp.h: Declare Finit_image_library.
+ 
+ 2004-06-29  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macterm.c (do_window_activate, do_window_deactivate): Remove.
+       (XTread_socket): Send mouse button events to the toolbox
+       dispatcher even when the mouse is grabbed.  Don't process window
+       activate events for non-Emacs windows.  Replace function calls to
+       do_window_activate and do_window_deactivate with their contents.
+       Reset mouse grabbing status when a window is deactivated.
+ 
+ 2004-06-29  Steven Tamm  <address@hidden>
+ 
+       * macterm.c (mac_get_emulated_btn)
+       (mac_event_to_emacs_modifiers): Fix emulated mouse button
+       support to correctly mask out modifiers.
+ 
+ 2004-06-29  David Kastrup  <address@hidden>
+ 
+       * search.c (Fset_match_data): Allow buffer before end of list
+       which can happen if set-match-data is using a pre-consed list.
+ 
+ 2004-06-28  Steven Tamm  <address@hidden>
+ 
+       * macterm.c (XTread_socket): Correctly set the frame position
+       after the window is moved.
+ 
+ 2004-06-28  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
+       gpix and gmask just before return to avoid memory leak.
+       (xg_get_image_for_pixmap): Add workaround for monochrome displays
+       so insensitive and activated icons look ok.
+ 
+ 2004-06-27  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (file_dialog_callback): Disable edit control if set
+       to directories only on CDN_INITDONE message.
+       (Fx_file_dialog): Default to directories only when prompt starts
+       with "Dired".
+ 
+ 2004-06-25  Kim F. Storm  <address@hidden>
+ 
+       * alloc.c (allocate_misc): Update total_free_markers.
+       (free_misc): New function.
+       (safe_alloca_unwind, free_marker): Use it.
+ 
+       * lisp.h (free_misc): Add prototype.
+ 
+       * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
+ 
+ 2004-06-24  Richard M. Stallman  <address@hidden>
+ 
+       * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
+       (syms_of_emacs): Lisp variables deleted.
+ 
+ 2004-06-23  David Kastrup  <address@hidden>
+ 
+       * search.c (Freplace_match): Adjust the match-data more thoroughly
+       when replacing strings in the buffer.
+       (Fmatch_data): When INTEGERS is non-nil and the last match was in
+       a buffer, add the buffer as last element to the match data.
+       (Fset_match_data): If an additional element of the match-data is a
+       buffer, restore it to last_thing_searched.
+       (save_search_regs): Save last_thing_searched as part of the match data.
+       (restore_match_data): Restore it again.
+ 
+ 2004-06-23  Luc Teirlinck  <address@hidden>
+ 
+       * keymap.c (Ftext_char_description): Doc fix.
+       * doc.c (Fsnarf_documentation): Doc fix.
+ 
+ 2004-06-22  Kim F. Storm  <address@hidden>
+ 
+       * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
+ 
+       * lisp.h (struct Lisp_Save_Value): New member dogc.
+       (SAFE_ALLOCA_LISP): Change second arg to number of elements.
+       Set dogc member in Lisp_Save_Value object so it will be GC'ed.
+       (SAFE_FREE_LISP): New macro.
+ 
+       * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
+       (make_save_value): Init new dogc member.
+       (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
+ 
+       * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
+       SAFE_FREE_LISP macros.
+ 
+ 2004-06-22  Kim F. Storm  <address@hidden>
+ 
+       * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
+       Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
+       in that memory area are unknown to GC.  Add comments.
+ 
+       * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
+ 
+ 2004-06-21  Kim F. Storm  <address@hidden>
+ 
+       * lisp.h (MAX_ALLOCA): Define here.
+       (safe_alloca_unwind): Add prototype.
+       (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
+ 
+       * alloc.c (safe_alloca_unwind): New function.
+ 
+       * casefiddle.c (casify_object): Use SAFE_ALLOCA.
+ 
+       * charset.c (Fstring): Use SAFE_ALLOCA.
+ 
+       * coding.c (MAX_ALLOCA): Remove define.
+ 
+       * data.c (MAX_ALLOCA): Remove define.
+       (Faset): Use SAFE_ALLOCA.
+ 
+       * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
+ 
+       * fns.c (string_make_multibyte, string_to_multibyte)
+       (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
+       (MAX_ALLOCA): Remove define.
+       (Fbase64_encode_region, Fbase64_encode_string)
+       (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
+       (Fbase64_encode_region, Fbase64_encode_string): Fix potential
+       memory leak if encoding fails.
+ 
+       * xdisp.c (add_to_log): Use SAFE_ALLOCA.
+ 
+ 2004-06-21  Eli Zaretskii  <address@hidden>
+ 
+       * print.c (Fwith_output_to_temp_buffer): Doc fix.
+ 
+ 2004-06-20  Richard M. Stallman  <address@hidden>
+ 
+       * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
+ 
+       * search.c (match_limit): Cleaner err msg when no match data available.
+ 
+       * window.c (syms_of_window): Doc fix.
+ 
+       * keyboard.c (command_loop_1): Handle values `only' and `identity'
+       for Vtransient_mark_mode.
+ 
+       * buffer.c (syms_of_buffer): Doc fix.
+ 
+ 2004-06-21  David Kastrup  <address@hidden>
+ 
+       * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
+       and unbinding of `case-fold-search' according to
+       `completion-ignore-case' around calls of string-match and
+       predicates, respectively.  Should give satisfactory performance
+       in all relevant cases.
+ 
+ 2004-06-17  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
+       clip_x/y_origin.
+ 
+       * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
+ 
+       * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
+ 
+       * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
+       on Mac OSX.
+ 
+ 2004-06-16  Luc Teirlinck  <address@hidden>
+ 
+       * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
+ 
+ 2004-06-16  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h (Vimage_types): Remove extern.
+ 
+ 2004-06-16  Miles Bader  <address@hidden>
+ 
+       * image.c (lookup_image_type): Initialize image type if necessary.
+ 
+ 2004-06-15  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (try_cursor_movement): Exclude header line from scroll
+       margin at top of window.
+       (try_window_reusing_current_matrix): Calculate proper cursor position
+       after scrolling up with non-zero scroll margin, as the old cursor
+       position corresponds to value of PT before executing this command.
+       (try_window_id): Consider scroll margin at bottom of window too;
+       otherwise we fail to scroll when hl-line-mode is enabled.
+ 
+       * syntax.c (skip_chars): Only recognize [:class:] when it has the
+       proper format and class is a lower-case word.
+ 
+ 2004-06-14  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_get_image_for_pixmap): New function.
+       (xg_get_gdk_pixmap_and_mask): Remove.
+       (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
+       xg_get_gdk_pixmap_and_mask.
+ 
+       * xterm.h (struct x_display_info): Typo in comment fixed.
+ 
+ 2004-06-14  Juanma Barranquero  <address@hidden>
+ 
+       * dispextern.h (Vimage_types): Make it conditional on
+       HAVE_WINDOW_SYSTEM.
+ 
+       * image.c (Vimage_types): Move from xdisp.c.
+       (Vimage_type_cache): New variable.
+       (define_image_type): New argument indicating whether an image
+       library was loaded; cache loaded status and return t on success,
+       nil otherwise.
+       (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
+       (w32_delayed_load): New function to load an image library from a
+       list of possible filenames.
+       (init_xpm_functions, init_png_functions, init_jpeg_functions)
+       (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
+       (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
+       (Finit_image_library): New function, extracted from `init_image'.
+       Try to initialize an image library on demand and cache whether we
+       were successful or not.
+       (syms_of_image): Initialize `Vimage_types' and
+       `Vimage_type_cache'.  Add recognized image types to Vimage_types.
+       Export `init-image-library'.
+       (init_image): Remove initialization of all image types, except xbm
+       and pbm.
+ 
+       * xdisp.c (Vimage_types): Delete (moved to image.c).
+ 
+ 2004-06-14  Andreas Schwab  <address@hidden>
+ 
+       * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
+       Avoid calling specbind when completion-regexp-list is empty.
+ 
+ 2004-06-13  Richard M. Stallman  <address@hidden>
+ 
+       * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
+       (re_wctype, re_iswctype, re_wctype_to_bit):
+       Non-function definitions moved here from regex.c.
+ 
+       * regex.c (re_wctype, re_iswctype): Function defs longer static.
+       (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
+       (re_wctype, re_iswctype, re_wctype_to_bit):
+       Non-function definitions moved to regex.h.
+ 
+       * window.c (Fselect_window): Doc fix.
+ 
+       * syntax.c: Include regex.h.
+       (skip_chars): New arg HANDLE_ISO_CLASSES.  Callers changed.
+       If requested, make a list of classes, then check the scanned
+       chars for membership in them.
+       (in_classes): New function.
+       Doc fix.
+ 
+       * keyboard.c (cmd_error): Don't call any_kboard_state
+       if inside a recursive edit level.
+ 
+ 2004-06-13  Lorentey K,Aa(Broly  <address@hidden>
+ 
+       * keyboard.c (command_loop): Call any_kboard_state before
+       command_loop_2 when at top level.
+ 
+ 2004-06-13  Andreas Schwab  <address@hidden>
+ 
+       * print.c (print_object): Always use %ld for printing EMACS_INT.
+ 
+       * keyboard.c (cancel_hourglass_unwind): Return a value.
+       (modify_event_symbol): Always use %ld for printing EMACS_INT.
+       (Fexecute_extended_command): Likewise.
+ 
+       * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
+       avoid clashes.
+       (SYNTAX): Likewise.
+       (SYNTAX_WITH_FLAGS): Likewise.
+       (SYNTAX_MATCH): Likewise.
+ 
+       * syntax.c (char_quoted): Avoid warning about undefined operation.
+       (find_defun_start): Likewise.
+       (scan_lists): Likewise.
+       (INC_FROM): Likewise.
+       (scan_sexps_forward): Likewise.
+ 
+       * image.c: Include <ctype.h>.
+ 
+       * xfaces.c (face_attr_equal_p): Declare parameters.
+ 
+ 2004-06-13  Kenichi Handa  <address@hidden>
+ 
+       * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
+ 
+ 2004-06-12  Matthew Mundell  <address@hidden>
+ 
+       * eval.c (Fdefun): Signal an error if NAME is not a symbol.
+ 
+ 2004-06-12  Kenichi Handa  <address@hidden>
+ 
+       * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
+       ccl_prog_stack_struct and update it.
+       (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
+       (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
+       ccl->eof_ic on EOF.
+       (ccl_debug_hook): New function.
+       (struct ccl_prog_stack): New member eof_ic.
+       (ccl_driver): Handle EOF in subrountine call correctly.
+ 
+ 2004-06-11  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
+ 
+ 2004-06-11  Kim F. Storm  <address@hidden>
+ 
+       * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
+ 
+ 2004-06-11  Juanma Barranquero  <address@hidden>
+ 
+       * keyboard.c (Fposn_at_point): Doc fix.
+ 
+ 2004-06-11  David Kastrup  <address@hidden>
+ 
+       * search.c (match_limit): Don't flag an error if match-data
+       exceeding the allocated search_regs.num_regs gets requested, just
+       return Qnil.
+ 
+ 2004-06-08  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
+ 
+ 2004-06-07  Juanma Barranquero  <address@hidden>
+ 
+       * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
+       (Fcurrent_time_string, Fcurrent_time_zone)
+       (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
+ 
+ 2004-06-07  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (struct named_merge_point): New type.
+       (push_named_merge_point): New function.
+       (merge_named_face): New function.
+       (merge_face_ref, face_at_buffer_position, face_at_string_position):
+       Use `merge_named_face'.
+       (merge_face_inheritance): Function removed.
+       (merge_face_ref): Rename from `merge_face_vector_with_property'.
+       Add new `err_msgs' and `named_merge_points' args.  Return error
+       status.  Only print error messages if ERR_MSGS is true.  Don't try to
+       do :inherit attribute validation.
+       (merge_face_heights): Handle `unspecified' in both directions.
+       (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
+       Call `merge_face_ref' instead of `merge_face_inheritance'.
+       (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
+       (compute_char_face, face_at_buffer_position)
+       (face_at_string_position): Call `merge_face_ref' instead of
+       `merge_face_vector_with_property'.
+ 
+ 2004-06-07  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (find_safe_codings): Check NILP (safe_codings) only at
+       the necessary places.
+ 
+ 2004-06-07  Kim F. Storm  <address@hidden>
+ 
+       * process.c (Fdelete_process): Undo 2004-05-28 change.
+       Instead, call status_notify also for network process.
+       (status_message): Use process instead of status as arg.
+       Give messages "deleted" or "connection broken by remote peer" for
+       an exited network process.
+       (status_notify): Change call to status_message.
+       (read_process_output): Increase readmax to 4096.  Do not increase
+       buffer size for datagram channels (default is now large enough).
+ 
+ 2004-06-06  Steven Tamm  <address@hidden>
+ 
+       * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
+       problem due to newly defined variable.
+ 
+ 2004-06-06  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
+       immediately if non-interactive or not initialized.
+ 
+ 2004-06-05  Richard M. Stallman  <address@hidden>
+ 
+       * minibuf.c (Fcompleting_read): Doc fix.
+ 
+ 2004-06-05  Andreas Schwab  <address@hidden>
+ 
+       * macfns.c (x_create_tip_frame): Fix declaration after statement.
+ 
+ 2004-06-05  Juanma Barranquero  <address@hidden>
+ 
+       * keymap.c (Fdescribe_vector): Fix docstring.
+       (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
+ 
+ 2004-06-05  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
+       attributes have different values than the default face.
+ 
+ 2004-06-04  Eli Zaretskii  <address@hidden>
+ 
+       * xfaces.c (x_supports_face_attributes_p): Make this function
+       conditional on HAVE_WINDOW_SYSTEM.
+       (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
+       Don't call x_supports_face_attributes_p if it was not compiled in.
+ 
+ 2004-06-04  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (tty_supports_face_attributes_p): New function, mostly
+       from Ftty_supports_face_attributes_p.
+       (x_supports_face_attributes_p): New function.
+       (Ftty_supports_face_attributes_p): Function deleted.
+       (Fdisplay_supports_face_attributes_p): New function.
+       (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
+       (face_attr_equal_p): New function.
+       (lface_equal_p): Use it.
+ 
+ 2004-06-03  Juanma Barranquero  <address@hidden>
+ 
+       * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
+       (Vw32_color_map): Fix typo in docstring.
+       (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
+       (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
+       Make argument names match their use in docstring.
+ 
+ 2004-06-02  Juanma Barranquero  <address@hidden>
+ 
+       Work around bugs/problems with MinGW builds of graphics libraries
+       called from MSVC builds of Emacs.
+ 
+       * image.c (lookup_image): Make pointer to img static.
+       (png_read_from_memory): Disable "global" optimization.
+ 
+ 2004-06-01  Stefan Monnier  <address@hidden>
+ 
+       * eval.c (Fcondition_case): Fix usage.  Simplify.
+ 
+       * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
+ 
+ 2004-05-29  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macfns.c: Don't include ccl.h.
+       [MAC_OSX]: Don't include QuickTime/QuickTime.h.
+       [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
+       TextUtils.h.
+       (Fx_create_frame): Sync with xfns.c.  Initialize cursor descriptors.
+       (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
+       display height/width.
+       (compute_tip_xy, Vx_max_tooltip_size): Declare.
+       (unwind_create_tip_frame, compute_tip_xy): New functions.
+       (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
+       (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
+       and last_show_tip_args.
+ 
+       * macgui.h [!MAC_OSX]: Include Gestalt.h.
+       (Cursor, No_Cursor): New defines.
+       [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
+       [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
+ 
+       * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
+ 
+       * macterm.c: Don't include Gestalt.h.
+       (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
+       (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
+       (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
+       (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
+       (mac_copy_area, mac_copy_area_with_mask, x_update_end)
+       (construct_mouse_click, XTmouse_position)
+       (x_scroll_bar_report_motion, x_calc_absolute_position)
+       (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
+       (XTread_socket, make_mac_frame): Use SetPortWindowPort.
+       (note_mouse_movement): Clear the mouse face and reset the pointer
+       shape when the pointer goes outside the frame without grabbing.
+       (mac_front_window): New function.
+       (mac_window_to_frame): New macro.
+       (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
+       (do_window_activate, do_window_deactivate, do_app_resume)
+       (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
+       (do_zoom_window, mac_do_receive_drag, XTread_socket)
+       (mac_check_for_quit_char): Use mac_front_window and/or
+       mac_window_to_frame.
+       (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
+       scroll-bar click event.
+       (mac_define_frame_cursor): Change the pointer shape.
+       (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
+       [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
+       [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
+       (do_window_update): Don't do anything if the updated window is the
+       tooltip window.
+       (do_mouse_moved): Handle mouse movement events here (previously in
+       XTread_socket).  Clear the mouse face if
+       dpyinfo->mouse_face_hidden is set.
+       (do_os_event, do_events): Remove (now in XTread_socket).
+       (XTread_socket): Immediately return if interrupt_input_blocked.
+       Loop until all the events in the queue are processed.
+       Rearrange codes for mouse grabbing.  Add tooltip support.  Include the
+       contents of do_os_event and do_events.  Remove mouse movement
+       handling (now in do_mouse_moved).  Add the case where
+       Vmouse_highlight has an integer value.
+       (NewMacWindow): Remove.
+       (make_mac_frame): Do what NewMacWindow previously did.  Don't do
+       excess initializations.
+       (make_mac_terminal_frame): Previous initializations in
+       make_mac_frame are moved here.
+       (mac_initialize_display_info):
+       Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
+ 
+       * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
+       (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
+ 
+ 2004-05-29  Richard M. Stallman  <address@hidden>
+ 
+       * lisp.h (truncate_undo_list): Update decl.
+ 
+       * alloc.c (undo_outer_limit): New variable.
+       (syms_of_alloc): Defvar it.
+       (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
+ 
+       * undo.c (truncate_undo_list): New arg LIMITSIZE.
+ 
+       * alloc.c (lisp_align_malloc): Check for base == 0
+       regardless of HAVE_POSIX_MEMALIGN.
+       Clean up HAVE_POSIX_MEMALIGN handling of `err'.
+ 
+ 2004-05-28  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c: Undo Kim's recent changes and fix the same bug differently.
+       (marker_blocks_pending_free): Remove.
+       (Fgarbage_collect): Sweep after cleaning up undo-lists.
+       Mark the undo lists after claning them up.
+       Don't free block in marker_blocks_pending_free.
+       (mark_buffer): Don't mark undo_list.
+       (gc_sweep): Sweep hash-tables and strings first.
+       Do free marker blocks that are empty.
+ 
+ 2004-05-28  Jim Blandy  <address@hidden>
+ 
+       * regex.c (print_partial_compiled_pattern): Add missing 'break'
+       after 'case wordend'.  For symbeg and symend, print to stderr,
+       like the other cases.
+ 
+ 2004-05-28  Noah Friedman  <address@hidden>
+ 
+       * process.c (Fdelete_process): Do not call remove_process.
+ 
+ 2004-05-28  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (struct backtrace): Remove.
+       (Fgarbage_collect): Use the new mark_backtrace.
+ 
+       * eval.c (mark_backtrace): New function.
+ 
+       * minibuf.c (run_exit_minibuf_hook): New function.
+       (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
+       (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
+ 
+ 2004-05-27  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (back_to_previous_visible_line_start): Skip backwards
+       over display properties, e.g. images, that replace buffer text.
+ 
+ 2004-05-25  Kim F. Storm  <address@hidden>
+ 
+       * alloc.c (marker_blocks_pending_free): New var.
+       (gc_sweep): Store free marker blocks on that list.
+       (Fgarbage_collect): Free them after undo-list cleanup.
+ 
+       * process.c (wait_reading_process_input): Check connect_wait_mask
+       before actually accepting connection in case it has already been
+       accepted due to recursion.
+ 
+ 2004-05-23  K,Ba(Broly L,Bu(Brentey  <address@hidden>  (tiny change)
+ 
+       * coding.c (Fset_safe_terminal_coding_system_internal):
+       Set suppress_error in safe_terminal_coding, not terminal_coding.
+ 
+ 2004-05-22  Richard M. Stallman  <address@hidden>
+ 
+       * alloc.c (Fmake_string): Doc fix.
+ 
+       * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
+       and the alist pairs too.
+ 
+       * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
+ 
+       * emacs.c (main): Update copyright year.
+ 
+       * fileio.c (Fread_file_name): Expand DIR if not absolute.
+ 
+       * insdel.c (del_range_2, replace_range): Don't write an anchor
+       if the gap is empty.
+ 
+       * xdisp.c (try_scrolling): If scroll-up-aggressively or
+       scroll-down-aggressively is small but positive, put point
+       near the screen edge.
+ 
+ 2004-05-22  Juanma Barranquero  <address@hidden>
+ 
+       * keymap.c (Fdefine_key): Doc fix.
+ 
+ 2004-05-22  Kim F. Storm  <address@hidden>
+ 
+       * alloc.c (struct backtrace): Add debug_on_exit member.
+       (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
+       Identify those markers as Lisp_Misc_Free objects.  Clear car and cdr of
+       the removed cons cells.
+       (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
+       (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
+       any cons cells pointing to unallocated stings.
+       Do not lisp_free any marker blocks, as there may still be pointers
+       to them from buffer undo lists at this stage of GC.
+ 
+       * keyboard.c (struct backtrace): Add debug_on_exit member.
+       (Fcommand_execute): Clear it.
+ 
+ 2004-05-20  Luc Teirlinck  <address@hidden>
+ 
+       * intervals.c (lookup_char_property): Do not prematurely return nil.
+ 
+ 2004-05-19  Jim Blandy  <address@hidden>
+ 
+       Add support for new '\_<' and '\_>' regexp operators, matching the
+       beginning and end of symbols.
+ 
+       * regex.c (enum syntaxcode): Add Ssymbol.
+       (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
+       (re_opcode_t): New opcodes `symbeg' and `symend'.
+       (print_partial_compiled_pattern): Print the new opcodes properly.
+       (regex_compile): Parse the new operators.
+       (analyse_first): Skip sym(beg|end) (they match only the empty string).
+       (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
+       \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
+       (re_match_2_internal): Match symbeg and symend.
+ 
+       * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
+ 
+ 2004-05-19  Kim F. Storm  <address@hidden>
+ 
+       * .gdbinit (xsymbol): Fix last change.
+ 
+ 2004-05-18  Stefan Monnier  <address@hidden>
+ 
+       * .gdbinit (xprintstr): New fun.
+       (xstring, xprintsym): Use it.
+ 
+       * w32proc.c (create_child): Use INTMASK.
+ 
+       * alloc.c (Fgarbage_collect): Do all the marking before flushing
+       unmarked elements of the undo list.
+ 
+ 2004-05-18  David Ponce  <address@hidden>
+ 
+       * print.c (print): Reset print_depth before to call print_object.
+ 
+ 2004-05-18  Jason Rumney  <address@hidden>
+ 
+       * w32console.c: Prefix RIF functions with w32con_ to avoid
+       namespace clash with functions in term.c and w32term.c.
+ 
+       * w32menu.c (add_menu_item, w32_menu_display_help)
+       [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
+ 
+       * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
+ 
+ 2004-05-18  Eli Zaretskii  <address@hidden>
+ 
+       * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
+ 
+       * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
+       with make_number.
+       (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
+       with XINT.
+ 
+ 2004-05-18  Kim F. Storm  <address@hidden>
+ 
+       * blockinput.h (INPUT_BLOCKED_P): New macros.
+ 
+       * keyboard.c (Frecursive_edit): Return immediately if input blocked.
+       (Ftop_level): Unblock input if blocked.
+ 
+       * buffer.h (GET_OVERLAYS_AT): New macro.
+       * msdos.c (IT_note_mouse_highlight): Use it.
+       * textprop.c (get_char_property_and_overlay): Use it.
+       * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
+       * xfaces.c (face_at_buffer_position): Use it.
+ 
+       * print.c (print_object): Increase buf size.
+ 
+ 2004-05-17  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
+       (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
+       Lisp_Object using i member.
+       (w32_quit_key): Rename from Vw32_quit_key, and make an int.
+       (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
+       consistently.
+ 
+       * w32proc.c (create_child): Use make_number instead of masking pid.
+ 
+       * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
+       (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
+       Use EQ to compare Lisp_Objects.
+       (w32_parse_hot_key): Use int for lisp_modifiers consistently.
+ 
+       * w32term.c (w32_num_mouse_buttons): Rename from
+       Vw32_num_mouse_buttons and make it an int.
+ 
+       * w32.c (init_environment): Use it.
+ 
+       * w32fns.c (w32_wnd_proc): Likewise.
+ 
+       * w32proc.c (w32_pipe_read_delay): Rename from
+       Vw32_pipe_read_delay and make it an int.
+ 
+       * w32.c (_sys_read_ahead): Use it.
+ 
+       * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
+ 
+       * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
+ 
+       * w32inevt.c (w32_console_mouse_position, do_mouse_event)
+       (key_event): Don't mix Lisp_Object and int.
+ 
+       * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
+ 
+       * keyboard.c (kbd_buffer_get_event): Don't use event->code and
+       modifiers in language change event.
+ 
+ 2004-05-17  Kim F. Storm  <address@hidden>
+ 
+       * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
+       Such objects may be freed markers which still exist on an undo list.
+ 
+ 2004-05-16  Juanma Barranquero  <address@hidden>
+ 
+       * data.c (Fset_default): Make argument names match their use in
+       docstring.
+ 
+ 2004-05-15  Andreas Schwab  <address@hidden>
+ 
+       * emacs.c (gdb_array_mark_flag): Define.
+       * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
+ 
+ 2004-05-15  Eli Zaretskii  <address@hidden>
+ 
+       * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
+       __attribute__((__aligned__)), so that USE_LSB_TAG would not become
+       defined for the MS-DOS build.
+ 
+ 2004-05-14  Stefan Monnier  <address@hidden>
+ 
+       * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
+ 
+ 2004-05-14  Kenichi Handa  <address@hidden>
+ 
+       * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
+ 
+ 2004-05-14  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
+       section to frame.c section.
+       (Fxw_display_color_p, Fx_file_dialog): Declare if
+       HAVE_WINDOW_SYSTEM defined.
+ 
+       * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
+ 
+       * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
+ 
+       * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
+       (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
+       (XTread_socket): Fix int/Lisp_Object mixup.
+       (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
+ 
+       * macterm.h (struct frame, struct face, struct image)
+       (display_x_get_resource, Fx_display_color_p)
+       (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
+       Add prototypes.
+ 
+ 2004-05-14  Kim F. Storm  <address@hidden>
+ 
+       * process.c (wait_reading_process_input): Make reentrant.
+       Make Available and Connecting non-static.  Save and restore value
+       of waiting_for_user_input_p.
+ 
+ 2004-05-13  Kim F. Storm  <address@hidden>
+ 
+       * keyboard.c (mark_kboards): Don't mark x and y members
+       that are overloaded in selection request events.
+ 
+ 2004-05-13  Stefan Monnier  <address@hidden>
+ 
+       * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
+ 
+ 2004-05-13  Glenn Morris  <address@hidden>
+ 
+       * window.c (Fdisplay_buffer, Fsplit_window)
+       (split-height-threshold): Doc fix.
+ 
+ 2004-05-13  Juanma Barranquero  <address@hidden>
+ 
+       * xfaces.c (Ftty_supports_face_attributes_p)
+       (Finternal_copy_lisp_face): Fix typo in docstring.
+       (Finternal_get_lisp_face_attribute): Fix docstring.
+ 
+ 2004-05-12  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
+ 
+ 2004-05-11  Steven Tamm  <address@hidden>
+ 
+       * macfns.c (Fx_create_frame): Default to using tool-bar by
+       setting tool-bar-lines to 1 in default-frame-alist.
+ 
+ 2004-05-11  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
+       (xpm_get_color_table_v, xpm_make_color_table_h)
+       (xpm_put_color_table_h, xpm_get_color_table_h)
+       (xpm_str_to_color_key, xpm_load_image, xpm_load)
+       (syms_of_image): Support XPM on Carbon Emacs.  Does not
+       depend on libXpm, but only supports XPM version 3 without extensions.
+ 
+ 2004-05-11  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
+       instead of FRAME_X_P
+ 
+ 2004-05-11  Kim F. Storm  <address@hidden>
+ 
+       * process.c (read_process_output): Grow decoding_buf when needed;
+       this could cause a crash in allocate_string and compact_small_strings.
+ 
+ 2004-04-29  Jim Blandy  <address@hidden>
+ 
+       * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
+       against proper opcode.
+ 
+ 2004-05-10  Juanma Barranquero  <address@hidden>
+ 
+       * process.c (Fstart_process): Fix docstring.
+ 
+       * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
+       (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
+       (Fsplit_char, Fchar_charset): Make argument names match their use
+       in docstring.
+ 
+ 2004-05-10  Richard M. Stallman  <address@hidden>
+ 
+       * print.c (print_preprocess): Use being_printed, loop_count and
+       halftail to detect overdeep nesting and cyclic cdr chains.
+ 
+ 2004-05-10  Andreas Schwab  <address@hidden>
+ 
+       * lisp.h: Declare Fmake_symbolic_link.
+ 
+       * fileio.c (Frename_file): Remove extra argument in call to
+       Fmake_symbolic_link.
+ 
+ 2004-05-10  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (calc_line_height_property): Use string position when
+       object is a string.
+ 
+ 2004-05-10  Kenichi Handa  <address@hidden>
+ 
+       * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
+       inhibit-modification-hooks to t temporarily before calling
+       Ferase_buffer.
+ 
+       * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
+       inhibit-modification-hooks to t temporarily before calling
+       Ferase_buffer.
+ 
+       * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
+       inhibit-modification-hooks to t temporarily before calling
+       Ferase_buffer.
+ 
+       * fns.c (count_combining): Delete it.
+       (concat): Don't check combining bytes.
+ 
+ 2004-05-09  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
+       (globals_of_w32fns): Set it.
+ 
+ 2004-05-09  Piet van Oostrum  <address@hidden>  (tiny change)
+ 
+       * data.c (Fquo): Simplify.
+ 
+ 2004-05-08  Peter Whaite  <address@hidden>  (tiny change)
+ 
+       * data.c (Fquo): If any argument is float, do the computation in
+       floating point.
+ 
+ 2004-05-08  Juanma Barranquero  <address@hidden>
+ 
+       * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
+       (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
+       Fix spelling of Emacs on docstring.
+       (Fset_process_coding_system, Fprocess_coding_system)
+       (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
+       Make argument names match their use in docstring.
+       (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
+       Fix docstring.
+ 
+       * editfns.c (Finsert_buffer_substring): Make argument names match their
+       use in docstring.
+ 
+       * syntax.c (Fmodify_syntax_entry): Fix docstring.
+ 
+ 2004-05-07  Steven Tamm  <address@hidden>
+ 
+       * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
+       around call to ReceiveEvent to avoid certain crashes.
+ 
+ 2004-05-07  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
+       (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
+       (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
+       Save/restore the current graphics port and device handle when
+       drawing into an offscreen graphics world.
+ 
+       * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
+       (gif_load): Likewise.
+ 
+ 2004-05-07  Juanma Barranquero  <address@hidden>
+ 
+       * window.c (Fset_window_buffer): Fix docstring.
+ 
+ 2004-05-06  Thien-Thi Nguyen  <address@hidden>
+ 
+       * emacs.c (main) [VMS]: Fix var ref.
+ 
+ 2004-05-06  Romain Francoise  <address@hidden>  (tiny change)
+ 
+       * data.c (Fsetq_default): Fix docstring.
+ 
+ 2004-05-06  Jason Rumney  <address@hidden>
+ 
+       * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
+       to avoid name clash.
+ 
+ 2004-05-04  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * fileio.c (barf_or_query_if_file_exists): Use lstat.
+       (Frename_file): Handle renaming of symlinks across file systems.
+       (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
+ 
+ 2004-05-04  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (Qtotal): New var.
+       (syms_of_xdisp): Intern and staticpro it.
+       (calc_line_height_property): New arg total.  Set it if
+       line-spacing property has format (total . VALUE).
+       (x_produce_glyphs): Ignore line-spacing if line-height is 0.
+       Handle total line-spacing property.
+ 
+ 2004-05-03  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
+       "under" scroll bar when size/position changes.
+ 
+ 2004-05-03  Jason Rumney  <address@hidden>
+ 
+       * makefile.nt: Remove.
+ 
+ 2004-05-02  Eli Zaretskii  <address@hidden>
+ 
+       * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
+       Avoid compiler warnings.
+ 
+       * Makefile.in (region-cache.o): Depend on config.h.
+ 
+ 2004-05-02  Romain Francoise  <address@hidden>  (tiny change)
+ 
+       * indent.c (compute_motion): Save vpos in prev_vpos when dealing
+       with continuation lines, too.
+ 
+ 2004-05-02  Thien-Thi Nguyen  <address@hidden>
+ 
+       * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
+ 
+ 2004-05-01  Stefan Monnier  <address@hidden>
+ 
+       * xdisp.c (calc_line_height_property): YAILOM (yet another
+       int/Lisp_Object mixup).
+ 
+ 2004-05-01  Eli Zaretskii  <address@hidden>
+ 
+       * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
+       undo bad effect of pack(4) in some versions of system headers.
+ 
+ 2004-05-01  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
+ 
+ 2004-04-30  Kim F. Storm  <address@hidden>
+ 
+       * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
+       (syms_of_buffer) <cursor-type>: Doc fix.
+ 
+       * dispextern.h (struct it): Remove member use_default_face.
+       Add members override_ascent, override_descent, override_boff.
+ 
+       * xdisp.c (init_iterator): Handle line-spacing float value.
+       Initialize override_ascent member.
+       (append_space_for_newline): Reset override_ascent.
+       Remove use_default_face.
+       (calc_line_height_property): New function to calculate value of
+       line-height and line-spacing properties.  Look at overlays, too.
+       Set override_ascent, override_descent, override_boff members when
+       using another face than the current face.  Float values are now
+       relative to the frame default font, by default; accept a cons
+       of ratio and face name to specify value relative to a specific face.
+       (x_produce_glyphs): Use calc_line_height_property.
+       Use override_ascent etc. when set to handle different face heights.
+       A negative line-spacing property value is interpreted as a total
+       line height, rather than inter-line spacing.
+       (note_mouse_highlight): Allocate room for 40 overlays initially.
+ 
+ 2004-04-29  Stefan Monnier  <address@hidden>
+ 
+       * data.c (Fsubr_name): New fun.
+       (syms_of_data): Defsubr it.
+ 
+ 2004-04-29  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (null_glyph_slice): New var.
+       (append_glyph, append_composite_glyph, append_stretch_glyph):
+       Use it to initialize glyph slice.
+ 
+ 2004-04-27  Stefan Monnier  <address@hidden>
+ 
+       * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
+       (on_hot_spot_p): Make sure we always return a value.
+       (Flookup_image_map): Remove unused var ix and iy.
+       (note_mode_line_or_margin_highlight): Remove unused var `image'.
+ 
+ 2004-04-27  Eli Zaretskii  <address@hidden>
+ 
+       * msdos.c (init_environment): If one of the TMP... environment
+       variables is set to a drive letter without a trailing slash,
+       append a slash.
+ 
+ 2004-04-27  Matthew Mundell  <address@hidden>
+ 
+       * editfns.c (lisp_time_argument): Provide externally.
+ 
+       * fileio.c (Fset_file_times): New function.
+       (syms_of_fileio): Intern and staticpro it.
+ 
+ 2004-04-27  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
+       header line strings.
+ 
+       * dispextern.h (struct it): New member use_default_face.
+ 
+       * xdisp.c (Qline_height): New variable.
+       (syms_of_xdisp): Intern and staticpro it.
+       (append_space_for_newline): Partially undo 2004-04-25 change;
+       add default_face_p arg, and restore callers.
+       Clear it->use_default_face after use.
+       (x_produce_glyphs): Set default font for ascii char if
+       it->use_default_font is set.  Change line-spacing property to set
+       just extra line spacing.  Handle new line-height property.
+ 
+ 2004-04-26  Andreas Schwab  <address@hidden>
+ 
+       * print.c (print_object): Print non-ascii characters in bool
+       vector representation as octal escapes.
+ 
+       * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
+       * print.c (print_object): Use it instead of BITS_PER_CHAR for
+       bool vectors.
+       * lread.c (read1): Likewise.
+       * alloc.c (Fmake_bool_vector): Likewise.
+       * data.c (Faref, Faset): Likewise.
+       * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
+       (mapcar1): Likewise.
+ 
+ 2004-04-26  Steven Tamm  <address@hidden>
+ 
+       * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
+ 
+ 2004-04-26  Miles Bader  <address@hidden>
+ 
+       * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
+ 
+ 2004-04-26  Juanma Barranquero  <address@hidden>
+ 
+       * buffer.c (Fpop_to_buffer): Fix docstring.
+ 
+ 2004-04-26  Steven Tamm  <address@hidden>
+ 
+       * lread.c (init_lread): Don't display missing lisp directory
+       warnings with Carbon Emacs because self-contained bundled Emacs
+       may be built without correct installation path.
+ 
+ 2004-04-25  Kim F. Storm  <address@hidden>
+ 
+       * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
+ 
+       * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
+ 
+       * xdisp.c (append_space_for_newline): Rename from append_space.
+       Remove DEFAULT_FACE_P arg; always use current face.  Callers changed.
+       (x_produce_glyphs): Handle line-spacing property on newline char.
+       If value is t, adjust ascent and descent to fit current row height.
+       If value is an integer or float, set extra_line_spacing to integer
+       value, or to float value x current line height.
+ 
+ 2004-04-23  Kenichi Handa  <address@hidden>
+ 
+       * fontset.c (Finternal_char_font): If POSITION is nil, return
+       font for displaying CH with the default face.
+ 
+ 2004-04-23  Juanma Barranquero  <address@hidden>
+ 
+       * makefile.w32-in: Add "-*- makefile -*-" mode tag.
+ 
+ 2004-04-21  Stefan Monnier  <address@hidden>
+ 
+       * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
+       Don't make assumptions about the relative place of i and val.
+       (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
+ 
+ 2004-04-21  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h (struct glyph_slice): New struct.
+       (struct glyph): New member slice.
+       (GLYPH_SLICE_EQUAL_P): New macro.
+       (GLYPH_EQUAL_P): Use it.
+       (struct glyph_string): New member slice.
+       (struct it_slice): New struct.
+       (struct it): New member slice, add member to stack too.
+       New member constrain_row_ascent_descent_p.
+       (image_ascent): Add prototype.
+ 
+       * dispnew.c (buffer_posn_from_coords): Return full image width
+       and height even for image slices (posn is relative to full image).
+       (marginal_area_string): Adjust x0,y0 for image slice.
+ 
+       * image.c (image_ascent): Add slice arg; calculate ascent for
+       image slice (or full image).
+ 
+       * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
+       (syms_of_keyboard): Defsubr them.
+ 
+       * lisp.h (pos_visible_p): Fix prototype.
+ 
+       * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
+       (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
+       (x_draw_image_foreground, x_draw_image_relief)
+       (x_draw_image_foreground_1, x_draw_image_glyph_string):
+       Draw sliced images.
+ 
+       * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
+       (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
+       (x_draw_image_foreground, x_draw_image_relief)
+       (w32_draw_image_foreground_1, x_draw_image_glyph_string):
+       Draw sliced images.
+ 
+       * w32term.h (image_ascent): Remove prototype.
+ 
+       * window.c (Fpos_visible_in_window_p): Return pixel position if
+       PARTIALLY arg is non-nil.  Simplify.  Doc fix.
+       (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
+       to return/set vscroll in pixels.
+ 
+       * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
+ 
+       * xdisp.c (Qslice): New variable.
+       (syms_of_xdisp): Intern and staticpro it.
+       (pos_visible_p): Return pixel position in new x and y args.
+       (init_iterator): Reset it->slice info.
+       (handle_display_prop): Parse (slice ...) property.
+       (push_it, pop_it): Save/restore slice info.
+       (make_cursor_line_fully_visible): Fix 2004-04-14 change.  Do not
+       force repositioning of tall row if window is vscrolled, as that
+       would reset vscroll.
+       (append_space): Set it->constrain_row_ascent_descent_p to avoid
+       increasing row height if row is non-empty.
+       (fill_image_glyph_string): Copy slice info.
+       (take_vertical_position_into_account): Simplify.
+       (produce_image_glyph): Handle iterator slice info, setup glyph
+       slice info.  Do not force minimum line height.
+       (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
+       do not increase height (ascent/descent) of non-empty row when
+       adding normal character glyph; instead reduce glyph ascent/descent
+       appropriately; if row is higher than current glyph, adjust glyph
+       descent/ascent to reposition glyph within the existing row.
+       Likewise, when char is newline, only set ascent/descent if row is
+       currently empty.
+       (note_mouse_highlight): Handle hotspots with sliced image.
+ 
+       * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
+       (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
+       (x_draw_image_foreground, x_draw_image_relief)
+       (x_draw_image_foreground_1, x_draw_image_glyph_string):
+       Draw sliced images.
+ 
+       * xterm.h (image_ascent): Remove prototype.
+ 
+ 2004-04-20  Stefan Monnier  <address@hidden>
+ 
+       * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
+ 
+ 2004-04-20  John Paul Wallington  <address@hidden>
+ 
+       * fns.c (Fassoc, Feql): Fix indentation.
+ 
+       * fontset.c (regularize_fontname): Rename from regulalize_fontname.
+ 
+ 2004-04-19  John Paul Wallington  <address@hidden>
+ 
+       * fns.c (Feql): New function.
+       (syms_of_fns): Defsubr it.
+ 
+ 2004-04-18  Jason Rumney  <address@hidden>
+ 
+       * w32select.c (Fw32_set_clipboard_data): Get sequence number
+       after closing the clipboard.
+ 
+ 2004-04-16  Luc Teirlinck  <address@hidden>
+ 
+       * buffer.c (Fbuffer_base_buffer): Doc fix.
+ 
+ 2004-04-17  Kim F. Storm  <address@hidden>
+ 
+       * keymap.c (Fkey_description): Add optional PREFIX arg.
+       Combine prefix with KEYS to make up the full key sequence to describe.
+       Correlate meta_prefix_char and following (simple) key to describe
+       as meta modifier.  All callers changed.
+       (describe_map): Rename arg `keys' to `prefix'.  Remove local
+       `elt_prefix' var.  Use Fkey_description with prefix instead of
+       elt_prefix combined with Fsingle_key_description.
+       (describe_vector): Declare static.  Replace arg `elt_prefix' with
+       `prefix'.  Add KEYMAP_P arg.  Add local var `elt_prefix'; use it
+       if !KEYMAP_P. Use Fkey_description with prefix instead of
+       Fsingle_key_description.
+ 
+       * keymap.h (Fkey_description): Fix prototype.
+       (describe_vector): Remove prototype.
+ 
+       * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
+ 
+       * image.c (PNG_BG_COLOR_SHIFT): Remove.
+       (png_load): Fix calculation of transparent background color on X
+       and W32 platforms.
+ 
+ 2004-04-16  Juanma Barranquero  <address@hidden>
+ 
+       * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
+       not too large before computing how much to scroll.
+ 
+ 2004-04-15  Stefan Monnier  <address@hidden>
+ 
+       * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
+ 
+ 2004-04-14  Luc Teirlinck  <address@hidden>
+ 
+       * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
+       Add hyperlink to Elisp manual to the docstring.
+ 
+ 2004-04-14  Stefan Monnier  <address@hidden>
+ 
+       * callint.c (fix_command): Use XDCR.
+ 
+ 2004-04-14  Nick Roberts  <address@hidden>
+ 
+       * window.c (Fget_lru_window): Doc fix.
+ 
+ 2004-04-14  Kim F. Storm  <address@hidden>
+ 
+       * editfns.c (Fformat): Fix allocation size of precision array.
+ 
+       * dispnew.c (update_window): Only set changed_p if
+       scrolling_window actually did scroll.
+       (scrolling_window): Only return 1 if we actually did scroll.
+ 
+       * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
+       height to glyph height when cursor row is not fully visible.
+       (make_cursor_line_fully_visible): Add FORCE_P arg to return
+       failure in case row is higher than window.  Callers changed.
+       (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
+       Try to scroll partially visible, higher-than-window cursor row.
+       (redisplay_window): Always try to scroll partially visible,
+       higher-than-window cursor row - both initially and again with
+       centering_position = 0.
+       Clear desired matrix before retrying with centering_position = 0.
+ 
+ 2004-04-13  Stefan Monnier  <address@hidden>
+ 
+       * syntax.c (scan_lists): Simplify backward string scan.
+       Fix off-by-one boundary check for string and comment fences.
+ 
+ 2004-04-13  Joe Buehler  <address@hidden>
+ 
+       * sheap.c, unexcw.c: New files.
+ 
+ 2004-04-12  Luc Teirlinck  <address@hidden>
+ 
+       * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
+       base buffer has been killed.  Correct the error message if the
+       base buffer does not exist.
+ 
+ 2004-04-12  Joe Buehler  <address@hidden>
+ 
+       * s/cygwin.h: Changes for Cygwin unexec() support, changes in
+       Cygwin itself.  Add support for Xaw3d scrollbars.
+ 
+       * puresize.h: Set up PURE_P() for Cygwin unexec() support.
+ 
+       * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
+ 
+       * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
+       before Cygwin unexec.
+ 
+       * Makefile.in: Link changes for Cygwin unexec() support.
+ 
+ 2004-04-12  Andreas Schwab  <address@hidden>
+ 
+       * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
+ 
+ 2004-04-11  Luc Teirlinck  <address@hidden>
+ 
+       * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
+       IGNORE argument equals NAME.  Doc fix.
+ 
+ 2004-04-11  Masatake YAMATO  <address@hidden>
+ 
+       * buffer.c (fix_start_end_in_overlays): Make overlays
+       empty if they are backwards.
+ 
+ 2004-04-09  Stefan Monnier  <address@hidden>
+ 
+       * xfaces.c (face_color_supported_p): Fix compilation without X11.
+ 
+ 2004-04-07  Stefan Monnier  <address@hidden>
+ 
+       * doc.c (Fsnarf_documentation): Ignore new file name entries.
+ 
+ 2004-04-06  Kim F. Storm  <address@hidden>
+ 
+       * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
+       (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
+ 
+       * w32term.c (w32_read_socket): Set mouse_face_hidden after
+       clearing highlight.
+ 
+       * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
+ 
+       * xterm.c (handle_one_xevent): Set mouse_face_hidden after
+       clearing highlight.
+ 
+       * indent.c (vmotion): Do not reserve one column for continuation
+       marks on window frames.
+ 
+ 2004-04-04  Eli Zaretskii  <address@hidden>
+ 
+       * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
+       from GCC.
+ 
+ 2004-04-03  Stefan Monnier  <address@hidden>
+ 
+       * .gdbinit-union: Remove.
+ 
+       * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
+       (xgetptr, xgetint, xgettype): New funs.  Use them everywhere.
+       ($nonvalbits): Remove.
+       ($valmask): Set it by calling xreload to avoid redundancy.
+ 
+       * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
+       (gdb_emacs_intbits): Remove.
+ 
+ 2004-03-31  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
+ 
+ 2004-03-30  Kenichi Handa  <address@hidden>
+ 
+       * editfns.c (Fformat): Fix initialization of the array info.
+ 
+ 2004-03-30  Kim F. Storm  <address@hidden>
+ 
+       * xterm.c (x_mouse_click_focus_ignore_position): New var.
+       (syms_of_xterm): DEFVAR_BOOL it.
+       (ignore_next_mouse_click_timeout): New var.
+       (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
+       Use it to filter mouse clicks following focus event.
+ 
+ 2004-03-29  David Ponce  <address@hidden>
+ 
+       * callint.c (Fcall_interactively): Fix last change.
+ 
+ 2004-03-28  Stefan Monnier  <address@hidden>
+ 
+       * eval.c (Fcommandp): Simplify.
+ 
+       * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
+       Extend to handle all kinds of functions.
+ 
+       * lisp.h (Finteractive_form): Declare.
+ 
+       * callint.c (Fcall_interactively): Use it.
+ 
+ 2004-03-26  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
+       to catch errors in calc_pixel_width_or_height during redisplay.
+ 
+ 2004-03-26  Masatake YAMATO  <address@hidden>
+ 
+       * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
+ 
+       * lisp.h (fix_start_end_in_overlays): Likewise.
+ 
+       * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
+ 
+       * editfns.c (Ftranspose_regions): Likewise.
+ 
+ 2004-03-20  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
+ 
+ 2004-03-19  Richard M. Stallman  <address@hidden>
+ 
+       * s/sol2-6.h: Delete previous change.
+ 
+ 2004-03-19  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
+       to_charpos corresponds to newline in right fringe.  Use local
+       BUFFER_POS_REACHED_P macro.
+ 
+ 2004-03-19  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
+       to compile on non-window system.
+ 
+ 2004-03-19  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h (calc_pixel_width_or_height): Add prototype.
+ 
+       * image.c (Qcenter): Move to xdisp.c.
+ 
+       * xdisp.c (Qcenter): Declare here.
+       (syms_of_xdisp): Intern and staticpro it.
+       (handle_single_display_prop): Allow space display property on all
+       platforms.
+       (display_mode_line): Set mode_line_p before displaying line.
+       (calc_pixel_width_or_height): Declare extern.  Add separate :align-to
+       handling.  Remove complex cases for fringes and scroll-bars.
+       Add left, right, and center alignment positions. Add text (area)
+       width/height.  Return width or height for image specs.
+       (produce_stretch_glyph): Improve handling of :align-to.  Is now
+       relative to left of text area by default, but other base offsets
+       can be specified -- also for text lines.
+ 
+       * term.c (produce_glyphs): Handle IT_STRETCH.
+       (produce_stretch_glyph): New function to handle space width and
+       align-to display properties on non-window systems.
+ 
+ 2004-03-17  Stefan Monnier  <address@hidden>
+ 
+       * fileio.c (Fread_file_name): Set completion-ignore-case for
+       case-insensitive systems.
+ 
+ 2004-03-14  Masatake YAMATO  <address@hidden>
+ 
+       * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
+       when keymap and cursor are setup.
+ 
+ 2004-03-14  Steven Tamm <address@hidden>
+ 
+       * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
+ 
+ 2004-03-14  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h (x_find_image_file): Add prototype.
+ 
+       * image.c (x_find_image_file): Make extern.
+ 
+       * xfns.c (x_find_image_file): Remove prototype.
+ 
+ 2004-03-13  Eli Zaretskii  <address@hidden>
+ 
+       * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
+ 
+       * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
+ 
+ 2004-03-12  Richard M. Stallman  <address@hidden>
+ 
+       * fns.c (internal_equal): New arg PROPS controls comparing
+       text properties.  All callers changed.
+       (Fequal_including_properties): New function.
+       (syms_of_fns): defsubr it.
+ 
+ 2004-03-12  Kim F. Storm  <address@hidden>
+ 
+       Fix image support on MAC.  From YAMAMOTO Mitsuharu.
+ 
+       * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
+       (image_background, image_background_transparent): Fix prototypes.
+ 
+       * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
+ 
+       * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
+       (x_query_font, x_find_ccl_program, x_set_window_size)
+       (x_make_frame_visible, mac_initialize, XCreatePixmap)
+       (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
+       (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
+ 
+       * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
+       (x_query_font, x_find_ccl_program, x_set_window_size)
+       (x_make_frame_visible, mac_initialize, XCreatePixmap)
+       (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
+       (mac_draw_line_to_pixmap): Add prototypes.
+ 
+ 2004-03-12  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * macterm.c (XTread_socket): Fix mouse click on tool bar.
+ 
+ 2004-03-11  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h: Move image related prototypes from xfns.c section
+       to image.c.  Condition them by HAVE_WINDOW_SYSTEM rather than
+       HAVE_X_WINDOWS.
+ 
+       * Makefile.in (XOBJ): Consolidate into one list.  Add image.o.
+       Move gtkutil.o to new GTK_OBJ list.
+       (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
+       (GTK_OBJ) [USE_GTK]: New declaration.
+       (obj): Add $(GTK_OBJ) to list.
+ 
+ 2004-03-11  Steven Tamm <address@hidden>
+ 
+       * image.c [MAC_OSX]: Include sys/stat.h
+ 
+       * macfns.c (syms_of_macfns): Remove definitions of things now
+       defined in image.c
+ 
+ 2004-03-11  Kim F. Storm  <address@hidden>
+ 
+       The following changes consolidates the identical/similar image
+       support code previously found in xfns.c, w32fns.c, and macfns.c
+       into a new file image.c.
+ 
+       * makefile.w32-in (OBJ1): Add image.o.
+       ($(BLD)/image.$(O)): Add dependencies.
+ 
+       * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
+       (image.o): Add dependencies.
+ 
+       * image.c: New file with consolidated image support code.
+       (COLOR_TABLE_SUPPORT): New define to control whether
+       color table support is available (X only).
+       (Bitmap_Record): Common name for x_bitmap_record,
+       w32_bitmap_record, and mac_bitmap_record.
+       (XImagePtr): Common name for pointer to XImage or equivalent.
+       (XImagePtr_or_DC): New type to simplify code sharing; equivalent
+       to XImagePtr on X+MAC, and to HDC on W32.
+       (GET_PIXEL): Wrapper for XGetPixel or equivalent.
+       (NO_PIXMAP): Common name for "None" or equivalent.
+       (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
+       (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
+       (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
+       (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
+       Define with suitable equivalents on W32 and MAC for code sharing.
+       (XDrawLine): Define on MAC for code sharing.
+       (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
+       (IF_LIB_AVAILABLE): Macro to simplify code sharing.
+       (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+       (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+       (x_reference_bitmap, x_create_bitmap_from_data)
+       (x_create_bitmap_from_file, x_destroy_bitmap)
+       (x_destroy_all_bitmaps, x_create_bitmap_mask)
+       (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
+       (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+       (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+       (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+       (define_image_type, lookup_image_type, valid_image_p)
+       (image_error, enum image_value_type, struct image_keyword)
+       (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+       (make_image, free_image, prepare_image_for_display, image_ascent)
+       (four_corners_best, image_background, image_background_transparent)
+       (x_clear_image_1,  x_clear_image, x_alloc_image_color)
+       (make_image_cache, free_image_cache, clear_image_cache)
+       (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+       (forall_images_in_image_cache, x_create_x_image_and_pixmap)
+       (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+       (find_image_fsspec, image_load_qt_1, image_load_quicktime)
+       (init_image_func_pointer, image_load_quartz2d)
+       (struct ct_color, init_color_table, free_color_table)
+       (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+       (cross_disabled_images, x_to_xcolors, x_from_xcolors)
+       (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+       (x_disable_image, x_build_heuristic_mask)
+       (XBM support, XPM support, PBM support, PNG support, JPEG support)
+       (TIFF support, GIF support, Ghostscript support): Consolidate image
+       code from xfns.c, w32fns.c, and macfns.c.
+       (syms_of_image): Consolidate image related symbol setup here.
+       (init_image): Consolidate image related initializations here.
+ 
+       * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
+       and init_image.  Remove call to init_xfns.
+ 
+       * macterm.h (struct mac_bitmap_record): Add file member.
+       Not currently used, but simplifies code sharing.
+ 
+       * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+       (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+       (x_reference_bitmap, x_create_bitmap_from_data)
+       (x_create_bitmap_from_file, x_destroy_bitmap)
+       (x_destroy_all_bitmaps, x_create_bitmap_mask)
+       (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
+       (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+       (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+       (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+       (define_image_type, lookup_image_type, valid_image_p)
+       (image_error, enum image_value_type, struct image_keyword)
+       (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+       (make_image, free_image, prepare_image_for_display, image_ascent)
+       (four_corners_best, image_background, image_background_transparent)
+       (x_clear_image_1,  x_clear_image, x_alloc_image_color)
+       (make_image_cache, free_image_cache, clear_image_cache)
+       (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+       (forall_images_in_image_cache, x_create_x_image_and_pixmap)
+       (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+       (find_image_fsspec, image_load_qt_1, image_load_quicktime)
+       (init_image_func_pointer, image_load_quartz2d)
+       (struct ct_color, init_color_table, free_color_table)
+       (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+       (cross_disabled_images, x_to_xcolors, x_from_xcolors)
+       (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+       (x_disable_image, x_build_heuristic_mask)
+       (XBM support, XPM support, PBM support, PNG support, JPEG support)
+       (TIFF support, GIF support, Ghostscript support): Merge with image
+       code from xfns.c and macfns.c into image.c.
+       (syms_of_xfns): Move image related symbols to image.c.
+       (init_external_image_libraries, init_xfns): Remove; initialization
+       moved to init_image in image.c.
+ 
+       * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+       (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+       (x_reference_bitmap, x_create_bitmap_from_data)
+       (x_create_bitmap_from_file, x_destroy_bitmap)
+       (x_destroy_all_bitmaps, x_create_bitmap_mask)
+       (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+       (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+       (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+       (define_image_type, lookup_image_type, valid_image_p)
+       (image_error, enum image_value_type, struct image_keyword)
+       (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+       (make_image, free_image, prepare_image_for_display, image_ascent)
+       (four_corners_best, image_background, image_background_transparent)
+       (x_clear_image_1,  x_clear_image, x_alloc_image_color)
+       (make_image_cache, free_image_cache, clear_image_cache)
+       (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+       (forall_images_in_image_cache, x_create_x_image_and_pixmap)
+       (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+       (struct ct_color, init_color_table, free_color_table)
+       (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+       (cross_disabled_images, x_to_xcolors, x_from_xcolors)
+       (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+       (x_disable_image, x_build_heuristic_mask)
+       (XBM support, XPM support, PBM support, PNG support, JPEG support)
+       (TIFF support, GIF support, Ghostscript support): Merge with image
+       code from xfns.c and macfns.c into image.c.
+       (syms_of_xfns): Move image related symbols to image.c.
+       (init_external_image_libraries, init_xfns): Remove; initialization
+       moved to init_image in image.c.
+ 
+       * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+       (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+       (x_reference_bitmap, x_create_bitmap_from_data)
+       (x_create_bitmap_from_file, x_destroy_bitmap)
+       (x_destroy_all_bitmaps, x_create_bitmap_mask)
+       (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+       (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+       (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+       (define_image_type, lookup_image_type, valid_image_p)
+       (image_error, enum image_value_type, struct image_keyword)
+       (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+       (make_image, free_image, prepare_image_for_display, image_ascent)
+       (four_corners_best, image_background, image_background_transparent)
+       (x_clear_image_1,  x_clear_image, x_alloc_image_color)
+       (make_image_cache, free_image_cache, clear_image_cache)
+       (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+       (forall_images_in_image_cache, x_create_x_image_and_pixmap)
+       (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+       (struct ct_color, init_color_table, free_color_table)
+       (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+       (cross_disabled_images, x_to_xcolors, x_from_xcolors)
+       (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+       (x_disable_image, x_build_heuristic_mask)
+       (XBM support, XPM support, PBM support, PNG support, JPEG support)
+       (TIFF support, GIF support, Ghostscript support): Merge with
+       w32fns.c and macfns.c image code into image.c.
+       (syms_of_xfns): Move image related symbols to image.c.
+       (init_xfns): Remove; initialization moved to init_image in image.c.
+ 
+       * lisp.h (syms_of_image, init_image): Add protoypes.
+       (init_xfns): Remove prototype.
+ 
+       * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+       (x_reference_bitmap, x_create_bitmap_from_data)
+       (x_create_bitmap_from_file, x_destroy_bitmap)
+       (x_create_bitmap_mask): Move prototypes from dispextern.h.
+       (gamma_correct) [MAC_OS]: Add prototype.
+ 
+       * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+       (x_reference_bitmap, x_create_bitmap_from_data)
+       (x_create_bitmap_from_file, x_destroy_bitmap)
+       (x_create_bitmap_mask): Move prototypes to dispextern.h.
+ 
+ 2004-03-09  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (decode_coding_emacs_mule): Handle insufficent source
+       correctly.
+ 
+ 2004-03-04  Richard M. Stallman  <address@hidden>
+ 
+       * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
+ 
+       * window.c (Fdisplay_buffer): Doc fix.
+ 
+       * buffer.c (Fpop_to_buffer): Doc fix.
+ 
+ 2004-03-03  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
+ 
+ 2004-03-02  Stefan Monnier  <address@hidden>
+ 
+       * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
+ 
+ 2004-03-02  Richard M. Stallman  <address@hidden>
+ 
+       * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
+ 
+ 2004-03-02  Kenichi Handa  <address@hidden>
+ 
+       * doc.c (Fsubstitute_command_keys): Fix counding bytes.
+ 
+ 2004-03-02  Kim F. Storm  <address@hidden>
+ 
+       * window.h (struct window): New member overlay_arrow_bitmap.
+ 
+       * window.c (make_window): Initialize overlay_arrow_bitmap.
+ 
+       * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
+       implement and integrate multiple overlay arrows with redisplay.
+       (syms_of_xdisp): DEFVAR_LISP and initialize it.
+       (last_arrow_position, last_arrow_string): Replace by properties.
+       (Qlast_arrow_position, Qlast_arrow_string)
+       (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
+       (syms_of_xdisp): Intern and staticpro them.
+       (overlay_arrow_string_or_property, update_overlay_arrows)
+       (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
+       (overlay_arrow_at_row): New functions for multiple overlay arrows.
+       (redisplay_internal): Use them instead of directly accessing
+       Voverlay_arrow_position etc. for multiple overlay arrows.
+       (mark_window_display_accurate): Use update_overlay_arrows.
+       (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
+       (try_window_id): Use overlay_arrows_changed_p.
+       (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
+       (display_line): Use overlay_arrow_at_row to check multiple
+       overlay arrows, and get relevant overlay-arrow-string and
+       overlay-arrow-bitmap.  Set w->overlay_arrow_bitmap accordingly.
+       (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
+       (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
+ 
+       * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
+       (update_window_fringes): Remove unused code.
+ 
+ 2004-03-01  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
+ 
+ 2004-03-01  Juanma Barranquero  <address@hidden>
+ 
+       * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
+ 
+       * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
+ 
+ 2004-03-01  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (Fx_display_color_cells): Use number of planes to calculate
+       how many colors can be displayed.
+ 
+ 2004-03-01  Kenichi Handa  <address@hidden>
+ 
+       * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
+       correctly.
+ 
+ 2004-02-28  Kim F. Storm  <address@hidden>
+ 
+       * dispnew.c (update_window): Update header line also if there are
+       no other changes in window (move code after set_cursor label).
+ 
+       * lisp.h (mark_window_display_accurate): Remove prototype.
+ 
+       * window.c (window_loop, Fforce_window_update): Force mode line
+       updates by setting prevent_redisplay_optimizations_p and
+       update_mode_lines.
+ 
+ 2004-02-28  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (x_window): Fix indentation.
+ 
+       * xterm.c (x_calc_absolute_position): Call x_real_positions
+       to get WM window sizes and use those to calculate position.
+       (x_set_offset): Remove code commented out.
+ 
+ 2004-02-28  Miles Bader  <address@hidden>
+ 
+       * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
+ 
+ 2004-02-28  Kim F. Storm  <address@hidden>
+ 
+       * keyboard.c (kbd_buffer_store_event_hold): New function to store
+       an event into kbd fifo, but with special handling of quit event;
+       a quit event is saved for later, and further events are discarded
+       until the saved quit event has been processed.
+       (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
+       (gen_help_event): Store help event in kbd fifo.
+       (NREAD_INPUT_EVENTS): Remove.
+       (read_avail_input): Adapt to new read_socket_hook interface.
+       Remove allocation and initialization of local input_event buffer,
+       as read_socket_hook stores events directly in fifo.  Allocate and
+       initialize local hold_quit event to handle postponed quit event
+       (and store it if set by kbd_buffer_store_event_hold).
+ 
+       * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
+       (gen_help_event): Fix prototype.
+ 
+       * macterm.c (XTread_socket): Remove bufp_r and
+       numcharsp args.  Add hold_quit arg.
+       Rework to use just one, local, inev input_event.  Store inev
+       directly in fifo using kbd_buffer_store_event_hold.
+ 
+       * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
+       (read_input_waiting): Adapt to new read_socket_hook interface.
+       Remove allocation and initialization of local input_event buffer,
+       as read_socket_hook stores events directly in fifo.  Allocate and
+       initialize local hold_quit event to handle postponed quit event
+       (and store it if set by kbd_buffer_store_event_hold).
+ 
+       * term.c (read_socket_hook): Fix arg list.
+ 
+       * termhooks.h (read_socket_hook): Fix prototype.
+ 
+       * w32inevt.c (w32_console_read_socket): Remove bufp_r and
+       numcharsp args.  Add hold_quit arg.
+       Rework to use just one, local, inev input_event.  Store inev
+       directly in fifo using kbd_buffer_store_event_hold.
+ 
+       * w32inevt.h (w32_console_mouse_position): Fix prototype.
+ 
+       * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
+       Add hold_quit arg.  Rework to use just one, local, inev
+       input_event.  Store inev directly in fifo using
+       kbd_buffer_store_event_hold.  Update count in one place.
+       Postpone call to gen_help_event until inev is stored; use new
+       local do_help for this.
+       Remove local emacs_event in handing of ButtonPress event; just use
+       inev instead (so no reason to copy it later).
+ 
+       * xsmfns.c (x_session_check_input): Remove numchars arg.
+ 
+       * xterm.c (x_focus_changed, x_detect_focus_change):
+       Remove numchars arg.  Always store event into bufp arg.
+       Return nothing.  Callers changed accordingly.
+       (glyph_rect): Simplify.
+       (STORE_KEYSYM_FOR_DEBUG): New macro.
+       (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
+       (current_bufp, current_numcharsp) [USE_GTK]: Remove.
+       (current_hold_quit) [USE_GTK]: Add.
+       (event_handler_gdk): Adapt to new handle_one_xevent.
+       (handle_one_xevent): Remove bufp_r and numcharsp args.
+       Add hold_quit arg.  Rework to use just one, local, inev
+       input_event.  Store inev directly in fifo using
+       kbd_buffer_store_event_hold.  Update count in one place.
+       Postpone call to gen_help_event until inev is stored; use new
+       local do_help for this.
+       Simplify handling of keysyms (consolidate common code).  Fix bug
+       where count was updated with nchars instead of nbytes.
+       Remove local emacs_event in handing of ButtonPress event; just use
+       inev instead (so no reason to copy it later).
+       Remove `out' label.  Rename label `ret' to `done'; add various
+       `goto done' to clarify code flow in deeply nested blocks.
+       (x_dispatch_event): Simplify as handle_one_xevent now calls
+       kbd_buffer_store_event itself.
+       (XTread_socket): Remove bufp_r and numcharsp args.  Add hold_quit
+       arg.  Call handle_one_xevent with new arglist.  Store event from
+       x_session_check_input in fifo.
+       [USE_GTK]: Setup current_hold_quit.
+       Decrement handling_signal before unblocking input.
+       (x_initialize) [USE_GTK]: Initialize current_count.
+ 
+       * xterm.h (x_session_check_input): Fix prototype.
+ 
+ 2004-02-26  YAMAMOTO Mitsuharu  <address@hidden>
+ 
+       * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
+ 
+       * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
+       macgui.h).
+ 
+       * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
+ 
+       * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
+       (mktime, DEBUG, Z, free, malloc, realloc, max, min)
+       (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
+       [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
+       (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
+       (Bitmap): Remove typedef.
+       (Pixmap): Change int to GWorldPtr.
+ 
+       * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
+ 
+       * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
+       (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
+       New #define to extract 16-bit depth color components from unsigned
+       long representation.
+       (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
+       colors used for masks.
+       (struct mac_display_info): Add color_p.  Remove n_cbits.
+ 
+       * macfns.c: Include sys/types.h and sys/stat.h.
+       [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
+       Include QuickTime/QuickTime.h.
+       (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
+       (XSetForeground, mac_draw_line_to_pixmap): Add externs for
+       functions defined in macterm.c.
+       (XImagePtr): New typedef.  Corresponds to XImage * in xfns.c.
+       (ZPixmap): New #define for compatibility with xfns.c.
+       (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
+       (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
+       (find_image_fsspec, image_load_qt_1, image_load_quicktime):
+       New functions.
+       (four_corners_best, x_create_x_image_and_pixmap)
+       (x_destroy_x_image, unwind_create_frame, x_disable_image)
+       (x_edge_detection, init_color_table, colors_in_color_table)
+       (lookup_rgb_color, lookup_pixel_color, postprocess_image)
+       (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
+       (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
+       (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
+       (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
+       long mixup.
+       (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
+       (x_decode_color): Don't use n_cbits (in struct mac_display_info).
+       (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
+       (x_set_cursor_type, Fxw_color_values, valid_image_p)
+       (image_value_type, parse_image_spec, image_ascent, x_clear_image)
+       (x_alloc_image_color, clear_image_cache, lookup_image)
+       (x_find_image_file, xbm_read_bitmap_file_data)
+       (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
+       (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
+       (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
+       (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
+       (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
+       (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
+       (x_make_gc): Sync with xfns.c.  Enclose unused `border_tile' with
+       #if 0.
+       (x_free_gcs): Sync with xfns.c.  Enclose unused `border_tile' with
+       #if 0.  Free white_relief.gc and black_relief.gc.
+       (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
+       New functions (from xfns.c).
+       (Fx_create_frame): Record unwind_create_frame.
+       (Fxw_display_color_p): Use dpyinfo->color_p.
+       (Fx_display_grayscale_p, Fx_display_planes): Don't use
+       dpyinfo->n_cbits.
+       (Fx_display_color_cells): Use dpyinfo->n_planes;
+       (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
+       (Qheuristic, cross_disabled_images, emboss_matrix)
+       (laplace_matrix): New variables (from xfns.c).
+       (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
+       (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
+       (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
+       (image_background_transparent): New function (from xfns.c).
+       Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
+       (image_load_quicktime): Add declaration.
+       [MAC_OSX] (image_load_quartz2d): Likewise.
+       [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
+       [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
+       [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
+       (xbm_load_image_from_file, x_laplace_read_row)
+       (x_laplace_write_row, pbm_read_file): Remove functions.
+       [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
+       (xpm_load): Sync with xfns.c (although XPM is not supported yet).
+       (colors_in_color_table): Sync with xfns.c (although not used).
+       (lookup_rgb_color): Don't lookup color table.  Just do gamma
+       correction.
+       (COLOR_INTENSITY): New #define (from xfns.c).
+       (x_disable_image): New function (from xfns.c).
+       Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
+       (x_build_heuristic_mask): Sync with xfns.c.
+       Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
+       (HAVE_PBM): Remove #ifdef.
+       (pbm_load): Sync with xfns.c.  Set img->width and img->height
+       before IMAGE_BACKGROUND.
+       (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
+       (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
+       Don't enclose with #if HAVE_PNG.
+       [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
+       symbol _CGImageCreateWithPNGDataProvider is defined.
+       Otherwise use image_load_quicktime.
+       [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
+       [HAVE_PNG] (png_load): Sync with xfns.c.
+       Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
+       (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
+       HAVE_JPEG.
+       (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
+       (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
+       [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
+       [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
+       [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
+       (tiff_image_p, tiff_load): Don't enclose declarations with #if
+       HAVE_TIFF.
+       (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
+       (tiff_image_p): Don't enclose with #if HAVE_TIFF.
+       [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
+       [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
+       New functions (from xfns.c).
+       [HAVE_TIFF] (tiff_load): Sync with xfns.c.
+       (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
+       (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
+       Don't enclose with #if HAVE_GIF.
+       [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
+       animated gif.  Otherwise use image_load_quicktime.
+       [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
+       gif_DrawText to avoid conflict with QuickdrawText.h.
+       [HAVE_GIF] (gif_load): Sync with xfns.c.
+       (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
+       [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
+       Ghostscript is not supported yet).
+       (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
+       QCmatrix, QCcolor_adjustment, and QCmask.  Add DEFVAR_BOOL
+       cross_disabled_images (from xfns.c).  Remove #if 0 for supported
+       image types.  Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
+       HAVE_PNG.  Add defsubr for Simage_size and Simage_mask_p.
+       (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
+       HAVE_PNG.  Call EnterMovies to support animated gifs.
+       Call init_image_func_pointer to bind a symbol
+       _CGImageCreateWithPNGDataProvider if it is defined.
+ 
+       * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
+       (x_draw_bar_cursor): Sync declaration with xterm.c.
+       (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
+       (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
+       graphics).
+       (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
+       (mac_draw_line_to_pixmap, XCreatePixmap)
+       (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
+       (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
+       New functions.
+       (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
+       Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
+       Cast bits to char *.
+       (reflect_byte): New function (from w32fns.c).
+       (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
+       due to byte alignment.
+       (mac_scroll_area) [TARGET_API_MAC_CARBON]:
+       Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
+       (XSetForeground): Remove static (now used in macfns.c).
+       (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
+       (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
+       (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
+       (x_draw_glyph_string_box, x_draw_image_foreground)
+       (x_draw_image_foreground_1, x_draw_image_glyph_string)
+       (x_draw_stretch_glyph_string, x_draw_glyph_string)
+       (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
+       Sync with xterm.c.
+       (x_draw_relief_rect): Sync with xterm.c.  Make 1 pixel shorter
+       than the xterm.c version when a strictly horizontal or vertical
+       line is drawn.
+       (XTset_terminal_window): Add static.
+       (x_make_frame_visible): Add UNBLOCK_INPUT.
+       (x_free_frame_resources): New funcion (from xterm.c).
+       (XTread_socket): Call handle_tool_bar_click if mouse up/down event
+       occurs in tool bar area.
+       (mac_initialize_display_info): Remove dpyinfo->n_cbits.
+       Set dpyinfo->color_p.  Determine dpyinfo->n_planes using HasDepth.
+       Initialize image cache.
+       (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
+       Enclose unused functions with #if 0.
+       (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
+       (decode_mac_font_name): New function to apply code conversions
+       from a mac font name to an XLFD font name according to its script code.
+       (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
+       font name to a mac font name according to REGISTRY and ENCODING fields.
+       (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
+       whose name starts with `.'.
+       (init_font_name_table): Use decode_mac_font_name.  Add both
+       jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
+       of a font is smJapanese.
+       (mac_do_list_fonts): New function to list fonts that match a given
+       pattern.
+       (x_list_fonts, XLoadQueryFont): Use it.
+       (XLoadQueryFont): Set rbearing field for each variable width
+       character to avoid needless redraw.
+       (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
+ 
+ 2004-02-26  Kim F. Storm  <address@hidden>
+ 
+       * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
+       as read_socket_hook handler on X aborts if buffer is too small
+       and W32 handler doesn't always check buffer limit.
+ 
+       * xdisp.c (handle_single_display_prop): Handle left-fringe and
+       right-fringe similar to a display margin image.  Specifically,
+       the characters having the fringe prop are no longer shown, and
+       we use IT_IMAGE/next_element_from_image with image_id = -1 to
+       do this.  Set fringe bitmap face_id in it->face_id.
+       (produce_image_glyph): Handle image_id < 0 as "no image" case, but
+       still realize it->face (i.e. the fringe bitmap face).
+ 
+ 2004-02-25  Miles Bader  <address@hidden>
+ 
+       * xdisp.c (check_it): Check string/string_pos consistency.
+       (init_iterator): Initialize string-related fields properly.
+ 
+ 2004-02-11  Miles Bader  <address@hidden>
+ 
+       * xdisp.c (produce_image_glyph): Force negative descents to zero.
+ 
+ 2004-02-10  Miles Bader  <address@hidden>
+ 
+       * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
+       BLOCK_INPUT can be nested, so it doesn't make much sense.
+ 
+ 2004-02-24  Michael Mauger  <address@hidden>
+ 
+       * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
+       (xbm_read_bitmap_data): Use unsigned char for image data.
+ 
+ 2004-02-23  Luc Teirlinck  <address@hidden>
+ 
+       * abbrev.c (Finsert_abbrev_table_description): Doc fix.
+ 
+ 2004-02-22  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
+       correctly over other bitmaps.
+ 
+ 2004-02-21  Eli Zaretskii  <address@hidden>
+ 
+       * emacs.c (USAGE1): Split into two halves.
+       (USAGE2): Second half of the old USAGE1.
+       (USAGE3): Rename from USAGE2.
+       (USAGE4): Rename from USAGE3.
+ 
+ 2004-02-21  Juri Linkov  <address@hidden>
+ 
+       * emacs.c (USAGE1): Add --no-desktop.  Move --display from USAGE2.
+       Fix --multibyte.  Move --help, --version to USAGE2.  Add alias
+       --file.  Fix -f, -l.  Sort options.  Untabify.
+       (USAGE2): Add -hb.  Fix --name, --title.  Sort options.  Untabify.
+ 
+ 2004-02-19  Luc Teirlinck  <address@hidden>
+ 
+       * category.c (Fdefine_category, Fcategory_docstring)
+       (Fget_unused_category, Fset_category_table)
+       (Fcategory_set_mnemonics): Doc fixes.
+ 
+ 2004-02-20  Kim F. Storm  <address@hidden>
+ 
+       * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
+       The following changes are relative to the 2004-01-21 revision.
+       (NREAD_INPUT_EVENTS): Define as max number of input events to read
+       in one call to read_socket_hook.  Value is 8.
+       (read_avail_input): Separate and rework handling of read_socket_hook
+       and non-read_socket_hook cases.  Use smaller input_event buffer
+       in read_socket_hook case, and repeat if full buffer is read.
+       Use new local variable 'discard' to skip input after C-g.
+       In non-read_socket_hook case, just use a single input_event, and
+       call kbd_buffer_store_event on the fly for each character.
+ 
+ 2004-02-19  Stefan Monnier  <address@hidden>
+ 
+       * lisp.h (union Lisp_Object): Give a more precise type for `type'.
+       Remove unused `gu' alternative.
+ 
+ 2004-02-19  Andreas Schwab  <address@hidden>
+ 
+       * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
+       warning.
+ 
+ 2004-02-18  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (get_window_cursor_type, display_and_set_cursor):
+       Fix last change.
+ 
+ 2004-02-17  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (fast_find_position): Fix return value of new version;
+       it was inverted compared to the 21.1 version.
+       (get_window_cursor_type): Don't look at glyph if NULL.
+       (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
+ 
+       * keyboard.c: Rework previous change; it didn't consider that the
+       buf array was allocated on the stack.
+       (prev_read): Remove variable.
+       (read_avail_input_buf): New static event buffer array.
+       (in_read_avail_input): New static variable to handle re-entrancy.
+       (read_avail_input): Change buf to pinter to read_avail_input_buf.
+       Use in_read_avail_input to handle re-entrance; when re-entered,
+       fully initialize and use tmp_buf array instead of read_avail_input_buf.
+       Do not initialize read_avail_input_buf in full here; instead assume it
+       is always cleared on entry.  To ensure that, we clear (just) the
+       entries that were used before we return.
+       (init_keyboard): Initialize read_avail_input_buf here.
+ 
+ 2004-02-16  Jesper Harder  <address@hidden>  (tiny change)
+ 
+       * cmds.c (Fend_of_line): Doc fix.
+ 
+ 2004-02-16  Dmitry Antipov  <address@hidden>  (tiny change)
+ 
+       * keyboard.c (prev_read): New static variable.
+       (read_avail_input): Use it to zero out only those slots in buf[]
+       that were used last time we were called.
+ 
+ 2004-02-16  Eli Zaretskii  <address@hidden>
+ 
+       * Makefile.in (obj): Move fringe.o from here...
+       (XOBJ, MAC_OBJ): ...to here.
+ 
+ 2004-02-16  Stephen Eglen  <address@hidden>
+ 
+       * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
+ 
+ 2004-02-15  Stefan Monnier  <address@hidden>
+ 
+       * data.c (Fbyteorder):
+       * fringe.c (Fdefine_fringe_bitmap):
+       * xdisp.c (handle_single_display_prop):
+       * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
+ 
+ 2004-02-16  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
+ 
+ 2004-02-15  Steven Tamm  <address@hidden>
+ 
+       * macterm.c (Vmac_emulate_three_button_mouse): New variable for
+       controlling emulation of a three button mouse with option and
+       command keys.
+       (Qreverse, mac_get_enumlated_btn): Handle the emulation
+       (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
+ 
+ 2004-02-15  Kim F. Storm  <address@hidden>
+ 
+       * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
+ 
+       * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
+       Perform byte-swapping.
+ 
+ 2004-02-14  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h (struct draw_fringe_bitmap_params): Change member
+       bits from char to short to facilitate wider bitmaps.
+       (struct redisplay_interface): Fix prototype of define_fringe_bitmap
+       member.
+ 
+       * fringe.c (struct fringe_bitmap): Change member bits from char to
+       short to facilitate 16 bits wide bitmaps.  Modify all standard
+       bitmaps accordingly.
+       (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
+       (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
+       (draw_fringe_bitmap): Ditto.
+       (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
+       (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
+       handle up to 16 bits wide bitmaps.
+       (Fdefine_fringe_bitmap): Doc fix.  Handle wider bitmaps.
+       (Ffringe_bitmaps_at_pos): Add missing arg declarations.
+ 
+       * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
+       (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
+       need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
+ 
+       * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
+       so it is no longer necessary to expand them here.
+ 
+       * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
+ 
+ 2004-02-12  Kim F. Storm  <address@hidden>
+ 
+       * window.c (Fwindow_fringes): Doc fix.
+ 
+ 2004-02-10  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xselect.c (x_get_foreign_selection): Add new optional parameter
+       time_stamp.
+       (Fx_get_selection_internal): Ditto, pass time_stamp to
+       x_get_foreign_selection.
+ 
+       * data.c (Fbyteorder): New function.
+ 
+ 2004-02-09  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * atimer.c: Move include stdio.h to same place as in other files.
+ 
+       * region-cache.c: Ditto.
+ 
+       * sysdep.c: Ditto.
+ 
+       * xfaces.c: Ditto.
+ 
+ 2004-02-09  Sam Steingold  <address@hidden>
+ 
+       * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
+ 
+ 2004-02-09  Kim F. Storm  <address@hidden>
+ 
+       * fringe.c: New file.  Move original fringe related declarations
+       and code from dispextern.h and xdisp.c here.
+       Rework code to support user defined fringe bitmaps, redefining
+       standard bitmaps, ability to overlay user defined bitmap with
+       overlay arrow bitmap, and add faces to bitmaps.
+       (Voverflow_newline_into_fringe): Declare here.
+       (enum fringe_bitmap_align): New enum.
+       (..._bits): All bitmaps are now defined without bitswapping; that
+       is now done in init_fringe_once (if necessary).
+       (standard_bitmaps): New array with specifications for the
+       standard fringe bitmaps.
+       (fringe_faces): New array.
+       (valid_fringe_bitmap_id_p): New function.
+       (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
+       (draw_fringe_bitmap): New function which draws fringe bitmap,
+       possibly overlaying bitmap with cursor in right fringe or the
+       overlay arrow in the left fringe.
+       (update_window_fringes): Do not handle overlay arrow here.
+       Compare and copy fringe bitmap faces.
+       (init_fringe_bitmap): New function.
+       (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
+       define and destroy user defined fringe bitmaps.
+       (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
+       (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
+       (syms_of_fringe): New function.  Defsubr new DEFUNs.
+       DEFVAR_LISP Voverflow_newline_into_fringe.
+       (init_fringe_once, init_fringe): New functions.
+       (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
+ 
+       * Makefile.in (obj): Add fringe.o.
+       (fringe.o): New dependencies.
+ 
+       * dispextern.h (FRINGE_ID_BITS): New definition for number of
+       bits allocated to hold a fringe number.  Increase number of bits
+       from 4 to 8 to allow user defined fringe bitmaps.
+       (struct glyph_row, struct it): New members left_user_fringe_bitmap,
+       left_user_fringe_face_id, right_user_fringe_bitmap,
+       right_user_fringe_face_id.
+       (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
+       Move to new file fringe.c.
+       (MAX_FRINGE_BITMAPS): Define here.
+       (struct draw_fringe_bitmap_params): New members bits, cursor_p,
+       and overlay_p.  Change member which to int.
+       (struct redisplay_interface): New members define_fringe_bitmap
+       and destroy_fringe_bitmap.
+       (valid_fringe_bitmap_id_p): Add prototype.
+       (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
+ 
+       * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
+       arrows.
+       (update_frame): Do flush_display if force_flush_display_p to
+       ensure display (specifically fringes) are updated in a timely
+       manner when resizing the frame by dragging the mouse.
+       (update_window_line): Update row if overlay arrow changed.
+       (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
+       or overlay arrow changed.
+ 
+       * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
+       syms_of_fringe, and init_fringe.
+ 
+       * frame.h (struct frame): New member force_flush_display_p.
+ 
+       * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
+       Add prototypes.
+ 
+       * macterm.c (mac_draw_bitmap): Add overlay_p arg.
+       (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
+       thanks to YAMAMOTO Mitsuharu for advice on how to do this.
+       Use cursor color for displaying cursor in fringe.
+       (x_redisplay_interface): Add null handlers for
+       define_fringe_bitmap and destroy_fringe_bitmap functions.
+ 
+       * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
+       xterm.c to handle overlayed fringe bitmaps and to use cursor color
+       for displaying cursor in fringe.
+       (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
+       specific functions to define and destroy fringe bitmaps in fringe_bmp.
+       (w32_redisplay_interface): Add them to redisplay_interface.
+       (w32_term_init): Call w32_init_fringe instead of explicitly
+       defining fringe bitmaps in fringe_bmp array.
+       (x_delete_display): Call w32_reset_fringes instead of explicitly
+       destroying fringe bitmaps in fringe_bmp array.
+ 
+       * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
+       (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
+       (continued_bits, continuation_bits, ov_bits, first_line_bits)
+       (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
+       (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
+       (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
+       (draw_window_fringes, compute_fringe_widths, update_window_fringes):
+       Move fringe handling vars and code to new file fringe.c.
+       (handle_display_prop): Handle left-fringe and right-fringe
+       display properties; store user fringe bitmaps in iterator.
+       (move_it_in_display_line_to): Handle cursor in fringe at eob.
+       (clear_garbaged_frames): Set force_flush_display_p if resized.
+       (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
+       (display_line): Handle cursor in fringe at eob.
+       (display_line): Set row user fringe bitmaps from iterator.
+ 
+       * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
+       Use cursor color for displaying cursor in fringe.
+       (x_redisplay_interface): Add null handlers for
+       define_fringe_bitmap and destroy_fringe_bitmap functions.
+ 
+ 2004-02-07  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * macfns.c (Fx_change_window_property): Make doc string and
+       parameters same as for X version.
+ 
+       * w32fns.c (Fx_change_window_property): Ditto.
+ 
+ 2004-02-07  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (hscroll_window_tree): Position cursor near to right
+       margin in hscrolled window when jumping to end of line (rather
+       than centering cursor).
+ 
+       * process.c (wait_reading_process_input): Don't do adaptive read
+       buffering if waiting for a specific process.
+ 
+ 2004-02-05  Luc Teirlinck  <address@hidden>
+ 
+       * minibuf.c (Fminibufferp, Fread_from_minibuffer)
+       (Fread_minibuffer, Feval_minibuffer)
+       (Fread_string, Fread_no_blanks_input)
+       (Fcompleting_read): Doc fixes.
+       (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
+       completion-regexp-list.  Define Qcase_fold_search and staticpro it.
+       (read_minibuf): Fix initial comment.
+       (Ftry_completion, Fall_completions, Ftest_completion): Bind
+       case-fold-search to the value of completion-ignore-case when
+       checking completion-regexp-list.
+       (Fdisplay_completion_list): Make it handle arguments that are
+       symbols.  Doc fix.
+ 
+ 2004-02-05  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.h: Add declaration of free_frame_menubar.
+ 
+       * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
+       (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
+       (Fx_change_window_property): Add declaration of parameters type and
+       format.  Remove unused variable cons.
+ 
+       * xselect.c: Include stdio,h.
+ 
+ 2004-02-05  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (Fset_char_table_range): Fix previous change.
+ 
+       * buffer.c (Fset_buffer_multibyte): Fix docstring.
+ 
+ 2004-02-04  Luc Teirlinck  <address@hidden>
+ 
+       * editfns.c (Fchar_after, Fchar_before): Doc fixes.
+ 
+ 2004-02-04  Stefan Monnier  <address@hidden>
+ 
+       * keymap.c (Vmouse_events): Rename from Vmenu_events.
+       (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
+ 
+ 2004-02-04  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (Fset_char_table_range): Handle charsets ascii,
+       eight-bit-control, and eight-bit-graphic correctly.
+ 
+ 2004-02-03  Jason Rumney  <address@hidden>
+ 
+       * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
+ 
+       * w32fns.c (x_to_w32_font): Likewise.
+ 
+ 2004-02-03  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.h: Add x_handle_dnd_message, x_check_property_data,
+       x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
+ 
+       * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
+       ClientMessages.
+ 
+       * xselect.c: Include termhooks.h and X11/Xproto.h
+       (x_check_property_data, x_fill_property_data)
+       (x_property_data_to_lisp, mouse_position_for_drop)
+       (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
+       (Fx_send_client_event): Move here from xfns.c.
+       (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
+ 
+       * xfns.c (x-send-client-message): Move to xselect.c
+       (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
+       OUTER_P.
+       (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
+       VECTOR_RET_P.  Handle AnyPropertyType.  Call x_property_data_to_lisp
+       if vector_ret_p is true.
+       (syms_of_xfns): Sx_send_client_message moved to xselect.c.
+ 
+ 2004-02-02  Eli Zaretskii  <address@hidden>
+ 
+       * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
+       basename of FILE relative to it, not FILE itself.
+ 
+ 2004-02-02  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (coding_restore_composition): Check invalid
+       composition data more rigidly.
+ 
+ 2004-01-30  Luc Teirlinck  <address@hidden>
+ 
+       * fileio.c (Fread_file_name_internal): Correctly handle the case
+       where insert-default-directory is nil.
+       (Fread_file_name): Always return an empty string if the user exits
+       with an empty minibuffer.  Adapt the docstring accordingly.
+       (syms_of_fileio): Adapt the docstring of insert-default-directory
+       to the change in Fread_file_name.
+ 
+ 2004-01-29  Eli Zaretskii  <address@hidden>
+ 
+       * alloca.c [!alloca]: Fix the prototype for xfree.
+ 
+ 2004-01-29  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (string_char_to_byte): Optimize for ASCII only string.
+       (string_byte_to_char): Likewise.
+ 
+ 2004-01-28  Peter Runestig  <address@hidden>
+ 
+       * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
+ 
+ 2004-01-27  Steven Tamm  <address@hidden>
+ 
+       * unexmacosx.c (unexec_copy): Do not copy more than was
+       requested to prevent overwriting during unexec.
+ 
+ 2004-01-27  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * process.c (sigchld_handler): Add comment about not calling malloc.
+ 
+       * process.h: Add extern to synch_process_termsig.
+ 
+ 2004-01-27  Steven Tamm  <address@hidden>
+ 
+       * macterm.c (make_mac_frame, make_mac_terminal_frame):
+       Move setting of scroll bars from make_mac_frame to
+       make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
+ 
+ 2004-01-26  Richard M. Stallman  <address@hidden>
+ 
+       * search.c (Freplace_match): Handle nonexistent
+       back-references properly.
+ 
+ 2004-01-03  Richard M. Stallman  <address@hidden>
+ 
+       * window.c (decode_any_window): New function.
+       (Fwindow_height, Fwindow_width, Fwindow_edges)
+       (Fwindow_pixel_edges, Fwindow_inside_edges)
+       (Fwindow_inside_pixel_edges): Use decode_any_window.
+ 
+ 2004-01-27  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * process.h: synch_process_termsig new variable.
+ 
+       * callproc.c: Define synch_process_termsig.
+       (Fcall_process): Initiate synch_process_termsig to zero and
+       check if non-zero and get signal name after subprocess has ended.
+ 
+       * process.c (sigchld_handler): Set synch_process_termsig
+       if terminated by a signal.  synch_process_death setting removed.
+ 
+       * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
+ 
+ 2004-01-26  Andreas Schwab  <address@hidden>
+ 
+       * print.c (print_preprocess): Declare size as EMACS_INT to not
+       lose bits.
+       (print_object): Likewise.
+       * alloc.c (Fpurecopy): Likewise.
+ 
+ 2004-01-25  Luc Teirlinck  <address@hidden>
+ 
+       * window.c (Fwindow_minibuffer_p): Doc fix.
+ 
+ 2004-01-24  Jonathan Yavner  <address@hidden>
+ 
+       * editfns.c (Fformat): Make both passes accept the same set of flags.
+ 
+ 2004-01-23  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (Fmd5): If OBJECT is a buffer different from the current
+       one, set buffer to OBJECT temporarily.
+ 
+ 2004-01-21  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (kbd_buffer_gcpro): Remove.
+       (kbd_buffer_store_event, clear_event, Fdiscard_input)
+       (stuff_buffered_input, init_keyboard, syms_of_keyboard):
+       Don't initialize and/or maintain the variable any more.  It was made
+       redundant by my commit of 2003-06-15.
+ 
+       * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
+ 
+ 2004-01-21  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * lisp.h: Add undef DECL_ALIGN.
+ 
+ 2004-01-21  Stefan Monnier  <address@hidden>
+ 
+       * process.c (wait_reading_process_input) [SYNC_INPUT]:
+       Check interrupt_input_pending explicitly.
+ 
+       * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
+ 
+       * keyboard.c (handle_async_input): New fun,
+       extracted from input_available_signal.
+       (input_available_signal, reinvoke_input_signal): Use it.
+ 
+ 2004-01-20  Stefan Monnier  <address@hidden>
+ 
+       * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
+ 
+       * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
+       manipulation macros for when tags are in the lower bits.
+       (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
+       (DECL_ALIGN): New macro.
+       (DEFUN): Use it.
+ 
+       * lisp.h [ENABLE_CHECKING]: Don't force union type.
+ 
+       * s/darwin.h (__attribute__): Remove outdated workaround.
+ 
+       * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
+ 
+       * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
+       Don't check range of malloc address.
+       (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
+ 
+       * process.c (wait_reading_process_input): Lisp_Object/int mixup.
+ 
+       * dired.c (Ffile_attributes): Lisp_Object/int mixup.
+ 
+ 2004-01-19  Kenichi Handa  <address@hidden>
+ 
+       * fontset.c (fontset_font_pattern): Fix previous change.
+ 
+ 2004-01-16  Miles Bader  <address@hidden>
+ 
+       * xdisp.c (Voverflow_newline_into_fringe)
+       (move_it_in_display_line_to, redisplay_internal)
+       (update_window_fringes, redisplay_window, display_line, window):
+       Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
+       that it compiles without a window-system.
+       * dispnew.c (direct_output_for_insert, update_window): Likewise.
+ 
+ 2004-01-16  Kim F. Storm  <address@hidden>
+ 
+       * buffer.h (struct buffer): New member indicate_buffer_boundaries.
+ 
+       * buffer.c (init_buffer_once): Set buffer_defaults and
+       buffer_local_flags for indicate_buffer_boundaries.
+       (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
+       default- variable for it.
+ 
+       * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
+       right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
+       New members exact_window_width_line_p and cursor_in_fringe_p for
+       overflowing newlines into right fringe.
+       New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
+       and indicate_bottom_line_p for buffer boundaries and scrolling.
+       (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
+       FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
+       HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
+       and HOLLOW_SQUARE_BITMAP.
+       (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
+       Add prototypes.
+ 
+       * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
+       instead of related indicator fields.
+       Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
+       (direct_output_for_insert): Handle exact width lines like
+       contined lines.  Call update_window_fringes.
+       (update_window): Call update_window_fringes.
+       (scrolling_window): Don't skip desired rows with changed bitmaps.
+       Check if fringe bitmaps changes when assigning scrolled rows.
+ 
+       * xdisp.c (Voverflow_newline_into_fringe): New variable.
+       (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
+       (move_it_in_display_line_to): Overflow newline into fringe for
+       rows that are exactly as wide as the window.
+       (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
+       (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
+       (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
+       (fringe_bitmaps): Add new bitmaps.
+       (draw_fringe_bitmap): Make extern.  Remove WHICH arg.
+       Select proper bitmap for cursor in fringe when appropriate.
+       Handle alignment of bitmap to top or bottom of row.
+       (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
+       done by update_window_fringes.
+       (update_window_fringes, draw_window_fringes): New functions.
+       (redisplay_internal): Call update_window_fringes in case only
+       cursor row is updated.
+       (redisplay_window): Call update_window_fringes.
+       Explicitly call draw_window_fringes if redisplay was done using
+       the current matrix or the overlay arrow is in the window.
+       (try_window_reusing_current_matrix): Mark scrolled rows for
+       fringe update (to update buffer-boundaries / scrolling icons).
+       (find_last_unchanged_at_beg_row): Handle exact width lines line
+       continued lines.
+       (display_line): Overflow newline into fringe for rows that are
+       exactly as wide as the window.  Don't append space for newline
+       in this case.
+       (notice_overwritten_cursor): Explicitly clear cursor bitmap
+       in fringe as if it had been overwritten.
+       (erase_phys_cursor): Erase cursor bitmap in fringe.
+       (syms_of_xdisp): Mark show-trailing-whitespace and
+       void-text-area-pointer as user options.
+       DEFVAR_LISP Voverflow_newline_into_fringe.  Enable by default.
+ 
+       * xterm.c (x_update_window_end): Call draw_window_fringes.
+       (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
+       in row instead of actually drawing fringe bitmaps.
+       (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
+       (x_draw_window_cursor): Draw cursor in fringe.
+ 
+       * w32term.c (x_update_window_end): Call draw_window_fringes.
+       (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
+       in row instead of actually drawing fringe bitmaps.
+       (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
+       (w32_draw_window_cursor): Draw cursor in fringe.
+ 
+       * macterm.c (x_update_window_end): Call draw_window_fringes.
+       (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
+       in row instead of actually drawing fringe bitmaps.
+       (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
+       (mac_draw_window_cursor): Draw cursor in fringe.
+ 
+ 2004-01-16  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (handle_one_xevent): Don't handle characters that are part
+       of an old style (XLookupString) compose sequence.
+ 
+ 2004-01-15  Kenichi Handa  <address@hidden>
+ 
+       * search.c (Freplace_match): Use make_multibyte_string or
+       make_unibyte_string according to the buffer multibyteness.
+ 
+ 2004-01-14  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (struct interval_block, struct string_block)
+       (struct symbol_block, struct marker_block, live_string_p)
+       (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
+       Better preserve alignment for objects in blocks.
+       (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
+ 
+       * lread.c (defvar_per_buffer): Remove dead declaration.
+ 
+       * macterm.c (do_check_ram_size): Don't hardcode the lisp address
+       space size.
+ 
+ 2004-01-12  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
+       if a key press should pop down.  Only pop down if a key is pressed
+       outside the menu/dialog.
+       (create_and_show_popup_menu): Pass 0 for down_on_keypress to
+       popup_get_selection.
+       (create_and_show_dialog): Pass 1 for down_on_keypress to
+       popup_get_selection.
+ 
+ 2004-01-11  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * alloc.c (allocate_vectorlike): Surround calls to mallopt with
+       BLOCK/UNBLOCK_INPUT.
+ 
+ 2004-01-08  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
+       specified.
+ 
+ 2004-01-08  Kenichi Handa  <address@hidden>
+ 
+       * editfns.c (Fformat): Fix '&' to '&&'.
+ 
+ 2004-01-08  Andreas Schwab  <address@hidden>
+ 
+       * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
+       size if PSEUDOVECTOR_FLAG is set.
+ 
+ 2004-01-07  Kenichi Handa  <address@hidden>
+ 
+       * charset.c (Fdeclare_equiv_charset): Fix docstring.
+ 
+       * fontset.c (fontset_ref_via_base): Fix previous change.
+ 
+ 2004-01-07  Kim F. Storm  <address@hidden>
+ 
+       * process.c (read_process_output): Only activate adaptive
+       buffering if we read less than 256 bytes at a time.
+ 
+ 2004-01-06  Kim F. Storm  <address@hidden>
+ 
+       * dispnew.c (buffer_posn_from_coords): Return both buffer/string
+       object and image object.  Return glyph width and height.
+       (mode_line_string, marginal_area_string): Ditto.
+ 
+       * dispextern.h (buffer_posn_from_coords, mode_line_string)
+       (marginal_area_string): Fix prototypes.
+ 
+       * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
+       POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN.  All uses changed.
+       (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
+ 
+       * keyboard.c (make_lispy_position): Use modified mode_line_string,
+       buffer_posn_from_coords, and marginal_area_string functions to
+       include both string object and image object in the lispy position.
+       Also add actual glyph width and height to position.
+       (read_key_sequence): Use real buffer position from mouse
+       event to find keymap property even when click is in marginal area.
+ 
+       * xdisp.c (note_mode_line_or_margin_highlight): Use modified
+       mode_line_string and marginal_area_string functions to handle
+       both string object and image object properties.
+ 
+ 2004-01-06  Andreas Schwab  <address@hidden>
+ 
+       * syntax.c (skip_chars): Treat '-' at end of string as ordinary
+       character.
+ 
+ 2004-01-02  Andreas Schwab  <address@hidden>
+ 
+       * macterm.c (emacs_options, x_initialized, same_x_server):
+       Remove unused (and duplicated) definitions.
+ 
+ 2004-01-02  Kim F. Storm  <address@hidden>
+ 
+       * process.h (struct Lisp_Process): New members for adaptive read
+       buffering: adaptive_read_buffering, read_output_delay, and
+       read_output_skip.
+ 
+       * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
+       (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
+       (READ_OUTPUT_DELAY_MAX_MAX): New constants.
+       (process_output_delay_count, process_output_skip): New vars.
+       (Vprocess_adaptive_read_buffering): New variable.
+       (make_process): Initialize adaptive read buffering members.
+       (Fstart_process): Set adaptive_read_buffering member.
+       (deactivate_process): Cleanup adaptive read buffering.
+       (wait_reading_process_input): Temporarily omit delayed
+       subprocesses from the set of file descriptors to read from;
+       adjust the select timeout if we skipped any subprocesses.
+       (read_process_output): Increase adaptive read buffering delay if
+       we read less than a full buffer; reduce delay when we read a
+       full buffer.
+       (send_process): Simplify using local Lisp_Process var.
+       Reset adaptive read buffering delay after write.
+       (init_process): Initialize process_output_delay_count and
+       process_output_skip.
+       (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
+ 
+ 2004-01-01  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (w32_text_out): Use s->font, for consistency with callers.
+ 
+ 2003-12-30  Luc Teirlinck  <address@hidden>
+ 
+       * print.c (Ferror_message_string): Add hyperlink in the docstring
+       to the definition of `signal' in the Elisp manual.
+       * eval.c (Fsignal): Ditto.
+ 
+ 2003-12-29  James Clark  <address@hidden>  (tiny change)
+ 
+       * fns.c (internal_equal): Return t for two NaN arguments.
+ 
+ 2003-12-29  Richard M. Stallman  <address@hidden>
+ 
+       * data.c (store_symval_forwarding): Handle setting
+       default-fill-column, etc., by changing the value in
+       buffers that use the default.
+ 
+       * minibuf.c (Fset_minibuffer_window): Doc fix.
+ 
+       * fileio.c (choose_write_coding_system): Ignore auto_saving
+       if using the visited file for auto saves.
+       (Fwrite_region): Don't update SAVE_MODIFF
+       if auto-saving in visited file.
+ 
+ 2003-12-29  Kenichi Handa  <address@hidden>
+ 
+       * dispextern.h (face_font_available_p): Extern it.
+ 
+       * fontset.c (Voverriding_fontspec_alist): New variable.
+       (lookup_overriding_fontspec): New function.
+       (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
+       (fontset_font_pattern): Likewise.
+       (regulalize_fontname): New function.
+       (Fset_fontset_font): Call regulalize_fontname.
+       (Fset_overriding_fontspec_internal): New function.
+       (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
+       Defsubr Sset_overriding_fontspec_internal.
+ 
+       * xfaces.c (face_font_available_p): New function.
+ 
+ 2003-12-28  Richard M. Stallman  <address@hidden>
+ 
+       * buffer.c (Fother_buffer): Don't crash if BUF is nil
+       or if its name is nil.
+ 
+       * buffer.c (Fkill_buffer): Don't delete auto-save file
+       if it's the same as the visited file.
+ 
+ 2003-12-28  Luc Teirlinck  <address@hidden>
+ 
+       * coding.c (Fcheck_coding_system): Doc fix.
+ 
+ 2003-12-28  Kim F. Storm  <address@hidden>
+ 
+       * Makefile.in (eval.o): Depend on dispextern.h.
+ 
+       * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
+       image glyph using image's ascent.
+       (mode_line_string): Return image glyph as object clicked on.
+       Adjust y0 for image glyph using image's ascent.
+ 
+       * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
+       (struct glyph): New members, ascent and descent.  Used to save
+       this glyph's ascent and descent, instead of having.
+       (struct glyph): Declare member face_id using FACE_ID_BITS.
+       (find_hot_spot): Add prototype.
+ 
+       * keyboard.c (Qimage): Remove extern (now in lisp.h).
+       (QCmap): Declare extern.
+       (make_lispy_position): When position is inside image hot-spot,
+       use hot-spot element's id as posn element.
+ 
+       * lisp.h (IMAGEP): New macro to test for image object type.
+       (Qimage): Declare extern.
+ 
+       * macfns.c (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+ 
+       * macterm.c (Qface, Qmouse_face): Remove unused externs.
+ 
+       * w32fns.c (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+ 
+       * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
+ 
+       * w32term.c (Qface, Qmouse_face): Remove unused externs.
+ 
+       * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
+       pointer types.
+       (Qrelative_width, Qalign_to): Remove unused variables.
+       (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
+       (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
+       image maps.
+       (x_y_to_hpos_vpos): Return glyph relative coordinates through
+       new dx and dy args.
+       Remove buffer_only_p arg (always 0).  Simplify code accordingly.
+       (get_glyph_string_clip_rect): Draw cursor using glyph's rather
+       than row's ascent and height, to get sensible height on tall rows.
+       (build_desired_tool_bar_string): Remove Qimage extern.
+       (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
+       (produce_image_glyph): Adjust it.ascent to minimum row ascent if
+       image glyph is alone on the last line.
+       (append_glyph, append_composite_glyph, produce_image_glyph)
+       (append_stretch_glyph): Set glyph's ascent and descent.
+       (on_hot_spot_p): New function to check if position is inside an
+       rectangular, circular, or polygon-shaped image hot-spot,
+       (find_hot_spot): New function to search for image hot-spot.
+       (Flookup_image_map): New defun to search for image hot-spot.
+       (define_frame_cursor1): New aux function to determine frame pointer.
+       (note_mode_line_or_margin_highlight, note_mouse_highlight):
+       Handle `pointer' text property and :pointer image property to
+       control frame pointer shape.  Detect image hot-spots for pointer
+       and help_echo properties.  Use define_frame_cursor1.
+       (note_mouse_highlight): Use Vvoid_text_area_pointer.
+       (syms_of_xdisp): Defsubr new defun.  Intern and staticpro new variables.
+       DEFVAR_LISP Vvoid_text_area_pointer instead of 
Vshow_text_cursor_in_void.
+ 
+       * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
+ 
+       * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
+       (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+ 
+       * xmenu.c (show_help_event): Remove unused code.
+ 
+       * xterm.c (Qface, Qmouse_face): Remove unused externs.
+       (x_draw_hollow_cursor): Draw cursor using glyph's rather than
+       row's ascent and descent, to get a sensible height on tall rows.
+ 
+ 2003-12-25  Luc Teirlinck  <address@hidden>
+ 
+       * minibuf.c (Fcompleting_read): Undo previous change.
+ 
+ 2003-12-25  Lars Hansen  <address@hidden>
+ 
+       * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
+       Arguments GCPRO'ed in call to file name handler.
+ 
+ 2003-12-25  Thien-Thi Nguyen  <address@hidden>
+ 
+       * termcap.c (tgetst1): Scan for "%pN"; if all
+       N are continuous in [1,9], remove all "%pN".
+ 
+ 2003-12-24  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
+ 
+       * xfaces.c (lface_fully_specified_p): Take into account that
+       MAC OS always have unspecified stipple.
+ 
+ 2003-12-24  Thien-Thi Nguyen  <address@hidden>
+ 
+       * tparam.c (tparam1): Add handling for `%pN', which
+       means use param N for the next substitution.
+ 
+ 2003-12-24  Thien-Thi Nguyen  <address@hidden>
+ 
+       * xfaces.c (Fcolor_gray_p): Fix omission bug:
+       In case `frame' is nil, consult the selected frame.
+       (Fcolor_supported_p): Likewise.
+ 
+ 2003-12-23  Luc Teirlinck  <address@hidden>
+ 
+       * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
+       Doc fixes.
+ 
+       * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
+       and an integer.  Adapt the introductory comment accordingly.
+       (Fread_from_minibuffer): Delete code moved into read_minibuf.
+       Doc fix.
+       (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
+       read_minibuf.
+       (Fcompleting_read): Delete code moved into read_minibuf.
+       (Ftest_completion): Make it handle obarrays and hash tables correctly.
+ 
+ 2003-12-03  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
+       encoding sequence.
+ 
+ 2003-12-01  Kenichi Handa  <address@hidden>
+ 
+       * composite.c (syms_of_composite): Don't make the compostion hash
+       table week.
+ 
+ 2003-11-30  Luc Teirlinck  <address@hidden>
+ 
+       * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
+       * textprop.c (Fget_char_property_and_overlay): New function.
+       (syms_of_textprop): Defsubr it.
+ 
+ 2003-11-29  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
+       to compile on terminal configuration.
+ 
+       * fileio.c (Fread_file_name): Check use_file_dialog also before
+       calling Fx_file_dialog.
+ 
+       * fns.c: use_file_dialog: New variable.
+       (syms_of_fns): DEFVAR_BOOL use-file-dialog.
+ 
+ 2003-11-29  Kim F. Storm  <address@hidden>
+ 
+       * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
+       (syms_of_msdos): Don't intern and staticpro them.
+ 
+ 2003-11-27  Kim F. Storm  <address@hidden>
+ 
+       * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
+       coordinates relative to glyph at posn.  If glyph is an image,
+       return that as object at posn.  Callers changed.
+       (mode_line_string, marginal_area_string): Calculate and return
+       pixel coordinates relative to glyph.  Callers changed.
+ 
+       * dispextern.h (buffer_posn_from_coords, mode_line_string)
+       (marginal_area_string): Fix prototypes.
+       (window_box_left_offset, window_box_right_offset): Add prototypes.
+ 
+       * frame.h (get_specified_cursor_type, get_window_cursor_type):
+       Remove prototypes.
+ 
+       * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
+ 
+       * keyboard.c (make_lispy_position): Add x and y coordinates
+       relative to the current glyph as 7th element of position.
+       If glyph is an image, return it in the object element.
+       (read_key_sequence): Skip checks for keymap property in cases
+       where POSN_STRING is not a string (e.g. an image).
+ 
+       * xdisp.c (Vdisplay_pixels_per_inch): New variable.
+       (Vshow_text_cursor_in_void): New variable.
+       (glyph_to_pixel_coords): Don't use negative hpos.
+       (x_y_to_hpos_vpos): Fix for partially visible first glyph.
+       (append_stretch_glyph): Change ascent arg to be actual value
+       in pixels rather than ratio to height.  Callers changed.
+       (calc_pixel_width_or_height): New aux function, implementing
+       pixel based artihmetic for glyph widths and heights.
+       (produce_stretch_glyph): Use calc_pixel_width_or_height for
+       :width, :height, :align-to, and :ascent, thus allowing these to
+       be specified in pixels as well as multiples of characters.
+       Don't produce stretch glyphs with zero width or height.
+       (get_specified_cursor_type): Declare static.
+       (get_window_cursor_type): Declare static.  Add glyph arg to be
+       able to know when cursor is on an image; always substitute
+       hollow-box cursor for filled-box cursor on images, to avoid
+       negative images and flicker when blinking the cursor.
+       (display_and_set_cursor): Pass glyph to get_window_cursor_type.
+       (note_mode_line_or_margin_highlight): Use non-text cursor rather
+       than vertical scroll-bar cursor in display margins.
+       (note_mouse_highlight): Use non-text cursor rather than text
+       cursor in fringes and over images in the text area.
+       Use non-text cursor when mouse pointer is outside editable text,
+       i.e. in the void after end-of-line or end-of-buffer; this was
+       already done for W32, but is now standard for all systems --
+       user can toggle show-text-cursor-in-void to get old behaviour.
+       (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
+       Vdisplay_pixels_per_inch.
+ 
+ 2003-11-25  Andreas Schwab  <address@hidden>
+ 
+       * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
+       EMACS_INT to not lose bits.
+       (Ffillarray): Don't set bits beyond the size of a bool vector.
+ 
+ 2003-11-25  Kim F. Storm  <address@hidden>
+ 
+       * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
+       define this defun on systems that cannot use stderr as lvalue.
+ 
+ 2003-11-24  Gerd Moellmann  <address@hidden>
+ 
+       * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
+       [__FreeBSD_version >= 500042]: Define as -znocombreloc because
+       ld's default is incompatible with unexec.
+ 
+ 2003-11-23  Kim F. Storm  <address@hidden>
+ 
+       * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
+       (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
+       (Fforce_window_update): New defun.
+       (syms_of_window): Defsubr it.
+       (Fset_window_margins, Fset_window_fringes): Doc fix.
+ 
+       * print.c (Fredirect_debugging_output): New defun.
+       (syms_of_print): Defsubr it.
+ 
+ 2003-11-22  Luc Teirlinck  <address@hidden>
+ 
+       * fns.c (Fset_char_table_parent): Doc fix.
+ 
+ 2003-11-22  Kim F. Storm  <address@hidden>
+ 
+       * dispnew.c (buffer_posn_from_coords): Return actual row/column
+       for glyph clicked on, rather than (unused) pixel positions.
+       (mode_line_string, marginal_area_string): Change X and Y args to
+       pointers for returning actual row/column for glyph clicked on.
+       Simplify and optimize loops.
+ 
+       * dispextern.h (mode_line_string, marginal_area_string):
+       Update prototypes.
+ 
+       * keyboard.c (make_lispy_position): New function for generating
+       mouse click positions from frame and pixel coordinates.
+       Enhanced to return buffer position and actual row/column for
+       events outside the text area using updated mode_line_string and
+       marginal_area_string functions.
+       Return left-fringe and right-fringe clicks as such, rather than
+       clicks in text area.
+       (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
+       pixel_to_glyph_coords, as we never use the results.
+       (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
+       WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
+       Eliminate unused code in WHEEL_EVENT handling.
+       (make_lispy_movement): Use make_lispy_position.
+ 
+       * window.c (coordinates_in_window): Remove redundant tests.
+       Fix returned X pixel value for left-margin.
+ 
+       * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
+       mode_line_string and marginal_area_string parameters.
+ 
+ 2003-11-22  Lars Hansen  <address@hidden>
+ 
+       * w32.c (struct the_group, getgrgid): Add.
+       * mac.c (struct my_group, getgrgid): Add.
+ 
+ 2003-11-21  Luc Teirlinck  <address@hidden>
+ 
+       * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
+ 
+ 2003-11-21  Lars Hansen  <address@hidden>
+ 
+       * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
+       include in call to file name handler.  Optionally translate numeric
+       UID and GID to strings.  Update docstring.
+       (directory_files_internal): Add parameter ID-FORMAT.
+       (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
+       include in call to file name handler and call to
+       directory_files_internal.  Update Docstring.
+       (Fdirectory_files): Add dummy parameter in call to
+       directory_files_internal.
+       * lisp.h (Qinteger): Add.
+       (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
+       (Ffile_attributes): Add parameter.
+       * data.c (Qinteger): Export.
+ 
+ 2003-11-21  Luc Teirlinck  <address@hidden>
+ 
+       * fns.c (Freverse, Fnreverse): Doc fixes.
+ 
+ 2003-11-19  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (init_iterator): Initialize it->start to position
+       before reseating (in case start position is invisible).
+       (init_to_row_start): Set it->start to row-start.
+       (redisplay_window): Accept optional_new_start if start position
+       is invisible (in which case IT_CHARPOS overshoots PT).
+       (display_line): Setup row->start from it->start (rather than
+       it->current which is wrong if first char on line is invisible).
+       When done, reseat it->start to it->current (= start of next row).
+       (expose_area): Fix exposure of text area when first char (e.g. TAB)
+       is only partially visible.
+ 
+       * dispextern.h (struct it): New member start.
+ 
+ 2003-11-17  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (make_float, Fcons): Clear the markbit at init time.
+       (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
+       of block_index outside of the macro call.
+       (Fgarbage_collect): Remove null code.
+ 
+       * m/amdx86-64.h: Don't redefine XPNTR.
+ 
+       * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
+       of VALMASK.
+ 
+       * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
+       (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
+       (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
+ 
+       * lisp.h (VALMASK): Only define for non-union type.
+       (MARKBIT): Remove.
+       (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
+       (XTYPE): Define unconditionally.
+       (XSETTYPE): Remove one more remnant.
+       (EQ): Define differently for the union and non-union cases.
+       (INTMASK): New bit mask.
+       (struct Lisp_Marker): Move down to prepare for upcoming patch.
+       (GC_EQ): Delegate to EQ.
+ 
+       * coding.c (coding_restore_composition): Lisp_Object/int mixup.
+ 
+ 2003-11-17  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_window_to_scroll_bar): Move check of display to
+       where window_id is compared.
+ 
+ 2003-11-17  Kim F. Storm  <address@hidden>
+ 
+       * dispextern.h (struct it): New member first_vpos.
+ 
+       * xdisp.c (start_display): Set it->first_vpos.
+       (try_window_id): Use first_vpos to start display in first _text_
+       line if no reusable lines at start of window with header line.
+ 
+ 2003-11-16  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * w32fns.c (XPutPixel):
+       * w32bdf.c (w32_init_bdf_font):
+       * sunfns.c (sel_read):
+       * process.c (Fmake_network_process):
+       * frame.c (store_frame_param):
+       * fontset.c (Fset_fontset_font):
+       * emacs.c (shut_down_emacs):
+       * ccl.c (ccl_driver): Remove period at end of error message.
+ 
+       * config.in: Regenerate.
+ 
+       * xfns.c (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 Display* argument to xg_win_to_widget.
+       (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
+       (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
+ 
+       * xterm.h (struct x_display_info): New field xg_cursor for GTK.
+ 
+       * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
+       (XTmouse_position, handle_one_xevent): Pass Display* to
+       x_window_to_scroll_bar.
+       (x_window_to_scroll_bar): Take a Display* argument.
+       Check that display for frame is equal to Display* argument.
+       (event_handler_gdk): Remove current_dpyinfo.  Get dpyinfo from
+       x_display_info_for_display instead.  Use Display in xev instead
+       of GDK_DISPLAY.
+       (x_dispatch_event): Call x_display_info_for_display.
+       (XTread_socket): Move GTK part out of loop.  current_dpyinfo removed.
+       (x_connection_closed): Call xg_display_close for GTK.
+       (x_term_init): Call xg_display_open for additional displays.
+       Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
+       for GTK.
+ 
+       * xmenu.c (single_menu_item, mouse_position_for_popup)
+       (x_activate_menubar): Formatting adjustments.
+ 
+       * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
+       adjustments.
+ 
+       * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
+       (xg_display_close, xg_create_default_cursor)
+       (xg_get_gdk_pixmap_and_mask): New functions for multiple display
+       handling.
+       (xg_left_ptr_cursor): Remove.
+       (xg_set_cursor): Change cursor to GdkCursor*.  Do not create
+       cursor here.
+       (xg_win_to_widget): Take Display* argument, call
+       gdk_xid_table_lookup_for_display.
+       (xg_create_frame_widgets, xg_get_file_name, create_menus)
+       (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
+       (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
+       in FRAME_X_DISPLAY_INFO.
+       (xg_get_scroll_id_for_window): Take Display* argument.
+       (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
+       (xg_initialize): Remove xg_left_ptr_cursor.
+ 
+       * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
+       Display* argument also.  Declare xg_display_open,
+       xg_display_close, xg_create_default_cursor.
+ 
+ 2003-11-14  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_detect_focus_change): Do not change focus frame for
+       Enter/LeaveNotify if the current focus frame has explicit focus.
+ 
+ 2003-11-14  Kim F. Storm  <address@hidden>
+ 
+       * dispnew.c (update_text_area): Fix redisplay error when hscroll
+       is active and first glyph is only partially visible.
+ 
+ 2003-11-13  Kenichi Handa  <address@hidden>
+ 
+       * xdisp.c (select_frame_for_redisplay): New function.
+       (redisplay_internal): Record also selected_frame for
+       unwind_redisplay.  Call select_frame_for_redisplay before
+       redrawing each frame.
+       (unwind_redisplay): Argument changed to a cons.
+ 
+ 2003-11-12  Luc Teirlinck  <address@hidden>
+ 
+       * fns.c (Fstring_to_multibyte): Doc fix.
+ 
+ 2003-11-11  Kenichi Handa  <address@hidden>
+ 
+       * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
+ 
+ 2003-11-09  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (x_window): Set XtNx and XtNy in shell widget for
+       program specified positions.
+ 
+ 2003-11-08  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
+ 
+ 2003-11-08  Kenichi Handa  <address@hidden>
+ 
+       * Makefile.in (lisp): Add kannada.el.
+       (shortlisp): Likewise.
+ 
+ 2003-11-07  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (coding_allocate_composition_data):
+       Reset coding->composing to COMPOSITION_NO.
+       (coding_restore_composition): Detect invalid composition data.
+       Give Fstring and Fvector a Lispy integer, not C int.
+ 
+ 2003-11-05  Stefan Monnier  <address@hidden>
+ 
+       * floatfns.c (Flogb): Don't use VALMASK.
+ 
+       * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
+       * m/ia64.h (VALBITS, XINT, XUINT): Remove.
+ 
+       * lisp.h (XINT): Move the cast to clarify what is going on.
+       (GCTYPEMASK, XSETTYPE): Remove.
+       (XGCTYPE): Make it an alias of XTYPE.
+ 
+ 2003-11-03  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_term_init): Fix formatting.
+ 
+ 2003-11-02  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
+       and xg_did_tearoff.
+ 
+       * gtkutil.c: Remove variable xg_did_tearoff.
+       (xg_have_tear_offs): New function.
+       (tearoff_remove): Just decrease xg_detached_menus.
+       (tearoff_activate): Increase xg_detached_menus and call
+       tearoff_remove when tearoff is removed.
+       (xg_keep_popup): Remove function.
+       (create_menus): Give add_tearoff_p as argument to recursive
+       call to create_menus.
+       (xg_create_widget): Use variables instead of multiple
+       strcmp.  Tell create_menus to create tear off only for
+       menu bar menus.
+       (xg_update_menubar): Change title for a detached menu also.
+       (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
+       of deep_p.
+       (xg_initialize): Initialize xg_detached_menus, remove
+       initialization of xg_did_tearoff.
+ 
+       * xmenu.c (set_frame_menubar): For GTK, set deep_p if
+       xg_have_tear_offs returns non-zero.
+       (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
+       call to xg_keep_popup.
+ 
+ 2003-11-01  Andrew Choi  <address@hidden>
+ 
+       * macterm.c (XTread_socket): Handle menubar selection and grow
+       window only for mouseDown events.
+ 
+ 2003-10-31  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_term_init): For GTK part, increase x_initialized
+       to check for more than one display.  Use error instead of return 0.
+ 
+ 2003-10-31  Andrew Choi  <address@hidden>
+ 
+       * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
+       (copy_dysymtab): Call it.
+ 
+ 2003-10-31  Luc Teirlinck  <address@hidden>
+ 
+       * eval.c (Fdefvaralias): Doc fix.
+ 
+ 2003-10-26  Luc Teirlinck  <address@hidden>
+ 
+       * data.c (Fsetplist): Doc fix.
+ 
+ 2003-10-14  Lute Kamstra  <address@hidden>
+ 
+       * window.c (Fset_window_fringes): Clarify docstring.
+ 
+ 2003-10-14  Kim F. Storm  <address@hidden>
+ 
+       * window.c (Fset_window_margins): Simplify arg checking.
+ 
+ 2003-10-13  Richard M. Stallman  <address@hidden>
+ 
+       * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
+       (print_partial_compiled_pattern): Replace assert with a printout.
+       (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
+ 
+       * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
+ 
+       * window.c (Fset_window_margins): Allow only integers as args.
+       (syms_of_window) <special-display-buffer-names, 
special-display-regexps>:
+       Doc fixes.
+ 
+ 2003-10-13  Lute Kamstra  <address@hidden>
+ 
+       * window.c (Fset_window_fringes): Elaborate docstring.
+ 
+ 2003-10-12  Andrew Choi  <address@hidden>
+ 
+       * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
+ 
+       * s/darwin.h (GC_MARK_STACK): Define.
+ 
+ 2003-10-12  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * window.c (shrink_windows): New function.
+       (size_window): Call shrink_windows to calculate window sizes when
+       shrinking frame with more than one window.
+ 
+ 2003-10-12  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (compute_fringe_widths): Doc fix.
+ 
+ 2003-10-08  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
+ 
+ 2003-10-07  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (Qcoding_system_define_form): New variable.
+       (syms_of_coding): Intern and staticpro it.
+       (Fcheck_coding_system): Try to autoload the definition of
+       CODING-SYSTEM.
+ 
+ 2003-10-05  Luc Teirlinck  <address@hidden>
+ 
+       * fns.c (Frequire): Doc fix.
+ 
+ 2003-10-05  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (Fx_send_client_event): New function as a base for
+       manipulating extended window manager hints.
+       (Fx_send_client_event): Remove unused variable s.
+ 
+       * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
+       that function is removed.
+ 
+       * xterm.c (x_set_offset): Use move_offset_left/top instead of
+       x/y_pixels_outer_diff.
+       (x_check_expected_move): Calculate move_offset_left/top.
+ 
+       * xterm.h (struct x_output): New members: move_offset_top/left.
+ 
+       * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
+       call x_set_offset directly.
+ 
+       * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
+ 
+       * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
+ 
+       * xterm.c (x_delete_display): Free font names and font_encoder
+       in dpyinfo->font_table.
+ 
+       * xfns.c (Fx_close_connection): Only call XFreeFont here.
+       Move xfree of font names to x_delete_display.
+ 
+       * xterm.h (struct x_display_info): New member, wm_type.
+       (struct x_output): New members, expected_top/left and
+       check_expected_move.
+ 
+       * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
+       is received.
+       (handle_one_xevent): Rename x_check_expected_move from
+       x_check_fullscreen_move.
+       (x_set_offset): Only add WM decoration sizes to modified_top/left
+       for X_WMTYPE_A.  Set check_expected_move when WM type is unknown.
+       (x_check_expected_move): Rename from x_check_fullscreen_move.
+       Removed fullscreen specific code.  Use check_expected_move,
+       expected_left/top instead.  Also, set wm_type.
+       (x_term_init): Initialize wm_type to unknown.
+ 
+       * frame.c (x_fullscreen_move): Remove addition of WM decoration
+       sizes to move_x/y.
+ 
+ 2003-10-03  Kenichi Handa  <address@hidden>
+ 
+       * macterm.c (x_load_font): Clear all members of FONTP before start
+       filling them.
+ 
+ 2003-10-02  Kenichi Handa  <address@hidden>
+ 
+       * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
+       before calling find_ccl_program_func.  Call find_ccl_program_func
+       only when fontp->font_encoder is not NULL.
+ 
+       * xterm.c (x_load_font): Clear all members of FONTP before start
+       filling them.
+ 
+ 2003-10-03  John Paul Wallington  <address@hidden>
+ 
+       * keymap.c (map_keymap): Don't abort when binding is a vector.
+ 
+ 2003-10-02  Jason Rumney  <address@hidden>
+ 
+       * makefile.w32-in (emacs.o, coding.o, bytecode.o):
+       Sync dependencies with Makefile.in.
+       (alloca.o): Remove.
+ 
+       * w32fns.c (w32_load_system_font): Clear all members of FONTP before
+       filling them.
+ 
+       * w32bdf.c (w32_load_bdf_font): Likewise.
+ 
+ 2003-09-30  Richard M. Stallman  <address@hidden>
+ 
+       * term.c (set_tty_color_mode): Calculate current_mode_spec
+       regardless of value of VAL.
+ 
+       * intervals.c (graft_intervals_into_buffer):
+       Set BUF_INTERVALS (buffer)->up_obj when appropriate.
+       Handle over_used when splitting UNDER.
+ 
+ 2003-09-30  YAMAMOTO  Mitsuharu  <address@hidden>
+ 
+       * regex.c (regex_compile): Free the stack when returning from function.
+ 
+ 2003-09-28  Kenichi Handa  <address@hidden>
+ 
+       * fontset.c (Finternal_char_font): Change return value to
+       cons (FONT-NAME . GLYPH-CODE).
+ 
+ 2003-09-28  Eli Zaretskii  <address@hidden>
+ 
+       * term.c (tty_setup_colors): Treat any negative argument as -1.
+ 
+ 2003-09-27  Gaute B Strokkenes  <address@hidden>  (tiny change)
+ 
+       * process.c (send_process): Delete unused temp_buf.
+ 
+ 2003-09-26  Dave Love  <address@hidden>
+ 
+       * xterm.c (x_bitmap_mask): Declare.
+ 
+ 2003-09-25  Dave Love  <address@hidden>
+ 
+       * Makefile.in (fns.o): Depend on md5.h.
+ 
+ 2003-09-25  Kim F. Storm  <address@hidden>
+ 
+       * window.c (set_window_buffer): Fix redisplay problems when
+       switching between buffers with different display margin widths.
+ 
+ 2003-09-23  Kim F. Storm  <address@hidden>
+ 
+       * process.c (set_socket_option): Fix :bindtodevice option.
+       (Fset_network_process_option): Update process contact list when
+       setting option succeeds.
+       (Fmake_network_process): Doc fix.
+ 
+ 2003-09-23  Dave Love  <address@hidden>
+ 
+       * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
+ 
+ 2003-09-22  Eli Zaretskii  <address@hidden>
+ 
+       * term.c (set_tty_color_mode): Use INTEGERP to test whether a
+       color mode is an integer number (it could be -1).
+ 
+ 2003-09-22  Richard M. Stallman  <address@hidden>
+ 
+       * intervals.c (graft_intervals_into_buffer): Correct the main loop
+       in the case where OVER is longer than UNDER.
+ 
+ 2003-09-22  Masatake YAMATO  <address@hidden>
+ 
+       * window.c (Fset_window_scroll_bars): Validate the value of
+       `vertical_type'.
+ 
+ 2003-09-21  Kim F. Storm  <address@hidden>
+ 
+       * frame.c (Vdefault_frame_scroll_bars): New variable.
+       (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
+       (syms_of_frame): DEFVAR_LISP it, and initialize according to
+       window-system default scroll bar position.
+ 
+       * window.c (Fwindow_scroll_bars): Doc fix.
+ 
+ 2003-09-19  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_set_offset): Take window manager decorations into account.
+ 
+ 2003-09-19  Richard M. Stallman  <address@hidden>
+ 
+       * atimer.h: Don't include lisp.h.
+       (P_): Define it here (as well as elsewhere).
+ 
+       * print.c (Fprin1_to_string): Move the PRINTPREPARE
+       later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
+ 
+       * data.c (Fvariable_binding_locus): New function.
+       (syms_of_data): defsubr it.
+       (Flocal_variable_p): Delete duplicate call to indirect_variable.
+ 
+ 2003-09-18  Dave Love  <address@hidden>
+ 
+       * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
+ 
+       * process.c (Fnetwork_interface_info): Fix type error.
+       (Fnetwork_interface_list): Doc fix.
+       (read_process_output, read_process_output): Delete unused var.
+ 
+ 2003-09-17  Kim F. Storm  <address@hidden>
+ 
+       * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
+       Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
+       (Fnetwork_interface_info): Check that ifreq struct has required
+       fields before accessing them; this requires that those fields are
+       defined as macros, which may be too restrictive on some platforms,
+       but it is better than failing on other platforms.
+       (syms_of_process): Only defsubr above fns when included.
+ 
+ 2003-09-17  Dave Love  <address@hidden>
+ 
+       * unexalpha.c: Don't include varargs.h.
+ 
+ 2003-09-17  Kim F. Storm  <address@hidden>
+ 
+       * process.c (Fset_process_sentinel): Add sentinel to childp plist
+       for network process.
+       (socket_options): Add `:' prefix to option names.  Add optbit field.
+       (set_socket_option): Remove no_error arg and special handling of s < 0.
+       Return 1<<optbit for known option, 0 for unknown.
+       Do not interpret 0 as false for boolean option (only nil).
+       Pass failed option and value to report_file_error.
+       (Fset_network_process_options): Replace by Fset_network_process_option.
+       (Fset_network_process_option): New function to set just one option.
+       (Fmake_network_process): Allow :coding arg to be a cons.
+       Allow :server arg to be an integer specifying backlog size.
+       Remove :options arg, and allow options to be specified directly
+       as :KEY, VALUE pairs.  Parse these options before binding socket.
+       As before, :reuseaddr t is default for a server process, but this
+       can now be disabled by specifying :reuseaddr nil.
+       (Fnetwork_interface_info): Rename from Fget_network_interface_info.
+       (init_process): Availability of network options is now checked with
+       simpler syntax (featurep 'make-network-process :OPTION); use loop to
+       setup features.
+       (syms_of_process): Fix defsubr's for the replaced functions.
+ 
+ 2003-09-16  Dave Love  <address@hidden>
+ 
+       * Makefile.in: Depend on coding.h.
+ 
+ 2003-09-14  Kim F. Storm  <address@hidden>
+ 
+       * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
+       (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
+       (syms_of_process): Defsubr them.
+ 
+       * config.in: Regenerate.
+ 
+ 2003-09-12  Stefan Monnier  <address@hidden>
+ 
+       * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
+       * m/news-r6.h (XUNMARK): Remove.
+       * m/mips.h (XUNMARK): Remove.
+       * m/mips-siemens.h (XUNMARK): Remove.
+       * m/iris4d.h (XUNMARK): Remove.
+       * m/hp800.h (XMARKBIT, XUNMARK): Remove.
+ 
+ 2003-09-11  Stefan Monnier  <address@hidden>
+ 
+       * lisp.h (VALBITS): Don't remove 1 for the markbit.
+       (union Lisp_Object): Use unsigned int for types.  Remove markbit.
+       (MARKBIT): Remove 1 from VALBITS so we still use same old val.
+       (XTYPE): Use unsigned right-shift.
+       (XMARKBIT, XMARK, XUNMARK): Remove.
+ 
+       * alloc.c (init_intervals, init_symbol, init_marker):
+       Don't preallocate anything.
+       (Fgarbage_collect, mark_object): Ignore the markbit.
+ 
+       * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
+ 
+ 2003-09-08  Lute Kamstra  <address@hidden>
+ 
+       * xdisp.c (pint2hrstr): New function.
+       (decode_mode_spec): Add `%i' and `%I' specs.
+       * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
+       for `mode-line-format'.
+ 
+ 2003-09-07  Andreas Schwab  <address@hidden>
+ 
+       * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
+       avoid warning.
+ 
+ 2003-09-07  Eli Zaretskii  <address@hidden>
+ 
+       * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
+ 
+ 2003-09-03  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
+       change (superseded by 2002-08-30 change); the default blink-off
+       cursor is now again "no cursor".
+ 
+ 2003-09-01  Jason Rumney  <address@hidden>
+ 
+       * makefile.w32-in (alloca.o): Remove.
+       (coding.o): Depend on intervals.h
+       (emacs.o, bytecode.o): Depend on window.h
+ 
+ 2003-09-01  Dave Love  <address@hidden>
+ 
+       * Makefile.in (alloca.o): Remove commands.
+       (coding.o): Depend on intervals.h composite.h window.h.
+       (emacs.o): Depend on window.h keyboard.h keymap.h.
+       (gtkutil.o): Depend on keyboard.h charset.h coding.h.
+       (bytecode.o): Depend on window.h.
+ 
+ 2003-08-31  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (w32_per_char_metric): Allow cached metrics to be
+       returned even when font_type is unknown.
+ 
+       * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
+ 
+ 2003-08-30  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_term_init): Initialize new fields in x_display_info.
+ 
+       * xterm.h (struct x_display_info): Add red/green/blue_bits and
+       *_offset.
+ 
+       * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
+       calculate pixel value.
+ 
+ 2003-08-29  Gerd Moellmann  <address@hidden>
+ 
+       * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
+       Don't tell redisplay display is accurate when it's actually been
+       paused for pending input.
+ 
+ 2003-08-29  Richard M. Stallman  <address@hidden>
+ 
+       * dispnew.c (adjust_glyph_matrix): Call window_box
+       whenever W is nonzero.
+ 
+       * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
+       (Fkill_local_variable, Fmake_variable_frame_local)
+       (Flocal_variable_p, Flocal_variable_if_set_p):
+       Use indirect_variable to trace thru variable aliases.
+ 
+       * config.in: Updated.
+ 
+       * callint.c (Fcall_interactively): Save and restore
+       Vthis_command, Vthis_original_command, real_this_command,
+       and current_kboard->Vlast_command.
+ 
+       * abbrev.c (Fexpand_abbrev): Insert before deleting.
+ 
+ 2003-08-29  Gerd Moellmann  <address@hidden>
+ 
+       * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
+ 
+ 2003-08-28  David Abrahams  <address@hidden>  (tiny change)
+ 
+       * coding.c (decode_coding_iso2022): Initialize local variable c2.
+       (decode_coding_sjis_big5): Likewise.
+ 
+ 2003-08-27  Jason Rumney  <address@hidden>
+ 
+       * w32.c (sys_pipe): Protect against file descriptor overflow.
+ 
+       * w32fns.c (syms_of_w32fns): Remove non-existent functions.
+ 
+       * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
+ 
+ 2003-08-26  Terje Rosten  <address@hidden>
+ 
+       * xfns.c (Vgtk_version_string): New variable.
+       (syms_of_xfns): DEFVAR_LISP it.  Provide gtk.
+ 
+ 2003-08-24  Eli Zaretskii  <address@hidden>
+ 
+       * term.c (term_init): Remove `const' from buffer_size's declaration.
+ 
+       * Makefile.in (msdos.o): Depend on intervals.h.
+ 
+       * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
+ 
+ 2003-08-21  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.h (struct x_display_info): New fields: client_leader_window
+       and Xatom_wm_client_leader.
+ 
+       * xterm.c (x_initialize): Move call to x_session_initialize to ...
+       (x_term_init): ... here.  Initialize client_leader fields in dpyinfo.
+ 
+       * xsmfns.c (create_client_leader_window): New function.
+       (x_session_initialize): Call create_client_leader_window, take
+       dpyinfo as argument.
+ 
+       * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
+ 
+       * Makefile.in (xsmfns.o): Add more depenedencies.
+ 
+ 2003-08-21  Dave Love  <address@hidden>
+ 
+       * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
+ 
+ 2003-08-21  Kenichi Handa  <address@hidden>
+ 
+       * term.c (term_init): Fix previous change; don't rely on the
+       length of `buffer' if TERMINFO is defined.
+ 
+ 2003-08-20  Dave Love  <address@hidden>
+ 
+       * atimer.h: Include lisp.h.
+ 
+       * lisp.h (EMACS_LISP_H): New.
+       (popup_activated_flag): Don't declare.
+ 
+       * alloca.c: Some merging with gnulib.  Change logic and doc
+       concerning (x)malloc/(x)free -- no longer Emacs-specific.
+       [DO_BLOCK_INPUT]: Don't include lisp.h.
+       (xmalloc, xfree): Declare.
+       (malloc): Don't declare.
+ 
+       * Makefile.in (LWLIB_OPTIONS): Remove (unused).
+       (alloca.o): Remove obsolete stuff concerning alloca.s.  Depend on
+       atimer.h, blockinput.h.
+ 
+       * alloc.c (lisp_align_malloc): Change type of `aligned'.
+ 
+       * alloca.s: Removed.
+ 
+ 2003-08-19  Gerd Moellmann  <address@hidden>
+ 
+       * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
+       use -lncurses.
+ 
+       * term.c (term_init): Use a buffer of size 4096 for tgetent since
+       FreeBSD returns something longer than 2044.  Abort if the end of
+       the buffer is overwritten.
+ 
+ 2003-08-19  Miles Bader  <address@hidden>
+ 
+       * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
+ 
+ 2003-08-19  Gerd Moellmann  <address@hidden>
+ 
+       * alloc.c (lisp_align_malloc): Check for memory full when
+       allocating ablocks, which also avoids freeing a pointer into an
+       ablocks structure.
+ 
+       * puresize.h (BASE_PURESIZE): Increase to 1100000.
+ 
+       * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
+ 
+ 2003-08-16  Richard M. Stallman  <address@hidden>
+ 
+       * editfns.c (Fencode_time): Doc fix.
+ 
+ 2003-08-16  David Ponce  <address@hidden>
+ 
+       * fileio.c (Fwrite_region): Fix conditional expression to issue
+       the right message.
+ 
+ 2003-08-16  Juri Linkov  <address@hidden>  (tiny change)
+ 
+       * syntax.c (Fforward_word): Argument changed to optional.
+       Set default value to 1.
+ 
+ 2003-08-15  Kenichi Handa  <address@hidden>
+ 
+       * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
+       what autoscaled.
+       (best_matching_font): Once we find a better scalable font, set
+       non_scalable_has_exact_height_p to 1.
+       (try_font_list): Call try_alternative_families to try any family
+       with the given registry.
+ 
+ 2003-08-09  Andreas Schwab  <address@hidden>
+ 
+       * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
+ 
+       * print.c (print_string): Fix printing of multibyte string with
+       nontrivial printcharfun.
+ 
+ 2003-07-31  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
+ 
+       * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
+ 
+ 2003-07-31  Kenichi Handa  <address@hidden>
+ 
+       * process.c (read_process_output): Return the actually read bytes
+       instead of the result of decoding.
+ 
+ 2003-07-31  Kenichi Handa  <address@hidden>
+ 
+       * xterm.h (struct x_bitmap_record): New member have_mask.
+ 
+       * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
+       to 0.
+       (x_create_bitmap_from_file): Likewise.
+       (x_destroy_bitmap): Check have_mask member before freeing a mask.
+       (x_destroy_all_bitmaps): Likewise.
+       (x_create_bitmap_mask): Set have_mask member to 1.
+ 
+ 2003-07-30  Richard M. Stallman  <address@hidden>
+ 
+       * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
+ 
+ 2003-07-29  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_mark_data): Update calls to mark_object.
+ 
+ 2003-07-29  Richard M. Stallman  <address@hidden>
+ 
+       * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
+       Conditionalize XIM code on HAVE_XIM.
+ 
+       * fns.c (Fclear_string): New function.
+       (syms_of_fns): defsubr it.
+ 
+ 2003-07-28  KOBAYASHI Yasuhiro  <address@hidden> (tiny change)
+ 
+       * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
+ 
+ 2003-07-22  Stefan Monnier  <address@hidden>
+ 
+       * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
+ 
+       * buffer.c (delete_all_overlays): New function.
+       * buffer.h (delete_all_overlays): Declare.
+       * coding.c (run_pre_post_conversion_on_str):
+       * print.c (temp_output_buffer_setup):
+       * fileio.c (Finsert_file_contents):
+       * minibuf.c (get_minibuffer): Use it.
+ 
+ 2003-07-22  Andrew Choi  <address@hidden>
+ 
+       * unexmacosx.c (unexec_regions_sort_compare):
+       (unexec_regions_merge): New functions.  Sort and merge unexec
+       regions before dumping them.
+ 
+ 2003-07-22  Dave Love  <address@hidden>
+ 
+       * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
+ 
+ 2003-07-21  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
+       (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
+       MARKBIT as the gcmarkbit for strings.
+ 
+ 2003-07-21  Richard M. Stallman  <address@hidden>
+ 
+       * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
+ 
+       * fns.c (Flocale_info): Rename from Flanginfo.  Doc fixes.
+       (syms_of_fns): Corresponding change.
+ 
+       * alloc.c (syms_of_alloc): Doc fixes.
+ 
+ 2003-07-20  Han Boetes  <address@hidden>  (tiny change)
+ 
+       * s/netbsd.h: Use -Wl syntax.
+ 
+ 2003-07-17  Richard M. Stallman  <address@hidden>
+ 
+       * xterm.c (xim_initialize): Redo 6/24 change.
+ 
+ 2003-07-15  Stefan Monnier  <address@hidden>
+ 
+       * buffer.c (copy_overlays): Use EMACS_INT for positions.
+       (Fswitch_to_buffer): Don't signal an error when switching to the same
+       buffer in a dedicated window.
+ 
+       * alloc.c: Use bitmaps for cons, as was done for floats.
+       (init_float, init_cons): Let the normal code allocate the first block.
+       (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
+       (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
+       New macros.
+       (struct cons_block): Move conses to the beginning.  Add gcmarkbits.
+       (Fcons): Use lisp_align_malloc and CONS_UNMARK.
+       (live_cons_p): Check the pointer is not past the `conses' array.
+       (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
+       (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
+       (survives_gc_p): Use CONS_MARKED_P and simplify.
+       (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
+ 
+ 2003-07-13  Paul Eggert  <address@hidden>
+ 
+       GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
+       puts it into BSS instead, at least on Solaris 8 and 9.
+       This is a valid optimization, and it may occur on other platforms,
+       so Emacs should not assume that initializing a static variable to
+       zero puts it into data.
+       * alloc.c (pure, staticvec):
+       Initialize these arrays to nonzero, so that they're not
+       put into BSS by that optimization.
+ 
+ 2003-07-13  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING.  Update users.
+       (lisp_align_malloc): Use posix_memalign is available.
+       (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
+       (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
+       for consistency.  Update users.
+ 
+ 2003-07-13  Richard M. Stallman  <address@hidden>
+ 
+       * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
+ 
+ 2003-07-13  Terje Rosten  <address@hidden>
+ 
+       * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
+       and use the Gtk+ function gtk_window_icon_from_file if available.
+ 
+       * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
+       handle mask of bitmaps.
+       (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
+       mask property.
+       (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
+ 
+       * xterm.h (xg_set_icon): New function.
+ 
+ 2003-07-12  Paul Eggert  <address@hidden>
+ 
+       * unexelf.c (unexec): Consider a section to precede the .bss
+       section if its addresses overlap that of .bss.
+ 
+ 2003-07-12  Richard M. Stallman  <address@hidden>
+ 
+       * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
+ 
+       * config.in (HAVE_CRTIN): Add #undef.
+       (INLINE): Really inline only if OPTIMIZE is defined.
+ 
+       * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
+       END_FILES_1.
+       (START_FILES_1, END_FILES_1): New macros (conditional).
+       (LD_SWITCH_SYSTEM_TEMACS): Define.
+ 
+       * s/openbsd.h: Don't include bsd4-3.h.
+       (TERMINFO): Define.
+       (LIBS_TERMCAP): Define.
+       (LD_SWITCH_SYSTEM): Define (two definitions).
+ 
+       * xfns.c: Include libpng/png.h instead of png.h.
+ 
+ 2003-07-11  Andreas Schwab  <address@hidden>
+ 
+       * buffer.c (modify_overlay): Update prototype.
+       * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
+       Likewise.
+ 
+ 2003-07-09  Stefan Monnier  <address@hidden>
+ 
+       * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
+       (struct interval): Move to intervals.h.
+       (struct Lisp_Marker): Use EMACS_INT for position info.
+       (forward_point): Remove prototype of defunct function.
+       (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
+       (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
+       (syms_of_textprop, set_text_properties): Remove prototypes that are
+       already in intervals.h.
+ 
+       * intervals.h (struct interval): Move from lisp.h.
+       Use EMACS_INT for position and size info.
+ 
+       * coding.c: Include intervals.h for Fset_text_properties.
+ 
+       * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
+       position and length information.
+ 
+ 2003-07-09  Stefan Monnier  <address@hidden>
+ 
+       * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
+       position and length information.
+ 
+ 2003-07-09  Stefan Monnier  <address@hidden>
+ 
+       Change overlays_after and overlays_before so the overlays themselves
+       are linked into lists, rather than using cons cells.  After all each
+       Lisp_Misc already occupies 5 words, so we can add a `next' field to
+       Lisp_Overlay for free and save up one cons cell per overlay (not
+       to mention one indirection when traversing the list of overlay).
+ 
+       * lisp.h (struct Lisp_Overlay): New field `next'.
+ 
+       * buffer.h (struct buffer): Change overlays_before and overlays_after
+       from Lisp lists of overlays to pointers to overlays.
+ 
+       * buffer.c (overlay_strings, recenter_overlay_lists):
+       Fix typo in eassert in last commit.
+       (unchain_overlay): New function.
+       (add_overlay_mod_hooklist): Use AREF.
+       (copy_overlays, reset_buffer, overlays_at, overlays_in)
+       (overlay_touches_p, overlay_strings, recenter_overlay_lists)
+       (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
+       (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
+       (report_overlay_modification, evaporate_overlays, init_buffer_once):
+       Adjust to new type of overlays_(before|after).
+ 
+       * alloc.c (mark_object): Mark the new `next' field of overlays.
+       (mark_buffer): Manually mark the overlays_(after|before) fields.
+ 
+       * coding.c (run_pre_post_conversion_on_str):
+       * editfns.c (overlays_around):
+       * xdisp.c (load_overlay_strings):
+       * fileio.c (Finsert_file_contents):
+       * indent.c (current_column):
+       * insdel.c (signal_before_change, signal_after_change):
+       * intervals.c (set_point_both):
+       * print.c (temp_output_buffer_setup): Use new type for
+       overlays_(before|after).
+ 
+ 2003-07-08  Stefan Monnier  <address@hidden>
+ 
+       * buffer.c (report_overlay_modification): Don't run hooks while
+       traversing the list of overlays.
+ 
+       * buffer.h (struct buffer): Use an int for overlay_center.
+       (overlays_at, evaporate_overlays, recenter_overlay_lists)
+       (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+ 
+       * buffer.c (reset_buffer, recenter_overlay_lists)
+       (adjust_overlays_for_insert, adjust_overlays_for_delete)
+       (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
+       (evaporate_overlays, init_buffer_once): Update use of overlay_center.
+       (overlays_at, evaporate_overlays, recenter_overlay_lists)
+       (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+ 
+       * xdisp.c (fast_find_position): Remove unused var.
+ 
+       * cmds.c (Qexpand_abbrev): New sym.
+       (syms_of_cmds): Initialize it.
+       (internal_self_insert): Use it to call expand-abbrev.
+ 
+ 2003-07-09  Kim F. Storm  <address@hidden>
+ 
+       * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
+       was configured with --without-xim.
+       (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
+ 
+ 2003-07-07  Richard M. Stallman  <address@hidden>
+ 
+       * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
+ 
+       * alloc.c (Fgarbage_collect): Doc fix.
+ 
+ 2003-07-07  Nozomu Ando  <address@hidden>  (tiny change)
+ 
+       * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
+ 
+ 2003-07-06  Stefan Monnier  <address@hidden>
+ 
+       * minibuf.c (read_minibuf): UNGCPRO before returning.
+       (Ftry_completion, Fall_completions): Doc fix.
+ 
+       * alloc.c (live_float_p): Check that p is not past the `floats' array,
+       now that `floats' is not the last element of the struct any more.
+ 
+ 2003-07-06  Jason Rumney  <address@hidden>
+ 
+       * w32term.h (ClipboardSequence_Proc): New type.
+ 
+       * w32fns.c (clipboard_sequence_fn): New variable.
+       (globals_of_w32fns): Initialize it.
+ 
+       * w32select.c (last_clipboard_sequence_number): New variable.
+       (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
+       number if possible.
+ 
+ 2003-07-06  Stefan Monnier  <address@hidden>
+ 
+       * m/amdx86-64.h (MARKBIT):
+       * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
+       MARKBIT and ARRAY_MARK_FLAG any more.
+ 
+       * m/hp800.h (XSETMARKBIT):
+       * m/sr2k.h (XSETMARKBIT):
+       * lisp.h (XSETMARKBIT): Remove unused macro.
+ 
+       * lisp.h (mark_object): Change prototype.
+ 
+       * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
+       (last_marked): Change accordingly.
+       (mark_interval, mark_maybe_object, mark_maybe_pointer)
+       (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
+       (mark_buffer): Update calls to mark_object.
+ 
+       * bytecode.c (mark_byte_stack):
+       * fns.c (sweep_weak_table):
+       * keyboard.c (mark_kboards): Update calls to mark_object.
+ 
+ 2003-07-06  Jason Rumney  <address@hidden>
+ 
+       * alloc.c (struct ablock): Only include padding when there is some.
+ 
+ 2003-07-04  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (ALIGN): Add casts to simplify usage.
+       (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
+       (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
+       (struct ablock, struct ablocks): New types.
+       (free_ablock): New global var.
+       (lisp_align_malloc, lisp_align_free): New functions.
+       (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
+       (struct float_block): Reorder and add gcmarkbits.
+       (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
+       (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
+       (init_float, make_float): Use lisp_align_malloc.
+       (free_float, live_float_p): Don't use `type' any more.
+       (make_float): Use FLOAT_UNMARK to access to mark bit.
+       (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
+       Use FLOAT_MARKED_P to access the mark bit.
+       (pure_alloc): Simplify use of ALIGN.
+       (mark_object): Use FLOAT_MARK to access the mark bit.
+       (gc_sweep): Use new macros to access the float's mark bit.
+       (init_alloc_once): Init free_ablock.
+ 
+       * lisp.h (struct Lisp_Float): Remove unused field `type'.
+ 
+ 2003-06-27  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
+       (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
+       (allocate_buffer): Move.
+       (string_bytes): Don't mask markbit of `size_byte'.
+       (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+       (mark_object, mark_buffer, survives_gc_p, gc_sweep):
+       Use the `size' field of buffers (rather than the `name' field) for
+       the mark bit, as is done for all other vectorlike objects.
+       Use the new macros to access the mark bit of vectorlike objects.
+ 
+ 2003-06-26  Richard M. Stallman  <address@hidden>
+ 
+       * puresize.h (BASE_PURESIZE): Increment base size.
+ 
+       * xdisp.c (fast_find_position): Enable Gerd's new definition.
+ 
+       * xterm.c (xim_initialize): Undo previous change.
+ 
+ 2003-06-26  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (survives_gc_p): Simplify.
+ 
+       * buffer.c (set_buffer_internal_1): Test CONSP for lists.
+ 
+       * window.c (Fset_window_dedicated_p): Simplify.
+       (display_buffer_1): Don't raise the win from which minibuf was entered.
+       (temp_output_buffer_show): Don't assume BEG == 1.  Simplify.
+       (Fminibuffer_selected_window): Simplify.
+ 
+       * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
+ 
+       * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
+       (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
+ 
+       * insdel.c (check_markers, adjust_markers_for_delete)
+       (adjust_markers_for_insert, adjust_markers_for_replace)
+       (prepare_to_modify_buffer, RESTORE_VALUE):
+       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
+       (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
+       (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
+       * alloc.c (Fmake_marker, free_marker, gc_sweep):
+       * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
+       * editfns.c (save_excursion_restore, transpose_markers):
+       * window.c (delete_window):
+       * xdisp.c (message_dolog): Update for new types.
+ 
+ 2003-06-26  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
+       (realize_default_face): Use default_face_done_p for the force_p
+       argument to set_lface_from_font_name.  Set default_face_done_p to one.
+ 
+       * frame.c (make_frame): Initialize default_face_done_p.
+ 
+       * frame.h (struct frame): Add default_face_done_p.
+ 
+       * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
+       will be defined.
+ 
+ 2003-06-25  Stefan Monnier  <address@hidden>
+ 
+       * alloc.c (make_interval, Fmake_symbol, allocate_misc):
+       Initialize the new field `gcmarkbit'.
+       (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
+       (mark_interval_tree): Don't mark the tree separately from the nodes.
+       (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
+       (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+       (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
+ 
+       * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
+       (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
+       (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
+       (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
+       (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
+ 
+ 2003-06-24  Dave Love  <address@hidden>
+ 
+       * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
+ 
+       * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux.  Merge changes
+       from gnulib.
+ 
+ 2003-06-21  Richard M. Stallman  <address@hidden>
+ 
+       * fileio.c (Fwrite_region): Alternate messages
+       for append and partial write.
+ 
+       * keyboard.c (read_key_sequence): When converting upcase fn key to
+       downcase, update fkey and keytran so `backspace' gets translated.
+ 
+       * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
+ 
+       * process.c (wait_reading_process_input): Don't signal SIGIO
+       in batch mode.
+ 
+ 2003-06-17  Kenichi Handa  <address@hidden>
+ 
+       * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
+       composite.h.
+ 
+       * xselect.c: Don't include charset.h, coding.h, composite.h.
+       (Qforeign_selection): New variable.
+       (syms_of_xselect): Intern and static it.
+       (selection_data_to_lisp_data): Return a unibyte string made from
+       data with `foreign-selection' text property.
+ 
+ 2003-06-15  Stefan Monnier  <address@hidden>
+ 
+       * termhooks.h (EVENT_INIT): New macro.
+ 
+       * keyboard.c (mark_kboards): Move from alloc.c.  Mark kbd_buffer.
+ 
+       * alloc.c (mark_kboards): Move to keyboard.c.
+ 
+       * keyboard.c (record_asynch_buffer_change, read_avail_input):
+       * xterm.c (x_dispatch_event):
+       * xmenu.c (find_and_call_menu_selection):
+       * xdisp.c (handle_tool_bar_click):
+       * w32menu.c (menubar_selection_callback):
+       * sysdep.c (kbd_input_ast, read_input_waiting):
+       * msdos.c (dos_rawgetc):
+       * macterm.c (mac_check_for_quit_char):
+       * macmenu.c (menubar_selection_callback):
+       * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
+       data to kbd_buffer_store_event.
+ 
+ 2003-06-15  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (x_fix_overlapping_area): Always use area relative X
+       to fix redisplay problem with tall characters (such as ,AC(B).
+ 
+ 2003-06-13  Kai Gro,A_(Bjohann  <address@hidden>
+ 
+       * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
+ 
+ 2003-06-12  Kenichi Handa  <address@hidden>
+ 
+       * fileio.c (Fwrite_region): Save and restore restriction.
+ 
+ 2003-06-12  Dave Love  <address@hidden>
+ 
+       * alloca.c (alloca): Declare arg as size_t.
+ 
+       * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
+       Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
+ 
+ 2003-06-11  Dave Love  <address@hidden>
+ 
+       * search.c (shrink_regexp_cache): Use xrealloc.
+       (syms_of_search): Use xmalloc.
+ 
+ 2003-06-10  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
+       Adjust phys_cursor.x to be relative to window box, rather than
+       text area before checking -- to ensure cursor is redrawn when
+       exposing window.
+       Note: This also fixes a similar (older) bug if display margins
+       are present.
+ 
+ 2003-06-06  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (encoding_buffer_size): If coding->type is
+       coding_type_ccl, double magnification on CRLF encoding.
+ 
+ 2003-06-06  Jason Rumney  <address@hidden>
+ 
+       * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
+       (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
+ 
+       * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
+       Mac too.
+ 
+ 2003-06-05  Dave Love  <address@hidden>
+ 
+       * strftime.c: Merge changes from gnulib.
+ 
+       * mktime.c (__mktime_internal): Merge changes from gnulib
+       involving year 69 and dst2.
+ 
+       Changes to merge with gnulib version and be consistent with the
+       autoconf test:
+ 
+       * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
+       Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
+       [HAVE_LOCALE_H]: Include locale.h.
+       (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
+ 
+ 2003-06-05  Kim F. Storm  <address@hidden>
+ 
+       * window.c (coordinates_in_window): Convert X and Y to window
+       relative coordinates inside mode-line and header-line parts.
+       Convert X and Y to margin area relative coordinates inside left
+       and right display margin parts.
+ 
+ 2003-06-05  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (add_system_logical_colors_to_map): New function.
+       (Fx_open_connection): Use it.
+ 
+ 2003-06-04  Stefan Monnier  <address@hidden>
+ 
+       * process.c (allocate_pty): Revert part of the previous patch.
+       (Faccept_process_output): Simplify.
+ 
+ 2003-06-04  Jason Rumney  <address@hidden>
+ 
+       * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
+ 
+       * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
+       (lispy_mouse_wheel_names): Remove.
+       (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
+       Always define drag_and_drop_syms.
+ 
+       * macterm.c (XTread_socket): Map mouse wheel events to Emacs
+       WHEEL_EVENT events.
+ 
+ 2003-06-03  Stefan Monnier  <address@hidden>
+ 
+       * xdisp.c (update_tool_bar): Add missing UNGCPRO.
+ 
+       * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
+ 
+ 2003-06-03  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
+       menu item label.
+ 
+ 2003-06-03  Richard M. Stallman  <address@hidden>
+ 
+       * window.c (Fwindow_edges): Doc fix.
+       (Fwindow_pixel_edges, Fwindow_inside_edges)
+       (Fwindow_inside_pixel_edges): New functions.
+       (syms_of_window): defsubr them.
+ 
+       * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
+       (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
+ 
+ 2003-06-02  Stefan Monnier  <address@hidden>
+ 
+       * dispnew.c (Fsit_for): Don't lie about the number of args.
+ 
+ 2003-06-02  Dave Love  <address@hidden>
+ 
+       * callproc.c: Use HAVE_FCNTL_H, not USG5.
+       (syms_of_callproc) <process-environment>: Doc fix.
+ 
+       * doc.c: Use HAVE_FCNTL_H, not USG5.
+ 
+       * xfaces.c (font_rescale_ratio): Fix for K&R.
+ 
+       * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
+ 
+       * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
+ 
+       * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
+ 
+       * gtkutil.c: Include keyboard.h, charset.h, coding.h.
+       (xg_create_frame_widgets): Use ENCODE_UTF_8.
+ 
+       * xterm.c (Qutf_8): Move to coding.c
+ 
+       * xmenu.c (ENCODE_MENU_STRING): New.
+       (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
+       Use it.
+ 
+       * coding.h (ENCODE_UTF_8): New.
+       (Qutf_8): Declare.
+ 
+       * coding.c (Qutf_8): New.
+       (syms_of_coding): Intern it.
+ 
+       * fns.c: Doc fixes.
+ 
+ 2003-06-02  Kenichi Handa  <address@hidden>
+ 
+       * buffer.c (Fset_buffer_multibyte): Fix previous change.
+ 
+ 2003-06-01  Stefan Monnier  <address@hidden>
+ 
+       * lread.c (openp): Make sure STR is a string.
+ 
+ 2003-06-01  David Ponce  <address@hidden>
+ 
+       * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
+       Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
+ 
+       * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
+       (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
+       (discard_mouse_events): Discard WHEEL_EVENT events too.
+       (lispy_wheel_names, wheel_syms): New.
+       (syms_of_keyboard): Init and staticpro `wheel_syms'.  Init and
+       staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
+       defined.
+       (make_lispy_event): Add WHEEL_EVENT handler.
+ 
+       * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
+       (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
+       WHEEL_EVENT events.
+ 
+ 2003-05-31  John Paul Wallington  <address@hidden>
+ 
+       * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
+       timer are in lisp/emacs-lisp.
+ 
+ 2003-05-31  Kenichi Handa  <address@hidden>
+ 
+       * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
+       region when a buffer is changed to unibyte.
+ 
+       * charset.h (VALID_LEADING_CODE_P): New macro.
+       (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
+ 
+       * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
+       is nonzero, accept multibyte form of eight-bit-control chars.
+       (decode_composition_emacs_mule): Likewise.
+       (decode_coding_emacs_mule): Likewise.
+       (encode_coding_emacs_mule): If coding->flags is nonzero, produce
+       multibyte form of eight-bit-control chars.
+ 
+       * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
+       (Finsert_file_contents): If coding-system-for-read is bound to
+       Qauto_save_coding, use the coding system emacs-mule with special
+       setting for recovering a file.
+       (choose_write_coding_system): On auto saving, use the coding
+       system emacs-mule with special setting for auto saving.
+       (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
+ 
+ 2003-05-30  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
+       properly before calling ccl_driver.
+ 
+       * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
+ 
+       * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
+       nonzero.
+       (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
+       (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
+ 
+ 2003-05-29  Glenn Morris  <address@hidden>
+ 
+       * xfaces.c (realize_default_face): Do not abort if lface is
+       non-existent - reverts change from 2003-05-19.
+ 
+ 2003-05-29  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (decode_coding_iso2022): Pay attention to the byte
+       sequence of CTEXT extended segment, and retain those bytes as is.
+ 
+ 2003-05-28  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
+       of CODING_REPLACEMENT_CHARACTER.
+       (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
+       CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
+       check this flag on encoding.
+       (encode_coding_sjis_big5): Check
+       CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
+       (Fset_terminal_coding_system_internal): Set
+       CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
+       instead of setting CODING_FLAG_ISO_SAFE flag in
+       terminal_coding.flags.
+ 
+       * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
+       CODING_INHIBIT_CHARACTER_SUBSTITUTION.
+       (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
+ 
+ 2003-05-28  Richard M. Stallman  <address@hidden>
+ 
+       * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
+ 
+       * eval.c (unbind_to): Move init of this_binding to separate statement.
+ 
+ 2003-05-28  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (expose_window): Fix error in calculation of
+       window relative coordinates of area to redisplay.
+ 
+ 2003-05-27  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
+ 
+ 2003-05-27  David Ponce  <address@hidden>
+ 
+       Handle W32 mouse wheel events as mouse click events, like in X.
+ 
+       * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
+       MOUSE_WHEEL_EVENT anymore.
+ 
+       * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
+       Scrolling down/up the mouse wheel is respectively mapped to mouse
+       button 4 and 5.
+       (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
+       MOUSE_CLICK_EVENT events.  Forward w32 MSH_MOUSEWHEEL events as
+       WM_MOUSEWHEEL events.
+ 
+ 2003-05-27  Andreas Schwab  <address@hidden>
+ 
+       * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
+ 
+       * xdisp.c (try_window_id): Avoid aborting if PT is inside a
+       partially visible line.
+ 
+       * alloc.c (Fgarbage_collect): Fix last change.
+ 
+ 2003-05-26  John Paul Wallington  <address@hidden>
+ 
+       * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
+ 
+ 2003-05-25  Stefan Monnier  <address@hidden>
+ 
+       * window.c (Fset_window_buffer): Add type of `keep_margins'.
+       (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
+ 
+       * window.h (window_box_text_cols): Declare.
+ 
+       * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
+       (x_draw_vertical_border): Remove unused var `f'.
+ 
+       * xfaces.c (build_scalable_font_name): Remove `unused var
+       pixel_size' warning.
+ 
+       * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
+ 
+       * unexelf.c (unexec): Remove `unused var n' warning.
+ 
+       * strftime.c (my_strftime_localtime_r): Remove `defined but
+       unused' warning.
+ 
+       * process.c (allocate_pty): Remove `unused var stb' and
+       `cp might be used uninitialized' warnings.
+ 
+       * dispnew.c (mode_line_string): Remove unused var `f'.
+ 
+       * coding.c (find_safe_codings): Remove unused var `i'.
+ 
+       * bytecode.c (Fbyte_code): Remove `unused val' warning.
+ 
+       * buffer.c (Fkill_buffer): Remove unused var `list'.
+ 
+       * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
+ 
+ 2003-05-25  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * frame.c (make_frame): Condition want_fullscreen with
+       HAVE_WINDOW_SYSTEM.
+ 
+ 2003-05-25  Juanma Barranquero  <address@hidden>
+ 
+       * window.c (Fset_window_scroll_bars): Fix typo in argument name.
+       (Fwindow_scroll_bars): Fix typo in docstring.
+ 
+ 2003-05-24  Kim F. Storm  <address@hidden>
+ 
+       The following changes serve several purposes:
+ 
+       1) Swap the position of fringes and display margins in windows, i.e.
+       the fringes are now displayed between the margins and the text area
+       (by default).
+ 
+       2) Allow fringe and scroll bar parameters to be set per-buffer and
+       per-window (like display margins).  Such settings are now stored
+       in window configurations, preserved when frames are resized, and
+       copied when windows are split vertically or horizontally.
+       Several bugs related to display margins have been fixed.
+ 
+       3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
+ 
+       4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
+       rather than FRAME_WIDTH (FRAME_FONT (f)).
+ 
+       5) Introduce a consistent naming of variables, members and macros
+       depending on whether their value is measured in pixels or in
+       canonical columns/lines.  Pixel dimensions are named *_width and
+       *_height, while canonical columns/lines are named *_cols and
+       *_lines.  Pixel positions are named *_x and *_y, while column/line
+       positions are named *_col and *_line.
+ 
+       6) Consolidate more of the X, W32, and MAC gui code by moving
+       common data into struct frame, and generalize it for the non-gui
+       case by using suitable defaults.
+ 
+       7) Cleanup and consolidate the macros controlling frame and window
+       layout into frame.h and window.h, and generalize the use of the
+       various window_box_* functions (enhanced to handle the new fringe
+       position and the per-window fringe and scroll bar settings).
+ 
+       * frame.h (struct frame): Rename members height to text_lines,
+       width to text_cols, window_height to total_lines, window_width to
+       total_cols, new_height to new_text_lines, new_width to
+       new_text_cols.  All uses changed.
+       (struct frame): New members which consolidate common members of
+       x_output, w32_output, and mac_output structures: left_pos,
+       top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
+       win_gravity, size_hint_flags, border_width, internal_border_width,
+       line_height, fringe_cols, left_fringe_width, right_fringe_width,
+       want_fullscreen.  All uses changed.
+       (struct frame): New member column_width contaning the canonical
+       column width, analogue to line_height.  All uses changed.
+       (struct frame): Rename members scroll_bar_pixel_width to
+       config_scroll_bar_width, and scroll_bar_cols to
+       config_scroll_bar_cols.  All uses changed.
+       (struct frame): New member scroll_bar_actual_width which
+       consolidates and renames the vertical_scroll_bar_extra member of
+       x_output, w32_output, and mac_output structures.  All uses changed.
+       (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
+       from x/w32/macterm.h files.  All uses changed.  Also change code
+       which referred to f->output_data...->pixel_height.
+       (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
+       from x/w32/macterm.h files.  All uses changed.  Also change code
+       which referred to f->output_data...->pixel_width.
+       (FRAME_LINES): Renamed from FRAME_HEIGHT.  All uses changed.
+       Also change code which referred to f->height.
+       (FRAME_COLS): Renamed from FRAME_WIDTH.  All uses changed.
+       Also change code which referred to f->width.
+       (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
+       to update new_text_lines and new_text_cols members directly.
+       (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
+       FRAME_SCROLL_BAR_PIXEL_WIDTH.  All uses changed.
+       (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
+       FRAME_SCROLL_BAR_COLS.  All uses changed.
+       (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
+       Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
+       FRAME_RIGHT_SCROLL_BAR_WIDTH, resp.  All uses changed.
+       (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
+       (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
+       (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
+       (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
+       (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
+       (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
+       (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
+       (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT.  Unconditionally
+       return line_height member (it now has proper value also for
+       non-window frames).
+       (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT.  Unconditionally
+       return new column_width member (rather than the default font width).
+       (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
+       (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
+       from x/w32/macterm.h files.  Unconditionally return corresponding
+       member of frame structure (they now have proper values also for
+       non-window frames).
+       (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
+       Calculate return value from left and right widths.
+       (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
+       internal_border_width member (has proper value for non-window frame).
+       (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
+       (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
+       (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
+       (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
+       (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
+       consolidated from xterm.h, macterm.h, and w32term.h.
+       (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
+       consolidated from xterm.h, macterm.h, and w32term.h.
+       (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
+       CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
+       (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
+       CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
+       (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
+       consolidated from x/mac/w32term.h.
+       (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
+       consolidated from x/mac/w32term.h.
+       (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
+       PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
+       (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
+       PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
+ 
+       * window.h (struct window): Rename members left to left_col,
+       top to top_line, height to total_lines, width to total_cols,
+       left_margin_width to left_margin_cols, right_margin_width to
+       right_margin_cols, orig_height to orig_total_lines, orig_top to
+       orig_top_line.  All uses changed.
+       (struct window): New members left_fringe_width, right_fringe_width,
+       fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
+       (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
+       New macros primarily used to simplify other macros.
+       (WINDOW_TOTAL_COLS): New macro.  Change relevant code that
+       referred to XINT (w->width).
+       (WINDOW_TOTAL_LINES): New macro.  Change relevant code that
+       referred to XINT (w->height).
+       (WINDOW_TOTAL_WIDTH): New macro.  Change relevant code that
+       referred to XINT (w->width) * canon_x_unit.
+       (WINDOW_TOTAL_HEIGHT): New macro.  Change relevant code that
+       referred to XINT (w->height) * canon_y_unit.
+       (WINDOW_LEFT_EDGE_COL): New macro.  Change relevant code that
+       referred to XINT (w->left).
+       (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE.  Change
+       all uses and code that referred to XINT (w->left) + XINT (w->width).
+       (WINDOW_TOP_EDGE_LINE): New macro.  Change relevant code that
+       referred to XINT (w->top).
+       (WINDOW_BOTTOM_EDGE_LINE): New macro.  Change relevant code that
+       referred to XINT (w->top) + XINT (w->height).
+       (WINDOW_LEFT_EDGE_X): New macro.  Change relevant code that
+       referred to XINT (w->left) * canon_x_unit.
+       (WINDOW_RIGHT_EDGE_X): New macro.  Change relevant code that
+       referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
+       (WINDOW_TOP_EDGE_Y): New macro.  Change relevant code that
+       referred to XINT (w->top) * canon_y_unit.
+       (WINDOW_BOTTOM_EDGE_Y): New macro.  Change relevant code that
+       referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
+       (WINDOW_LEFTMOST_P): New macro.
+       (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
+       All uses changed.
+       (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
+       All uses changed.
+       (WINDOW_BOX_LEFT_EDGE_X): Renamed from
+       WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
+       Do not exclude left fringe width.
+       (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
+       WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
+       Do not exclude fringe widths.
+       (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
+       (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
+       Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
+       FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
+       FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
+       (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
+       (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
+       (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
+       (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
+       (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
+       New macros.  Change code which referenced corresponding
+       FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
+       FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
+       FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
+       FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
+       allow per-window scroll-bar settings.
+       (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
+       (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro.  Change code that
+       referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
+       (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro.  Change code
+       that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
+       FRAME_SCROLL_BAR_WIDTH.
+       (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
+       (WINDOW_SCROLL_BAR_AREA_X): New macros.
+       (WINDOW_HEADER_LINE_HEIGHT): Renamed from
+       WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
+       (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
+       WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
+       (WINDOW_BOX_TEXT_HEIGHT): Renamed from
+       WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
+       (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
+       (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
+       (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
+       (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
+       WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
+       (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
+       WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
+       (window_from_coordinates): Update prototype.
+       (Fset_window_buffer): Update EXFUN.
+       (set_window_buffer): Update prototype.
+ 
+       * dispextern.h (struct glyph_matrix): Rename members window_left_x
+       to window_left_col, window_top_y to window_top_line.  All uses
+       changed.
+       (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
+       use FRAME_INTERNAL_BORDER_WIDTH macro instead as
+       internal_border_width is now set to 0 for non-window frames.
+       (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
+       (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
+       (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
+       (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
+       (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
+       (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
+       (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
+       (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
+       (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
+       Move to window.h and renamed [see window.h changes].
+       (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
+       (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
+       (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
+       Use WINDOW_TOTAL_LINES.
+       (frame_update_line_height): Remove prototype.
+ 
+       * buffer.h (struct buffer): Rename members measured in columns:
+       left_margin_width to left_margin_cols, right_margin_width to
+       right_margin_cols.  All uses changed.
+       New members left_fringe_width, right_fringe_width,
+       fringes_outside_margins for per-buffer fringe settings.
+       New members scroll_bar_width and vertical_scroll_bar_type for
+       per-buffer scroll bar settings.
+ 
+       * buffer.c (init_buffer_once): Set buffer_defaults and
+       buffer_local_flags for new buffer-local variables
+       left_fringe_width, right_fringe_width, fringes_outside_margins,
+       scroll_bar_width, and vertical_scroll_bar_type.
+       (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
+       default-* variables for them.
+ 
+       * dispnew.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (mode_line_string): No need to adjust width for mode lines, as it
+       is already adjusted by the caller.
+       (marginal_area_string): Handle fringes inside/outside margins.
+ 
+       * frame.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (make_frame): Initialize left_fringe_width, right_fringe_width,
+       fringe_cols, scroll_bar_actual_width, border_width,
+       internal_border_width, column_width, line_height, x_pixels_diff,
+       y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
+       members with values suitable for a non-window frames.
+ 
+       * gtkutil.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * indent.c: Make (few) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * keyboard.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (make_lispy_event): Use window positions returned from
+       window_from_coordinates when constructing the lisp event for
+       MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
+       (incorrect) values locally.
+       (make_lispy_movement): Use window positions returned from
+       window_from_coordinates when constructing the lisp event, rather
+       than calculating (incorrect) values locally.
+ 
+       * scroll.c: Make (some) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
+       scroll-bars.
+ 
+       * sysdep.c: Make (few) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * term.c: Make (some) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * widget.c: Make (few) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * window.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (make_window): Initialize new members
+       left_margin_cols, right_margin_cols, left_fringe_width,
+       right_fringe_width, fringes_outside_margins, scroll_bar_width,
+       and vertical_scroll_bar_type.
+       (coordinates_in_window): Adapted to new fringe/margin positions
+       and per-window fringes and scroll-bars.
+       Fix bug related to incorrectly adjusting coordinates by
+       frame's internal_border_width (the effect normally negible since
+       the internal_border_width is typically 0 or 1 pixel, but very
+       noticeable for an internal_border_width of e.g. 25 pixels).
+       Upon successful return (other than ON_NOTHING), the coordinates
+       are now always properly converted to window relative for the
+       given display element.
+       (window_from_coordinates): Add new parameters wx and wy to
+       return the window relative x and y position in the returned
+       window and part.  A null arg means, don't return the position.
+       All callers changed.
+       (adjust_window_margins): New function which may reduce the width
+       of the display margins if a window's text area is too small after
+       resizing or splitting windows.
+       (size_window): Fix bug that did not account for display margin
+       widths when checking the minimum width of a window; use
+       adjust_window_margins.
+       (set_window_buffer): Call Fset_window_fringes and
+       Fset_window_scroll_bars to setup per-window elements.
+       Add new arg KEEP_MARGINS_P.  Non-nil means to keep window's
+       existing display margin, fringe widths, and scroll bar settings
+       (e.g. after splitting a window or resizing the frame).
+       All callers changed.
+       (Fset_window_buffer): New arg KEEP_MARGINS.  All callers changed.
+       (Fsplit_window): Duplicate original window's display margin,
+       fringe, and scroll-bar settings; then call Fset_window_buffer with
+       KEEP_MARGINS non-nil.  This fixes a bug which caused a split
+       window to only preserve the display margins in one of the windows.
+       When splitting horizontally, call adjust_window_margins on both
+       windows to ensure that the text area of the new windows is non too
+       narrow.  This fixes a bug which could cause Emacs to trap if the
+       width of the split window was less than the width of the display
+       margins.
+       (window_box_text_cols): Renamed from window_internal_width.
+       All uses changed.  Adapt to per-window fringes and scroll bars.
+       Fix bug that caused vertical separator to be subtracted also on
+       window frames.  Fix another bug that did not reduce the returned
+       value by the columns used for display margins.
+       (window_scroll_line_based): Fix bug related to scrolling too much
+       when display margins are present (implicitly fixed by the fix to
+       window_box_text_cols).
+       (scroll_left, scroll_right): Fix bug related to scrolling too far
+       by default when display margins are present (implicitly fixed by
+       the fix to window_box_text_cols).
+       (struct saved_window): Rename members left to left_col, top to
+       top_line, width to total_cols, height to total_lines, orig_top to
+       orig_top_line, orig_height to orig_total_lines.  All uses changed.
+       New members left_margin_cols, right_margin_cols,
+       left_fringe_width, right_fringe_width, fringes_outside_margins,
+       scroll_bar_width, and vertical_scroll_bar_type for saving
+       per-window display elements.
+       (Fset_window_configuration): Restore display margins, fringes,
+       and scroll bar settings.  This fixes a bug which caused display
+       margins to be discarded when saving and restoring a window
+       configuration.
+       (save_window_save): Save display margins, fringes, and scroll bar
+       settings.  This fixes a bug which caused display margins to be
+       discarded when saving and restoring a window configuration.
+       (Fset_window_margins): Do nothing if display margins are not
+       really changed.  Otherwise, call adjust_window_margins to ensure
+       the text area doesn't get too narrow.  This fixes a bug which
+       could cause Emacs to trap if setting display margins wider than
+       the width of the window.
+       (Fset_window_fringes): New defun to allow user to specifically set
+       this window's fringe widths and position vs. display margins.
+       (Fwindow_fringes): New defun to return window's actual fringe
+       settings.
+       (Fset_window_scroll_bars): New defun to allow user to specifically
+       set this window's scroll bar width and position.
+       (Fwindow_scroll_bars): New defun to return window's actual scroll
+       bar settings.
+       (compare_window_configurations): Also compare display margins,
+       fringes, and scroll bar settings.
+       (syms_of_window): Defsubr new defuns for fringe and scroll bars.
+ 
+       * xdisp.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (window_box_width): Adapt to per-window fringes and scroll bars,
+       and new fringe vs. display margin position.  Note that returned
+       value is no longer guaranteed to be a whole multiple of the frame
+       column width, since per-window fringes may now be any width.
+       (window_box_left_offset): New function like window_box_left, but
+       value is relative to left border of window (rather than frame).
+       (window_box_right_offset): New function like window_box_right,
+       but value is relative to left border of window.
+       (window_box_left): Adapt to per-window fringes and scroll bars,
+       and new fringe vs. display margin position.  Simplify by using
+       WINDOW_LEFT_EDGE_X and window_box_left_offset.
+       (window_box): Allow null args for unnecessary return values;
+       change/simplify relevant callers.
+       (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
+       and new fringe vs. display margin position.
+       Use window_box_left_offset and window_box_right_offset
+       (get_glyph_string_clip_rect): Adapt to per-window fringes and
+       scroll bars, and new fringe vs. display margin position.
+       Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
+       (draw_fringe_bitmap): Rework to handle per-window fringes and new
+       fringe vs. display margin position.
+       (hscroll_window_tree): Use window_box_width instead of window_box.
+       (redisplay_window): Adapt to per-window scroll bars.
+       (draw_glyphs): Rework to handle per-window fringes and scroll
+       bars, and new fringe vs. display margin position.
+       Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
+       (x_clear_end_of_line): Adapt to per-window fringes and scroll
+       bars, and new fringe vs. display margin position.  Fix bug which
+       increased total width of full_width rows by width of scroll bars
+       although window's total width already includes that.
+       (x_fix_overlapping_area): Simplify using window_box_left_offset.
+       (expose_area): Simplify using window_box_left_offset.
+       (x_draw_vertical_border): Handle per-window scroll bar settings,
+       mixing windows with left, right and no scroll bars.
+ 
+       * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
+       where it's used in x_list_fonts (for clarity).
+       (frame_update_line_height): Remove unused function; functionality
+       is now done directly when setting the default font in x_set_font.
+ 
+       * xfns.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * xmenu.c: Make (some) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * xterm.h (struct x_output): Move members left_pos, top_pos,
+       border_width, pixel_height, pixel_width, line_height,
+       internal_border_width, vertical_scroll_bar_extra,
+       left_fringe_width, right_fringe_width, fringe_cols,
+       fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
+       x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
+       (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
+       (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
+       (PIXEL_WIDTH, PIXEL_HEIGHT)
+       (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
+       (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
+       frame.h and renamed [see frame.h changes].
+       (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
+       (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
+       (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
+       and renamed [see frame.h changes].
+ 
+       * xterm.c: Make (several) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (x_draw_glyph_string_box): Adapt to per-window fringes and
+       scroll-bars.
+       (scroll_run): Adapt to new fringe position.
+       (glyph_rect): Use window coordinates returned from
+       window_from_coordinates rather than frame_to_window_pixel_xy.
+       (XTset_vertical_scroll_bar): Adapt to per-window fringes and
+       scroll-bars.
+       (handle_one_xevent): Simplify a USE_GTK conditional.
+       (x_clip_to_row): Remove superfluous whole_line_p arg and code
+       (fringes are now inside margins, i.e. always in the clipping area).
+       All callers changed.
+       (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
+       directly, then call compute_fringe_widths.  Don't call
+       frame_update_line_height.
+ 
+       * w32term.h (struct w32_output): Move members left_pos, top_pos,
+       border_width, pixel_height, pixel_width, line_height,
+       internal_border_width, vertical_scroll_bar_extra,
+       left_fringe_width, right_fringe_width, fringe_cols,
+       fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
+       x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
+       (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
+       (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
+       (PIXEL_WIDTH, PIXEL_HEIGHT)
+       (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
+       (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
+       frame.h and renamed [see frame.h changes].
+       (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
+       (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
+       (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
+       and renamed [see frame.h changes].
+ 
+       * w32term.c: Make (several) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (x_draw_glyph_string_box): Adapt to per-window fringes and
+       scroll-bars.
+       (glyph_rect): Use window coordinates returned from
+       window_from_coordinates rather than frame_to_window_pixel_xy.
+       (XTset_vertical_scroll_bar): Adapt to per-window fringes and
+       scroll-bars.
+       (w32_clip_to_row): Remove superfluous whole_line_p arg and code
+       (fringes are now inside margins, i.e. always in the clipping area).
+       All callers changed.
+       (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
+       directly, then call compute_fringe_widths.  Don't call
+       frame_update_line_height.
+ 
+       * w32console.c: Make (few) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * w32fns.c: Make (many) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * w32menu.c: Make (few) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * macterm.h (struct mac_output): Move members left_pos, top_pos,
+       border_width, pixel_height, pixel_width, line_height,
+       internal_border_width, vertical_scroll_bar_extra,
+       left_fringe_width, right_fringe_width, fringe_cols,
+       fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
+       x_pixels_diff, y_pixels_diff to struct frame (frame.h).
+       (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
+       (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
+       (PIXEL_WIDTH, PIXEL_HEIGHT)
+       (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
+       (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
+       frame.h and renamed [see frame.h changes].
+       (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
+       (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
+       (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
+       and renamed [see frame.h changes].
+ 
+       * macterm.c: Make (several) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (x_draw_glyph_string_box): Adapt to per-window fringes and
+       scroll-bars.
+       (glyph_rect): Use window coordinates returned from
+       window_from_coordinates rather than frame_to_window_pixel_xy.
+       (XTset_vertical_scroll_bar): Adapt to per-window fringes and
+       scroll-bars.
+       (x_clip_to_row): Remove superfluous whole_line_p arg and code
+       (fringes are now inside margins, i.e. always in the clipping area).
+       All callers changed.
+       (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
+       directly, then call compute_fringe_widths.  Don't call
+       frame_update_line_height.
+ 
+       * macfns.c: Make (several) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
+ 
+       * macmenu.c: Make (few) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+ 
+       * msdos.h (struct x_output): Remove members left_pos, top_pos,
+       and line_height, and use corresponding new members in struct
+       frame.  All uses changed.
+       (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
+       superseeded by corresponding macros in frame.h.
+ 
+       * msdos.c: Make (several) trivial substitutions for renamed and
+       new macros in dispextern.h, frame.h and window.h.
+       (IT_note_mouse_highlight): Use updated window coordinates returned
+       by window_from_coordinates, rather than adjusting them locally.
+       (internal_terminal_init): No need to initialize line_height here;
+       it now defaults to 1.
+ 
+ 2003-05-24  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (read_key_sequence): Adjust fkey and keytran when
+       dropping `down' events.
+ 
+ 2003-05-24  Andreas Schwab  <address@hidden>
+ 
+       * coding.c (find_safe_codings): Fix last change.
+ 
+ 2003-05-24  Istvan Marko  <address@hidden>  (tiny change)
+ 
+       * xfns.c (x_window): Fix typo from 2003-05-21 change.
+ 
+ 2003-05-23  Stefan Monnier  <address@hidden>
+ 
+       * xdisp.c (display_mode_element): Increase max depth.
+       Simplify the error handling code.  Use a different error string
+       for the case where we hit the depth limit.
+ 
+       * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
+ 
+       * buffer.c (reset_buffer_local_variables): Remove redundant setting.
+ 
+ 2003-05-21  Stefan Monnier  <address@hidden>
+ 
+       * intervals.c (get_local_map): Don't get char-property of previous
+       point any more: get_pos_property already does it and better.
+ 
+ 2003-05-21  Dave Love  <address@hidden>
+ 
+       [Merged from unicode branch.]
+ 
+       * xfns.c (x_window, x_window): Use use_xim.
+ 
+       * xterm.c (use_xim): Initialize.
+       (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
+       (x_term_init): Maybe set use_xim.
+ 
+       * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
+ 
+ 2003-05-21  Jason Rumney  <address@hidden>
+ 
+       * unexw32.c (_start): Remove _fmode initialization.
+ 
+       * emacs.c (main) [WINDOWSNT]: Move it here.
+ 
+ 2003-05-20  Dave Love  <address@hidden>
+ 
+       * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
+ 
+ 2003-05-19  Richard M. Stallman  <address@hidden>
+ 
+       * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
+       as value for QCfont attribute.
+       (realize_default_face): lface should already exist; crash if not.
+       Specify 0 for FORCE_P when calling set_lface_from_font_name.
+ 
+       * frame.c (Fignore_event): Doc fix.
+ 
+ 2003-05-19  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (decode_coding_string): Handle post-read-conversion
+       even if the coding doesn't require decoding.
+ 
+ 2003-05-18  Richard M. Stallman  <address@hidden>
+ 
+       * callproc.c (Fcall_process_region): Doc fix.
+ 
+ 2003-05-17  Stefan Monnier  <address@hidden>
+ 
+       * lread.c (Fload): Print a message if package is obsolete.
+ 
+       * window.c (Fselect_window): Add optional `norecord' arg.
+       (select_window_1): Fold into Fselect_window.
+       (select_window_norecord): New function.
+       (temp_output_buffer_show): Use it.  Preserve current buffer.
+ 
+       * window.h (Fselect_window): Update declaration.
+ 
+       * window.c (delete_window, Fother_window, Fset_window_configuration):
+       * minibuf.c (read_minibuf):
+       * macterm.c (x_new_focus_frame):
+       * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
+       * callint.c (Fcall_interactively):
+       * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
+ 
+       * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
+ 
+ 2003-05-17  David Kastrup  <address@hidden>
+ 
+       * process.c (read_process_output): Back out change from 2003-03-09.
+ 
+ 2003-05-17  Stefan Monnier  <address@hidden>
+ 
+       * editfns.c (get_pos_property): Don't assume that `object' = nil.
+ 
+       * textprop.c (text_property_stickiness): New arg `buffer'.
+ 
+       * intervals.h (text_property_stickiness): New arg `buffer'.
+       (get_pos_property): Declare.
+ 
+       * intervals.c (get_local_map): Use get_pos_property, to obey
+       stickiness and empty overlays.
+       (create_root_interval, graft_intervals_into_buffer): Use BEG.
+       (merge_properties, intervals_equal, merge_properties_sticky):
+       Use XCAR, XCDR.
+       (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
+ 
+ 2003-05-17  Richard M. Stallman  <address@hidden>
+ 
+       * minibuf.c (read_minibuf): If buffer is empty, record the default
+       in the history.
+       (Fminibuffer_complete_word): When deleting the overlap, take account
+       of its real position.
+ 
+       * fns.c (map_char_table): Fix previous change.
+ 
+       * syntax.c (find_defun_start):
+       When open_paren_in_column_0_is_defun_start,
+       return beginning of buffer.
+ 
+       * lisp.h (map_char_table): Declare added arg.
+ 
+       * fns.c (map_char_table): New arg TABLE gets the master table.
+       All calls changed.
+       Process default and inheritance, resorting to Faref if necessary.
+ 
+       * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
+       (Faccessible_keymaps): Pass new arg to map_char_table.
+ 
+       * fontset.c (Ffontset_info): Pass new arg to map_char_table.
+ 
+       * casetab.c (set_case_table): Pass new arg to map_char_table.
+ 
+       * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
+ 
+       * lisp.h (specbinding_func): New typedef.
+       (struct specbinding): Use specbinding_func, to put the `volatile'
+       in the right place.
+ 
+       * alloc.c (Fgarbage_collect): Cast pointers into specpdl
+       to avoid GCC warning.
+ 
+ 2003-05-16  Ralph Schleicher  <address@hidden>  (tiny change)
+ 
+       * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
+ 
+ 2003-05-15  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (apply_modifiers): Don't fill the other cache.
+ 
+ 2003-05-14  Stefan Monnier  <address@hidden>
+ 
+       * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
+ 
+       * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
+       (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
+       (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
+       (Fset_window_configuration, Fcurrent_window_configuration)
+       (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
+       (Fpos_visible_in_window_p, mark_window_cursors_off)
+       (window_internal_height, window_internal_width, Frecenter)
+       (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
+       (replace_buffer_in_all_windows, init_window_once, init_window)
+       (syms_of_window, keys_of_window): Move from lisp.h.
+       * lisp.h: Move window.c declarations to window.h.
+ 
+       * bytecode.c: Include window.h.
+       * emacs.c: Include window.h.
+ 
+       * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
+       (keyremap): Add `parent' field.
+       (keyremap_step): Use it.  Remove `parent' argument.
+       (read_key_sequence): Setup and use the new `parent' field.
+ 
+ 2003-05-11  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (adjust_point_for_property): Ensure termination.
+ 
+ 2003-05-10  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (follow_key): Remove dead variable `did_meta'.
+       (access_keymap_keyremap, keyremap_step): New funs, extracted from the
+       duplicated handling of function-key-map and key-translation-map
+       in read_key_sequence.
+       (read_key_sequence): Use them.
+ 
+       * keyboard.c (adjust_point_for_property): Try harder to move point
+       to the non-sticky end of an invisible property.
+ 
+       * xdisp.c (single_display_prop_intangible_p): Make `space' display
+       property intangible as well.
+ 
+ 2003-05-10  Andreas Schwab  <address@hidden>
+ 
+       * xmenu.c (single_menu_item): Change last parameter to void* to
+       avoid warning.
+ 
+ 2003-05-09  Richard M. Stallman  <address@hidden>
+ 
+       * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
+       Bind Qinhibit_modification_hooks to t so there will be no GC.
+       Rename local `tem' to `save_deactivate_mark'.
+ 
+       * eval.c (specpdl_ptr): Declare volatile.
+       (unbind_to): Copy the whole binding and decrement specpdl_ptr
+       before doing the work of unbinding it.
+ 
+       * lisp.h (struct specbinding): Declare elements volatile.
+       (specpdl_ptr): Declare volatile.
+ 
+       * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
+ 
+       * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
+       for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
+ 
+ 2003-05-08  Dave Love  <address@hidden>
+ 
+       * coding.c (Vlast_coding_system_used): Doc fix.
+ 
+ 2003-05-07  Jason Rumney  <address@hidden>
+ 
+       * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
+       when system does not support them.
+ 
+ 2003-05-05  Stefan Monnier  <address@hidden>
+ 
+       * fileio.c (Qwrite_region_annotate_functions): New var.
+       (build_annotations): Use it to process the global part of the hook.
+       (syms_of_fileio): Init and staticpro it.
+ 
+       * keyboard.c (safe_run_hooks_error): Display a message instead of
+       silently ignoring the error.
+ 
+ 2003-05-03  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (input_available_signal): Mark static.
+       (menu_bar_items): Use map_keymap.
+       (menu_bar_one_keymap): Remove.
+       (menu_bar_item): Adjust arglist (for use in map_keymap).
+       Properly hide a second binding when not both are keymaps.
+ 
+       * xmenu.c (struct skp): New struct, to pass args through map_keymap.
+       (single_keymap_panes): Use it and map_keymap.
+       (single_menu_item): Use skp as well.
+ 
+       * keymap.h (map_keymap_function_t): New type.
+       (map_keymap): Declare.
+ 
+       * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
+       (map_keymap_call, Fmap_keymap): New functions.
+       (syms_of_keymap): Defsubr map-keymap.
+ 
+ 2003-05-02  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (create_dialog, make_widget_for_menu_item)
+       (make_menu_item, create_menus, xg_update_menu_item): Don't call
+       ..._with_mnemonic functions for menu items.
+ 
+ 2003-05-01  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (coding_system_accept_latin_extra_p): Delete this
+       function.
+       (find_safe_codings): Pay attention to
+       the property tranlsation-table-for-encode of each codings.
+       (syms_of_coding): Give Qtranslation_table the extra slot number 2.
+ 
+ 2003-05-01  Stefan Monnier  <address@hidden>
+ 
+       * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
+ 
+ 2003-04-30  Stefan Monnier  <address@hidden>
+ 
+       * eval.c (unbind_to): Don't handle symbol = Qnil any more.
+ 
+       * lisp.h (CHECK): Wrap args in parenthesis.
+       (specbind): Fix doc: symbol = Qnil is not supported any more.
+ 
+       * bytecode.c (Fbyte_code) <unwind-protect>:
+       Use Fprogn rather than 0 and Qnil.
+ 
+       * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
+       `double', and `triple' modifiers as well.
+ 
+ 2003-04-30  Richard M. Stallman  <address@hidden>
+ 
+       * keyboard.c (echo_char): Don't clear out a dash that follows a space.
+ 
+       * alloc.c (abort_on_gc): New variable.
+       (Fgarbage_collect): Abort if abort_on_gc is set.
+ 
+       * lisp.h (abort_on_gc): Add decl.
+ 
+       * eval.c (Fsignal): Clear abort_on_gc.
+ 
+       * editfns.c (Fformat): Set abort_on_gc during first scan of format.
+       Reinit FORMAT_START and END before second scan.
+ 
+       * xdisp.c (move_it_vertically_backward): Do the final big else
+       even if nlines is 0.
+ 
+       * xdisp.c (redisplay_internal): Finish the per-frame loop
+       even if redisplay is suspended by input.
+ 
+ 2003-04-24  Andrew Choi  <address@hidden>
+ 
+       * macterm.c (x_list_fonts): Return all fonts that match if
+       maxnames = -1.
+ 
+ 2003-04-25  Kenichi Handa  <address@hidden>
+ 
+       * syntax.c (skip_chars): Fix previous change.
+ 
+ 2003-04-24  Kenichi Handa  <address@hidden>
+ 
+       * syntax.c (skip_chars): Make the code faster by using the common
+       technique of *p, *stop, and *endp.
+ 
+ 2003-04-23  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
+       tool_bar_items so GTK tool bar expose callback does not access items
+       being updated.
+ 
+ 2003-04-19  Stefan Monnier  <address@hidden>
+ 
+       * eval.c (Fapply): Undo last change and add a comment about why.
+ 
+ 2003-04-18  Miles Bader  <address@hidden>
+ 
+       * data.c (Faset): Calculate nbytes earlier, to satisfy the now
+       pickier PARSE_MULTIBYTE_SEQ.
+ 
+ 2003-04-17  Stefan Monnier  <address@hidden>
+ 
+       * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
+       Use XCDR, XCAR, CONSP.
+       (Fdefmacro): Fix docstring.  Use XCAR, XCDR.
+       (Fapply): Remove unnecessary GCPRO.
+ 
+       * doc.c (Fsubstitute_command_keys): Remove spurious casts.
+ 
+       * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
+ 
+       * buffer.h: Don't hardcode BEG==1.
+ 
+       * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
+ 
+ 2003-04-16  Richard M. Stallman  <address@hidden>
+ 
+       * xdisp.c (try_window, try_window_reusing_current_matrix):
+       When at end of window, set window_end_pos to Z-ZV.
+ 
+       * buffer.c (Foverlay_recenter): Doc fix.
+ 
+ 2003-04-14  Stefan Monnier  <address@hidden>
+ 
+       * dispnew.c (Fsit_For): Support XEmacs-style arg list.
+ 
+ 2003-04-14  Andrew Choi  <address@hidden>
+ 
+       * macterm.c (mac_check_for_quit_char): Don't check more often than
+       once a second.
+ 
+ 2003-04-11  Stefan Monnier  <address@hidden>
+ 
+       * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
+       specially, so that they can't hide an implicit switch-frame event.
+       (make_lispy_event): Handle SELECT_WINDOW_EVENT.
+       (head_table): Use switch-frame as event_kind for select-window.
+       (keys_of_keyboard): Don't bind [select-window] in special-event-map.
+ 
+       * editfns.c (Fformat): Lisp_Object/int mixup.
+       (format2): Remove unused var numargs.
+ 
+ 2003-04-11  Kenichi Handa  <address@hidden>
+ 
+       * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
+       (Qafter_insert_file_set_coding): New variable.
+       (syms_of_fileio): Initialize and staticpro it.  Delete declaration
+       for after-insert-file-adjust-coding-function.
+       (Finsert_file_contents): Call Qafter_insert_file_set_coding
+       instead of Vafter_insert_file_adjust_coding_function.
+ 
+ 2003-04-11  Kenichi Handa  <address@hidden>
+ 
+       * lisp.h (temp_echo_area_glyphs): Adjust prototype.
+ 
+       * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
+       string.  Callers changed.
+ 
+ 2003-04-10  Kenichi Handa  <address@hidden>
+ 
+       * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
+       (syms_of_fileio): Declare it as a lisp variable.
+       (Finsert_file_contents):
+       Call Vafter_insert_file_adjust_coding_function before calling
+       decode-format.
+ 
+ 2003-04-09  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
+       get GtkAdjustment as widget now is a GtkRange.
+ 
+       * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
+       GtkRange to avoid memory leak.
+ 
+ 2003-04-09  Kenichi Handa  <address@hidden>
+ 
+       * xfaces.c (Vface_font_rescale_alist): New variable.
+       (struct font_name): New member rescale_ratio.
+       (font_rescale_ratio): New function.
+       (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
+       (better_font_p): On comparing point sized, pay attention to
+       recale_ratio member of fonts.
+       (build_scalable_font_name): Reflect font->rescale_ratio in the
+       font name.
+       (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
+ 
+       * lread.c (read1): Before calling index, check if the 2nd
+       arguemnt is in ASCII range.
+ 
+ 2003-04-08  Richard M. Stallman  <address@hidden>
+ 
+       * fileio.c (Ffile_symlink_p): Doc fix.
+ 
+       * editfns.c (Fformat): Translate positions of text properties
+       in the format string to apply them to the result.
+ 
+       * fileio.c (Finsert_file_contents): Doc fix.
+       (syms_of_fileio) <after-insert-file-functions>: Doc fix.
+ 
+ 2003-04-08  Ivan Zakharyaschev  <address@hidden>  (tiny change)
+ 
+       * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
+ 
+ 2003-04-08  Steven Tamm  <address@hidden>
+ 
+       * mac.c (init_mac_osx_environment): Switch libexec and bin so
+       that self-contained application finds libexec files.
+ 
+ 2003-04-08  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (code_convert_region_unwind):
+       Set Vlast_coding_system_used to the argument.
+       (code_convert_region): If post-read-conversion function changed
+       the value of last-coding-sytem, keep the new value in
+       coding->symbol so that it won't be overridden.
+       (run_pre_post_conversion_on_str): Likewise.
+       (coding_system_accept_latin_extra_p): New function.
+       (find_safe_codings): Pay attention to characters registered in
+       latin-extra-code-table.
+ 
+ 2003-04-07  Thien-Thi Nguyen  <address@hidden>
+ 
+       * Makefile.in (md5.o): Add missing dependency info.
+ 
+ 2003-04-06  Richard M. Stallman  <address@hidden>
+ 
+       * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
+ 
+       * marker.c (verify_bytepos): New function.
+ 
+       * intervals.c (set_intervals_multibyte_1): When becoming
+       multibyte, adjust right and left child sizes to a whole set of
+       characters.  If an interval gets zero total-length, delete it.
+       If an interval consists of just its children, delete one of them.
+ 
+       * intervals.h (CHECK_TOTAL_LENGTH): New macro.
+       * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
+ 
+       * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
+       All calls deleted.
+       (lisp_malloc): Do the work here directly.
+ 
+ 2003-04-06  Gareth Jones  <address@hidden>  (tiny change)
+ 
+       * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
+       char tables.
+ 
+ 2003-04-04  Kenichi Handa  <address@hidden>
+ 
+       * editfns.c (Fformat): Use a copy of FORMAT string so that we can
+       destructively change "%S" to "%s".
+ 
+ 2003-04-03  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
+       always set.
+ 
+ 2003-04-01  Dave Love  <address@hidden>
+ 
+       * xfns.c (xpm_lookup_color): Grok "opaque".
+ 
+ 2003-03-31  Andrew Choi  <address@hidden>
+ 
+       * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
+       parent window ID.
+ 
+       * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
+ 
+       * macterm.h (struct mac_output): Define x_pixels_diff and
+       y_pixels_diff.
+ 
+ 2003-03-31  Juanma Barranquero  <address@hidden>
+ 
+       * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
+       blockinput.h and files included from it.
+ 
+ 2003-03-31  Kim F. Storm  <address@hidden>
+ 
+       The following changes consolidates the common code related to
+       frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
+       files into frame.c.
+ 
+       * frame.c: Include blockinput.h.
+       (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
+       (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
+       (Qauto_raise, Qauto_lower, ...): Define all frame parameter
+       related vars here.
+       (struct frame_parm_table, frame_parms): New table for describing
+       frame parameters and their associated Q-variable.
+       The order of the parameters corresponds to the sequence of the
+       frame_parm_handlers table in redisplay_interface.
+       (x_fullscreen_move, x_set_frame_parameters)
+       (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
+       (x_set_screen_gamma, x_set_font, x_set_fringe_width)
+       (x_set_border_width, x_set_internal_border_width, x_set_visibility)
+       (x_set_autoraise, x_set_autolower, x_set_unsplittable)
+       (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
+       Generic functions for processing of frame parameters.
+       (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
+       (display_x_get_resource, x_get_resource_string): Functions for
+       generic access to X resources.
+       (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
+       (x_default_parameter, Fx_parse_geometry): Functions for generic
+       access to frame parameters.
+       (x_figure_window_size): Generic calculation of frame size.
+       Fixed to add space needed for tool bar.  Also setup size_hint_flags.
+       (syms_of_frame): Intern and staticpro frame parameter variables.
+       Defvar_lisp Vx_resource_class and Vx_resource_name here.
+       Defsubr Sx_get_resource and Sx_parse_geometry.
+ 
+       * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
+       parameter related vars defined in frame.c.
+       (EMACS_CLASS): Define here.
+       (enum FULLSCREEN_*): Define here.
+       (x_set_scroll_bar_default_width, x_wm_set_icon_position)
+       (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
+       (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
+       (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
+       (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
+       (x_set_visibility, x_set_autoraise, x_set_autolower)
+       (x_set_unsplittable, x_set_vertical_scroll_bars)
+       (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
+       (x_figure_window_size): Add prototypes.
+ 
+       * dispextern.h (frame_parm_handler): New typedef.
+       (struct redisplay_interface): New member frame_parm_handlers.
+       (enum resource_types): Move declaration here.
+       (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
+       (x_default_parameter): Add prototypes.
+ 
+       * window.c: Remove extern decl for frame parameter vars.
+       (change_window_heights): New generic function;
+       replaces x_change_window_heights.  All users changed.
+ 
+       * window.h (change_window_heights): Add prototype.
+ 
+       * xfaces.c: Remove extern decl for frame parameter vars.
+ 
+       * xterm.h (EMACS_CLASS): Remove.  Use generic define.
+       (struct w32_display_info): Fix type of xrdb member.
+       (enum FULLSCREEN_*): Remove.
+       Remove prototypes for generic functions (in frame.h).
+ 
+       * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
+       parameters now defined in frame.h and frame.c.
+       (Vx_resource_name): Remove.  Use generic var.
+       (enum x_frame_parms): Remove (bogus, unused enum).
+       (check_x_display_info): Make non-static (for frame.c).
+       (struct x_frame_parm_table, x_frame_parms): Remove.
+       (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
+       (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
+       (x_set_border_width, x_set_internal_border_width, x_set_visibility)
+       (x_change_window_heights, x_set_autoraise, x_set_autolower)
+       (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
+       (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
+       (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
+       Remove.  Use generic functions instead.
+       (enum resource_types): Remove.
+       (x_set_scroll_bar_default_width): New global function (for frame.c).
+       (Fx_create_frame): Depend on x_figure_window_size to add space for
+       toolbar and setup size_hint_flags.
+       (x_frame_parm_handlers): New table for redisplay_interface.
+       (syms_of_xfns): Don't intern/staticpro removed vars.
+ 
+       * xterm.c: Remove unnecessary extern declarations.
+       (x_fullscreen_adjust): Remove.  Use generic instead.
+       (x_redisplay_interface): Add x_frame_parm_handlers member.
+ 
+       * w32gui.h (XrmDatabase): New (dummy) typedef.
+ 
+       * w32term.h (EMACS_CLASS): Remove.  Use generic define.
+       (struct w32_display_info): Fix type of xrdb member.
+       (enum FULLSCREEN_*): Remove.
+       (x_fullscreen_adjust): Remove prototype.
+ 
+       * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
+       parameters now defined in frame.h and frame.c.
+       (Vx_resource_name): Remove.  Use generic var.
+       (enum x_frame_parms): Remove (bogus, unused enum).
+       (check_x_display_info): Make non-static (for frame.c).
+       (struct x_frame_parm_table, x_frame_parms): Remove.
+       (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
+       (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
+       (x_set_border_width, x_set_internal_border_width, x_set_visibility)
+       (x_change_window_heights, x_set_autoraise, x_set_autolower)
+       (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
+       (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
+       (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
+       Remove.  Use generic functions instead.
+       (enum resource_types): Remove.
+       (x_set_scroll_bar_default_width): New global function (for frame.c).
+       (Fx_create_frame): Depend on x_figure_window_size to add space for
+       toolbar and setup size_hint_flags.
+       (w32_frame_parm_handlers): New table for redisplay_interface.
+       (syms_of_w32fns): Don't intern/staticpro removed vars.
+ 
+       * w32term.c: Remove unnecessary extern declarations.
+       (x_fullscreen_adjust): Remove. Use generic instead.
+       (x_redisplay_interface): Add w32_frame_parm_handlers member.
+ 
+       * w32reg.c (x_get_string_resource): Use XrmDatabase.
+ 
+       * macgui.h (XrmDatabase): New (dummy) typedef.
+ 
+       * macterm.h (EMACS_CLASS): Remove.
+       (struct mac_display_info): Add xrdb member.
+       (struct mac_output): Add want_fullscreen member.
+ 
+       * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
+       parameters now defined in frame.h and frame.c.
+       (Vx_resource_name): Remove.  Use generic var.
+       (check_x_display_info): Make non-static (for frame.c).
+       (struct x_frame_parm_table, x_frame_parms): Remove.
+       (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
+       (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
+       (x_set_border_width, x_set_internal_border_width, x_set_visibility)
+       (x_change_window_heights, x_set_autoraise, x_set_autolower)
+       (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
+       (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
+       (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
+       Remove.  Use generic functions instead.
+       (enum resource_types): Remove.
+       (x_set_scroll_bar_default_width): New global function (for frame.c).
+       (mac_frame_parm_handlers): New table for redisplay_interface.
+       (syms_of_macfns): Don't intern/staticpro removed vars.
+ 
+       * macterm.c: Remove unnecessary extern declarations.
+       (x_redisplay_interface): Add mac_frame_parm_handlers member.
+ 
+       * Makefile.in (frame.o): Add dependency on blockinput.h and files
+       included from it (atimer.h and systime.h).
+ 
+ 2003-03-30  Andreas Schwab  <address@hidden>
+ 
+       * xdisp.c (x_insert_glyphs): Fix swapped width and height
+       parameters for shift_glyphs_for_insert.
+ 
+       * macterm.c (x_redisplay_interface): Add missing entry for
+       draw_vertical_window_border.
+ 
+ 2003-03-29  Kai Gro,A_(Bjohann  <address@hidden>
+ 
+       * fileio.c (Fexpand_file_name): In the no-handler case, after
+       expanding, look again for a handler and invoke it.  This is needed
+       for filenames like "/foo/../address@hidden:/bar/../baz" -- the first
+       expansion produces "/address@hidden:/bar/../baz" which needs to be
+       expanded again for the finame result "/address@hidden:/baz".
+ 
+ 2003-03-28  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
+       of area to be redrawn for better performance.
+ 
+ 2003-03-28  Stefan Monnier  <address@hidden>
+ 
+       * xterm.c (take_vertical_position_into_account): Remove.
+       (xt_action_hook): Call set_vertical_scroll_bar if needed.
+       (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
+       (xm_scroll_callback, x_create_toolkit_scroll_bar)
+       (x_set_toolkit_scroll_bar_thumb): Simplify.
+       (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
+       (XTread_socket): Remove unused var.
+       (x_make_frame_invisible): Replace goto with else.
+ 
+       * xdisp.c (set_vertical_scroll_bar): New fun.
+       (redisplay_window): Use it.
+ 
+ 2003-03-26  Richard M. Stallman  <address@hidden>
+ 
+       * xdisp.c (update_tool_bar): Recompute tool bar if
+       update_mode_lines is set.  Set w->update_mode_line
+       only if the tool bar contents actually change.
+       (update_menu_bar): Undo previous change.
+ 
+ 2003-03-26  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
+       (xg_frame_set_char_size): Calculate scroll bar width before frame
+       width.  Call SET_FRAME_GARBAGED and cancel_mouse_face.
+       (xg_separator_p): Check for all documented separator types.
+       (xg_update_scrollbar_pos): Variable gheight not needed, use height.
+       (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
+ 
+       * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
+       so tool bar gets updated.
+ 
+ 2003-03-26  Stefan Monnier  <address@hidden>
+ 
+       * data.c (store_symval_forwarding): Re-instate part of the code
+       that was deleted with too much enthusiasm.
+ 
+ 2003-03-25  Stefan Monnier  <address@hidden>
+ 
+       * data.c (store_symval_forwarding): Delete special read-only
+       hack for type == -1, since we now use ->constant instead.
+       (Fkill_local_variable): Don't use XBUFFER if it can be nil.
+ 
+       * buffer.c (overlays_in): Declare static.
+       (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
+       `constant' field rather than the variable's `type' field.
+ 
+ 2003-03-24  Andrew Choi  <address@hidden>
+ 
+       * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
+ 
+       * dispextern.h [HAVE_CARBON]: Include Carbon.h.
+ 
+       * fns.c [MAC_OSX]: Do not redefine vector.
+ 
+       * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
+ 
+       * macgui.h: Remove definition of No_Cursor.
+ 
+       * macterm.h: Include Carbon.h.  Replace (struct Cursor *) by Cursor.
+ 
+       * xdisp.c: Define No_Cursor.
+       (x_write_glyphs, notice_overwritten_cursor)
+       (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
+       (note_mouse_highlight): Remove Mac-specific code.
+       (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
+ 
+ 2003-03-24  John Paul Wallington  <address@hidden>
+ 
+       * xdisp.c (redisplay_window): If mini window's buffer is not
+       empty, then redisplay it like other windows.
+ 
+ 2003-03-23  Kim F. Storm  <address@hidden>
+ 
+       * w32term.c (w32_draw_window_cursor): Fix last change.
+ 
+ 2003-03-23  Kenichi Handa  <address@hidden>
+ 
+       * alloc.c (make_string_from_bytes, make_specified_string):
+       Add `const' for the arg CONTENTS.
+ 
+       * lisp.h (make_string_from_bytes, make_specified_string):
+       Prototypes adjusted.
+ 
+ 2003-03-23  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
+ 
+       * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
+       (XG_SB_RANGE): New define.
+ 
+       * gtkutil.c (xg_fixed_handle_expose): New function.
+       (xg_create_frame_widgets): Call xg_fixed_handle_expose for
+       expose events.
+       (xg_update_scrollbar_pos): Take two more arguments, left and width
+       of scroll bar including borders.
+       Clear left and right part outside scroll bar separately as some
+       themes have bars that are not an even number of pixels.
+       Don't set reallocate_redraws, don't call
+       gdk_window_process_all_updates.
+       (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
+       so no need to change it.  Calculate size and value with XG_SB_RANGE.
+ 
+       * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
+       Pass left and width of scroll bar including borders to
+       xg_update_scrollbar_pos.
+ 
+ 2003-03-22  Thien-Thi Nguyen  <address@hidden>
+ 
+       * Makefile.in: Make sure space precedes end-of-line backslashes.
+ 
+ 2003-03-22  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
+       Add generic versions here.  Remove system specific versions
+       defined elsewhere.
+ 
+       * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
+       Add prototypes.
+ 
+       * xterm.h (STORE_NATIVE_RECT): New macro.
+ 
+ 2003-03-21  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (get_glyph_string_clip_rect):
+       Use FRAME_INTERNAL_BORDER_WIDTH.
+ 
+       * dispextern.h (struct redisplay_interface): Add active_p
+       argument to draw_window_cursor member.  All uses changed.
+ 
+ 2003-03-21  Kim F. Storm  <address@hidden>
+ 
+       The following changes consolidate code related to writing and
+       inserting glyphs, exposing frame, the tool bar, the mouse face,
+       the output cursor, and help echo from xterm.c, w32term.c and
+       macterm.c into xdisp.c.  It also generalizes the use of the
+       window_part enum instead of using numeric values throughout.
+ 
+       * xdisp.c: Consolidate gui-independent code here.
+       Include keymap.h.
+       (Qhelp_echo): Import.
+       (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
+       (help_echo_string, help_echo_window, help_echo_object)
+       (previous_help_echo_string, help_echo_pos): Declare here.
+       (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
+       (estimate_mode_line_height): Define here.  Handle windowing
+       systems directly (without using estimate_mode_line_height_hook).
+       (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
+       (update_window_cursor, update_cursor_in_window_tree)
+       (fast_find_position, fast_find_string_pos)
+       (note_mode_line_highlight, note_mode_line_or_margin_highlight)
+       (expose_area, expose_line, expose_overlaps, expose_window)
+       (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
+       declared static as they are only used locally in xdisp.c.
+       (draw_glyphs): Rename from x_draw_glyphs and make static.
+       (tool_bar_item_info, notice_overwritten_cursor): Make static.
+       (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
+       (set_output_cursor, x_cursor_to, handle_tool_bar_click)
+       (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
+       (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
+       (display_and_set_cursor, x_update_cursor, x_clear_cursor)
+       (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
+       (note_mouse_highlight, x_clear_window_mouse_face)
+       (cancel_mouse_face, x_draw_vertical_border, expose_frame)
+       (x_intersect_rectangles): New generic functions for use by xdisp.c
+       and GUI front-ends.
+       (syms_of_xdisp): Initialize and staticpro help_echo* variables.
+       Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
+ 
+       * dispextern.h (Display_Info): Generic typedef for *_display_info.
+       (NativeRectangle): Generic typedef for rectangle type.
+       (enum window_part): Move here from window.c.
+       (struct redisplay_interface): New members flush_display_optional,
+       define_frame_cursor, clear_frame_area, draw_window_cursor,
+       draw_vertical_window_border, shift_glyphs_for_insert.
+       Rename member clear_mouse_face to clear_window_mouse_face.
+       (estimate_mode_line_height_hook): Remove hook.
+       (auto_raise_tool_bar_buttons_p): Don't declare extern.
+       (tool_bar_item_info): Remove prototype.
+       (help_echo_string, help_echo_window, help_echo_object)
+       (previous_help_echo_string, help_echo_pos)
+       (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
+       (x_stretch_cursor_p, output_cursor): Declare extern.
+       (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
+       (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
+       (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
+       (display_and_set_cursor, set_output_cursor, x_cursor_to)
+       (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
+       (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
+       (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
+       (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
+       (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
+       Add prototypes.
+       (mode_line_string, marginal_area_string): Fix prototypes.
+ 
+       * window.c (enum window_part): Move to dispextern.h.
+       (coordinates_in_window): Use enum window_part member names
+       instead of numbers to describe return value.
+       (struct check_window_data): Change part member to window_part.
+       (check_window_containing): Return window_part unaltered.
+       (window_from_coordinates): Change part arg from int to enum
+       window_part.  Allow part arg to be null.  All users changed.
+ 
+       * window.h (window_from_coordinates): Fix prototype.
+ 
+       * term.c (estimate_mode_line_height): Move to xdisp.c.
+ 
+       * keyboard.c (make_lispy_event): Use enum window_part.
+ 
+       * dispnew.c (mode_line_string, marginal_area_string): Use enum
+       window_part instead of int in arg list.  Users changed.
+ 
+       * xterm.h (No_Cursor): Declare as None for X.
+       (struct mac_output): Replace member cross_cursor by hand_cursor.
+ 
+       * xterm.c: Remove consolidated defines and code.
+       (BETWEEN): Remove unused macro.
+       (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
+       (x_define_frame_cursor, x_clear_frame_area)
+       (x_draw_window_cursor): New X-specific functions for RIF.
+       (x_redisplay_interface): Add new members.
+ 
+       * xfns.c: Setup and use hand_cursor instead of cross_cursor.
+ 
+       * w32term.h (struct w32_output): Remove cross_cursor member.
+ 
+       * w32term.c: Remove consolidated defines and code.
+       (BETWEEN): Remove unused macro.
+       (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
+       (w32_define_frame_cursor, w32_clear_frame_area)
+       (w32_draw_window_cursor): New W32-specific functions for RIF.
+       (w32_redisplay_interface): Add new members.
+ 
+       * w32gui.h (No_Cursor): Define as 0 for W32.
+       (XRectangle): Add X compatible rectangle type.
+       (NativeRectangle): Declare as RECT for W32.
+       (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
+ 
+       * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
+ 
+       * w32console.c: Remove consolidated defines and code.
+ 
+       * msdos.h (Display_Info): Add generic typedef.
+ 
+       * msdos.c: Remove consolidated defines and code.
+       (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
+ 
+       * macterm.h (struct mac_output): Replace member cross_cursor by
+       hand_cursor.
+       (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
+ 
+       * macterm.c: Remove consolidated defines and code.
+       (BETWEEN): Remove unused macro.
+       (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
+       (mac_define_frame_cursor, mac_clear_frame_area)
+       (mac_draw_window_cursor): New Mac-specific functions for RIF.
+       (x_redisplay_interface): Add new members.
+ 
+       * macgui.h (No_Cursor): Define as 0 for Mac.
+       (XRectangle): Add X compatible rectangle type.
+       (NativeRectangle): Declare as Rect for Mac.
+       (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
+ 
+       * macfns.c (x_set_mouse_color): Setup hand_cursor.
+       (x_set_cursor_color): Use x_display_and_set_cursor.
+ 
+       * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
+       included from it.  Add dependency on keymap.h.
+ 
+       * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
+ 
+ 2003-03-21  Kenichi Handa  <address@hidden>
+ 
+       * fileio.c (Fexpand_file_name): Fix previous change.
+ 
+ 2003-03-19  Kenichi Handa  <address@hidden>
+ 
+       * fileio.c (Ffile_name_directory): Reconstruct file name by
+       make_specified_string.
+       (Ffile_name_nondirectory, Ffile_name_as_directory)
+       (Fdirectory_file_name, Fexpand_file_name)
+       (Fsubstitute_in_file_name): Likewise.
+       (Fread_file_name): Compare decoded homedir with DIR and
+       DEFAULT_FILENAME.
+ 
+       * alloc.c (make_specified_string): If NCHARS is negative, count
+       the number of characters.
+ 
+ 2003-03-18  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
+       all widgets.
+ 
+       * gtkutil.h: Removed xg_ignore_next_thumb.
+ 
+ 2003-03-18  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (Vchar_coding_system_table): Remove this variable.
+       (Vcoding_system_safe_chars): New variable.
+       (intersection): Remove this function.
+       (find_safe_codings): Don't use Vchar_coding_system_table, but try
+       all codings in SAFE_CODINGS.
+       (Ffind_coding_systems_region_internal): Adjust for the change of
+       find_safe_codings.  Get generic coding systems from
+       Vcoding_system_safe_chars.
+       (Fdefine_coding_system_internal): New function.
+       (syms_of_coding): Defsubr Sdefine_coding_system_internal.
+       Initialize and staticpro Vcoding_system_safe_chars.
+ 
+ 2003-03-18  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
+       equal old values before updating.
+ 
+       * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
+ 
+       * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
+ 
+ 2003-03-17  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
+       (xg_resize_widgets): Don't call foreach(handle_fixed_child).
+       (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
+       (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
+       (xg_create_scroll_bar): Pass bar to button event callback.
+       (xg_find_top_left_in_fixed): New function.
+       (xg_update_scrollbar_pos): Don't call gdk_window_clear on
+       whole scroll bar area.  Get old position with
+       xg_find_top_left_in_fixed, calculate and only clear needed areas.
+       (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
+       dragging is in progress.  Calculate whole as for Motif.
+       Remove code that saved last values.  Call gtk_range functions to
+       set scroll bar sizes.
+ 
+       * gtkutil.h: Removed xg_ignore_next_thumb.
+ 
+ 2003-03-17  Juanma Barranquero  <address@hidden>
+ 
+       * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
+       and files included from it.
+ 
+ 2003-03-18  Stefan Monnier  <address@hidden>
+ 
+       * keymap.c (accessible_keymaps_1): Break cycles but without preventing
+       multiple occurrences of the same keymap under different prefixes.
+       (Faccessible_keymaps): Remove code redundant since rev 1.82.
+ 
+ 2003-03-16  Jason Rumney  <address@hidden>
+ 
+       * w32gui.h: Use HDC for Display.
+ 
+       * w32term.c (w32_encode_char): Prevent double-byte chars from
+       crashing Emacs.
+ 
+       * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
+       as binary.
+ 
+ 2003-03-16  Juanma Barranquero  <address@hidden>
+ 
+       * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
+ 
+ 2003-03-16  Kim F. Storm  <address@hidden>
+ 
+       The following changes consolidate some of the gui-independent
+       parts of the processing and drawing of "glyph strings" from
+       xterm.c, w32term.c, and macterm.c into xdisp.c.
+ 
+       * dispextern.h (struct glyph): Reduce face_id member from 22 to
+       21 bits (this reduces number of faces from 4M to 2M).
+       Replace W32 specific w32_font_type member (2 bits) by generic
+       font_type member (3 bits) for portability.
+       (FONT_TYPE_UNKNOWN): New define, default for font_type member.
+       (enum draw_glyphs_face): Define here.
+       (struct glyph_string): Define here.  Merge W32 and X versions.
+       (struct redisplay_interface): New members per_char_metric,
+       encode_char, compute_glyph_string_overhangs, draw_glyph_string.
+       (VCENTER_BASELINE_OFFSET): Define here.
+       (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
+       (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
+ 
+       * xdisp.c: Consolidate gui-independent "glyph string" code here.
+       (dump_glyph_string): Moved here.
+       (init_glyph_string, append_glyph_string_lists, append_glyph_string)
+       (prepend_glyph_string_lists, get_glyph_face_and_encoding)
+       (fill_composite_glyph_string, fill_glyph_string)
+       (fill_image_glyph_string, fill_stretch_glyph_string)
+       (left_overwritten, left_overwriting, right_overwritten)
+       (right_overwriting, get_char_face_and_encoding)
+       (set_glyph_string_background_width, compute_overhangs_and_x)
+       (append_glyph, append_composite_glyph, produce_image_glyph)
+       (take_vertical_position_into_account, append_stretch_glyph)
+       (produce_stretch_glyph): New generic functions (based on X version).
+       Call platform specific functions through rif.
+       (INIT_GLYPH_STRING): New macro, hides W32 details.
+       (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
+       (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
+       (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
+       (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
+       (notice_overwritten_cursor):
+       Generic functions exported to platform modules.  Users changed.
+ 
+       * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
+       (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
+       (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
+       New macros for consolidated code.
+ 
+       * xterm.c: Remove consolidated defines and code.
+       (x_per_char_metric, x_encode_char)
+       (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
+       (x_redisplay_interface): Add new members.
+ 
+       * w32gui.h (Display): Add dummy typedef for consolidation.
+       (XChar2b): Define alias for wchar_t for consolidation.
+       (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
+ 
+       * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
+       (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
+       New macros for consolidation.
+ 
+       * w32term.c: Remove consolidated defines and code.
+       (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
+       to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
+       (w32_per_char_metric): Change font_type arg to int for RIF.
+       (w32_encode_char): Return int according to RIF requirements.
+       (w32_compute_glyph_string_overhangs): Adapt to RIF.
+       (w32_get_glyph_overhangs): New function for RIF.  Uses generic
+       x_get_glyph_overhangs.
+       (w32_redisplay_interface): Add new members.
+ 
+       * macgui.h (XChar2b): Move typedef here for consolidation.
+       (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
+ 
+       * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
+       (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
+       consolidation.
+ 
+       * macterm.c: Remove consolidated defines and code.
+       (mac_per_char_metric): New function for RIF.
+       (mac_encode_char): Adapt to new RIF requirements.
+       (mac_compute_glyph_string_overhangs): Adapt for RIF.
+       (x_redisplay_interface): Add new members.
+ 
+ 2003-03-15  Stefan Monnier  <address@hidden>
+ 
+       * keymap.c (Vmenu_events): New var.
+       (syms_of_keymap): Initialize it.
+       (where_is_internal): Check more carefully what is a menu event.
+ 
+ 2003-03-14  Richard M. Stallman  <address@hidden>
+ 
+       * lread.c (read1): After #!, exit loop on eof.
+ 
+ 2003-03-14  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.h: Add declaration for xg_frame_cleared.
+ 
+       * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
+ 
+       * gtkutil.c (struct xg_last_sb_pos): New structure.
+       (handle_fixed_child): New function.
+       (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
+       and force a redraw on them.
+       (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
+       (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
+       so we can avoid unneeded redraws.
+       (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
+       and force a redraw on the scroll bar.
+       (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
+       if xg_last_sb_pos shows the positions are up to date.
+       (xg_frame_cleared): New function.
+ 
+ 2003-03-13  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (Fdetect_coding_region): Fix docstring.
+       (Fdetect_coding_string): Fix docstring.
+ 
+ 2003-03-13  Andreas Schwab  <address@hidden>
+ 
+       * gtkutil.c: Add prototype for create_menus.
+ 
+       * data.c (long_to_cons): Fix type of top.
+ 
+       * xselect.c (selection_data_to_lisp_data): Use int instead of
+       long for an integer of size 4.
+ 
+       * gtkutil.c (xg_update_frame_menubar): Add missing return value.
+       (xg_tool_bar_help_callback): Likewise.
+ 
+ 2003-03-12  Andreas Schwab  <address@hidden>
+ 
+       * xterm.c (x_term_init) [USE_GTK]: Fix typo.
+ 
+ 2003-03-12  Kim F. Storm  <address@hidden>
+ 
+       The following changes consolidate the fringe handling from
+       xterm.c, w32term.c, and macterm.c into xdisp.c.
+ 
+       * xdisp.c: Consolidate fringe handling code here.
+       (left_bits, right_bits, continued_bits, continuation_bits)
+       (ov_bits, zv_bits): Define fringe bitmaps.
+       (fringe_bitmaps): New array holding fringe bitmaps.
+       (draw_fringe_bitmap): Draw a specific bitmap; call display
+       specific drawing routine via rif->draw_fringe_bitmap.
+       (draw_row_fringe_bitmaps): Generic replacement for
+       x_draw_row_fringe_bitmaps; all callers changed.
+       (compute_fringe_widths): Generic replacement for
+       x_compute_fringe_widths; all callers changed.
+ 
+       * dispextern.h (enum fringe_bitmap_type): Define here.
+       (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
+       (fringe_bitmaps): Declare extern.
+       (struct redisplay_interface): New member draw_fringe_bitmap.
+       (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
+ 
+       * xterm.c: Remove generic fringe code.
+       (x_draw_fringe_bitmap): Only perform actual fringe drawing.
+       (x_redisplay_interface): Add x_draw_fringe_bitmap member.
+ 
+       * w32term.c: Remove generic fringe code.
+       (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
+       (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
+ 
+       * macterm.c: Remove generic fringe code.
+       (x_draw_fringe_bitmap): Only perform actual fringe drawing.
+       (x_redisplay_interface): Add x_draw_fringe_bitmap member.
+ 
+ 2003-03-11  Stefan Monnier  <address@hidden>
+ 
+       * print.c (Fprin1_to_string): Return unibyte string if possible.
+ 
+ 2003-03-09  David Kastrup  <address@hidden>
+ 
+       * process.c (read_process_output): We have allocated enough space
+       for readmax and carryover, so actually use the alloted space.
+ 
+ 2003-03-09  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
+       toolkit scrollbar click.
+ 
+       * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
+       for USE_GTK.
+       (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
+       also.
+       (handle_one_xevent): ButtonPress/Release:  If event is for a toolkit
+       scrollbar and control is pressed, call x_scroll_bar_handle_click.
+ 
+       * gtkutil.h: Declare xg_get_scroll_id_for_window.
+ 
+       * gtkutil.c (xg_get_scroll_id_for_window): New function.
+       (xg_tool_bar_item_expose_callback): New function.
+       (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
+       (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
+       on the tool bar widget.
+       (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
+       to expose on the tool bar item widgets.
+ 
+ 2003-03-08  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
+       struct image* when deciding to update (struct image* may have been
+       deleted from the image cache).
+ 
+       * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
+       the event isn't for a frame (i.e. for dialogs).
+ 
+ 2003-03-07  Kenichi Handa  <address@hidden>
+ 
+       * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
+       composition components reaches the limit, terminate composing.
+       (COMPOSITION_OK): New macro.
+       (detect_coding_iso2022): Use it if an escape sequence for
+       composition is found.
+       (coding_restore_composition): Adjust the number of composition
+       components if it is not sane.
+ 
+ 2003-03-06  Juanma Barranquero  <address@hidden>
+ 
+       * w32term.h (struct w32_display_info): Add xrdb member to support
+       passing resources via -xrm on Windows.
+ 
+       * w32term.c (w32_make_rdb): New function.
+       (w32_term_init): Use it to initialize xrdb member of w32_display_info
+       struct.  Delete leftover code.
+ 
+       * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
+       for resources passed on the command line.
+ 
+       * w32reg.c (w32_get_rdb_resource): New function.
+       (x_get_string_resource): Use it, so resources passed with -xrm
+       supercede the ones in the registry.
+ 
+ 2003-03-04  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
+       instead of x_top_window_to_frame.
+ 
+ 2003-03-03  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
+       when restarting Emacs.
+ 
+ 2003-03-03  Richard M. Stallman  <address@hidden>
+ 
+       * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
+       to run kill-buffer-query-functions.
+       (Qkill_buffer_query_functions): New var.
+       (syms_of_buffer): Init and staticpro it.
+ 
+ 2003-03-02  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
+ 
+ 2003-02-25  Kim F. Storm  <address@hidden>
+ 
+       * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
+       If centering point failed to make whole line visible and vscroll
+       is non-zero, disable vscroll and try centering point again.
+ 
+       * lread.c (read1): Accept `single space' syntax like (? x).
+ 
+ 2003-02-25  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * keyboard.c (cancel_hourglass_unwind): Surround with
+       #ifdef HAVE_X_WINDOWS
+ 
+ 2003-02-25  Kenichi Handa  <address@hidden>
+ 
+       * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
+       process only when "subprocesses" is defined.
+ 
+ 2003-02-24  Stefan Monnier  <address@hidden>
+ 
+       * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
+ 
+ 2003-02-24  Juanma Barranquero  <address@hidden>
+ 
+       * callint.c (fix_command): Declare as static void and move before
+       Fcall_interactively.
+ 
+       * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
+       (syms_of_xdisp): Don't initialize Qwhen.
+ 
+ 2003-02-23  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * keyboard.c (cancel_hourglass_unwind): New function.
+       (command_loop_1): Cancel hourglass with unwind-protect.
+ 
+ 2003-02-23  Richard M. Stallman  <address@hidden>
+ 
+       * callint.c (fix_command): New subroutine, from Fcall_interactively.
+       Detect (when ... (region-beginning)) etc.
+       (Fcall_interactively): Call fix_command.
+       (Qif, Qwhen): New variables.
+       (syms_of_callint): Init and staticpro them.
+ 
+       * regex.c (print_partial_compiled_pattern): Output to stderr.
+ 
+ 2003-02-23  Kai Gro,A_(Bjohann  <address@hidden>
+ 
+       * dired.c (directory_files_internal): Don't expand directory.
+       (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
+       instead.  From Lars Hansen <address@hidden>.
+ 
+ 2003-02-22  Stefan Monnier  <address@hidden>
+ 
+       * fns.c (string_to_multibyte): Remove unused var i.
+       (Flanginfo): Fix int/Lisp_Object mixup.
+       (void_call2): New fun.
+       (Fmap_char_table): Use it in place of call2.
+ 
+       * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
+ 
+       * macros.c (Fstart_kbd_macro): Remove redundant assignment.
+ 
+       * keymap.c (copy_keymap_1): Make it static.
+ 
+       * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
+ 
+ 2003-02-22  David Ponce  <address@hidden>
+ 
+       * lread.c (Fload): Don't check STRING_MULTIBYTE.
+ 
+ 2003-02-21  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * process.h: Removed subtty field from struct Lisp_Process.
+ 
+       * process.c (create_process): Remove setting of subtty.
+       (emacs_get_tty_pgrp): New function.
+       (Fprocess_running_child_p, process_send_signal):
+       Call emacs_get_tty_pgrp instead of ioctl.
+       (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
+ 
+ 2003-02-21  Kai Gro,A_(Bjohann  <address@hidden>
+ 
+       * keymap.c (Fdefine_key): Doc fix.
+ 
+ 2003-02-21  Juanma Barranquero  <address@hidden>
+ 
+       Port of patch for RC by Klaus Zeitler <address@hidden>.
+ 
+       * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
+       POLLING_PROBLEM_IN_SELECT.
+ 
+       * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
+       Delete #undef of POLLING_PROBLEM_IN_SELECT.
+ 
+       * s/hpux10-20.h: New file.
+ 
+       * process.c (wait_reading_process_input):
+       Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
+ 
+ 2003-02-20  Kenichi Handa  <address@hidden>
+ 
+       * fontset.c (check_fontset_name): If NAME is nil, return the
+       default fontset.
+       (override_font_info): New function.
+       (Fset_fontset_font): Document that NAME nil means the default fontset.
+       (Ffontset_info): If FONTSET is not the default fontset, merge
+       FONTSET onto the copy of the default fontset, and work on that
+       copy.  Document that NAME nil means the default fontset.
+       (Ffontset_font): Document that NAME nil means the default fontset.
+ 
+       * process.c (setup_process_coding_systems): If the process's
+       in/out descriptor is -1, do nothing.
+ 
+ 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
+       Vscalable_fonts_allowed is not Qt.
+ 
+ 2003-02-19  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
+ 
+ 2003-02-18  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
+       names.
+ 
+       * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
+       (sorted_font_list): Move allocation of struct font_name to
+       x_face_list_fonts.
+       (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
+       (Fx_list_fonts): Set maxnames to -1 to get all font names.
+ 
+ 2003-02-18  Kim F. Storm  <address@hidden>
+ 
+       * lread.c (read1): Fix last change.
+       "`" is not always special.  Allow "?" after a character constant.
+ 
+ 2003-02-18  Andrew Choi  <address@hidden>
+ 
+       * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
+ 
+ 2003-02-18  Andreas Schwab  <address@hidden>
+ 
+       * window.c (window_scroll_pixel_based): Move outside a
+       multi-glyph character before setting new window start.
+ 
+       * xdisp.c (in_display_vector_p): New function.
+       * dispextern.h (in_display_vector_p): Declare.
+ 
+ 2003-02-18  Kim F. Storm  <address@hidden>
+ 
+       * lread.c (read1): Fix and relax read syntax.
+       Recognize "[", ";", "#", and "?" after a dotted-pair dot.
+       Only recognize "," after dotted-pair dot if inside backquote.
+       Never include "`" or "," (inside backquote) in a symbol.
+       Allow dotted-pair dot after a character constant.
+       Allow "`" and "," (inside backquote) after a character constant.
+ 
+ 2003-02-17  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_tool_bar_expose_callback): New function.
+       (xg_create_tool_bar): Force style of tool bar to be horizontal with
+       icons.  Set name of tool bar to emacs-toolbar.
+       (update_frame_tool_bar): Connect expose event to
+       xg_tool_bar_expose_callback.
+ 
+ 2003-02-17  Richard M. Stallman  <address@hidden>
+ 
+       * keyboard.c (this_command_key_count_reset): New variable.
+       Initiatize to 0 where this_command_key_count is set.
+       (read_char): Save and restore this_command_key_count_reset
+       around input method code.
+       (read_char): If this_command_key_count_reset, echo reread commands.
+       (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
+ 
+ 2003-02-17  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (string_to_multibyte): Always return a multibyte string.
+ 
+ 2003-02-16  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
+       Negative max_fonts parameter means list all.
+ 
+ 2003-02-14  Dave Love  <address@hidden>
+ 
+       * fns.c (Flanginfo): Doc fix.
+ 
+ 2003-02-13  Kim F. Storm  <address@hidden>
+ 
+       * lread.c (read_escape): Interpret \s as a SPACE character, except
+       for \s-X in a character constant which still is the super modifier.
+       (read1): Signal an `invalid read syntax' error if a character
+       constant is immediately followed by a digit or symbol character.
+ 
+       * search.c (Fmatch_data): Doc fix.  Explicitly state that
+       match-data is undefined if last search failed.
+ 
+       * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
+       All uses changed.
+ 
+ 2003-02-12  Juanma Barranquero  <address@hidden>
+ 
+       * eval.c (Fdefmacro): Fix typo.
+ 
+ 2003-02-12  Kim F. Storm  <address@hidden>
+ 
+       * macros.c (Fstart_kbd_macro): If appending, and last keyboard
+       macro is a string, convert meta modifiers in string when copying
+       the string into a vector.
+ 
+ 2003-02-11  Kim F. Storm  <address@hidden>
+ 
+       * keymap.c (Fremap_command): Return nil if arg is not a symbol.
+ 
+ 2003-02-11  Kenichi Handa  <address@hidden>
+ 
+       * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
+ 
+ 2003-02-10  Kim F. Storm  <address@hidden>
+ 
+       * process.c: Doc fixes.
+       (syms_of_process): Add `:' prefix to QCfilter_multibyte.
+ 
+ 2003-02-10  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
+ 
+       * process.c (QCfilter_multibyte): New variable.
+       (setup_process_coding_systems): New function.
+       (Fset_process_buffer, Fset_process_filter):
+       Call setup_process_coding_systems.
+       (Fstart_process): Initialize the member `filter_multibyte' of
+       struct Lisp_Process.
+       (create_process): Call setup_process_coding_systems.
+       (Fmake_network_process): New keyward `:filter-multibyte'.
+       Initialize the member `filter_multibyte' of struct Lisp_Process.
+       Call setup_process_coding_systems.
+       (server_accept_connection): Call setup_process_coding_systems.
+       (read_process_output): If the process has a filter, decide the
+       multibyteness of a string to given to the filter by
+       `filter_multibyte' member of the process.  If the process doesn't
+       have a filter and the result of conversion is unibyte, use
+       Fstring_to_multibyte (not Fstring_make_multibyte) to get the
+       multibyte form.
+       (Fset_process_coding_system): Call setup_process_coding_systems.
+       (Fset_process_filter_multibyte): New function.
+       (Fprocess_filter_multibyte_p): New function.
+       (syms_of_process): Intern and staticpro QCfilter_multibyte.
+       Defsubr Sset_process_filter_multibyte and
+       Sprocess_filter_multibyte_p.
+ 
+       * process.h (struct Lisp_Process): New member filter_multibyte.
+ 
+       * lisp.h (setup_process_coding_systems): Add prototype.
+ 
+       * buffer.c (Fset_buffer_multibyte): If the current buffer has a
+       process, update coding systems for the process.
+ 
+ 2003-02-09  Kenichi Handa  <address@hidden>
+ 
+       * fns.c (string_to_multibyte): New function.
+       (Fstring_to_multibyte): New function.
+       (syms_of_fns): Defsubr it.
+ 
+ 2003-02-08  Andreas Schwab  <address@hidden>
+ 
+       * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
+       instead of the substitution.
+ 
+ 2003-02-08  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
+ 
+       * xmenu.c (menu_position_func): Adjust menu popup position so that
+       the menu is fully visible.
+ 
+ 2003-02-07  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
+       (x_make_frame_invisible, x_wm_set_icon_position):
+       Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
+ 
+       * xfns.c (x_set_name, x_set_title): Ditto.
+ 
+ 2003-02-04  Richard M. Stallman  <address@hidden>
+ 
+       * keyboard.c (echo_now): Update before_command_echo_length.
+       (Freset_this_command_lengths): Reset this_command_key_count etc.
+       immediately rather than arranging to do it later.
+       (before_command_key_count_1, before_command_echo_length_1)
+       (before_command_restore_flag): Vars deleted.
+       (add_command_key): Don't handle before_command_restore_flag.
+       (read_char, record_menu_key): Don't update before_command_key_count or
+       before_command_echo_length.
+       (read_char): Don't handle before_command_restore_flag.
+ 
+       * keyboard.c (command_loop_1): Don't call adjust_point_for_property
+       in direct-output clauses if it wouldn't be called in the ordinary case.
+ 
+ 2003-02-04  Kim F. Storm  <address@hidden>
+ 
+       * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
+ 
+ 2003-02-02  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (remove_from_container): Copying list is not needed.
+       (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
+       (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
+       on list returned from gtk_container_get_children to avoid memory leak.
+ 
+ 2003-02-01  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
+       local malloc.
+       [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
+       definitions in xpm.h.
+       (init_xpm_functions): New function.
+       (xpm_load): Sync with xfns.c.  Adapt for Windows version of libXpm.
+       (init_external_image_libraries): Try to load libXpm.dll.
+ 
+       * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
+       timestamp.
+ 
+ 2003-01-31  Dave Love  <address@hidden>
+ 
+       * syntax.c (Fskip_chars_forward)
+       (open-paren-in-column-0-is-defun-start): Doc fix.
+ 
+ 2003-01-31  Joe Buehler  <address@hidden>
+ 
+       * fileio.c: Support // at start of name for Cygwin (just added proper
+       preprocessor tests).
+ 
+       * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
+ 
+       * Makefile.in: Use @EXEEXT@ for Cygwin.
+ 
+       * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
+ 
+       * s/cygwin.h: Added for Cygwin port.
+ 
+ 2003-01-31  Juanma Barranquero  <address@hidden>
+ 
+       * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
+       when including gif_lib.h.
+       (init_gif_functions, init_tiff_functions): New functions.
+       (gif_load, tiff_load): Sync with xfns.c version.  Adjust colors for
+       Windows.  Disable color table lookups.  Call library functions
+       through pointers determined at runtime.
+       (init_external_image_libraries): Try to load libungif.dll and
+       libtiff.dll.
+ 
+ 2003-01-31  Kenichi Handa  <address@hidden>
+ 
+       * xdisp.c (SKIP_GLYPHS): New macro.
+       (set_cursor_from_row): Skip all glyphs that comes from overlay string.
+ 
+ 2003-01-30  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (free_frame_tool_bar): Remove debug printf.
+ 
+ 2003-01-30  Dave Love  <address@hidden>
+ 
+       * alloc.c (Vgc_elapsed, gcs_done): New variables.
+       (Fgarbage_collect): Use them.
+       (init_alloc, syms_of_alloc): Set them up.
+ 
+ 2003-01-30  Juanma Barranquero  <address@hidden>
+ 
+       * w32fns.c (init_external_image_libraries): Add missing operator.
+ 
+ 2003-01-29  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
+       an alternative name for jpeg.dll.
+ 
+ 2003-01-29  Kenichi Handa  <address@hidden>
+ 
+       * xdisp.c (set_cursor_from_row): Pay attention to string display
+       properties.
+ 
+ 2003-01-28  Benjamin Riefenstahl  <address@hidden>
+ 
+       * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
+       <escape>.
+       (keycode_to_xkeysym_table): Reformat and add more comments.
+       (XTread_socket): Drop special case for backspace.
+ 
+ 2003-01-28  Andrew Choi  <address@hidden>
+ 
+       * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
+       values in old-style RGB specs.
+ 
+ 2003-01-27  Juanma Barranquero  <address@hidden>
+ 
+       * w32fns.c (init_external_image_libraries): Try alternate names for the
+       jpeg dll.
+ 
+ 2003-01-27  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (create_dialog, xg_separator_p)
+       (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
+       before calling strcmp or strlen.
+ 
+ 2003-01-26  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
+       and handle image load failure.
+ 
+ 2003-01-26  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
+       New functions.
+       (jpeg_load): Sync with xfns.c version.  Adjust colors for Windows.
+       Disable color table lookups.  Call jpeg library functions
+       through pointers determined at runtime.
+       (init_external_image_libraries): Try to load jpeg.dll.
+ 
+ 2003-01-25  Richard M. Stallman  <address@hidden>
+ 
+       * lisp.h: Declare format2 instead of format1.
+ 
+       * fileio.c (barf_or_query_if_file_exists):
+       Call format2 instead of format1.
+ 
+       * editfns.c (format2): New function, replaces format1
+       but takes exactly two Lisp Objects as format args.
+ 
+       * buffer.c (Fkill_buffer): Call format2 instead of format1.
+ 
+ 2003-01-25  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * xterm.h: Change to return value of x_dispatch_event to int.
+ 
+       * xterm.c (x_filter_event): New function.
+       (event_handler_gdk, XTread_socket): Call x_filter_event.
+       (x_dispatch_event): Change to return value of finish.
+       (event_handler_gdk): Use return value from x_dispatch_event.
+ 
+       * xfns.c (x_window): Call create_frame_xic for GTK version to
+       initialize input methods.
+ 
+       * gtkutil.h: Add (void) prototypes.
+ 
+       * gtkutil.c (create_menus): Remove code that puts the help menu to
+       the right.
+ 
+ 2003-01-25  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
+       [HAVE_PNG]: Sync with xfns.c version.
+       (png_load): Adjust colors for Windows.  Use Windows
+       bitmaps.  Disable color table lookups.
+       (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
+       (init_png_functions): New function.
+       (png_read_from_memory, png_load): Call png library functions
+       through pointers determined at runtime.
+       (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
+       (init_external_image_libraries): New function.
+       (init_xfns): Call it.
+ 
+ 2003-01-24  Andreas Schwab  <address@hidden>
+ 
+       * minibuf.c (Fminibuffer_message): Verify type of parameter.
+ 
+ 2003-01-24  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
+       of static initializer.
+ 
+ 2003-01-24  Dave Love  <address@hidden>
+ 
+       * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
+       architectures.
+ 
+       * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
+       Use __alignof__.
+ 
+ 2003-01-24  Kenichi Handa  <address@hidden>
+ 
+       * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
+       It it is nonzero, don't pretend that an invisible area doesn't exist.
+       (command_loop_1): Call adjust_point_for_property with proper
+       second arg.
+ 
+ 2003-01-22  Jason Rumney  <address@hidden>
+ 
+       Sync changes with xterm.c and xfns.c.
+ 
+       * w32term.c (x_draw_glyph_string_foreground)
+       (x_draw_composite_glyph_string_foreground): Implement overstriking.
+ 
+       * w32term.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).
+ 
+       * w32term.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.
+ 
+       * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
+       (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
+       Compute from the x position returned by x_draw_glyphs.
+ 
+       (x_display_and_set_cursor): Don't set phys_cursor_width here,
+       except for NO_CURSOR and system caret, 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.
+ 
+       * w32term.c (note_mode_line_or_margin_highlight): Rename from
+       note_mode_line_highlight and extend.
+ 
+       * w32term.c (last_window): New variable.
+       (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
+       (note_mouse_movement): Remove reimplemented code in #if 0.
+ 
+       * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
+       not update_mode_lines, and always set it to 1.
+ 
+ 2003-01-21  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (IDC_HAND): Define it if system headers don't.
+ 
+ 2003-01-21  KOBAYASHI Yasuhiro  <address@hidden>
+ 
+       * w32term.h (struct w32_output): New member hand_cursor.
+       (WM_EMACS_SETCURSOR): New message definition.
+ 
+       * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
+       function w32_define_cursor.
+       (note_mouse_highlight): Initialize, setup cursor accoding to mouse
+       position, change member name output_data.x to output_data.w32 and
+       add function w32_define_cursor.
+       (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
+       and change member name output_data.x to output_data.w32.
+       (w32_initialize_display_info):
+       Setup dpyinfo->vertical_scroll_bar_cursor.
+ 
+       * w32fns.c (Vx_hand_shape): New variable.
+       (w32_wnd_proc): Add message entries for WM_SETCURSOR and
+       WM_EMACS_SETCURSOR.
+       (x-create-frame): Setup Cursor types.
+ 
+ 2003-01-21  David Ponce  <address@hidden>
+ 
+       * w32term.c (w32_encode_char): For DIM=1 charset, set
+       ccl->reg[2] to -1 before calling ccl_driver.  (Sync. with xterm.c
+       x_encode_char change by Kenichi Handa <address@hidden> on
+       2002-09-30.)
+       (w32_draw_relief_rect): Declare all args.
+       (w32_define_cursor): New.
+ 
+       * w32fns.c (w32_load_cursor): New function.
+       (w32_init_class): Use it.
+       (x_put_x_image): Declare all args.
+ 
+ 2003-01-21  Richard Dawe  <address@hidden>  (tiny change)
+ 
+       * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
+ 
+ 2003-01-21  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * gtkutil.c: Must include stdio.h before termhooks.h
+ 
+ 2003-01-21  Dave Love  <address@hidden>
+ 
+       * alloc.c (Fgc_status): Print zombie list.
+       (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
+       Fix assignment of zombies.
+       (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
+       Don't take car of non-cons.
+ 
+       * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
+ 
+       * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
+ 
+ 2003-01-20  David Ponce  <address@hidden>
+ 
+       * w32menu.c (digest_single_submenu): Declare all args.
+ 
+       Sync with 2002-12-23  Richard M. Stallman  <address@hidden>
+       changes in 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.
+ 
+ 2003-01-20  Steven Tamm  <address@hidden>
+ 
+       * macterm.c (XTread_socket): Checks for valid, visible window
+       before sending a scroll-wheel event.
+ 
+ 2003-01-20  Richard M. Stallman  <address@hidden>
+ 
+       * xdisp.c (redisplay_window): If mini window's buffer is not
+       a minibuffer, then redisplay it like other windows.
+ 
+ 2003-01-20  Jan Dj,Ad(Brv  <address@hidden>
+ 
+       * 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):
+       Add USE_GTK versions.
+       (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): Rename from QCvars.  Change all uses.
+       (Fprocess_plist): Replaces Fprocess_variable.  Simplified.
+       (Fset_process_plist): Replaces Fset_process_variable.  Simplify.
+       (syms_of_process): Intern, staticpro, defsubr these.
+       (Fmake_network_process): Describe :plist arg.  Remove :vars arg.
+ 
+ 2003-01-14  Francesco Potort,Al(B  <address@hidden>
+ 
+       * m/delta.h: Remove (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): Fix 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): Add arg OMIT-PORT.  Change callers.
+ 
+ 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 ): Add 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): Fix sys_read to not call select if IO is
+       non-blocking.
+       (sys_select): Fix 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): Add 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): Replace 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): Add code to reinitialize the
+       function pointer track_mouse_event_fn in the handler for the
+       WM_SETFOCUS message.
+ 
+       * w32menu.c (initialize_frame_menubar): Add 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): Remove 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 (request_sigio, unrequest_sigio) [MSDOS]:
+       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): Add 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>
+ 
+       * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
+ 
+       * fileio.c (syms_of_fileio): Likewise.
+       (Ffile_name_as_directory): Fix argument name in docstring.
+       (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
+ 
+ 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): Likewise.
+ 
+       * print.c (temp_output_buffer_setup): Likewise.
+ 
+ 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.
+ 
+ 2001-11-01  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * window.c (grow_mini_window): Fix typo in comment.
+ 
+ 2001-11-01  Gerd Moellmann  <address@hidden>
+ 
+       * xterm.c (x_scroll_bar_create): Check for width and height > 0.
+       (XTset_vertical_scroll_bar): Likewise.
+ 
+       * xfns.c (x_build_heuristic_mask): Use four_corners_best
+       instead of IMAGE_BACKGROUND.
+ 
+       * xfns.c (four_corners_best): Reindent.
+ 
+       * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
+       Handle :box so that it is possible to specify sexprs.
+ 
+ 2001-10-31  Eli Zaretskii  <address@hidden>
+ 
+       * s/hpux11.h: New file.
+ 
+ 2001-10-31  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * emacs.c (USAGE1): Show command line option --no-window-system
+       instead of --no-windows in usage.
+       (standard_args): Rename --no-windows to --no-window-system.
+       (bug_reporting_address): Follow Emacs coding conventions.
+ 
+       * eval.c (Fcommandp): Doc fix.
+       Change doc-string comments to `new style' [w/`doc:' keyword].
+ 
+       * frame.c (Fframe_live_p): Doc fix.
+ 
+       * buffer.c (selective-display-ellipses): Doc fix.
+ 
+ 2001-10-31  Gerd Moellmann  <address@hidden>
+ 
+       * lread.c (to_multibyte): Fix computation of new read_buffer_size.
+ 
+       * xfaces.c (realize_x_face): If C is not a single-byte character,
+       set the face's colors_copied_bitwise_p instead of the defaulted_p
+       members which have a different meaning.
+       (free_face_colors): Do nothing for a face whose colors have been
+       copied bitwise.
+ 
+       * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
+ 
+ 2001-10-31  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * marker.c, mocklisp.c: Change doc-string comments to `new style'
+       [w/`doc:' keyword].
+ 
+ 2001-10-31  Gerd Moellmann  <address@hidden>
+ 
+       * fns.c (require_unwind): Return Lisp_Object.
+ 
+ 2001-10-31  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
+       (last-input-char): Revert doc-string to be the same as the
+       doc-string of `last-input-event'.
+ 
+       * xdisp.c: Fix typos in comments.
+ 
+ 2001-10-31  Gerd Moellmann  <address@hidden>
+ 
+       * window.c (grow_mini_window): Handle case that the root
+       window is already smaller than the nominal mininum height.
+ 
+ 2001-10-30  Stefan Monnier  <address@hidden>
+ 
+       * emacs.c (main): Don't call keys_of_macros any more.
+ 
+       * lisp.h (keys_of_macros): Remove.
+ 
+       * macros.c (keys_of_macros): Remove.
+ 
+       * xfaces.c (Fface_attribute_relative_p): Declare args.
+ 
+ 2001-10-30  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
+       (enum_font_cb2): Ignore fonts with vertical orientation.
+ 
+ 2001-10-30  Richard M. Stallman  <address@hidden>
+ 
+       * keyboard.c (Finput_pending_p): Doc fix.
+ 
+ 2001-10-30  Gerd Moellmann  <address@hidden>
+ 
+       * xterm.c (x_after_update_window_line): Don't run the code
+       clearing in borders for rows whose visible height is 0.
+ 
+       * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
+       resized_p flag is set.  If not set, use the much less flickering
+       method previously used.
+ 
+       * dispnew.c (change_frame_size_1): Set frame's resized_p.
+ 
+       * frame.h (struct frame) <resized_p>: New member.
+ 
+       * lread.c (to_multibyte): Ensure read_buffer is at least twice
+       as large as the number of bytes to convert.
+ 
+       * lread.c (to_multibyte): New function.
+       (read1): Use it.
+ 
+ 2001-10-30  Eli Zaretskii  <address@hidden>
+ 
+       * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
+ 
+ 2001-10-30  Gerd Moellmann  <address@hidden>
+ 
+       * xterm.c (x_draw_relief_rect): Correct bottom 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}.
+ 
+       * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
+ 
+ 2001-10-29  Stefan Monnier  <address@hidden>
+ 
+       * xmenu.c: Include coding.h and charset.h.
+       (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
+       (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
+       (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
+       Explicitly set wv->help.  Use `TRUE' rather than `True'.
+       (menu_help_callback): Use empty_string.
+ 
+       * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
+       (Fx_popup_dialog): Explicitly init f.
+       (w32_menu_display_help): Use empty_string.
+ 
+ 2001-10-29  Richard M. Stallman  <address@hidden>
+ 
+       * fns.c (Frequire): Detect recursive try to require the same
+       feature 3 or more levels deep, and get error.
+       (require_unwind): New subroutine.
+       (require_nesting_list): New variable.
+       (syms_of_fns): Init and staticpro it.
+ 
+       * print.c (print_object): Clarify indication of insertion type.
+ 
+ 2001-10-29  Eli Zaretskii  <address@hidden>
+ 
+       * coding.c (syms_of_coding): Document that locale-coding-system is
+       used for decoding input on X.
+ 
+       * window.c (Fscroll_left, Fscroll_right): Doc fix.
+ 
+ 2001-10-29  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * keyboard.c (Finput_pending_p): Fix typo in doc-string.
+       (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
+ 
+ 2001-10-29  Gerd Moellmann  <address@hidden>
+ 
+       * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
+       use NO_CURSOR if cursor_in_non_selected_windows is false.
+ 
+       * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
+       the slant attribute if FRAME is t.
+ 
+       * xfns.c (x_set_internal_border_width): Set frame garbaged
+       when X window doesn't exist yet.
+ 
+       * xterm.c (x_after_update_window_line): Clear internal border
+       in different circumstances.
+ 
+       * xterm.c (XTread_socket) <KeyPress>: Don't use
+       STRING_CHAR_AND_LENGTH if nchars == nbytes.  From Kenichi Handa
+       <address@hidden>.
+ 
+ 2001-10-28  Eli Zaretskii  <address@hidden>
+ 
+       * m/ibms390.h: New file.  From Adam Thornton
+       <address@hidden>.
+ 
+ 2001-10-28  Gerd Moellmann  <address@hidden>
+ 
+       * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
+ 
+       * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
+       a loop counter.
+ 
+ 2001-10-28  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
+ 
+       * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
+       keyword].
+       Fix typos in comments.
+ 
+       * emacs.c (bug_reporting_address): New function.
+       Use it when displaying usage message.
+ 
+       * minibuf.c (read_minibuf): Remove unused external declaration of
+       variable `Qread_only'.
+ 
+       * keymap.c (access_keymap): Remove unused variable `charset'.
+ 
+ 2001-10-28  Miles Bader  <address@hidden>
+ 
+       * xfaces.c (merge_face_heights): Handle TO being relative as well.
+       Remove #ifdef'd-out code.
+       (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
+       (syms_of_xfaces): Initialize them.
+ 
+ 2001-10-27  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
+       <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
+       position using the system caret.
+ 
+       * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
+       (w32_system_caret_height, w32_system_caret_x)
+       (w32_system_caret_y): New variables for tracking system caret.
+       (w32_initialize): Initialize them.
+       (x_display_and_set_cursor): Make system caret follow the active cursor.
+ 
+       * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
+       New messages types.
+ 
+       * w32term.c (note_mouse_highlight): Clear old help_echo.
+ 
+ 2001-10-27  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * xterm.c: Fix typo in a comment.
+ 
+       * emacs.c: Fix typos in comments.
+       Remove unnecessary spaces.
+       Change doc-string comments to `new style' [w/`doc:' keyword].
+       (USAGE2): Fix typos in usage string.
+ 
+       * xterm.c: Fix typo in a comment.
+ 
+       * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
+       emacs.c.
+ 
+ 2001-10-27  Gerd Moellmann  <address@hidden>
+ 
+       * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
+       instead of 1/2 line_height in the heuristic for skipping
+       farther backward when target_y was not reached.
+ 
+       * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
+       Display errno only if non-zero.
+       (sound_warning): New function.
+       (vox_configure): Don't treat failing to set sample rate as error.
+       (various places): Improve error messages.
+ 
+ 2001-10-26  Eli Zaretskii  <address@hidden>
+ 
+       * fileio.c (Faccess_file): Run the argument filename through
+       Fexpand_file_name, before using it.
+ 
+       * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
+       ring-bell-function.  Suggested by Alf-Ivar Holm <address@hidden>
+ 
+ 2001-10-26  Gerd Moellmann  <address@hidden>
+ 
+       * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
+ 
+       * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
+       Fix clearing in the case of scroll bars on the right.
+ 
+ 2001-10-26  Juanma Barranquero  <address@hidden>
+ 
+       * w32gui.h (XImage): Add a dummy typedef.
+ 
+ 2001-10-26  Gerd Moellmann  <address@hidden>
+ 
+       * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
+ 
+ 2001-10-25  Eli Zaretskii  <address@hidden>
+ 
+       * frame.c (Fframe_parameter): Fix last change.
+ 
+       * fileio.c: Revert last change (which removed old commented-out
+       version of expand-file-name).  Add a comment that explains why
+       this old version should not be removed.
+ 
+ 2001-10-25  Gerd Moellmann  <address@hidden>
+ 
+       * frame.c (Fframe_parameter): Fix a bug whereby some
+       ``artificial'' frame parameters, like `minibuffer' were not
+       obtained by calling Fframe_parameters.
+ 
+       * xterm.c (show_mouse_face): Clean up.  Recognize overwritten
+       cursor differently.
+ 
+       * xdisp.c (move_it_vertically_backward): Compute line height
+       differently.  Add heuristic to try to be more compatible to 20.x.
+ 
+ 2001-10-25  Stefan Monnier  <address@hidden>
+ 
+       * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
+ 
+       * editfns.c (text_property_stickiness): Fix Lisp_Object used as
+       boolean.
+ 
+ 2001-10-25  Miles Bader  <address@hidden>
+ 
+       * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
+       BG is a pointer to a structure, not a structure.
+       (gif_format, png_format): Add missing commas.
+ 
+ 2001-10-24  Richard M. Stallman  <address@hidden>
+ 
+       * xfaces.c (Fface_attributes_as_vector): New function.
+       (syms_of_xfaces): Defsubr it.
+ 
+ 2001-10-24  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
+       variable `area'.
+ 
+ 2001-10-25  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * search.c (scan_newline): Remove unused variable `selective_display'.
+ 
+ 2001-10-25  Miles Bader  <address@hidden>
+ 
+       * dispextern.h (struct image): Add `background',
+       `background_valid', and `background_transparent' fields.
+       (image_background, image_background_transparent): New declarations.
+       (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
+       * xfns.c (image_background, image_background_transparent)
+       (four_corners_best): 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.
+       * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
+       `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
+       color to use for image glyph reliefs.
+ 
+ 2001-10-24  Gerd Moellmann  <address@hidden>
+ 
+       * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
+       in full-width rows.
+ 
+       * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
+       Fix clearing of area not covered by scroll bar.
+ 
+ 2001-10-24  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
+       and `real_start'.
+       (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
+       (glyph_rect): Remove unused variable `area'.
+ 
+ 2001-10-24  Gerd Moellmann  <address@hidden>
+ 
+       * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
+ 
+       * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
+       (row_containing_pos): Take additional argument DY.
+       Treat rows ending in middle of char differently.
+       (display_line): Handle tabs on window systems differently.
+ 
+       * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
+       with additional argument.
+ 
+       * dispextern.h (row_containing_pos): Adjust prototype.
+ 
+       * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
+       (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
+       (try_window_id, try_window_reusing_current_matrix)
+       (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
+       (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
+ 
+ 2001-10-24  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
+       gnuemacs).
+       (HAVE_BOXES): Fix typo in comment.
+       (push_menu_pane): Fix typo in comment.
+ 
+       * xdisp.c: (display_prop_string_p): Remove unused local declaration
+       of `Qwhen'.
+       (single_display_prop_string_p): Remove unused local declarations
+       of `Qwhen' and `Qmargin'.
+       (string_buffer_position): Remove unused variable `around'.
+       (store_frame_title): Remove unused variable `width'.
+ 
+       * window.c: Don't define max.
+       (coordinates_in_window): Remove unused variable `uy'.
+ 
+       * widget.c: Don't define max.
+ 
+       * process.c: Don't define max.
+       (create_process): Remove unused variable `buffer'.
+ 
+ 2001-10-23  Gerd Moellmann  <address@hidden>
+ 
+       * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
+ 
+ 2001-10-23  Eli Zaretskii  <address@hidden>
+ 
+       * xfaces.c (Finternal_set_lisp_face_attribute)
+       [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
+       frame is on a windowed display.
+ 
+ 2001-10-23  Gerd Moellmann  <address@hidden>
+ 
+       * dispnew.c (sync_window_with_frame_matrix_rows):
+       Fix handling of windows which aren't full-width, fix handling
+       of marginal areas.
+ 
+       * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
+ 
+ 2001-10-23  Andreas Schwab  <address@hidden>
+ 
+       * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
+       LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
+ 
+ 2001-10-23  Gerd Moellmann  <address@hidden>
+ 
+       * xterm.c (x_draw_glyphs): Remove parameters READ_START and
+       REAL_END.  Notice if cursor gets overwritten.
+       (notice_overwritten_cursor): Take X positions as parameters.
+       (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
+       around call to x_draw_glyphs.
+ 
+ 2001-10-23  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
+       instead of C) and usage.
+ 
+       * editfns.c (char-to-string): Fix argument names (use CHAR instead
+       of C) and usage.
+ 
+       * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
+       `left', `max_width' and `max_height'.
+ 
+ 2001-10-23  Gerd Moellmann  <address@hidden>
+ 
+       * xdisp.c (display_line): For a tab continued to the next line,
+       set row's ends_in_middle_of_char_p.
+ 
+ 2001-10-22  Gerd Moellmann  <address@hidden>
+ 
+       * xdisp.c (display_line): Fix computation of continuation lines
+       width for TABs.
+ 
+ 2001-10-22  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * xdisp.c (build_desired_tool_bar_string): Remove unused variable
+       `Qlaplace'.
+ 
+       * fileio.c: Remove unused code.
+ 
+ 2001-10-22  Miles Bader  <address@hidden>
+ 
+       * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
+       (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
+       Remove `DOC_STRINGS_IN_COMMENTS' cases.
+ 
+ 2001-10-21  Jason Rumney  <address@hidden>
+ 
+       * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
+ 
+ 2001-10-21  Eli Zaretskii  <address@hidden>
+ 
+       * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
+       (Finsert_string): Avoid the multi-line string literals warning.
+ 
+ 2001-10-22  Miles Bader  <address@hidden>
+ 
+       * doc.c (Vhelp_manyarg_func_alist): Variable removed.
+       (Fdocumentation): Don't use it.
+       (syms_of_doc): Don't initialize it.
+ 
+       * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
+       * print.c (Fwith_output_to_temp_buffer): Likewise.
+       * window.c (Fsave_window_excursion): Likewise.
+       * editfns.c (Fsave_excursion, Fsave_current_buffer)
+       (Fsave_restriction): Likewise.
+       * eval.c (Frun_hooks, Frun_hook_with_args)
+       (Frun_hook_with_args_until_failure)
+       (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
+       (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
+       (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
+       (Funwind_protect, Fcondition_case): Likewise.
+       * coding.c (Ffind_operation_coding_system): Likewise.
+       * keyboard.c (Ftrack_mouse): Likewise.
+ 
+ 2001-10-21  Miles Bader  <address@hidden>
+ 
+       * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
+       (Fmake_hash_table): Add usage: string to doc string.
+       * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
+       (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
+       (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
+       * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
+       (Fml_prefix_argument_loop): Likewise.
+ 
+ 2001-10-21  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
+ 
+       * sysdep.c (init_sys_modes): Change doc-string comments to `new
+       style' [w/`doc:' keyword].
+ 
+       * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
+       * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
+       comments to `new style' [w/`doc:' keyword].
+ 
+ 2001-10-21  Jason Rumney  <address@hidden>
+ 
+       * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
+ 
+       * w32term.c (remember_mouse_glyph): New function.
+       (w32_mouse_position): Use it.
+       (note_mouse_movement): If the mouse moved off the glyph, remember
+       its new position.
+ 
+       * w32term.h (struct w32_output): Correct spelling of x_compatible.
+       (w32_display_info): Add mouse_face_overlay.
+ 
+       * w32term.c (notice_overwritten_cursor): Renamed from
+       note_overwritten_text_cursor.  Rewritten to take glyph widths into
+       account.
+       (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
+       (fast_find_string_pos): New function.
+       (fast_find_position): Return the correct vpos.  Add parameter
+       STOP.  In the final row, stop before glyphs having STOP as object.
+       Don't consider glyphs that are not from a buffer.
+       (fast_find_position) [0]: Add a presumably more correct version
+       for after 21.1.
+       (expose_window_tree, expose_frame): Don't compute intersections here.
+       (expose_window): Do it here instead.
+       (expose_window_tree, expose_window, expose_line): Return 1 when
+       overwriting mouse-face.
+       (expose_window): If W is the window currently being updated, mark
+       the frame garbaged.
+       (expose_frame): If mouse-face was overwritten, redo it.
+       (x_use_underline_position_properties): New variable.
+       (syms_of_xterm): DEFVAR_BOOL it.
+       (x_draw_glyph_string): Add comment to use it in future.
+       (x_draw_glyph_string): Restore clipping after drawing box.
+       Fix a computation of the underline position.
+       (w32_get_glyph_string_clip_rect): Minor cleanup.
+       (x_fill_stretch_glyph_string): Remove an assertion.
+       (x_produce_glyphs): Don't convert multibyte characters
+       to unibyte characters in unibyte buffers.
+       (cursor_in_mouse_face_p): New function.
+       (x_draw_stretch_glyph_string): Use it to choose a different GC
+       when drawing a cursor within highlighted text.  Don't draw
+       background again if it has already been drawn.
+       (x_draw_glyph_string_box): Don't draw a full-width
+       box just because the glyph row's full_width_p flag is set.
+       (x_draw_glyphs): Fix computation of rightmost x for
+       full-width rows.
+       (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
+       (w32_draw_relief_rect): Extend left shadow to the bottom and left;
+       change bottom shadow accordingly.  Some cleanup.
+       (x_update_window_end): Handle overwritten mouse face
+       also for tool bar windows.
+       (show_mouse_face): Set the glyph row's mouse_face_p flag also when
+       DRAW is DRAW_IMAGE_RAISED.
+       (clear_mouse_face): Return 1 if text with mouse face was
+       actually redrawn.  Make the function static.
+       Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
+       optimize away highlighting if we pass over that same overlay again.
+       (note_mouse_highlight): Call mouse_face_overlay_overlaps
+       to detect a case where we have to highlight a different region
+       despite not having left the currently highlighted region.
+       Set mouse_face_overlay in the x_display_info.  Avoid changing the
+       mouse pointer shape when show_mouse_face has already done it, or
+       there is no need.  Handle mouse-face and help-echo in strings.
+       (glyph_rect): New function.
+       (w32_mouse_position): Use it to raise the threshold for mouse
+       movement event generation.
+       (w32_initialize_display_info): Initialize the x_display_info's
+       mouse_face_overlay.
+       (w32_set_vertical_scroll_bar): Don't clear a zero height
+       or width area.
+       (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
+       a widget to zero height.
+ 
+       * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
+       Protect unibyte strings created by replacing their multibyte
+       equivalents in menu_items.
+       (w32_menu_show): Don't overwrite an item's name with its key
+       description in case the description is a multibyte string.
+       (single_submenu): Some cleanup.
+ 
+       * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
+       (postprocess_image): New function.
+       (lookup_image): Call it for all image types except PostScript.
+       (x_kill_gs_process): Call postprocess_image.
+       (tiff_error_handler, tiff_warning_handler): New functions.
+       (tiff_load): Install them as handlers.
+       (x_kill_gs_process): Recognize if someone has cleared the image
+       cache under us.
+       (valid_image_p): Protect better against invalid image
+       specifications.  Previous code could signal an error.
+       (Fx_hide_tip, Fshow_tip): Doc fix.
+       (Fv_max_tooltip_size): New variable.
+       (syns_of_xfns): DEFVAR_LISP it.
+       (Fx_show_tip): Add parameter TEXT.  Set the tip frame's root
+       window buffer to *tip* right after creating the frame.  Set frame's
+       window_width.  Use a maximum tooltip size specified by
+       Vx_max_tooltip_size, if that has valid contents.
+       (compute_tip_xy): Add parameters WIDTH and HEIGHT.
+       Make sure the tooltip is completely visible.
+       (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
+       (Fx_create_frame): Adjust the frame's height for presence
+       of the tool bar before calling x_figure_window_size.
+       (x_set_tool_bar_lines): Clear the tool bar window's current matrix
+       when the window gets smaller.
+       (x_set_foreground_color): Set frame's cursor_pixel.
+       (x_set_foreground_color, x_set_background_color): Cleaned up.
+       (x_set_font): Handle case of x_new_fontset returning the same name
+       as before, although there was a change in fontsets.
+ 
+ 2001-10-21  Miles Bader  <address@hidden>
+ 
+       * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
+       (Flogxor): Add usage: string to doc string.
+       * charset.c (Fstring): Likewise.
+       * callproc.c (Fcall_process_region, Fcall_process): Likewise.
+       * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
+ 
+ 2001-10-21  Pavel Jan,Am(Bk  <address@hidden>
+ 
+       * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
+ 
+       * alloc.c: Reindent DEFUNs with doc: keywords.
+ 
+       * abbrev.c (Finsert_abbrev_table_description): Reindent.
+ 
+       * frame.c: Change doc-string comments to `new style' [w/`doc:'
+       keyword].
+ 
+ See ChangeLog.9 for earlier changes.
+ 
+ ;; Local Variables:
+ ;; coding: iso-2022-7bit
+ ;; End:
+ 
+     Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copying and distribution of this file, with or without modification,
+   are permitted provided the copyright notice and this notice are preserved.
+ 
+ ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4




reply via email to

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