=================================================================== RCS file: /cvs/mandoc/mdoc_macro.c,v retrieving revision 1.92 retrieving revision 1.94 diff -u -p -r1.92 -r1.94 --- mandoc/mdoc_macro.c 2010/07/04 22:04:04 1.92 +++ mandoc/mdoc_macro.c 2010/09/26 20:22:28 1.94 @@ -1,4 +1,4 @@ -/* $Id: mdoc_macro.c,v 1.92 2010/07/04 22:04:04 schwarze Exp $ */ +/* $Id: mdoc_macro.c,v 1.94 2010/09/26 20:22:28 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -207,14 +207,10 @@ mdoc_macroend(struct mdoc *m) n = MDOC_VALID & m->last->flags ? m->last->parent : m->last; - for ( ; n; n = n->parent) { - if (MDOC_BLOCK != n->type) - continue; - if ( ! (MDOC_EXPLICIT & mdoc_macros[n->tok].flags)) - continue; - mdoc_nmsg(m, n, MANDOCERR_SYNTSCOPE); - return(0); - } + for ( ; n; n = n->parent) + if (MDOC_BLOCK == n->type && + MDOC_EXPLICIT & mdoc_macros[n->tok].flags) + mdoc_nmsg(m, n, MANDOCERR_SCOPEEXIT); /* Rewind to the first. */ @@ -610,7 +606,7 @@ append_delims(struct mdoc *m, int line, int *pos, char * knowing which symbols break this behaviour, for * example, `. ;' shouldn't propogate the double-space. */ - if (mandoc_eos(p, strlen(p))) + if (mandoc_eos(p, strlen(p), 0)) m->last->flags |= MDOC_EOS; } @@ -1266,7 +1262,7 @@ blk_part_imp(MACRO_PROT_ARGS) */ if (n && MDOC_TEXT == n->type && n->string) - if (mandoc_eos(n->string, strlen(n->string))) + if (mandoc_eos(n->string, strlen(n->string), 1)) n->flags |= MDOC_EOS; /* Up-propogate the end-of-space flag. */