From: Kim F. Storm Date: Wed, 20 Sep 2006 09:43:18 +0000 (+0000) Subject: (pos_visible_p): CHARPOS < 0 means return info for X-Git-Tag: emacs-pretest-22.0.90~440 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0dd956164b35a992de5846567d6c57b5ad4be256;p=emacs.git (pos_visible_p): CHARPOS < 0 means return info for last visible glyph in window. --- diff --git a/src/xdisp.c b/src/xdisp.c index 6efd0958002..c766f714335 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -1275,6 +1275,7 @@ line_bottom_y (it) /* 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 @@ pos_visible_p (w, charpos, x, y, rtop, rbot, rowh, vpos) 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;