changeset 97656:0ddcae8d4119

(handle_interrupt) [MSDOS]: Call cursor_to with SELECTED_FRAME as additional (1st) argument. (tty_read_avail_input): Handle output_msdos_raw in addition to output_termcap.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 23 Aug 2008 16:52:37 +0000
parents 287457e9bac1
children 24f1cb4150ef
files src/keyboard.c
diffstat 1 files changed, 9 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/keyboard.c	Sat Aug 23 16:51:47 2008 +0000
+++ b/src/keyboard.c	Sat Aug 23 16:52:37 2008 +0000
@@ -7076,7 +7076,8 @@
   if (!terminal->name)		/* Don't read from a dead terminal. */
     return 0;
 
-  if (terminal->type != output_termcap)
+  if (terminal->type != output_termcap
+      && terminal->type != output_msdos_raw)
     abort ();
 
   /* XXX I think the following code should be moved to separate hook
@@ -7084,6 +7085,12 @@
 #ifdef WINDOWSNT
   return 0;
 #else /* not WINDOWSNT */
+  if (! tty->term_initted)      /* In case we get called during bootstrap. */
+    return 0;
+
+  if (! tty->input)
+    return 0;                   /* The terminal is suspended. */
+
 #ifdef MSDOS
   n_to_read = dos_keysns ();
   if (n_to_read == 0)
@@ -7093,13 +7100,6 @@
   nread = 1;
 
 #else /* not MSDOS */
-
-  if (! tty->term_initted)      /* In case we get called during bootstrap. */
-    return 0;
-
-  if (! tty->input)
-    return 0;                   /* The terminal is suspended. */
-
 #ifdef HAVE_GPM
   if (gpm_tty == tty)
   {
@@ -11005,7 +11005,7 @@
 #ifdef MSDOS
       /* We must remain inside the screen area when the internal terminal
 	 is used.  Note that [Enter] is not echoed by dos.  */
-      cursor_to (0, 0);
+      cursor_to (SELECTED_FRAME (), 0, 0);
 #endif
       /* It doesn't work to autosave while GC is in progress;
 	 the code used for auto-saving doesn't cope with the mark bit.  */