(BUFFER_POS_REACHED_P): Return true if pos reached and
authorKim F. Storm <storm@cua.dk>
Tue, 15 Feb 2005 23:04:45 +0000 (23:04 +0000)
committerKim F. Storm <storm@cua.dk>
Tue, 15 Feb 2005 23:04:45 +0000 (23:04 +0000)
at end of display vector.

src/xdisp.c

index c7f446d..c0489aa 100644 (file)
@@ -5819,11 +5819,14 @@ move_it_in_display_line_to (it, to_charpos, to_x, op)
   saved_glyph_row = it->glyph_row;
   it->glyph_row = NULL;
 
-#define BUFFER_POS_REACHED_P()                 \
-  ((op & MOVE_TO_POS) != 0                     \
-   && BUFFERP (it->object)                     \
-   && IT_CHARPOS (*it) >= to_charpos           \
-   && it->method == next_element_from_buffer)
+#define BUFFER_POS_REACHED_P()                                 \
+  ((op & MOVE_TO_POS) != 0                                     \
+   && BUFFERP (it->object)                                     \
+   && IT_CHARPOS (*it) >= to_charpos                           \
+   && (it->method == next_element_from_buffer ||               \
+       (it->method == next_element_from_display_vector &&      \
+       it->dpvec + it->current.dpvec_index + 1 >= it->dpend)))
+
 
   while (1)
     {