annotate src/systty.h @ 4413:5a00cec8e9b0

(fill-region-as-paragraph): When we take one word after the fill column, don't stop at period with just one space. When checking whether at beginning of line, if no fill prefix, ignore intervening whitespace.
author Richard M. Stallman <rms@gnu.org>
date Mon, 02 Aug 1993 05:55:56 +0000
parents 507f64624555
children 3541cdf85881
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
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 #include <termio.h>
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 #include <termios.h>
3319
e177111a0442 [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
Richard M. Stallman <rms@gnu.org>
parents: 3306
diff changeset
41 #endif /* _AIX && _I386 */
1929
8ca19160362b * systty.h [HAVE_TERMIOS]: Include fcntl.h.
Jim Blandy <jimb@redhat.com>
parents: 1597
diff changeset
42 #include <fcntl.h>
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 #ifndef VMS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 #include <sgtty.h>
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
46 #else /* VMS */
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
47 #include <descrip.h>
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
48 static struct iosb
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
49 {
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
50 short status;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
51 short offset;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
52 short termlen;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
53 short term;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
54 } input_iosb;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
55
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
56 extern int waiting_for_ast;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
57 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
58 #if 0 /* VAX C doeasn't understand initializing declarations */
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
59 extern int input_ef = 0;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
60 extern int timer_ef = 0;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
61 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
62 #else
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
63 extern int input_ef;
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
64 extern int timer_ef;
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
65 extern int process_ef;
87934d212841 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents: 2095
diff changeset
66 #endif
1597
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
67 extern int input_eflist;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
68 extern int timer_eflist;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
69
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
70 static $DESCRIPTOR (input_dsc, "TT");
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
71 static int terminator_mask[2] = { 0, 0 };
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
72
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
73 static struct sensemode {
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
74 short status;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
75 unsigned char xmit_baud;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
76 unsigned char rcv_baud;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
77 unsigned char crfill;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
78 unsigned char lffill;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
79 unsigned char parity;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
80 unsigned char unused;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
81 char class;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
82 char type;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
83 short scr_wid;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
84 unsigned long tt_char : 24, scr_len : 8;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
85 unsigned long tt2_char;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
86 } sensemode_iosb;
60566fdb3a25 * systty.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1101
diff changeset
87 #endif /* VMS */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 #endif /* not HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #endif /* not HAVE_TERMIO */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
91 #ifdef AIX
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
92 /* Get files for keyboard remapping */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
93 #define HFNKEYS 2
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
94 #include <sys/hft.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
95 #include <sys/devinfo.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
96 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
97
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
98 /* 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
99 #ifdef BSD4_1
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
100 #undef LLITOUT
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
101 #define LLITOUT 0
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
102 #endif /* 4.1 */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
103
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
104 #ifdef NEED_BSDTTY
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
105 #include <sys/bsdtty.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
106 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
107
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
108 #if defined (HPUX) && defined (HAVE_PTYS)
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
109 #include <sys/ptyio.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
110 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
111
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
112 #ifdef AIX
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
113 #include <sys/pty.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
114 #include <unistd.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
115 #endif /* AIX */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
116
3306
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
117 #ifdef IRIX4
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
118 /* Get _getpty prototype */
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
119 #include <unistd.h>
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
120 #endif
6dfbd809ae8c [IRIX4]: Include unistd.h.
Richard M. Stallman <rms@gnu.org>
parents: 3269
diff changeset
121
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
122 #ifdef SYSV_PTYS
2943
be86b41a0661 * systty.h [SYSV_PTYS]: #include <sys/types.h>. Francesco
Jim Blandy <jimb@redhat.com>
parents: 2917
diff changeset
123 #include <sys/types.h>
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
124 #include <sys/tty.h>
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
125 #ifdef titan
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
126 #include <sys/ttyhw.h>
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
127 #include <sys/stream.h>
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
128 #endif
2414
9994dd2e75c9 [NO_PTY_H]: Don't include pty.h.
Richard M. Stallman <rms@gnu.org>
parents: 2264
diff changeset
129 #ifndef NO_PTY_H
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
130 #include <sys/pty.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
131 #endif
2414
9994dd2e75c9 [NO_PTY_H]: Don't include pty.h.
Richard M. Stallman <rms@gnu.org>
parents: 2264
diff changeset
132 #endif
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
133
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
134 /* saka@pfu.fujitsu.co.JP writes:
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
135 FASYNC defined in this file. But, FASYNC don't working.
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
136 so no problem, because unrequest_sigio only need. */
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
137 #if defined (pfa)
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
138 #include <sys/file.h>
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
139 #endif
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 578
diff changeset
140
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 /* Special cases - inhibiting the use of certain features. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 #ifdef APOLLO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 #undef TIOCSTART
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
148 #ifdef XENIX
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
149 #undef TIOCGETC /* Avoid confusing some conditionals that test this. */
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
150 #endif
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
151
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152 #ifdef BROKEN_TIOCGETC
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 #undef TIOCGETC /* Avoid confusing some conditionals that test this. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 /* UNIPLUS systems may have FIONREAD. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157 #ifdef UNIPLUS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
158 #include <sys.ioctl.h>
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
159 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
160
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161 /* Allow m- file to inhibit use of FIONREAD. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 #ifdef BROKEN_FIONREAD
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 #undef FIONREAD
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164 #undef ASYNC
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
166
3591
507f64624555 Apply typo patches from Paul Eggert.
Jim Blandy <jimb@redhat.com>
parents: 3557
diff changeset
167 /* Interrupt input is not used if there is no FIONREAD. */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168 #ifndef FIONREAD
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169 #undef SIGIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
170 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
172 /* 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
173 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
174 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
175 #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
176 #define HAVE_LTCHARS
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
177 #endif
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
178
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
179 #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
180 #define HAVE_TCHARS
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
181 #endif
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
182
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
183
1101
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
184 /* Try to establish the correct character to disable terminal functions
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
185 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
186 _POSIX_VDISABLE as 0! */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
187
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
188 #ifdef _POSIX_VDISABLE
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
189 #define CDISABLE _POSIX_VDISABLE
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
190 #else /* not _POSIX_VDISABLE */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
191 #ifdef CDEL
3269
3e44fc755c00 * systty.h (CDISABLE): #undef it before re-#defining it.
Jim Blandy <jimb@redhat.com>
parents: 3171
diff changeset
192 #undef CDISABLE
1101
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
193 #define CDISABLE CDEL
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
194 #else /* not CDEL */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
195 #define CDISABLE 255
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
196 #endif /* not CDEL */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
197 #endif /* not _POSIX_VDISABLE */
3e06965680fd entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
198
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199 /* Get the number of characters queued for output. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
201 /* EMACS_OUTQSIZE(FD, int *SIZE) stores the number of characters
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
202 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
203 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
204 otherwise. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
205 #ifdef TIOCOUTQ
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
206 #define EMACS_OUTQSIZE(fd, size) (ioctl ((fd), TIOCOUTQ, (size)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
207 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
208
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
209 #ifdef HAVE_TERMIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
210 #ifdef TCOUTQ
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
211 #undef EMACS_OUTQSIZE
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
212 #define EMACS_OUTQSIZE(fd, size) (ioctl ((fd), TCOUTQ, (size)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
213 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
214 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
215
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
216
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
217 /* Manipulate a terminal's current process group. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
219 /* 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
220 controlling process group.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222 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
223 current process group. Return -1 if there is an error.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225 EMACS_SET_TTY_PGRP(int FD, int *PGID) sets the terminal FD's
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
226 current process group to *PGID. Return -1 if there is an error. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
228 #ifdef HPUX
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
229 /* 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
230 from the past. */
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
231 #else
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
232 #ifdef TIOCGPGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233 #define EMACS_HAVE_TTY_PGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 #ifdef HAVE_TERMIOS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
236 #define EMACS_HAVE_TTY_PGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
237 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
238 #endif
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
239 #endif
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
240
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 #ifdef EMACS_HAVE_TTY_PGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
243 #ifdef HAVE_TERMIOS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
244
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 #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
246 #define EMACS_SET_TTY_PGRP(fd, pgid) (tcsetpgrp ((fd), *(pgid)))
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
249 #ifdef TIOCSPGRP
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251 #define EMACS_GET_TTY_PGRP(fd, pgid) (ioctl ((fd), TIOCGPGRP, (pgid)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
252 #define EMACS_SET_TTY_PGRP(fd, pgid) (ioctl ((fd), TIOCSPGRP, (pgid)))
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
255 #endif
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
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259 /* Just ignore this for now and hope for the best */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260 #define EMACS_GET_TTY_PGRP(fd, pgid) 0
999
d8d503897aa5 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 648
diff changeset
261 #define EMACS_SET_TTY_PGRP(fd, pgif) 0
578
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
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
265
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 /* Manipulate a TTY's input/output processing parameters. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268 /* struct emacs_tty is a structure used to hold the current tty
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269 parameters. If the terminal has several structures describing its
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270 state, for example a struct tchars, a struct sgttyb, a struct
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271 tchars, a struct ltchars, and a struct pagechars, struct
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272 emacs_tty should contain an element for each parameter struct
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273 that Emacs may change.
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274
2873
f1cd54cf1b67 * sysdep.c (reset_sys_modes): Test the return value of
Jim Blandy <jimb@redhat.com>
parents: 2658
diff changeset
275 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
276 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
277 into an error we couldn't deal with.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279 EMACS_SET_TTY (int FD, struct emacs_tty *P, int waitp)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 sets the parameters of the tty on FD according to the contents of
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281 *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
282 written before making the change; otherwise, we forget any queued
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283 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
284 Return 0 if all went well, and -1 if anything failed.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
285
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
286 EMACS_TTY_TABS_OK (struct emacs_tty *P) is false iff the kernel
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
287 expands tabs to spaces upon output; in that case, there is no
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288 advantage to using tabs over spaces. */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
289
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
290
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291 /* 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
292 - 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
293 - 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
294 new members. */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296 struct emacs_tty {
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
297
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298 /* There is always one of the following elements, so there is no need
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
299 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
300 #ifdef HAVE_TCATTR
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
301 struct termios main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
302 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
303 #ifdef HAVE_TERMIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
304 struct termio main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
306 #ifdef VMS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
307 struct sensemode main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
308 #else
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
309 struct sgttyb main;
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
310 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
311 #endif
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
312 #endif
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
313
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
314 /* 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
315 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
316 #ifndef HAVE_TERMIOS
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
317 #ifdef HAVE_LTCHARS
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
318 struct ltchars ltchars;
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
319 #endif
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
320
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
321 #ifdef HAVE_TCHARS
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
322 struct tchars tchars;
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
323 int lmode;
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
324 #endif
3157
84825e357019 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
325 #endif
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
326 };
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
327
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
328 /* 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
329 the macros for reading and setting parts of `struct emacs_tty'.
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330
2658
8be0a57686cb * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
Jim Blandy <jimb@redhat.com>
parents: 2414
diff changeset
331 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
332 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
333 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
334 #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
335 #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
336
2095
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
337
139f87bcbaf1 Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
Richard M. Stallman <rms@gnu.org>
parents: 1929
diff changeset
338 /* Define EMACS_TTY_TABS_OK. */
578
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
339
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340 #ifdef HAVE_TERMIOS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
342 #define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344 #else /* not def HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345 #ifdef HAVE_TERMIO
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
346
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347 #define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
348
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
349 #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350 #ifdef VMS
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
351
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352 #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
353
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
354 #else
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.sg_flags & XTABS) != XTABS)
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
357
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
358 #endif /* not def VMS */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359 #endif /* not def HAVE_TERMIO */
a4591b4d5435 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
360 #endif /* not def HAVE_TERMIOS */