Mercurial > emacs
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 (); |