+2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * editfns.c (Fmessage_box): If the frame is not under a window
+ system, output the message in the echo area.
+
2001-06-14 Richard M. Stallman <rms@gnu.org>
* xdisp.c (try_window_id): When EOB is visible, don't treat
#include "buffer.h"
#include "charset.h"
#include "coding.h"
+#include "frame.h"
#include "window.h"
#include "systime.h"
return unbind_to (count, val);
}
\f
-#ifndef HAVE_MENUS
-
-/* Buffer for the most recent text displayed by Fmessage. */
+/* Buffer for the most recent text displayed by Fmessage_box. */
static char *message_text;
/* Allocated length of that buffer. */
static int message_length;
-#endif /* not HAVE_MENUS */
-
DEFUN ("message", Fmessage, Smessage, 1, MANY, 0,
"Print a one-line message at the bottom of the screen.\n\
The first argument is a format control string, and the rest are data\n\
register Lisp_Object val;
val = Fformat (nargs, args);
#ifdef HAVE_MENUS
+ /* The MS-DOS frames support popup menus even though they are
+ not FRAME_WINDOW_P. */
+ if (FRAME_WINDOW_P (XFRAME (selected_frame))
+ || FRAME_MSDOS_P (XFRAME (selected_frame)))
{
Lisp_Object pane, menu, obj;
struct gcpro gcpro1;
UNGCPRO;
return val;
}
-#else /* not HAVE_MENUS */
+#endif /* HAVE_MENUS */
/* Copy the data so that it won't move when we GC. */
if (! message_text)
{
message2 (message_text, STRING_BYTES (XSTRING (val)),
STRING_MULTIBYTE (val));
return val;
-#endif /* not HAVE_MENUS */
}
}
#ifdef HAVE_MENUS