Mercurial > emacs
changeset 25393:9aff86718a20
(try_window_id): Recognize case that PT == ZV and in
unchanged text at the bottom when computing the cursor position.
(message3_nolog): Raise frame only if minibuffer_auto_raise is
set.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Wed, 25 Aug 1999 01:05:00 +0000 |
parents | d193b3ae681f |
children | ed9fe1a2c8ae |
files | src/xdisp.c |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Wed Aug 25 01:04:57 1999 +0000 +++ b/src/xdisp.c Wed Aug 25 01:05:00 1999 +0000 @@ -4931,7 +4931,8 @@ if (STRINGP (m) && XSTRING (m)->size) { set_message (NULL, m, nbytes, multibyte); - Fraise_frame (frame); + if (minibuffer_auto_raise) + Fraise_frame (frame); } else clear_message (1, 1); @@ -9891,7 +9892,7 @@ delta = dvpos = dy = run.current_y = run.desired_y = run.height = 0; IF_DEBUG (debug_dvpos = dvpos; debug_dy = dy); - +k /* Find the cursor if not already found. We have to decide whether PT will appear on this window (it sometimes doesn't, but this is not a very frequent case.) This decision has to be made before @@ -9920,6 +9921,7 @@ else if (first_unchanged_at_end_row) { row = first_unchanged_at_end_row; + while (MATRIX_ROW_DISPLAYS_TEXT_P (row)) { if (PT - delta >= MATRIX_ROW_START_CHARPOS (row) @@ -9933,6 +9935,14 @@ break; ++row; } + + /* If PT is at ZV, this is not in a line displaying text. + Check that case. */ + if (w->cursor.vpos < 0 + && PT - delta == MATRIX_ROW_START_CHARPOS (row) + && row->ends_at_zv_p) + set_cursor_from_row (w, row, w->current_matrix, delta, + delta_bytes, dy, dvpos); } /* Give up if cursor was not found. */