Mercurial > hg > xemacs-beta
comparison src/specifier.h @ 456:e7ef97881643 r21-2-43
Import from CVS: tag r21-2-43
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:41:24 +0200 |
parents | 3d3049ae1304 |
children | af57a77cbc92 |
comparison
equal
deleted
inserted
replaced
455:5b97c1cd6ed0 | 456:e7ef97881643 |
---|---|
233 | 233 |
234 /* Fallback value. For magic specifiers, it is a pointer to the ghost. */ | 234 /* Fallback value. For magic specifiers, it is a pointer to the ghost. */ |
235 Lisp_Object fallback; | 235 Lisp_Object fallback; |
236 | 236 |
237 /* type-specific extra data attached to a specifier */ | 237 /* type-specific extra data attached to a specifier */ |
238 char data[1]; | 238 max_align_t data[1]; |
239 }; | 239 }; |
240 typedef struct Lisp_Specifier Lisp_Specifier; | 240 typedef struct Lisp_Specifier Lisp_Specifier; |
241 | 241 |
242 DECLARE_LRECORD (specifier, Lisp_Specifier); | 242 DECLARE_LRECORD (specifier, Lisp_Specifier); |
243 #define XSPECIFIER(x) XRECORD (x, specifier, Lisp_Specifier) | 243 #define XSPECIFIER(x) XRECORD (x, specifier, Lisp_Specifier) |
259 SPECMETH (maybe_specmeth_sp, m, args); \ | 259 SPECMETH (maybe_specmeth_sp, m, args); \ |
260 } while (0) | 260 } while (0) |
261 | 261 |
262 /***** Defining new specifier types *****/ | 262 /***** Defining new specifier types *****/ |
263 | 263 |
264 #define specifier_data_offset (offsetof (Lisp_Specifier, data)) | 264 #define specifier_data_offset offsetof (Lisp_Specifier, data) |
265 extern const struct lrecord_description specifier_empty_extra_description[]; | 265 extern const struct lrecord_description specifier_empty_extra_description[]; |
266 | 266 |
267 #ifdef ERROR_CHECK_TYPECHECK | 267 #ifdef ERROR_CHECK_TYPECHECK |
268 #define DECLARE_SPECIFIER_TYPE(type) \ | 268 #define DECLARE_SPECIFIER_TYPE(type) \ |
269 extern struct specifier_methods * type##_specifier_methods; \ | 269 extern struct specifier_methods * type##_specifier_methods; \ |