diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-07-02 19:55:10 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-07-02 19:55:10 +0000 |
commit | 01c92e6ac259f38d13175f7f9d76233713fff535 (patch) | |
tree | 1fc1a664a9171de99efb910f3ae460232a01c8a9 /mdoc_html.c | |
parent | 3eba010f0f31a85978d61e0b11e8da1c4933dac5 (diff) | |
download | mandoc-01c92e6ac259f38d13175f7f9d76233713fff535.tar.gz mandoc-01c92e6ac259f38d13175f7f9d76233713fff535.tar.zst mandoc-01c92e6ac259f38d13175f7f9d76233713fff535.zip |
When .Sm is called without an argument, groff toggles the spacing mode,
so let us do the same for compatibility. Using this feature is of
course not recommended except in manual page obfuscation contests.
Diffstat (limited to 'mdoc_html.c')
-rw-r--r-- | mdoc_html.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/mdoc_html.c b/mdoc_html.c index 07a2e3ec..71333302 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.191 2014/07/02 03:48:07 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.192 2014/07/02 19:55:10 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -1524,23 +1524,16 @@ static int mdoc_sm_pre(MDOC_ARGS) { - assert(n->child && MDOC_TEXT == n->child->type); - if (0 == strcmp("on", n->child->string)) { - /* - * FIXME: no p->col to check. Thus, if we have - * .Bd -literal - * .Sm off - * 1 2 - * .Sm on - * 3 - * .Ed - * the "3" is preceded by a space. - */ - h->flags &= ~HTML_NOSPACE; + if (NULL == n->child) + h->flags ^= HTML_NONOSPACE; + else if (0 == strcmp("on", n->child->string)) h->flags &= ~HTML_NONOSPACE; - } else + else h->flags |= HTML_NONOSPACE; + if ( ! (HTML_NONOSPACE & h->flags)) + h->flags &= ~HTML_NOSPACE; + return(0); } |