+2002-04-09 Kenichi Handa <handa@etl.go.jp>
+
+ * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
+ Fix arguments to insert_from_buffer.
+
+ * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
+
+2002-03-11 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (produce_chars): Set the variable `multibytep' correctly.
+ (decode_coding_gap): Set coding->dst_multibyte correctly.
+
+2002-03-07 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
+ (decode_coding_utf_16): Fix converting high and low bytes to
+ code-point.
+ (encode_coding_utf_16): Substitute coding->default_char for
+ non-Unicode characters.
+ (decode_coding): Don't call record_insert here.
+ (setup_coding_system): Initialize `surrogate' of
+ coding->spec.utf_16 to 0.
+ (EMIT_ONE_BYTE): Fix for multibyte case.
+
+ * insdel.c (insert_from_gap): Call record_insert.
+
+2002-03-04 Kenichi Handa <handa@etl.go.jp>
+
+ * casefiddle.c (casify_region): Fix multibyte case.
+
+ * character.c (c_string_width): Add return type `int'.
+ (char_string_with_unification): Arg ADVANCED deleted.
+
+ * character.h (CHAR_VALID_P): Don't call CHARACTERP.
+ (CHAR_STRING): Adjusted for the change of
+ char_string_with_unification.
+ (CHAR_STRING_ADVANCE): Make it do-while statement.
+
+ * chartab.c (sub_char_table_set_range): Optimized for the case
+ DEPTH == 3. Add workaround code for a GCC optimization bug.
+
+ * charset.c (parse_charset_map): Remove an unused variable.
+
+ * coding.c: Delete unused variables.
+
+ * fileio.c (Finsert_file_contents): Set coding_system to Qnil
+ earlier. If inserted is zero and the coding system doesn't
+ require flushing, don't call decode_coding_gap.
+
+ * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
+
+2002-03-01 Kenichi Handa <handa@etl.go.jp>
+
+ The following changes are for using Unicode as an internal
+ character model, and use UTF-8 format for buffer/string
+ representation.
+
+ * .gdbinit (xchartable): Adjusted for the change of char table
+ structure.
+ (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
+
+ * Makefile.in (obj): Add character.o and chartab.o.
+ (lisp, shortlisp): Remove utf-8.elc:
+ (*.o): For many files, change dependency on charset.h to
+ character.h, and add dependency on character.h.
+ (character.o, chartab.o): New targets.
+
+ * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
+ doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
+ w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
+ of "charset.h".
+
+ * dired.c, filelock.c: Include "character.h".
+
+ * alloc.c: Include "character.h" instead of "charset.h".
+ (Fmake_char_table): Moved to chartab.c.
+ (make_sub_char_table): Likewise.
+ (syms_of_alloc): Remove defsubr for Smake_char_table.
+
+ * buffer.c: Include "character.h" instead of "charset.h", don't
+ include "coding.h".
+ (Fset_buffer_multibyte): Adjuted for UTF-8.
+
+ * buffer.h: EXFUN Fbuffer_live_p.
+
+ * callproc.c: Include "character.h" instead of "charset.h".
+ (Fcall_process): Big change for the new code-conversion APIs.
+
+ * casetab.c: Include "character.h" instead of "charset.h".
+ (set_canon, set_identity, shuffle): Adjusted for the new
+ map_char_table spec.
+ (init_casetab_once): Call CHAR_TABLE_SET instead of directly
+ accessing the char table structure.
+
+ * chartab.c: New file that implements char table.
+
+ * category.c: Include "character.h".
+ (copy_category_entry): New function.
+ (copy_category_table): Call map_char_table and copy_category_entry.
+ (Fmake_category_table): Initialize all top-vel slots.
+ (char_category_set): New function.
+ (modify_lower_category_set): Deleted.
+ (Fmodify_category_entry): Call char_table_ref_and_range.
+
+ * category.h (CATEGORY_SET): Just call char_category_set.
+
+ * ccl.c: Include "character.h".
+ (Qccl, Qcclp): New variables.
+ (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
+ it's less than 256.
+ (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
+ (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
+ and DST type.
+ (ccl_driver): Types of arguments changed. Code adjusted for that.
+ (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
+ ccl_driver.
+ (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
+
+ * ccl.h (struct ccl_program): Members eol_type and multibyte
+ deleted. New members src_multibyte, dst_multibyte, consumed, and
+ produced.
+ (struct ccl_spec): Members decoder and encoder deleted. New
+ memeber ccl.
+ (CODING_SPEC_CCL_PROGRAM): New macro.
+ (ccl_driver): Prototype updated.
+ (Qccl, Qcclp, Fccl_program_p): Extern them.
+ (CHECK_CCL_PROGRAM): New macro.
+
+ * character.c, character.h, chartab.c: New files.
+
+ * charset.c: Mostly re-written. Character and multibyte sequence
+ handling codes are moved to character.c.
+
+ * charset.h: Mostly re-written. Character and multibyte sequence
+ handling codes are moved to character.h.
+
+ * coding.c, coding.h: Mostly re-written.
+
+ * composite.c: Include "character.h" instead of "charset.h".
+ (CHAR_WIDTH): Moved to character.h.
+ (HASH_KEY, HASH_VALUE): Deleted.
+
+ * composite.h (enum composition_method): Order of enumeration
+ symbols changed.
+
+ * data.c: Include "character.h" instead of "charset.h".
+ (Faref): Call CHAR_TABLE_REF for a char table.
+ (Faset): Call CHAR_TABLE_SET for a char table.
+
+ * dispextern.h (free_realized_face, check_face_attribytes,
+ generate_ascii_font): Extern them.
+ (free_realized_multibyte_face): Extern deleted.
+
+ * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
+ table structure.
+
+ * editfns.c: Include "character.h" instead of "charset.h".
+ (Fchar_to_string): Always call CHAR_STRING.
+
+ * emacs.c (main): Call init_charset_once, init_charset,
+ syms_of_chartab, and syms_of_character.
+
+ * fileio.c: Include "character.h" instead of "charset.h".
+ (Finsert_file_contents): Big change for the new code-conversion
+ API.
+ (choose_write_coding_system): Likewise.
+ (Fwrite_region): Likewise.
+ (build_annotations_2): Deleted.
+ (e_write): Big change for the new code-conversion API.
+
+ * fns.c: Include "character.h" instead of "charset.h".
+ (copy_sub_char_table): Moved to chartab.c.
+ (Fcopy_sequence): Call copy_char_table for a char table.
+ (concat): Delete codes calling count_multibyte.
+ (string_char_to_byte): Adjusted for the new multibyte form.
+ (string_byte_to_char): Likewise.
+ (internal_equal): Adjusted for the change of char table structure.
+ (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
+ Fchar_table_extra_slot, Fset_char_table_extra_slot,
+ Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
+ char_table_translate, optimize_sub_char_table,
+ Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
+ chartab.c.
+ (char_table_ref_and_index): Deleted.
+ (HASH_KEY, HASH_VALUE): Moved to lisp.h.
+ (Fmd5): Call preferred_coding_system instead of accessing
+ Vcoding_category_list. Adjusted for the new code-conversion API.
+ (syms_of_fns): Defsubr for char table related functions moved to
+ chartab.c.
+
+ * fontset.c: Mostly re-written.
+
+ * fontset.h (struct font_info): Type of the member encoding_type
+ changed.
+ (enum FONT_SPEC_INDEX): New enum.
+ (fontset_font_pattern, fs_load_font): Prototype updated.
+ (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
+
+ * indent.c: Include "character.h" instead of "charset.h".
+ (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
+ WIDTH_BY_CHAR_HEAD.
+
+ * insdel.c: Include "character.h" instead of "charset.h".
+ (copy_text): Don't refer to Vnonascii_translation_table.
+ (insert_from_gap): New function.
+
+ * keyboard.c: Include "character.h" instead of "charset.h".
+ (command_loop_1): Never call direct_output_forward_char before
+ a non-ASCII character.
+ (read_char): If Vkeyboard_translate_table is a char table, always
+ translated a character.
+
+ * keymap.c: Include "character.h".
+ (store_in_keymap): Handle the case that IDX is a cons.
+ (Fdefine_key): Handle the case that KEY is a cons and the car part
+ is also a cons (range).
+ (push_key_description): Adjusted for the new character code.
+ (describe_vector): Call describe_char_table for a char table.
+ (describe_char_table): New function.
+
+ * keymap.h (describe_char_table): Extern it.
+
+ * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
+ (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
+ (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
+ SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
+ Deleted.
+ (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
+ structure.
+ (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
+ (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
+ CHARTAB_SIZE_BITS_3): New macros.
+ (chartab_size): Extern it.
+ (struct Lisp_Char_Table): Re-designed.
+ (struct Lisp_Sub_Char_Table): New structure.
+ (HASH_KEY, HASH_VALUE): Moved from fns.c.
+ (CHARACTERBITS): Defined as 22.
+ (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
+ (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
+ (GC_SUB_CHAR_TABLE_P): New macro.
+ (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
+ (code_convert_string_norecord): Extern deleted.
+ (init_character_once, syms_of_character, init_charset,
+ syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
+
+ * lread.c: Include "character.h".
+ (read_multibyte): New arg NBYTES.
+ (read_escape): The meaning of returned *BYTEREP changed.
+ (to_multibyte): Deleted.
+ (read1): Adjuted the handling of char table and string.
+
+ * print.c: Include "character.h" instead of "charset.h".
+ (print_string): Convert 8-bit raw bytes to octal form by
+ string_escape_byte8.
+ (print_object): Adjusted for the new multibyte form. Print 8-bit
+ raw bytes always in octal form. Handle sub char table correctly.
+
+ * process.c: Include "character.h" instead of "charset.h".
+ (read_process_output): Adjusted for the new code-conversion API.
+ (send_process): Likewise.
+
+ * puresize.h (BASE_PURESIZE): Increased.
+
+ * regex.c: Include "character.h" instead of "charset.h".
+ (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
+ (regex_compile): Accept a range whose starting and ending
+ character have different leading bytes.
+ (analyse_first): Adjusted for the above change.
+
+ * search.c: Include "character.h" instead of "charset.h".
+ (search_buffer, boyer_moore): Adjusted for the new multibyte form.
+ (Freplace_match): Adjusted for the change of
+ multibyte_char_to_unibyte.
+
+ * syntax.c: Include "character.h" instead of "charset.h".
+ (syntax_parent_lookup): Deleted.
+ (Fmodify_syntax_entry): Accept a cons as CHAR.
+ (skip_chars): Adjusted for the new multibyte form.
+ (init_syntax_once): Call char_table_set_range instead of directly
+ accessing the structure of a char table.
+
+ * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
+ (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
+ (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
+ (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
+
+ * term.c: Include "buffer.h" and "character.h".
+ (encode_terminal_code): Adjusted for the new code-conversion API.
+ (write_glyphs): Likewise.
+ (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
+
+ * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
+
+ * xdisp.c: Include "character.h".
+ (get_next_display_element): Adjusted for the new multibyte form.
+ (disp_char_vector): Adjusted for the new char table structure.
+ (decode_mode_spec_coding): Adjusted for the new structure of
+ coding system.
+ (decode_mode_spec): Adjusted for the new code-conversion API.
+
+ * xfaces.c: Include "character.h" instead of "charset.h".
+ (load_face_font): Adjusted for the change of choose_face_font and
+ FS_LOAD_FONT.
+ (generate_ascii_font): New function.
+ (set_lface_from_font_name): Adjusted for the change of
+ FS_LOAD_FONT.
+ (set_font_frame_param): Adjusted for the change of
+ choose_face_font.
+ (free_realized_face): Make it public.
+ (free_realized_faces_for_fontset): Renamed from
+ free_realized_multibyte_face. Free also faces realized for ASCII.
+ (choose_face_font): Argments changed. Adjusted for the change of
+ fontset_font_pattern and FS_LOAD_FONT.
+
+ * xfns.c: Include "character.h".
+ (x_encode_text): Adjusted for the new code-conversion API.
+
+ * xselect.c: Don't include "charset.h".
+ (selection_data_to_lisp_data): Adjusted for the new code
+ covnersion API.
+
+ * xterm.c: Include "character.h".
+ (x_encode_char): New argument CHARSET. Caller changed.
+ (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
+ SPLIT_CHAR.
+ (x_get_glyph_face_and_encoding): Likewise.
+ (x_produce_glyphs): Don't check Vnonascii_translation_table Call
+ CHAR_WIDTH instead of CHARSET_WIDTH.
+ (XTread_socket): Adjusted for the new code-conversion API.
+ (x_new_font): Adjusted for the change of FS_LOAD_FONT.
+ (x_load_font): Adjusted for the change of struct font.
+
+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]: Corrected
+ 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.
+
+ * 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\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * 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 <schwab@suse.de>
+
+ * puresize.h (BASE_PURESIZE): Increase to 9/5.
+
+ * alloc.c (NSTATICS): Increase to 1280.
+
+2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+ * 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 <storm@cua.dk>
+
+ * 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 <rms@gnu.org>
+
+ * 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 <storm@cua.dk>
+
+ * 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 <eliz@is.elta.co.il>
+
+ * 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 <storm@cua.dk>
+
+ * 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 <eliz@is.elta.co.il>
+
+ * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
+
+ * xdisp.c (display_mode_lines): Fix last change.
+
+2002-02-09 Jason Rumney <jasonr@gnu.org>
+
+ * 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 <storm@cua.dk>
+
+ * 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 <storm@cua.dk>
+
+ * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
+ Changed mail addresses to emacs-devel@gnu.org.
+
+2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * 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\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
+
+2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
+
+ * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
+
+2002-02-07 Kim F. Storm <storm@cua.dk>
+
+ * keymap.c (where_is_internal): Only check whether definition is
+ remapped if it fulfills is_command_symbol.
+
+2002-02-07 Andreas Schwab <schwab@suse.de>
+
+ * 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 <storm@cua.dk>
+
+ * 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\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * keyboard.c (recursive_edit_1): Call cancel_hourglass
+ unconditionally.
+
+2002-02-06 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
+
+2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * charset.c (get_charset_id): Use if-else instead of ?:.
+
+2002-02-06 Richard M. Stallman <rms@gnu.org>
+
+ * filelock.c (S_ISLNK): Define if not defined.
+
+2002-02-03 Richard M. Stallman <rms@gnu.org>
+
+ * 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 <monnier@cs.yale.edu>
+
+ * 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 <schwab@suse.de>
+
+ * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
+ latter never being defined on GNU/Linux.
+
2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
* xfaces.c (realize_default_face): Don't set the weight and slant
2002-02-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
- * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]: Call
- cancel_hourglass unconditionally.
+ * 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-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
* minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
- (Fread_variable, Fread_buffer, minibuffer-completion-confirm): Fix
- doc-strings.
+ (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
+ Fix doc-strings.
2002-01-26 Richard M. Stallman <rms@gnu.org>
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.
+ * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
+ New window messages.
2002-01-20 Richard M. Stallman <rms@gnu.org>
2002-01-18 Richard M. Stallman <rms@gnu.org>
- * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
+ * 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 <rms@gnu.org>
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.
+ * w32term.c (x_erase_phys_cursor): Ditto.
2002-01-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
* lisp.h (adjust_after_replace_noundo)
(Fupdate_coding_systems_internal): Add prototypes.
- * sound.c (Fplay_sound): Initialize header_size also for :data
- case.
+ * sound.c (Fplay_sound): Initialize header_size also for :data case.
2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
* emacs.c (USAGE2): Add the new full-screen arguments.
(standard_args): Ditto.
- * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth): New
- variables.
+ * 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.
* 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
+ <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 <jasonr@gnu.org>
2002-01-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
- * keyboard.c (read_key_sequence): Remove unused variable
- `extra_maps'.
+ * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
2002-01-13 Andreas Schwab <schwab@suse.de>