]> git.cameronkatri.com Git - mandoc.git/blobdiff - roff.c
Since resetting of offsets works quite differently in man(7) and mdoc(7),
[mandoc.git] / roff.c
diff --git a/roff.c b/roff.c
index 076f55ec511298d9c12ef58f1888dcace25c6092..854e7781eaa64e91bb448229ce3ca392f9303934 100644 (file)
--- a/roff.c
+++ b/roff.c
@@ -1,7 +1,7 @@
-/*     $Id: roff.c,v 1.359 2018/12/31 08:18:12 schwarze Exp $ */
+/*     $Id: roff.c,v 1.361 2019/01/05 09:10:32 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2010-2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010-2015, 2017-2019 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -889,7 +889,7 @@ roff_node_alloc(struct roff_man *man, int line, int pos,
                n->flags |= NODE_SYNPRETTY;
        else
                n->flags &= ~NODE_SYNPRETTY;
-       if (man->flags & ROFF_NOFILL)
+       if ((man->flags & (ROFF_NOFILL | ROFF_NONOFILL)) == ROFF_NOFILL)
                n->flags |= NODE_NOFILL;
        else
                n->flags &= ~NODE_NOFILL;
@@ -3192,6 +3192,7 @@ roff_Dd(ROFF_ARGS)
 static int
 roff_TE(ROFF_ARGS)
 {
+       r->man->flags &= ~ROFF_NONOFILL;
        if (r->tbl == NULL) {
                mandoc_msg(MANDOCERR_BLK_NOTOPEN, ln, ppos, "TE");
                return ROFF_IGN;
@@ -3336,6 +3337,7 @@ roff_TS(ROFF_ARGS)
                mandoc_msg(MANDOCERR_BLK_BROKEN, ln, ppos, "TS breaks TS");
                tbl_end(r->tbl, 0);
        }
+       r->man->flags |= ROFF_NONOFILL;
        r->tbl = tbl_alloc(ppos, ln, r->last_tbl);
        if (r->last_tbl == NULL)
                r->first_tbl = r->tbl;