From 1b4ee06d0da0de19730fbbbea4827fad12cc5932 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 6 Feb 2011 23:02:31 +0000 Subject: 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. --- mdoc_html.c | 6 ++++-- 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 + * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * * 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); } -- cgit