[BACK]Return to extern.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / texi2mdoc

Diff for /texi2mdoc/extern.h between version 1.23 and 1.28

version 1.23, 2015/03/01 16:57:39 version 1.28, 2015/03/12 04:24:19
Line 32 
Line 32 
 #  endif  #  endif
 #endif  #endif
   
   #define HAVE_INDEX 1
   
 /*  /*
  * This defines each one of the Texinfo commands that we understand.   * This defines each one of the Texinfo commands that we understand.
  * Obviously this only refers to native commands; overriden names are a   * Obviously this only refers to native commands; overriden names are a
Line 55  enum texicmd {
Line 57  enum texicmd {
         TEXICMD_AT,          TEXICMD_AT,
         TEXICMD_AUTHOR,          TEXICMD_AUTHOR,
         TEXICMD_B,          TEXICMD_B,
           TEXICMD_BACKSLASH,
         TEXICMD_BANG,          TEXICMD_BANG,
         TEXICMD_BULLET,          TEXICMD_BULLET,
         TEXICMD_BYE,          TEXICMD_BYE,
Line 274  enum texicmd {
Line 277  enum texicmd {
         TEXICMD_TITLEFONT,          TEXICMD_TITLEFONT,
         TEXICMD_TITLEPAGE,          TEXICMD_TITLEPAGE,
         TEXICMD_TOP,          TEXICMD_TOP,
           TEXICMD_TPINDEX,
         TEXICMD_U,          TEXICMD_U,
         TEXICMD_UBARACCENT,          TEXICMD_UBARACCENT,
         TEXICMD_UDOTACCENT,          TEXICMD_UDOTACCENT,
Line 292  enum texicmd {
Line 296  enum texicmd {
         TEXICMD_VERBATIM,          TEXICMD_VERBATIM,
         TEXICMD_VERBATIMINCLUDE,          TEXICMD_VERBATIMINCLUDE,
         TEXICMD_VINDEX,          TEXICMD_VINDEX,
           TEXICMD_VRINDEX,
         TEXICMD_VSKIP,          TEXICMD_VSKIP,
         TEXICMD_VTABLE,          TEXICMD_VTABLE,
         TEXICMD_W,          TEXICMD_W,
Line 368  struct teximacro {
Line 373  struct teximacro {
 };  };
   
 /*  /*
    * A term is a word in an index.
    * For example "@cindex foo" adds the term "foo" to the "cp" index.
    * This occurs within a chapter ("nodes" in struct texi)
    */
   struct  texiterm {
           char            *term;
           size_t           chapter;
   };
   
   /*
    * Index tables.
    * These have a two or three letter name (usually) and any number of
    * terms that are associated with it.
    */
   struct  texidex {
           char             *name;
           struct texiterm  *index;
           size_t            indexsz;
   };
   
   /*
  * The main parse structure.   * The main parse structure.
  * This keeps any necessary information handy.   * This keeps any necessary information handy.
  */   */
Line 376  struct texi {
Line 402  struct texi {
         size_t            chapnum; /* current chapter node */          size_t            chapnum; /* current chapter node */
         char            **dirs; /* texi directories */          char            **dirs; /* texi directories */
         size_t            dirsz; /* number of texi directories */          size_t            dirsz; /* number of texi directories */
         FILE             *outfile;          FILE             *outfile; /* current output stream */
         /*          /*
          * Run-time parameters.           * Run-time parameters.
          */           */
Line 387  struct texi {
Line 413  struct texi {
         char             *title; /* title of document */          char             *title; /* title of document */
         char             *subtitle; /* subtitle of document */          char             *subtitle; /* subtitle of document */
         int               secoffs; /* see sectioner() */          int               secoffs; /* see sectioner() */
         char            **indexs; /* @defindex indices */          struct texidex   *indexs; /* index entries */
         size_t            indexsz; /* entries in indexs */          size_t            indexsz; /* entries in indexs */
         struct texivalue *vals; /* @value entries */          struct texivalue *vals; /* @value entries */
         size_t            valsz; /* entries in vals */          size_t            valsz; /* entries in vals */
         struct teximacro *macros; /* @macro entries */          struct teximacro *macros; /* @macro entries */
         size_t            macrosz; /* entries in macros */          size_t            macrosz; /* entries in macros */
           char             *copying; /* the @copying block */
           size_t            copyingsz; /* length of @copying */
           char            **nodes;
           size_t            nodesz;
         /*          /*
          * The following control what we output to the screen.           * The following control what we output to the screen.
          * The complexity is required to accomodate for mdoc(7).           * The complexity is required to accomodate for mdoc(7).
Line 404  struct texi {
Line 434  struct texi {
         int               seenvs; /* newline has been Pp'd */          int               seenvs; /* newline has been Pp'd */
         int               ign; /* if >0, don't print anything */          int               ign; /* if >0, don't print anything */
         int               literal; /* if >0, literal context */          int               literal; /* if >0, literal context */
           int               uppercase; /* if >0, uppercase */
 };  };
   
 #define BUF(_p) ((_p)->files[(_p)->filepos - 1].map)  #define BUF(_p) ((_p)->files[(_p)->filepos - 1].map)
Line 436  enum texicmd
Line 467  enum texicmd
         texicmd(const struct texi *, size_t, size_t *, struct teximacro **);          texicmd(const struct texi *, size_t, size_t *, struct teximacro **);
 enum texicmd  enum texicmd
         peekcmd(const struct texi *, size_t);          peekcmd(const struct texi *, size_t);
   enum texicmd
           peeklinecmd(const struct texi *, size_t);
 void    texierr(struct texi *, const char *, ...)  void    texierr(struct texi *, const char *, ...)
                 __attribute__((format(printf, 2, 3)))                  __attribute__((format(printf, 2, 3)))
                 __attribute__((noreturn));                  __attribute__((noreturn));
Line 446  void teximacroclose(struct texi *);
Line 479  void teximacroclose(struct texi *);
 void    teximacroopen(struct texi *, const char *);  void    teximacroopen(struct texi *, const char *);
 void    teximdocopen(struct texi *, size_t *);  void    teximdocopen(struct texi *, size_t *);
 void    teximdocclose(struct texi *, int);  void    teximdocclose(struct texi *, int);
   void    texindex(struct texi *, const char *,
                   size_t, const char *, size_t);
   void    texindex_add(struct texi *, const char *, size_t);
 void    texipunctuate(struct texi *, size_t *);  void    texipunctuate(struct texi *, size_t *);
 void    texiputbuf(struct texi *p, size_t, size_t);  void    texiputbuf(struct texi *p, size_t, size_t);
 void    texiputchar(struct texi *p, char);  void    texiputchar(struct texi *p, char);

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.28

CVSweb