Mercurial > emacs
changeset 6216:9f7708f75f17
(ARRAY_MARK_FLAG): Define here.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 05 Mar 1994 23:26:52 +0000 |
parents | 226d490216f7 |
children | bc0db1c2790e |
files | src/lisp.h |
diffstat | 1 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lisp.h Sat Mar 05 21:53:42 1994 +0000 +++ b/src/lisp.h Sat Mar 05 23:26:52 1994 +0000 @@ -257,8 +257,32 @@ #define VALMASK ((1<<VALBITS) - 1) #endif #define GCTYPEMASK ((1<<GCTYPEBITS) - 1) + +/* Two flags that are set during GC. On some machines, these flags + are defined differently by the m- file. */ + +/* This is set in the car of a cons and in the plist slot of a symbol + to indicate it is marked. Likewise in the plist slot of an interval, + the chain slot of a marker, the type slot of a float, and the name + slot of a buffer. + + In strings, this bit in the size field indicates that the string + is a "large" one, one which was separately malloc'd + rather than being part of a string block. */ + #define MARKBIT (1 << (VALBITS + GCTYPEBITS)) +/* In the size word of a vector, this bit means the vector has been marked. + In the size word of a large string, likewise. */ + +#ifndef ARRAY_MARK_FLAG +#define ARRAY_MARK_FLAG ((MARKBIT >> 1) & ~MARKBIT) +#endif /* no ARRAY_MARK_FLAG */ + +#if ARRAY_MARK_FLAG == MARKBIT +you lose +#endif + #endif /* NO_UNION_TYPE */ /* These macros extract various sorts of values from a Lisp_Object. @@ -1175,6 +1199,9 @@ extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag; extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments; extern Lisp_Object Vautoload_queue; +/* To run a normal hook, do + if (!NILP (Vrun_hooks)) + call1 (Vrun_hooks, Qmy_funny_hook); */ extern Lisp_Object Vrun_hooks; extern Lisp_Object Fand (), For (), Fif (), Fprogn (), Fprog1 (), Fprog2 (); extern Lisp_Object Fsetq (), Fquote ();