(adjust_window_trailing_edge): Specially compute FIRST_PARALLEL
for the case of a top-level window and the following minibuffer.
Don't exit because of no `next' when there is a parent.
Use the FIRST_ONLY feature when resizing following windows.
* xterm.c (x_check_expected_move, handle_one_xevent)
(x_set_offset, x_check_fullscreen): Extensive changes to make
frame positioning deterministic under X.
* xterm.h (x_output): Added members left_before_move and
top_before_move. Removed members expected_left and expected_top.
(push_it, pop_it): Handle composition and stretch specific values.
Only handle it->slice in image (for now).
(back_to_previous_visible_line_start): Continue search if newline is
part of a compisition. Simplify.
(reseat_1): Set it->object to buffer.
(set_iterator_to_next): Set it->object to string or buffer, when
setting it->method to GET_FROM_STRING or GET_FROM_BUFFER.
(next_element_from_composition): Set it->object to buffer if not
from string.
(set_cursor_from_row): Only save start of string if not already
done to handle multiple strings in a row.
(pgx, pg): New commands to print a glyph structure.
(pgi, pgn): New commands to print specific/next glyph.
(pgrowx, pgrow): New commands to print all glyphs in a row.
(mac_tsm_resume, mac_tsm_suspend) [USE_MAC_TSM]: New functions.
(mac_handle_window_event, XTread_socket) [USE_MAC_TSM]: Use them.
(Vmac_ts_script_language_on_focus) [USE_MAC_TSM]: New variable.
(syms_of_macterm) [USE_MAC_TSM]: Defvar it.
(saved_ts_language, saved_ts_component) [USE_MAC_TSM]: New variables.
(mac_initialize_display_info) [MAC_OSX]: Use Quartz Display
Services functions to get size of main display in pixels.
iterator stack (instead of hardcoded number). Increase from 2 to 4
to make room for propertized overlay strings before and after a
display string, image or composition.
(struct it): Add image_id and method members to iterator stack.
overlay_string_index after pop_it. Add asserts.
(handle_stop): Look for overlay strings around a display string,
image, or composition. Handle properties on those strings.
(next_overlay_string): Don't set string, pos or method after pop_it.
(get_overlay_strings_1): Split from get_overlay_strings; don't
modify it if no overlay strings are found.
(get_overlay_strings): Use get_overlay_strings_1. Always set
it->string and it->method.
(push_it): Push it->image_id and it->method. Push it->object
instead of it->string if method is GET_FROM_IMAGE.
(pop_it): Pop it->image_id and it->method. Ppo it->object
instead of it->string if method is GET_FROM_IMAGE.
Reset it->current.string_pos if popped it->string is nil.
(reseat_1): Remove comment dated 19 May 2003. It expressed doubt
whether a given change was correct; but the change is correct.
Clear it->string_from_display_prop_p.
(set_iterator_to_next): Rely on it->method and it->image_id from
iterator stack, instead of setting them explicitly after pop_it.
(PERIODIC_PREEMPTION_CHECKING): Define to 1 iff EMACS_HAS_USECS.
(Vredisplay_preemption_period): New variable.
(syms_of_display): DEFVAR_LISP and initialize it.
(preemption_period, preemption_next_check): New variables.
(update_frame, update_single_window): Initialize them based on
Vredisplay_preemption_period if !force_p.
(update_window, update_frame_1): Use them to determine when to
check for input.