# HG changeset patch # User Jim Blandy # Date 680571094 0 # Node ID 5b180834eacf5347025ffb9f142a5281763ca4d2 # Parent ec5e971707d60e1f1708e08065634f856d9c3ddb *** empty log message *** diff -r ec5e971707d6 -r 5b180834eacf src/alloc.c --- a/src/alloc.c Fri Jul 26 21:30:07 1991 +0000 +++ b/src/alloc.c Fri Jul 26 23:31:34 1991 +0000 @@ -20,6 +20,7 @@ #include "config.h" #include "lisp.h" +#include "puresize.h" #ifndef standalone #include "buffer.h" #include "window.h" @@ -81,6 +82,14 @@ #else #define pure PURE_SEG_BITS /* Use shared memory segment */ #define PUREBEG (char *)PURE_SEG_BITS + +/* This variable is used only by the XPNTR macro when HAVE_SHM is + defined. If we used the PURESIZE macro directly there, that would + make most of emacs dependent on puresize.h, which we don't want - + you should be able to change that without too much recompilation. + So map_in_data initializes pure_size, and the dependencies work + out. */ +int pure_size; #endif /* not HAVE_SHM */ /* Index in pure at which next pure object will be allocated. */ @@ -1341,6 +1350,7 @@ ptr->size |= ARRAY_MARK_FLAG; /* Else mark it */ mark_object (&ptr->name); + mark_object (&ptr->focus_screen); mark_object (&ptr->width); mark_object (&ptr->height); mark_object (&ptr->selected_window); @@ -1831,6 +1841,9 @@ { /* Used to do Vpurify_flag = Qt here, but Qt isn't set up yet! */ pureptr = 0; +#ifdef HAVE_SHM + pure_size = PURESIZE; +#endif all_vectors = 0; ignore_warnings = 1; init_strings ();