Commit 2897da4d authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix bug #16148 with visual-mode cursor motion and whitespace-newline-mode.

 src/xdisp.c (Fmove_point_visually): Expect overshoot in move_it_to
 when character at point is displayed from a display vector.
parent 31b4827e
2013-12-14 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (Fmove_point_visually): Expect overshoot in move_it_to
when character at point is displayed from a display vector.
(Bug#16148)
2013-12-14 Teodor Zlatanov <tzz@lifelogs.com>
* gnutls.c: Replace `:verify_hostname_error' with `:verify_error',
......
......@@ -20505,11 +20505,12 @@ Value is the new character position of point. */)
SET_TEXT_POS (pt, PT, PT_BYTE);
start_display (&it, w, pt);
 
if (it.cmp_it.id < 0
if ((it.cmp_it.id < 0
&& it.method == GET_FROM_STRING
&& it.area == TEXT_AREA
&& it.string_from_display_prop_p
&& (it.sp > 0 && it.stack[it.sp - 1].method == GET_FROM_BUFFER))
|| it.method == GET_FROM_DISPLAY_VECTOR)
overshoot_expected = true;
 
/* Find the X coordinate of point. We start from the beginning
......@@ -20553,7 +20554,12 @@ Value is the new character position of point. */)
glyph to the left of point, so we need to correct the X
coordinate. */
if (overshoot_expected)
{
if (it.bidi_p)
pt_x += pixel_width * it.bidi_it.scan_dir;
else
pt_x += pixel_width;
}
 
/* Compute target X coordinate, either to the left or to the
right of point. On TTY frames, all characters have the same
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment