]> git.eshelyaron.com Git - emacs.git/commitdiff
(read_input_waiting): Don't mess with meta bit
authorRichard M. Stallman <rms@gnu.org>
Wed, 10 Nov 1993 08:30:22 +0000 (08:30 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 10 Nov 1993 08:30:22 +0000 (08:30 +0000)
if read_socket_hook is nonzero.

(LPASS8, LNOFLSH): Move definitions earlier.
(child_setup_tty): Turn on LPASS8.

src/sysdep.c

index 63ddbd4d3e9f2999df2d94d7b77771945ec66c24..3d219c69c78b1af42486f09e41b54686db3d5663 100644 (file)
@@ -155,6 +155,15 @@ extern int quit_char;
 #include "syssignal.h"
 #include "systime.h"
 
+/* LPASS8 is new in 4.3, and makes cbreak mode provide all 8 bits.  */
+#ifndef LPASS8
+#define LPASS8 0
+#endif
+
+#ifdef BSD4_1
+#define LNOFLSH 0100000
+#endif
+
 static int baud_convert[] =
 #ifdef BAUD_CONVERT
   BAUD_CONVERT;
@@ -496,6 +505,7 @@ child_setup_tty (out)
 
   s.main.sg_flags &= ~(ECHO | CRMOD | ANYP | ALLDELAY | RAW | LCASE
                       | CBREAK | TANDEM);
+  s.main.sg_flags |= LPASS8;
   s.main.sg_erase = 0377;
   s.main.sg_kill = 0377;
   s.lmode = LLITOUT | s.lmode;        /* Don't strip 8th bit */
@@ -1172,15 +1182,6 @@ init_sys_modes ()
          tty.tchars.t_stopc = '\023';
        }
 
-/* LPASS8 is new in 4.3, and makes cbreak mode provide all 8 bits.  */
-#ifndef LPASS8
-#define LPASS8 0
-#endif
-
-#ifdef BSD4_1
-#define LNOFLSH 0100000
-#endif
-
       tty.lmode = LDECCTQ | LLITOUT | LPASS8 | LNOFLSH | old_tty.lmode;
 #ifdef ultrix
       /* Under Ultrix 4.2a, leaving this out doesn't seem to hurt
@@ -2118,11 +2119,16 @@ read_input_waiting ()
   e.modifiers = 0;
   for (i = 0; i < nread; i++)
     {
-      /* If the user says she has a meta key, then believe her. */
-      if (meta_key == 1 && (buf[i] & 0x80))
-       e.modifiers = meta_modifier;
-      if (meta_key != 2)
-       buf[i] &= ~0x80;
+      /* Convert chars > 0177 to meta events if desired.
+        We do this under the same conditions that read_avail_input does.  */
+      if (read_socket_hook == 0)
+       {
+         /* If the user says she has a meta key, then believe her. */
+         if (meta_key == 1 && (buf[i] & 0x80))
+           e.modifiers = meta_modifier;
+         if (meta_key != 2)
+           buf[i] &= ~0x80;
+       }
 
       XSET (e.code, Lisp_Int, buf[i]);
       kbd_buffer_store_event (&e);