=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.200 retrieving revision 1.201 diff -u -p -r1.200 -r1.201 --- mandoc/mdoc_term.c 2010/12/19 12:11:42 1.200 +++ mandoc/mdoc_term.c 2010/12/22 11:15:16 1.201 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.200 2010/12/19 12:11:42 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.201 2010/12/22 11:15:16 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -556,9 +556,9 @@ print_bvspace(struct termp *p, term_newln(p); - if (MDOC_Bd == bl->tok && bl->data.Bd->comp) + if (MDOC_Bd == bl->tok && bl->norm->d.Bd.comp) return; - if (MDOC_Bl == bl->tok && bl->data.Bl->comp) + if (MDOC_Bl == bl->tok && bl->norm->d.Bl.comp) return; /* Do not vspace directly after Ss/Sh. */ @@ -577,13 +577,13 @@ print_bvspace(struct termp *p, /* A `-column' does not assert vspace within the list. */ - if (MDOC_Bl == bl->tok && LIST_column == bl->data.Bl->type) + if (MDOC_Bl == bl->tok && LIST_column == bl->norm->d.Bl.type) if (n->prev && MDOC_It == n->prev->tok) return; /* A `-diag' without body does not vspace. */ - if (MDOC_Bl == bl->tok && LIST_diag == bl->data.Bl->type) + if (MDOC_Bl == bl->tok && LIST_diag == bl->norm->d.Bl.type) if (n->prev && MDOC_It == n->prev->tok) { assert(n->prev->body); if (NULL == n->prev->body->child) @@ -610,8 +610,7 @@ termp_it_pre(DECL_ARGS) } bl = n->parent->parent->parent; - assert(bl->data.Bl); - type = bl->data.Bl->type; + type = bl->norm->d.Bl.type; /* * First calculate width and offset. This is pretty easy unless @@ -621,8 +620,8 @@ termp_it_pre(DECL_ARGS) width = offset = 0; - if (bl->data.Bl->offs) - offset = a2offs(p, bl->data.Bl->offs); + if (bl->norm->d.Bl.offs) + offset = a2offs(p, bl->norm->d.Bl.offs); switch (type) { case (LIST_column): @@ -638,7 +637,7 @@ termp_it_pre(DECL_ARGS) * column. * - For more than 5 columns, add only one column. */ - ncols = bl->data.Bl->ncols; + ncols = bl->norm->d.Bl.ncols; /* LINTED */ dcol = ncols < 5 ? term_len(p, 4) : @@ -653,7 +652,7 @@ termp_it_pre(DECL_ARGS) nn->prev && i < (int)ncols; nn = nn->prev, i++) offset += dcol + a2width - (p, bl->data.Bl->cols[i]); + (p, bl->norm->d.Bl.cols[i]); /* * When exceeding the declared number of columns, leave @@ -668,10 +667,10 @@ termp_it_pre(DECL_ARGS) * Use the declared column widths, extended as explained * in the preceding paragraph. */ - width = a2width(p, bl->data.Bl->cols[i]) + dcol; + width = a2width(p, bl->norm->d.Bl.cols[i]) + dcol; break; default: - if (NULL == bl->data.Bl->width) + if (NULL == bl->norm->d.Bl.width) break; /* @@ -679,8 +678,8 @@ termp_it_pre(DECL_ARGS) * number for buffering single arguments. See the above * handling for column for how this changes. */ - assert(bl->data.Bl->width); - width = a2width(p, bl->data.Bl->width) + term_len(p, 2); + assert(bl->norm->d.Bl.width); + width = a2width(p, bl->norm->d.Bl.width) + term_len(p, 2); break; } @@ -942,7 +941,7 @@ termp_it_post(DECL_ARGS) if (MDOC_BLOCK == n->type) return; - type = n->parent->parent->parent->data.Bl->type; + type = n->parent->parent->parent->norm->d.Bl.type; switch (type) { case (LIST_item): @@ -1116,10 +1115,10 @@ termp_an_post(DECL_ARGS) return; } - if (AUTH_split == n->data.An->auth) { + if (AUTH_split == n->norm->d.An.auth) { p->flags &= ~TERMP_NOSPLIT; p->flags |= TERMP_SPLIT; - } else if (AUTH_nosplit == n->data.An->auth) { + } else if (AUTH_nosplit == n->norm->d.An.auth) { p->flags &= ~TERMP_SPLIT; p->flags |= TERMP_NOSPLIT; } @@ -1566,9 +1565,8 @@ termp_bd_pre(DECL_ARGS) } else if (MDOC_HEAD == n->type) return(0); - assert(n->data.Bd); - if (n->data.Bd->offs) - p->offset += a2offs(p, n->data.Bd->offs); + if (n->norm->d.Bd.offs) + p->offset += a2offs(p, n->norm->d.Bd.offs); /* * If -ragged or -filled are specified, the block does nothing @@ -1578,8 +1576,8 @@ termp_bd_pre(DECL_ARGS) * lines are allowed. */ - if (DISP_literal != n->data.Bd->type && - DISP_unfilled != n->data.Bd->type) + if (DISP_literal != n->norm->d.Bd.type && + DISP_unfilled != n->norm->d.Bd.type) return(1); tabwidth = p->tabwidth; @@ -1641,9 +1639,8 @@ termp_bd_post(DECL_ARGS) rm = p->rmargin; rmax = p->maxrmargin; - assert(n->data.Bd); - if (DISP_literal == n->data.Bd->type || - DISP_unfilled == n->data.Bd->type) + if (DISP_literal == n->norm->d.Bd.type || + DISP_unfilled == n->norm->d.Bd.type) p->rmargin = p->maxrmargin = TERM_MAXMARGIN; p->flags |= TERMP_NOSPACE; @@ -1998,11 +1995,9 @@ termp_bf_pre(DECL_ARGS) else if (MDOC_BLOCK != n->type) return(1); - assert(n->data.Bf); - - if (FONT_Em == n->data.Bf->font) + if (FONT_Em == n->norm->d.Bf.font) term_fontpush(p, TERMFONT_UNDER); - else if (FONT_Sy == n->data.Bf->font) + else if (FONT_Sy == n->norm->d.Bf.font) term_fontpush(p, TERMFONT_BOLD); else term_fontpush(p, TERMFONT_NONE);