Fix bug #11720 with cursor positioning in outline-mode and Org buffers.
src/xdisp.c (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not the rightmost.
This commit is contained in:
parent
1097afe455
commit
946fdb736d
2 changed files with 5 additions and 6 deletions
|
@ -6,6 +6,8 @@
|
|||
row.
|
||||
(handle_face_prop): Use chunk-relative overlay string index when
|
||||
indexing into it->string_overlays array. (Bug#11653)
|
||||
(set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
|
||||
the rightmost. (Bug#11720)
|
||||
|
||||
2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
|
|
|
@ -13937,16 +13937,13 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
|
|||
break;
|
||||
}
|
||||
/* See if we've found a better approximation to
|
||||
POS_BEFORE or to POS_AFTER. Note that we want the
|
||||
first (leftmost) glyph of all those that are the
|
||||
closest from below, and the last (rightmost) of all
|
||||
those from above. */
|
||||
POS_BEFORE or to POS_AFTER. */
|
||||
if (0 > dpos && dpos > pos_before - pt_old)
|
||||
{
|
||||
pos_before = glyph->charpos;
|
||||
glyph_before = glyph;
|
||||
}
|
||||
else if (0 < dpos && dpos <= pos_after - pt_old)
|
||||
else if (0 < dpos && dpos < pos_after - pt_old)
|
||||
{
|
||||
pos_after = glyph->charpos;
|
||||
glyph_after = glyph;
|
||||
|
@ -14030,7 +14027,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
|
|||
pos_before = glyph->charpos;
|
||||
glyph_before = glyph;
|
||||
}
|
||||
else if (0 < dpos && dpos <= pos_after - pt_old)
|
||||
else if (0 < dpos && dpos < pos_after - pt_old)
|
||||
{
|
||||
pos_after = glyph->charpos;
|
||||
glyph_after = glyph;
|
||||
|
|
Loading…
Add table
Reference in a new issue