=================================================================== RCS file: /cvs/mandoc/mandoc.c,v retrieving revision 1.107 retrieving revision 1.109 diff -u -p -r1.107 -r1.109 --- mandoc/mandoc.c 2018/08/20 18:06:56 1.107 +++ mandoc/mandoc.c 2018/12/14 05:18:02 1.109 @@ -1,4 +1,4 @@ -/* $Id: mandoc.c,v 1.107 2018/08/20 18:06:56 schwarze Exp $ */ +/* $Id: mandoc.c,v 1.109 2018/12/14 05:18:02 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2011-2015, 2017, 2018 Ingo Schwarze @@ -304,8 +304,13 @@ mandoc_escape(const char **end, const char **start, in case ESCAPE_FONT: if (*sz == 2) { if (**start == 'C') { + if ((*start)[1] == 'W' || + (*start)[1] == 'R') { + gly = ESCAPE_FONTCW; + break; + } /* - * Treat constant-width font modes + * Treat other constant-width font modes * just like regular font modes. */ (*start)++; @@ -462,7 +467,7 @@ mandoc_getarg(struct mparse *parse, char **cpp, int ln /* Quoted argument without a closing quote. */ if (1 == quoted) - mandoc_msg(MANDOCERR_ARG_QUOTE, parse, ln, *pos, NULL); + mandoc_msg(MANDOCERR_ARG_QUOTE, ln, *pos, NULL); /* NUL-terminate this argument and move to the next one. */ if (pairs) @@ -476,7 +481,7 @@ mandoc_getarg(struct mparse *parse, char **cpp, int ln *cpp = cp; if ('\0' == *cp && (white || ' ' == cp[-1])) - mandoc_msg(MANDOCERR_SPACE_EOL, parse, ln, *pos, NULL); + mandoc_msg(MANDOCERR_SPACE_EOL, ln, *pos, NULL); return start; } @@ -557,7 +562,7 @@ mandoc_normdate(struct roff_man *man, char *in, int ln /* No date specified: use today's date. */ if (in == NULL || *in == '\0' || strcmp(in, "$" "Mdocdate$") == 0) { - mandoc_msg(MANDOCERR_DATE_MISSING, man->parse, ln, pos, NULL); + mandoc_msg(MANDOCERR_DATE_MISSING, ln, pos, NULL); return time2a(time(NULL)); } @@ -567,23 +572,20 @@ mandoc_normdate(struct roff_man *man, char *in, int ln a2time(&t, "%b %d, %Y", in)) { cp = time2a(t); if (t > time(NULL) + 86400) - mandoc_msg(MANDOCERR_DATE_FUTURE, man->parse, - ln, pos, cp); + mandoc_msg(MANDOCERR_DATE_FUTURE, ln, pos, "%s", cp); else if (*in != '$' && strcmp(in, cp) != 0) - mandoc_msg(MANDOCERR_DATE_NORM, man->parse, - ln, pos, cp); + mandoc_msg(MANDOCERR_DATE_NORM, ln, pos, "%s", cp); return cp; } /* In man(7), do not warn about the legacy format. */ if (a2time(&t, "%Y-%m-%d", in) == 0) - mandoc_msg(MANDOCERR_DATE_BAD, man->parse, ln, pos, in); + mandoc_msg(MANDOCERR_DATE_BAD, ln, pos, "%s", in); else if (t > time(NULL) + 86400) - mandoc_msg(MANDOCERR_DATE_FUTURE, man->parse, ln, pos, in); + mandoc_msg(MANDOCERR_DATE_FUTURE, ln, pos, "%s", in); else if (man->macroset == MACROSET_MDOC) - mandoc_vmsg(MANDOCERR_DATE_LEGACY, man->parse, - ln, pos, "Dd %s", in); + mandoc_msg(MANDOCERR_DATE_LEGACY, ln, pos, "Dd %s", in); /* Use any non-mdoc(7) date verbatim. */