Mercurial > hg > xemacs-beta
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) \ |