diff options
| author | Richard M. Stallman | 1994-03-05 23:26:52 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-03-05 23:26:52 +0000 |
| commit | 846d69ac6356a3e1c9fecc465191f646def32377 (patch) | |
| tree | 4a6b95e3fb6cd55011048ead7428652d950d56c1 /src | |
| parent | e3515d10e71b405254046be9642262e34fd5c8cd (diff) | |
| download | emacs-846d69ac6356a3e1c9fecc465191f646def32377.tar.gz emacs-846d69ac6356a3e1c9fecc465191f646def32377.zip | |
(ARRAY_MARK_FLAG): Define here.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index 934f499ad11..4e5e59598fd 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -257,8 +257,32 @@ Lisp_Object; | |||
| 257 | #define VALMASK ((1<<VALBITS) - 1) | 257 | #define VALMASK ((1<<VALBITS) - 1) |
| 258 | #endif | 258 | #endif |
| 259 | #define GCTYPEMASK ((1<<GCTYPEBITS) - 1) | 259 | #define GCTYPEMASK ((1<<GCTYPEBITS) - 1) |
| 260 | |||
| 261 | /* Two flags that are set during GC. On some machines, these flags | ||
| 262 | are defined differently by the m- file. */ | ||
| 263 | |||
| 264 | /* This is set in the car of a cons and in the plist slot of a symbol | ||
| 265 | to indicate it is marked. Likewise in the plist slot of an interval, | ||
| 266 | the chain slot of a marker, the type slot of a float, and the name | ||
| 267 | slot of a buffer. | ||
| 268 | |||
| 269 | In strings, this bit in the size field indicates that the string | ||
| 270 | is a "large" one, one which was separately malloc'd | ||
| 271 | rather than being part of a string block. */ | ||
| 272 | |||
| 260 | #define MARKBIT (1 << (VALBITS + GCTYPEBITS)) | 273 | #define MARKBIT (1 << (VALBITS + GCTYPEBITS)) |
| 261 | 274 | ||
| 275 | /* In the size word of a vector, this bit means the vector has been marked. | ||
| 276 | In the size word of a large string, likewise. */ | ||
| 277 | |||
| 278 | #ifndef ARRAY_MARK_FLAG | ||
| 279 | #define ARRAY_MARK_FLAG ((MARKBIT >> 1) & ~MARKBIT) | ||
| 280 | #endif /* no ARRAY_MARK_FLAG */ | ||
| 281 | |||
| 282 | #if ARRAY_MARK_FLAG == MARKBIT | ||
| 283 | you lose | ||
| 284 | #endif | ||
| 285 | |||
| 262 | #endif /* NO_UNION_TYPE */ | 286 | #endif /* NO_UNION_TYPE */ |
| 263 | 287 | ||
| 264 | /* These macros extract various sorts of values from a Lisp_Object. | 288 | /* These macros extract various sorts of values from a Lisp_Object. |
| @@ -1175,6 +1199,9 @@ extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qdefun, Qmacro; | |||
| 1175 | extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag; | 1199 | extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag; |
| 1176 | extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments; | 1200 | extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments; |
| 1177 | extern Lisp_Object Vautoload_queue; | 1201 | extern Lisp_Object Vautoload_queue; |
| 1202 | /* To run a normal hook, do | ||
| 1203 | if (!NILP (Vrun_hooks)) | ||
| 1204 | call1 (Vrun_hooks, Qmy_funny_hook); */ | ||
| 1178 | extern Lisp_Object Vrun_hooks; | 1205 | extern Lisp_Object Vrun_hooks; |
| 1179 | extern Lisp_Object Fand (), For (), Fif (), Fprogn (), Fprog1 (), Fprog2 (); | 1206 | extern Lisp_Object Fand (), For (), Fif (), Fprogn (), Fprog1 (), Fprog2 (); |
| 1180 | extern Lisp_Object Fsetq (), Fquote (); | 1207 | extern Lisp_Object Fsetq (), Fquote (); |