annotate src/s/msdos.h @ 24841:d2d412758428

(clear_cached_bitmap_slots): Remove. (get_bitmap_with_cache): Check if CreateBitmap failed. Adjust cache size dynamically so cache is never larger than the system limit of GDI resources. Do cache clearing inline. Move global variables to local scope.
author Jason Rumney <jasonr@gnu.org>
date Sun, 13 Jun 1999 17:49:12 +0000
parents 42bddf2eebad
children d19a69fd704a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* System description file for MS-DOS
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
15003
11a97fb4cb84 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14970
diff changeset
3 Copyright (C) 1993, 1996 Free Software Foundation, Inc.
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 This file is part of GNU Emacs.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 any later version.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 GNU General Public License for more details.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 14036
diff changeset
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 14036
diff changeset
20 Boston, MA 02111-1307, USA. */
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 /* Note: lots of stuff here was taken from s-msdos.h in demacs. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 /*
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 * Define symbols to identify the version of Unix this is.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 * Define all the symbols that apply correctly.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 /* #define UNIPLUS */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 /* #define USG5 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 /* #define USG */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 /* #define HPUX */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 /* #define UMAX */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 /* #define BSD4_1 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 /* #define BSD4_2 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 /* #define BSD4_3 */
16220
02044b05d8e0 Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents: 15220
diff changeset
38 /* #define BSD_SYSTEM */
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 /* #define VMS */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 #ifndef MSDOS
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 #define MSDOS
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 #endif
9798
05a06f8f244d (DOS_NT): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9721
diff changeset
43
13177
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
44 #ifdef __GO32__
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
45 #ifndef __DJGPP__
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
46 #define __DJGPP__ 1 /* V2 defines __DJGPP__ == 2 */
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
47 #endif
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
48 #else
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
49 You lose; /* Emacs for DOS must be compiled with DJGPP */
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
50 #endif
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
51
9798
05a06f8f244d (DOS_NT): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9721
diff changeset
52 #define DOS_NT /* MSDOS or WINDOWSNT */
16220
02044b05d8e0 Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents: 15220
diff changeset
53 #undef BSD_SYSTEM
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 #undef VMS
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 /* SYSTEM_TYPE should indicate the kind of system you are using.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 It sets the Lisp variable system-type. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 #define SYSTEM_TYPE "ms-dos"
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60
17453
42bddf2eebad (SYMS_SYSTEM): Add `syms_of_win16select'.
Eli Zaretskii <eliz@gnu.org>
parents: 16220
diff changeset
61 #define SYMS_SYSTEM syms_of_dosfns();syms_of_msdos();syms_of_win16select()
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 /* NOMULTIPLEJOBS should be defined if your system's shell
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 does not have "job control" (the ability to stop a program,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 run some other program, then continue the first one). */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 #define NOMULTIPLEJOBS
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 /* Emacs can read input using SIGIO and buffering characters itself,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 or using CBREAK mode and making C-g cause SIGINT.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 The choice is controlled by the variable interrupt_input.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 SIGIO can be used only on systems that implement it (4.2 and 4.3).
14036
621a575db6f7 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13849
diff changeset
75 CBREAK mode has two disadvantages
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 1) At least in 4.2, it is impossible to handle the Meta key properly.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 I hear that in system V this problem does not exist.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 2) Control-G causes output to be discarded.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 I do not know whether this can be fixed in system V.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 Another method of doing input is planned but not implemented.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 It would have Emacs fork off a separate process
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 to read the input and send it to the true Emacs process
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84 through a pipe.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 /* #define INTERRUPT_INPUT */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 /* Letter to use in finding device name of first pty,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90 if system supports pty's. 'a' means it is /dev/ptya0 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 /* #define FIRST_PTY_LETTER 'a' */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 /*
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 * Define HAVE_PTYS if the system supports pty devices.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98 /* #define HAVE_PTYS */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100 /*
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 * The 4.2 opendir, etc., library functions.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 /* #define NONSYSTEM_DIR_LIBRARY */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 #define SYSV_SYSTEM_DIR
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109 /* Define this symbol if your system has the functions bcopy, etc. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 #define BSTRING
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112
8250
9198d6e1f11c (HAVE_VOLATILE): Define.
Richard M. Stallman <rms@gnu.org>
parents: 8199
diff changeset
113 /* Define this is the compiler understands `volatile'. */
9198d6e1f11c (HAVE_VOLATILE): Define.
Richard M. Stallman <rms@gnu.org>
parents: 8199
diff changeset
114 #define HAVE_VOLATILE
9198d6e1f11c (HAVE_VOLATILE): Define.
Richard M. Stallman <rms@gnu.org>
parents: 8199
diff changeset
115
9198d6e1f11c (HAVE_VOLATILE): Define.
Richard M. Stallman <rms@gnu.org>
parents: 8199
diff changeset
116
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 /* subprocesses should be defined if you want to
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118 have code for asynchronous subprocesses
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119 (as used in M-x compile and M-x shell).
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120 This is generally OS dependent, and not supported
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121 under most USG systems. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 #undef subprocesses
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 /* If your system uses COFF (Common Object File Format) then define the
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126 preprocessor symbol "COFF". */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 #define COFF
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 /* define MAIL_USE_FLOCK if the mailer uses flock
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 to interlock access to /usr/spool/mail/$USER.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132 The alternative is that a lock file named
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 /usr/spool/mail/$USER.lock. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135 /* #define MAIL_USE_FLOCK */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137 /* Define CLASH_DETECTION if you want lock files to be written
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 so that Emacs can tell instantly when you try to modify
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 a file that someone else has modified in his Emacs. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141 /* #define CLASH_DETECTION */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143 /* Here, on a separate page, add any special hacks needed
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
144 to make Emacs work on this system. For example,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145 you might define certain system call names that don't
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146 exist on your system, or that do different things on
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
147 your system and must be used only through an encapsulation
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148 (Which you should place, by convention, in sysdep.c). */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149
15172
4745198895b6 (GMALLOC_INHIBIT_VALLOC): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 15003
diff changeset
150 /* Avoid incompatibilities between gmalloc.c and system header files
4745198895b6 (GMALLOC_INHIBIT_VALLOC): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 15003
diff changeset
151 in how to declare valloc. */
4745198895b6 (GMALLOC_INHIBIT_VALLOC): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 15003
diff changeset
152 #define GMALLOC_INHIBIT_VALLOC
4745198895b6 (GMALLOC_INHIBIT_VALLOC): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 15003
diff changeset
153
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
154 /* setjmp and longjmp can safely replace _setjmp and _longjmp,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155 but they will run slower. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
156
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
157 #define _setjmp setjmp
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
158 #define _longjmp longjmp
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
160 #if __DJGPP__ < 2
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
161
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162 #define NO_MODE_T
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
164 /* New chdir () routine.
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
165 DJGPP v2.0 and later doesn't need it because its chdir() does
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
166 set the drive itself. */
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167 #ifdef chdir
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
168 #undef chdir
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
169 #endif
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
170 #define chdir sys_chdir
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
172 #define LIBS_SYSTEM -lpc /* isn't required in DJGPP v2.0, either */
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
173
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
174 #endif /* __DJGPP__ < 2 */
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
175
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
176 #if __DJGPP__ > 1
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
177
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
178 #define DATA_START (&etext + 1)
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
179 #define TEXT_START &start
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
180 #define TEXT_END &etext
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
181
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
182 #define _NAIVE_DOS_REGS
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
183
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
184 #else /* not __DJGPP__ > 1 */
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
185
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
186 /* This somehow needs to be defined even though we use COFF. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
187 #define TEXT_START -1
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
188
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
189 #endif /* not __DJGPP__ > 1 */
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
190
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
191 #define ORDINARY_LINK
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
192
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
193 /* command.com does not understand `...` so we define this. */
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
194 #define LIB_GCC -Lgcc
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
195 #define DONT_NEED_ENVIRON
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
196 #define SEPCHAR ';'
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
197
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
198 #define NULL_DEVICE "nul"
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
199 #define EXEC_SUFFIXES ".exe:.com:.bat:"
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
200
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
201 #if __DJGPP__ < 2
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
202 #define O_RDONLY 0x0001
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
203 #define O_WRONLY 0x0002
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
204 #define O_RDWR 0x0004
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 #define O_CREAT 0x0100
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
206 #define O_TRUNC 0x0200
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
207 #define O_EXCL 0x0400
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
208 #define O_APPEND 0x0800
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209 #define O_TEXT 0x4000
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
210 #define O_BINARY 0x8000
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
211 #define NO_MATHERR
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
212 #endif
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214 #define HAVE_INVERSE_HYPERBOLIC
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215 #define FLOAT_CHECK_DOMAIN
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
216
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217 /* When $TERM is "internal" then this is substituted: */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
218 #define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\
13177
439506fa922e Check that DJGPP v. 1 is used.
Kim F. Storm <storm@cua.dk>
parents: 13041
diff changeset
219 :co#80:li#25:km:ms:cm=<CM>:cl=<CL>:ce=<CE>:"
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
220
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 /* Define this to a function (Fdowncase, Fupcase) if your file system
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 likes that */
15220
069fc3f2c2b4 (FILE_SYSTEM_CASE): Call Fmsdos_downcase_filename instead of Fdowncase.
Richard M. Stallman <rms@gnu.org>
parents: 15172
diff changeset
223 #define FILE_SYSTEM_CASE Fmsdos_downcase_filename
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
224
10500
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
225 /* Define this to be the separator between devices and paths */
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
226 #define DEVICE_SEP ':'
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
227
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
228 /* We'll support either convention on MSDOG. */
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
229 #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\')
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
230 #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
231
13041
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
232 /* Call init_gettimeofday when TZ changes. */
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
233 #if __DJGPP__ < 2
13041
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
234 #define LOCALTIME_CACHE
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
235 #define tzset init_gettimeofday
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
236 #endif
13041
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
237
6382
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
238 /* bcopy under djgpp is quite safe */
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
239 #define GAP_USE_BCOPY
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
240 #define BCOPY_UPWARD_SAFE 1
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
241 #define BCOPY_DOWNWARD_SAFE 1
8199
04a19fb09fb3 (HAVE_MOUSE, PURESIZE): Definitions moved here.
Richard M. Stallman <rms@gnu.org>
parents: 7668
diff changeset
242
8796
e4e935319d55 Define MODE_LINE_BINARY_TEXT.
Karl Heuer <kwzh@gnu.org>
parents: 8250
diff changeset
243 /* Mode line description of a buffer's type. */
e4e935319d55 Define MODE_LINE_BINARY_TEXT.
Karl Heuer <kwzh@gnu.org>
parents: 8250
diff changeset
244 #define MODE_LINE_BINARY_TEXT(buf) (NILP(buf->buffer_file_type) ? "T" : "B")
e4e935319d55 Define MODE_LINE_BINARY_TEXT.
Karl Heuer <kwzh@gnu.org>
parents: 8250
diff changeset
245
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
246 /* Do we have POSIX signals? */
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
247 #if __DJGPP__ > 1
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
248 #define POSIX_SIGNALS
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
249 #endif
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
250
8199
04a19fb09fb3 (HAVE_MOUSE, PURESIZE): Definitions moved here.
Richard M. Stallman <rms@gnu.org>
parents: 7668
diff changeset
251 /* We have (the code to control) a mouse. */
04a19fb09fb3 (HAVE_MOUSE, PURESIZE): Definitions moved here.
Richard M. Stallman <rms@gnu.org>
parents: 7668
diff changeset
252 #define HAVE_MOUSE
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
253
13849
067fae3cb66e (HAVE_MENUS): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13613
diff changeset
254 /* We canuse mouse menus. */
067fae3cb66e (HAVE_MENUS): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13613
diff changeset
255 #define HAVE_MENUS
067fae3cb66e (HAVE_MENUS): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13613
diff changeset
256
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
257 /* We have support for faces. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
258 #define HAVE_FACES
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
259
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
260 /* Define one of these for easier conditionals. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
261 #ifdef HAVE_X_WINDOWS
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
262 /* We need a little extra space, see ../../lisp/loadup.el */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
263 #define SYSTEM_PURESIZE_EXTRA 15000
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
264 #define HAVE_X11R5
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
265 #define LIBX11_SYSTEM -lxext -lsys
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
266 #else
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
267 /* We need a little extra space, see ../../lisp/loadup.el */
13613
b955657b643d (SYSTEM_PURESIZE_EXTRA): Increased.
Richard M. Stallman <rms@gnu.org>
parents: 13465
diff changeset
268 #define SYSTEM_PURESIZE_EXTRA 85000
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
269 #endif