=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/html.c,v retrieving revision 1.119 retrieving revision 1.120 diff -c -r1.119 -r1.120 *** src/usr.bin/mandoc/html.c 2019/01/06 04:41:15 1.119 --- src/usr.bin/mandoc/html.c 2019/01/07 06:51:37 1.120 *************** *** 1,4 **** ! /* $OpenBSD: html.c,v 1.119 2019/01/06 04:41:15 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2011-2015, 2017-2019 Ingo Schwarze --- 1,4 ---- ! /* $OpenBSD: html.c,v 1.120 2019/01/07 06:51:37 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2011-2015, 2017-2019 Ingo Schwarze *************** *** 270,276 **** struct tag *t; for (t = h->tag; t != NULL; t = t->next) { ! if (t->tag == TAG_P) { print_tagq(h, t); break; } --- 270,276 ---- struct tag *t; for (t = h->tag; t != NULL; t = t->next) { ! if (t->tag == TAG_P || t->tag == TAG_PRE) { print_tagq(h, t); break; } *************** *** 832,861 **** while ((tag = h->tag) != NULL) { print_ctag(h, tag); ! if (until && tag == until) return; } } void print_stagq(struct html *h, const struct tag *suntil) { struct tag *tag; while ((tag = h->tag) != NULL) { ! if (suntil && tag == suntil) return; print_ctag(h, tag); } - } - - void - print_paragraph(struct html *h) - { - struct tag *t; - - t = print_otag(h, TAG_DIV, "c", "Pp"); - print_tagq(h, t); } --- 832,859 ---- while ((tag = h->tag) != NULL) { print_ctag(h, tag); ! if (tag == until) return; } } + /* + * Close out all open elements up to but excluding suntil. + * Note that a paragraph just inside stays open together with it + * because paragraphs include subsequent phrasing content. + */ void print_stagq(struct html *h, const struct tag *suntil) { struct tag *tag; while ((tag = h->tag) != NULL) { ! if (tag == suntil || ! (tag->next == suntil && ! (tag->tag == TAG_P || tag->tag == TAG_PRE))) return; print_ctag(h, tag); } }