diff options
| author | Jim Blandy | 1992-10-19 18:47:56 +0000 |
|---|---|---|
| committer | Jim Blandy | 1992-10-19 18:47:56 +0000 |
| commit | 81d478f3c6c08480a20dd9caab5d5824cc9bcf17 (patch) | |
| tree | ebd5a8b82ce3e720a5becc17d7d45fd7b3b57abb /src | |
| parent | 27daff1e907e392b5a0886e746bc89d60495c875 (diff) | |
| download | emacs-81d478f3c6c08480a20dd9caab5d5824cc9bcf17.tar.gz emacs-81d478f3c6c08480a20dd9caab5d5824cc9bcf17.zip | |
* xdisp.c (message): If M is zero, clear echo_area_glyphs and
previous_echo_glyphs, so that the minibuffer shows through.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index a44f988a8ab..eb78d11d8f9 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -171,21 +171,24 @@ int windows_or_buffers_changed; | |||
| 171 | zero if being used by message. */ | 171 | zero if being used by message. */ |
| 172 | int message_buf_print; | 172 | int message_buf_print; |
| 173 | 173 | ||
| 174 | /* dump an informative message to the minibuf */ | 174 | /* Dump an informative message to the minibuf. If m is 0, clear out |
| 175 | any existing message, and let the minibuffer text show through. */ | ||
| 175 | /* VARARGS 1 */ | 176 | /* VARARGS 1 */ |
| 176 | |||
| 177 | void | 177 | void |
| 178 | message (m, a1, a2, a3) | 178 | message (m, a1, a2, a3) |
| 179 | char *m; | 179 | char *m; |
| 180 | { | 180 | { |
| 181 | if (noninteractive) | 181 | if (noninteractive) |
| 182 | { | 182 | { |
| 183 | if (noninteractive_need_newline) | 183 | if (m) |
| 184 | putc ('\n', stderr); | 184 | { |
| 185 | noninteractive_need_newline = 0; | 185 | if (noninteractive_need_newline) |
| 186 | fprintf (stderr, m, a1, a2, a3); | 186 | putc ('\n', stderr); |
| 187 | fprintf (stderr, "\n"); | 187 | noninteractive_need_newline = 0; |
| 188 | fflush (stderr); | 188 | fprintf (stderr, m, a1, a2, a3); |
| 189 | fprintf (stderr, "\n"); | ||
| 190 | fflush (stderr); | ||
| 191 | } | ||
| 189 | } | 192 | } |
| 190 | /* A null message buffer means that the frame hasn't really been | 193 | /* A null message buffer means that the frame hasn't really been |
| 191 | initialized yet. Error messages get reported properly by | 194 | initialized yet. Error messages get reported properly by |
| @@ -202,22 +205,27 @@ message (m, a1, a2, a3) | |||
| 202 | Fmake_frame_visible (WINDOW_FRAME (XWINDOW (minibuf_window))); | 205 | Fmake_frame_visible (WINDOW_FRAME (XWINDOW (minibuf_window))); |
| 203 | #endif | 206 | #endif |
| 204 | 207 | ||
| 205 | { | 208 | if (m) |
| 209 | { | ||
| 210 | { | ||
| 206 | #ifdef NO_ARG_ARRAY | 211 | #ifdef NO_ARG_ARRAY |
| 207 | int a[3]; | 212 | int a[3]; |
| 208 | a[0] = a1; | 213 | a[0] = a1; |
| 209 | a[1] = a2; | 214 | a[1] = a2; |
| 210 | a[2] = a3; | 215 | a[2] = a3; |
| 211 | 216 | ||
| 212 | doprnt (FRAME_MESSAGE_BUF (selected_frame), | 217 | doprnt (FRAME_MESSAGE_BUF (selected_frame), |
| 213 | FRAME_WIDTH (selected_frame), m, 0, 3, a); | 218 | FRAME_WIDTH (selected_frame), m, 0, 3, a); |
| 214 | #else | 219 | #else |
| 215 | doprnt (FRAME_MESSAGE_BUF (selected_frame), | 220 | doprnt (FRAME_MESSAGE_BUF (selected_frame), |
| 216 | FRAME_WIDTH (selected_frame), m, 0, 3, &a1); | 221 | FRAME_WIDTH (selected_frame), m, 0, 3, &a1); |
| 217 | #endif /* NO_ARG_ARRAY */ | 222 | #endif /* NO_ARG_ARRAY */ |
| 218 | } | 223 | } |
| 219 | 224 | ||
| 220 | echo_area_glyphs = FRAME_MESSAGE_BUF (selected_frame); | 225 | echo_area_glyphs = FRAME_MESSAGE_BUF (selected_frame); |
| 226 | } | ||
| 227 | else | ||
| 228 | echo_area_glyphs = previous_echo_glyphs = 0; | ||
| 221 | 229 | ||
| 222 | /* Print should start at the beginning of the message | 230 | /* Print should start at the beginning of the message |
| 223 | buffer next time. */ | 231 | buffer next time. */ |