=================================================================== RCS file: /cvs/mandoc/html.c,v retrieving revision 1.96 retrieving revision 1.99 diff -u -p -r1.96 -r1.99 --- mandoc/html.c 2010/02/17 19:48:33 1.96 +++ mandoc/html.c 2010/04/12 19:45:39 1.99 @@ -1,4 +1,4 @@ -/* $Id: html.c,v 1.96 2010/02/17 19:48:33 kristaps Exp $ */ +/* $Id: html.c,v 1.99 2010/04/12 19:45:39 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -54,7 +54,7 @@ static const struct htmldata htmltags[TAG_MAX] = { {"h1", 0}, /* TAG_H1 */ {"h2", 0}, /* TAG_H2 */ {"span", 0}, /* TAG_SPAN */ - {"link", HTML_CLRLINE | HTML_NOSTACK}, /* TAG_LINK */ + {"link", HTML_CLRLINE | HTML_NOSTACK | HTML_AUTOCLOSE}, /* TAG_LINK */ {"br", HTML_CLRLINE | HTML_NOSTACK | HTML_AUTOCLOSE}, /* TAG_BR */ {"a", 0}, /* TAG_A */ {"table", HTML_CLRLINE}, /* TAG_TABLE */ @@ -507,8 +507,6 @@ print_text(struct html *h, const char *p) case(')'): /* FALLTHROUGH */ case(']'): - /* FALLTHROUGH */ - case('}'): if ( ! (HTML_IGNDELIM & h->flags)) h->flags |= HTML_NOSPACE; break; @@ -523,13 +521,15 @@ print_text(struct html *h, const char *p) if ( ! print_encode(h, p, 0)) h->flags &= ~HTML_NOSPACE; + /* + * Note that we don't process the pipe: the parser sees it as + * punctuation, but we don't in terms of typography. + */ if (*p && 0 == *(p + 1)) switch (*p) { case('('): /* FALLTHROUGH */ case('['): - /* FALLTHROUGH */ - case('{'): h->flags |= HTML_NOSPACE; break; default: