aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1994-03-05 23:26:52 +0000
committerRichard M. Stallman1994-03-05 23:26:52 +0000
commit846d69ac6356a3e1c9fecc465191f646def32377 (patch)
tree4a6b95e3fb6cd55011048ead7428652d950d56c1 /src
parente3515d10e71b405254046be9642262e34fd5c8cd (diff)
downloademacs-846d69ac6356a3e1c9fecc465191f646def32377.tar.gz
emacs-846d69ac6356a3e1c9fecc465191f646def32377.zip
(ARRAY_MARK_FLAG): Define here.
Diffstat (limited to 'src')
-rw-r--r--src/lisp.h27
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
283you 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;
1175extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag; 1199extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag;
1176extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments; 1200extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments;
1177extern Lisp_Object Vautoload_queue; 1201extern Lisp_Object Vautoload_queue;
1202/* To run a normal hook, do
1203 if (!NILP (Vrun_hooks))
1204 call1 (Vrun_hooks, Qmy_funny_hook); */
1178extern Lisp_Object Vrun_hooks; 1205extern Lisp_Object Vrun_hooks;
1179extern Lisp_Object Fand (), For (), Fif (), Fprogn (), Fprog1 (), Fprog2 (); 1206extern Lisp_Object Fand (), For (), Fif (), Fprogn (), Fprog1 (), Fprog2 ();
1180extern Lisp_Object Fsetq (), Fquote (); 1207extern Lisp_Object Fsetq (), Fquote ();