From da98c7539daf0f47de95ebfe6c514b48047dcea0 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sun, 6 Feb 2011 21:44:36 +0000 Subject: Add initial libmdoc and libman top-most machinery for accepting TBL directives. For now this will just ignore them (except for -Ttree, which just notes that an EQN's been accepted). --- man.h | 3 ++- man_html.c | 2 ++ man_term.c | 2 ++ man_validate.c | 2 ++ mdoc.h | 1 + mdoc_html.c | 2 ++ mdoc_term.c | 4 ++++ mdoc_validate.c | 2 ++ tree.c | 12 ++++++++++++ 9 files changed, 29 insertions(+), 1 deletion(-) diff --git a/man.h b/man.h index 0533bcf5..13b7d0a7 100644 --- a/man.h +++ b/man.h @@ -67,7 +67,8 @@ enum man_type { MAN_BLOCK, MAN_HEAD, MAN_BODY, - MAN_TBL + MAN_TBL, + MAN_EQN }; /* diff --git a/man_html.c b/man_html.c index 9d48b68d..2d5330fc 100644 --- a/man_html.c +++ b/man_html.c @@ -215,6 +215,8 @@ print_man_node(MAN_ARGS) n->next->line > n->line)) print_otag(h, TAG_BR, 0, NULL); return; + case (MAN_EQN): + return; case (MAN_TBL): /* * This will take care of initialising all of the table diff --git a/man_term.c b/man_term.c index 97e97dea..d2ae385b 100644 --- a/man_term.c +++ b/man_term.c @@ -896,6 +896,8 @@ print_man_node(DECL_ARGS) if (MAN_EOS & n->flags) p->flags |= TERMP_SENTENCE; return; + case (MAN_EQN): + return; case (MAN_TBL): /* * Tables are preceded by a newline. Then process a diff --git a/man_validate.c b/man_validate.c index 4afaa758..885814af 100644 --- a/man_validate.c +++ b/man_validate.c @@ -121,6 +121,8 @@ man_valid_pre(struct man *m, struct man_node *n) /* FALLTHROUGH */ case (MAN_ROOT): /* FALLTHROUGH */ + case (MAN_EQN): + /* FALLTHROUGH */ case (MAN_TBL): return(1); default: diff --git a/mdoc.h b/mdoc.h index c81b8454..5e846d76 100644 --- a/mdoc.h +++ b/mdoc.h @@ -191,6 +191,7 @@ enum mdoc_type { MDOC_BODY, MDOC_BLOCK, MDOC_TBL, + MDOC_EQN, MDOC_ROOT }; diff --git a/mdoc_html.c b/mdoc_html.c index e07766fd..59bef0df 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -432,6 +432,8 @@ print_mdoc_node(MDOC_ARGS) print_otag(h, TAG_BR, 0, NULL); print_text(h, n->string); return; + case (MDOC_EQN): + return; case (MDOC_TBL): /* * This will take care of initialising all of the table diff --git a/mdoc_term.c b/mdoc_term.c index bad775e9..7eae63ce 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -319,6 +319,8 @@ print_mdoc_node(DECL_ARGS) term_newln(p); term_word(p, n->string); break; + case (MDOC_EQN): + break; case (MDOC_TBL): term_tbl(p, n->span); break; @@ -369,6 +371,8 @@ print_mdoc_node(DECL_ARGS) break; case (MDOC_TBL): break; + case (MDOC_EQN): + break; default: if ( ! termacts[n->tok].post || MDOC_ENDED & n->flags) break; diff --git a/mdoc_validate.c b/mdoc_validate.c index 1b6fd138..852262e8 100644 --- a/mdoc_validate.c +++ b/mdoc_validate.c @@ -338,6 +338,8 @@ mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n) /* FALLTHROUGH */ case (MDOC_TBL): /* FALLTHROUGH */ + case (MDOC_EQN): + /* FALLTHROUGH */ case (MDOC_ROOT): return(1); default: diff --git a/tree.c b/tree.c index fb565d23..8092591b 100644 --- a/tree.c +++ b/tree.c @@ -92,6 +92,9 @@ print_mdoc(const struct mdoc_node *n, int indent) case (MDOC_TBL): t = "tbl"; break; + case (MDOC_EQN): + t = "eqn"; + break; default: abort(); /* NOTREACHED */ @@ -128,6 +131,9 @@ print_mdoc(const struct mdoc_node *n, int indent) break; case (MDOC_TBL): break; + case (MDOC_EQN): + p = "eqn"; + break; case (MDOC_ROOT): p = "root"; break; @@ -198,6 +204,9 @@ print_man(const struct man_node *n, int indent) case (MAN_TBL): t = "tbl"; break; + case (MAN_EQN): + t = "eqn"; + break; default: abort(); /* NOTREACHED */ @@ -223,6 +232,9 @@ print_man(const struct man_node *n, int indent) break; case (MAN_TBL): break; + case (MAN_EQN): + p = "eqn"; + break; default: abort(); /* NOTREACHED */ -- cgit