=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -p -r1.14 -r1.15 --- mandoc/mdoc_html.c 2009/09/26 18:02:51 1.14 +++ mandoc/mdoc_html.c 2009/09/26 18:31:36 1.15 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.14 2009/09/26 18:02:51 kristaps Exp $ */ +/* $Id: mdoc_html.c,v 1.15 2009/09/26 18:31:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -1603,26 +1603,27 @@ static int mdoc_fn_pre(MDOC_ARGS) { struct tag *t; - struct htmlpair tag; + struct htmlpair tag[2]; const struct mdoc_node *nn; char nbuf[BUFSIZ]; const char *sp, *ep; - int sz; + int sz, i; if (SEC_SYNOPSIS == n->sec) { - if (n->next) { - tag.key = ATTR_STYLE; - tag.val = "margin-bottom: 1em"; - print_otag(h, TAG_DIV, 1, &tag); - } else - print_otag(h, TAG_DIV, 0, NULL); + bufcat("margin-left: 6em;"); + bufcat("text-indent: -6em;"); + if (n->next) + bufcat("margin-bottom: 1em;"); + tag[0].key = ATTR_STYLE; + tag[0].val = buf; + print_otag(h, TAG_DIV, 1, tag); } /* Split apart into type and name. */ - tag.key = ATTR_CLASS; - tag.val = "ftype"; - t = print_otag(h, TAG_SPAN, 1, &tag); + tag[0].key = ATTR_CLASS; + tag[0].val = "ftype"; + t = print_otag(h, TAG_SPAN, 1, tag); assert(n->child->string); sp = n->child->string; @@ -1636,9 +1637,9 @@ mdoc_fn_pre(MDOC_ARGS) print_tagq(h, t); - tag.key = ATTR_CLASS; - tag.val = "fname"; - t = print_otag(h, TAG_SPAN, 1, &tag); + tag[0].key = ATTR_CLASS; + tag[0].val = "fname"; + t = print_otag(h, TAG_SPAN, 1, tag); if (sp) { (void)strlcpy(nbuf, sp, BUFSIZ); @@ -1651,9 +1652,15 @@ mdoc_fn_pre(MDOC_ARGS) print_text(h, "("); for (nn = n->child->next; nn; nn = nn->next) { - tag.key = ATTR_CLASS; - tag.val = "farg"; - t = print_otag(h, TAG_SPAN, 1, &tag); + i = 0; + tag[i].key = ATTR_CLASS; + tag[i++].val = "farg"; + if (SEC_SYNOPSIS == n->sec) { + tag[i].key = ATTR_STYLE; + tag[i++].val = "white-space: nowrap;"; + } + + t = print_otag(h, TAG_SPAN, i, tag); print_text(h, nn->string); print_tagq(h, t); if (nn->next)