summaryrefslogtreecommitdiff
path: root/usr.bin/mandoc
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2009-07-18 17:11:45 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2009-07-18 17:11:45 +0000
commit87199897f9dc05bb5afbbb8ca4e856795376d9f3 (patch)
tree18ba4ee0f46b8b0249bc563b0664706ef65bf9c0 /usr.bin/mandoc
parent760a0c26320401663368eb7b57138c5b81cc5cc7 (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.c91
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);
}