change. If handle_display_prop indicates newline is replaced by
image or text, move back to start of relevant overlay or interval
and continue scan from there. Simplify.
(READABLE_EVENTS_FILTER_EVENTS)
(READABLE_EVENTS_IGNORE_SQUEEZABLES): New flags for readable_events.
get_filtered_input_pending, readable_filtered_events): Removed.
(tracking_off): Call readable_events and get_input_pending with
flag READABLE_EVENTS_DO_TIMERS_NOW.
(readable_events): Move code from old readable_filtered_events here,
but check new READABLE_EVENTS_* in argument flags instead of previous
two boolean arguments do_timers_now and filter_events.
If we are doing mouse tracking and the mouse moved, return only if
READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
(swallow_events): Call get_input_pending with flag
READABLE_EVENTS_DO_TIMERS_NOW.
(get_input_pending): Move code from old get_filtered_input_pending
here. Replace boolean arguments do_timers_now, filter_events with
flags, and pass flags to readable_events. Document new
READABLE_EVENTS_* flags.
(detect_input_pending_ignore_squeezables): New function.
(detect_input_pending_run_timers): Call get_input_pending with flag
READABLE_EVENTS_DO_TIMERS_NOW.
(Finput_pending_p): Call get_input_pending with flags
READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
* dispnew.c (update_window, update_frame_1): Replace calls to
detect_input_pending with detect_input_pending_ignore_squeezables
so that redisplay is not paused if the event queue contains only
mouse movements.
* lisp.h: Declare detect_input_pending_ignore_squeezables.
(syms_of_xdisp): DEFVAR_LISP it.
(escape_glyph_face): Remove var.
(redisplay_window): Don't initialize it.
(setup_for_ellipsis, get_next_display_element):
Set it->dpvec_face_id to -1.
(get_next_display_element): Test Vshow_nonbreak_escape.
Do not setup escape_glyph_face.
Properly merge escape-glyph face or face from display table with
current face for escape and control characters. Set
it->dpvec_face_id to relevant face id instead of adding it to each
element of display vector.
(next_element_from_display_vector): If it->dpvec_face_id is set,
use that instead of lface_id from glyph itself.
* gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
38.
(xg_tool_bar_detach_callback): Set toolbar_detached to 1.
(xg_tool_bar_attach_callback): Set toolbar_detached to 0.
(xg_create_tool_bar): Initialize toolbar_detached.
(update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
toolbar_detached is zero.
(xg_tool_bar_callback, xg_tool_bar_help_callback)
(update_frame_tool_bar): Cast to EMACS_INT to avoid compiler
warning.
* xselect.c (x_get_foreign_selection, x_fill_property_data)
(Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
XFLOAT_DATA to get extract number from Lisp object.