diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2009-07-18 17:11:45 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2009-07-18 17:11:45 +0000 |
commit | 87199897f9dc05bb5afbbb8ca4e856795376d9f3 (patch) | |
tree | 18ba4ee0f46b8b0249bc563b0664706ef65bf9c0 /usr.bin/mandoc | |
parent | 760a0c26320401663368eb7b57138c5b81cc5cc7 (diff) |
sync to 1.8.0: remove ambiguous TERMPAIR_SETFLAG macro and set flags manually
Diffstat (limited to 'usr.bin/mandoc')
-rw-r--r-- | usr.bin/mandoc/mdoc_term.c | 91 |
1 files changed, 38 insertions, 53 deletions
diff --git a/usr.bin/mandoc/mdoc_term.c b/usr.bin/mandoc/mdoc_term.c index 77835b5b147..596eb8d0f72 100644 --- a/usr.bin/mandoc/mdoc_term.c +++ b/usr.bin/mandoc/mdoc_term.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.26 2009/07/18 16:38:10 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.27 2009/07/18 17:11:44 schwarze Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -80,25 +80,14 @@ const int ttypes[TTYPE_NMAX] = { TERMP_BOLD /* TTYPE_LIST */ }; -/* XXX - clean this up. */ - struct termpair { struct termpair *ppair; - int type; -#define TERMPAIR_FLAG (1 << 0) - int flag; /* Whether being used. */ + int flag; size_t offset; /* Left margin. */ size_t rmargin; /* Right margin. */ - int count; /* Enum count. */ + int count; }; -#define TERMPAIR_SETFLAG(termp, p, fl) \ - do { \ - assert(! (TERMPAIR_FLAG & (p)->type)); \ - (termp)->flags |= (fl); \ - (p)->flag = (fl); \ - (p)->type |= TERMPAIR_FLAG; \ - } while ( /* CONSTCOND */ 0) #define DECL_ARGS \ struct termp *p, struct termpair *pair, \ @@ -355,7 +344,6 @@ print_node(DECL_ARGS) dochild = 1; npair.ppair = pair; - npair.type = 0; npair.offset = npair.rmargin = 0; npair.flag = 0; npair.count = 0; @@ -369,14 +357,12 @@ print_node(DECL_ARGS) /* Children. */ - if (TERMPAIR_FLAG & npair.type) - p->flags |= npair.flag; + p->flags |= npair.flag; if (dochild && node->child) print_body(p, &npair, meta, node->child); - if (TERMPAIR_FLAG & npair.type) - p->flags &= ~npair.flag; + p->flags &= ~npair.flag; /* Post-processing. */ @@ -989,7 +975,9 @@ termp_nm_pre(DECL_ARGS) if (SEC_SYNOPSIS == node->sec) term_newln(p); - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_PROG]); + pair->flag |= ttypes[TTYPE_PROG]; + p->flags |= ttypes[TTYPE_PROG]; + if (NULL == node->child) term_word(p, meta->name); @@ -1002,7 +990,8 @@ static int termp_fl_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_CMD_FLAG]); + pair->flag |= ttypes[TTYPE_CMD_FLAG]; + p->flags |= ttypes[TTYPE_CMD_FLAG]; term_word(p, "\\-"); p->flags |= TERMP_NOSPACE; return(1); @@ -1014,7 +1003,7 @@ static int termp_ar_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_CMD_ARG]); + pair->flag |= ttypes[TTYPE_CMD_ARG]; return(1); } @@ -1187,7 +1176,7 @@ termp_vt_pre(DECL_ARGS) { /* FIXME: this can be "type name". */ - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_VAR_DECL]); + pair->flag |= ttypes[TTYPE_VAR_DECL]; return(1); } @@ -1207,11 +1196,7 @@ static int termp_fd_pre(DECL_ARGS) { - /* - * FIXME: this naming is bad. This value is used, in general, - * for the #include header or other preprocessor statement. - */ - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_FUNC_DECL]); + pair->flag |= ttypes[TTYPE_FUNC_DECL]; return(1); } @@ -1223,6 +1208,7 @@ termp_fd_post(DECL_ARGS) if (node->sec != SEC_SYNOPSIS) return; + term_newln(p); if (node->next && MDOC_Fd != node->next->tok) term_vspace(p); @@ -1237,7 +1223,7 @@ termp_sh_pre(DECL_ARGS) switch (node->type) { case (MDOC_HEAD): term_vspace(p); - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_SECTION]); + pair->flag |= ttypes[TTYPE_SECTION]; break; case (MDOC_BODY): p->offset = INDENT; @@ -1390,7 +1376,7 @@ termp_ft_pre(DECL_ARGS) if (SEC_SYNOPSIS == node->sec) if (node->prev && MDOC_Fo == node->prev->tok) term_vspace(p); - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_FUNC_TYPE]); + pair->flag |= ttypes[TTYPE_FUNC_TYPE]; return(1); } @@ -1446,7 +1432,6 @@ termp_fn_post(DECL_ARGS) if (node->sec == SEC_SYNOPSIS && node->next) term_vspace(p); - } @@ -1455,7 +1440,7 @@ static int termp_sx_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_LINK]); + pair->flag |= ttypes[TTYPE_LINK]; return(1); } @@ -1467,7 +1452,7 @@ termp_fa_pre(DECL_ARGS) struct mdoc_node *n; if (node->parent->tok != MDOC_Fo) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_FUNC_ARG]); + pair->flag |= ttypes[TTYPE_FUNC_ARG]; return(1); } @@ -1491,7 +1476,7 @@ static int termp_va_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_VAR_DECL]); + pair->flag |= ttypes[TTYPE_VAR_DECL]; return(1); } @@ -1728,7 +1713,7 @@ termp_ss_pre(DECL_ARGS) term_vspace(p); break; case (MDOC_HEAD): - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_SSECTION]); + pair->flag |= ttypes[TTYPE_SSECTION]; p->offset = HALFINDENT; break; default: @@ -1760,7 +1745,7 @@ static int termp_pa_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_FILE]); + pair->flag |= ttypes[TTYPE_FILE]; return(1); } @@ -1770,7 +1755,7 @@ static int termp_em_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_EMPH]); + pair->flag |= ttypes[TTYPE_EMPH]; return(1); } @@ -1780,7 +1765,7 @@ static int termp_cd_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_CONFIG]); + pair->flag |= ttypes[TTYPE_CONFIG]; term_newln(p); return(1); } @@ -1791,7 +1776,7 @@ static int termp_cm_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_CMD_FLAG]); + pair->flag |= ttypes[TTYPE_CMD_FLAG]; return(1); } @@ -1801,7 +1786,7 @@ static int termp_ic_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_CMD]); + pair->flag |= ttypes[TTYPE_CMD]; return(1); } @@ -1811,8 +1796,8 @@ static int termp_in_pre(DECL_ARGS) { - /* XXX This conforms to new-groff style. */ - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_INCLUDE]); + pair->flag |= ttypes[TTYPE_INCLUDE]; + p->flags |= ttypes[TTYPE_INCLUDE]; if (SEC_SYNOPSIS == node->sec) term_word(p, "#include"); @@ -1985,25 +1970,25 @@ termp_bf_pre(DECL_ARGS) { const struct mdoc_node *n; - if (MDOC_HEAD == node->type) { + if (MDOC_HEAD == node->type) return(0); - } else if (MDOC_BLOCK != node->type) + else if (MDOC_BLOCK != node->type) return(1); if (NULL == (n = node->head->child)) { if (arg_hasattr(MDOC_Emphasis, node)) - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_EMPH]); + pair->flag |= ttypes[TTYPE_EMPH]; else if (arg_hasattr(MDOC_Symbolic, node)) - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_SYMB]); + pair->flag |= ttypes[TTYPE_SYMB]; return(1); } assert(MDOC_TEXT == n->type); if (0 == strcmp("Em", n->string)) - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_EMPH]); + pair->flag |= ttypes[TTYPE_EMPH]; else if (0 == strcmp("Sy", n->string)) - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_EMPH]); + pair->flag |= ttypes[TTYPE_SYMB]; return(1); } @@ -2014,7 +1999,7 @@ static int termp_sy_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_SYMB]); + pair->flag |= ttypes[TTYPE_SYMB]; return(1); } @@ -2024,7 +2009,7 @@ static int termp_ms_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_SYMBOL]); + pair->flag |= ttypes[TTYPE_SYMBOL]; return(1); } @@ -2063,7 +2048,7 @@ static int termp__j_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_REF_JOURNAL]); + pair->flag |= ttypes[TTYPE_REF_JOURNAL]; return(1); } @@ -2110,7 +2095,7 @@ termp_lk_pre(DECL_ARGS) n = node->child; if (NULL == n->next) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_LINK_ANCHOR]); + pair->flag |= ttypes[TTYPE_LINK_ANCHOR]; return(1); } @@ -2134,7 +2119,7 @@ static int termp_mt_pre(DECL_ARGS) { - TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_LINK_ANCHOR]); + pair->flag |= ttypes[TTYPE_LINK_ANCHOR]; return(1); } |