-/* $Id: mdocml.c,v 1.26 2008/12/28 21:25:09 kristaps Exp $ */
+/* $Id: mdocml.c,v 1.34 2009/01/05 16:11:14 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
case (MDOC_HEAD):
p = mdoc_macronames[n->data.head.tok];
t = "block-head";
- params = n->data.head.args;
- sz = n->data.head.sz;
+ break;
+ case (MDOC_TAIL):
+ p = mdoc_macronames[n->data.tail.tok];
+ t = "block-tail";
break;
case (MDOC_ELEM):
- assert(NULL == n->child);
p = mdoc_macronames[n->data.elem.tok];
t = "element";
argv = n->data.elem.argv;
case (ERR_SYNTAX_ARGFORM):
fmt = "syntax: macro `%s' arguments malformed";
break;
+ case (ERR_SYNTAX_NOPUNCT):
+ fmt = "syntax: macro `%s' doesn't understand punctuation";
+ break;
case (ERR_SYNTAX_ARG):
fmt = "syntax: unknown argument for macro `%s'";
break;
case (ERR_SEC_NPROLOGUE):
fmt = "macro `%s' called outside of prologue";
break;
+ case (ERR_ARGS_EQ0):
+ fmt = "macro `%s' expects zero arguments";
+ break;
+ case (ERR_ARGS_EQ1):
+ fmt = "macro `%s' expects one argument";
+ break;
case (ERR_ARGS_GE1):
fmt = "macro `%s' expects one or more arguments";
break;
+ case (ERR_ARGS_LE2):
+ fmt = "macro `%s' expects two or fewer arguments";
+ break;
case (ERR_ARGS_MANY):
fmt = "macro `%s' has too many arguments";
break;
case (ERR_SYNTAX_ARGMANY):
lit = "syntax: too many values for macro argument";
break;
+ case (ERR_SYNTAX_CHILDHEAD):
+ lit = "syntax: expected only block-header section";
+ break;
+ case (ERR_SYNTAX_CHILDBODY):
+ lit = "syntax: expected only a block-body section";
+ break;
+ case (ERR_SYNTAX_EMPTYHEAD):
+ lit = "syntax: block-header section may not be empty";
+ break;
+ case (ERR_SYNTAX_EMPTYBODY):
+ lit = "syntax: block-body section may not be empty";
+ break;
default:
abort();
/* NOTREACHED */
case (WARN_SYNTAX_ARGLIKE):
lit = "syntax: argument-like value";
break;
+ case (WARN_SYNTAX_EMPTYBODY):
+ lit = "syntax: empty block-body section";
+ break;
case (WARN_SEC_OO):
lit = "section is out of conventional order";
break;
case (WARN_IGN_AFTER_BLK):
fmt = "ignore: macro `%s' ignored after block macro";
break;
+ case (WARN_IGN_OBSOLETE):
+ fmt = "ignore: macro `%s' is obsolete";
+ break;
case (WARN_IGN_BEFORE_BLK):
fmt = "ignore: macro before block macro `%s' ignored";
break;
+ case (WARN_COMPAT_TROFF):
+ fmt = "compat: macro `%s' behaves differently in troff and nroff";
+ break;
default:
abort();
/* NOTREACHED */