summaryrefslogtreecommitdiff
path: root/src/systty.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-05-27 02:12:20 +0000
committerJim Blandy <jimb@redhat.com>1993-05-27 02:12:20 +0000
commitaca296f09c93693fd14fce5a73a134681dc5d1c4 (patch)
tree5ee6145eec6de8e1db430c91683943994bfb9485 /src/systty.h
parent3d9904a2c4c77716002dc33fb0cba6e40e6a6dca (diff)
downloademacs-aca296f09c93693fd14fce5a73a134681dc5d1c4.tar.gz
* systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
we have those structures, but *don't* define them if we have TERMIOS, whose functions take care of those parameters; that screws up AIX. (struct emacs_tty): Test those symbols, instead of the ioctl commands. * sysdep.c (emacs_get_tty, emacs_set_tty, new_ltchars, new_tchars, init_sys_modes): Same.
Diffstat (limited to 'src/systty.h')
-rw-r--r--src/systty.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/systty.h b/src/systty.h
index 98e97960540..d4a77d2847f 100644
--- a/src/systty.h
+++ b/src/systty.h
@@ -157,6 +157,17 @@ static struct sensemode {
#undef SIGIO
#endif
+/* On TERMIOS systems, the tcmumbleattr calls take care of these
+ parameters, and it's a bad idea to use them (on AIX, it makes the
+ tty hang for a long time).
+#if defined (TIOCGLTC) && !defined (HAVE_TERMIOS)
+#define HAVE_LTCHARS
+#endif
+
+#if defined (TIOCGETC) && !defined (HAVE_TERMIOS)
+#define HAVE_TCHARS
+#endif
+
/* Try to establish the correct character to disable terminal functions
in a system-independent manner. Note that USG (at least) define
@@ -286,13 +297,19 @@ struct emacs_tty {
#endif
#endif
#endif
-#ifdef TIOCGLTC
+
+/* If we have TERMIOS, we don't need to do this - they're taken care of
+ by the tc*attr calls. */
+#ifndef HAVE_TERMIOS
+#ifdef HAVE_LTCHARS
struct ltchars ltchars;
#endif
-#ifdef TIOCGETC
+
+#ifdef HAVE_TCHARS
struct tchars tchars;
int lmode;
#endif
+#endif
};
/* Define EMACS_GET_TTY and EMACS_SET_TTY,