=================================================================== RCS file: /cvs/mandoc/Attic/mdoc_action.c,v retrieving revision 1.63 retrieving revision 1.68 diff -u -p -r1.63 -r1.68 --- mandoc/Attic/mdoc_action.c 2010/05/30 11:00:53 1.63 +++ mandoc/Attic/mdoc_action.c 2010/06/12 12:38:01 1.68 @@ -1,4 +1,4 @@ -/* $Id: mdoc_action.c,v 1.63 2010/05/30 11:00:53 kristaps Exp $ */ +/* $Id: mdoc_action.c,v 1.68 2010/06/12 12:38:01 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -68,9 +68,7 @@ static int post_st(POST_ARGS); static int post_std(POST_ARGS); static int pre_bd(PRE_ARGS); -static int pre_bl(PRE_ARGS); static int pre_dl(PRE_ARGS); -static int pre_offset(PRE_ARGS); static const struct actions mdoc_actions[MDOC_MAX] = { { NULL, NULL }, /* Ap */ @@ -84,7 +82,7 @@ static const struct actions mdoc_actions[MDOC_MAX] = { { pre_dl, post_display }, /* Dl */ { pre_bd, post_display }, /* Bd */ { NULL, NULL }, /* Ed */ - { pre_bl, post_bl }, /* Bl */ + { NULL, post_bl }, /* Bl */ { NULL, NULL }, /* El */ { NULL, NULL }, /* It */ { NULL, NULL }, /* Ad */ @@ -194,6 +192,7 @@ static const struct actions mdoc_actions[MDOC_MAX] = { { NULL, NULL }, /* br */ { NULL, NULL }, /* sp */ { NULL, NULL }, /* %U */ + { NULL, NULL }, /* Ta */ }; #define RSORD_MAX 14 @@ -936,115 +935,17 @@ pre_dl(PRE_ARGS) } -/* ARGSUSED */ static int -pre_offset(PRE_ARGS) -{ - int i; - - /* - * Make sure that an empty offset produces an 8n length space as - * stipulated by mdoc.samples. - */ - - assert(n->args); - for (i = 0; i < (int)n->args->argc; i++) { - if (MDOC_Offset != n->args->argv[i].arg) - continue; - if (n->args->argv[i].sz) - break; - assert(1 == n->args->refcnt); - /* If no value set, length of . */ - n->args->argv[i].sz++; - n->args->argv[i].value = mandoc_malloc(sizeof(char *)); - n->args->argv[i].value[0] = mandoc_strdup("8n"); - break; - } - - return(1); -} - - -static int -pre_bl(PRE_ARGS) -{ - int pos; - - if (MDOC_BLOCK != n->type) { - assert(n->parent); - assert(MDOC_BLOCK == n->parent->type); - assert(MDOC_Bl == n->parent->tok); - assert(LIST__NONE != n->parent->data.list); - n->data.list = n->parent->data.list; - return(1); - } - - assert(LIST__NONE == n->data.list); - - for (pos = 0; pos < (int)n->args->argc; pos++) { - switch (n->args->argv[pos].arg) { - case (MDOC_Bullet): - n->data.list = LIST_bullet; - break; - case (MDOC_Dash): - n->data.list = LIST_dash; - break; - case (MDOC_Enum): - n->data.list = LIST_enum; - break; - case (MDOC_Hyphen): - n->data.list = LIST_hyphen; - break; - case (MDOC_Item): - n->data.list = LIST_item; - break; - case (MDOC_Tag): - n->data.list = LIST_tag; - break; - case (MDOC_Diag): - n->data.list = LIST_diag; - break; - case (MDOC_Hang): - n->data.list = LIST_hang; - break; - case (MDOC_Ohang): - n->data.list = LIST_ohang; - break; - case (MDOC_Inset): - n->data.list = LIST_inset; - break; - case (MDOC_Column): - n->data.list = LIST_column; - break; - default: - break; - } - if (LIST__NONE != n->data.list) - break; - } - - assert(LIST__NONE != n->data.list); - return(pre_offset(m, n)); -} - - -static int pre_bd(PRE_ARGS) { - int i; - if (MDOC_BLOCK == n->type) - return(pre_offset(m, n)); if (MDOC_BODY != n->type) return(1); - /* Enter literal context if `Bd -literal' or `-unfilled'. */ - - for (n = n->parent, i = 0; i < (int)n->args->argc; i++) - if (MDOC_Literal == n->args->argv[i].arg) - m->flags |= MDOC_LITERAL; - else if (MDOC_Unfilled == n->args->argv[i].arg) - m->flags |= MDOC_LITERAL; + if (DISP_literal == n->data.Bd.type) + m->flags |= MDOC_LITERAL; + if (DISP_unfilled == n->data.Bd.type) + m->flags |= MDOC_LITERAL; return(1); }