source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Clean up messages related to plain text and to escape sequences.
@ 2014-07-06 19:09 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2014-07-06 19:09 UTC (permalink / raw)
  To: source

Log Message:
-----------
Clean up messages related to plain text and to escape sequences.
* Mention invalid escape sequences and string names, and fallbacks.
* Hierarchical naming.

Modified Files:
--------------
    mdocml:
        eqn.c
        man.c
        man_validate.c
        mandoc.c
        mandoc.h
        mdoc.c
        mdoc_argv.c
        mdoc_validate.c
        read.c
        roff.c

Revision Data
-------------
Index: mandoc.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mandoc.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -Lmandoc.c -Lmandoc.c -u -p -r1.82 -r1.83
--- mandoc.c
+++ mandoc.c
@@ -429,7 +429,7 @@ mandoc_getarg(struct mparse *parse, char
 
 	/* Quoted argument without a closing quote. */
 	if (1 == quoted)
-		mandoc_msg(MANDOCERR_BADQUOTE, parse, ln, *pos, NULL);
+		mandoc_msg(MANDOCERR_ARG_QUOTE, parse, ln, *pos, NULL);
 
 	/* NUL-terminate this argument and move to the next one. */
 	if (pairs)
@@ -443,7 +443,7 @@ mandoc_getarg(struct mparse *parse, char
 	*cpp = cp;
 
 	if ('\0' == *cp && (white || ' ' == cp[-1]))
-		mandoc_msg(MANDOCERR_EOLNSPACE, parse, ln, *pos, NULL);
+		mandoc_msg(MANDOCERR_SPACE_EOL, parse, ln, *pos, NULL);
 
 	return(start);
 }
Index: man.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man.c,v
retrieving revision 1.130
retrieving revision 1.131
diff -Lman.c -Lman.c -u -p -r1.130 -r1.131
--- man.c
+++ man.c
@@ -447,7 +447,8 @@ man_ptext(struct man *man, int line, cha
 
 	if (' ' == buf[i - 1] || '\t' == buf[i - 1]) {
 		if (i > 1 && '\\' != buf[i - 2])
-			man_pmsg(man, line, i - 1, MANDOCERR_EOLNSPACE);
+			mandoc_msg(MANDOCERR_SPACE_EOL, man->parse,
+			    line, i - 1, NULL);
 
 		for (--i; i && ' ' == buf[i]; i--)
 			/* Spin back to non-space. */ ;
@@ -483,7 +484,8 @@ man_pmacro(struct man *man, int ln, char
 	struct man_node	*n;
 
 	if ('"' == buf[offs]) {
-		man_pmsg(man, ln, offs, MANDOCERR_BADCOMMENT);
+		mandoc_msg(MANDOCERR_COMMENT_BAD, man->parse,
+		    ln, offs, NULL);
 		return(1);
 	} else if ('\0' == buf[offs])
 		return(1);
@@ -521,7 +523,8 @@ man_pmacro(struct man *man, int ln, char
 	 */
 
 	if ('\0' == buf[offs] && ' ' == buf[offs - 1])
-		man_pmsg(man, ln, offs - 1, MANDOCERR_EOLNSPACE);
+		mandoc_msg(MANDOCERR_SPACE_EOL, man->parse,
+		    ln, offs - 1, NULL);
 
 	/*
 	 * Remove prior ELINE macro, as it's being clobbered by a new
Index: mdoc.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc.c,v
retrieving revision 1.217
retrieving revision 1.218
diff -Lmdoc.c -Lmdoc.c -u -p -r1.217 -r1.218
--- mdoc.c
+++ mdoc.c
@@ -797,10 +797,12 @@ mdoc_ptext(struct mdoc *mdoc, int line, 
 	*end = '\0';
 
 	if (ws)
-		mdoc_pmsg(mdoc, line, (int)(ws-buf), MANDOCERR_EOLNSPACE);
+		mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
+		    line, (int)(ws-buf), NULL);
 
 	if ('\0' == buf[offs] && ! (MDOC_LITERAL & mdoc->flags)) {
-		mdoc_pmsg(mdoc, line, (int)(c-buf), MANDOCERR_NOBLANKLN);
+		mandoc_msg(MANDOCERR_FI_BLANK, mdoc->parse,
+		    line, (int)(c - buf), NULL);
 
 		/*
 		 * Insert a `sp' in the case of a blank line.  Technically,
@@ -850,7 +852,8 @@ mdoc_pmacro(struct mdoc *mdoc, int ln, c
 	/* Empty post-control lines are ignored. */
 
 	if ('"' == buf[offs]) {
-		mdoc_pmsg(mdoc, ln, offs, MANDOCERR_BADCOMMENT);
+		mandoc_msg(MANDOCERR_COMMENT_BAD, mdoc->parse,
+		    ln, offs, NULL);
 		return(1);
 	} else if ('\0' == buf[offs])
 		return(1);
@@ -893,7 +896,8 @@ mdoc_pmacro(struct mdoc *mdoc, int ln, c
 	 */
 
 	if ('\0' == buf[offs] && ' ' == buf[offs - 1])
-		mdoc_pmsg(mdoc, ln, offs - 1, MANDOCERR_EOLNSPACE);
+		mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
+		    ln, offs - 1, NULL);
 
 	/*
 	 * If an initial macro or a list invocation, divert directly
Index: mandoc.h
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mandoc.h,v
retrieving revision 1.136
retrieving revision 1.137
diff -Lmandoc.h -Lmandoc.h -u -p -r1.136 -r1.137
--- mandoc.h
+++ mandoc.h
@@ -98,8 +98,9 @@ enum	mandocerr {
 	MANDOCERR_BF_BADFONT, /* unknown font type, using \fR: macro font */
 	MANDOCERR_ARG_STD, /* missing -std argument, adding it: macro */
 
-	/* related to bad macro arguments */
+	/* related to bad arguments */
 	MANDOCERR_IGNARGV, /* skipping argument */
+	MANDOCERR_ARG_QUOTE, /* unterminated quoted argument */
 	MANDOCERR_ARG_REP, /* duplicate argument: macro arg */
 	MANDOCERR_BD_REP, /* skipping duplicate display type: type */
 	MANDOCERR_BL_REP, /* skipping duplicate list type: type */
@@ -108,12 +109,12 @@ enum	mandocerr {
 	MANDOCERR_FT_BAD, /* unknown font, skipping request: request font */
 
 	/* related to plain text */
-	MANDOCERR_NOBLANKLN, /* blank line in non-literal context */
-	MANDOCERR_BADTAB, /* tab in non-literal context */
-	MANDOCERR_EOLNSPACE, /* end of line whitespace */
-	MANDOCERR_BADCOMMENT, /* bad comment style */
-	MANDOCERR_BADESCAPE, /* bad escape sequence */
-	MANDOCERR_BADQUOTE, /* unterminated quoted string */
+	MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */
+	MANDOCERR_FI_TAB, /* tab in filled text */
+	MANDOCERR_SPACE_EOL, /* whitespace at end of input line */
+	MANDOCERR_COMMENT_BAD, /* bad comment style */
+	MANDOCERR_ESC_BAD, /* invalid escape sequence: esc */
+	MANDOCERR_STR_UNDEF, /* undefined string, using "": name */
 
 	MANDOCERR_ERROR, /* ===== start of errors ===== */
 
Index: roff.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/roff.c,v
retrieving revision 1.218
retrieving revision 1.219
diff -Lroff.c -Lroff.c -u -p -r1.218 -r1.219
--- roff.c
+++ roff.c
@@ -542,8 +542,9 @@ roff_res(struct roff *r, char **bufp, si
 			break;
 		default:
 			if (ESCAPE_ERROR == mandoc_escape(&cp, NULL, NULL))
-				mandoc_msg(MANDOCERR_BADESCAPE, r->parse,
-				    ln, (int)(stesc - *bufp), NULL);
+				mandoc_vmsg(MANDOCERR_ESC_BAD,
+				    r->parse, ln, (int)(stesc - *bufp),
+				    "%.*s", (int)(cp - stesc), stesc);
 			continue;
 		}
 
@@ -588,8 +589,8 @@ roff_res(struct roff *r, char **bufp, si
 		arg_complete = 1;
 		for (naml = 0; 0 == maxl || naml < maxl; naml++, cp++) {
 			if ('\0' == *cp) {
-				mandoc_msg(MANDOCERR_BADESCAPE, r->parse,
-				    ln, (int)(stesc - *bufp), NULL);
+				mandoc_msg(MANDOCERR_ESC_BAD, r->parse,
+				    ln, (int)(stesc - *bufp), stesc);
 				arg_complete = 0;
 				break;
 			}
@@ -631,8 +632,9 @@ roff_res(struct roff *r, char **bufp, si
 		}
 
 		if (NULL == res) {
-			mandoc_msg(MANDOCERR_BADESCAPE, r->parse,
-			    ln, (int)(stesc - *bufp), NULL);
+			mandoc_vmsg(MANDOCERR_STR_UNDEF,
+			    r->parse, ln, (int)(stesc - *bufp),
+			    "%.*s", (int)naml, stnam);
 			res = "";
 		}
 
@@ -1894,9 +1896,8 @@ roff_tr(ROFF_ARGS)
 		if ('\\' == *first) {
 			esc = mandoc_escape(&p, NULL, NULL);
 			if (ESCAPE_ERROR == esc) {
-				mandoc_msg(MANDOCERR_BADESCAPE,
-				    r->parse, ln,
-				    (int)(p - *bufp), NULL);
+				mandoc_msg(MANDOCERR_ESC_BAD, r->parse,
+				    ln, (int)(p - *bufp), first);
 				return(ROFF_IGN);
 			}
 			fsz = (size_t)(p - first);
@@ -1906,9 +1907,8 @@ roff_tr(ROFF_ARGS)
 		if ('\\' == *second) {
 			esc = mandoc_escape(&p, NULL, NULL);
 			if (ESCAPE_ERROR == esc) {
-				mandoc_msg(MANDOCERR_BADESCAPE,
-				    r->parse, ln,
-				    (int)(p - *bufp), NULL);
+				mandoc_msg(MANDOCERR_ESC_BAD, r->parse,
+				    ln, (int)(p - *bufp), second);
 				return(ROFF_IGN);
 			}
 			ssz = (size_t)(p - second);
Index: eqn.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/eqn.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -Leqn.c -Leqn.c -u -p -r1.43 -r1.44
--- eqn.c
+++ eqn.c
@@ -768,7 +768,7 @@ again:
 			ep->cur++;
 	} else {
 		if (q)
-			EQN_MSG(MANDOCERR_BADQUOTE, ep);
+			EQN_MSG(MANDOCERR_ARG_QUOTE, ep);
 		next = strchr(start, '\0');
 		*sz = (size_t)(next - start);
 		ep->cur += *sz;
Index: mdoc_validate.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_validate.c,v
retrieving revision 1.228
retrieving revision 1.229
diff -Lmdoc_validate.c -Lmdoc_validate.c -u -p -r1.228 -r1.229
--- mdoc_validate.c
+++ mdoc_validate.c
@@ -551,7 +551,8 @@ check_text(struct mdoc *mdoc, int ln, in
 		return;
 
 	for (cp = p; NULL != (p = strchr(p, '\t')); p++)
-		mdoc_pmsg(mdoc, ln, pos + (int)(p - cp), MANDOCERR_BADTAB);
+		mandoc_msg(MANDOCERR_FI_TAB, mdoc->parse,
+		    ln, pos + (int)(p - cp), NULL);
 }
 
 static int
Index: mdoc_argv.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_argv.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -Lmdoc_argv.c -Lmdoc_argv.c -u -p -r1.94 -r1.95
--- mdoc_argv.c
+++ mdoc_argv.c
@@ -461,7 +461,8 @@ args(struct mdoc *mdoc, int line, int *p
 		 * is unterminated.
 		 */
 		if (MDOC_PHRASELIT & mdoc->flags)
-			mdoc_pmsg(mdoc, line, *pos, MANDOCERR_BADQUOTE);
+			mandoc_msg(MANDOCERR_ARG_QUOTE,
+			    mdoc->parse, line, *pos, NULL);
 
 		mdoc->flags &= ~MDOC_PHRASELIT;
 		return(ARGS_EOLN);
@@ -520,7 +521,8 @@ args(struct mdoc *mdoc, int line, int *p
 
 		/* Whitespace check for eoln case... */
 		if ('\0' == *p && ' ' == *(p - 1))
-			mdoc_pmsg(mdoc, line, *pos, MANDOCERR_EOLNSPACE);
+			mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
+			    line, *pos, NULL);
 
 		*pos += (int)(p - *v);
 
@@ -575,7 +577,8 @@ args(struct mdoc *mdoc, int line, int *p
 		if ('\0' == buf[*pos]) {
 			if (MDOC_PPHRASE & mdoc->flags)
 				return(ARGS_QWORD);
-			mdoc_pmsg(mdoc, line, *pos, MANDOCERR_BADQUOTE);
+			mandoc_msg(MANDOCERR_ARG_QUOTE,
+			    mdoc->parse, line, *pos, NULL);
 			return(ARGS_QWORD);
 		}
 
@@ -589,7 +592,8 @@ args(struct mdoc *mdoc, int line, int *p
 			(*pos)++;
 
 		if ('\0' == buf[*pos])
-			mdoc_pmsg(mdoc, line, *pos, MANDOCERR_EOLNSPACE);
+			mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
+			    line, *pos, NULL);
 
 		return(ARGS_QWORD);
 	}
Index: man_validate.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man_validate.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -Lman_validate.c -Lman_validate.c -u -p -r1.98 -r1.99
--- man_validate.c
+++ man_validate.c
@@ -230,7 +230,8 @@ check_text(CHKARGS)
 
 	cp = n->string;
 	for (p = cp; NULL != (p = strchr(p, '\t')); p++)
-		man_pmsg(man, n->line, (int)(p - cp), MANDOCERR_BADTAB);
+		mandoc_msg(MANDOCERR_FI_TAB, man->parse,
+		    n->line, n->pos + (p - cp), NULL);
 }
 
 #define	INEQ_DEFINE(x, ineq, name) \
Index: read.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/read.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -Lread.c -Lread.c -u -p -r1.63 -r1.64
--- read.c
+++ read.c
@@ -144,6 +144,7 @@ static	const char * const	mandocerrs[MAN
 
 	/* related to bad macro arguments */
 	"skipping argument",
+	"unterminated quoted argument",
 	"duplicate argument",
 	"skipping duplicate display type",
 	"skipping duplicate list type",
@@ -152,12 +153,12 @@ static	const char * const	mandocerrs[MAN
 	"unknown font, skipping request",
 
 	/* related to plain text */
-	"blank line in non-literal context",
-	"tab in non-literal context",
-	"end of line whitespace",
+	"blank line in fill mode, using .sp",
+	"tab in filled text",
+	"whitespace at end of input line",
 	"bad comment style",
-	"bad escape sequence",
-	"unterminated quoted string",
+	"invalid escape sequence",
+	"undefined string, using \"\"",
 
 	"generic error",
 
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-06 19:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-06 19:09 mdocml: Clean up messages related to plain text and to escape sequences schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).