(syms_of_xfns): Initialize and staticpro it.
(Fx_hide_tip, Fx_show_tip): Use it.
(Fx_show_tip): Make sure to set tip_timer to nil when canceling
the timer.
(toplevel): Lisp code for generating parts of syms_of_xfns removed.
doesn't have a buffer-local value in the current buffer, change
the global value by changing the value of the symbol bound in all
buffers not having their own value, to make it consistent with
what happens with other buffer-local variables.
(x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
true for images with `:ascent 100'.
(x_set_mouse_face_gc): If the last used mouse face has gone in the
meantime, use face MOUSE_FACE_ID.
If first glyph isn't a character glyph, use the ASCII NUL
character to determine the face.
(expose_area): Do not treat left margin specially.
(note_mode_line_highlight): If no local_map, check global keymap.
(note_mouse_highlight): Initialize overlay.
(clear_mouse_face): Don't return if tip_frame is non-nil.
(show_scroll_bars): Remove unused function.
(w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
(x_draw_bar_cursor): Remove extra test for out of bounds cursor.
Clip to row.
(x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
(x_free_frame_resources): Unload relief colors.
get_next_display_element when the newline is already found. This
may change the iterator's position, when its current position is
equal to the iterator's stop_charpos.
In the cache, use a key containing the information if scalable
fonts are included.
(x_load_font): Adapt to change of keys in the font cache.
(x_list_fonts): Ensure caching font information when
called for a null frame, which is the case frequently when Emacs
starts.
(save_current_matrix, restore_current_matrix): New functions.
(adjust_frame_glyphs_for_frame_redisplay): Use them to save and
restore the frame's current matrix. Due to the glyph pointer
setup done in adjust_glyph_matrix, there is no easy way to make
saving the current matrix in the desired matrix generally correct,
so don't try it.
truncation glyphs.
(display_line): Optimize for wide characters.
(display_string): Don't try to display a multi-column charaters
partially. On ttys, produce more than one truncation glyph for
multi-column characters that don't fit on the line.