* 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.
(gud-old-arrow, gdb-frame-begin, gdb-printing): New variables.
(gdb-init-1): Initialise them.
(gdb-starting): Reset gdb-printing
(gdb-starting): Save value of gud-overlay-arrow-position.
(gdb-frame-begin): Set gdb-frame-begin, gdb-printing.
(gdb-stopped): Don't look for source if calling procedure e.g "p a ()".
Use gdb-*-gdb-buffer conditionally on gdb-same-frame.
(gdb-frame-gdb-buffer): Keep menu bar, tool bar for GUD buffer.
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.