Mercurial > hg > xemacs-beta
comparison src/lisp.h @ 458:c33ae14dd6d0 r21-2-44
Import from CVS: tag r21-2-44
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:42:25 +0200 |
parents | e7ef97881643 |
children | 0784d089fdc9 |
comparison
equal
deleted
inserted
replaced
457:4b9290a33024 | 458:c33ae14dd6d0 |
---|---|
216 "Types must be declared in declarations, not in expressions." */ | 216 "Types must be declared in declarations, not in expressions." */ |
217 # define ALIGNOF(type) offsetof (struct { char c; type member; }, member) | 217 # define ALIGNOF(type) offsetof (struct { char c; type member; }, member) |
218 # else | 218 # else |
219 /* C++ is annoying, but it has a big bag of tricks. | 219 /* C++ is annoying, but it has a big bag of tricks. |
220 The following doesn't have the "inside out" declaration bug C does. */ | 220 The following doesn't have the "inside out" declaration bug C does. */ |
221 template<class T> struct alignment_trick { char c; T member; }; | 221 template<typename T> struct alignment_trick { char c; T member; }; |
222 # define ALIGNOF(type) offsetof (alignment_trick<type>, member) | 222 # define ALIGNOF(type) offsetof (alignment_trick<type>, member) |
223 # endif | 223 # endif |
224 #endif /* ALIGNOF */ | 224 #endif /* ALIGNOF */ |
225 | 225 |
226 #define ALIGN_SIZE(len, unit) \ | 226 #define ALIGN_SIZE(len, unit) \ |
1901 | 1901 |
1902 extern EMACS_INT consing_since_gc; | 1902 extern EMACS_INT consing_since_gc; |
1903 | 1903 |
1904 /* threshold for doing another gc */ | 1904 /* threshold for doing another gc */ |
1905 | 1905 |
1906 extern EMACS_INT gc_cons_threshold; | 1906 extern Fixnum gc_cons_threshold; |
1907 | 1907 |
1908 /* Structure for recording stack slots that need marking */ | 1908 /* Structure for recording stack slots that need marking */ |
1909 | 1909 |
1910 /* This is a chain of structures, each of which points at a Lisp_Object | 1910 /* This is a chain of structures, each of which points at a Lisp_Object |
1911 variable whose value should be marked in garbage collection. | 1911 variable whose value should be marked in garbage collection. |
2148 | 2148 |
2149 /* Call staticpro_nodump (&var) to protect static variable `var'. */ | 2149 /* Call staticpro_nodump (&var) to protect static variable `var'. */ |
2150 /* var will not be saved at dump time */ | 2150 /* var will not be saved at dump time */ |
2151 void staticpro_nodump (Lisp_Object *); | 2151 void staticpro_nodump (Lisp_Object *); |
2152 | 2152 |
2153 /* Call dump_add_root_struct_ptr (&var, &desc) to dump the structure pointed to by `var'. */ | 2153 /* dump_add_root_struct_ptr (&var, &desc) dumps the structure pointed to by `var'. */ |
2154 #ifdef PDUMP | 2154 #ifdef PDUMP |
2155 void dump_add_root_struct_ptr (void *, const struct struct_description *); | 2155 void dump_add_root_struct_ptr (void *, const struct struct_description *); |
2156 #else | 2156 #else |
2157 #define dump_add_root_struct_ptr(varaddr,descaddr) DO_NOTHING | 2157 #define dump_add_root_struct_ptr(varaddr,descaddr) DO_NOTHING |
2158 #endif | 2158 #endif |
2159 | 2159 |
2160 /* Call dump_add_opaque (&var, size) to dump the opaque static structure `var'. */ | 2160 /* dump_add_opaque (&var, size) dumps the opaque static structure `var'. */ |
2161 #ifdef PDUMP | 2161 #ifdef PDUMP |
2162 void dump_add_opaque (void *, size_t); | 2162 void dump_add_opaque (void *, size_t); |
2163 #else | 2163 #else |
2164 #define dump_add_opaque(varaddr,size) DO_NOTHING | 2164 #define dump_add_opaque(varaddr,size) DO_NOTHING |
2165 #endif | |
2166 | |
2167 /* Call dump_add_opaque_int (&int_var) to dump `int_var', of type `int'. */ | |
2168 #ifdef PDUMP | |
2169 #define dump_add_opaque_int(int_varaddr) do { \ | |
2170 int *dao_ = (int_varaddr); /* type check */ \ | |
2171 dump_add_opaque (dao_, sizeof (*dao_)); \ | |
2172 } while (0) | |
2173 #else | |
2174 #define dump_add_opaque_int(int_varaddr) DO_NOTHING | |
2175 #endif | |
2176 | |
2177 /* Call dump_add_opaque_fixnum (&fixnum_var) to dump `fixnum_var', of type `Fixnum'. */ | |
2178 #ifdef PDUMP | |
2179 #define dump_add_opaque_fixnum(fixnum_varaddr) do { \ | |
2180 Fixnum *dao_ = (fixnum_varaddr); /* type check */ \ | |
2181 dump_add_opaque (dao_, sizeof (*dao_)); \ | |
2182 } while (0) | |
2183 #else | |
2184 #define dump_add_opaque_fixnum(fixnum_varaddr) DO_NOTHING | |
2165 #endif | 2185 #endif |
2166 | 2186 |
2167 /* Call dump_add_root_object (&var) to ensure that var is properly updated after pdump. */ | 2187 /* Call dump_add_root_object (&var) to ensure that var is properly updated after pdump. */ |
2168 #ifdef PDUMP | 2188 #ifdef PDUMP |
2169 void dump_add_root_object (Lisp_Object *); | 2189 void dump_add_root_object (Lisp_Object *); |
2424 Lisp_Object decode_path (const char *); | 2444 Lisp_Object decode_path (const char *); |
2425 /* Nonzero means don't do interactive redisplay and don't change tty modes */ | 2445 /* Nonzero means don't do interactive redisplay and don't change tty modes */ |
2426 extern int noninteractive, noninteractive1; | 2446 extern int noninteractive, noninteractive1; |
2427 extern int fatal_error_in_progress; | 2447 extern int fatal_error_in_progress; |
2428 extern int preparing_for_armageddon; | 2448 extern int preparing_for_armageddon; |
2429 extern int emacs_priority; | 2449 extern Fixnum emacs_priority; |
2430 extern int running_asynch_code; | 2450 extern int running_asynch_code; |
2431 extern int suppress_early_error_handler_backtrace; | 2451 extern int suppress_early_error_handler_backtrace; |
2432 | 2452 |
2433 /* Defined in eval.c */ | 2453 /* Defined in eval.c */ |
2434 DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, Lisp_Object)); | 2454 DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, Lisp_Object)); |