From: Richard M. Stallman Date: Sun, 3 Jul 2005 16:51:02 +0000 (+0000) Subject: (try_window): Fix previous change in how it handles X-Git-Tag: emacs-pretest-22.0.90~8483 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/9b869380e7c681b0b60f9cc5446705a03b0ad12a?hp=7ad532392bbea95055f32eb73740fef4992d8c8c (try_window): Fix previous change in how it handles a partially-visible line or one only partly past the margin. --- diff --git a/src/xdisp.c b/src/xdisp.c index 40e83c7d37..988aab3a82 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -12740,11 +12740,11 @@ try_window (window, pos, check_margins) if ((w->cursor.y < this_scroll_margin && CHARPOS (pos) > BEGV) - /* Old redisplay didn't take scroll margin into account at the bottom, - but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */ - || (w->cursor.y + (make_cursor_line_fully_visible_p - ? cursor_height + this_scroll_margin - : 1)) > it.last_visible_y) + /* rms: considering make_cursor_line_fully_visible_p here + seems to give wrong results. We don't want to recenter + when the last line is partly visible, we want to allow + that case to be handled in the usual way. */ + || (w->cursor.y + 1) > it.last_visible_y) { w->cursor.vpos = -1; clear_glyph_matrix (w->desired_matrix);