]> git.cameronkatri.com Git - mandoc.git/commitdiff
-tag, if followed by empty body, doesn't newline.
authorKristaps Dzonsons <kristaps@bsd.lv>
Wed, 4 Mar 2009 14:41:40 +0000 (14:41 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Wed, 4 Mar 2009 14:41:40 +0000 (14:41 +0000)
Versioning up.

Makefile
mdocterm.c
term.c
term.h

index 8f944d54a86ae1e91973a82d687fe5d8d72950ed..1ec235f98837604ab079104f0ae766557122dce7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 .SUFFIXES:     .html .sgml
 
-VERSION        = 1.3.17
-VDATE  = 03 March 2009
+VERSION        = 1.3.18
+VDATE  = 04 March 2009
 
 BINDIR         = $(PREFIX)/bin
 INCLUDEDIR     = $(PREFIX)/include
index 7fbd94665c2b2e9fa7f9ace2a376e9b748387f50..c873c57648f876ecbc434e4c3ebb2fcd11228cc3 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mdocterm.c,v 1.31 2009/03/04 14:13:05 kristaps Exp $ */
+/* $Id: mdocterm.c,v 1.32 2009/03/04 14:41:40 kristaps Exp $ */
 /*
  * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -351,9 +351,11 @@ flushln(struct termp *p)
         */
 
        if ((TERMP_NOBREAK & p->flags) && vis >= maxvis) {
-               putchar('\n');
-               for (i = 0; i < p->rmargin; i++)
-                       putchar(' ');
+               if ( ! (TERMP_NONOBREAK & p->flags)) {
+                       putchar('\n');
+                       for (i = 0; i < p->rmargin; i++)
+                               putchar(' ');
+               }
                p->col = 0;
                return;
        }
@@ -363,10 +365,11 @@ flushln(struct termp *p)
         * pad to the right margin and stay off.
         */
 
-       if (p->flags & TERMP_NOBREAK) 
-               for ( ; vis < maxvis; vis++)
-                       putchar(' ');
-       else
+       if (p->flags & TERMP_NOBREAK) {
+               if ( ! (TERMP_NONOBREAK & p->flags))
+                       for ( ; vis < maxvis; vis++)
+                               putchar(' ');
+       } else
                putchar('\n');
 
        p->col = 0;
diff --git a/term.c b/term.c
index 956bc1d62cd32cdd55b7efa40c5fcaa4e5350959..76fced1e2553f8d0ae6afc9c7f63479521435b9b 100644 (file)
--- a/term.c
+++ b/term.c
@@ -1,4 +1,4 @@
-/* $Id: term.c,v 1.40 2009/03/04 14:13:05 kristaps Exp $ */
+/* $Id: term.c,v 1.41 2009/03/04 14:41:40 kristaps Exp $ */
 /*
  * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -536,6 +536,10 @@ termp_it_pre(DECL_ARGS)
                        p->flags |= TERMP_NOBREAK;
                else
                        p->flags |= TERMP_NOLPAD;
+               if (MDOC_HEAD == node->type && MDOC_Tag == type)
+                       if (NULL == node->next ||
+                                       NULL == node->next->child)
+                               p->flags |= TERMP_NONOBREAK;
                break;
        case (MDOC_Diag):
                if (MDOC_HEAD == node->type)
@@ -1662,6 +1666,7 @@ static int
 termp__t_pre(DECL_ARGS)
 {
 
+       /* FIXME: titles are underlined. */
        word(p, "\"");
        p->flags |= TERMP_NOSPACE;
        return(1);
@@ -1674,6 +1679,7 @@ termp__t_post(DECL_ARGS)
 {
 
        p->flags |= TERMP_NOSPACE;
+       /* FIXME: titles are underlined. */
        word(p, "\"");
        word(p, node->next ? "," : ".");
 }
diff --git a/term.h b/term.h
index 4ec3e751342f5ca04da5bbbe3b179f683e436789..29cd9ca76144297ee66611edf69f98db76a28cea 100644 (file)
--- a/term.h
+++ b/term.h
@@ -1,4 +1,4 @@
-/* $Id: term.h,v 1.18 2009/03/04 14:13:05 kristaps Exp $ */
+/* $Id: term.h,v 1.19 2009/03/04 14:41:40 kristaps Exp $ */
 /*
  * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -95,6 +95,7 @@ struct        termp {
 #define        TERMP_LITERAL    (1 << 5)       /* Literal words. */
 #define        TERMP_IGNDELIM   (1 << 6)       /* Delims like regulars. */
 #define        TERMP_NONOSPACE  (1 << 7)       /* No space (no autounset). */
+#define        TERMP_NONOBREAK  (1 << 8)
        char             *buf;
        struct termsym   *symtab;       /* Special-symbol table. */
        struct termsym   *styletab;     /* Style table. */