=================================================================== RCS file: /cvs/mandoc/man_macro.c,v retrieving revision 1.31 retrieving revision 1.33 diff -u -p -r1.31 -r1.33 --- mandoc/man_macro.c 2010/03/22 05:59:32 1.31 +++ mandoc/man_macro.c 2010/03/23 21:50:43 1.33 @@ -1,4 +1,4 @@ -/* $Id: man_macro.c,v 1.31 2010/03/22 05:59:32 kristaps Exp $ */ +/* $Id: man_macro.c,v 1.33 2010/03/23 21:50:43 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -33,10 +33,11 @@ static int in_line_eoln(MACRO_PROT_ARGS); static int blk_imp(MACRO_PROT_ARGS); static int blk_close(MACRO_PROT_ARGS); -static int rew_scope(enum man_type, struct man *, int); -static int rew_dohalt(int, enum man_type, +static int rew_scope(enum man_type, + struct man *, enum mant); +static int rew_dohalt(enum mant, enum man_type, const struct man_node *); -static int rew_block(int, enum man_type, +static int rew_block(enum mant, enum man_type, const struct man_node *); const struct man_macro __man_macros[MAN_MAX] = { @@ -72,6 +73,9 @@ const struct man_macro __man_macros[MAN_MAX] = { { in_line_eoln, 0 }, /* DT */ { in_line_eoln, 0 }, /* UC */ { in_line_eoln, 0 }, /* PD */ + { in_line_eoln, MAN_NSCOPED }, /* Sp */ + { in_line_eoln, 0 }, /* Vb */ + { in_line_eoln, 0 }, /* Ve */ }; const struct man_macro * const man_macros = __man_macros; @@ -101,7 +105,7 @@ man_unscope(struct man *m, const struct man_node *n) static int -rew_block(int ntok, enum man_type type, const struct man_node *n) +rew_block(enum mant ntok, enum man_type type, const struct man_node *n) { if (MAN_BLOCK == type && ntok == n->parent->tok && @@ -117,7 +121,7 @@ rew_block(int ntok, enum man_type type, const struct m * sections and subsections). */ static int -rew_dohalt(int tok, enum man_type type, const struct man_node *n) +rew_dohalt(enum mant tok, enum man_type type, const struct man_node *n) { int c; @@ -172,7 +176,7 @@ rew_dohalt(int tok, enum man_type type, const struct m * scopes. When a scope is closed, it must be validated and actioned. */ static int -rew_scope(enum man_type type, struct man *m, int tok) +rew_scope(enum man_type type, struct man *m, enum mant tok) { struct man_node *n; int c; @@ -202,7 +206,7 @@ rew_scope(enum man_type type, struct man *m, int tok) int blk_close(MACRO_PROT_ARGS) { - int ntok; + enum mant ntok; const struct man_node *nn; switch (tok) { @@ -315,6 +319,10 @@ in_line_eoln(MACRO_PROT_ARGS) return(0); if (0 == w) break; + + /* XXX ignore Vb arguments for now */ + if (MAN_Vb == tok) + continue; if ( ! man_word_alloc(m, line, la, p)) return(0);