diff options
| author | Gerd Moellmann | 1999-08-25 01:05:00 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 1999-08-25 01:05:00 +0000 |
| commit | 468155d7e908cf1e4e8afc65255ae65062106f97 (patch) | |
| tree | fcd41d97c723657dc48fa5b1f9e149d09dca1c30 /src | |
| parent | 26228404554a2c330f6e757fa9c22b744c296d44 (diff) | |
| download | emacs-468155d7e908cf1e4e8afc65255ae65062106f97.tar.gz emacs-468155d7e908cf1e4e8afc65255ae65062106f97.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 742cd4c89f8..fc17eb6cce9 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -4931,7 +4931,8 @@ message3_nolog (m, nbytes, multibyte) | |||
| 4931 | if (STRINGP (m) && XSTRING (m)->size) | 4931 | if (STRINGP (m) && XSTRING (m)->size) |
| 4932 | { | 4932 | { |
| 4933 | set_message (NULL, m, nbytes, multibyte); | 4933 | set_message (NULL, m, nbytes, multibyte); |
| 4934 | Fraise_frame (frame); | 4934 | if (minibuffer_auto_raise) |
| 4935 | Fraise_frame (frame); | ||
| 4935 | } | 4936 | } |
| 4936 | else | 4937 | else |
| 4937 | clear_message (1, 1); | 4938 | clear_message (1, 1); |
| @@ -9891,7 +9892,7 @@ try_window_id (w) | |||
| 9891 | delta = dvpos = dy = run.current_y = run.desired_y = run.height = 0; | 9892 | delta = dvpos = dy = run.current_y = run.desired_y = run.height = 0; |
| 9892 | IF_DEBUG (debug_dvpos = dvpos; debug_dy = dy); | 9893 | IF_DEBUG (debug_dvpos = dvpos; debug_dy = dy); |
| 9893 | 9894 | ||
| 9894 | 9895 | k | |
| 9895 | /* Find the cursor if not already found. We have to decide whether | 9896 | /* Find the cursor if not already found. We have to decide whether |
| 9896 | PT will appear on this window (it sometimes doesn't, but this is | 9897 | PT will appear on this window (it sometimes doesn't, but this is |
| 9897 | not a very frequent case.) This decision has to be made before | 9898 | not a very frequent case.) This decision has to be made before |
| @@ -9920,6 +9921,7 @@ try_window_id (w) | |||
| 9920 | else if (first_unchanged_at_end_row) | 9921 | else if (first_unchanged_at_end_row) |
| 9921 | { | 9922 | { |
| 9922 | row = first_unchanged_at_end_row; | 9923 | row = first_unchanged_at_end_row; |
| 9924 | |||
| 9923 | while (MATRIX_ROW_DISPLAYS_TEXT_P (row)) | 9925 | while (MATRIX_ROW_DISPLAYS_TEXT_P (row)) |
| 9924 | { | 9926 | { |
| 9925 | if (PT - delta >= MATRIX_ROW_START_CHARPOS (row) | 9927 | if (PT - delta >= MATRIX_ROW_START_CHARPOS (row) |
| @@ -9933,6 +9935,14 @@ try_window_id (w) | |||
| 9933 | break; | 9935 | break; |
| 9934 | ++row; | 9936 | ++row; |
| 9935 | } | 9937 | } |
| 9938 | |||
| 9939 | /* If PT is at ZV, this is not in a line displaying text. | ||
| 9940 | Check that case. */ | ||
| 9941 | if (w->cursor.vpos < 0 | ||
| 9942 | && PT - delta == MATRIX_ROW_START_CHARPOS (row) | ||
| 9943 | && row->ends_at_zv_p) | ||
| 9944 | set_cursor_from_row (w, row, w->current_matrix, delta, | ||
| 9945 | delta_bytes, dy, dvpos); | ||
| 9936 | } | 9946 | } |
| 9937 | 9947 | ||
| 9938 | /* Give up if cursor was not found. */ | 9948 | /* Give up if cursor was not found. */ |