*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
index 0619e0b..62bbfe2 100644 (file)
@@ -1,3 +1,426 @@
+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
        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
+       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.
 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.
+       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>
 
 2001-07-23  Gerd Moellmann  <gerd@gnu.org>
 
-       * indent.c (current_column): Fix column computation in the 
+       * 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 (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