]> git.cameronkatri.com Git - mandoc.git/commitdiff
Remove -fno-ign-chars as well-argued by Ingo Schwarze. Patch by Ingo Schwarze, too.
authorKristaps Dzonsons <kristaps@bsd.lv>
Sun, 9 May 2010 21:19:42 +0000 (21:19 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Sun, 9 May 2010 21:19:42 +0000 (21:19 +0000)
index.sgml
main.c
man.h
man_validate.c
mandoc.1
mdoc.h
mdoc_validate.c

index 2c54566b50e850f5d4d2edf5d74422bb5eb57786..3e3284561fb085d93b19b79fcfadefe68e443c08 100644 (file)
                                        <TABLE WIDTH="100%" CELLPADDING="2">
                                                <COL CLASS="date">
                                                <TBODY>
                                        <TABLE WIDTH="100%" CELLPADDING="2">
                                                <COL CLASS="date">
                                                <TBODY>
+                                                       <TR>
+                                                               <TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD>
+                                                               <TD VALIGN="top">
+                                                               Fixed handling of <Q>\*(Ba</Q> escape.  Backed out <SPAN
+                                                               CLASS="flag">-fno-ign-chars</SPAN> (pointless complexity).
+                                                               Version: <SPAN CLASS="rev">1.9.24</SPAN>.
+                                                       </TR>
                                                        <TR>
                                                                <TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD>
                                                                <TD VALIGN="top">
                                                        <TR>
                                                                <TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD>
                                                                <TD VALIGN="top">
                        <TR>
                                <TD>
                                        <DIV CLASS="foot">
                        <TR>
                                <TD>
                                        <DIV CLASS="foot">
-                                               Copyright &#169; 2008&#8211;2010 Kristaps Dzonsons, $Date: 2010/05/09 06:50:23 $
+                                               Copyright &#169; 2008&#8211;2010 Kristaps Dzonsons, $Date: 2010/05/09 21:19:42 $
                                        </DIV>
                                </TD>
                        </TR>
                                        </DIV>
                                </TD>
                        </TR>
diff --git a/main.c b/main.c
index 740bd86e68cd896e770edd76245874c03914c054..9eee9aeaff320d21939248e5cc57087cc94089e0 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/*     $Id: main.c,v 1.61 2010/04/12 19:27:22 kristaps Exp $ */
+/*     $Id: main.c,v 1.62 2010/05/09 21:19:42 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -75,7 +75,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_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;
 #define        FL_IGN_ERRORS    (1 << 4)       /* Ignore failed parse. */
        enum intt         inttype;      /* Input parsers... */
        struct man       *man;
@@ -91,8 +90,7 @@ struct        curparse {
 };
 
 #define        FL_STRICT         FL_NIGN_ESCAPE | \
 };
 
 #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 *);
 
 static int               foptions(int *, char *);
 static int               toptions(struct curparse *, char *);
@@ -246,12 +244,10 @@ man_init(struct curparse *curp)
 
        /* Defaults from mandoc.1. */
 
 
        /* 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_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;
 
        if (curp->fflags & FL_NIGN_ESCAPE)
                pflags &= ~MAN_IGN_ESCAPE;
 
@@ -270,7 +266,7 @@ mdoc_init(struct curparse *curp)
 
        /* Defaults from mandoc.1. */
 
 
        /* 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;
 
        if (curp->fflags & FL_IGN_SCOPE)
                pflags |= MDOC_IGN_SCOPE;
@@ -278,8 +274,6 @@ mdoc_init(struct curparse *curp)
                pflags &= ~MDOC_IGN_ESCAPE;
        if (curp->fflags & FL_NIGN_MACRO)
                pflags &= ~MDOC_IGN_MACRO;
                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));
 }
 
        return(mdoc_alloc(curp, pflags, &mdoccb));
 }
@@ -590,11 +584,10 @@ foptions(int *fflags, char *arg)
        toks[0] = "ign-scope";
        toks[1] = "no-ign-escape";
        toks[2] = "no-ign-macro";
        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;
 
        while (*arg) {
                o = arg;
@@ -609,15 +602,12 @@ foptions(int *fflags, char *arg)
                        *fflags |= FL_NIGN_MACRO;
                        break;
                case (3):
                        *fflags |= FL_NIGN_MACRO;
                        break;
                case (3):
-                       *fflags |= FL_NIGN_CHARS;
-                       break;
-               case (4):
                        *fflags |= FL_IGN_ERRORS;
                        break;
                        *fflags |= FL_IGN_ERRORS;
                        break;
-               case (5):
+               case (4):
                        *fflags |= FL_STRICT;
                        break;
                        *fflags |= FL_STRICT;
                        break;
-               case (6):
+               case (5):
                        *fflags &= ~FL_NIGN_ESCAPE;
                        break;
                default:
                        *fflags &= ~FL_NIGN_ESCAPE;
                        break;
                default:
diff --git a/man.h b/man.h
index cbcbaea9d940515008b2961925eac75196a67623..856e4192a43e951bfb8fa1df295b58ed55ee0d26 100644 (file)
--- a/man.h
+++ b/man.h
@@ -1,4 +1,4 @@
-/*     $Id: man.h,v 1.27 2010/03/27 10:13:16 kristaps Exp $ */
+/*     $Id: man.h,v 1.28 2010/05/09 21:19:42 kristaps Exp $ */
 /*
  * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
 /*
  * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -100,7 +100,6 @@ struct      man_node {
 };
 
 #define        MAN_IGN_MACRO    (1 << 0)
 };
 
 #define        MAN_IGN_MACRO    (1 << 0)
-#define        MAN_IGN_CHARS    (1 << 1)
 #define        MAN_IGN_ESCAPE   (1 << 2)
 
 extern const char *const *man_macronames;
 #define        MAN_IGN_ESCAPE   (1 << 2)
 
 extern const char *const *man_macronames;
index d4c4009336fe8a8411458bf4c4c75c90b7682a86..00cf5e1c8eee880047b91c23f97c6cd15edf7ecc 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: man_validate.c,v 1.34 2010/04/03 14:12:48 kristaps Exp $ */
+/*     $Id: man_validate.c,v 1.35 2010/05/09 21:19:42 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -229,9 +229,7 @@ check_text(CHKARGS)
                if ('\t' == *p || isprint((u_char)*p)) 
                        continue;
 
                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);
        }
 
        return(1);
index fb9bbb48eb45c1acd5d5594318483a1aee2f6f2d..d1ff24f6d5552f8147926d2bc2984a7d87587c3d 100644 (file)
--- a/mandoc.1
+++ b/mandoc.1
@@ -1,4 +1,4 @@
-.\"    $Id: mandoc.1,v 1.59 2010/04/13 05:26:49 kristaps Exp $
+.\"    $Id: mandoc.1,v 1.60 2010/05/09 21:19:42 kristaps Exp $
 .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>
 .\"
 .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>
 .\"
@@ -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.
 .\"
 .\" 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 9 2010 $
 .Dt MANDOC 1
 .Os
 .Sh NAME
 .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
 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
 .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
 and
-.Fl f Ns Cm no-ign-chars .
+.Fl f Ns Cm no-ign-macro .
 .El
 .Ss Output Options
 For the time being, only
 .El
 .Ss Output Options
 For the time being, only
diff --git a/mdoc.h b/mdoc.h
index d56a35faf0d6281cdd76649bbaf88806373810a6..2abb1d401398a004d8ac3a3145f2978e3dfa0f66 100644 (file)
--- a/mdoc.h
+++ b/mdoc.h
@@ -1,4 +1,4 @@
-/*     $Id: mdoc.h,v 1.74 2010/03/31 07:13:53 kristaps Exp $ */
+/*     $Id: mdoc.h,v 1.75 2010/05/09 21:19:42 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -275,7 +275,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_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. */
 
 
 /* Call-backs for parse messages. */
 
index b442293ca44a08a684d47900f036f6963d4d162a..a25ae8564dd9c6704552eef9e4e94a90158a8790 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_validate.c,v 1.70 2010/05/08 07:30:19 kristaps Exp $ */
+/*     $Id: mdoc_validate.c,v 1.71 2010/05/09 21:19:42 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -60,7 +60,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_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 *, 
 static int      warn_count(struct mdoc *, const char *, 
                        int, const char *, int);
 static int      err_count(struct mdoc *, const char *, 
@@ -323,16 +322,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)
 static inline int
 warn_count(struct mdoc *m, const char *k, 
                int want, const char *v, int has)
@@ -518,10 +507,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))
        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))
                                        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)
                                return(0);
 
                if ('\\' != *p)