*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
index 790b79e..62bbfe2 100644 (file)
@@ -1,5 +1,506 @@
+2001-09-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * process.c (sigchld_handler) [LINUX]: Don't return from
+       the signal handler at the end of the loop.
+
+2001-09-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: Terminate
+       only if kill returns -1, and errno is ESRCH.
+
+2001-09-21  Markus Rost  <rost@math.ohio-state.edu>
+
+       * Makefile.in (shortlisp): Add ../lisp/env.elc.
+
+2001-09-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
+       since this function can be called during GC.
+
+       * callproc.c (Fcall_process): Handle errors from pipe(2).
+       (child_setup): Delete code in #ifdef vipc.
+
+2001-09-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
+       (display_mode_element): Display the string from decode_mode_spec
+       depending on its multibyteness.
+
+       * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
+
+       * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
+
+2001-09-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
+       recursive_edit_unwind.
+       (recursive_edit_unwind): Set kboard state according to
+       SINGLE-KBOARD.
+
+       * buffer.c (modify_overlay): Don't do nothing if START == END;
+       This can still be a modification, for example when an overlay has
+       a before-string or after-string.
+       (Fdelete_overlay): Prevent redisplay optimizations when deleting
+       an overlay with before-string or after-string.
+
+       * s/netbsd.h (C_SWITCH_SYSTEM): Add.
+       (LD_SWITCH_SYSTEM): Include /usr/local/lib.
+
+       * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
+       first_unchanged_at_end_row is in front of
+       last_unchanged_at_beg_row.  This code should be removed after the
+       release of 21.1.
+
+2001-09-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
+       BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
+
+       * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
+       versions >= 2.95.
+
+2001-09-14  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dired.c (Ffile_attributes): Doc fix.
+
+2001-09-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Ffile_symlink_p): Fix last change.
+
+       * filelock.c (current_lock_owner): Fix last change.
+
+2001-09-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * filelock.c (current_lock_owner): If readlink returns ERANGE,
+       take that to mean that the buffer is too small.
+
+       * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
+       that to mean that the buffer is too small.
+
+       * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
+       current buffer's multibyteness when discarding the iterator's
+       stack.
+
+       * xfns.c (Fx_window_property): Handle case that property gets
+       deleted between the two calls to XGetWindowProperty.
+
+2001-09-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
+       
+       * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
+       in addition to read-only.
+
+       * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
+       to t in addition to read-only.
+
+       * lisp.h (Qinhibit_modification_hooks): Declare.
+
+       * insdel.c (Qinhibit_modification_hooks): New variable.
+       (syms_of_insdel): Initialize and staticpro it.
+
+       * textprop.c (verify_interval_modification): Don't run
+       modification-hooks if inhibit_modification_hooks.
+
+       * dispnew.c (set_window_cursor_after_update): Fix code
+       finding glyph row containing cursor when cursor_in_echo_area
+       is >= 0.
+
+       * xdisp.c (init_from_display_pos): Put some code in #if 0.
+       (add_to_log): Use bcopy instead of strcpy.
+       (init_from_display_pos): Use an explicit loop over bytes in
+       overlay strings instead of calling index.
+
+2001-09-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
+
+       * dispnew.c (direct_output_for_insert): Don't change IT's
+       stop_charpos to something in front of its current position.
+
+       * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
+       `format'.
+
+2001-09-10  Richard M. Stallman  <rms@gnu.org>
+
+       * frame.c (Fmouse_position): Doc fix.
+
+2001-09-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (init_from_display_pos): Don't compare the result
+       of calling index with NULL.
+
+2001-09-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_set_background_color): Don't change the colors
+       of the X window of scroll bar widgets.
+
+2001-09-05  Andrew Innes  <andrewi@gnu.org>
+
+       * w32fns.c (w32_createwindow): Undo last change.
+
+2001-09-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
+
+       * xdisp.c (string_buffer_position): Use *single_char_property*
+       functions instead of the *single_property* functions.
+       
+2001-09-04  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.c (w32_read_socket): Add more information to debugging
+       output.
+
+       * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
+       from Emacs frames, so that calls to GetClipBox in w32term.c
+       correctly report when part of a frame is visible (including
+       scrollbars, etc).  This prevents repeated redrawing of frames when
+       only a scrollbar is visible.
+       (w32_wnd_proc): Add more frame information to debugging output.
+
+2001-09-03  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
+
+2001-09-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (note_mouse_highlight) <help-echo>: When looking for
+       help-echo for a string which doesn't have help-echo itself, use
+       get-char-property to obtain the help-echo from the string's buffer
+       (note_mouse_highlight) <mouse-face>: When on a string that doesn't
+       have mouse-face, look ``under'' the string for mouse-face from an
+       overlay.
+       (fast_find_position): Add parameter STOP.  In the final row, stop
+       before glyphs having STOP as object.  Don't consider glyphs that
+       are not from a buffer.
+
+       * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
+
+2001-09-01  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fns.c (Fmd5): Doc fix.
+
+2001-08-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * composite.c (update_compositions): Do nothing if
+       inhibit-modification-hooks is set.
+
+2001-08-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * emacs.c (shut_down_emacs): Don't call check_glyph_memory
+       and check_message_stack if terminating abnormally.  We want
+       glyph matrices etc. in a core dump.
+
+       * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
+       (syms_of_xdisp): Initialize them.
+       (handle_single_display_prop): Don't change point, bind `object',
+       `position', and `buffer-position' instead to the object having the
+       `display' property, position in the object and position in the buffer.
+
+       * fileio.c (Finsert_file_contents): Don't change the multibyteness
+       of the buffer if REPLACE is non-nil.
+
+2001-08-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
+
+2001-08-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * w32term.c (x_set_glyph_string_background_width)
+       (show_mouse_face): Track the last changes in xterm.c.
+
+2001-08-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_set_glyph_string_background_width): Set the glyph
+       string's background width so that multi-line mouse-face is drawn
+       to the right edge of the window.
+       (show_mouse_face): Set the row's mouse_face_p flag after drawing
+       glyphs.
+
+       * dispnew.c (direct_output_for_insert): Set updated_area
+       before inserting/writing glyphs.
+
+       * xdisp.c (display_mode_element): Use string_byte_to_char to
+       determine character positions in strings, use chars_in_text
+       instead of strwidth.
+       (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
+       a matrix as parameter; this is easier to use from GDB.
+
+2001-08-28  Miles Bader  <miles@gnu.org>
+
+       * textprop.c (Fprevious_single_char_property_change)
+       (Fnext_single_char_property_change): Doc fixes.
+
+2001-08-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Finsert_file_contents): Allocate, restore, and
+       free composition data in the case of REPLACE not being nil.
+
+       * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
+       there exist overlay strings with newlines at POS.
+       (text_outside_line_unchanged_p): Return 0 if changes start at
+       START and overlays exist at START.  Likewise for END.
+       (try_window_id): Give up if init_to_row_end returns 0.
+
+       * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
+       unconditionally.
+
+2001-08-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * keymap.c (access_keymap): Return the cdr of the binding of
+       a generic character instead of its definition (KEY . BINDING).
+
+       * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
+       to 0 also in the REPLACE case.
+
+2001-08-24  Andrew Choi  <akochoi@cse.cuhk.edu.hk>
+
+       * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
+       open to determine whether file is readable (as for DOS_NT).
+
+2001-08-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
+       coding.type is coding_type_no_conversion or coding_type_raw_text,
+       use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
+       non-nil instead of just setting enable_multibyte_characters in the
+       buffer to nil.
+
+2001-08-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispextern.h (struct face_cache): Add member
+       menu_face_changed_p.
+
+       * xfaces.c (menu_face_changed_default): New variable.
+       (menu_face_changed_count): Variable removed.
+       (Finternal_set_lisp_face_attribute): Doc fix.  If FRAME is t, set
+       the menu_face_changed_default flag, otherwise set the FRAME's
+       menu_face_changed_p flag if the `menu' face has been changed.
+       Prevent calling set_font_frame_param if FRAME is t.
+       (make_face_cache): Initialize cache's menu_face_changed_p
+       from menu_face_changed_default.
+       (realize_basic_faces): Look into the frame's face cache to
+       determine if the menu appearance needs updating.
+
+       * keymap.c (access_keymap): Fix last change to not consider
+       IDX when it has modifiers.
+
+2001-08-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
+       . BINDING) exists, where GENERIC-CHAR is the generic character of
+       the charset of IDX, return BINDING unless there exists a binding
+       for IDX itself.
+
+2001-08-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * xrdb.c (SYSV): Don't define on Solaris 2.
+       From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>.
+
+       * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
+       of the screen line, not text line, containing IT's current position.
+
+2001-08-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (window_scroll_pixel_based): Don't recenter if
+       PT is partially visible in the window.
+
+       * xterm.c (expose_window_tree, expose_window, expose_line):
+       Return 1 when overwriting mouse-face.
+       (expose_frame): If mouse-face was overwritten, redo it.
+
+       * xfaces.c (x_update_menu_appearance): Don't call
+       set_frame_menubar, let the next redisplay do it.
+
+2001-08-14  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.c (x_draw_glyph_string): Draw relief (if any) before
+       drawing glyph string.
+
+2001-08-14  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
+       running HI-UX/MPP.
+
+2001-08-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (x_update_menu_appearance): Save and restore value of
+       interrupt_input_blocked.
+
+2001-08-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
+       a line start, move back to the line start.
+
+       * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
+       exactly when a mini-buffer is active.
+
+       * keyboard.c (make_lispy_event): Interpret double_click_fuzz
+       in units of 1/8 character on non window-system frames.
+       (syms_of_keyboard) <double-click-fuzz>: Doc fix.
+
+2001-08-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
+       a doc string.
+
+2001-08-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (Vpre_help_message): New variable.
+       (syms_of_keyboard): Initialize and staticpro it.
+       (show_help_echo): Record current message before displaying a
+       help-echo, and restore that message when clearing the help.
+
+       * xfns.c (x_create_im): Remove prototype.
+
+       * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
+
+       * dispnew.c (adjust_glyph_matrix): Undo last change.
+
+2001-08-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (adjust_glyph_matrix): In the optimization for
+       windows whose height has changed, disable partially visible lines.
+
+2001-08-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Frecenter): If ARG < 0, and on a window system
+       frame, count in some empty lines when we can't move -ARG lines down.
+
+       * xdisp.c (start_display): Don't try to determine the continuation
+       lines width if lines are truncated.  It's superfluous and leads to
+       incorrect results if POS is not visible in the window after
+       reseating the iterator at the previous line start.
+
+2001-08-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
+
+2001-08-06  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * alloc.c (init_stack): Remove declaration.
+
+2001-08-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (read_key_sequence): Check that key is an integer
+       before comparing it with quit_char.
+       (add_command_key): Use larger_vector.
+       (read_char_x_menu_prompt): Instead of converting symbol and
+       integer events into conses (EVENT . nil), use (EVENT . disabled)
+       which cannot be confused with valid events.
+       (read_char): When reading from Vunread_command_events, check for
+       events of the form (EVENT . disabled) instead of
+       (EVENT . nil).
+
+       * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
+       a float, determine the max height from the frame's height.
+
+2001-08-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (redisplay_internal): Take message_cleared_p into
+       account only if minibuf_level == 0.
+
+2001-08-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (redisplay_internal): Add a check for the last
+       displayed message.
+
+       * xdisp.c (message_cleared_p): New variable.
+       (clear_message): Set message_cleared_p when clearing the current
+       message.
+       (redisplay_internal): Look at message_cleared_p to capture
+       the case that the echo area should be cleared.
+
+       * keyboard.c (command_loop_1): Fix spelling of
+       resize_echo_area_exactly.
+
+       * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
+
+       * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
+
+       * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
+       current matrix when the window gets smaller.
+
+2001-08-01  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * print.c (strout): Cast the character passed to insert_char to
+       unsigned char, to avoid sign extension when it is promoted to int.
+
+2001-07-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Finsert_file_contents): Don't treat a return value
+       of 0 from emacs_read as an IO error.
+
+2001-07-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (abs): New macro.
+       (double_click_fuzz): New variable.
+       (make_lispy_event): Use it to determine what makes a double-click.
+       (syms_of_keyboard): DEFVAR_INT it.
+
+       * xmenu.c (set_frame_menubar): Take into account that
+       f->menu_bar_vector can be nil, and not a vector.  From Ken Raeburn
+       <raeburn@gnu.org>.
+
+2001-07-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
+
+       * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
+       of row's visible height.
+
+       * xdisp.c (init_from_display_pos): If POS is in an overlay string,
+       deal with the first overlay string having an image `display' property.
+       (try_window_reusing_current_matrix, compute_line_metrics):
+       Fix computation of row's visible height for the case that part of the
+       row is invisible above and part of the row is at the same time
+       invisible below the window.
+
+2001-07-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x-show-tip): Doc fix.
+
+       * xfns.c (Vx_max_tooltip_size): New variable.
+       (syms_of_xfns): DEFVAR_LISP it.
+       (Fx_show_tip): Set frame's window_width to the width of the
+       window.  Use a maximum tooltip size specified by
+       Vx_max_tooltip_size, if that has valid contents.
+       (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
+
+2001-07-26  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.c (x_display_list): New variable.
+       (w32_term_init): Set it.
+
+       * w32term.h (x_display_list): New extern.
+
+2001-07-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
+       is non-nil, instead of when redisplaying_p is non-zero.
+       See comment there.
+       (mark_window_display_accurate_1): Add an assertion.
+
+2001-07-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispextern.h (struct it): Increase size of ctl_chars to 16.
+
+       * xfns.c (Fx_file_dialog): Block/unblock input while processing
+       events so that we get a chance of processing expose events.
+
+       * xdisp.c (resize_mini_window): Don't resize while redisplaying.
+
+2001-07-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (valid_image_p): Protect better against invalid image
+       specifications.  Previous code could signal an error.
+
 2001-07-23  Gerd Moellmann  <gerd@gnu.org>
 
+       * indent.c (current_column): Fix column computation in the
+       presence of display table entries.
+       (current_column_1, Fmove_to_column, compute_motion): Likewise.
+
        * dispnew.c (adjust_glyph_matrix): In the optimization for
        windows whose height has changed, use the new window height
        to compute which rows to invalidate.
        * dispnew.c (update_window): Don't set the cursor at the end
        of the update if display update has been paused.
 
-       * composite.h (syms_of_composite): Renamed from
-       syms_of_composition.
+       * composite.h (syms_of_composite): Renamed from syms_of_composition.
 
 2001-07-18  Ken Raeburn  <raeburn@gnu.org>
 
        * coding.c (setup_coding_system): Don't do any designation based
        on reg_bits if charset is not yet defined.
 
-       * lisp.h (XVECTOR): Verify correct object type before returning a
+       * lisp.h (XVECTOR): Verify correct object type before returning a
        pointer, using eassert.
 
 2001-07-17  Gerd Moellmann  <gerd@gnu.org>
 
-       * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
-       to 4096 because of paste problems reported on GNU/Linux.
+       * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
+       Increase to 4096 because of paste problems reported on GNU/Linux.
 
 2001-07-17  Jan Nieuwenhuizen  <janneke@gnu.org>
 
 2001-06-27  Gerd Moellmann  <gerd@gnu.org>
 
        * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
-       SIGIO around the code where Xt might wait for a
-       ConfigureNotifyEvent.
+       SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
        (toplevel): Include <signal.h> and syssignal.h.
 
        * sound.c (vox_configure, vox_close): Turn off atimers