diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-05-15 22:44:04 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-05-15 22:44:04 +0000 |
commit | 27830edd2010e265369c917a14f4a777ca6ba655 (patch) | |
tree | 545423b2746c6bb8f3e220f4ea5420f2ee42cfc9 /man_macro.c | |
parent | a8bb7c209207e9203564a03b9b8d4b662cff4e1e (diff) | |
download | mandoc-27830edd2010e265369c917a14f4a777ca6ba655.tar.gz |
Remove `am', `ami', `de', `dei', and `.' from -man, as they're now in the roff preprocessor.
Diffstat (limited to 'man_macro.c')
-rw-r--r-- | man_macro.c | 94 |
1 files changed, 4 insertions, 90 deletions
diff --git a/man_macro.c b/man_macro.c index cc5d7b86..4a65a66b 100644 --- a/man_macro.c +++ b/man_macro.c @@ -32,7 +32,6 @@ enum rew { }; static int blk_close(MACRO_PROT_ARGS); -static int blk_dotted(MACRO_PROT_ARGS); static int blk_exp(MACRO_PROT_ARGS); static int blk_imp(MACRO_PROT_ARGS); static int in_line_eoln(MACRO_PROT_ARGS); @@ -82,11 +81,6 @@ const struct man_macro __man_macros[MAN_MAX] = { { in_line_eoln, MAN_NSCOPED }, /* Sp */ { in_line_eoln, 0 }, /* Vb */ { in_line_eoln, 0 }, /* Ve */ - { blk_exp, MAN_EXPLICIT | MAN_NOCLOSE}, /* de */ - { blk_exp, MAN_EXPLICIT | MAN_NOCLOSE}, /* dei */ - { blk_exp, MAN_EXPLICIT | MAN_NOCLOSE}, /* am */ - { blk_exp, MAN_EXPLICIT | MAN_NOCLOSE}, /* ami */ - { blk_dotted, 0 }, /* . */ }; const struct man_macro * const man_macros = __man_macros; @@ -105,8 +99,6 @@ rew_warn(struct man *m, struct man_node *n, enum merr er) return(1); if ( ! (MAN_EXPLICIT & man_macros[n->tok].flags)) return(1); - if (MAN_NOCLOSE & man_macros[n->tok].flags) - return(1); return(man_nwarn(m, n, er)); } @@ -186,24 +178,6 @@ rew_dohalt(enum mant tok, enum man_type type, const struct man_node *n) if (type == n->type && tok == n->tok) return(REW_REWIND); - /* - * If we're a roff macro, then we can close out anything that - * stands between us and our parent context. - */ - if (MAN_NOCLOSE & man_macros[tok].flags) - return(REW_NOHALT); - - /* - * Don't clobber roff macros: this is a bit complicated. If the - * current macro is a roff macro, halt immediately and don't - * rewind. If it's not, and the parent is, then close out the - * current scope and halt at the parent. - */ - if (MAN_NOCLOSE & man_macros[n->tok].flags) - return(REW_HALT); - if (MAN_NOCLOSE & man_macros[n->parent->tok].flags) - return(REW_REWIND); - /* * Next follow the implicit scope-smashings as defined by man.7: * section, sub-section, etc. @@ -272,59 +246,12 @@ rew_scope(enum man_type type, struct man *m, enum mant tok) * instruction that's mowing over explicit scopes. */ assert(n); - if (MAN_NOCLOSE & man_macros[tok].flags) - return(man_unscope(m, n, WROFFSCOPE)); return(man_unscope(m, n, WERRMAX)); } /* - * Closure for dotted macros (de, dei, am, ami, ign). This must handle - * any of these as the parent node, so it needs special handling. - * Beyond this, it's the same as blk_close(). - */ -/* ARGSUSED */ -int -blk_dotted(MACRO_PROT_ARGS) -{ - enum mant ntok; - struct man_node *nn; - - /* Check for any of the following parents... */ - - for (nn = m->last->parent; nn; nn = nn->parent) - if (nn->tok == MAN_de || nn->tok == MAN_dei || - nn->tok == MAN_am || - nn->tok == MAN_ami) { - ntok = nn->tok; - break; - } - - if (NULL == nn) { - if ( ! man_pwarn(m, line, ppos, WNOSCOPE)) - return(0); - return(1); - } - - if ( ! rew_scope(MAN_BODY, m, ntok)) - return(0); - if ( ! rew_scope(MAN_BLOCK, m, ntok)) - return(0); - - /* - * Restore flags set when we got here and also stipulate that we - * don't post-process the line when exiting the macro op - * function in man_pmacro(). See blk_exp(). - */ - - m->flags = m->svflags | MAN_ILINE; - m->next = m->svnext; - return(1); -} - - -/* * Close out a generic explicit macro. */ /* ARGSUSED */ @@ -372,23 +299,10 @@ blk_exp(MACRO_PROT_ARGS) * anywhere. */ - if ( ! (MAN_NOCLOSE & man_macros[tok].flags)) { - if ( ! rew_scope(MAN_BODY, m, tok)) - return(0); - if ( ! rew_scope(MAN_BLOCK, m, tok)) - return(0); - } else { - /* - * Save our state and next-scope indicator; we restore - * it when exiting from the roff instruction block. See - * blk_dotted(). - */ - m->svflags = m->flags; - m->svnext = m->next; - - /* Make sure we drop any line modes. */ - m->flags = 0; - } + if ( ! rew_scope(MAN_BODY, m, tok)) + return(0); + if ( ! rew_scope(MAN_BLOCK, m, tok)) + return(0); if ( ! man_block_alloc(m, line, ppos, tok)) return(0); |