(redisplay_window): Fix infinite loop in redisplay.
[bpt/emacs.git] / src / ChangeLog
index 1358bc7..6add287 100644 (file)
@@ -1,7 +1,116 @@
+2003-02-25  Kim F. Storm  <storm@cua.dk>
+
+       * 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\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * keyboard.c (cancel_hourglass_unwind): Surround with
+       #ifdef HAVE_X_WINDOWS
+
+2003-02-25  Kenichi Handa  <handa@m17n.org>
+
+       * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
+       process only when "subprocesses" is defined.
+
+2003-02-24  Juanma Barranquero  <lektu@terra.es>
+
+       * 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\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * keyboard.c (cancel_hourglass_unwind): New function.
+       (command_loop_1): Cancel hourglass with unwind-protect.
+
+2003-02-23  Richard M. Stallman  <rms@gnu.org>
+
+       * 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\e,A_\e(Bjohann  <kai.grossjohann@uni-duisburg.de>
+
+       * dired.c (directory_files_internal): Don't expand directory.
+       (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
+       instead.  From Lars Hansen <larsh@math.ku.dk>.
+
+2003-02-22  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * 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  <david@dponce.com>
+
+       * lread.c (Fload): Don't check STRING_MULTIBYTE.
+
+2003-02-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * 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\e,A_\e(Bjohann  <kai.grossjohann@uni-duisburg.de>
+
+       * keymap.c (Fdefine_key): Doc fix.
+
+2003-02-21  Juanma Barranquero  <lektu@terra.es>
+
+       Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
+
+       * 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  <handa@m17n.org>
+
+       * 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  <schwab@suse.de>
 
-       * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte): Add
-       prototypes.
+       * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
+       Add prototypes.
 
 2003-02-19  Kenichi Handa  <handa@m17n.org>
 
        names.
 
        * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
-       (sorted_font_list): Moved allocation of struct font_name to
+       (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.
        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\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * gtkutil.c (xg_tool_bar_expose_callback): New function.
 
 2003-02-16  Jason Rumney  <jasonr@gnu.org>
 
-       * w32fns.c (w32_list_bdf_fonts, w32_list_fonts): Negative
-       max_fonts parameter means list all.
+       * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
+       Negative max_fonts parameter means list all.
 
 2003-02-14  Dave Love  <fx@gnu.org>
 
 
        * process.c (QCfilter_multibyte): New variable.
        (setup_process_coding_systems): New function.
-       (Fset_process_buffer, Fset_process_filter): Call
-       setup_process_coding_systems.
+       (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.
 
        * xmenu.c (menu_position_func): Adjust menu popup position so that
        the menu is fully visible.
-       
 
 2003-02-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * 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.
+       (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-01-31  Kenichi Handa  <handa@m17n.org>
 
        * xdisp.c (SKIP_GLYPHS): New macro.
-       (set_cursor_from_row): Skip all glyphs that comes from overlay
-       string.
+       (set_cursor_from_row): Skip all glyphs that comes from overlay string.
 
 2003-01-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
-       * gtkutil.c (free_frame_tool_bar): Removed debug printf.
+       * gtkutil.c (free_frame_tool_bar): Remove debug printf.
 
 2003-01-30  Dave Love  <fx@gnu.org>
 
 2003-01-24  Kenichi Handa  <handa@m17n.org>
 
        * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
-       It it is nonzero, don't pretend that an invisible area doesn't
-       exist.
+       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.
 
        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.
+       (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
 
 2002-11-08  Juanma Barranquero  <lektu@terra.es>
 
-       * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
-       window.
+       * w32term.c (w32_draw_fringe_bitmap): Remove unused variable window.
 
 2002-11-08  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 
-       * process.c (Fformat_network_address): Removed unused locals p,
+       * process.c (Fformat_network_address): Remove unused locals p,
        cp, and i.
 
 2002-11-06  Dave Love  <fx@gnu.org>
        * 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\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+2002-03-10  Jan D.  <Jan.Djarv@mbox200.swipnet.se>
+
+       * xterm.h: Extern declare x_session_check_input () and
+       x_session_initialize ().
+
+       * xterm.c: Added calls to x_session_check_input () and
+       x_session_initialize ().
+
+       * termhooks.h (enum event_kind): Added save_session_event.
+
+       * keyboard.c: Added Emacs event save_session_event.
+
+       * emacs.c (main): Added call to syms_of_xsmfns ().
+
+       * lisp.h: Extern declare syms_of_xsmfns ().
+
+       * config.in: Added HAVE_X_SM
+
+       * Makefile.in: Added test for HAVE_X_SM and added new file xsmfns.c
+
+       * xsmfns.c: New file for X session management.
+
+2002-03-09  Jason Rumney  <jasonr@gnu.org>
+
+       * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
+       read-only when setting modified time.
+
+2002-03-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * 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  <lektu@terra.es>
+
+       * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
+       24-bit.
+
+2002-03-06  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
+
+2002-03-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * 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  <schwab@suse.de>
+
+       * xdisp.c (hscroll_margin): Change to EMACS_INT.
+
+2002-03-05  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * frame.c (default-frame-alist): Explain that setting it doesn't
+       affect existing frames.
+
+2002-03-05  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * 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  <monnier@cs.yale.edu>
+
+       * 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  <eliz@is.elta.co.il>
+
+       * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
+       environment, pass it down with corrected value.
+
+2002-03-04  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * lread.c (read_filtered_event): Do not call start_hourglass
+       before returning.
+
+2002-03-04  Juanma Barranquero  <lektu@terra.es>
+
+       * w32term.c (x_display_and_set_cursor): Fix typo.
+
+2002-03-03  Richard M. Stallman  <rms@gnu.org>
+
+       * fileio.c (Fmake_temp_name): Doc fix.
+
+2002-03-03  Gary Wong  <gtw@gnu.org>
+
+       * 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  <rms@gnu.org>
+
+       * 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  <eliz@is.elta.co.il>
+
+       * 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  <eliz@is.elta.co.il>
+
+       * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
+
+2002-03-02  Kim F. Storm  <storm@cua.dk>
+
+       * window.c (Fminibuffer_selected_window): New function.
+       (syms_of_window): Defsubr it.
+
+2002-03-01  Kim F. Storm  <storm@cua.dk>
+
+       * 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  <storm@cua.dk>
+
+       * 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  <storm@cua.dk>
+
+       * window.c: (minibuf_selected_window): Renamed from
+       Vminibuf_selected_window.  Users changed.
+       (syms_of_window): Staticpro it.
+
+2002-02-26  Kim F. Storm  <storm@cua.dk>
+
+       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  <eliz@is.elta.co.il>
+
+       * 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  <lektu@terra.es>
+
+       * w32proc.c (syms_of_ntproc): Doc fix.
+
+2002-02-24  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * intervals.h: Include "dispextern.h" unconditionally.
+
+2002-02-24  Jason Rumney  <jasonr@gnu.org>
+
+       * 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  <storm@cua.dk>
+
+       * 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  <storm@cua.dk>
+
+       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  <eliz@is.elta.co.il>
+
+       * coding.h (run_pre_post_conversion_on_str): Add prototype.
+
+2002-02-23  Jason Rumney  <jasonr@gnu.org>
+
+       * 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\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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  <eliz@is.elta.co.il>
+
+       * w16select.c (Fw16_get_clipboard_data): Fix last change.
+
+       * xselect.c (selection_data_to_lisp_data): Fix last change.
+
+2002-02-22  Jason Rumney  <jasonr@gnu.org>
+
+       * 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  <eliz@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increase to 755000.
+
+2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * 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  <eliz@is.elta.co.il>
+
+       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  <storm@cua.dk>
+
+       * 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  <storm@cua.dk>
+
+       * 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\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * xfns.c (gif_load): Use correct width and height for GIF images.
+
+2002-02-19  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * floatfns.c (Fatan): Accept an optional second arg and call
+       atan2 if passed 2 args.
+
+2002-02-18  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (glyph_rect): Determine the row and glyph more precisely.
+
+2002-02-17  Jason Rumney  <jasonr@gnu.org>
+
+       * 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  <storm@cua.dk>
+
+       * 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  <eliz@is.elta.co.il>
+
+       * 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.
 
-       * xterm.h (x_session_check_input, x_sess
+       * 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.