X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/dfc7a077e3b0e264556c6135517440d6be35d4e4..6a709baf2a6cb7932fbc00080212294d39bb5781:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index 813cfc9bb5..9be736a7fc 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,984 @@ +2002-04-09 Kenichi Handa + + * 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 + + * coding.c (produce_chars): Set the variable `multibytep' correctly. + (decode_coding_gap): Set coding->dst_multibyte correctly. + +2002-03-07 Kenichi Handa + + * 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 + + * 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 + + 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 + + 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 + + * 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 + + * w32proc.c (syms_of_ntproc): Doc fix. + +2002-02-24 Pavel Jan,Bm(Bk + + * intervals.h: Include "dispextern.h" unconditionally. + +2002-02-24 Jason Rumney + + * 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 + + * 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 + + 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 + + * coding.h (run_pre_post_conversion_on_str): Add prototype. + +2002-02-23 Jason Rumney + + * 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) : Fix last change. + +2002-02-23 Pavel Jan,Bm(Bk + + * 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 + + * w16select.c (Fw16_get_clipboard_data): Fix last change. + + * xselect.c (selection_data_to_lisp_data): Fix last change. + +2002-02-22 Jason Rumney + + * 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) : Handle menu_free_timer. + : Delay before freeing menu. Do nothing if a + menu command is in progress. + : 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 + + * puresize.h (BASE_PURESIZE): Increase to 755000. + +2002-02-22 Eli Zaretskii + + * 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 + + Support for ICCCM Extended Segments in X selections: + + * xselect.c : 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 + + * 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 + + * 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,Bm(Bk + + * xfns.c (gif_load): Use correct width and height for GIF images. + +2002-02-19 Eli Zaretskii + + * floatfns.c (Fatan): Accept an optional second arg and call + atan2 if passed 2 args. + +2002-02-18 Jason Rumney + + * w32term.c (glyph_rect): Determine the row and glyph more precisely. + +2002-02-17 Jason Rumney + + * 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) : Don't resize to + fullscreen. Call x_check_fullscreen_move, and set the + want_fullscreen member of output_data.w32 + : 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 + + * 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 + + * 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,Bm(Bk + + * 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 + + * puresize.h (BASE_PURESIZE): Increase to 9/5. + + * alloc.c (NSTATICS): Increase to 1280. + +2002-02-15 Kai Gro,A_(Bjohann + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change. + + * xdisp.c (display_mode_lines): Fix last change. + +2002-02-09 Jason Rumney + + * 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 + + * 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 + + * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): + Changed mail addresses to emacs-devel@gnu.org. + +2002-02-08 Eli Zaretskii + + * 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,Bm(Bk + + * sysdep.c (init_system_name): Put unused variable `p' in #if 0. + +2002-02-07 Stefan Monnier + + * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c). + +2002-02-07 Kim F. Storm + + * keymap.c (where_is_internal): Only check whether definition is + remapped if it fulfills is_command_symbol. + +2002-02-07 Andreas Schwab + + * 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 + + * 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,Bm(Bk + + * keyboard.c (recursive_edit_1): Call cancel_hourglass + unconditionally. + +2002-02-06 Jason Rumney + + * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change. + +2002-02-06 Eli Zaretskii + + * charset.c (get_charset_id): Use if-else instead of ?:. + +2002-02-06 Richard M. Stallman + + * filelock.c (S_ISLNK): Define if not defined. + +2002-02-03 Richard M. Stallman + + * 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 + + * 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 + + * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the + latter never being defined on GNU/Linux. + +2002-02-02 Eli Zaretskii + + * 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,Bm(Bk + + * 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 + + * 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 + + * minibuf.c (Fcompleting_read): Doc fix. + +2002-01-27 Pavel Jan,Bm(Bk + + * 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 + + * 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,Bm(Bk + + * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes. + +2002-01-25 Stefan Monnier + + * 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 + + * 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 + + * 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) : Initialize update_rect. + Combine the regions returned by BeginPaint and GetUpdateRect. + +2002-01-23 Jason Rumney + + * 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 + + * 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 D. + + * xfns.c (x_set_frame_parameters): Typo in previous fix corrected. + +2002-01-21 Jan D. + + * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust + if fullscreen is being set. + +2002-01-21 Pavel Jan,Bm(Bk + + * 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 + + * window.c (check_frame_size): Fix minimum height calculation. + +2002-01-20 Ken Raeburn + + * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window + height before comparison. + (WINDOW_WANTS_HEADER_LINE_P): Likewise. + +2002-01-20 Jason Rumney + + * 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) : Set it. + : Arrange for system caret to be visible if + the user requests it. Use system default width when creating. + : Handle new messages. + + * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET): + New window messages. + +2002-01-20 Richard M. Stallman + + * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1. + +2002-01-20 Pavel Jan,Bm(Bk + + * doprnt.c (doprnt1): Fix typos in error call. + +2002-01-20 Eli Zaretskii + + * unexelf.c (unexec) [__sgi]: Support the .got sections. + +2002-01-20 Jason Rumney + + * 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,Bm(Bk + + * dispnew.c (update_frame): Move the variable `tem' to the block + where it is used. + +2002-01-19 Jason Rumney + + * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around + call to face-set-after-frame-default. + +2002-01-18 Richard M. Stallman + + * 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 + + * 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,Bm(Bk * term.c (set_tty_color_mode): Remove unused variable `tem'. @@ -12,7 +993,7 @@ 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,Bm(Bk @@ -36,8 +1017,7 @@ * 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 @@ -73,8 +1053,8 @@ * 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. @@ -85,8 +1065,8 @@ * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions. (XTread_socket) : Call x_check_fullscreen. - : Don't resize to fullscreen. Call - x_check_fullscreen_move, and set the want_fullscreen member of + : 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 @@ -103,8 +1083,7 @@ 2002-01-13 Pavel Jan,Bm(Bk - * 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 @@ -139,7 +1118,7 @@ 2002-01-07 Jason Rumney * xmenu.c (set_frame_menubar, xmenu_show): - (xdialog_show): Initialize wv->help to Qnil. + (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. @@ -174,8 +1153,8 @@ (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. + (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 @@ -273,17 +1252,17 @@ * 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 * 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. + (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. @@ -310,7 +1289,7 @@ 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 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed. @@ -321,7 +1300,7 @@ 2001-12-22 Pavel Jan,Bm(Bk - The following changes remove mocklisp support: + The following changes remove mocklisp support: * mocklisp.h, mocklisp.c: Files removed. @@ -329,17 +1308,15 @@ `Qmocklisp' and `Qmocklisp_arguments'. Remove prototype of syms_of_mocklisp. - * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp - files. + * 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. + `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'. @@ -514,8 +1491,8 @@ 2001-12-09 Jason Rumney - * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add - comment to explain where the struct came from. + * 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 @@ -544,7 +1521,7 @@ * alloc.c (inhibit_garbage_collection): Don't exceed value an int can hold. - * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed + * 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. @@ -2738,8 +3715,8 @@ 2001-10-10 Stefan Monnier - * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c, - casefiddle.c, buffer.c: Include keymap.h. + * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c + * casefiddle.c, buffer.c: Include keymap.h. 2001-10-10 Gerd Moellmann