summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2010-05-13 20:34:29 +0000
committerschwarze <schwarze@openbsd.org>2010-05-13 20:34:29 +0000
commit76e1f6750b14c432f7a1ddea7ef59980ea7155e7 (patch)
tree612c6b74c5d122b8ef556eaff8e137daacc739c0
parentSynchronise amd64 more with other PMAP_DIRECT architectures. (step 1, (diff)
downloadwireguard-openbsd-76e1f6750b14c432f7a1ddea7ef59980ea7155e7.tar.xz
wireguard-openbsd-76e1f6750b14c432f7a1ddea7ef59980ea7155e7.zip
Remove the command line option -fno-ign-chars.
This option was not useful, you never want mandoc to die just because there is an invalid character in the input file, neither in production nor when linting: a warning is sufficient. This was particularly annoying because it was part of -fstrict and could not be switched off. "less is more" kristaps@
-rw-r--r--usr.bin/mandoc/main.c30
-rw-r--r--usr.bin/mandoc/man.h3
-rw-r--r--usr.bin/mandoc/man_validate.c6
-rw-r--r--usr.bin/mandoc/mandoc.111
-rw-r--r--usr.bin/mandoc/mdoc.h3
-rw-r--r--usr.bin/mandoc/mdoc_validate.c17
6 files changed, 21 insertions, 49 deletions
diff --git a/usr.bin/mandoc/main.c b/usr.bin/mandoc/main.c
index 8b86fb5bbd9..069c9436ad4 100644
--- a/usr.bin/mandoc/main.c
+++ b/usr.bin/mandoc/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.23 2010/04/13 06:52:12 jmc Exp $ */
+/* $Id: main.c,v 1.24 2010/05/13 20:34:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -63,7 +63,6 @@ struct curparse {
#define FL_IGN_SCOPE (1 << 0) /* Ignore scope errors. */
#define FL_NIGN_ESCAPE (1 << 1) /* Don't ignore bad escapes. */
#define FL_NIGN_MACRO (1 << 2) /* Don't ignore bad macros. */
-#define FL_NIGN_CHARS (1 << 3) /* Don't ignore bad chars. */
#define FL_IGN_ERRORS (1 << 4) /* Ignore failed parse. */
enum intt inttype; /* Input parsers... */
struct man *man;
@@ -79,8 +78,7 @@ struct curparse {
};
#define FL_STRICT FL_NIGN_ESCAPE | \
- FL_NIGN_MACRO | \
- FL_NIGN_CHARS
+ FL_NIGN_MACRO
static int foptions(int *, char *);
static int toptions(struct curparse *, char *);
@@ -234,12 +232,10 @@ man_init(struct curparse *curp)
/* Defaults from mandoc.1. */
- pflags = MAN_IGN_MACRO | MAN_IGN_ESCAPE | MAN_IGN_CHARS;
+ pflags = MAN_IGN_MACRO | MAN_IGN_ESCAPE;
if (curp->fflags & FL_NIGN_MACRO)
pflags &= ~MAN_IGN_MACRO;
- if (curp->fflags & FL_NIGN_CHARS)
- pflags &= ~MAN_IGN_CHARS;
if (curp->fflags & FL_NIGN_ESCAPE)
pflags &= ~MAN_IGN_ESCAPE;
@@ -258,7 +254,7 @@ mdoc_init(struct curparse *curp)
/* Defaults from mandoc.1. */
- pflags = MDOC_IGN_MACRO | MDOC_IGN_ESCAPE | MDOC_IGN_CHARS;
+ pflags = MDOC_IGN_MACRO | MDOC_IGN_ESCAPE;
if (curp->fflags & FL_IGN_SCOPE)
pflags |= MDOC_IGN_SCOPE;
@@ -266,8 +262,6 @@ mdoc_init(struct curparse *curp)
pflags &= ~MDOC_IGN_ESCAPE;
if (curp->fflags & FL_NIGN_MACRO)
pflags &= ~MDOC_IGN_MACRO;
- if (curp->fflags & FL_NIGN_CHARS)
- pflags &= ~MDOC_IGN_CHARS;
return(mdoc_alloc(curp, pflags, &mdoccb));
}
@@ -572,11 +566,10 @@ foptions(int *fflags, char *arg)
toks[0] = "ign-scope";
toks[1] = "no-ign-escape";
toks[2] = "no-ign-macro";
- toks[3] = "no-ign-chars";
- toks[4] = "ign-errors";
- toks[5] = "strict";
- toks[6] = "ign-escape";
- toks[7] = NULL;
+ toks[3] = "ign-errors";
+ toks[4] = "strict";
+ toks[5] = "ign-escape";
+ toks[6] = NULL;
while (*arg) {
o = arg;
@@ -591,15 +584,12 @@ foptions(int *fflags, char *arg)
*fflags |= FL_NIGN_MACRO;
break;
case (3):
- *fflags |= FL_NIGN_CHARS;
- break;
- case (4):
*fflags |= FL_IGN_ERRORS;
break;
- case (5):
+ case (4):
*fflags |= FL_STRICT;
break;
- case (6):
+ case (5):
*fflags &= ~FL_NIGN_ESCAPE;
break;
default:
diff --git a/usr.bin/mandoc/man.h b/usr.bin/mandoc/man.h
index 5c4372e03e5..ecf250e1dd4 100644
--- a/usr.bin/mandoc/man.h
+++ b/usr.bin/mandoc/man.h
@@ -1,4 +1,4 @@
-/* $Id: man.h,v 1.15 2010/04/25 16:32:19 schwarze Exp $ */
+/* $Id: man.h,v 1.16 2010/05/13 20:34:29 schwarze Exp $ */
/*
* Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -104,7 +104,6 @@ struct man_node {
};
#define MAN_IGN_MACRO (1 << 0)
-#define MAN_IGN_CHARS (1 << 1)
#define MAN_IGN_ESCAPE (1 << 2)
extern const char *const *man_macronames;
diff --git a/usr.bin/mandoc/man_validate.c b/usr.bin/mandoc/man_validate.c
index 66b5fc5248f..df27998d5a0 100644
--- a/usr.bin/mandoc/man_validate.c
+++ b/usr.bin/mandoc/man_validate.c
@@ -1,4 +1,4 @@
-/* $Id: man_validate.c,v 1.19 2010/04/25 16:32:19 schwarze Exp $ */
+/* $Id: man_validate.c,v 1.20 2010/05/13 20:34:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -228,9 +228,7 @@ check_text(CHKARGS)
if ('\t' == *p || isprint((u_char)*p))
continue;
- if (MAN_IGN_CHARS & m->pflags)
- return(man_pwarn(m, n->line, pos, WNPRINT));
- return(man_perr(m, n->line, pos, WNPRINT));
+ return(man_pwarn(m, n->line, pos, WNPRINT));
}
return(1);
diff --git a/usr.bin/mandoc/mandoc.1 b/usr.bin/mandoc/mandoc.1
index 9eca8bd85d4..9fecf524639 100644
--- a/usr.bin/mandoc/mandoc.1
+++ b/usr.bin/mandoc/mandoc.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: mandoc.1,v 1.27 2010/04/13 08:52:23 jmc Exp $
+.\" $OpenBSD: mandoc.1,v 1.28 2010/05/13 20:34:29 schwarze Exp $
.\"
.\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
.\"
@@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: April 13 2010 $
+.Dd $Mdocdate: May 13 2010 $
.Dt MANDOC 1
.Os
.Sh NAME
@@ -192,18 +192,15 @@ When rewinding the scope of a block macro, forces the compiler to ignore
scope violations.
This can seriously mangle the resulting tree.
.Pq mdoc only
-.It Fl f Ns Cm no-ign-chars
-Do not ignore disallowed characters.
.It Fl f Ns Cm no-ign-escape
Do not ignore invalid escape sequences.
.It Fl f Ns Cm no-ign-macro
Do not ignore unknown macros at the start of input lines.
.It Fl f Ns Cm strict
Implies
-.Fl f Ns Cm no-ign-escape ,
-.Fl f Ns Cm no-ign-macro ,
+.Fl f Ns Cm no-ign-escape
and
-.Fl f Ns Cm no-ign-chars .
+.Fl f Ns Cm no-ign-macro .
.El
.Ss Output Options
For the time being, only
diff --git a/usr.bin/mandoc/mdoc.h b/usr.bin/mandoc/mdoc.h
index 465b8e7ed34..a9c003b661e 100644
--- a/usr.bin/mandoc/mdoc.h
+++ b/usr.bin/mandoc/mdoc.h
@@ -1,4 +1,4 @@
-/* $Id: mdoc.h,v 1.19 2010/04/02 12:39:47 schwarze Exp $ */
+/* $Id: mdoc.h,v 1.20 2010/05/13 20:34:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -274,7 +274,6 @@ struct mdoc_node {
#define MDOC_IGN_SCOPE (1 << 0) /* Ignore scope violations. */
#define MDOC_IGN_ESCAPE (1 << 1) /* Ignore bad escape sequences. */
#define MDOC_IGN_MACRO (1 << 2) /* Ignore unknown macros. */
-#define MDOC_IGN_CHARS (1 << 3) /* Ignore disallowed chars. */
/* Call-backs for parse messages. */
diff --git a/usr.bin/mandoc/mdoc_validate.c b/usr.bin/mandoc/mdoc_validate.c
index 1d6a9934a04..308a52b2adb 100644
--- a/usr.bin/mandoc/mdoc_validate.c
+++ b/usr.bin/mandoc/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_validate.c,v 1.48 2010/04/07 23:15:05 schwarze Exp $ */
+/* $Id: mdoc_validate.c,v 1.49 2010/05/13 20:34:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -56,7 +56,6 @@ static int err_child_gt(struct mdoc *, const char *, int);
static int warn_child_gt(struct mdoc *, const char *, int);
static int err_child_eq(struct mdoc *, const char *, int);
static int warn_child_eq(struct mdoc *, const char *, int);
-static int warn_print(struct mdoc *, int, int);
static int warn_count(struct mdoc *, const char *,
int, const char *, int);
static int err_count(struct mdoc *, const char *,
@@ -322,16 +321,6 @@ mdoc_valid_post(struct mdoc *mdoc)
}
-static int
-warn_print(struct mdoc *m, int ln, int pos)
-{
-
- if (MDOC_IGN_CHARS & m->pflags)
- return(mdoc_pwarn(m, ln, pos, EPRINT));
- return(mdoc_perr(m, ln, pos, EPRINT));
-}
-
-
static inline int
warn_count(struct mdoc *m, const char *k,
int want, const char *v, int has)
@@ -517,10 +506,10 @@ check_text(struct mdoc *mdoc, int line, int pos, const char *p)
for ( ; *p; p++, pos++) {
if ('\t' == *p) {
if ( ! (MDOC_LITERAL & mdoc->flags))
- if ( ! warn_print(mdoc, line, pos))
+ if ( ! mdoc_pwarn(mdoc, line, pos, EPRINT))
return(0);
} else if ( ! isprint((u_char)*p))
- if ( ! warn_print(mdoc, line, pos))
+ if ( ! mdoc_pwarn(mdoc, line, pos, EPRINT))
return(0);
if ('\\' != *p)