diff options
| author | Richard M. Stallman | 2005-04-16 18:19:40 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2005-04-16 18:19:40 +0000 |
| commit | a8a1c0ee0dde97eeab45722c1189c1af0de49006 (patch) | |
| tree | d1fbff27af3c990b662f22ecfb76b713e64a0364 /src | |
| parent | fbcaad36b832a6894896dfbc0562bacd3f41c599 (diff) | |
| download | emacs-a8a1c0ee0dde97eeab45722c1189c1af0de49006.tar.gz emacs-a8a1c0ee0dde97eeab45722c1189c1af0de49006.zip | |
(with_echo_area_buffer): Delete WHICH < 0 case.
(set_message): Call with_echo_area_buffer with WHICH = 0.
(set_message_1): Erase the echo area buffer first thing.
(echo_area_display): Don't clear echo_message_buffer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/xdisp.c | 37 |
2 files changed, 22 insertions, 22 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b8ebd3f8ba2..ffcfdebcab1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2005-04-16 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (with_echo_area_buffer): Delete WHICH < 0 case. | ||
| 4 | (set_message): Call with_echo_area_buffer with WHICH = 0. | ||
| 5 | (set_message_1): Erase the echo area buffer first thing. | ||
| 6 | (echo_area_display): Don't clear echo_message_buffer. | ||
| 7 | |||
| 1 | 2005-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 8 | 2005-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 9 | ||
| 3 | * Makefile.in (mac.o): Depend on charset.h and coding.h. | 10 | * Makefile.in (mac.o): Depend on charset.h and coding.h. |
diff --git a/src/xdisp.c b/src/xdisp.c index e3e1048aaea..4a6bc3ffeb7 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -567,12 +567,21 @@ Lisp_Object Vmessage_log_max; | |||
| 567 | 567 | ||
| 568 | static Lisp_Object Vmessages_buffer_name; | 568 | static Lisp_Object Vmessages_buffer_name; |
| 569 | 569 | ||
| 570 | /* Current, index 0, and last displayed echo area message. Either | 570 | /* Index 0 is the buffer that holds the current (desired) echo area message, |
| 571 | buffers from echo_buffers, or nil to indicate no message. */ | 571 | or nil if none is desired right now. |
| 572 | |||
| 573 | Index 1 is the buffer that holds the previously displayed echo area message, | ||
| 574 | or nil to indicate no message. This is normally what's on the screen now. | ||
| 575 | |||
| 576 | These two can point to the same buffer. That happens when the last | ||
| 577 | message output by the user (or made by echoing) has been displayed. */ | ||
| 572 | 578 | ||
| 573 | Lisp_Object echo_area_buffer[2]; | 579 | Lisp_Object echo_area_buffer[2]; |
| 574 | 580 | ||
| 575 | /* The buffers referenced from echo_area_buffer. */ | 581 | /* Permanent pointers to the two buffers that are used for echo area |
| 582 | purposes. Once the two buffers are made, and their pointers are | ||
| 583 | placed here, these two slots remain unchanged unless those buffers | ||
| 584 | need to be created afresh. */ | ||
| 576 | 585 | ||
| 577 | static Lisp_Object echo_buffer[2]; | 586 | static Lisp_Object echo_buffer[2]; |
| 578 | 587 | ||
| @@ -7217,10 +7226,6 @@ ensure_echo_area_buffers () | |||
| 7217 | WHICH > 0 means use echo_area_buffer[1]. If that is nil, choose a | 7226 | WHICH > 0 means use echo_area_buffer[1]. If that is nil, choose a |
| 7218 | suitable buffer from echo_buffer[] and clear it. | 7227 | suitable buffer from echo_buffer[] and clear it. |
| 7219 | 7228 | ||
| 7220 | If WHICH < 0, set echo_area_buffer[1] to echo_area_buffer[0], so | ||
| 7221 | that the current message becomes the last displayed one, make | ||
| 7222 | choose a suitable buffer for echo_area_buffer[0], and clear it. | ||
| 7223 | |||
| 7224 | Value is what FN returns. */ | 7229 | Value is what FN returns. */ |
| 7225 | 7230 | ||
| 7226 | static int | 7231 | static int |
| @@ -7245,17 +7250,6 @@ with_echo_area_buffer (w, which, fn, a1, a2, a3, a4) | |||
| 7245 | this_one = 0, the_other = 1; | 7250 | this_one = 0, the_other = 1; |
| 7246 | else if (which > 0) | 7251 | else if (which > 0) |
| 7247 | this_one = 1, the_other = 0; | 7252 | this_one = 1, the_other = 0; |
| 7248 | else | ||
| 7249 | { | ||
| 7250 | this_one = 0, the_other = 1; | ||
| 7251 | clear_buffer_p = 1; | ||
| 7252 | |||
| 7253 | /* We need a fresh one in case the current echo buffer equals | ||
| 7254 | the one containing the last displayed echo area message. */ | ||
| 7255 | if (!NILP (echo_area_buffer[this_one]) | ||
| 7256 | && EQ (echo_area_buffer[this_one], echo_area_buffer[the_other])) | ||
| 7257 | echo_area_buffer[this_one] = Qnil; | ||
| 7258 | } | ||
| 7259 | 7253 | ||
| 7260 | /* Choose a suitable buffer from echo_buffer[] is we don't | 7254 | /* Choose a suitable buffer from echo_buffer[] is we don't |
| 7261 | have one. */ | 7255 | have one. */ |
| @@ -7875,7 +7869,7 @@ set_message (s, string, nbytes, multibyte_p) | |||
| 7875 | = ((s && multibyte_p) | 7869 | = ((s && multibyte_p) |
| 7876 | || (STRINGP (string) && STRING_MULTIBYTE (string))); | 7870 | || (STRINGP (string) && STRING_MULTIBYTE (string))); |
| 7877 | 7871 | ||
| 7878 | with_echo_area_buffer (0, -1, set_message_1, | 7872 | with_echo_area_buffer (0, 0, set_message_1, |
| 7879 | (EMACS_INT) s, string, nbytes, multibyte_p); | 7873 | (EMACS_INT) s, string, nbytes, multibyte_p); |
| 7880 | message_buf_print = 0; | 7874 | message_buf_print = 0; |
| 7881 | help_echo_showing_p = 0; | 7875 | help_echo_showing_p = 0; |
| @@ -7907,6 +7901,7 @@ set_message_1 (a1, a2, nbytes, multibyte_p) | |||
| 7907 | 7901 | ||
| 7908 | /* Insert new message at BEG. */ | 7902 | /* Insert new message at BEG. */ |
| 7909 | TEMP_SET_PT_BOTH (BEG, BEG_BYTE); | 7903 | TEMP_SET_PT_BOTH (BEG, BEG_BYTE); |
| 7904 | Ferase_buffer (); | ||
| 7910 | 7905 | ||
| 7911 | if (STRINGP (string)) | 7906 | if (STRINGP (string)) |
| 7912 | { | 7907 | { |
| @@ -8123,10 +8118,8 @@ echo_area_display (update_frame_p) | |||
| 8123 | else if (!EQ (mini_window, selected_window)) | 8118 | else if (!EQ (mini_window, selected_window)) |
| 8124 | windows_or_buffers_changed++; | 8119 | windows_or_buffers_changed++; |
| 8125 | 8120 | ||
| 8126 | /* Last displayed message is now the current message. */ | 8121 | /* The current message is now also the last one displayed. */ |
| 8127 | echo_area_buffer[1] = echo_area_buffer[0]; | 8122 | echo_area_buffer[1] = echo_area_buffer[0]; |
| 8128 | /* Inform read_char that we're not echoing. */ | ||
| 8129 | echo_message_buffer = Qnil; | ||
| 8130 | 8123 | ||
| 8131 | /* Prevent redisplay optimization in redisplay_internal by resetting | 8124 | /* Prevent redisplay optimization in redisplay_internal by resetting |
| 8132 | this_line_start_pos. This is done because the mini-buffer now | 8125 | this_line_start_pos. This is done because the mini-buffer now |