+2000-07-14 Kenichi Handa <handa@etl.go.jp>
+
+ * xfaces.c (realize_x_face): Make fontset using the base of the
+ default'face's fontset, not using the default fontset.
+
+ * coding.c (inhibit_iso_escape_detection): New variable.
+ (syms_of_coding): Make it a Lisp variable.
+ (detect_coding_iso2022): If inhibit_iso_escape_detection is
+ nonzero, ignore ISO2022's escape sequence.
+
+2000-07-14 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (Fx_show_tip): If frame parameters contain a position,
+ use that instead of the mouse position. Add parameters DX and DY.
+
+ * dispextern.h (Fx_show_tip): Adjust number of parameters
+ in prototype.
+
+ * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
+ if HELP is a function, call it with OBJECT and POS as parameters
+ to get the help to display.
+ (gen_help_event, kbd_buffer_store_help_event): New functions.
+ (kbd_buffer_get_event): Construct the Lisp help-event differently.
+ (read_char): Call show_help_echo with new parameters.
+
+ * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
+ Add prototypes.
+
+ * xterm.c (help_echo_object, help_echo_pos): New variables.
+ (note_mode_line_highlight): Store additional information about the
+ help-echo in help_echo_object and help_echo_pos. Check both
+ `local-map' and `keymap' properties for changing the cursor
+ (note_mouse_highlight): Store additional information about the
+ help-echo in help_echo_object and help_echo_pos.
+ (note_tool_bar_highlight): Set help_echo_object to nil and
+ help_echo_pos to -1.
+ (XTread_socket): Use gen_help_event instead of filling
+ input_events manually.
+ (syms_of_xterm): Staticpro help_echo_object.
+
+ * xmenu.c (menu_highlight_callback): Use
+ kbd_buffer_store_help_event instead of setting up and input_event
+ structure manually.
+
+ * xdisp.c (eval_form): GCPRO argument sexpr.
+ (call_function): New function.
+ (handle_single_display_prop): Use call_function and FUNCTIONP
+ instead of checking whether if font_height is a symbol and
+ using eval_form.
+
+ * eval.c (internal_condition_case_2): New function.
+
+ * lisp.h (FUNCTIONP): New macro.
+ (internal_condition_case_2, call_function): Add prototypes.
+
+ * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
+ (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
+ Always set `arg' member of input_events.
+ (construct_menu_click): Unused function removed.
+
+ * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
+
+ * w32term.c (construct_mouse_click, construct_mouse_wheel)
+ (construct_drag_n_drop, x_scroll_bar_handle_click)
+ (w32_read_socket): Always set `arg' member of input_events.
+
+ * keyboard.c (show_help_echo): Use eval_form. Add comment.
+
+ * lisp.h (eval_form): Add prototype.
+
+ * xdisp.c (eval_form): Make it externally visible.
+
+2000-07-13 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (x_handle_tool_bar_click): Store the frame in the
+ frame_or_window slot of TOOL_BAR_EVENT input events instead of
+ consing. For prefix events, store the frame in the `arg' slot of
+ the event, otherwise store the key there.
+ (XTread_socket): Instead of consing, use the frame_or_window slot
+ of HELP_EVENTs for the frame, and the `arg' slot for the help
+ string.
+
+ * xmenu.c (menu_highlight_callback): Store help string in the
+ `arg' member of the input event; don't cons.
+ (menubar_selection_callback): Use the `arg' slot of input events
+ to queue additional information, instead of consing.
+
+ * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
+
+ * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
+ TOOL_BAR_EVENTs.
+ (w32_read_socket): Adapt to changes in HELP_EVENTs.
+
+ * w32menu.c (menubar_selection_callback): Use the `arg' slot of
+ input events to queue additional information, instead of consing.
+
+ * keyboard.c (kbd_buffer_gcpro): Renamed from
+ kbd_buffer_frame_or_window. Now used for all Lisp objects
+ referenced from the input queue.
+ (kbd_buffer_store_event): Always use structure assignment for
+ copying input events. Record all Lisp objects referenced from
+ events in kbd_buffer_gcpro.
+ (kbd_buffer_get_event): Construct Lisp `help-echo' events
+ differently from input events. Test for prefix menu_bar_events
+ and TOOL_BAR_EVENTs differently. Reset all slots used by an input
+ event in kbd_buffer_gcpro to nil.
+ (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
+ frame_or_window is equal to its arg member as prefix events.
+ (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
+ used by an input event to nil.
+ (init_keyboard): Use two times the size of the input queue
+ for kbd_buffer_gcpro.
+ (syms_of_keyboard): Likewise.
+
+ * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
+ USER_SIGNAL_EVENT.
+
+ * termhooks.h (struct input_event): Add member `arg'.
+ (MENU_BAR_EVENT): Renamed from menu_bar_event.
+ (USER_SIGNAL_EVENT): Renamed from user_signal.
+
+ * xfaces.c (ASET): Remove definition.
+
+ * lisp.h (AREF, ASET, ASIZE): New macros.
+
+ * fontset.c (AREF, ASIZE): Remove definitions.
+
+ * fns.c (AREF): Remove definition.
+
+ * composite.c (AREF): Remove definition.
+
+2000-07-12 Gerd Moellmann <gerd@gnu.org>
+
+ * dispnew.c (redraw_overlapped_rows): Add missing local.
+ (scrolling_window): Remove debug code.
+
+ * xdisp.c (try_window_reusing_current_matrix, try_window_id):
+ Before scrolling, turn off a mouse-highlight in the window
+ being scrolled.
+
+ * xterm.c (x_update_window_end): Add parameter
+ MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
+ redisplay in XTframe_up_to_date.
+ (x_clear_mouse_face): New function.
+ (x_redisplay_interface): Add pointer to x_clear_mouse_face.
+
+ * dispnew.c (make_current): Preserve the mouse_face_p flag of the
+ current glyph row.
+ (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
+ it when any row is written to that contains glyphs highlighted in
+ mouse-face.
+ (update_window): Call the window update end hook with new
+ parameter MOUSE_FACE_OVERWRITTEN_P.
+ (direct_output_for_insert): Give up if row contains mouse-face.
+
+ * dispextern.h (struct redisplay_interface): Add parameter
+ MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
+ (clear_mouse_face): New function pointer member.
+
+2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
+
+ * syntax.c (back_comment): Use one switch rather than a few `if's.
+ Obey open_paren_in_column_0_is_defun_start.
+ When reverting to the `slow' method, try to nicely handle the case
+ of nested comments by checking that the comment-starter we found
+ does indeed match the comment-ender.
+ (scan_sexps_forward, scan_sexps_forward):
+ Ignore excessive opening parenthesis rather than throwing an error.
+
+2000-07-11 Gerd Moellmann <gerd@gnu.org>
+
+ * doc.c (Fsubstitute_command_keys): Handle case that a GC
+ in Fwhere_is_internal or get_keymap_1 relocates string contents.
+
+ * dispnew.c (direct_output_forward_char): Give up if currently
+ displaying a message instead of the minibuffer contents.
+
+ * xterm.c (x_update_window_begin): No need to turn off the mouse
+ highlight here.
+ (show_mouse_face): Set the mouse_face_p flag of glyph rows
+ depending on whether they contain glyphs highlighted in
+ mouse-face.
+
+ * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
+ compare the mouse_face_p flags of both rows.
+
+ * dispextern.h (struct glyph_row): Add flag mouse_face_p.
+
+2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * keyboard.c (show_help_echo): Accept additional parameter
+ ok_to_overwrite_keystroke_echo.
+ (read_char): Call show_help_echo with a zero
+ ok_to_overwrite_keystroke_echo argument.
+ * keyboard.h (show_help_echo): Update prototype of
+ show_help_echo.
+ * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
+ ok_to_overwrite_keystroke_echo argument.
+ * w32menu.c (w32_menu_display_help): Call show_help_echo with
+ non-zero ok_to_overwrite_keystroke_echo argument.
+
+2000-07-10 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (try_window_id): If changes are all below what is
+ displayed in the window, and point is in the window, we still
+ might have to find point on the display.
+
+ * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
+ glyphs instead of a single one.
+ (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
+ with new argument list.
+ (x_set_glyph_string_gc): Make sure the face's GC is valid.
+
+ * keymap.c (get_keymap_1): Add comment that this function can GC.
+ (where_is_internal_2, where_is_internal_1): Add GCPROs, add
+ comment that functions can GC.
+ (Fset_keymap_parent): GCPRO arg KEYMAP.
+
+2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (XMenuActivate): After exiting the menu, restore the
+ echo area message and erase it.
+
+2000-07-10 Kenichi Handa <handa@etl.go.jp>
+
+ * fontset.c (Ffontset_info): Make the return value more compatible
+ with that of Emacs 20.
+
+2000-07-07 Gerd Moellmann <gerd@gnu.org>
+
+ * eval.c (Fsignal): Handle case that backtrace_list is null.
+
+2000-07-07 Kenichi Handa <handa@etl.go.jp>
+
+ * ccl.c (Fccl_execute): Typo fixed.
+
+2000-07-06 Gerd Moellmann <gerd@gnu.org>
+
+ * window.c (window_loop): Add missing gcpro1 local variable.
+
+ * window.c (Fwindow_list): Reverse list at the end.
+ (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
+ means allow windows on OWINDOW's frame, only.
+ (window_loop): Simplified; use Fwindow_list.
+
+ * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
+
+2000-07-05 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (XTread_socket): Increment handling_signal at the start,
+ decrement it at the end.
+
+ * eval.c (handling_signal): New variable.
+ (Fsignal): Abort if handling_signal is non-zero.
+
+ * lisp.h (handling_signal): External declaration.
+
+ * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
+
+2000-07-05 Ken Raeburn <raeburn@gnu.org>
+
+ Sound support for NetBSD through "Linux emulation" support:
+ * config.in (HAVE_SOUNDCARD_H): Undef.
+ (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
+ * Makefile.in (LIBSOUND): New variable.
+ (LIBES): Include it.
+ * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
+ <soundcard.h>.
+ (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
+ elsewhere.
+ (vox_open): Use DEFAULT_SOUND_DEVICE.
+ * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
+
+2000-07-05 Gerd Moellmann <gerd@gnu.org>
+
+ * print.c (print_error_message): If Vsignaling_function is set,
+ show it in *Messages*.
+
+ * lisp.h (Vsignaling_function): External declaration.
+
+ * eval.c (Vsignaling_function): New variable.
+ (Fsignal): Compute it.
+ (syms_of_eval): Staticpro it.
+
+2000-07-05 Dave Love <fx@gnu.org>
+
+ * syswait.h: Use the autoconf recommended approach. Old code
+ #if'd out in case we need to revert.
+
+ * config.in (HAVE_SYS_WAIT_H): Added.
+
+2000-07-05 Andrew Innes <andrewi@gnu.org>
+
+ * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
+ when non-NULL instead of __morecore, to take account of buffer
+ memory. This also solves a problem with spurious memory warnings
+ on Windows.
+
+ * ralloc.c: Make real_morecore non-static.
+
+ * eval.c (internal_condition_case): Comment out abort if
+ interrupt_input_blocked is not zero.
+
+ * makefile.nt: Add support for `bootstrap' and related targets.
+ Include minimal debug info in emacs.exe in release build.
+ Remove all dependencies on lisp.h, and fixup some others.
+
+ * w32.c (init_environment): Install code from 20.7 for providing
+ default values for environment variables, based on the
+ executable's own location.
+ (map_w32_filename): Handle filenames that are longer than
+ MAX_PATH.
+ (sys_socket): Install socket inheritance bug fix from 20.7.
+
+ * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
+ here via blockinput.h).
+
+2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
+
+ * w32menu.c (w32_menu_display_help):
+ * xmenu.c (menu_help_callback): Use show_help_echo.
+
+ * keyboard.h (show_help_echo): Declare.
+
+ * keyboard.c (show_help_echo): New function, extracted from read_char.
+ Feval its `msg' argument if it's a cons cell.
+ (read_char): Use it.
+ (follow_key): Pass `autoload' to get_keyelt.
+
+ * xterm.c (note_mode_line_highlight, note_mouse_highlight)
+ (note_tool_bar_highlight, XTread_socket):
+ * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
+ (dos_rawgetc):
+ * w32term.c (note_mode_line_highlight, note_mouse_highlight)
+ (note_tool_bar_highlight, w32_read_socket):
+ Do not gratuitously ignore non-string `help-echo' properties.
+
+2000-07-05 Gerd Moellmann <gerd@gnu.org>
+
+ * eval.c (Feval): Put check for interrupt_input_block in #if 0.
+
+ * window.c (delete_all_subwindows): Reset Vwindow_list.
+
+ * xterm.c (x_append_glyph, x_append_composite_glyph)
+ (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
+ changes in struct glyph starting 1999-12-27. Some bit-fields of
+ struct glyph were not set, which made glyphs unequal when compared
+ with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
+ effects were the result. This also depended on the contents of
+ memory returned by xmalloc. If flickering happens again, activate
+ the code in clear_glyph_row that's in #if 0. If the flickering is
+ gone with that, chances are that it is caused by something
+ similar.
+
+ * dispnew.c (clear_glyph_row): Add debug code in #if 0.
+
+ * dispextern.h: Add some comments.
+
+ * window.c (add_window_to_list): Add parameter LIST.
+ (window_list): Order list so that, for each frame, windows are
+ in canonical order, and so that frames appear in the list in
+ the order given by Vframe_list.
+ (next_window): Reverse the handling of NEXT_P.
+
+2000-07-04 Gerd Moellmann <gerd@gnu.org>
+
+ * window.c (Vwindow_list): New variable.
+ (make_window, delete_window): Set Vwindow_list to nil.
+ (check_window_containing): New function.
+ (window_from_coordinates): Rewritten.
+ (add_window_to_list, window_list, candidate_window_p)
+ (decode_next_window_args, next_window): New functions.
+ (Fnext_window, Fprevious_window): Rewritten in terms of
+ next_window.
+ (Fwindow_list): New function.
+ (Fother_window): Cleaned up.
+ (foreach_window): Add a longer "variable argument list". Let
+ callback function return 0 to indicate that cycling over windows
+ should stop.
+ (foreach_window_1): Likewise.
+ (freeze_window_start): Return int.
+ (init_window): New function.
+ (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
+
+ * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
+ input_event with bzero.
+ (main): Call init_window.
+
+ * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
+ a menu filter.
+
+2000-07-04 Kenichi Handa <handa@etl.go.jp>
+
+ * composite.h (make_composition_value_copy): Extern it.
+
+ * composite.c (make_composition_value_copy): New function.
+
+ * editfns.c (Fformat): While copying text properties, make each
+ composition property value a copy.
+
+ * fns.c (concat): While copying text properties, make each
+ composition property value a copy.
+
+2000-07-03 Gerd Moellmann <gerd@gnu.org>
+
+ * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
+
+ * fns.c (sweep_weak_table): Mark only objects that are not
+ marked already.
+
+ * frame.c (next_frame, prev_frame): If MINIBUF is a window,
+ include those frames as candidates which have their focus
+ redirected to the minibuffer frame.
+
+2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
+
+ * fns.c (Fputhash): Return `value' rather than nil.
+
+2000-06-30 Gerd Moellmann <gerd@gnu.org>
+
+ * frame.c (next_frame): Don't check focus redirection in case
+ MINIBUF is a window. Doing so excludes frames using MINIBUF
+ unless their focus is redirected, which contradicts the
+ specification of next-frame, and leads to infinite loops in
+ certain situations when cycling through windows with next-window.
+
+2000-06-30 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (code_convert_region): Even if the length of text is
+ zero, try to convert it if coding->type is coding_type_ccl.
+ (decode_coding_string, encode_coding_string): Likewise.
+
+2000-06-28 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
+ the display if windows_or_buffers_changed.
+
+ * dispnew.c (struct row_entry): New structure.
+ (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
+ (row_table_size, old_lines, new_lines, old_lines_size)
+ (new_lines_size, run_pool, runs_size, runs): New variables.
+ (add_row_entry): New function.
+ (scrolling_window): Use data structures allocated with xmalloc and
+ held in global variables, instead of allocating them with alloca and
+ holding them in local variables. Use a larger hash table whose
+ size depends on glyph matrix sizes. Don't use bzero to clear the
+ hash table; instead, clear used slots only.
+
+ * fns.c (next_almost_prime): Make it externally visible.
+
+ * lisp.h (next_almost_prime): Add prototype.
+
+ * s/isc4-0.h (sigunblock): Define.
+
+ * s/sco5.h (sigunblock): Define.
+
+2000-06-27 Dave Love <fx@gnu.org>
+
+ * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
+ (moved to osf5-0.h).
+ [!NOT_C_CODE]: Protect string.h stuff.
+
+ * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
+ (sys_siglist, NSIG): Definitions moved here from osf1.h.
+
+2000-06-27 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (resize_mini_window): Subtract the extra line spacing
+ below the last line from the needed window height.
+
+2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
+
+ * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
+ (Fwidget_get): Use it.
+ (syms_of_fns): Defsubr it.
+
+2000-06-26 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
+ display info for XIM.
+ (xim_open_dpy): Likewise.
+ (xim_close_dpy): Don't free the display info's XIM.
+
+ * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
+
+ * config.in (USE_XIM): New define.
+
+ * keymap.c (get_keyelt): For menu-items containing a `:filter
+ FILTER', apply FILTER to the menu-item's definition to get the
+ real definition to use.
+
+ * lisp.h (QCfilter): External declaration.
+
+ * xfns.c (Fimage_size): New function.
+ (syms_of_xfns): Defsubr it.
+
+2000-06-26 Andreas Schwab <schwab@suse.de>
+
+ * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
+ Fstring_as_unibyte.
+
+2000-06-25 Dave Love <fx@gnu.org>
+
+ * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
+ tgetnum.
+
+ * Makefile.in (blockinput.h): Depend on atimer.h.
+ (atimer.h): Depend on systime.h.
+
+ * blockinput.h: Protect against multiple inclusion. Include
+ atimer.h.
+
+ * atimer.h: Protect against multiple inclusion. Include
+ systime.h.
+
+ * lisp.h (swap_in_global_binding): Declare.
+
+2000-06-24 Ken Raeburn <raeburn@gnu.org>
+
+ * process.c (Fopen_network_stream): Turn off atimers for duration
+ of call to connect. (Patch from Gerd.)
+
+2000-06-23 Dave Love <fx@gnu.org>
+
+ * ralloc.c: Maybe include unistd.h
+
+ * emacs.c (setgrp): Undefine before defining.
+ (malloc_warning, set_time_zone_rule, index): Prototype.
+
+ * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
+ HAVE_STRUCT_TIMEZONE.
+
+ * s/osf1.h: Move string.h hack here from alpha.h and make it
+ conditional.
+ (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
+ _XOPEN_SOURCE.
+ (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
+ (SOCKLEN_TYPE): Don't define.
+
+ * m/alpha.h: Remove string.h hack.
+
+ * s/osf5-0.h: New file.
+
+ * filelock.c: Use feature tests for fcntl.h, string.h. Don't
+ include time.h, done by systime.h.
+ [__FreeBSD__]: Remove redundant includes.
+
+ * callproc.c (setpgrp): Undefine before defining.
+ (delete_temp_file): Return Qnil to avoid warning.
+
+ * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
+
+ * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
+ HAVE_X_WINDOWS.
+
+ * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
+
+ * composite.h (compose_text): Declare.
+
+ * xterm.c: Don't include sys/types.h unconditionally. Don't
+ protect its inclusion with !USG (following xmenu.c).
+
+2000-06-23 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (x_create_tip_frame): Initialize frame's colors like
+ in x_create_frame.
+
+2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * coding.c (decode_eol_post_ccl): Special handling for undecided
+ and inconsistent EOL types.
+
2000-06-22 Gerd Moellmann <gerd@gnu.org>
* xrdb.c (x_load_resources): Add default resource for scroll bar's
2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
* term.c (produce_glyphs): Treat characters from the eight-bit-*
- charsets as unibyte, with 1-column screen width. Sent by Kenichi
- Handa.
+ charsets as unibyte, with 1-column screen width. Sent by Kenichi
+ Handa.
2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
* frame.c (Fdelete_frame): Don't let echo_area_window remain on
- a deleted frame.
+ a deleted frame.
2000-02-21 Gerd Moellmann <gerd@gnu.org>
* syntax.h (SYNTAX_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_NESTED):
Add support for nested comments.
- * syntax.c (Fforward_comment, scan_lists, scan_sexps_forward):
- Consolidate the forward comment code into the new `forw_comment'.
- (forw_comment): New subroutine. Added support for nested comments.
- (lisp_parse_state, back_comment, Fmodify_syntax_entry)
- (Fparse_partial_sexp): Add support for nested comments.
+ * syntax.c (Fforward_comment, scan_lists, scan_sexps_forward):
+ Consolidate the forward comment code into the new `forw_comment'.
+ (forw_comment): New subroutine. Added support for nested comments.
+ (lisp_parse_state, back_comment, Fmodify_syntax_entry)
+ (Fparse_partial_sexp): Add support for nested comments.
1999-08-28 Ken Raeburn <raeburn@gnu.org>
1999-08-22 Gerd Moellmann <gerd@gnu.org>
* xfns.c: Call change_frame_size and do_pending_window_change with
- new parameter.
+ new parameter.
1999-08-21 Gerd Moellmann <gerd@gnu.org>
1999-07-21 Joe Ramey <ramey@ti.com>
- * filelock.c (lock_if_free): Return -1 if check_lock_owner
+ * filelock.c (lock_if_free): Return -1 if check_lock_owner
has returned -1 (lockfile exists but is not a symlink?).
1999-07-20 Gerd Moellmann <gerd@gnu.org>
* keyboard.c (record_asynch_buffer_change): Return void.
- * xterm.c (XTroï\0ðoï\0ðÃâ\0ðoï\0ðoï\0ðTÿ\0ðLá\0ðoï\0ðterminal_window): Ditto.
+ The first line of the following paragraph was garbled for an
+ unknown reason. It couldn't be fully reconstructed.
+
+ * xterm.c (XTread_socket, XTset_terminal_window): Ditto.
(x_lower_frame): Ditto.
(x_scroll_bar_clear): Ditto.
(XTflash): Add default case in switch for -Wall.
based on text properties for an overlay string.
(next_element_from_overlay_string): Check invisible and face text
properties.
+
(set_iterator_to_next_overlay_string): Restore face id before
overlay strings when no more overlay strings are found to return.
Initialize next_ovstr_.*check_pos for each new overlay string
- roï\0ðoï\0ðÃâ\0ðoï\0ðoï\0ðTÿ\0ðLá\0ðoï\0ðase_face): Made public.
+
+ A line in the following paragraph was garbled for an unknown
+ reason. It couldn't be fully reconstructed.
+
+ (compute_base_face): Made public.
(merge_face_list): Ditto.
(intern_computed_face): Ditto.
(expose_window): Use it.
* xdisp.c (display_string): Catch case that we are called with
- current_x already beyond max_x.
+ current_x already beyond max_x.
(global): Fix usage of FRAME_WINDOW_P <-> FRAME_WINDOW_REDISPLAY_P.
(init_display_info): Subtract vertical border glyph from
- last_visible_x.
+ last_visible_x.
* scroll.c (scrolling_window_1): Removed.
Fri Aug 22 18:46:43 1997 Gerd Moellmann <gerd@acm.org>
- * xterm.c (XTupdate_end): Draw horizontal border at right
- position.
+ * xterm.c (XTupdate_end): Draw horizontal border at right position.
(expose_window): Draw vertical border.
(XTclear_end_of_line): Accept width <= 0 and height <= 0 but
don't do anything.
* dispnew.c (clear_glyph_matrix): Additional argument specifiying
that rows should really be cleared. Used for current matrices.
- * dispnew.c (scrolling_window): Bug fix.
- (line_dance_hook): Formerly line_dance_fn, take only one
- parameter.
+ * dispnew.c (scrolling_window): Bug fix.
+ (line_dance_hook): Formerly line_dance_fn, take only one parameter.
* dispextern.h (struct run): Remove current_vpos.
Tue Aug 19 14:38:05 1997 Gerd Moellmann <gerd@acm.org>
* xterm.c (x_display_and_set_cursor): Use FONT_WIDTH if width
- unknown. Some fonts have min_width zero.
+ unknown. Some fonts have min_width zero.
(draw_glyphs): Don't draw underlines to the end of the display
- line if face is merely extended to that point.
+ line if face is merely extended to that point.
(draw_glyphs): Don't assume background is filled if
- just_foreground_p but extending to end of line.
+ just_foreground_p but extending to end of line.
* xterm.c (XTclear_end_of_line): Clip only to display_height - 1
for partially visible last lines.
* dispextern.h (WINDOW_TO_FRAME_HPOS/VPOS): Moved to dispnew.c
- * xfns.c (x_contour_region): Use pixel coordinates from window
+ * xfns.c (x_contour_region): Use pixel coordinates from window
cursor instead of WINDOW_TO_FRAME_H/VPOS.
* dispextern.h (FRAME_TO_WINDOW_HPOS, FRAME_TO_WINDOW_VPOS):
glyphs for to_pos.
(start_display): Remove assertion.
- * dispnew.c (direct_output_forward_char): Bug fix, = instead of
- ==.
+ * dispnew.c (direct_output_forward_char): Bug fix, = instead of ==.
(update_window): Don't set row->y here.
* xdisp.c (next_display_element): Don't translate control chars
* xterm.c (x_draw_3d_borders): Use CapRound. Struct rect
replaced by XRectangle.
- * dispnew.c (scrolling_window): New method.
+ * dispnew.c (scrolling_window): New method.
* xterm.c (do_line_dance): New implementation, new method.
* window.h: phys_cursor_ascent + descent instead of height.
* xterm.c (XTget_char_info): Use per char metrics for multi-byte
- chars with charset width 1.
+ chars with charset width 1.
* dispnew.c (direct_output_for_insert): Set updated_row.
* dispextern.h (struct char_info ): WHAT field.
* term.c (encode_terminal_code): Don't use GLYPH_CHAR, use
- FAST_GLYPH_CHAR instead because GLYPH_CHAR won't remove faces.
+ FAST_GLYPH_CHAR instead because GLYPH_CHAR won't remove faces.
Mon Jul 28 14:23:06 1997 Gerd Moellmann <gerd@acm.org>
* dispextern.h (cursor_in_echo_area): Extern declaration.
* xterm.c (dumpglyphs): 8-bit version to test if my Xserver
- freezes stem from 16-bit functions.
+ freezes stem from 16-bit functions.
* xterm.c (x_display_and_set_cursor): Don't display hollow
cursor in mini windows.
(x_update_window_cursor): Use it.
* xdisp.c (display_text_line): Set cursor for window even if not
- selected.
+ selected.
* xterm.c (x_display_bar_cursor): Use HPOS and VPOS instead
of X and Y to denote matrix positions.
* xterm.h: Prototype for X_DISPLAY_CURSOR.
* xterm.c (XTcursor_to): Void return type. Test for
- UPDATED_WINDOW. Call x_display_cursor with window.
+ UPDATED_WINDOW. Call x_display_cursor with window.
(x_display_cursor): Void return type. Window instead of frame
- parameter.
+ parameter.
- * window.h (WINDOW_RIGHTMOST_P, WINDOW_TOPMOST_P): Use functions
- below.
+ * window.h (WINDOW_RIGHTMOST_P, WINDOW_TOPMOST_P): Use functions below.
* window.c (window_rightmost_p, window_topmost_p): Based on
window tree.
* dispnew.c (adjust_frame_message_buffer): Allocate with
- FRAME_MESSAGE_BUF_SIZE.
+ FRAME_MESSAGE_BUF_SIZE.
* window.h: PHYS_CURSOR_.* added.
* window.c (window_internal_width): Scroll bars no longer
part of window.
- * xterm.c (XTclear_end_of_line): FRAME_LEFT_SCROLL_BAR_WIDTH
- removed.
+ * xterm.c (XTclear_end_of_line): FRAME_LEFT_SCROLL_BAR_WIDTH removed.
- * xfns.c (x_set_scroll_bar_width): FRAME_LEFT_SCROLL_BAR_WIDTH
- removed.
+ * xfns.c (x_set_scroll_bar_width): FRAME_LEFT_SCROLL_BAR_WIDTH removed.
* xdisp.c (echo_area_display): FRAME_LEFT_SCROLL_BAR_WIDTH removed.
(redisplay_internal): Ditto.
Mon Jul 14 12:30:03 1997 Gerd Moellmann <gerd@acm.org>
* dispnew.c (updated_window): Set by UPDATE_WINDOW to the window
- being updated.
+ being updated.
(update_window): Set and clear it.
* dispnew.c (update_window_line, update_window, scrolling_window):
* xterm.c (XTupdate_begin): Set CURS_X/Y from selected window.
(XTwrite_glyphs): Use cursor position of selected window.
- * xfns.c (x_set_scroll_bar_width): Set cursor pos of selected
- window.
+ * xfns.c (x_set_scroll_bar_width): Set cursor pos of selected window.
* dispnew.c (set_cursor_to): Set window cursor position.
(direct_output_for_insert): Use window cursor position.
* dispnew.c (direct_output_for_insert): LAST_POINT_X removed.
(direct_output_forward_char): Ditto.
- * xdisp.c (redisplay_internal): LAST_POINT_X and LAST_POINT_Y
- removed.
+ * xdisp.c (redisplay_internal): LAST_POINT_X and LAST_POINT_Y removed.
* window.c (make_window): LAST_POINT_X and LAST_POINT_Y removed.
* minibuf.c (read_minibuf): Build frame matrix.
* xdisp.c (this_line_start_hpos): Renamed to
- THIS_LINE_START_WINDOW_HPOS to make it clear that this is window
- relative.
+ THIS_LINE_START_WINDOW_HPOS to make it clear that this is window
+ relative.
(this_line_vpos): Renamed to THIS_LINE_WINDOW_VPOS for the same
reason.
(clear_frame_records): Clear window and frame rows.
(clear_glyph_matrix): Set all rows of a matrix to empty.
- * xdisp.c (echo_area_display): Parameter UPDATE_FRAME_P. Update
- frame if set.
+ * xdisp.c (echo_area_display): Parameter UPDATE_FRAME_P.
+ Update frame if set.
(message2_nolog): Pass 1 to ECHO_AREA_DISPLAY. UPDATE_FRAME
removed.
(redisplay_internal): Pass 0 to ECHO_AREA_DISPLAY.
matrix. Change name to scroll_full_width_window.
* xdisp.c (message2_nolog): Don't fwrite NULL message If
- NONINTERACTIVE.
+ NONINTERACTIVE.
Mon Jul 7 14:44:38 1997 Gerd Moellmann <gerd@acm.org>
Sun Jul 6 17:02:26 1997 Gerd Moellmann <gerd@acm.org>
* dispnew.c (adjust_frame_glyphs): Allocate window matrices from
- (0, 0).
+ (0, 0).
(allocate_leaf_matrix): Add FRAME_MENU_BAR_LINES to the height of
- top-most windows.
+ top-most windows.
* window.h (WINDOW_TOPMOST_P): Added.
(echo_area_display): Work with window matrix for mini window.
(redisplay_window): Use window marix for mini window.
(display_text_line): Assume HPOS and VPOS are window relative and
- use that for DISPLAY_STRING.
+ use that for DISPLAY_STRING.
* dispextern.h: Prototype for prepare_desired_row.
- * dispnew.c (prepare_desired_row): Replacement for
- GET_DISPLAY_LINE.
+ * dispnew.c (prepare_desired_row): Replacement for GET_DISPLAY_LINE.
* dispnew.c (adjust_window_charstarts): Always allocate window
matrices.
(direct_output_for_insert): Don't add null-glyph end marker.
* scroll.c (do_direct_scrolling): Change algorithm to construct
- vector of lines assigned. Call MIRRORED_LINE_DANCE:
+ vector of lines assigned. Call MIRRORED_LINE_DANCE:
(do_scrolling): Ditto.
* dispnew.c (mirror_line_dance): Mirror line assignments in a
- frame matrix in window matrices.
+ frame matrix in window matrices.
(mirrored_line_dance): Do line assignments during scrolling.
- Maybe do corresponding assignments in window matrices.
+ Maybe do corresponding assignments in window matrices.
(check_window_matrix_pointers): Check that window rows and frame
- rows agree about glyph pointers.
+ rows agree about glyph pointers.
(check_matrix_pointers): Ditto.
(mirrored_make_current): Make a row of a desired matrix current;
- maybe mirror the operation in window matrices.
+ maybe mirror the operation in window matrices.
(mirror_make_current): Make window desired matrix row current when
- frame matrix row was made current.
+ frame matrix row was made current.
Fri Jul 4 13:27:46 1997 Gerd Moellmann <gerd@acm.org>
* scroll.c (do_scrolling): Simplified.
(do_direct_scrolling): Simplified.
(scrolling_1): Pass CURRENT_MATRIX instead of FRAME to
- DO_.*SCROLLING.
+ DO_.*SCROLLING.
* dispnew.c (ins_del_glyph_rows): Insert/delete rows in a matrix.
* all files: use above new names.
* dispnew.c (scroll_frame_lines): Simplified. Use
- SCROLL_GLYPH_MATRIX.
+ SCROLL_GLYPH_MATRIX.
(make_glyph_row_empty): Mark a glyph row empty.
(increment_glyph_row_buffer_positions): Increment
buffer positions in a glyph row.
(direct_output_for_insert): Ditto.
* dispextern.h (struct glyph_row): Use a vector of pointers
- instead of individual members. Use a vector of used counters.
+ instead of individual members. Use a vector of used counters.
(MATRIX_ROW_SWAP_CONTENTS): Use vectors.
(MATRIX_ROW_GLYPH_START): Ditto.
(MATRIX_ROW_GLYPH_END): Ditto.
(syms_of_display): Ditto.
* dispextern.h: add prototypes for REDRAW_FRAME,
- REDRAW_GARBAGED_FRAMES, CANCEL_LINE, CLEAR_FRAME_RECORDS,
- INIT_DESIRED_GLYPHS, SCROLL_FRAME_LINES, PRESERVE_OTHER_COLUMNS,
- ADJUST_WINDOW_CHARSTARTS, CANCEL_MY_COLUMNS,
- DIRECT_OUTPUT_FOR_INSERT, DIRECT_OUTPUT_FORWARD_CHAR,
- UPDATE_FRAME, SCROLLING, BUFFER_POSN_FROM_COORDS,
- DO_PENDING_WINDOW_CHANGE, CHANGE_FRAME_SIZE, BITCH_AT_USER,
+ REDRAW_GARBAGED_FRAMES, CANCEL_LINE, CLEAR_FRAME_RECORDS,
+ INIT_DESIRED_GLYPHS, SCROLL_FRAME_LINES, PRESERVE_OTHER_COLUMNS,
+ ADJUST_WINDOW_CHARSTARTS, CANCEL_MY_COLUMNS,
+ DIRECT_OUTPUT_FOR_INSERT, DIRECT_OUTPUT_FORWARD_CHAR,
+ UPDATE_FRAME, SCROLLING, BUFFER_POSN_FROM_COORDS,
+ DO_PENDING_WINDOW_CHANGE, CHANGE_FRAME_SIZE, BITCH_AT_USER,
SIT_FOR, INIT_DISPLAY, SYMS_OF_DISPLAY,
* dispnew.c (redraw_frame): FRAME_PTR -> struct frame. Return
- void.
+ void.
(cancel_line): Return void.
(clear_frame_records): Return void.
* term.c (reassert_line_highlight): Check CHARS_WASTED == 0.
* window.h (struct window): Add comment that no Lisp data may
- come below CURRENT_MATRIX.
+ come below CURRENT_MATRIX.
* alloc.c (mark_object): Change window mark code to stop with
- member CURRENT_MATRIX.
+ member CURRENT_MATRIX.
Sat Jun 28 13:54:55 1997 Gerd Moellmann <gerd@acm.org>
(new_glyph_pool): Formerly new_FRAME_GLYPH_MATRIX.
(free_glyph_pool): Formerly FREE_FRAME_GLYPH_MATRIX
(realloc_glyph_pool): Formerly REALLOC_FRAME_GLYPH_MATRIX.
- Returns 1 if pool changed.
+ Returns 1 if pool changed.
(matrix_row): Additional check for lost pointers to glyph rows.
(compute_matrices): Additional parameter DIM_P set means that no
- allocation should take place. Addtional parameter
- ANY_WINDOWS_CHANGED_P set if any windows matrix has changed.
+ allocation should take place. Addtional parameter
+ ANY_WINDOWS_CHANGED_P set if any windows matrix has changed.
(compute_leaf_matrix): Additional parameter CHANGED_P set to 1
- when window matrix changes. Additional parameter DIM_ONLY_P set
- to 1 to indicate that no allocation should take place.
+ when window matrix changes. Additional parameter DIM_ONLY_P set
+ to 1 to indicate that no allocation should take place.
(adjust_frame_glyphs): Construct new glyph pools and glyph
- matrices. Optimize frame redraws.
+ matrices. Optimize frame redraws.
(free_glyphs): Free pools.
(check_glyph_memory): Check pools not freed.
(rotate_pointers): Rotate pointers in a vector of glyph rows.
* dispextern.h (struct glyph_row): Use pointers to areas in a row.
(global): All macro names changed from prefix FRAME_MATRIX to
- MATRIX.
+ MATRIX.
Fri Jun 27 14:51:15 1997 Gerd Moellmann <gerd@acm.org>
* w32term.c (cancel_mouse_face): New function. See equiv
changes to xterm.c on 1996-10-31.
(x_set_window_size): Use cancel_mouse_face.
- (w32_read_socket): Use cancel_mouse_face.
- Update frame position when size is restored.
+ (w32_read_socket): Use cancel_mouse_face.
+ Update frame position when size is restored.
1999-06-04 Richard M. Stallman <rms@gnu.org>