=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.87 retrieving revision 1.93 diff -u -p -r1.87 -r1.93 --- mandoc/mdoc.h 2010/06/12 12:10:55 1.87 +++ mandoc/mdoc.h 2010/06/27 15:52:41 1.93 @@ -1,6 +1,6 @@ -/* $Id: mdoc.h,v 1.87 2010/06/12 12:10:55 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.93 2010/06/27 15:52:41 kristaps Exp $ */ /* - * Copyright (c) 2008, 2009 Kristaps Dzonsons + * Copyright (c) 2008, 2009 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -155,6 +155,7 @@ enum mdoct { /* What follows is a list of ALL possible macro arguments. */ +/* FIXME: make this into an enum. */ #define MDOC_Split 0 #define MDOC_Nosplit 1 #define MDOC_Ragged 2 @@ -279,6 +280,8 @@ struct mdoc_bd { }; struct mdoc_bl { + const char *width; /* -width */ + const char *offs; /* -offset */ enum mdoc_list type; /* -tag, -enum, etc. */ int comp; /* -compact */ }; @@ -300,10 +303,9 @@ struct mdoc_node { #define MDOC_LINE (1 << 3) /* first macro/text on line */ enum mdoc_type type; /* AST node type */ enum mdoc_sec sec; /* current named section */ + /* FIXME: these can be union'd to shave a few bytes. */ 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 */ @@ -331,7 +333,7 @@ struct mdoc; /* See mdoc.3 for documentation. */ void mdoc_free(struct mdoc *); -struct mdoc *mdoc_alloc(void *, int, mandocmsg); +struct mdoc *mdoc_alloc(const struct regset *, void *, int, mandocmsg); void mdoc_reset(struct mdoc *); int mdoc_parseln(struct mdoc *, int, char *, int); const struct mdoc_node *mdoc_node(const struct mdoc *);