changeset 356:5b180834eacf

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Fri, 26 Jul 1991 23:31:34 +0000
parents ec5e971707d6
children 1ad871406b12
files src/alloc.c
diffstat 1 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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 ();