changeset 73012:ec1038b88e4e

(pos_visible_p): CHARPOS < 0 means return info for last visible glyph in window.
author Kim F. Storm <storm@cua.dk>
date Wed, 20 Sep 2006 09:43:18 +0000
parents 8d2a655d3220
children 6ebbc42247b3
files src/xdisp.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Wed Sep 20 09:43:02 2006 +0000
+++ b/src/xdisp.c	Wed Sep 20 09:43:18 2006 +0000
@@ -1275,6 +1275,7 @@
 
 
 /* Return 1 if position CHARPOS is visible in window W.
+   CHARPOS < 0 means return info about WINDOW_END position.
    If visible, set *X and *Y to pixel coordinates of top left corner.
    Set *RTOP and *RBOT to pixel height of an invisible area of glyph at POS.
    Set *ROWH and *VPOS to row's visible height and VPOS (row number).  */
@@ -1313,10 +1314,10 @@
 
   start_display (&it, w, top);
   move_it_to (&it, charpos, -1, it.last_visible_y-1, -1,
-	      MOVE_TO_POS | MOVE_TO_Y);
+	      (charpos >= 0 ? MOVE_TO_POS : 0) | MOVE_TO_Y);
 
   /* Note that we may overshoot because of invisible text.  */
-  if (IT_CHARPOS (it) >= charpos)
+  if (charpos >= 0 && IT_CHARPOS (it) >= charpos)
     {
       int top_x = it.current_x;
       int top_y = it.current_y;