X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/d8e675f595572a1c097c90b9df59e79d0e329218..5de7c6f2360dddb513582c10a1d7d656a388e35f:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index 4830ddbb48..357b78cb8f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,589 @@ +2001-03-08 Gerd Moellmann + + * xterm.c (note_mouse_highlight): Handle mouse-face and + help-echo in strings. + (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P. + (fast_find_string_pos): New function. + + * xdisp.c (handle_face_prop, face_before_or_after_it_pos) + (display_string): Call face_at_string_position with new + parameter. + + * xfaces.c (face_at_string_position): Add parameter MOUSE_P. + Handle `mouse-face'. + + * dispextern.h (face_at_string_position): Change prototype. + + * dired.c (directory_files_internal): Handle EAGAIN more + efficiently. + + * keyboard.c (make_lispy_event): Avoid generating drag events + if the mouse hasn't actually moved to another buffer position. + +2001-03-08 Dave Love + + * eval.c (syms_of_eval) : Doc fix. + +2001-03-08 Gerd Moellmann + + * process.c (Fset_process_window_size): Fix a typo. + +2001-03-08 Kenichi Handa + + * coding.c (detect_coding_sjis): Do more rigid check. + (detect_coding_big5): Likewise. + (decode_coding_sjis_big5): Likewise. + (Fdetect_coding_region): Call detect_coding_system with tailing + anchor byte `\0' for more rigid detection. + (detect_coding_mask): Fix the incorrect handling of arg + MULTIBYTEP. + (Fdetect_coding_string): Likewise. + +2001-03-07 Stefan Monnier + + * bytecode.c (Fbyte_code) : Check the arg is + a string before extracting its data. + +2001-03-07 Gerd Moellmann + + * window.c (Frecenter): Rewrite code handling negative values + of ARG on graphical frames. + +2001-03-07 Eli Zaretskii + + * window.c (displayed_window_lines): If W->start is outside the + accessible portion of the buffer, call start_display with BEGV or + ZV instead of W->start. + +2001-03-07 Gerd Moellmann + + * buffer.c (syms_of_buffer) : Doc fix. + + * process.c (Fset_process_filter): Don't crash if the input + file descriptor of PROCESS is closed. + (Fset_process_window_size): Likewise. + +2001-03-06 Kenichi Handa + + * xterm.c (XTflash): Make the timeout of select shorter, and call + select repeatedly until the desired time expires. + +2001-03-06 Gerd Moellmann + + * w32fns.c (Fx_create_frame): Clear Vwindow_list. + + * xfns.c (Fx_create_frame): Clear Vwindow_list. + + * lisp.h (Vwindow_list): Declare extern. + +2001-03-06 Eli Zaretskii + + * dispnew.c (syms_of_display) : Doc fix. + +2001-03-06 Gerd Moellmann + + * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps + to detect a case where we have to highlight a different region + despite not having left the currently highlighted region. + Set mouse_face_overlay in the x_display_info. + (x_term_init): Initialize the x_display_info's mouse_face_overlay. + + * xterm.h (struct x_display_info): Add mouse_face_overlay. + + * buffer.c (mouse_face_overlay_overlaps): New function. + + * lisp.h (mouse_face_overlay_overlaps): Add prototype. + (Qmouse_face): Declare extern. + + * xdisp.c (redisplay_internal): Set windows_or_buffers_changed + if face_change_count is non-zero. + +2001-03-06 Kenichi Handa + + * ccl.c (ccl_driver) : Fix for the case + that the source is unibyte. + +2001-03-05 Dave Love + + * xterm.c (XTmouse_position): Fix typo. + +2001-03-05 Gerd Moellmann + + * minibuf.c (read_minibuf): Clean up the binding stack if + called noninteractively. + +2001-03-05 Kenichi Handa + + * coding.c (syms_of_coding): Docstring modified. + +2001-03-05 Kenichi Handa + + * charset.c (char_to_string): If a single byte char has modifier + bits that can't be reflected to the character code, ignore them + instead of signaling an error. + +2001-03-04 Eli Zaretskii + + * s/msdos.h: Update copyright notice. + + * dosfns.h: Update copyright notice. + + * dosfns.c: Update copyright notice. + + * msdos.c: Update copyright notice. + +2001-03-02 Gerd Moellmann + + * xterm.c (glyph_rect): New function. + (XTmouse_position): Use it to raise the threshold for mouse + movement event generation. + +2001-03-02 Eli Zaretskii + + * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist + specifies (reverse . t), reverse the initial screen colors. + (IT_set_frame_parameters): If the property is foreground-color, + but we are reversing the colors, set bg_set, not fg_set. Likewise + for setting background-color and reversing: set fg_set. Set + unspecified-fg and unspecified-bg correctly when (reverse . t) is + in effect. + + * xfaces.c (Finternal_set_lisp_face_attribute) + [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's + parameters alist. + +2001-03-02 Gerd Moellmann + + * fileio.c (Fexpand_file_name): Collapse sequences of slashes + to a single slash in the middle of file names. + + * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]: + Accept only alphanumeric time zone names. + + * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height + or width area. + (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure + a widget to zero height. + +2001-03-01 Gerd Moellmann + + * window.c (Fwindow_end): Call move_it_past_eol only if + ending up on a partially visible line. + +2001-03-01 Dave Love + + * ccl.c (Fccl_execute): Doc fix. + +2001-03-01 Gerd Moellmann + + * xfns.c (Fx_create_frame): Adjust the frame's height for presence + of the tool bar before calling x_figure_window_size. + + * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to + NULL after destroying it, otherwise XTread_socket can access a + destroyed widget when input is unblocked. + + * xfns.c (x_set_foreground_color): Set the background of the cursor GC. + + * xfns.c (x_set_font): Handle case of x_new_fontset returning the + same name as before, although there was a change in fontsets. + +2001-02-28 Ken Raeburn + + * lisp.h (Fframe_parameter): Declare. + + * window.c (set_window_buffer): Field vscroll is an int, not a + Lisp_Object. + +2001-02-28 Gerd Moellmann + + * xterm.c (x_set_window_size): Don't use `None' with widgets; use + NULL instead. + + * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use + NULL instead. + + * alloc.c (toplevel): Include process.h. + (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE, + MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators. + (allocate_vectorlike): Make it a static function. Add parameter TYPE. + (allocate_vector, allocate_hash_table, allocate_window) + (allocate_frame, allocate_process, allocate_other_vector): New + functions. + (Fmake_vector): Call allocate_vector instead of allocate_vectorlike. + (mark_maybe_pointer): New function. + (mark_memory): Also mark Lisp data to which only pointers + remain and not Lisp_Objects. + (min_heap_address, max_heap_address): New variables. + (mem_find): Return MEM_NIL if START is below min_heap_address or + above max_heap_address. + (mem_insert): Compute min_heap_address and max_heap_address. + + * process.c (make_process): Use allocate_process. + + * frame.c (make_frame): Use allocate_frame. + + * window.c (make_window, make_dummy_parent): Use allocate_window. + (Fcurrent_window_configuration): Use allocate_other_vector. + + * lisp.h (allocate_vectorlike): Remove prototype. + (allocate_vector, allocate_other_vector, allocate_frame) + (allocate_window, allocate_process, allocate_hash_table): + Add prototypes. + + * fns.c (Fdelete, larger_vector): Use allocate_vector. + (make_hash_table, copy_hash_table): Use allocate_hash_table. + +2001-02-27 Kenichi Handa + + * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero, + treat the produced bytes as a valid multibyte sequence. + + * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro. + (ccl_driver) : Use + CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR. + : Set ccl->eight_bit_control properly. + + * ccl.h (struct ccl_program): New member eight_bit_control. + +2001-02-26 Stefan Monnier + + * keymap.c (Faccessible_keymaps): Pass `is_metized' to + accessible_keymaps_char_table. + (accessible_keymaps_char_table): Obey `is_metized'. + (where_is_internal, Fwhere_is_internal): Don't confuse int and + Lisp_Object. + +2001-02-26 Gerd Moellmann + + * dispnew.c: Check HAVE_TERM_H before including term.h. + +2001-02-24 Andrew Innes + + * makefile.w32-in: Update copyright notice. + +2001-02-24 Stefan Monnier + + * keymap.c (where_is_internal): Accept non-ascii integer prefixes. + +2001-02-24 Kenichi Handa + + * Makefile.in (lisp): Add international/utf-8.elc. + + * fontset.c (Fnew_fontset): Fix handling of the case that an + element of FONTLIST is a cons of family and registry. + +2001-02-23 Jason Rumney + + * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES + to height unconditionally. + + * w32term.c (x_set_glyph_string_background_width): Extend the + background face to the end of the drawing area in the text area, + only. + (x_insert_glyphs): Call window_box_left to obtain the left + x-coordinate of the area to shift. + + * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with + safe_run_hooks. + +2001-02-22 Andrew Innes + + * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header + files. + ($(BLD)\dispnew.obj): + ($(BLD)\editfns.obj): + ($(BLD)\fileio.obj): + ($(BLD)\filelock.obj): + ($(BLD)\keyboard.obj): + ($(BLD)\w32proc.obj): + ($(BLD)\process.obj): + ($(BLD)\sysdep.obj): Ditto. + + * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS + header files. + ($(BLD)/dispnew.$(O)): + ($(BLD)/editfns.$(O)): + ($(BLD)/fileio.$(O)): + ($(BLD)/filelock.$(O)): + ($(BLD)/keyboard.$(O)): + ($(BLD)/w32proc.$(O)): + ($(BLD)/process.$(O)): + ($(BLD)/sysdep.$(O)): Ditto. + +2001-02-22 Gerd Moellmann + + * xdisp.c (forward_to_next_line_start): When taking the shortcut + at the start of the function, check that the \n in it->c is + from the iterator's current position. + + * xdisp.c (handle_single_display_prop): Add parameter + DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display + properties which replace the display of text with something else. + (handle_display_prop): Call handle_single_display_prop with + additional argument saying if we already replaced text display + with something else. Use AREF. + (with_echo_area_buffer_unwind_data, display_menu_bar) + (decode_mode_spec_coding): Use AREF and ASIZE. + + * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c, + * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c, + * vmstime.h: Files removed. + + * unexencap.c, unexfx2800.c: Files removed. + + * dispnew.c (direct_output_for_insert): Give up if we are showing + a message or just cleared the message because we might need to + resize the echo area window or display an empty echo area. + +2001-02-21 Gerd Moellmann + + * xdisp.c (redisplay_internal): Do the + mark_window_display_accurate after all windows have been + redisplayed because this call resets flags in buffers which are + needed for proper redisplay. + + * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use + display_hourglass_p, start_hourglass, cancel_hourglass instead of + the old names. + + * w32term.h (struct x_output): Rename busy_cursor to + hourglass_cursor, busy_window to hourglass_window, busy_p to + hourglass_p. + + * msdos.h (struct x_output): Rename busy_window to + hourglass_window, busy_p to hourglass_p. + + * xterm.h (struct x_output): Rename busy_cursor to + hourglass_cursor, busy_window to hourglass_window, busy_p to + hourglass_p. + + * xfns.c: Rename everything containing *busy_cursor* and similar + to *hourglass*. + (syms_of_w32fns): Rename x-busy-pointer-shape to + x-hourglass-pointer-shape, display-busy-cursor to + display-hourglass, busy-cursor-delay to hourglass-delay. + + * w32fns.c: Rename everything containing *busy_cursor* and similar + to *hourglass*. + (syms_of_w32fns): Rename x-busy-pointer-shape to + x-hourglass-pointer-shape, display-busy-cursor to + display-hourglass, busy-cursor-delay to hourglass-delay. + + * xterm.c (XTread_socket): Test x_output's hourglass_p instead + of its busy_p flag. + + * dispextern.h (start_hourglass, cancel_hourglass) + (display_hourglass_p): Renamed from *busy_cursor*. + +2001-02-20 Gerd Moellmann + + * keyboard.c (read_char): When an event from unread-command-events + is from the tool or menu bar, set *USE_MOUSE_MENU to 1. + + * window.c (Fwindow_end): Handle case that WINDOW's buffer is not + equal to the current buffer. + + * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to + nil, otherwise we're left with truncate_lines t when a message + is printed with message-truncate-lines bound to t. + +2001-02-19 Gerd Moellmann + + * window.c (Fmove_to_window_line): Undo last change. + (displayed_window_lines): Call line_bottom_y to determine + the line's bottom position. + + * dispextern.h (line_bottom_y): Add prototype. + + * xdisp.c (line_bottom_y): New function extracted from + pos_visible_p. + (pos_visible_p): Use it. + + * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and + set redisplaying_p to 0 here instead of in Frecursive_edit. + (Frecursive_edit): Don't bind `inhibit-redisplay' and don't + set redisplaying_p. + + * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update): + New variables. + (syms_of_xdisp): Initialize new variables. + (update_menu_bar): Do nothing if inhibit_menubar_update is set. + Specbind `inhibit-menubar-update' when updating the menu bar. + + * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with + safe_run_hooks. + + * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with + safe_run_hooks. + + * emacs.c (malloc_initialize_hook): Handle case thet `environ' + is null. + + * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration + to the start of the file. + +2001-02-16 Gerd Moellmann + + * window.c (set_window_buffer): Fix last change. + + * window.c (set_window_buffer): Set window's vscroll to 0. + + * window.c (coordinates_in_window): Increase width of area + where the vertical line can be dragged. + + * xterm.c (x_set_glyph_string_background_width): Extend the + background face to the end of the drawing area in the text + area, only. + + * xdisp.c (handle_single_display_prop): Set iterator's position + to where the `display' property starts, like for images. + (dump_glyph): New function. + (dump_glyph_row): Use it. Dump info about marginal areas. + + * dispnew.c (direct_output_for_insert): Recognize more cases where + glyphs can be written instead of being inserted. + + * xterm.c (x_insert_glyphs): Call window_box_left to obtain + the left x-coordinate of the area to shift. + + * dired.c (directory_files_internal): Set result list to nil + before retrying. + +2001-02-15 Kenichi Handa + + * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an + invalid multibyte sequence, treat *SRC as a character of + eight-bit-graphic. + +2001-02-15 Eli Zaretskii + + * textprop.c (Fset_text_properties): Doc fix. + +2001-02-15 Gerd Moellmann + + * dispnew.c (update_text_area): Undo change of 2001-01-12. + +2001-02-14 Dave Love + + * coding.c: Doc and message fixes. + +2001-02-14 Andrew Innes + + * w32fns.c (w32_wnd_proc) : Allow resizing the + Emacs frame above the screen size. + +2001-02-14 Gerd Moellmann + + * xdisp.c (reseat_1): Set iterator's end_charpos to ZV. + +2001-02-13 Gerd Moellmann + + * insdel.c (del_range_1, del_range_byte, del_range_both): Handle + case that TO ends up beyond ZV after running before-change-functions. + + * window.c (window_loop) : Prefer to return + the selected window if it is showing the buffer in question. + + * dired.c (directory_files_internal): Initialize errno. + (toplevel): Include errno.h. + +2001-02-13 Kenichi Handa + + * xfaces.c (best_matching_font): New parameter width_ratio. + Multiply avgwidth by width_ratio. + (choose_face_font): Call best_matching_font with width_ratio + calculated from the column width of C. + +2001-02-12 Andrew Innes + + The following changes are to draw box lines inside characters area + if line-width is negative. + + * w32term.c (x_produce_image_glyph): Pay attention to the case that + face->box_line_width is negative. + (x_produce_stretch_glyph): Likewise. + (x_produce_glyphs): Likewise. + (x_estimate_mode_line_height): Likewise. + (x_draw_glyph_string_background): Likewise. + (x_draw_glyph_string_foreground): Likewise. + (x_draw_composite_glyph_string_foreground): Likewise. + (x_draw_glyph_string_box): Likewise. + (x_draw_image_foreground): Likewise. + (x_draw_image_relief): Likewise. + (x_draw_image_foreground_1): Likewise. + (x_draw_image_glyph_string): Likewise. + +2001-02-09 Kenichi Handa + + The following changes are to draw box lines inside characters area + if line-width is negative. + + * xterm.c (x_produce_image_glyph): Pay attention to the case that + face->box_line_width is negative. + (x_produce_stretch_glyph): Likewise. + (x_produce_glyphs): Likewise. + (x_estimate_mode_line_height): Likewise. + (x_draw_glyph_string_background): Likewise. + (x_draw_glyph_string_foreground): Likewise. + (x_draw_composite_glyph_string_foreground): Likewise. + (x_draw_glyph_string_box): Likewise. + (x_draw_image_foreground): Likewise. + (x_draw_image_relief): Likewise. + (x_draw_image_foreground_1): Likewise. + (x_draw_image_glyph_string): Likewise. + + * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box + and :line-width can be negative. + (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be + negative. + +2001-02-09 Jason Rumney + + * w32term.c (w32_encode_char): Treat eight bit graphic and control + characters the same as ASCII and latin-1. + (x_display_and_set_cursor): Check for the focus frame's selected + window instead of selected_window. + (x_after_update_window_line): Don't clear if frame's internal + border width is zero. + (x_new_font): Don't change a tooltip's size. + (w32_initialize): Set char_ins_del_ok to 1. + + * w32fns.c (Fx_show_tip): Fix calls to make_number. + (x_set_font): If font hasn't changed, avoid recomputing + faces and other things. + (x_set_tool_bar_lines): Do nothing if frame is + minibuffer-only, + (Fx_create_frame): Add the tool bar height to the frame + height. + (x_create_tip_frame): Prevent changing the tooltip's + background color by specifying a color for the default font + in .Xdefaults. + (Qcancel_timer): New variable. + (syms_of_w32fns): Initialize and staticpro it. + (Fx_hide_tip, Fx_show_tip): Use it. + (Fx_show_tip): Make sure to set tip_timer to nil when canceling + the timer. + (toplevel): Lisp code for generating parts of syms_of_w32fns removed. + + * w32.c (init_environment): Duplicate local string before putenv. + +2001-02-09 ShengHuo ZHU + + * charset.c (Fstring): A typo. + +2001-02-09 Kenichi Handa + + * charset.c (Fstring): If all arguments are less than 256, return + a unibyte string. + + * editfns.c (Fchar_to_string): If CHARACTER is less than 256, + return a unibyte string. + + * coding.c (code_convert_region): After detecting a coding, if + nothing found, set coding->composing to COMPOSITION_NO. + (decode_coding_string): Likewise. + 2001-02-08 Stefan Monnier * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'