diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-03-04 14:41:40 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-03-04 14:41:40 +0000 |
commit | 9e132a57b087be87cd731dd96397d9cc75b7bfa3 (patch) | |
tree | 5d462816189ff0f2fcc3afe8367da07dc04140d2 | |
parent | 915fb21ef547b551114dab3787540221a2172ae9 (diff) | |
download | mandoc-9e132a57b087be87cd731dd96397d9cc75b7bfa3.tar.gz |
-tag, if followed by empty body, doesn't newline.
Versioning up.
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | mdocterm.c | 17 | ||||
-rw-r--r-- | term.c | 6 | ||||
-rw-r--r-- | term.h | 1 |
4 files changed, 19 insertions, 9 deletions
@@ -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 @@ -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; @@ -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 ? "," : "."); } @@ -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. */ |