1999-11-14 Gerd Moellmann <gerd@gnu.org>
+ * xdisp.c (ensure_echo_area_buffers): New.
+ (with_echo_area_buffer): Use it.
+ (setup_echo_area_for_printing): Ditto.
+
* buffer.c (indicate-empty-lines): Doc-fix.
1999-11-12 Gerd Moellmann <gerd@gnu.org>
\f
/* 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 *));
}
+/* 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.
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;
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.