- struct mdoc_arg *args; /* BLOCK/ELEM */
-#ifdef UGLY
- struct mdoc_node *pending; /* BLOCK */
-#endif
- struct mdoc_node *head; /* BLOCK */
- struct mdoc_node *body; /* BLOCK */
- struct mdoc_node *tail; /* BLOCK */
- char *string; /* TEXT */
-
- union {
- struct mdoc_bl Bl;
- struct mdoc_bd Bd;
- } data;
+ union mdoc_data *norm; /* normalised args */
+ /* FIXME: these can be union'd to shave a few bytes. */
+ struct mdoc_arg *args; /* BLOCK/ELEM */
+ struct mdoc_node *pending; /* BLOCK */
+ struct mdoc_node *head; /* BLOCK */
+ struct mdoc_node *body; /* BLOCK */
+ struct mdoc_node *tail; /* BLOCK */
+ char *string; /* TEXT */
+ const struct tbl_span *span; /* TBL */
+ enum mdoc_endbody end; /* BODY */