Mercurial > emacs
diff src/dispnew.c @ 83370:5272862a4865
Fix crashes in xdialog_show (and other places) with xterm-mouse-mode.
* src/dispextern.h (get_tty_device): Declare.
* src/dispnew.c (Fsend_string_to_terminal): Add optional TERMINAL parameter.
* src/fns.c (Fy_or_n_p, Fyes_or_no_p): Don't try to open an X dialog on
tty terminals.
* src/term.c (get_tty_device): Remove static qualifier.
* src/xmenu.c (create_and_show_dialog, create_and_show_popup_menu)
(free_frame_menubar, mouse_position_for_popup, set_frame_menubar)
(update_frame_menubar, x_activate_menubar, xdialog_show, xmenu_show):
Abort when given a non-X frame.
* src/xmenu.c (Fx_popup_menu, Fx_popup_dialog): Throw an error when run
on a non-X frame.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-410
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 11 Sep 2005 03:15:42 +0000 |
parents | c3dd82172ed1 |
children | 08b4dd6a6e87 |
line wrap: on
line diff
--- a/src/dispnew.c Sun Sep 11 03:06:33 2005 +0000 +++ b/src/dispnew.c Sun Sep 11 03:15:42 2005 +0000 @@ -6285,21 +6285,27 @@ DEFUN ("send-string-to-terminal", Fsend_string_to_terminal, - Ssend_string_to_terminal, 1, 1, 0, + Ssend_string_to_terminal, 1, 2, 0, doc: /* Send STRING to the terminal without alteration. -Control characters in STRING will have terminal-dependent effects. */) - (string) +Control characters in STRING will have terminal-dependent effects. + +Optional parameter TERMINAL specifies the tty display device to use. +It may be a terminal id, a frame, or nil for the terminal used by the +currently selected frame. */) + (string, display) Lisp_Object string; + Lisp_Object display; { + struct device *d = get_tty_device (display); struct tty_display_info *tty; /* ??? Perhaps we should do something special for multibyte strings here. */ CHECK_STRING (string); - if (! FRAME_TERMCAP_P (SELECTED_FRAME ())) - error ("Current frame is not on a tty device"); - - tty = CURTTY (); + if (!d) + error ("Unknown display device"); + + tty = d->display_info.tty; if (tty->termscript) {