summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2011-02-06 23:02:31 +0000
committerIngo Schwarze <schwarze@openbsd.org>2011-02-06 23:02:31 +0000
commit1b4ee06d0da0de19730fbbbea4827fad12cc5932 (patch)
treefbbb89846f4de6bab06803b65a7a692e7b3061a3
parentb644559327d5d0df7faf84707ca23fa348e0dc87 (diff)
downloadmandoc-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.c6
-rw-r--r--mdoc_term.c4
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);
}