=================================================================== RCS file: /cvs/mandoc/man_macro.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -p -r1.40 -r1.41 --- mandoc/man_macro.c 2010/03/27 10:14:32 1.40 +++ mandoc/man_macro.c 2010/03/29 04:52:14 1.41 @@ -1,4 +1,4 @@ -/* $Id: man_macro.c,v 1.40 2010/03/27 10:14:32 kristaps Exp $ */ +/* $Id: man_macro.c,v 1.41 2010/03/29 04:52:14 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -328,6 +328,14 @@ blk_dotted(MACRO_PROT_ARGS) break; } + /* + * 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(). + */ + m->flags = m->svflags; + m->flags |= MAN_ILINE; + return(1); } @@ -385,6 +393,13 @@ blk_exp(MACRO_PROT_ARGS) return(0); if ( ! rew_scope(MAN_BLOCK, m, tok)) return(0); + } else { + /* + * Save our state; we restore it when exiting from the + * roff instruction block. + */ + m->svflags = m->flags; + m->flags = 0; } if ( ! man_block_alloc(m, line, ppos, tok))