annotate src/systty.h @ 4824:eaf67474339b

(Fminibuffer_complete_word): GCPRO1 `completion' during calls to Ftry_completion. (read_minibuf): Rewrite change of Sep 14. Save the return value on the history list provided in the form that the value is returned, iff the value is not equal to the front of the history list. (Fread_no_blanks_input): Change DEFUN to allow 2nd arg to be optional. The code was already written correctly.
author Brian Fox <bfox@gnu.org>
date Tue, 05 Oct 1993 01:46:45 +0000
parents 4876bc32caf2
children afa76fe24878
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
1 /* systty.h - System-dependent definitions for terminals.
2961
e94a593c3952 Updated copyright years.
Jim Blandy <jimb@redhat.com>
parents: 2943
diff changeset
2 Copyright (C) 1993 Free Software Foundation, Inc.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 the Free Software Foundation; either version 1, or (at your option)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
20 #ifdef HAVE_TERMIOS
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
21 #define HAVE_TCATTR
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
22 #endif
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 /* Include the proper files. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 #ifdef HAVE_TERMIO
2912
32106dbf6d01 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2873
diff changeset
26 #ifdef __DGUX
32106dbf6d01 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2873
diff changeset
27 #include <sys/ioctl.h>
32106dbf6d01 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2873
diff changeset
28 #endif
3557
009b22e07a63 Add NO_TERMIO conditional.
Richard M. Stallman <rms@gnu.org>
parents: 3319
diff changeset
29 #ifndef NO_TERMIO
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 #include <termio.h>
3557
009b22e07a63 Add NO_TERMIO conditional.
Richard M. Stallman <rms@gnu.org>
parents: 3319
diff changeset
31 #endif /* not NO_TERMIO */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 #include <fcntl.h>
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 #ifdef HAVE_TERMIOS
3319
e177111a0442 [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
Richard M. Stallman <rms@gnu.org>
parents: 3306
diff changeset
35 #if defined(_AIX) && defined(_I386)
e177111a0442 [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
Richard M. Stallman <rms@gnu.org>
parents: 3306
diff changeset
36 #include <termios.h> /* termios.h needs to be before termio.h */
e177111a0442 [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
Richard M. Stallman <rms@gnu.org>
parents: 3306
diff changeset
37 #include <termio.h>
e177111a0442 [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
Richard M. Stallman <rms@gnu.org>
parents: 3306
diff changeset
38 #else
4539
3541cdf85881 Handle NO_TERMIO in principal HAVE_TERMIOS case.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
39 #ifndef NO_TERMIO
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 #include <termio.h>
4539
3541cdf85881 Handle NO_TERMIO in principal HAVE_TERMIOS case.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
41 #endif
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 #include <termios.h>
3319
e177111a0442 [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
Richard M. Stallman <rms@gnu.org>
parents: 3306
diff changeset
43 #endif /* _AIX && _I386 */
1929
8ca19160362b * systty.h [HAVE_TERMIOS]: Include fcntl.h.
Jim Blandy <jimb@redhat.com>
parents: 1597
diff changeset
44 #include <fcntl.h>
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 #ifndef VMS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 #include <sgtty.h>
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
48 #else /* VMS */
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
49 #include <descrip.h>
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
50 static struct iosb
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
51 {
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
52 short status;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
53 short offset;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
54 short termlen;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
55 short term;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
56 } input_iosb;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
57
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
58 extern int waiting_for_ast;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
59 extern int stop_input;
2264
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
60 #if 0 /* VAX C doeasn't understand initializing declarations */
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
61 extern int input_ef = 0;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
62 extern int timer_ef = 0;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
63 extern int process_ef = 0;
2264
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
64 #else
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
65 extern int input_ef;
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
66 extern int timer_ef;
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
67 extern int process_ef;
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
68 #endif
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
69 extern int input_eflist;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
70 extern int timer_eflist;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
71
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
72 static $DESCRIPTOR (input_dsc, "TT");
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
73 static int terminator_mask[2] = { 0, 0 };
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
74
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
75 static struct sensemode {
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
76 short status;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
77 unsigned char xmit_baud;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
78 unsigned char rcv_baud;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
79 unsigned char crfill;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
80 unsigned char lffill;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
81 unsigned char parity;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
82 unsigned char unused;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
83 char class;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
84 char type;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
85 short scr_wid;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
86 unsigned long tt_char : 24, scr_len : 8;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
87 unsigned long tt2_char;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
88 } sensemode_iosb;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
89 #endif /* VMS */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 #endif /* not HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 #endif /* not HAVE_TERMIO */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
93 #ifdef AIX
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
94 /* Get files for keyboard remapping */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
95 #define HFNKEYS 2
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
96 #include <sys/hft.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
97 #include <sys/devinfo.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
98 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
99
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
100 /* Get rid of LLITOUT in 4.1, since it is said to stimulate kernel bugs. */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
101 #ifdef BSD4_1
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
102 #undef LLITOUT
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
103 #define LLITOUT 0
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
104 #endif /* 4.1 */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
105
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
106 #ifdef NEED_BSDTTY
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
107 #include <sys/bsdtty.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
108 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
109
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
110 #if defined (HPUX) && defined (HAVE_PTYS)
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
111 #include <sys/ptyio.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
112 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
113
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
114 #ifdef AIX
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
115 #include <sys/pty.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
116 #include <unistd.h>
4822
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
117 #define UNISTD_H_INCLUDED
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
118 #endif /* AIX */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
119
3306
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
120 #ifdef IRIX4
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
121 /* Get _getpty prototype */
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
122 #include <unistd.h>
4822
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
123 #define UNISTD_H_INCLUDED
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
124 #endif
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
125
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
126 #if defined (POSIX) && !defined (UNISTD_H_INCLUDED) && defined (HAVE_UNISTD_H)
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
127 #include <unistd.h>
4876bc32caf2 If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already
Brian Fox <bfox@gnu.org>
parents: 4539
diff changeset
128 #define UNISTD_H_INCLUDED
3306
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
129 #endif
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
130
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
131 #ifdef SYSV_PTYS
2943
be86b41a0661 * systty.h [SYSV_PTYS]: #include <sys/types.h>. Francesco
Jim Blandy <jimb@redhat.com>
parents: 2917
diff changeset
132 #include <sys/types.h>
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
133 #include <sys/tty.h>
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
134 #ifdef titan
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
135 #include <sys/ttyhw.h>
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
136 #include <sys/stream.h>
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
137 #endif
2414
9994dd2e75c9 [NO_PTY_H]: Don't include pty.h.
Richard M. Stallman <rms@gnu.org>
parents: 2264
diff changeset
138 #ifndef NO_PTY_H
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
139 #include <sys/pty.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
140 #endif
2414
9994dd2e75c9 [NO_PTY_H]: Don't include pty.h.
Richard M. Stallman <rms@gnu.org>
parents: 2264
diff changeset
141 #endif
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
142
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
143 /* saka@pfu.fujitsu.co.JP writes:
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
144 FASYNC defined in this file. But, FASYNC don't working.
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
145 so no problem, because unrequest_sigio only need. */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
146 #if defined (pfa)
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
147 #include <sys/file.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
148 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
149
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151 /* Special cases - inhibiting the use of certain features. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 #ifdef APOLLO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 #undef TIOCSTART
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
157 #ifdef XENIX
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
158 #undef TIOCGETC /* Avoid confusing some conditionals that test this. */
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
159 #endif
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
160
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161 #ifdef BROKEN_TIOCGETC
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 #undef TIOCGETC /* Avoid confusing some conditionals that test this. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 /* UNIPLUS systems may have FIONREAD. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
166 #ifdef UNIPLUS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
167 #include <sys.ioctl.h>
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
170 /* Allow m- file to inhibit use of FIONREAD. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 #ifdef BROKEN_FIONREAD
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172 #undef FIONREAD
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 #undef ASYNC
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
175
3591
507f64624555 Apply typo patches from Paul Eggert.
Jim Blandy <jimb@redhat.com>
parents: 3557
diff changeset
176 /* Interrupt input is not used if there is no FIONREAD. */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177 #ifndef FIONREAD
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178 #undef SIGIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
179 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
180
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
181 /* On TERMIOS systems, the tcmumbleattr calls take care of these
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
182 parameters, and it's a bad idea to use them (on AIX, it makes the
3171
f26d9c469926 * systty.h: Always terminate comments, to avoid confusion.
Jim Blandy <jimb@redhat.com>
parents: 3157
diff changeset
183 tty hang for a long time). */
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
184 #if defined (TIOCGLTC) && !defined (HAVE_TERMIOS)
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
185 #define HAVE_LTCHARS
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
186 #endif
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
187
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
188 #if defined (TIOCGETC) && !defined (HAVE_TERMIOS)
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
189 #define HAVE_TCHARS
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
190 #endif
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
191
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
192
1101
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
193 /* Try to establish the correct character to disable terminal functions
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
194 in a system-independent manner. Note that USG (at least) define
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
195 _POSIX_VDISABLE as 0! */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
196
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
197 #ifdef _POSIX_VDISABLE
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
198 #define CDISABLE _POSIX_VDISABLE
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
199 #else /* not _POSIX_VDISABLE */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
200 #ifdef CDEL
3269
3e44fc755c00 * systty.h (CDISABLE): #undef it before re-#defining it.
Jim Blandy <jimb@redhat.com>
parents: 3171
diff changeset
201 #undef CDISABLE
1101
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
202 #define CDISABLE CDEL
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
203 #else /* not CDEL */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
204 #define CDISABLE 255
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
205 #endif /* not CDEL */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
206 #endif /* not _POSIX_VDISABLE */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
207
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
208 /* Get the number of characters queued for output. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
209
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
210 /* EMACS_OUTQSIZE(FD, int *SIZE) stores the number of characters
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
211 queued for output to the terminal FD in *SIZE, if FD is a tty.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
212 Returns -1 if there was an error (i.e. FD is not a tty), 0
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
213 otherwise. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
214 #ifdef TIOCOUTQ
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
215 #define EMACS_OUTQSIZE(fd, size) (ioctl ((fd), TIOCOUTQ, (size)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
216 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
217
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218 #ifdef HAVE_TERMIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
219 #ifdef TCOUTQ
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220 #undef EMACS_OUTQSIZE
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221 #define EMACS_OUTQSIZE(fd, size) (ioctl ((fd), TCOUTQ, (size)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
223 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
226 /* Manipulate a terminal's current process group. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
228 /* EMACS_HAVE_TTY_PGRP is true if we can get and set the tty's current
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
229 controlling process group.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
230
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
231 EMACS_GET_TTY_PGRP(int FD, int *PGID) sets *PGID the terminal FD's
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
232 current process group. Return -1 if there is an error.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234 EMACS_SET_TTY_PGRP(int FD, int *PGID) sets the terminal FD's
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 current process group to *PGID. Return -1 if there is an error. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
236
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
237 #ifdef HPUX
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
238 /* HPUX tty process group stuff doesn't work, says the anonymous voice
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
239 from the past. */
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
240 #else
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 #ifdef TIOCGPGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 #define EMACS_HAVE_TTY_PGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
243 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
244 #ifdef HAVE_TERMIOS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 #define EMACS_HAVE_TTY_PGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247 #endif
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
248 #endif
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
249
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250 #ifdef EMACS_HAVE_TTY_PGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
252 #ifdef HAVE_TERMIOS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 #define EMACS_GET_TTY_PGRP(fd, pgid) (*(pgid) = tcgetpgrp ((fd)))
2917
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2912
diff changeset
255 #define EMACS_SET_TTY_PGRP(fd, pgid) (tcsetpgrp ((fd), *(pgid)))
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
256
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258 #ifdef TIOCSPGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260 #define EMACS_GET_TTY_PGRP(fd, pgid) (ioctl ((fd), TIOCGPGRP, (pgid)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261 #define EMACS_SET_TTY_PGRP(fd, pgid) (ioctl ((fd), TIOCSPGRP, (pgid)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
264 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
265
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268 /* Just ignore this for now and hope for the best */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269 #define EMACS_GET_TTY_PGRP(fd, pgid) 0
999
d8d503897aa5 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 648
diff changeset
270 #define EMACS_SET_TTY_PGRP(fd, pgif) 0
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275 /* Manipulate a TTY's input/output processing parameters. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
277 /* struct emacs_tty is a structure used to hold the current tty
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 parameters. If the terminal has several structures describing its
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279 state, for example a struct tchars, a struct sgttyb, a struct
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 tchars, a struct ltchars, and a struct pagechars, struct
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281 emacs_tty should contain an element for each parameter struct
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
282 that Emacs may change.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283
2873
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
284 EMACS_GET_TTY (int FD, struct emacs_tty *P) stores the parameters
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
285 of the tty on FD in *P. Return zero if all's well, or -1 if we ran
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
286 into an error we couldn't deal with.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
287
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288 EMACS_SET_TTY (int FD, struct emacs_tty *P, int waitp)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
289 sets the parameters of the tty on FD according to the contents of
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
290 *P. If waitp is non-zero, we wait for all queued output to be
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291 written before making the change; otherwise, we forget any queued
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
292 input and make the change immediately.
2873
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
293 Return 0 if all went well, and -1 if anything failed.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
294
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295 EMACS_TTY_TABS_OK (struct emacs_tty *P) is false iff the kernel
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296 expands tabs to spaces upon output; in that case, there is no
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
297 advantage to using tabs over spaces. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
299
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
300 /* For each tty parameter structure that Emacs might want to save and restore,
2873
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
301 - include an element for it in this structure, and
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
302 - extend the emacs_{get,set}_tty functions in sysdep.c to deal with the
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
303 new members. */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
304
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305 struct emacs_tty {
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
306
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
307 /* There is always one of the following elements, so there is no need
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
308 for dummy get and set definitions. */
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
309 #ifdef HAVE_TCATTR
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
310 struct termios main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
311 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
312 #ifdef HAVE_TERMIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
313 struct termio main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
314 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
315 #ifdef VMS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
316 struct sensemode main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
317 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318 struct sgttyb main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
319 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
320 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
321 #endif
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
322
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
323 /* If we have TERMIOS, we don't need to do this - they're taken care of
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
324 by the tc*attr calls. */
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
325 #ifndef HAVE_TERMIOS
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
326 #ifdef HAVE_LTCHARS
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
327 struct ltchars ltchars;
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
328 #endif
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
329
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
330 #ifdef HAVE_TCHARS
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
331 struct tchars tchars;
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
332 int lmode;
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
333 #endif
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
334 #endif
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
335 };
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
336
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
337 /* Define EMACS_GET_TTY and EMACS_SET_TTY,
2658
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
338 the macros for reading and setting parts of `struct emacs_tty'.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
339
2658
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
340 These got pretty unmanageable (huge macros are hard to debug), and
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
341 finally needed some code which couldn't be done as part of an
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
342 expression, so we moved them out to their own functions in sysdep.c. */
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
343 #define EMACS_GET_TTY(fd, p) (emacs_get_tty ((fd), (p)))
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
344 #define EMACS_SET_TTY(fd, p, waitp) (emacs_set_tty ((fd), (p), (waitp)))
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
346
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
347 /* Define EMACS_TTY_TABS_OK. */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
348
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
349 #ifdef HAVE_TERMIOS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
351 #define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
353 #else /* not def HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
354 #ifdef HAVE_TERMIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
355
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
356 #define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
357
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
358 #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359 #ifdef VMS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
360
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
361 #define EMACS_TTY_TABS_OK(p) (((p)->main.tt_char & TT$M_MECHTAB) != 0)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
362
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
363 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
364
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
365 #define EMACS_TTY_TABS_OK(p) (((p)->main.sg_flags & XTABS) != XTABS)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
366
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
367 #endif /* not def VMS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
368 #endif /* not def HAVE_TERMIO */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
369 #endif /* not def HAVE_TERMIOS */