# HG changeset patch # User Gerd Moellmann # Date 942597389 0 # Node ID 2360d692254c7e5751206d3361fafff557a890be # Parent 381ec3cf8fe2e7caabe1159d0e6e7fb73e8ad63b (ensure_echo_area_buffers): New. (with_echo_area_buffer): Use it. (setup_echo_area_for_printing): Ditto. diff -r 381ec3cf8fe2 -r 2360d692254c src/xdisp.c --- a/src/xdisp.c Sun Nov 14 12:51:38 1999 +0000 +++ b/src/xdisp.c Sun Nov 14 16:36:29 1999 +0000 @@ -582,6 +582,7 @@ /* Function prototypes. */ +static void ensure_echo_area_buffers P_ ((void)); static struct glyph_row *row_containing_pos P_ ((struct window *, int, struct glyph_row *, struct glyph_row *)); @@ -5162,6 +5163,25 @@ } +/* Make sure echo area buffers in echo_buffers[] are life. If they + aren't, make new ones. */ + +static void +ensure_echo_area_buffers () +{ + int i; + + for (i = 0; i < 2; ++i) + if (!BUFFERP (echo_buffer[i]) + || NILP (XBUFFER (echo_buffer[i])->name)) + { + char name[30]; + sprintf (name, " *Echo Area %d*", i); + echo_buffer[i] = Fget_buffer_create (build_string (name)); + } +} + + /* Call FN with args A1..A5 with either the current or last displayed echo_area_buffer as current buffer. @@ -5190,14 +5210,7 @@ int count = specpdl_ptr - specpdl; /* If buffers aren't life, make new ones. */ - for (i = 0; i < 2; ++i) - if (!BUFFERP (echo_buffer[i]) - || NILP (XBUFFER (echo_buffer[i])->name)) - { - char name[30]; - sprintf (name, " *Echo Area %d*", i); - echo_buffer[i] = Fget_buffer_create (build_string (name)); - } + ensure_echo_area_buffers (); clear_buffer_p = 0; @@ -5349,6 +5362,8 @@ setup_echo_area_for_printing (multibyte_p) int multibyte_p; { + ensure_echo_area_buffers (); + if (!message_buf_print) { /* A message has been output since the last time we printed.