+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