]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc.h
Very tricky diff to fix macro interpretation and spacing around tabs
[mandoc.git] / mandoc.h
index 250c5ef292a3bb98230f260159bd22da4174ff50..bd833ab9423b7e4d91a9c01fa68d3896fb639a26 100644 (file)
--- a/mandoc.h
+++ b/mandoc.h
@@ -1,4 +1,4 @@
-/*     $Id: mandoc.h,v 1.198 2015/02/06 07:13:14 schwarze Exp $ */
+/*     $Id: mandoc.h,v 1.206 2015/10/13 22:59:54 schwarze Exp $ */
 /*
  * Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -7,9 +7,9 @@
  * purpose with or without fee is hereby granted, provided that the above
  * copyright notice and this permission notice appear in all copies.
  *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
@@ -65,7 +65,10 @@ enum mandocerr {
        MANDOCERR_DOC_EMPTY, /* no document body */
        MANDOCERR_SEC_BEFORE, /* content before first section header: macro */
        MANDOCERR_NAMESEC_FIRST, /* first section is not NAME: Sh title */
-       MANDOCERR_NAMESEC_BAD, /* bad NAME section contents: macro */
+       MANDOCERR_NAMESEC_NONM, /* NAME section without name */
+       MANDOCERR_NAMESEC_NOND, /* NAME section without description */
+       MANDOCERR_NAMESEC_ND, /* description not at the end of NAME */
+       MANDOCERR_NAMESEC_BAD, /* bad NAME section content: macro */
        MANDOCERR_ND_EMPTY, /* missing description line, using "" */
        MANDOCERR_SEC_ORDER, /* sections out of conventional order: Sh title */
        MANDOCERR_SEC_REP, /* duplicate section title: Sh title */
@@ -83,7 +86,6 @@ enum  mandocerr {
        MANDOCERR_BLK_NEST, /* blocks badly nested: macro ... */
        MANDOCERR_BD_NEST, /* nested displays are not portable: macro ... */
        MANDOCERR_BL_MOVE, /* moving content out of list: macro */
-       MANDOCERR_VT_CHILD, /* .Vt block has child macro: macro */
        MANDOCERR_FI_SKIP, /* fill mode already enabled, skipping: fi */
        MANDOCERR_NF_SKIP, /* fill mode already disabled, skipping: nf */
        MANDOCERR_BLK_LINE, /* line scope broken: macro breaks macro */
@@ -106,6 +108,8 @@ enum        mandocerr {
        MANDOCERR_PF_SKIP, /* nothing follows prefix: Pf arg */
        MANDOCERR_RS_EMPTY, /* empty reference block: Rs */
        MANDOCERR_ARG_STD, /* missing -std argument, adding it: macro */
+       MANDOCERR_OP_EMPTY, /* missing option string, using "": OP */
+       MANDOCERR_UR_NOHEAD, /* missing resource identifier, using "": UR */
        MANDOCERR_EQN_NOBOX, /* missing eqn box, using "": op */
 
        /* related to bad arguments */
@@ -115,12 +119,14 @@ enum      mandocerr {
        MANDOCERR_BD_REP, /* skipping duplicate display type: Bd -type */
        MANDOCERR_BL_REP, /* skipping duplicate list type: Bl -type */
        MANDOCERR_BL_SKIPW, /* skipping -width argument: Bl -type */
+       MANDOCERR_BL_COL, /* wrong number of cells */
        MANDOCERR_AT_BAD, /* unknown AT&T UNIX version: At version */
        MANDOCERR_FA_COMMA, /* comma in function argument: arg */
        MANDOCERR_FN_PAREN, /* parenthesis in function name: arg */
        MANDOCERR_RS_BAD, /* invalid content in Rs block: macro */
        MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */
        MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */
+       MANDOCERR_TR_ODD, /* odd number of characters in request: tr char */
 
        /* related to plain text */
        MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */
@@ -165,7 +171,6 @@ enum        mandocerr {
 
        /* related to request and macro arguments */
        MANDOCERR_NAMESC, /* escaped character not allowed in a name: name */
-       MANDOCERR_ARGCOUNT, /* argument count wrong */
        MANDOCERR_BD_FILE, /* NOT IMPLEMENTED: Bd -file */
        MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */
        MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */
@@ -405,22 +410,17 @@ typedef   void    (*mandocmsg)(enum mandocerr, enum mandoclevel,
 __BEGIN_DECLS
 
 struct mparse;
-struct mchars;
-struct mdoc;
-struct man;
+struct roff_man;
 
 enum mandoc_esc          mandoc_escape(const char **, const char **, int *);
-struct mchars   *mchars_alloc(void);
-void             mchars_free(struct mchars *);
+void             mchars_alloc(void);
+void             mchars_free(void);
 int              mchars_num2char(const char *, size_t);
 const char      *mchars_uc2str(int);
 int              mchars_num2uc(const char *, size_t);
-int              mchars_spec2cp(const struct mchars *,
-                       const char *, size_t);
-const char      *mchars_spec2str(const struct mchars *,
-                       const char *, size_t, size_t *);
-struct mparse   *mparse_alloc(int, enum mandoclevel, mandocmsg,
-                       const struct mchars *, const char *);
+int              mchars_spec2cp(const char *, size_t);
+const char      *mchars_spec2str(const char *, size_t, size_t *);
+struct mparse   *mparse_alloc(int, enum mandoclevel, mandocmsg, const char *);
 void             mparse_free(struct mparse *);
 void             mparse_keep(struct mparse *);
 enum mandoclevel  mparse_open(struct mparse *, int *, const char *);
@@ -429,10 +429,9 @@ enum mandoclevel  mparse_readmem(struct mparse *, void *, size_t,
                        const char *);
 void             mparse_reset(struct mparse *);
 void             mparse_result(struct mparse *,
-                       struct mdoc **, struct man **, char **);
+                       struct roff_man **, char **);
 const char      *mparse_getkeep(const struct mparse *);
 const char      *mparse_strerror(enum mandocerr);
 const char      *mparse_strlevel(enum mandoclevel);
-enum mandoclevel  mparse_wait(struct mparse *);
 
 __END_DECLS