diff options
-rw-r--r-- | libmdoc.h | 8 | ||||
-rw-r--r-- | mdoc_argv.c | 17 |
2 files changed, 20 insertions, 5 deletions
@@ -1,4 +1,4 @@ -/* $Id: libmdoc.h,v 1.25 2009/08/20 08:59:12 kristaps Exp $ */ +/* $Id: libmdoc.h,v 1.26 2009/08/20 09:07:24 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -172,9 +172,9 @@ int mdoc_args(struct mdoc *, int, int *, char *, int, char **); int mdoc_zargs(struct mdoc *, int, int *, char *, int, char **); -#define ARGS_DELIM (1 << 1) -#define ARGS_TABSEP (1 << 2) -#define ARGS_NOWARN (1 << 3) +#define ARGS_DELIM (1 << 1) /* See args(). */ +#define ARGS_TABSEP (1 << 2) /* See args(). */ +#define ARGS_NOWARN (1 << 3) /* See args(). */ #define ARGS_ERROR (-1) #define ARGS_EOLN (0) #define ARGS_WORD (1) diff --git a/mdoc_argv.c b/mdoc_argv.c index 1efed9c4..6e2c48b3 100644 --- a/mdoc_argv.c +++ b/mdoc_argv.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_argv.c,v 1.23 2009/08/20 08:59:12 kristaps Exp $ */ +/* $Id: mdoc_argv.c,v 1.24 2009/08/20 09:07:24 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -375,6 +375,21 @@ args(struct mdoc *m, int line, int *pos, int i; char *p, *pp; + /* + * Parse out the terms (like `val' in `.Xx -arg val' or simply + * `.Xx val'), which can have all sorts of properties: + * + * ARGS_DELIM: use special handling if encountering trailing + * delimiters in the form of [[::delim::][ ]+]+. + * + * ARGS_NOWARN: don't post warnings. This is only used when + * re-parsing delimiters, as the warnings have already been + * posted. + * + * ARGS_TABSEP: use special handling for tab/`Ta' separated + * phrases like in `Bl -column'. + */ + assert(*pos); assert(' ' != buf[*pos]); |