=================================================================== RCS file: /cvs/mandoc/roff.c,v retrieving revision 1.306 retrieving revision 1.308 diff -u -p -r1.306 -r1.308 --- mandoc/roff.c 2017/06/07 00:50:34 1.306 +++ mandoc/roff.c 2017/06/13 13:51:11 1.308 @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.306 2017/06/07 00:50:34 schwarze Exp $ */ +/* $Id: roff.c,v 1.308 2017/06/13 13:51:11 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons * Copyright (c) 2010-2015, 2017 Ingo Schwarze @@ -767,6 +767,10 @@ roff_reset(struct roff *r) r->format = r->options & (MPARSE_MDOC | MPARSE_MAN); r->control = '\0'; r->escape = '\\'; + roffce_lines = 0; + roffce_node = NULL; + roffit_lines = 0; + roffit_macro = NULL; } void @@ -1544,10 +1548,11 @@ roff_parseln(struct roff *r, int ln, struct buf *buf, /* Tables ignore most macros. */ - if (r->tbl != NULL && (t == TOKEN_NONE || t == ROFF_TS)) { + if (r->tbl != NULL && (t == TOKEN_NONE || t == ROFF_TS || + t == ROFF_br || t == ROFF_ce || t == ROFF_sp)) { mandoc_msg(MANDOCERR_TBLMACRO, r->parse, ln, pos, buf->buf + spos); - if (t == ROFF_TS) + if (t != TOKEN_NONE) return ROFF_IGN; while (buf->buf[pos] != '\0' && buf->buf[pos] != ' ') pos++;