Use that, not p1start, when checking for char off left edge.
(mark_window_display_accurate, redisplay):
Set window_end_valid to the buffer displayed, not Qt.
Instead, store -1 in b->save_length. And don't auto save
if there is -1 there.
(Vinhibit_file_name_handlers): New var.
(syms_of_fileio): Set up Lisp var.
(Ffind_file_name_handler): Obey the variable.
Set mouse_face_deferred_gc when that case arise.
(XTframe_up_to_date): If mouse_face_deferred_gc, redo highlighting.
(show_mouse_face): Turn off cursor only if it's
in the area being manipulated.
(XTupdate_begin): Don't turn off highlight if we aren't updating
the window that it is in.
even if at endp. When clearing charstart, do the whole width.
(redisplay): Call verify_charstarts.
(redisplay): Don't call adjust_window_charstarts
if on last text line of window.
(scroll_frame_lines): When updating charstarts,
treat all columns alike--don't zero out any.
Fix end tests of loops over i.
(adjust_window_charstarts): Fix typo.
Use XSET when setting result->x and result->y.
(note_mouse_highlight): Use the value from sort_overlays.
Make the window's buffer current temporarily.
window_end_pos is relative to Z, not ZV.
(XTread_socket, MotionNotify and LeaveNotify cases):
If not in any frame, call clear_mouse_face.
(x_term_init): Set frame_up_to_date_hook.
(XTframe_up_to_date): New function.
(XTupdate_begin): Turn off mouse face display, and defer it.
(XTupdate_end): Undefer.
(mouse_face_defer): New variable.
(mouse_face_mouse_frame, mouse_face_mouse_x, mouse_face_mouse_y):
New variables.
(dumpglyphs): Handle HL = 3 by using mouse_face_face_id.
(note_mouse_movement): Check for mouse face.
(show_mouse_face, fast_find_position): New functions.
(clear_mouse_face): New functions.
(mouse_face_beg, mouse_face_end, mouse_face_face_id): New variables.
(mouse_face_window): New variable.
(syms_of_xterm): Init and staticpro it.
Don't pass top_pos and left_pos to XtCreatePopupShell.
Call initialize_frame_menubar before creating the Emacs frame if it is
not the minibuffer. Call XtManageChild for the menubar widget if any.
Compute some geometry management.
(Fx_create_frame): Pass window_prompting and minibuffer_only to x_window.
Don't call x_wm_set_size_hint.
Don't call initialize_frame_menubar.