comparison src/buffer.c @ 3263:d674024a8674

[xemacs-hg @ 2006-02-27 16:29:00 by crestani] - Introduce a fancy asynchronous finalization strategy on C level. - Merge the code conditioned on MC_ALLOC into the code conditioned on NEW_GC. - Remove the possibility to free objects manually outside garbage collections when the new collector is enabled.
author crestani
date Mon, 27 Feb 2006 16:29:29 +0000
parents 8273ffbc92cd
children 3b847cba6d71
comparison
equal deleted inserted replaced
3262:79d41cfd8e6b 3263:d674024a8674
2128 delete_auto_save_files = 1; 2128 delete_auto_save_files = 1;
2129 } 2129 }
2130 2130
2131 /* The docstrings for DEFVAR_* are recorded externally by make-docfile. */ 2131 /* The docstrings for DEFVAR_* are recorded externally by make-docfile. */
2132 2132
2133 #ifdef MC_ALLOC 2133 #ifdef NEW_GC
2134 #define DEFVAR_BUFFER_LOCAL_1(lname, field_name, forward_type, magic_fun) \ 2134 #define DEFVAR_BUFFER_LOCAL_1(lname, field_name, forward_type, magic_fun) \
2135 do \ 2135 do \
2136 { \ 2136 { \
2137 struct symbol_value_forward *I_hate_C = \ 2137 struct symbol_value_forward *I_hate_C = \
2138 alloc_lrecord_type (struct symbol_value_forward, \ 2138 alloc_lrecord_type (struct symbol_value_forward, \
2153 *((Lisp_Object *)(offset + (char *)XBUFFER (Vbuffer_local_symbols))) \ 2153 *((Lisp_Object *)(offset + (char *)XBUFFER (Vbuffer_local_symbols))) \
2154 = intern (lname); \ 2154 = intern (lname); \
2155 } \ 2155 } \
2156 } while (0) 2156 } while (0)
2157 2157
2158 #else /* not MC_ALLOC */ 2158 #else /* not NEW_GC */
2159 /* Renamed from DEFVAR_PER_BUFFER because FSFmacs D_P_B takes 2159 /* Renamed from DEFVAR_PER_BUFFER because FSFmacs D_P_B takes
2160 a bogus extra arg, which confuses an otherwise identical make-docfile.c */ 2160 a bogus extra arg, which confuses an otherwise identical make-docfile.c */
2161 #define DEFVAR_BUFFER_LOCAL_1(lname, field_name, forward_type, magicfun) \ 2161 #define DEFVAR_BUFFER_LOCAL_1(lname, field_name, forward_type, magicfun) \
2162 do { \ 2162 do { \
2163 static const struct symbol_value_forward I_hate_C = \ 2163 static const struct symbol_value_forward I_hate_C = \
2187 \ 2187 \
2188 *((Lisp_Object *)(offset + (char *)XBUFFER (Vbuffer_local_symbols))) \ 2188 *((Lisp_Object *)(offset + (char *)XBUFFER (Vbuffer_local_symbols))) \
2189 = intern (lname); \ 2189 = intern (lname); \
2190 } \ 2190 } \
2191 } while (0) 2191 } while (0)
2192 #endif /* not MC_ALLOC */ 2192 #endif /* not NEW_GC */
2193 2193
2194 #define DEFVAR_BUFFER_LOCAL_MAGIC(lname, field_name, magicfun) \ 2194 #define DEFVAR_BUFFER_LOCAL_MAGIC(lname, field_name, magicfun) \
2195 DEFVAR_BUFFER_LOCAL_1 (lname, field_name, \ 2195 DEFVAR_BUFFER_LOCAL_1 (lname, field_name, \
2196 SYMVAL_CURRENT_BUFFER_FORWARD, magicfun) 2196 SYMVAL_CURRENT_BUFFER_FORWARD, magicfun)
2197 #define DEFVAR_BUFFER_LOCAL(lname, field_name) \ 2197 #define DEFVAR_BUFFER_LOCAL(lname, field_name) \