]> git.cameronkatri.com Git - mandoc.git/blobdiff - html.c
Fix allowing silly '\'' control character.
[mandoc.git] / html.c
diff --git a/html.c b/html.c
index 31372b992c8e59658869a0e18e089f20145648b1..0ad84e4f99d3c7bef88ca28f9ff4d3595a1dee14 100644 (file)
--- a/html.c
+++ b/html.c
@@ -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 <kristaps@kth.se>
  *
@@ -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: