[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mandoc-source
Subject:    mdocml: Use proper error for `An' multiple arguments.
From:       kristaps () mdocml ! bsd ! lv
Date:       2010-10-11 15:46:20
Message-ID: 201010111546.o9BFkKis032204 () krisdoz ! my ! domain
[Download RAW message or body]

Log Message:
-----------
Use proper error for `An' multiple arguments.

Making IGNARGV be an ERROR, not a WARNING, as information is lost.

Modified Files:
--------------
    mdocml:
        main.c
        mandoc.h
        mdoc_validate.c

Revision Data
-------------
Index: mdoc_validate.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_validate.c,v
retrieving revision 1.120
retrieving revision 1.121
diff -Lmdoc_validate.c -Lmdoc_validate.c -u -p -r1.120 -r1.121
--- mdoc_validate.c
+++ mdoc_validate.c
@@ -893,14 +893,15 @@ pre_it(PRE_ARGS)
 static int
 pre_an(PRE_ARGS)
 {
+	int		 i;
 
 	if (NULL == n->args)
 		return(1);
-	if (n->args->argc > 1)
-		if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_ARGCOUNT))
+	
+	for (i = 1; i < (int)n->args->argc; i++)
+		if ( ! mdoc_pmsg(mdoc, n->args->argv[i].line,
+			n->args->argv[i].pos, MANDOCERR_IGNARGV))
 			return(0);
-
-	/* FIXME: this should use a different error message. */
 
 	if (MDOC_Split == n->args->argv[0].arg)
 		n->data.An.auth = AUTH_split;
Index: mandoc.h
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mandoc.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -Lmandoc.h -Lmandoc.h -u -p -r1.22 -r1.23
--- mandoc.h
+++ mandoc.h
@@ -59,7 +59,6 @@ enum	mandocerr {
 	MANDOCERR_NOWIDTHARG, /* argument requires the width argument */
 	/* FIXME: merge with MANDOCERR_IGNARGV. */
 	MANDOCERR_WIDTHARG, /* superfluous width argument */
-	MANDOCERR_IGNARGV, /* ignoring argument */
 	MANDOCERR_BADDATE, /* bad date argument */
 	MANDOCERR_BADWIDTH, /* bad width argument */
 	MANDOCERR_BADMSEC, /* unknown manual section */
@@ -75,6 +74,7 @@ enum	mandocerr {
 	MANDOCERR_LISTREP, /* list type repeated */
 	MANDOCERR_DISPREP, /* display type repeated */
 	MANDOCERR_ARGVREP, /* argument repeated */
+	MANDOCERR_IGNARGV, /* ignoring argument */
 	MANDOCERR_NONAME, /* manual name not yet set */
 	MANDOCERR_MACROOBS, /* obsolete macro ignored */
 	MANDOCERR_MACROEMPTY, /* empty macro ignored */
Index: main.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/main.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -Lmain.c -Lmain.c -u -p -r1.107 -r1.108
--- main.c
+++ main.c
@@ -132,7 +132,6 @@ static	const char * const	mandocerrs[MAN
 	"unterminated quoted string",
 	"argument requires the width argument",
 	"superfluous width argument",
-	"ignoring argument",
 	"bad date argument",
 	"bad width argument",
 	"unknown manual section",
@@ -149,6 +148,7 @@ static	const char * const	mandocerrs[MAN
 	"list type repeated",
 	"display type repeated",
 	"argument repeated",
+	"ignoring argument",
 	"manual name not yet set",
 	"obsolete macro ignored",
 	"empty macro ignored",
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic