]> git.cameronkatri.com Git - mandoc.git/blobdiff - man_term.c
warning about unknown .Lb arguments; inspired by mdoclint(1)
[mandoc.git] / man_term.c
index 6a4987a45977630f94748f778828d221484f0373..dcb7d89c6fd3cf694f6347eae5a6325c916b75b0 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: man_term.c,v 1.202 2017/06/04 22:44:15 schwarze Exp $ */
+/*     $Id: man_term.c,v 1.203 2017/06/07 17:38:26 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -141,7 +141,7 @@ terminal_man(void *arg, const struct roff_man *man)
        size_t                   save_defindent;
 
        p = (struct termp *)arg;
-       p->rmargin = p->maxrmargin = p->defrmargin;
+       p->tcol->rmargin = p->maxrmargin = p->defrmargin;
        term_tab_set(p, NULL);
        term_tab_set(p, "T");
        term_tab_set(p, ".5i");
@@ -228,7 +228,7 @@ pre_literal(DECL_ARGS)
 
        term_newln(p);
 
-       if (MAN_nf == n->tok || MAN_EX == n->tok)
+       if (n->tok == MAN_nf || n->tok == MAN_EX)
                mt->fl |= MANT_LITERAL;
        else
                mt->fl &= ~MANT_LITERAL;
@@ -238,9 +238,9 @@ pre_literal(DECL_ARGS)
         * So in case a second call to term_flushln() is needed,
         * indentation has to be set up explicitly.
         */
-       if (MAN_HP == n->parent->tok && p->rmargin < p->maxrmargin) {
-               p->offset = p->rmargin;
-               p->rmargin = p->maxrmargin;
+       if (n->parent->tok == MAN_HP && p->tcol->rmargin < p->maxrmargin) {
+               p->tcol->offset = p->tcol->rmargin;
+               p->tcol->rmargin = p->maxrmargin;
                p->trailspace = 0;
                p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND);
                p->flags |= TERMP_NOSPACE;
@@ -359,8 +359,8 @@ pre_in(DECL_ARGS)
 
        term_newln(p);
 
-       if (NULL == n->child) {
-               p->offset = mt->offset;
+       if (n->child == NULL) {
+               p->tcol->offset = mt->offset;
                return 0;
        }
 
@@ -380,13 +380,13 @@ pre_in(DECL_ARGS)
        v = (term_hspan(p, &su) + 11) / 24;
 
        if (less < 0)
-               p->offset -= p->offset > v ? v : p->offset;
+               p->tcol->offset -= p->tcol->offset > v ? v : p->tcol->offset;
        else if (less > 0)
-               p->offset += v;
+               p->tcol->offset += v;
        else
-               p->offset = v;
-       if (p->offset > SHRT_MAX)
-               p->offset = term_len(p, p->defindent);
+               p->tcol->offset = v;
+       if (p->tcol->offset > SHRT_MAX)
+               p->tcol->offset = term_len(p, p->defindent);
 
        return 0;
 }
@@ -435,8 +435,8 @@ pre_HP(DECL_ARGS)
        } else
                len = mt->lmargin[mt->lmargincur];
 
-       p->offset = mt->offset;
-       p->rmargin = mt->offset + len;
+       p->tcol->offset = mt->offset;
+       p->tcol->rmargin = mt->offset + len;
        return 1;
 }
 
@@ -460,8 +460,8 @@ post_HP(DECL_ARGS)
 
                p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND);
                p->trailspace = 0;
-               p->offset = mt->offset;
-               p->rmargin = p->maxrmargin;
+               p->tcol->offset = mt->offset;
+               p->tcol->rmargin = p->maxrmargin;
                break;
        default:
                break;
@@ -478,7 +478,7 @@ pre_PP(DECL_ARGS)
                print_bvspace(p, n, mt->pardist);
                break;
        default:
-               p->offset = mt->offset;
+               p->tcol->offset = mt->offset;
                break;
        }
 
@@ -522,8 +522,8 @@ pre_IP(DECL_ARGS)
 
        switch (n->type) {
        case ROFFT_HEAD:
-               p->offset = mt->offset;
-               p->rmargin = mt->offset + len;
+               p->tcol->offset = mt->offset;
+               p->tcol->rmargin = mt->offset + len;
 
                savelit = MANT_LITERAL & mt->fl;
                mt->fl &= ~MANT_LITERAL;
@@ -536,8 +536,8 @@ pre_IP(DECL_ARGS)
 
                return 0;
        case ROFFT_BODY:
-               p->offset = mt->offset + len;
-               p->rmargin = p->maxrmargin;
+               p->tcol->offset = mt->offset + len;
+               p->tcol->rmargin = p->maxrmargin;
                break;
        default:
                break;
@@ -555,11 +555,11 @@ post_IP(DECL_ARGS)
                term_flushln(p);
                p->flags &= ~TERMP_NOBREAK;
                p->trailspace = 0;
-               p->rmargin = p->maxrmargin;
+               p->tcol->rmargin = p->maxrmargin;
                break;
        case ROFFT_BODY:
                term_newln(p);
-               p->offset = mt->offset;
+               p->tcol->offset = mt->offset;
                break;
        default:
                break;
@@ -604,8 +604,8 @@ pre_TP(DECL_ARGS)
 
        switch (n->type) {
        case ROFFT_HEAD:
-               p->offset = mt->offset;
-               p->rmargin = mt->offset + len;
+               p->tcol->offset = mt->offset;
+               p->tcol->rmargin = mt->offset + len;
 
                savelit = MANT_LITERAL & mt->fl;
                mt->fl &= ~MANT_LITERAL;
@@ -624,8 +624,8 @@ pre_TP(DECL_ARGS)
                        mt->fl |= MANT_LITERAL;
                return 0;
        case ROFFT_BODY:
-               p->offset = mt->offset + len;
-               p->rmargin = p->maxrmargin;
+               p->tcol->offset = mt->offset + len;
+               p->tcol->rmargin = p->maxrmargin;
                p->trailspace = 0;
                p->flags &= ~(TERMP_NOBREAK | TERMP_BRTRSP);
                break;
@@ -646,7 +646,7 @@ post_TP(DECL_ARGS)
                break;
        case ROFFT_BODY:
                term_newln(p);
-               p->offset = mt->offset;
+               p->tcol->offset = mt->offset;
                break;
        default:
                break;
@@ -681,14 +681,14 @@ pre_SS(DECL_ARGS)
                break;
        case ROFFT_HEAD:
                term_fontrepl(p, TERMFONT_BOLD);
-               p->offset = term_len(p, 3);
-               p->rmargin = mt->offset;
+               p->tcol->offset = term_len(p, 3);
+               p->tcol->rmargin = mt->offset;
                p->trailspace = mt->offset;
                p->flags |= TERMP_NOBREAK | TERMP_BRIND;
                break;
        case ROFFT_BODY:
-               p->offset = mt->offset;
-               p->rmargin = p->maxrmargin;
+               p->tcol->offset = mt->offset;
+               p->tcol->rmargin = p->maxrmargin;
                p->trailspace = 0;
                p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND);
                break;
@@ -743,14 +743,14 @@ pre_SH(DECL_ARGS)
                break;
        case ROFFT_HEAD:
                term_fontrepl(p, TERMFONT_BOLD);
-               p->offset = 0;
-               p->rmargin = mt->offset;
+               p->tcol->offset = 0;
+               p->tcol->rmargin = mt->offset;
                p->trailspace = mt->offset;
                p->flags |= TERMP_NOBREAK | TERMP_BRIND;
                break;
        case ROFFT_BODY:
-               p->offset = mt->offset;
-               p->rmargin = p->maxrmargin;
+               p->tcol->offset = mt->offset;
+               p->tcol->rmargin = p->maxrmargin;
                p->trailspace = 0;
                p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND);
                break;
@@ -804,8 +804,8 @@ pre_RS(DECL_ARGS)
                n->aux = term_len(p, p->defindent);
 
        mt->offset += n->aux;
-       p->offset = mt->offset;
-       p->rmargin = p->maxrmargin;
+       p->tcol->offset = mt->offset;
+       p->tcol->rmargin = p->maxrmargin;
 
        if (++mt->lmarginsz < MAXMARGINS)
                mt->lmargincur = mt->lmarginsz;
@@ -829,7 +829,7 @@ post_RS(DECL_ARGS)
        }
 
        mt->offset -= n->parent->head->aux;
-       p->offset = mt->offset;
+       p->tcol->offset = mt->offset;
 
        if (--mt->lmarginsz < MAXMARGINS)
                mt->lmargincur = mt->lmarginsz;
@@ -935,9 +935,10 @@ out:
                else
                        term_newln(p);
                p->flags &= ~TERMP_BRNEVER;
-               if (p->rmargin < p->maxrmargin && n->parent->tok == MAN_HP) {
-                       p->offset = p->rmargin;
-                       p->rmargin = p->maxrmargin;
+               if (p->tcol->rmargin < p->maxrmargin &&
+                   n->parent->tok == MAN_HP) {
+                       p->tcol->offset = p->tcol->rmargin;
+                       p->tcol->rmargin = p->maxrmargin;
                }
        }
        if (NODE_EOS & n->flags)
@@ -994,8 +995,8 @@ print_man_foot(struct termp *p, const struct roff_meta *meta)
 
        p->flags |= TERMP_NOSPACE | TERMP_NOBREAK;
        p->trailspace = 1;
-       p->offset = 0;
-       p->rmargin = p->maxrmargin > datelen ?
+       p->tcol->offset = 0;
+       p->tcol->rmargin = p->maxrmargin > datelen ?
            (p->maxrmargin + term_len(p, 1) - datelen) / 2 : 0;
 
        if (meta->os)
@@ -1004,9 +1005,10 @@ print_man_foot(struct termp *p, const struct roff_meta *meta)
 
        /* At the bottom in the middle: manual date. */
 
-       p->offset = p->rmargin;
+       p->tcol->offset = p->tcol->rmargin;
        titlen = term_strlen(p, title);
-       p->rmargin = p->maxrmargin > titlen ? p->maxrmargin - titlen : 0;
+       p->tcol->rmargin = p->maxrmargin > titlen ?
+           p->maxrmargin - titlen : 0;
        p->flags |= TERMP_NOSPACE;
 
        term_word(p, meta->date);
@@ -1017,8 +1019,8 @@ print_man_foot(struct termp *p, const struct roff_meta *meta)
        p->flags &= ~TERMP_NOBREAK;
        p->flags |= TERMP_NOSPACE;
        p->trailspace = 0;
-       p->offset = p->rmargin;
-       p->rmargin = p->maxrmargin;
+       p->tcol->offset = p->tcol->rmargin;
+       p->tcol->rmargin = p->maxrmargin;
 
        term_word(p, title);
        term_flushln(p);
@@ -1045,8 +1047,8 @@ print_man_head(struct termp *p, const struct roff_meta *meta)
 
        p->flags |= TERMP_NOBREAK | TERMP_NOSPACE;
        p->trailspace = 1;
-       p->offset = 0;
-       p->rmargin = 2 * (titlen+1) + vollen < p->maxrmargin ?
+       p->tcol->offset = 0;
+       p->tcol->rmargin = 2 * (titlen+1) + vollen < p->maxrmargin ?
            (p->maxrmargin - vollen + term_len(p, 1)) / 2 :
            vollen < p->maxrmargin ? p->maxrmargin - vollen : 0;
 
@@ -1056,9 +1058,9 @@ print_man_head(struct termp *p, const struct roff_meta *meta)
        /* At the top in the middle: manual volume. */
 
        p->flags |= TERMP_NOSPACE;
-       p->offset = p->rmargin;
-       p->rmargin = p->offset + vollen + titlen < p->maxrmargin ?
-           p->maxrmargin - titlen : p->maxrmargin;
+       p->tcol->offset = p->tcol->rmargin;
+       p->tcol->rmargin = p->tcol->offset + vollen + titlen <
+           p->maxrmargin ?  p->maxrmargin - titlen : p->maxrmargin;
 
        term_word(p, volume);
        term_flushln(p);
@@ -1067,17 +1069,17 @@ print_man_head(struct termp *p, const struct roff_meta *meta)
 
        p->flags &= ~TERMP_NOBREAK;
        p->trailspace = 0;
-       if (p->rmargin + titlen <= p->maxrmargin) {
+       if (p->tcol->rmargin + titlen <= p->maxrmargin) {
                p->flags |= TERMP_NOSPACE;
-               p->offset = p->rmargin;
-               p->rmargin = p->maxrmargin;
+               p->tcol->offset = p->tcol->rmargin;
+               p->tcol->rmargin = p->maxrmargin;
                term_word(p, title);
                term_flushln(p);
        }
 
        p->flags &= ~TERMP_NOSPACE;
-       p->offset = 0;
-       p->rmargin = p->maxrmargin;
+       p->tcol->offset = 0;
+       p->tcol->rmargin = p->maxrmargin;
 
        /*
         * Groff prints three blank lines before the content.