(x_create_toolkit_scroll_bar): Test XtNbeNiceToColormap before using it.
Use XtNtopShadowPixel and XtNbottomShadowPixel.
(x_set_toolkit_scroll_bar_thumb): Remove ugly old hack that didn't
really work and that breaks with some versions of Xaw3d.
fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
fontp-?space_width..
(x_load_font): Calculate fontp->space_width and
fontp->average_width.
(x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
here, it may be too late if we start queuing after we have already
stored some selection events into the kbd buffer.
(struct selection_event_queue, queue, x_queue_selection_requests)
(x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
(x_stop_queuing_selection_requests): Remove/move to xselect.c.
(x_catch_errors_unwind): Block input around final XSync.
(FRAME_XIC_BASE_FONTNAME): New macro.
(xic_free_xfontset): Declare.
* xfns.c (xic_create_xfontset): Share fontsets between frames
based on base_fontname.
(xic_free_xfontset): New function.
(free_frame_xic): Use it.
(xic_set_xfontset): Ditto.
* xterm.c (xim_destroy_callback): Ditto.
(x_scroll_bar_create, XTset_vertical_scroll_bar): Remove
arguments left and width to xg_update_scrollbar_pos.
(XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
bars with fractional column width. If scroll bar separates two
windows, move it towards the window it belongs to. Only update
the padding area below the scroll bar widget when necessary,
i.e. when scroll bar widget is created, moved, or resized.
(syms_of_xterm): DEFVAR_BOOL it.
(ignore_next_mouse_click_timeout): New var.
(handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
Use it to filter mouse clicks following focus event.
* xterm.c (x_calc_absolute_position): Call x_real_positions
to get WM window sizes and use those to calculate position.
(x_set_offset): Removed code commented out.
numchars arg. Always store event into bufp arg. Return nothing.
Callers changed accordingly.
(glyph_rect): Simplify.
(STORE_KEYSYM_FOR_DEBUG): New macro.
(SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
(current_bufp, current_numcharsp) [USE_GTK]: Remove.
(current_hold_quit) [USE_GTK]: Add.
(event_handler_gdk): Adapt to new handle_one_xevent.
(handle_one_xevent): Remove bufp_r and numcharsp args.
Add hold_quit arg. Rework to use just one, local, inev
input_event. Store inev directly in fifo using
kbd_buffer_store_event_hold. Update count in one place.
Postpone call to gen_help_event until inev is stored; use new
local do_help for this.
Simplify handling of keysyms (consolidate common code). Fix bug
where count was updated with nchars instead of nbytes.
Remove local emacs_event in handing of ButtonPress event; just use
inev instead (so no reason to copy it later).
Remove `out' label. Rename label `ret' to `done'; add various
`goto done' to clarify code flow in deeply nested blocks.
(x_dispatch_event): Simplify as handle_one_xevent now calls
kbd_buffer_store_event itself.
(XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
arg. Call handle_one_xevent with new arglist. Store event from
x_session_check_input in fifo.
[USE_GTK]: Setup current_hold_quit.
Decrement handling_signal before unblocking input.
(x_initialize) [USE_GTK]: Initialize current_count.
Use cursor color for displaying cursor in fringe.
(x_redisplay_interface): Add null handlers for
define_fringe_bitmap and destroy_fringe_bitmap functions.
(x_after_update_window_line): Just set redraw_fringe_bitmaps_p
in row instead of actually drawing fringe bitmaps.
(x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
(x_draw_window_cursor): Draw cursor in fringe.