=================================================================== RCS file: /cvs/mandoc/term.c,v retrieving revision 1.56 retrieving revision 1.61 diff -u -p -r1.56 -r1.61 --- mandoc/term.c 2009/03/12 15:55:11 1.56 +++ mandoc/term.c 2009/03/16 23:37:28 1.61 @@ -1,6 +1,6 @@ -/* $Id: term.c,v 1.56 2009/03/12 15:55:11 kristaps Exp $ */ +/* $Id: term.c,v 1.61 2009/03/16 23:37:28 kristaps Exp $ */ /* - * Copyright (c) 2009 Kristaps Dzonsons + * Copyright (c) 2008, 2009 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the @@ -67,28 +67,28 @@ /* TODO: abstract this into mdocterm.c. */ const int ttypes[TTYPE_NMAX] = { - TERMP_BOLD, /* TTYPE_PROG */ + TERMP_BOLD, /* TTYPE_PROG */ TERMP_BOLD, /* TTYPE_CMD_FLAG */ - TERMP_UNDERLINE, /* TTYPE_CMD_ARG */ + TERMP_UNDER, /* TTYPE_CMD_ARG */ TERMP_BOLD, /* TTYPE_SECTION */ TERMP_BOLD, /* TTYPE_FUNC_DECL */ - TERMP_UNDERLINE, /* TTYPE_VAR_DECL */ - TERMP_UNDERLINE, /* TTYPE_FUNC_TYPE */ + TERMP_UNDER, /* TTYPE_VAR_DECL */ + TERMP_UNDER, /* TTYPE_FUNC_TYPE */ TERMP_BOLD, /* TTYPE_FUNC_NAME */ - TERMP_UNDERLINE, /* TTYPE_FUNC_ARG */ - TERMP_UNDERLINE, /* TTYPE_LINK */ + TERMP_UNDER, /* TTYPE_FUNC_ARG */ + TERMP_UNDER, /* TTYPE_LINK */ TERMP_BOLD, /* TTYPE_SSECTION */ - TERMP_UNDERLINE, /* TTYPE_FILE */ - TERMP_UNDERLINE, /* TTYPE_EMPH */ + TERMP_UNDER, /* TTYPE_FILE */ + TERMP_UNDER, /* TTYPE_EMPH */ TERMP_BOLD, /* TTYPE_CONFIG */ TERMP_BOLD, /* TTYPE_CMD */ TERMP_BOLD, /* TTYPE_INCLUDE */ TERMP_BOLD, /* TTYPE_SYMB */ TERMP_BOLD, /* TTYPE_SYMBOL */ TERMP_BOLD, /* TTYPE_DIAG */ - TERMP_UNDERLINE, /* TTYPE_LINK_ANCHOR */ + TERMP_UNDER, /* TTYPE_LINK_ANCHOR */ TERMP_BOLD, /* TTYPE_LINK_TEXT */ - TERMP_UNDERLINE /* TTYPE_REF_TITLE */ + TERMP_UNDER /* TTYPE_REF_TITLE */ }; static int arg_hasattr(int, const struct mdoc_node *); @@ -149,6 +149,7 @@ DECL_PRE(termp_bsx); DECL_PRE(termp_bt); DECL_PRE(termp_cd); DECL_PRE(termp_cm); +DECL_PRE(termp_dx); DECL_PRE(termp_em); DECL_PRE(termp_ex); DECL_PRE(termp_fa); @@ -295,6 +296,10 @@ const struct termact __termacts[MDOC_MAX] = { { termp_brq_pre, termp_brq_post }, /* Brq */ { termp_brq_pre, termp_brq_post }, /* Bro */ { NULL, NULL }, /* Brc */ + { NULL, NULL }, /* %C */ + { NULL, NULL }, /* Es */ + { NULL, NULL }, /* En */ + { termp_dx_pre, NULL }, /* Dx */ }; const struct termact *termacts = __termacts; @@ -838,6 +843,7 @@ termp_rv_pre(DECL_ARGS) p->flags |= ttypes[TTYPE_FUNC_NAME]; word(p, *node->args->argv[i].value); p->flags &= ~ttypes[TTYPE_FUNC_NAME]; + p->flags |= TERMP_NOSPACE; word(p, "() function returns the value 0 if successful;"); word(p, "otherwise the value -1 is returned and the"); @@ -1388,6 +1394,16 @@ termp_ox_pre(DECL_ARGS) /* ARGSUSED */ static int +termp_dx_pre(DECL_ARGS) +{ + + word(p, "DragonFly"); + return(1); +} + + +/* ARGSUSED */ +static int termp_ux_pre(DECL_ARGS) { @@ -1467,8 +1483,12 @@ termp_ss_pre(DECL_ARGS) { switch (node->type) { + case (MDOC_BLOCK): + newln(p); + if (node->prev) + vspace(p); + break; case (MDOC_HEAD): - vspace(p); TERMPAIR_SETFLAG(p, pair, ttypes[TTYPE_SSECTION]); p->offset = INDENT / 2; break;