=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.107 retrieving revision 1.111 diff -u -p -r1.107 -r1.111 --- mandoc/mdoc.h 2010/12/15 23:39:40 1.107 +++ mandoc/mdoc.h 2010/12/25 13:50:37 1.111 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.107 2010/12/15 23:39:40 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.111 2010/12/25 13:50:37 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * @@ -353,16 +353,21 @@ struct mdoc_an { enum mdoc_auth auth; /* -split, etc. */ }; +struct mdoc_rs { + int titlejournal; /* whether %T and %J */ +}; + /* * Consists of normalised node arguments. These should be used instead * of iterating through the mdoc_arg pointers of a node: defaults are * provided, etc. */ -union mdoc_data { +union mdoc_data { struct mdoc_an An; - struct mdoc_bd *Bd; - struct mdoc_bf *Bf; - struct mdoc_bl *Bl; + struct mdoc_bd Bd; + struct mdoc_bf Bf; + struct mdoc_bl Bl; + struct mdoc_rs Rs; }; /* @@ -387,6 +392,7 @@ struct mdoc_node { #define MDOC_ENDED (1 << 5) /* rendering has been ended */ enum mdoc_type type; /* AST node type */ enum mdoc_sec sec; /* current named section */ + 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 */ @@ -395,7 +401,6 @@ struct mdoc_node { struct mdoc_node *tail; /* BLOCK */ char *string; /* TEXT */ enum mdoc_endbody end; /* BODY */ - union mdoc_data data; }; /*