Olivier, what's still left that needs to be done for portable dumping? i'm
getting concerned that there has been nothing done in a while, but it doesn't
seem finished.
one particular problem i see has to do with the fact that you require a separate
"description" for every structure to be dumped. this is going to be a
never-ending cause of grief, since it's constantly getting out of sync with the
structures themselves. furthermore, its definition is awkward, requiring lots
of repeated offsetof() expressions. how come you didn't unify this with the
structure definition itself? what you should do is create a macro language for
declaring structures, e.g. in place of
struct Lisp_Glyph
{
struct lcrecord_header header;
enum glyph_type type;
/* specifiers: */
Lisp_Object image; /* the actual image */
Lisp_Object contrib_p; /* whether to figure into line height */
Lisp_Object baseline; /* percent above baseline */
Lisp_Object face; /* if non-nil, face to use when displaying */
Lisp_Object plist;
unsigned int dirty : 1; /* So that we can selectively
redisplay changed glyphs. */
};
something like
DECLARE_STRUCT (Lisp_Glyph)
{
LCRECORD_HEADER (header);
ENUM (glyph_type, type);
/* specifiers: */
LISP_OBJECT (image); /* the actual image */
LISP_OBJECT (contrib_p); /* whether to figure into line height */
LISP_OBJECT (baseline); /* percent above baseline */
LISP_OBJECT (face); /* if non-nil, face to use when displaying */
LISP_OBJECT (plist);
UNSIGNED_INT_BITFIELD (dirty, 1); /* So that we can selectively
redisplay changed glyphs. */
};
and use include-file magic so that you get either the actual structure
definition or a description of the structure.
--
Ben
In order to save my hands, I am cutting back on my mail. I also write
as succinctly as possible -- please don't be offended. If you send me
mail, you _will_ get a response, but please be patient, especially for
XEmacs-related mail. If you need an immediate response and it is not
apparent in your message, please say so. Thanks for your understanding.
See also
http://www.666.com/ben/chronic-pain/