Index: xdisp.c =================================================================== RCS file: /sources/emacs/emacs/src/xdisp.c,v retrieving revision 1.1123 diff -c -r1.1123 xdisp.c *** xdisp.c 1 Oct 2006 16:44:43 -0000 1.1123 --- xdisp.c 5 Oct 2006 13:50:47 -0000 *************** *** 1313,1319 **** current_buffer->header_line_format); start_display (&it, w, top); ! move_it_to (&it, charpos, -1, it.last_visible_y-1, -1, (charpos >= 0 ? MOVE_TO_POS : 0) | MOVE_TO_Y); /* Note that we may overshoot because of invisible text. */ --- 1313,1319 ---- current_buffer->header_line_format); start_display (&it, w, top); ! move_it_to (&it, charpos, -1, it.last_visible_y, -1, (charpos >= 0 ? MOVE_TO_POS : 0) | MOVE_TO_Y); /* Note that we may overshoot because of invisible text. */ Index: ChangeLog =================================================================== RCS file: /sources/emacs/emacs/src/ChangeLog,v retrieving revision 1.5342 diff -c -0 -r1.5342 ChangeLog *** ChangeLog 1 Oct 2006 16:44:43 -0000 1.5342 --- ChangeLog 5 Oct 2006 13:50:53 -0000 *************** *** 0 **** --- 1,5 ---- + 2006-10-05 Michaël Cadilhac + + * xdisp.c (pos_visible_p): Consider last_visible_y to be the tight + limit for move_it_to. +