version 1.4, 2009/02/22 14:31:08 |
version 1.6, 2009/02/22 19:23:48 |
Line 83 static void name##_post(DECL_ARGS) |
|
Line 83 static void name##_post(DECL_ARGS) |
|
|
|
DECL_PRE(termp_aq); |
DECL_PRE(termp_aq); |
DECL_PRE(termp_ar); |
DECL_PRE(termp_ar); |
|
DECL_PRE(termp_bd); |
DECL_PRE(termp_d1); |
DECL_PRE(termp_d1); |
DECL_PRE(termp_dq); |
DECL_PRE(termp_dq); |
DECL_PRE(termp_ex); |
DECL_PRE(termp_ex); |
Line 95 DECL_PRE(termp_it); |
|
Line 96 DECL_PRE(termp_it); |
|
DECL_PRE(termp_nd); |
DECL_PRE(termp_nd); |
DECL_PRE(termp_nm); |
DECL_PRE(termp_nm); |
DECL_PRE(termp_ns); |
DECL_PRE(termp_ns); |
|
DECL_PRE(termp_nx); |
DECL_PRE(termp_op); |
DECL_PRE(termp_op); |
|
DECL_PRE(termp_ox); |
|
DECL_PRE(termp_pf); |
DECL_PRE(termp_pp); |
DECL_PRE(termp_pp); |
|
DECL_PRE(termp_qq); |
DECL_PRE(termp_sh); |
DECL_PRE(termp_sh); |
|
DECL_PRE(termp_sq); |
DECL_PRE(termp_sx); |
DECL_PRE(termp_sx); |
DECL_PRE(termp_ud); |
DECL_PRE(termp_ud); |
|
DECL_PRE(termp_va); |
DECL_PRE(termp_vt); |
DECL_PRE(termp_vt); |
DECL_PRE(termp_xr); |
DECL_PRE(termp_xr); |
|
|
Line 116 DECL_POST(termp_ft); |
|
Line 123 DECL_POST(termp_ft); |
|
DECL_POST(termp_it); |
DECL_POST(termp_it); |
DECL_POST(termp_nm); |
DECL_POST(termp_nm); |
DECL_POST(termp_op); |
DECL_POST(termp_op); |
|
DECL_POST(termp_pf); |
|
DECL_POST(termp_qq); |
DECL_POST(termp_sh); |
DECL_POST(termp_sh); |
|
DECL_POST(termp_sq); |
DECL_POST(termp_sx); |
DECL_POST(termp_sx); |
|
DECL_POST(termp_va); |
DECL_POST(termp_vt); |
DECL_POST(termp_vt); |
|
|
const struct termact __termacts[MDOC_MAX] = { |
const struct termact __termacts[MDOC_MAX] = { |
Line 130 const struct termact __termacts[MDOC_MAX] = { |
|
Line 141 const struct termact __termacts[MDOC_MAX] = { |
|
{ termp_pp_pre, NULL }, /* Pp */ |
{ termp_pp_pre, NULL }, /* Pp */ |
{ termp_d1_pre, termp_d1_post }, /* D1 */ |
{ termp_d1_pre, termp_d1_post }, /* D1 */ |
{ NULL, NULL }, /* Dl */ |
{ NULL, NULL }, /* Dl */ |
{ NULL, NULL }, /* Bd */ |
{ termp_bd_pre, NULL }, /* Bd */ |
{ NULL, NULL }, /* Ed */ |
{ NULL, NULL }, /* Ed */ |
{ NULL, termp_bl_post }, /* Bl */ |
{ NULL, termp_bl_post }, /* Bl */ |
{ NULL, NULL }, /* El */ |
{ NULL, NULL }, /* El */ |
Line 159 const struct termact __termacts[MDOC_MAX] = { |
|
Line 170 const struct termact __termacts[MDOC_MAX] = { |
|
{ NULL, NULL }, /* Pa */ |
{ NULL, NULL }, /* Pa */ |
{ NULL, NULL }, /* Rv */ |
{ NULL, NULL }, /* Rv */ |
{ NULL, NULL }, /* St */ |
{ NULL, NULL }, /* St */ |
{ NULL, NULL }, /* Va */ |
{ termp_va_pre, termp_va_post }, /* Va */ |
{ termp_vt_pre, termp_vt_post }, /* Vt */ |
{ termp_vt_pre, termp_vt_post }, /* Vt */ |
{ termp_xr_pre, NULL }, /* Xr */ |
{ termp_xr_pre, NULL }, /* Xr */ |
{ NULL, NULL }, /* %A */ |
{ NULL, NULL }, /* %A */ |
Line 195 const struct termact __termacts[MDOC_MAX] = { |
|
Line 206 const struct termact __termacts[MDOC_MAX] = { |
|
{ NULL, NULL }, /* Ms */ |
{ NULL, NULL }, /* Ms */ |
{ NULL, NULL }, /* No */ |
{ NULL, NULL }, /* No */ |
{ termp_ns_pre, NULL }, /* Ns */ |
{ termp_ns_pre, NULL }, /* Ns */ |
{ NULL, NULL }, /* Nx */ |
{ termp_nx_pre, NULL }, /* Nx */ |
{ NULL, NULL }, /* Ox */ |
{ termp_ox_pre, NULL }, /* Ox */ |
{ NULL, NULL }, /* Pc */ |
{ NULL, NULL }, /* Pc */ |
{ NULL, NULL }, /* Pf */ |
{ termp_pf_pre, termp_pf_post }, /* Pf */ |
{ NULL, NULL }, /* Po */ |
{ NULL, NULL }, /* Po */ |
{ NULL, NULL }, /* Pq */ |
{ NULL, NULL }, /* Pq */ |
{ NULL, NULL }, /* Qc */ |
{ NULL, NULL }, /* Qc */ |
{ NULL, NULL }, /* Ql */ |
{ NULL, NULL }, /* Ql */ |
{ NULL, NULL }, /* Qo */ |
{ NULL, NULL }, /* Qo */ |
{ NULL, NULL }, /* Qq */ |
{ termp_qq_pre, termp_qq_post }, /* Qq */ |
{ NULL, NULL }, /* Re */ |
{ NULL, NULL }, /* Re */ |
{ NULL, NULL }, /* Rs */ |
{ NULL, NULL }, /* Rs */ |
{ NULL, NULL }, /* Sc */ |
{ NULL, NULL }, /* Sc */ |
{ NULL, NULL }, /* So */ |
{ NULL, NULL }, /* So */ |
{ NULL, NULL }, /* Sq */ |
{ termp_sq_pre, termp_sq_post }, /* Sq */ |
{ NULL, NULL }, /* Sm */ |
{ NULL, NULL }, /* Sm */ |
{ termp_sx_pre, termp_sx_post }, /* Sx */ |
{ termp_sx_pre, termp_sx_post }, /* Sx */ |
{ NULL, NULL }, /* Sy */ |
{ NULL, NULL }, /* Sy */ |
Line 881 termp_fa_post(DECL_ARGS) |
|
Line 892 termp_fa_post(DECL_ARGS) |
|
{ |
{ |
|
|
p->flags &= ~ttypes[TTYPE_FUNC_ARG]; |
p->flags &= ~ttypes[TTYPE_FUNC_ARG]; |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_va_pre(DECL_ARGS) |
|
{ |
|
|
|
p->flags |= ttypes[TTYPE_VAR_DECL]; |
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static void |
|
termp_va_post(DECL_ARGS) |
|
{ |
|
|
|
p->flags &= ~ttypes[TTYPE_VAR_DECL]; |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_bd_pre(DECL_ARGS) |
|
{ |
|
const struct mdoc_block *bl; |
|
const struct mdoc_node *n; |
|
|
|
if (MDOC_BLOCK == node->type) { |
|
vspace(p); |
|
return(1); |
|
} else if (MDOC_BODY != node->type) |
|
return(1); |
|
|
|
assert(MDOC_BLOCK == node->parent->type); |
|
|
|
bl = &node->parent->data.block; |
|
if ( ! arg_hasattr(MDOC_Literal, bl->argc, bl->argv)) |
|
return(1); |
|
|
|
p->flags |= TERMP_LITERAL; |
|
|
|
for (n = node->child; n; n = n->next) { |
|
assert(MDOC_TEXT == n->type); /* FIXME */ |
|
if ((*n->data.text.string)) { |
|
word(p, n->data.text.string); |
|
flushln(p); |
|
} else |
|
vspace(p); |
|
|
|
} |
|
|
|
p->flags &= ~TERMP_LITERAL; |
|
return(0); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_qq_pre(DECL_ARGS) |
|
{ |
|
|
|
if (MDOC_BODY != node->type) |
|
return(1); |
|
word(p, "\""); |
|
p->flags |= TERMP_NOSPACE; |
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static void |
|
termp_qq_post(DECL_ARGS) |
|
{ |
|
|
|
if (MDOC_BODY != node->type) |
|
return; |
|
p->flags |= TERMP_NOSPACE; |
|
word(p, "\""); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_ox_pre(DECL_ARGS) |
|
{ |
|
|
|
word(p, "OpenBSD"); |
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_nx_pre(DECL_ARGS) |
|
{ |
|
|
|
word(p, "NetBSD"); |
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_sq_pre(DECL_ARGS) |
|
{ |
|
|
|
if (MDOC_BODY != node->type) |
|
return(1); |
|
word(p, "`"); |
|
p->flags |= TERMP_NOSPACE; |
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static void |
|
termp_sq_post(DECL_ARGS) |
|
{ |
|
|
|
if (MDOC_BODY != node->type) |
|
return; |
|
p->flags |= TERMP_NOSPACE; |
|
word(p, "\'"); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static int |
|
termp_pf_pre(DECL_ARGS) |
|
{ |
|
|
|
p->flags |= TERMP_IGNDELIM; |
|
return(1); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static void |
|
termp_pf_post(DECL_ARGS) |
|
{ |
|
|
|
p->flags &= ~TERMP_IGNDELIM; |
|
p->flags |= TERMP_NOSPACE; |
} |
} |
|
|
|
|