diff options
-rw-r--r-- | mlg.c | 22 | ||||
-rw-r--r-- | roff.c | 12 | ||||
-rw-r--r-- | roff.h | 6 |
3 files changed, 35 insertions, 5 deletions
@@ -426,6 +426,17 @@ mlg_roffspecial(void *arg, int tok, const char *start, char **more) p = (struct md_mlg *)arg; switch (tok) { + case (ROFF_Bt): + assert(NULL == *more); + if ( ! mlg_begintag(p, MD_NS_INLINE, tok, NULL, NULL)) + return(0); + if ( ! ml_puts(p->mbuf, "is currently in beta " + "test.", &p->pos)) + return(0); + if ( ! mlg_endtag(p, MD_NS_INLINE, tok)) + return(0); + break; + case (ROFF_Xr): if ( ! *more) { mlg_err(p, start, start, "missing argument"); @@ -495,6 +506,17 @@ mlg_roffspecial(void *arg, int tok, const char *start, char **more) return(0); break; + case (ROFF_Ud): + assert(NULL == *more); + if ( ! mlg_begintag(p, MD_NS_INLINE, tok, NULL, NULL)) + return(0); + if ( ! ml_puts(p->mbuf, "currently under " + "development.", &p->pos)) + return(0); + if ( ! mlg_endtag(p, MD_NS_INLINE, tok)) + return(0); + break; + default: mlg_err(p, start, start, "`%s' not yet supported", toknames[tok]); @@ -660,6 +660,16 @@ roffspecial(struct rofftree *tree, int tok, return(0); } break; + + case (ROFF_Ud): + /* FALLTHROUGH */ + case (ROFF_Bt): + if (0 != sz) { + roff_err(tree, start, "`%s' expects no args", + toknames[tok]); + return(0); + } + break; default: break; } @@ -1170,8 +1180,6 @@ roff_layout(ROFFCALL_ARGS) static int roff_ordered(ROFFCALL_ARGS) { - /* FIXME: the tail-switch statement is in two different places: - * consolidate. */ int i, first, c, argcp[ROFF_MAXLINEARG]; char *ordp[ROFF_MAXLINEARG], *p, *argvp[ROFF_MAXLINEARG]; @@ -199,10 +199,10 @@ static const struct rofftok tokens[ROFF_MAX] = { { roff_noop, NULL, roffparent_Oc, NULL, ROFF_Oo, ROFF_LAYOUT, 0 }, /* Oc */ { roff_layout, roffarg_Bk, NULL, NULL, 0, ROFF_LAYOUT, 0 }, /* Bk */ { roff_noop, NULL, NULL, NULL, ROFF_Bk, ROFF_LAYOUT, 0 }, /* Ek */ - { NULL, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Bt */ +/*Ok*/ {roff_ordered, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Bt */ { NULL, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Hf */ - { roff_depr, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Fr */ - { NULL, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Ud */ +/*Ok*/ { roff_depr, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Fr */ +/*Ok*/ {roff_ordered, NULL, NULL, NULL, 0, ROFF_TEXT, 0 }, /* Ud */ }; #define ROFF_VALUE (1 << 0) |