annotate src/s/msdos.h @ 57315:0d912ccf6554

(XTset_vertical_scroll_bar): Improve handling of scroll bars with fractional column width. If scroll bar separates two windows, move it towards the window it belongs to. Only update the padding area below the scroll bar widget when necessary, i.e. when scroll bar widget is created, moved, or resized.
author Kim F. Storm <storm@cua.dk>
date Mon, 04 Oct 2004 14:07:06 +0000
parents 695cf19ef79e
children 23a17af379b1 375f2633d815
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
36511
6fd0d497fc9c Update the copyright.
Eli Zaretskii <eliz@gnu.org>
parents: 35553
diff changeset
3 Copyright (C) 1993, 1996, 1997, 2001 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
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
200 #if __DJGPP__ < 2
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
201 #define O_RDONLY 0x0001
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
202 #define O_WRONLY 0x0002
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
203 #define O_RDWR 0x0004
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
204 #define O_CREAT 0x0100
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 #define O_TRUNC 0x0200
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
206 #define O_EXCL 0x0400
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
207 #define O_APPEND 0x0800
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
208 #define O_TEXT 0x4000
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209 #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
210 #define NO_MATHERR
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
211 #endif
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213 #define HAVE_INVERSE_HYPERBOLIC
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214 #define FLOAT_CHECK_DOMAIN
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
216 /* When $TERM is "internal" then this is substituted: */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217 #define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\
26730
d19a69fd704a (INTERNAL_TERMINAL): Add entries for color support.
Eli Zaretskii <eliz@gnu.org>
parents: 17453
diff changeset
218 :co#80:li#25:Co#16:pa#256:km:ms:cm=<CM>:cl=<CL>:ce=<CE>:\
27638
4b7038d296bb Add capabilities se, so, us, ue, md, mh, mb, mr, and me to the fake
Eli Zaretskii <eliz@gnu.org>
parents: 27593
diff changeset
219 :se=</SO>:so=<SO>:us=<UL>:ue=</UL>:md=<BD>:mh=<DIM>:mb=<BL>:mr=<RV>:me=<NV>:\
26730
d19a69fd704a (INTERNAL_TERMINAL): Add entries for color support.
Eli Zaretskii <eliz@gnu.org>
parents: 17453
diff changeset
220 :AB=<BG %d>:AF=<FG %d>:op=<DefC>:"
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 /* Define this to a function (Fdowncase, Fupcase) if your file system
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223 likes that */
15220
069fc3f2c2b4 (FILE_SYSTEM_CASE): Call Fmsdos_downcase_filename instead of Fdowncase.
Richard M. Stallman <rms@gnu.org>
parents: 15172
diff changeset
224 #define FILE_SYSTEM_CASE Fmsdos_downcase_filename
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
225
10500
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
226 /* 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
227 #define DEVICE_SEP ':'
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
228
4d77d5230bff (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9798
diff changeset
229 /* 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
230 #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
231 #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
232
13041
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
233 /* 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
234 #if __DJGPP__ < 2
13041
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
235 #define LOCALTIME_CACHE
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
236 #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
237 #endif
13041
140467bd68ba (LOCALTIME_CACHE, tzset): New macros.
Paul Eggert <eggert@twinsun.com>
parents: 12345
diff changeset
238
6382
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
239 /* bcopy under djgpp is quite safe */
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
240 #define GAP_USE_BCOPY
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
241 #define BCOPY_UPWARD_SAFE 1
16e6eb4c5afa use bcopy when moving gap.
Karl Heuer <kwzh@gnu.org>
parents: 5503
diff changeset
242 #define BCOPY_DOWNWARD_SAFE 1
8199
04a19fb09fb3 (HAVE_MOUSE, PURESIZE): Definitions moved here.
Richard M. Stallman <rms@gnu.org>
parents: 7668
diff changeset
243
8796
e4e935319d55 Define MODE_LINE_BINARY_TEXT.
Karl Heuer <kwzh@gnu.org>
parents: 8250
diff changeset
244 /* Mode line description of a buffer's type. */
e4e935319d55 Define MODE_LINE_BINARY_TEXT.
Karl Heuer <kwzh@gnu.org>
parents: 8250
diff changeset
245 #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
246
14970
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
247 /* 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
248 #if __DJGPP__ > 1
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
249 #define POSIX_SIGNALS
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
250 #endif
78a622f19f7f (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
251
8199
04a19fb09fb3 (HAVE_MOUSE, PURESIZE): Definitions moved here.
Richard M. Stallman <rms@gnu.org>
parents: 7668
diff changeset
252 /* 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
253 #define HAVE_MOUSE
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
254
13849
067fae3cb66e (HAVE_MENUS): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13613
diff changeset
255 /* We canuse mouse menus. */
067fae3cb66e (HAVE_MENUS): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13613
diff changeset
256 #define HAVE_MENUS
067fae3cb66e (HAVE_MENUS): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13613
diff changeset
257
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
258 /* We have support for faces. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
259 #define HAVE_FACES
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
260
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
261 /* Define one of these for easier conditionals. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
262 #ifdef HAVE_X_WINDOWS
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
263 /* We need a little extra space, see ../../lisp/loadup.el */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
264 #define SYSTEM_PURESIZE_EXTRA 15000
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
265 #define HAVE_X11R5
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
266 #define LIBX11_SYSTEM -lxext -lsys
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
267 #else
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
268 /* We need a little extra space, see ../../lisp/loadup.el */
44631
edee6e4af0f2 (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
Eli Zaretskii <eliz@gnu.org>
parents: 39935
diff changeset
269 #define SYSTEM_PURESIZE_EXTRA 50000
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 8892
diff changeset
270 #endif
28364
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27638
diff changeset
271
35553
79eb2dc0229e Fix a typo in a comment.
Eli Zaretskii <eliz@gnu.org>
parents: 35451
diff changeset
272 /* Tell the garbage collector that setjmp is known to save all
28364
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27638
diff changeset
273 registers relevant for conservative garbage collection in the
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27638
diff changeset
274 jmp_buf. */
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27638
diff changeset
275
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27638
diff changeset
276 #define GC_SETJMP_WORKS 1
35451
a600f3477e8f (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
Eli Zaretskii <eliz@gnu.org>
parents: 28364
diff changeset
277 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44631
diff changeset
278
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44631
diff changeset
279 /* arch-tag: d184f860-815d-4ff4-8187-d05c0f3c37d0
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44631
diff changeset
280 (do not change this comment) */