diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2011-02-06 23:02:31 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2011-02-06 23:02:31 +0000 |
commit | 1b4ee06d0da0de19730fbbbea4827fad12cc5932 (patch) | |
tree | fbbb89846f4de6bab06803b65a7a692e7b3061a3 | |
parent | b644559327d5d0df7faf84707ca23fa348e0dc87 (diff) | |
download | mandoc-1b4ee06d0da0de19730fbbbea4827fad12cc5932.tar.gz |
Fix a regression caused by mdoc_term.c 1.214 / mdoc_html.c 1.148:
Inside .Bk or inside the SYNOPSIS, Unix variant macros cleared
the keep flag.
-rw-r--r-- | mdoc_html.c | 6 | ||||
-rw-r--r-- | mdoc_term.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/mdoc_html.c b/mdoc_html.c index 59bef0df..4cfd188e 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -1,6 +1,6 @@ /* $Id$ */ /* - * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> + * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -806,6 +806,7 @@ mdoc_xx_pre(MDOC_ARGS) { const char *pp; struct htmlpair tag; + int flags; switch (n->tok) { case (MDOC_Bsx): @@ -835,9 +836,10 @@ mdoc_xx_pre(MDOC_ARGS) print_text(h, pp); if (n->child) { + flags = h->flags; h->flags |= HTML_KEEP; print_text(h, n->child->string); - h->flags &= ~HTML_KEEP; + h->flags = flags; } return(0); } diff --git a/mdoc_term.c b/mdoc_term.c index 29f50864..4a467a91 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -1713,6 +1713,7 @@ static int termp_xx_pre(DECL_ARGS) { const char *pp; + int flags; pp = NULL; switch (n->tok) { @@ -1740,9 +1741,10 @@ termp_xx_pre(DECL_ARGS) term_word(p, pp); if (n->child) { + flags = p->flags; p->flags |= TERMP_KEEP; term_word(p, n->child->string); - p->flags &= ~TERMP_KEEP; + p->flags = flags; } return(0); } |