From: Gerd Moellmann Date: Fri, 11 Aug 2000 13:01:28 +0000 (+0000) Subject: (try_cursor_movement): Fix handling of cursor in X-Git-Tag: emacs-pretest-21.0.90~2347 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=440fc13575d5b4a23b1a3ad1fedca1af76f5ff4b;p=emacs.git (try_cursor_movement): Fix handling of cursor in partially visible line which is smaller than the window's height. --- diff --git a/src/ChangeLog b/src/ChangeLog index bd188fe670f..5d6e8ba61e1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,14 @@ +2000-08-11 Gerd Moellmann + + * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially + since they aren't relocated anymore. + (sxhash_string): Make sure returned hash code fits in a Lisp + integer. + + * xdisp.c (try_cursor_movement): Fix handling of cursor in + partially visible line which is smaller than the window's + height. + 2000-08-11 Kenichi Handa * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to diff --git a/src/xdisp.c b/src/xdisp.c index 9a52e1f2a35..c27876623a1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -8950,14 +8950,23 @@ try_cursor_movement (window, startp, scroll_step) /* if PT is not in the glyph row, give up. */ rc = -1; } - else if (MATRIX_ROW_PARTIALLY_VISIBLE_P (row) - && window_box_height (w) > row->height) + else if (MATRIX_ROW_PARTIALLY_VISIBLE_P (row)) { /* If we end up in a partially visible line, let's make it fully visible, except when it's taller than the window, in which case we can't do much about it. */ - *scroll_step = 1; - rc = -1; + if (row->height > window_box_height (w)) + { + *scroll_step = 1; + rc = -1; + } + else + { + set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0); + try_window (window, startp); + make_cursor_line_fully_visible (w); + rc = 1; + } } else if (scroll_p) rc = -1;