+2009-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * dispnew.c (Fsend_string_to_terminal): Make it work again on the
+ initial terminal as well.
+
2009-09-02 Jan Djärv <jan.h.d@swipnet.se>
* xterm.h: Rename x_non_menubar_window_to_frame to
- x_menubar_window_to_frame
+ x_menubar_window_to_frame.
* xterm.c: Remove declarations also in xterm.h
(XTmouse_position): Do not return valid positions
Lisp_Object string;
Lisp_Object terminal;
{
- struct terminal *t = get_tty_terminal (terminal, 1);
- struct tty_display_info *tty;
+ struct terminal *t = get_terminal (terminal, 1);
+ FILE *out;
/* ??? Perhaps we should do something special for multibyte strings here. */
CHECK_STRING (string);
if (!t)
error ("Unknown terminal device");
- tty = t->display_info.tty;
+ if (t->type == output_initial)
+ out = stdout;
+ else if (t->type != output_termcap && t->type != output_msdos_raw)
+ error ("Device %d is not a termcap terminal device", t->id);
+ else
+ {
+ struct tty_display_info *tty = t->display_info.tty;
- if (! tty->output)
- error ("Terminal is currently suspended");
+ if (! tty->output)
+ error ("Terminal is currently suspended");
- if (tty->termscript)
- {
- fwrite (SDATA (string), 1, SBYTES (string), tty->termscript);
- fflush (tty->termscript);
+ if (tty->termscript)
+ {
+ fwrite (SDATA (string), 1, SBYTES (string), tty->termscript);
+ fflush (tty->termscript);
+ }
+ out = tty->output;
}
- fwrite (SDATA (string), 1, SBYTES (string), tty->output);
- fflush (tty->output);
+ fwrite (SDATA (string), 1, SBYTES (string), out);
+ fflush (out);
UNBLOCK_INPUT;
return Qnil;
}