comparison src/alloc.c @ 356:5b180834eacf

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Fri, 26 Jul 1991 23:31:34 +0000
parents 4ee2046fcb72
children f4f9b557d934
comparison
equal deleted inserted replaced
355:ec5e971707d6 356:5b180834eacf
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ 18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19 19
20 20
21 #include "config.h" 21 #include "config.h"
22 #include "lisp.h" 22 #include "lisp.h"
23 #include "puresize.h"
23 #ifndef standalone 24 #ifndef standalone
24 #include "buffer.h" 25 #include "buffer.h"
25 #include "window.h" 26 #include "window.h"
26 #ifdef HAVE_X_WINDOWS 27 #ifdef HAVE_X_WINDOWS
27 #include "xterm.h" 28 #include "xterm.h"
79 int pure[PURESIZE / sizeof (int)] = {0,}; /* Force it into data space! */ 80 int pure[PURESIZE / sizeof (int)] = {0,}; /* Force it into data space! */
80 #define PUREBEG (char *) pure 81 #define PUREBEG (char *) pure
81 #else 82 #else
82 #define pure PURE_SEG_BITS /* Use shared memory segment */ 83 #define pure PURE_SEG_BITS /* Use shared memory segment */
83 #define PUREBEG (char *)PURE_SEG_BITS 84 #define PUREBEG (char *)PURE_SEG_BITS
85
86 /* This variable is used only by the XPNTR macro when HAVE_SHM is
87 defined. If we used the PURESIZE macro directly there, that would
88 make most of emacs dependent on puresize.h, which we don't want -
89 you should be able to change that without too much recompilation.
90 So map_in_data initializes pure_size, and the dependencies work
91 out. */
92 int pure_size;
84 #endif /* not HAVE_SHM */ 93 #endif /* not HAVE_SHM */
85 94
86 /* Index in pure at which next pure object will be allocated. */ 95 /* Index in pure at which next pure object will be allocated. */
87 int pureptr; 96 int pureptr;
88 97
1339 1348
1340 if (size & ARRAY_MARK_FLAG) break; /* Already marked */ 1349 if (size & ARRAY_MARK_FLAG) break; /* Already marked */
1341 ptr->size |= ARRAY_MARK_FLAG; /* Else mark it */ 1350 ptr->size |= ARRAY_MARK_FLAG; /* Else mark it */
1342 1351
1343 mark_object (&ptr->name); 1352 mark_object (&ptr->name);
1353 mark_object (&ptr->focus_screen);
1344 mark_object (&ptr->width); 1354 mark_object (&ptr->width);
1345 mark_object (&ptr->height); 1355 mark_object (&ptr->height);
1346 mark_object (&ptr->selected_window); 1356 mark_object (&ptr->selected_window);
1347 mark_object (&ptr->minibuffer_window); 1357 mark_object (&ptr->minibuffer_window);
1348 mark_object (&ptr->param_alist); 1358 mark_object (&ptr->param_alist);
1829 1839
1830 init_alloc_once () 1840 init_alloc_once ()
1831 { 1841 {
1832 /* Used to do Vpurify_flag = Qt here, but Qt isn't set up yet! */ 1842 /* Used to do Vpurify_flag = Qt here, but Qt isn't set up yet! */
1833 pureptr = 0; 1843 pureptr = 0;
1844 #ifdef HAVE_SHM
1845 pure_size = PURESIZE;
1846 #endif
1834 all_vectors = 0; 1847 all_vectors = 0;
1835 ignore_warnings = 1; 1848 ignore_warnings = 1;
1836 init_strings (); 1849 init_strings ();
1837 init_cons (); 1850 init_cons ();
1838 init_symbol (); 1851 init_symbol ();