From 26062711bedfc2a29550c2d705beb1d77d7ee0b3 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Mon, 17 May 2010 23:57:06 +0000 Subject: Increase performance by stashing the list type in struct mdoc_node. This will eventually be used so that mdoc_macro can known whether to dump list line arguments into the body (`Bl -column' overflowing). Remove a2list() and arg_listtype() because of this. --- mdoc.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'mdoc.h') diff --git a/mdoc.h b/mdoc.h index 99857a14..8b2c9a05 100644 --- a/mdoc.h +++ b/mdoc.h @@ -247,6 +247,21 @@ struct mdoc_arg { unsigned int refcnt; }; +enum mdoc_list { + LIST__NONE = 0, + LIST_bullet, + LIST_column, + LIST_dash, + LIST_diag, + LIST_enum, + LIST_hang, + LIST_hyphen, + LIST_inset, + LIST_item, + LIST_ohang, + LIST_tag +}; + /* Node in AST. */ struct mdoc_node { struct mdoc_node *parent; /* parent AST node */ @@ -272,6 +287,10 @@ struct mdoc_node { struct mdoc_node *body; /* BLOCK */ struct mdoc_node *tail; /* BLOCK */ char *string; /* TEXT */ + + union { + enum mdoc_list list; /* for `Bl' nodes */ + } data; }; #define MDOC_IGN_SCOPE (1 << 0) /* Ignore scope violations. */ -- cgit