Mercurial > emacs
comparison src/s/msdos.h @ 14970:78a622f19f7f
(DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
(POSIX_SIGNALS): Define if DJGPP v2.
(LIBS_SYSTEM, chdir, NO_MODE_T, TEXT_START, NO_MATHERR)
(LOCALTIME_CACHE, tzset): Don't define if DJGPP v2.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 10 Apr 1996 03:48:14 +0000 |
parents | ee40177f6c68 |
children | 11a97fb4cb84 |
comparison
equal
deleted
inserted
replaced
14969:ea072e2f75f8 | 14970:78a622f19f7f |
---|---|
42 #endif | 42 #endif |
43 | 43 |
44 #ifdef __GO32__ | 44 #ifdef __GO32__ |
45 #ifndef __DJGPP__ | 45 #ifndef __DJGPP__ |
46 #define __DJGPP__ 1 /* V2 defines __DJGPP__ == 2 */ | 46 #define __DJGPP__ 1 /* V2 defines __DJGPP__ == 2 */ |
47 #else | |
48 You lose; /* Emacs for DOS must be compiled with DJGPP V1 */ | |
49 #endif | 47 #endif |
50 #else | 48 #else |
51 You lose; /* Emacs for DOS must be compiled with DJGPP */ | 49 You lose; /* Emacs for DOS must be compiled with DJGPP */ |
52 #endif | 50 #endif |
53 | 51 |
155 but they will run slower. */ | 153 but they will run slower. */ |
156 | 154 |
157 #define _setjmp setjmp | 155 #define _setjmp setjmp |
158 #define _longjmp longjmp | 156 #define _longjmp longjmp |
159 | 157 |
158 #if __DJGPP__ < 2 | |
159 | |
160 #define NO_MODE_T | 160 #define NO_MODE_T |
161 | 161 |
162 /* New chdir () routine. */ | 162 /* New chdir () routine. |
163 DJGPP v2.0 and later doesn't need it because its chdir() does | |
164 set the drive itself. */ | |
163 #ifdef chdir | 165 #ifdef chdir |
164 #undef chdir | 166 #undef chdir |
165 #endif | 167 #endif |
166 #define chdir sys_chdir | 168 #define chdir sys_chdir |
167 | 169 |
168 #define LIBS_SYSTEM -lpc | 170 #define LIBS_SYSTEM -lpc /* isn't required in DJGPP v2.0, either */ |
171 | |
172 #endif /* __DJGPP__ < 2 */ | |
173 | |
174 #if __DJGPP__ > 1 | |
175 | |
176 #define DATA_START (&etext + 1) | |
177 #define TEXT_START &start | |
178 #define TEXT_END &etext | |
179 | |
180 #define _NAIVE_DOS_REGS | |
181 | |
182 #else /* not __DJGPP__ > 1 */ | |
169 | 183 |
170 /* This somehow needs to be defined even though we use COFF. */ | 184 /* This somehow needs to be defined even though we use COFF. */ |
171 #define TEXT_START -1 | 185 #define TEXT_START -1 |
186 | |
187 #endif /* not __DJGPP__ > 1 */ | |
172 | 188 |
173 #define ORDINARY_LINK | 189 #define ORDINARY_LINK |
174 | 190 |
175 /* command.com does not understand `...` so we define this. */ | 191 /* command.com does not understand `...` so we define this. */ |
176 #define LIB_GCC -Lgcc | 192 #define LIB_GCC -Lgcc |
178 #define SEPCHAR ';' | 194 #define SEPCHAR ';' |
179 | 195 |
180 #define NULL_DEVICE "nul" | 196 #define NULL_DEVICE "nul" |
181 #define EXEC_SUFFIXES ".exe:.com:.bat:" | 197 #define EXEC_SUFFIXES ".exe:.com:.bat:" |
182 | 198 |
199 #if __DJGPP__ < 2 | |
183 #define O_RDONLY 0x0001 | 200 #define O_RDONLY 0x0001 |
184 #define O_WRONLY 0x0002 | 201 #define O_WRONLY 0x0002 |
185 #define O_RDWR 0x0004 | 202 #define O_RDWR 0x0004 |
186 #define O_CREAT 0x0100 | 203 #define O_CREAT 0x0100 |
187 #define O_TRUNC 0x0200 | 204 #define O_TRUNC 0x0200 |
188 #define O_EXCL 0x0400 | 205 #define O_EXCL 0x0400 |
189 #define O_APPEND 0x0800 | 206 #define O_APPEND 0x0800 |
190 #define O_TEXT 0x4000 | 207 #define O_TEXT 0x4000 |
191 #define O_BINARY 0x8000 | 208 #define O_BINARY 0x8000 |
209 #define NO_MATHERR | |
210 #endif | |
192 | 211 |
193 #define HAVE_INVERSE_HYPERBOLIC | 212 #define HAVE_INVERSE_HYPERBOLIC |
194 #define FLOAT_CHECK_DOMAIN | 213 #define FLOAT_CHECK_DOMAIN |
195 #define NO_MATHERR | |
196 | 214 |
197 /* When $TERM is "internal" then this is substituted: */ | 215 /* When $TERM is "internal" then this is substituted: */ |
198 #define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\ | 216 #define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\ |
199 :co#80:li#25:km:ms:cm=<CM>:cl=<CL>:ce=<CE>:" | 217 :co#80:li#25:km:ms:cm=<CM>:cl=<CL>:ce=<CE>:" |
200 | 218 |
208 /* We'll support either convention on MSDOG. */ | 226 /* We'll support either convention on MSDOG. */ |
209 #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') | 227 #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') |
210 #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) | 228 #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) |
211 | 229 |
212 /* Call init_gettimeofday when TZ changes. */ | 230 /* Call init_gettimeofday when TZ changes. */ |
231 #if __DJGPP__ < 2 | |
213 #define LOCALTIME_CACHE | 232 #define LOCALTIME_CACHE |
214 #define tzset init_gettimeofday | 233 #define tzset init_gettimeofday |
234 #endif | |
215 | 235 |
216 /* bcopy under djgpp is quite safe */ | 236 /* bcopy under djgpp is quite safe */ |
217 #define GAP_USE_BCOPY | 237 #define GAP_USE_BCOPY |
218 #define BCOPY_UPWARD_SAFE 1 | 238 #define BCOPY_UPWARD_SAFE 1 |
219 #define BCOPY_DOWNWARD_SAFE 1 | 239 #define BCOPY_DOWNWARD_SAFE 1 |
220 | 240 |
221 /* Mode line description of a buffer's type. */ | 241 /* Mode line description of a buffer's type. */ |
222 #define MODE_LINE_BINARY_TEXT(buf) (NILP(buf->buffer_file_type) ? "T" : "B") | 242 #define MODE_LINE_BINARY_TEXT(buf) (NILP(buf->buffer_file_type) ? "T" : "B") |
243 | |
244 /* Do we have POSIX signals? */ | |
245 #if __DJGPP__ > 1 | |
246 #define POSIX_SIGNALS | |
247 #endif | |
223 | 248 |
224 /* We have (the code to control) a mouse. */ | 249 /* We have (the code to control) a mouse. */ |
225 #define HAVE_MOUSE | 250 #define HAVE_MOUSE |
226 | 251 |
227 /* We canuse mouse menus. */ | 252 /* We canuse mouse menus. */ |