aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2011-07-07 20:48:51 +0300
committerEli Zaretskii2011-07-07 20:48:51 +0300
commitad3c1639757e8b5aefb490426ca44dad08b74130 (patch)
tree7ffb1975240857fb5c1412a329a10691e14a1736 /src
parent57b3e30bb29d904180b651422ab58341debe84cb (diff)
downloademacs-ad3c1639757e8b5aefb490426ca44dad08b74130.tar.gz
emacs-ad3c1639757e8b5aefb490426ca44dad08b74130.zip
Fix another bug with cursor motion around display properties.
Still not quite there yet. src/xdisp.c (find_row_edges): If ROW->start.pos gives position smaller than min_pos, use it as ROW->minpos. (Bug#7616)
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xdisp.c9
2 files changed, 11 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 55ff323ab57..74a684df45e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12011-07-07 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (find_row_edges): If ROW->start.pos gives position
4 smaller than min_pos, use it as ROW->minpos. (Bug#7616)
5
12011-07-05 Eli Zaretskii <eliz@gnu.org> 62011-07-05 Eli Zaretskii <eliz@gnu.org>
2 7
3 * dispnew.c (buffer_posn_from_coords): Save and restore the bidi 8 * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
@@ -33,7 +38,7 @@
332011-07-02 Eli Zaretskii <eliz@gnu.org> 382011-07-02 Eli Zaretskii <eliz@gnu.org>
34 39
35 * xdisp.c (reseat_1): Call bidi_init_it to resync the bidi 40 * xdisp.c (reseat_1): Call bidi_init_it to resync the bidi
36 iterator with IT's position. 41 iterator with IT's position. (Bug#7616)
37 (handle_stop, back_to_previous_visible_line_start, reseat_1): 42 (handle_stop, back_to_previous_visible_line_start, reseat_1):
38 Reset the from_disp_prop_p flag. 43 Reset the from_disp_prop_p flag.
39 44
diff --git a/src/xdisp.c b/src/xdisp.c
index 0281370008c..1cc3e2eaadb 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -17976,12 +17976,13 @@ find_row_edges (struct it *it, struct glyph_row *row,
17976 lines' rows is implemented for bidi-reordered rows. */ 17976 lines' rows is implemented for bidi-reordered rows. */
17977 17977
17978 /* ROW->minpos is the value of min_pos, the minimal buffer position 17978 /* ROW->minpos is the value of min_pos, the minimal buffer position
17979 we have in ROW. */ 17979 we have in ROW, or ROW->start.pos if that is smaller. */
17980 if (min_pos <= ZV) 17980 if (min_pos <= ZV && min_pos < row->start.pos.charpos)
17981 SET_TEXT_POS (row->minpos, min_pos, min_bpos); 17981 SET_TEXT_POS (row->minpos, min_pos, min_bpos);
17982 else 17982 else
17983 /* We didn't find _any_ valid buffer positions in any of the 17983 /* We didn't find buffer positions smaller than ROW->start, or
17984 glyphs, so we must trust the iterator's computed positions. */ 17984 didn't find _any_ valid buffer positions in any of the glyphs,
17985 so we must trust the iterator's computed positions. */
17985 row->minpos = row->start.pos; 17986 row->minpos = row->start.pos;
17986 if (max_pos <= 0) 17987 if (max_pos <= 0)
17987 { 17988 {