(Fexpand_abbrev): Instead of Fcapitalize_region,
[bpt/emacs.git] / src / s / aix3-1.h
CommitLineData
20c428fd 1/* Definitions file for GNU Emacs running on IBM AIX version 3.1
beb593aa 2 Copyright (C) 1985, 1986, 1990 Free Software Foundation, Inc.
20c428fd
JB
3
4This file is part of GNU Emacs.
5
beb593aa
JB
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
17385adc 8the Free Software Foundation; either version 2, or (at your option)
beb593aa
JB
9any later version.
10
20c428fd 11GNU Emacs is distributed in the hope that it will be useful,
beb593aa
JB
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
20c428fd 15
beb593aa
JB
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
18the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20c428fd
JB
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define USG /* System III, System V, etc */
27#define USG5
28
29/* Specify IBM AIX version of system */
30
31#ifndef AIX
32#define AIX
33#endif
34
35/* turn off c prototypes */
36#ifndef _NO_PROTO
37#define _NO_PROTO
38#endif
39
40/* This symbol should be defined on AIX Version 3 ??????? */
41#ifndef _AIX
42#define _AIX
43#endif
44
45/* Specify "_BSD" to invoke Berkeley compatibility in header files */
46/*#ifndef _BSD
47#define _BSD
48#endif
49*/
50
51/* SYSTEM_TYPE should indicate the kind of system you are using.
52 It sets the Lisp variable system-type. */
53
54#define SYSTEM_TYPE "aix-v3"
55
56
57/* nomultiplejobs should be defined if your system's shell
58 does not have "job control" (the ability to stop a program,
59 run some other program, then continue the first one). */
60
61/* #define NOMULTIPLEJOBS */
62
63/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
64
65/* #define INTERRUPT_INPUT */
66
738949ec
RS
67/* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
68 To get the name of the slave side, you just ttyname() the master side. */
20c428fd 69
738949ec
RS
70#define PTY_ITERATION for (c = 0; !c ; c++)
71#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
72#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
20c428fd
JB
73
74/*
75 * Define HAVE_TERMIO if the system provides sysV-style ioctls
76 * for terminal control.
77 */
78
beb593aa 79#define HAVE_TERMIOS
20c428fd 80
20c428fd
JB
81/*
82 * Define HAVE_PTYS if the system supports pty devices.
83 */
84
85#define HAVE_PTYS
86
87/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
88
89#define HAVE_SOCKETS
90
91/*
92 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
93 * The 4.2 opendir, etc., library functions.
94 */
95
96/* #define NONSYSTEM_DIR_LIBRARY */
97
98/*
99 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
100 * library functions. Almost, but not quite the same as
101 * the 4.2 functions
102 */
103
104#define SYSV_SYSTEM_DIR
105
106/* Define this symbol if your system has the functions bcopy, etc. */
107
108#define BSTRING
109
110/* subprocesses should be defined if you want to
111 have code for asynchronous subprocesses
112 (as used in M-x compile and M-x shell).
113 This is supposed to work now on system V release 2. */
114
115#define subprocesses
116
117/* If your system uses COFF (Common Object File Format) then define the
118 preprocessor symbol "COFF". */
119
120/* #define COFF */
121
122/* define MAIL_USE_FLOCK if the mailer uses flock
123 to interlock access to /usr/spool/mail/$USER.
124 The alternative is that a lock file named
125 /usr/spool/mail/$USER.lock. */
126
127/* #define MAIL_USE_FLOCK */
128
129/* Define CLASH_DETECTION if you want lock files to be written
130 so that Emacs can tell instantly when you try to modify
131 a file that someone else has modified in his Emacs. */
132
133/* #define CLASH_DETECTION */
134
135/* Define SHORTNAMES if the C compiler can distinguish only
136 short names. It means that the stuff in ../shortnames
137 must be run to convert the long names to short ones. */
138
139/* #define SHORTNAMES */
140
141/* We do NOT use the Berkeley (and usg5.2.2) interface to nlist. */
142
143/* #define NLIST_STRUCT */
144
145/* The file containing the kernel's symbol table is called /unix. */
146
147#define KERNEL_FILE "/unix"
148
149/* The symbol in the kernel where the load average is found
150 is named avenrun. */
151
152#define LDAV_SYMBOL "avenrun"
153\f
154/* Special itemss needed to make Emacs run on this system. */
155
156/*
157 * Make the sigsetmask function go away. Don't know what the
158 * ramifications of this are, but doesn't seem possible to
159 * emulate it properly anyway at this point.
160 */
161
162#define sigsetmask(mask) /* Null expansion */
163
164/* setjmp and longjmp can safely replace _setjmp and _longjmp,
165 but they will run slower. */
166
167#define _setjmp setjmp
168#define _longjmp longjmp
169
eb8c3be9 170/* On USG systems the system calls are interruptible by signals
20c428fd
JB
171 that the user program has elected to catch. Thus the system call
172 must be retried in these cases. To handle this without massive
173 changes in the source code, we remap the standard system call names
174 to names for our own functions in sysdep.c that do the system call
175 with retries. */
176
177#define read sys_read
178#define open sys_open
179#define write sys_write
180
181#define INTERRUPTIBLE_OPEN
182#define INTERRUPTIBLE_IO
183
184/* On USG systems these have different names */
185
186#define index strchr
187#define rindex strrchr
188
189/* USG systems tend to put everything declared static
190 into the initialized data area, which becomes pure after dumping Emacs.
191 Foil this. Emacs carefully avoids static vars inside functions. */
192
193#undef static
194
195/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
196
197/* #define ADDR_CORRECT(x) (x) */
198
9ffaad2e 199#ifndef __GNUC__
32676c08 200#define LINKER cc
9ffaad2e 201#endif
20c428fd
JB
202
203/* Prevent -lg from being used for debugging. Not needed. */
204
205#define LIBS_DEBUG
206
207/* No need to specify -lc when linking. */
208
209#define LIB_STANDARD
210
211/* Use terminfo instead of termcap. */
212
213#define TERMINFO
214
215/* The following definition seems to be needed in AIX version 3.1.6.8.
216 It may not have been needed in certain earlier versions. */
217#define HAVE_TCATTR
218
219#define SYSTEM_MALLOC
220
beb593aa
JB
221/* AIX doesn't define this. */
222#define unix 1