=================================================================== RCS file: /cvs/mandoc/man_macro.c,v retrieving revision 1.110 retrieving revision 1.113 diff -u -p -r1.110 -r1.113 --- mandoc/man_macro.c 2015/09/04 21:25:00 1.110 +++ mandoc/man_macro.c 2015/10/22 21:54:23 1.113 @@ -1,4 +1,4 @@ -/* $Id: man_macro.c,v 1.110 2015/09/04 21:25:00 schwarze Exp $ */ +/* $Id: man_macro.c,v 1.113 2015/10/22 21:54:23 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2012, 2013, 2014, 2015 Ingo Schwarze @@ -130,7 +130,7 @@ man_unscope(struct roff_man *man, const struct roff_no man->last = n; n = n->parent; - man_valid_post(man); + man->last->flags |= MAN_VALID; } /* @@ -225,7 +225,6 @@ blk_close(MACRO_PROT_ARGS) break; default: abort(); - /* NOTREACHED */ } for (nn = man->last->parent; nn; nn = nn->parent) @@ -380,28 +379,13 @@ in_line_eoln(MACRO_PROT_ARGS) assert(man->last->type != ROFFT_ROOT); man->next = ROFF_NEXT_SIBLING; - /* - * Rewind our element scope. Note that when TH is pruned, we'll - * be back at the root, so make sure that we don't clobber as - * its sibling. - */ + /* Rewind our element scope. */ for ( ; man->last; man->last = man->last->parent) { + man_state(man, man->last); if (man->last == n) break; - if (man->last->type == ROFFT_ROOT) - break; - man_valid_post(man); } - - assert(man->last); - - /* - * Same here regarding whether we're back at the root. - */ - - if (man->last->type != ROFFT_ROOT) - man_valid_post(man); } void @@ -409,6 +393,7 @@ man_endparse(struct roff_man *man) { man_unscope(man, man->first); + man->flags &= ~MAN_LITERAL; } static int @@ -421,8 +406,8 @@ man_args(struct roff_man *man, int line, int *pos, cha assert(' ' != *start); if ('\0' == *start) - return(0); + return 0; *v = mandoc_getarg(man->parse, v, line, pos); - return(1); + return 1; }