-/* $Id: mdoc_state.c,v 1.1 2015/10/20 02:01:32 schwarze Exp $ */
+/* $Id: mdoc_state.c,v 1.3 2015/10/30 18:53:54 schwarze Exp $ */
/*
* Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
*
typedef void (*state_handler)(STATE_ARGS);
static void state_bd(STATE_ARGS);
+static void state_bl(STATE_ARGS);
static void state_dl(STATE_ARGS);
static void state_sh(STATE_ARGS);
static void state_sm(STATE_ARGS);
state_dl, /* Dl */
state_bd, /* Bd */
NULL, /* Ed */
- NULL, /* Bl */
+ state_bl, /* Bl */
NULL, /* El */
NULL, /* It */
NULL, /* Ad */
(n->type != ROFFT_BODY || n->end != ENDBODY_NOT))
return;
+ if (n->parent->args == NULL)
+ return;
+
arg = n->parent->args->argv[0].arg;
if (arg != MDOC_Literal && arg != MDOC_Unfilled)
return;
state_dl(mdoc, n);
}
+static void
+state_bl(STATE_ARGS)
+{
+
+ if (n->type != ROFFT_HEAD || n->parent->args == NULL)
+ return;
+
+ switch(n->parent->args->argv[0].arg) {
+ case MDOC_Diag:
+ n->norm->Bl.type = LIST_diag;
+ break;
+ case MDOC_Column:
+ n->norm->Bl.type = LIST_column;
+ break;
+ default:
+ break;
+ }
+}
+
static void
state_dl(STATE_ARGS)
{