=================================================================== RCS file: /cvs/mandoc/mdoc_markdown.c,v retrieving revision 1.8 retrieving revision 1.11 diff -u -p -r1.8 -r1.11 --- mandoc/mdoc_markdown.c 2017/03/07 15:31:24 1.8 +++ mandoc/mdoc_markdown.c 2017/03/08 17:40:55 1.11 @@ -1,4 +1,4 @@ -/* $Id: mdoc_markdown.c,v 1.8 2017/03/07 15:31:24 schwarze Exp $ */ +/* $Id: mdoc_markdown.c,v 1.11 2017/03/08 17:40:55 schwarze Exp $ */ /* * Copyright (c) 2017 Ingo Schwarze * @@ -375,6 +375,8 @@ md_stack(char c) static void md_preword(void) { + const char *cp; + /* * If a list block is nested inside a code block or a blockquote, * blank lines for paragraph breaks no longer work; instead, @@ -405,7 +407,11 @@ md_preword(void) if (outflags & (MD_nl | MD_br | MD_sp)) { putchar('\n'); - fputs(md_stack('\0'), stdout); + for (cp = md_stack('\0'); *cp != '\0'; cp++) { + putchar(*cp); + if (*cp == '>') + putchar(' '); + } outflags &= ~(MD_nl | MD_br | MD_sp); escflags = ESC_BOL; outcount = 0; @@ -1145,7 +1151,8 @@ md_pre_It(struct roff_node *n) case ROFFT_HEAD: bln = n->parent->parent; - if (bln->norm->Bl.comp == 0) + if (bln->norm->Bl.comp == 0 && + bln->norm->Bl.type != LIST_column) outflags |= MD_sp; outflags |= MD_nl; @@ -1171,9 +1178,14 @@ md_pre_It(struct roff_node *n) break; case LIST_enum: md_preword(); - printf("%d.\t", ++bln->norm->Bl.count); + if (bln->norm->Bl.count < 99) + bln->norm->Bl.count++; + printf("%d.\t", bln->norm->Bl.count); escflags &= ~ESC_FON; break; + case LIST_column: + outflags |= MD_br; + return 0; default: return 0; }