From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,T_TVD_MIME_EPI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2060 invoked from network); 25 Oct 2020 20:46:29 -0000 Received: from bsd.lv (HELO mandoc.bsd.lv) (66.111.2.12) by inbox.vuxu.org with ESMTPUTF8; 25 Oct 2020 20:46:29 -0000 Received: from fantadrom.bsd.lv (localhost [127.0.0.1]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id b51f40a2 for ; Sun, 25 Oct 2020 15:46:20 -0500 (EST) Received: from mail-ot1-f65.google.com (mail-ot1-f65.google.com [209.85.210.65]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id 54bfbf8f for ; Sun, 25 Oct 2020 15:46:08 -0500 (EST) Received: by mail-ot1-f65.google.com with SMTP id x7so2079915ota.0 for ; Sun, 25 Oct 2020 13:46:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=MpGVBxtux4V/EBGkAdMkl526sBD4juxD1EXb/WJXKTU=; b=b2F4I7LjugW6bl2dtOBXb+VdrdgtWQssyo+9GQkgesbO/br9kLe3gP6kNgduR23Hwg IKKS7rEnWvNIpr5CEHMyDeTYIDu3IogWDnCkJDMpWpEaTaa6yMf64kjq/0A2ZSIb96KK WB8/N1W6LBPRhGL09Bobj94q90iZqhHP6VAmcddWZ2NsahmqA63v6yCjdjPOyMEBrtsQ ggxSKeVLhCjCD2QGxUcETGOrvEYL2DN5bK0d60azjoKFTYmjH6u8aUVxkrOez0KL/2OI pOW5Cou6bWsbbAuqqsmbRMxJfEQaKlVe4YSl+j1xh/shcELMCrEgdB2PAbs185BLQObJ KkIg== X-Gm-Message-State: AOAM531CRPvYKyf0Io/PQIHbbtzWCgJqd2tkICEL0kSuxb/oVnsAR0C9 kh1Ob6UtSUrNJ44XH3pNY3kF0wq8dyKfSsixRQjZRhHqovB3JQ== X-Google-Smtp-Source: ABdhPJwkB0xVf7+f0AsA9HdLk4skaCEZR7EzRYwSO6Z6XSaSbmoBYvg8//EBZj9Eao4n6I6FP0TwLynCrs7MNnlYlV4= X-Received: by 2002:a9d:3d44:: with SMTP id a62mr8640033otc.254.1603658767393; Sun, 25 Oct 2020 13:46:07 -0700 (PDT) X-Mailinglist: mandoc-discuss Reply-To: discuss@mandoc.bsd.lv MIME-Version: 1.0 References: <20201016174636.GA5947@athene.usta.de> In-Reply-To: <20201016174636.GA5947@athene.usta.de> From: Michael Stapelberg Date: Sun, 25 Oct 2020 21:45:56 +0100 Message-ID: Subject: Re: In HTML output literal blocks should strip newline before closing pre To: discuss@mandoc.bsd.lv Content-Type: multipart/alternative; boundary="0000000000002bfbf905b284e7cf" --0000000000002bfbf905b284e7cf Content-Type: text/plain; charset="UTF-8" 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 wrote: > Hello Aman, > > Aman Verma wrote on Thu, Oct 15, 2020 at 04:48:50PM -0400: > > > The problem with `.Bd -literal` blocks in HTML output is that > > mandoc doesn't output the closing pre tag on the same line. > > If the element is indented, browsers will display an extra > > line since pre is telling them to preserve whitespace. > > > > A good example of the issue is > > . > > The extra space is clearly visible. The source is > > > >
.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 on discuss@. > > Modified Files: > -------------- > mandoc: > html.c > man_html.c > mdoc_html.c > mandoc/regress/man/HP: > literal.out_html > mandoc/regress/man/IP: > literal.out_html > mandoc/regress/man/RS: > literal.out_html > mandoc/regress/man/SY: > literal.out_html > mandoc/regress/man/TP: > literal.out_html > mandoc/regress/mdoc/Bd: > nf.out_html > paragraph.out_html > mandoc/regress/mdoc/Rs: > paragraph.out_html > mandoc/regress/roff/sp: > fill-man.out_html > mandoc/regress/roff/string: > dotT.out_html > > Revision Data > ------------- > Index: paragraph.out_html > =================================================================== > RCS file: /home/cvs/mandoc/mandoc/regress/mdoc/Rs/paragraph.out_html,v > retrieving revision 1.4 > retrieving revision 1.5 > diff -Lregress/mdoc/Rs/paragraph.out_html > -Lregress/mdoc/Rs/paragraph.out_html -u -p -r1.4 -r1.5 > --- regress/mdoc/Rs/paragraph.out_html > +++ regress/mdoc/Rs/paragraph.out_html > @@ -13,4 +13,3 @@ >

in a paragraph:

>

another author, > another book.

> -
> 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 @@
>  

tag indented text

>

regular paragraph

> -
> -literal
> -text
> -
> -
> -tag
> +
literal
> +text
> +
tag
>  literal
>  hanged
> -paragraph
> -
> -
> -literal
> -paragraph
> -
> +paragraph
> +
literal
> +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 @@ >
indented regular text
> >

new regular paragraph

> -
> -literal
> -text
> -
> +
literal
> +text
>
>
>
> -
> -indented
> +    
indented
>  literal
> -text
> -    
> +text
>
>
> -
> -new
> +
new
>  literal
> -paragraph
> -
> +paragraph
> regular text >
>

>

regular text

> -
> -literal
> -text
> -
> +
literal
> +text
>
>
>
> -
> -indented
> +    
indented
>  literal
> -text
> -    
> +text
> indented regular text
>
>

new regular paragraph

> @@ -50,17 +40,13 @@ text >
>
>
indented regular text > -
> -indented
> +    
indented
>  literal
> -text
> -    
> +text
>
>
> -
> -new
> +
new
>  literal
> -paragraph
> -
> +paragraph
> regular text >
> 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 indented text
> >

regular paragraph

> -
> -literal
> -text
> -
> +
literal
> +text
>
>
>
> -
> -indented
> +    
indented
>  literal
> -text
> -    
> +text
>
>
> -
> -literal
> -paragraph
> -
> +
literal
> +paragraph
> regular text >
> Index: paragraph.out_html > =================================================================== > RCS file: /home/cvs/mandoc/mandoc/regress/mdoc/Bd/paragraph.out_html,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -Lregress/mdoc/Bd/paragraph.out_html > -Lregress/mdoc/Bd/paragraph.out_html -u -p -r1.5 -r1.6 > --- regress/mdoc/Bd/paragraph.out_html > +++ regress/mdoc/Bd/paragraph.out_html > @@ -8,13 +8,11 @@ > back to normal >

another paragraph

>
> -
> - literal
> +
 literal
>  display
>  
>   literal
> -paragraph
> -
> +paragraph
>
> again back to normal >
> Index: nf.out_html > =================================================================== > RCS file: /home/cvs/mandoc/mandoc/regress/mdoc/Bd/nf.out_html,v > retrieving revision 1.2 > retrieving revision 1.3 > diff -Lregress/mdoc/Bd/nf.out_html -Lregress/mdoc/Bd/nf.out_html -u -p > -r1.2 -r1.3 > --- regress/mdoc/Bd/nf.out_html > +++ regress/mdoc/Bd/nf.out_html > @@ -1,20 +1,14 @@ > -
> -after .nf
> -request
> -
> +
after .nf
> +request
>

after .fi request

>
> -
> -in unfilled
> -block
> -
> +
in unfilled
> +block
> after .fi request in unfilled block
> after end of unfilled block >
in filled block > -
> -after .nf request
> -in filled block
> -
> +
after .nf request
> +in filled block
>
> after end of filled block >
> Index: fill-man.out_html > =================================================================== > RCS file: /home/cvs/mandoc/mandoc/regress/roff/sp/fill-man.out_html,v > retrieving revision 1.2 > retrieving revision 1.3 > diff -Lregress/roff/sp/fill-man.out_html > -Lregress/roff/sp/fill-man.out_html -u -p -r1.2 -r1.3 > --- regress/roff/sp/fill-man.out_html > +++ regress/roff/sp/fill-man.out_html > @@ -1,7 +1,5 @@ >

switch to no-fill mode:

> -
> -in no-fill mode:
> +
in no-fill mode:
>
>  back to
> -fill mode:
> -
> +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 @@ >

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

--0000000000002bfbf905b284e7cf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thanks for this fix!

Ingo, would you be= willing to cut a new release anytime soon?
There have been a num= ber of fixes, I think, that have not yet made it into any release version.<= /div>

Thanks,

=
On Fri, Oct 16, 2020 at 7:46 PM Ingo = Schwarze <schwarze@usta.de> w= rote:
Hello Aman= ,

Aman Verma wrote on Thu, Oct 15, 2020 at 04:48:50PM -0400:

> The problem with `.Bd -literal` blocks in HTML output is that
> mandoc doesn't output the closing pre tag on the same line.
> If the element is indented, browsers will display an extra
> line since pre is telling them to preserve whitespace.
>
> A good example of the issue is
> <https://mandoc.bsd.lv/man/mdoc.7.html#NAME>= ;.
> The extra space is clearly visible. The source is
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<pre>.Nm name0 ,
>=C2=A0 =C2=A0 =C2=A0.Nm name1 ,
>=C2=A0 =C2=A0 =C2=A0.Nm name2
>=C2=A0 =C2=A0 =C2=A0.Nd a one line description
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</pre>
>
> What I'm proposing is that it should look like
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<pre>.Nm name0 ,
>=C2=A0 =C2=A0 =C2=A0.Nm name1 ,
>=C2=A0 =C2=A0 =C2=A0.Nm name2
>=C2=A0 =C2=A0 =C2=A0.Nd a one line description</pre>
>
> 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:

=C2=A0 https://mandoc.bsd.lv/man/
=C2=A0 https://man.bsd.lv/mdoc.7
=C2=A0 https://man.openbsd.org/mdoc.7

Thank you for the bug report,
=C2=A0 Ingo


Log Message:
-----------
In HTML output, avoid printing a newline right after <pre>
and right before </pre> because that resulted in vertical
whitespace not requested by the manual page author.

Formatting bug reported by
Aman Verma <amanraoverma plus vim at gmail dot com> on discuss@.

Modified Files:
--------------
=C2=A0 =C2=A0 mandoc:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 html.c
=C2=A0 =C2=A0 =C2=A0 =C2=A0 man_html.c
=C2=A0 =C2=A0 =C2=A0 =C2=A0 mdoc_html.c
=C2=A0 =C2=A0 mandoc/regress/man/HP:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 literal.out_html
=C2=A0 =C2=A0 mandoc/regress/man/IP:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 literal.out_html
=C2=A0 =C2=A0 mandoc/regress/man/RS:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 literal.out_html
=C2=A0 =C2=A0 mandoc/regress/man/SY:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 literal.out_html
=C2=A0 =C2=A0 mandoc/regress/man/TP:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 literal.out_html
=C2=A0 =C2=A0 mandoc/regress/mdoc/Bd:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 nf.out_html
=C2=A0 =C2=A0 =C2=A0 =C2=A0 paragraph.out_html
=C2=A0 =C2=A0 mandoc/regress/mdoc/Rs:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 paragraph.out_html
=C2=A0 =C2=A0 mandoc/regress/roff/sp:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fill-man.out_html
=C2=A0 =C2=A0 mandoc/regress/roff/string:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 dotT.out_html

Revision Data
-------------
Index: paragraph.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/mandoc/mandoc/regress/mdoc/Rs/paragraph.out_html,v
retrieving revision 1.4
retrieving revision 1.5
diff -Lregress/mdoc/Rs/paragraph.out_html -Lregress/mdoc/Rs/paragraph.out_h= tml -u -p -r1.4 -r1.5
--- regress/mdoc/Rs/paragraph.out_html
+++ regress/mdoc/Rs/paragraph.out_html
@@ -13,4 +13,3 @@
=C2=A0<p class=3D"Pp">in a paragraph:</p>
=C2=A0<p class=3D"Pp"><cite class=3D"Rs">&l= t;span class=3D"RsA">another author</span>,
=C2=A0 =C2=A0 =C2=A0<i class=3D"RsB">another book</i>= .</cite></p>
-<pre>
Index: mdoc_html.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (n->type =3D=3D ROFFT_COMMENT || n->fl= ags & NODE_NOPRT)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return;

-=C2=A0 =C2=A0 =C2=A0 =C2=A0if (n->flags & NODE_NOFILL) {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0html_fillmode(h, RO= FF_nf);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (n->flags &am= p; NODE_LINE)
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0print_endline(h);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0} else
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if ((n->flags & NODE_NOFILL) =3D=3D 0) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 html_fillmode(h, RO= FF_fi);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0else if (html_fillmode(h, ROFF_nf) =3D=3D ROFF_= nf &&
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0n->tok !=3D ROFF_fi &&= n->flags & NODE_LINE)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0print_endline(h);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 child =3D 1;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 n->flags &=3D ~NODE_ENDED;
Index: man_html.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (n->type =3D=3D ROFFT_COMMENT || n->fl= ags & NODE_NOPRT)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return;

-=C2=A0 =C2=A0 =C2=A0 =C2=A0html_fillmode(h, n->flags & NODE_NOFILL = ? ROFF_nf : ROFF_fi);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if ((n->flags & NODE_NOFILL) =3D=3D 0) +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0html_fillmode(h, RO= FF_fi);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0else if (html_fillmode(h, ROFF_nf) =3D=3D ROFF_= nf &&
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0n->tok !=3D ROFF_fi &&= n->flags & NODE_LINE &&
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(n->prev =3D=3D NULL || n->= prev->tok !=3D MAN_YS))
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0print_endline(h);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 child =3D 1;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (n->type) {
@@ -253,13 +258,6 @@ print_man_node(MAN_ARGS)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (t !=3D NULL)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 print_stagq(h, t);<= br> -
-=C2=A0 =C2=A0 =C2=A0 =C2=A0if (n->flags & NODE_NOFILL && n-= >tok !=3D MAN_YS &&
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(n->next !=3D NULL && = n->next->flags & NODE_LINE)) {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* In .nf =3D <p= re>, print even empty lines. */
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0h->col++;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0print_endline(h); -=C2=A0 =C2=A0 =C2=A0 =C2=A0}
=C2=A0}

=C2=A0static void
Index: html.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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=C2=A0 =C2=A0 =C2=A0 =C2=A0 const struct htmldata h= tmltags[TA
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {"h1",=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 HTML_TOPHRASE | HTML_NLAROUND},
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {"h2",=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 HTML_TOPHRASE | HTML_NLAROUND},
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {"p",=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0HTML_TOPHRASE | HTML_NLAROUND | HTML_INDENT},
-=C2=A0 =C2=A0 =C2=A0 =C2=A0{"pre",=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0HTML_TOPHRASE | HTML_NLALL | HTML_NOINDENT},
+=C2=A0 =C2=A0 =C2=A0 =C2=A0{"pre",=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0HTML_TOPHRASE | HTML_NLAROUND | HTML_NOINDENT},
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {"a",=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0HTML_INPHRASE | HTML_TOPHRASE},
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {"b",=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0HTML_INPHRASE | HTML_TOPHRASE},
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {"cite",=C2=A0 =C2=A0 =C2=A0 =C2=A0 H= TML_INPHRASE | HTML_TOPHRASE},
Index: literal.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 @@
=C2=A0<p class=3D"Pp HP">tag indented text</p>
=C2=A0<p class=3D"Pp">regular paragraph</p>
-<pre>
-literal
-text
-</pre>
-<pre>
-tag
+<pre>literal
+text</pre>
+<pre>tag
=C2=A0literal
=C2=A0hanged
-paragraph
-</pre>
-<pre>
-literal
-paragraph
-</pre>
+paragraph</pre>
+<pre>literal
+paragraph</pre>
=C2=A0regular text
=C2=A0<br/>
Index: literal.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 @@
=C2=A0 =C2=A0<dd>indented regular text</dd>
=C2=A0</dl>
=C2=A0<p class=3D"Pp">new regular paragraph</p>
-<pre>
-literal
-text
-</pre>
+<pre>literal
+text</pre>
=C2=A0<dl class=3D"Bl-tag">
=C2=A0 =C2=A0<dt id=3D"tag~2"><a class=3D"permalink= " href=3D"#tag~2">tag</a></dt>
=C2=A0 =C2=A0<dd>
-=C2=A0 =C2=A0 <pre>
-indented
+=C2=A0 =C2=A0 <pre>indented
=C2=A0literal
-text
-=C2=A0 =C2=A0 </pre>
+text</pre>
=C2=A0 =C2=A0</dd>
=C2=A0</dl>
-<pre>
-new
+<pre>new
=C2=A0literal
-paragraph
-</pre>
+paragraph</pre>
=C2=A0regular text
=C2=A0<section class=3D"Ss">
=C2=A0<h2 class=3D"Ss" id=3D"literal_into_indented_paragr= aph"><a class=3D"permalink" href=3D"#literal_into= _indented_paragraph">literal
=C2=A0 =C2=A0into indented paragraph</a></h2>
=C2=A0<p class=3D"Pp">regular text</p>
-<pre>
-literal
-text
-</pre>
+<pre>literal
+text</pre>
=C2=A0<dl class=3D"Bl-tag">
=C2=A0 =C2=A0<dt id=3D"tag~3"><a class=3D"permalink= " href=3D"#tag~3">tag</a></dt>
=C2=A0 =C2=A0<dd>
-=C2=A0 =C2=A0 <pre>
-indented
+=C2=A0 =C2=A0 <pre>indented
=C2=A0literal
-text
-=C2=A0 =C2=A0 </pre>
+text</pre>
=C2=A0 =C2=A0 =C2=A0indented regular text</dd>
=C2=A0</dl>
=C2=A0<p class=3D"Pp">new regular paragraph</p>
@@ -50,17 +40,13 @@ text
=C2=A0<dl class=3D"Bl-tag">
=C2=A0 =C2=A0<dt id=3D"tag~4"><a class=3D"permalink= " href=3D"#tag~4">tag</a></dt>
=C2=A0 =C2=A0<dd>indented regular text
-=C2=A0 =C2=A0 <pre>
-indented
+=C2=A0 =C2=A0 <pre>indented
=C2=A0literal
-text
-=C2=A0 =C2=A0 </pre>
+text</pre>
=C2=A0 =C2=A0</dd>
=C2=A0</dl>
-<pre>
-new
+<pre>new
=C2=A0literal
-paragraph
-</pre>
+paragraph</pre>
=C2=A0regular text
=C2=A0<br/>
Index: literal.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 @@
=C2=A0 =C2=A0<br/>
=C2=A0 =C2=A0initial regular text</p>
-<pre>
-literal text
-before display
-</pre>
+<pre>literal text
+before display</pre>
=C2=A0<div class=3D"Bd-indent">
-<pre>
-This is a short line.
-This is a very long line that would wrap if it weren't in literal cont= ext.
-</pre>
+<pre>This is a short line.
+This is a very long line that would wrap if it weren't in literal cont= ext.</pre>
=C2=A0</div>
-<pre>
-literal text
-after display
-</pre>
+<pre>literal text
+after display</pre>
=C2=A0<p class=3D"Pp">final regular text
=C2=A0 =C2=A0<br/>
Index: literal.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 @@
=C2=A0 =C2=A0</tr>
=C2=A0</table>
=C2=A0middle regular text
-<pre>
-literal text
-before display
-</pre>
+<pre>literal text
+before display</pre>
=C2=A0<table class=3D"Nm">
=C2=A0 =C2=A0<tr>
=C2=A0 =C2=A0 =C2=A0<td><code class=3D"Nm">command<= ;/code></td>
=C2=A0 =C2=A0 =C2=A0<td>
-=C2=A0 =C2=A0 <pre>
-<i>arguments</i>
-=C2=A0 =C2=A0 </pre>
+=C2=A0 =C2=A0 <pre><i>arguments</i></pre>
=C2=A0 =C2=A0 =C2=A0</td>
=C2=A0 =C2=A0</tr>
=C2=A0</table>
-<pre>
-literal text
-after display
-</pre>
+<pre>literal text
+after display</pre>
=C2=A0<p class=3D"Pp">final regular text
=C2=A0 =C2=A0<br/>
Index: literal.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 @@
=C2=A0 =C2=A0<dd>regular indented text</dd>
=C2=A0</dl>
=C2=A0<p class=3D"Pp">regular paragraph</p>
-<pre>
-literal
-text
-</pre>
+<pre>literal
+text</pre>
=C2=A0<dl class=3D"Bl-tag">
=C2=A0 =C2=A0<dt id=3D"tag~2"><a class=3D"permalink= " href=3D"#tag~2">tag</a></dt>
=C2=A0 =C2=A0<dd>
-=C2=A0 =C2=A0 <pre>
-indented
+=C2=A0 =C2=A0 <pre>indented
=C2=A0literal
-text
-=C2=A0 =C2=A0 </pre>
+text</pre>
=C2=A0 =C2=A0</dd>
=C2=A0</dl>
-<pre>
-literal
-paragraph
-</pre>
+<pre>literal
+paragraph</pre>
=C2=A0regular text
=C2=A0<br/>
Index: paragraph.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/mandoc/mandoc/regress/mdoc/Bd/paragraph.out_html,v
retrieving revision 1.5
retrieving revision 1.6
diff -Lregress/mdoc/Bd/paragraph.out_html -Lregress/mdoc/Bd/paragraph.out_h= tml -u -p -r1.5 -r1.6
--- regress/mdoc/Bd/paragraph.out_html
+++ regress/mdoc/Bd/paragraph.out_html
@@ -8,13 +8,11 @@
=C2=A0back to normal
=C2=A0<p class=3D"Pp">another paragraph</p>
=C2=A0<div class=3D"Bd Pp" id=3D"unfilled">
-<pre>
-<a class=3D"permalink" href=3D"#unfilled">unfill= ed</a> literal
+<pre><a class=3D"permalink" href=3D"#unfilled"= ;>unfilled</a> literal
=C2=A0display
=C2=A0<mark id=3D"upara"></mark>
=C2=A0<a class=3D"permalink" href=3D"#upara">unfi= lled</a> literal
-paragraph
-</pre>
+paragraph</pre>
=C2=A0</div>
=C2=A0again back to normal
=C2=A0<br/>
Index: nf.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/mandoc/mandoc/regress/mdoc/Bd/nf.out_html,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lregress/mdoc/Bd/nf.out_html -Lregress/mdoc/Bd/nf.out_html -u -p -r1.= 2 -r1.3
--- regress/mdoc/Bd/nf.out_html
+++ regress/mdoc/Bd/nf.out_html
@@ -1,20 +1,14 @@
-<pre>
-after .nf
-request
-</pre>
+<pre>after .nf
+request</pre>
=C2=A0<p class=3D"Pp">after .fi request</p>
=C2=A0<div class=3D"Bd Pp">
-<pre>
-in unfilled
-block
-</pre>
+<pre>in unfilled
+block</pre>
=C2=A0after .fi request in unfilled block</div>
=C2=A0after end of unfilled block
=C2=A0<div class=3D"Bd Pp">in filled block
-<pre>
-after .nf request
-in filled block
-</pre>
+<pre>after .nf request
+in filled block</pre>
=C2=A0</div>
=C2=A0after end of filled block
=C2=A0<br/>
Index: fill-man.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/cvs/mandoc/mandoc/regress/roff/sp/fill-man.out_html,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lregress/roff/sp/fill-man.out_html -Lregress/roff/sp/fill-man.out_htm= l -u -p -r1.2 -r1.3
--- regress/roff/sp/fill-man.out_html
+++ regress/roff/sp/fill-man.out_html
@@ -1,7 +1,5 @@
=C2=A0<p class=3D"Pp">switch to no-fill mode:</p>
-<pre>
-in no-fill mode:
+<pre>in no-fill mode:

=C2=A0back to
-fill mode:
-</pre>
+fill mode:</pre>
Index: dotT.out_html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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_htm= l -u -p -r1.3 -r1.4
--- regress/roff/string/dotT.out_html
+++ regress/roff/string/dotT.out_html
@@ -1,3 +1,2 @@
=C2=A0<p class=3D"Pp">We are using the html device.</p&g= t;
=C2=A0<p class=3D"Pp">The device name can be overridden.<= ;/p>
-<pre>
--
=C2=A0To unsubscribe send an email to discuss+unsubscribe@mandoc.bsd.lv


--
Best regards,
Michael
--0000000000002bfbf905b284e7cf-- -- To unsubscribe send an email to discuss+unsubscribe@mandoc.bsd.lv