Thanks for this fix!
Ingo, would you be willing to cut a new release anytime soon?
There have been a number of fixes, I think, that have not yet made it into
any release version.
Thanks,
On Fri, Oct 16, 2020 at 7:46 PM Ingo Schwarze in a paragraph: another author,
> another book. tag indented text regular paragraph new regular paragraph regular text new regular paragraph.Nm name0 ,
> > .Nm name1 ,
> > .Nm name2
> > .Nd a one line description
> >
> >
> > What I'm proposing is that it should look like
> >
> > .Nm name0 ,
> > .Nm name1 ,
> > .Nm name2
> > .Nd a one line description
> >
> > This is what most Markdown processors do to solve the issue.
>
> I think your analysis and proposed solution are both correct,
> so i committed the following fix and installed the corrected
> version in these locations:
>
> https://mandoc.bsd.lv/man/
> https://man.bsd.lv/mdoc.7
> https://man.openbsd.org/mdoc.7
>
> Thank you for the bug report,
> Ingo
>
>
> Log Message:
> -----------
> In HTML output, avoid printing a newline right after
> and right before
because that resulted in vertical
> whitespace not requested by the manual page author.
>
> Formatting bug reported by
> Aman Verma
> Index: mdoc_html.c
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/mdoc_html.c,v
> retrieving revision 1.340
> retrieving revision 1.341
> diff -Lmdoc_html.c -Lmdoc_html.c -u -p -r1.340 -r1.341
> --- mdoc_html.c
> +++ mdoc_html.c
> @@ -349,12 +349,11 @@ print_mdoc_node(MDOC_ARGS)
> if (n->type == ROFFT_COMMENT || n->flags & NODE_NOPRT)
> return;
>
> - if (n->flags & NODE_NOFILL) {
> - html_fillmode(h, ROFF_nf);
> - if (n->flags & NODE_LINE)
> - print_endline(h);
> - } else
> + if ((n->flags & NODE_NOFILL) == 0)
> html_fillmode(h, ROFF_fi);
> + else if (html_fillmode(h, ROFF_nf) == ROFF_nf &&
> + n->tok != ROFF_fi && n->flags & NODE_LINE)
> + print_endline(h);
>
> child = 1;
> n->flags &= ~NODE_ENDED;
> Index: man_html.c
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/man_html.c,v
> retrieving revision 1.178
> retrieving revision 1.179
> diff -Lman_html.c -Lman_html.c -u -p -r1.178 -r1.179
> --- man_html.c
> +++ man_html.c
> @@ -169,7 +169,12 @@ print_man_node(MAN_ARGS)
> if (n->type == ROFFT_COMMENT || n->flags & NODE_NOPRT)
> return;
>
> - html_fillmode(h, n->flags & NODE_NOFILL ? ROFF_nf : ROFF_fi);
> + if ((n->flags & NODE_NOFILL) == 0)
> + html_fillmode(h, ROFF_fi);
> + else if (html_fillmode(h, ROFF_nf) == ROFF_nf &&
> + n->tok != ROFF_fi && n->flags & NODE_LINE &&
> + (n->prev == NULL || n->prev->tok != MAN_YS))
> + print_endline(h);
>
> child = 1;
> switch (n->type) {
> @@ -253,13 +258,6 @@ print_man_node(MAN_ARGS)
> }
> if (t != NULL)
> print_stagq(h, t);
> -
> - if (n->flags & NODE_NOFILL && n->tok != MAN_YS &&
> - (n->next != NULL && n->next->flags & NODE_LINE)) {
> - /* In .nf =
, print even empty lines. */
> - h->col++;
> - print_endline(h);
> - }
> }
>
> static void
> Index: html.c
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/html.c,v
> retrieving revision 1.270
> retrieving revision 1.271
> diff -Lhtml.c -Lhtml.c -u -p -r1.270 -r1.271
> --- html.c
> +++ html.c
> @@ -81,7 +81,7 @@ static const struct htmldata htmltags[TA
> {"h1", HTML_TOPHRASE | HTML_NLAROUND},
> {"h2", HTML_TOPHRASE | HTML_NLAROUND},
> {"p", HTML_TOPHRASE | HTML_NLAROUND | HTML_INDENT},
> - {"pre", HTML_TOPHRASE | HTML_NLALL | HTML_NOINDENT},
> + {"pre", HTML_TOPHRASE | HTML_NLAROUND | HTML_NOINDENT},
> {"a", HTML_INPHRASE | HTML_TOPHRASE},
> {"b", HTML_INPHRASE | HTML_TOPHRASE},
> {"cite", HTML_INPHRASE | HTML_TOPHRASE},
> Index: literal.out_html
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/regress/man/HP/literal.out_html,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -Lregress/man/HP/literal.out_html -Lregress/man/HP/literal.out_html
> -u -p -r1.2 -r1.3
> --- regress/man/HP/literal.out_html
> +++ regress/man/HP/literal.out_html
> @@ -1,18 +1,12 @@
>
> -literal
> -text
> -
> -
> -tag
> +
> +literal
> +text
> +tag
> literal
> hanged
> -paragraph
> -
> -
> -literal
> -paragraph
> -
> +paragraphliteral
> +paragraph
> regular text
>
> Index: literal.out_html
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/regress/man/IP/literal.out_html,v
> retrieving revision 1.6
> retrieving revision 1.7
> diff -Lregress/man/IP/literal.out_html -Lregress/man/IP/literal.out_html
> -u -p -r1.6 -r1.7
> --- regress/man/IP/literal.out_html
> +++ regress/man/IP/literal.out_html
> @@ -3,42 +3,32 @@
>
> -literal
> -text
> -
> +literal
> +text
>
>
> -
> -indented
> +
> indented
> literal
> -text
> -
> +text
> -new
> +
> regular text
> new
> literal
> -paragraph
> -
> +paragraph href="#literal_into_indented_paragraph">literal
> into indented paragraph
>
> -literal
> -text
> -
> +literal
> +text
>
>
>
> -indented
> +
> indented regular textindented
> literal
> -text
> -
> +text
>
> -
> -indented
> +
> indented
> literal
> -text
> -
> +text
> -new
> +
> regular text
> new
> literal
> -paragraph
> -
> +paragraph
> Index: literal.out_html
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/regress/man/RS/literal.out_html,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -Lregress/man/RS/literal.out_html -Lregress/man/RS/literal.out_html
> -u -p -r1.2 -r1.3
> --- regress/man/RS/literal.out_html
> +++ regress/man/RS/literal.out_html
> @@ -1,18 +1,12 @@
>
> initial regular text
> -literal text > -before display > -> +
literal text > +before display>
> -This is a short line. > -This is a very long line that would wrap if it weren't in literal context. > -> +
This is a short line. > +This is a very long line that would wrap if it weren't in literal > context.>
> -literal text > -after display > -> +
literal text > +after display>
final regular text
>
> Index: literal.out_html
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/regress/man/SY/literal.out_html,v
> retrieving revision 1.3
> retrieving revision 1.4
> diff -Lregress/man/SY/literal.out_html -Lregress/man/SY/literal.out_html
> -u -p -r1.3 -r1.4
> --- regress/man/SY/literal.out_html
> +++ regress/man/SY/literal.out_html
> @@ -7,23 +7,17 @@
>
>
> middle regular text
> -
> -literal text > -before display > -> +
literal text > +before display>
command |
>
> - > -arguments > -> + arguments> |
>
> -literal text > -after display > -> +
literal text > +after display>
final regular text
>
> Index: literal.out_html
> ===================================================================
> RCS file: /home/cvs/mandoc/mandoc/regress/man/TP/literal.out_html,v
> retrieving revision 1.4
> retrieving revision 1.5
> diff -Lregress/man/TP/literal.out_html -Lregress/man/TP/literal.out_html
> -u -p -r1.4 -r1.5
> --- regress/man/TP/literal.out_html
> +++ regress/man/TP/literal.out_html
> @@ -3,23 +3,17 @@
>
regular paragraph
> -> -literal > -text > -> +
literal > +text>
> -indented > +>indented > literal > -text > -> +text
> -literal > -paragraph > -> +
literal > +paragraph> regular text >
another paragraph
>> -unfilled literal > +>unfilled literal > display > > unfilled literal > -paragraph > -> +paragraph
> -after .nf > -request > -> +
after .nf > +request>
after .fi request
>> -in unfilled > -block > -> +
in unfilled > +block> after .fi request in unfilled block
> -after .nf request > -in filled block > -> +
after .nf request > +in filled block>
switch to no-fill mode:
> -> -in no-fill mode: > +> Index: dotT.out_html > =================================================================== > RCS file: /home/cvs/mandoc/mandoc/regress/roff/string/dotT.out_html,v > retrieving revision 1.3 > retrieving revision 1.4 > diff -Lregress/roff/string/dotT.out_html > -Lregress/roff/string/dotT.out_html -u -p -r1.3 -r1.4 > --- regress/roff/string/dotT.out_html > +++ regress/roff/string/dotT.out_html > @@ -1,3 +1,2 @@ >in no-fill mode: > > back to > -fill mode: > -> +fill mode:
We are using the html device.
>The device name can be overridden.
> -> -- > To unsubscribe send an email to discuss+unsubscribe@mandoc.bsd.lv > > -- Best regards, Michael