diff options
| author | Simon Tatham <anakin@pobox.com> | 1999-10-24 17:14:16 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 1999-10-24 17:14:16 +0000 |
| commit | 8e0e3ac1481ea8c84aa2a0dbfb23bbb3d7700a0c (patch) | |
| tree | b93bc282935b99bb8176c91784a7d61d35925222 /buttress.h | |
| parent | 3cb5a6f58a56ca01547558e7b4543bf98fc25e1b (diff) | |
| download | halibut-8e0e3ac1481ea8c84aa2a0dbfb23bbb3d7700a0c.zip halibut-8e0e3ac1481ea8c84aa2a0dbfb23bbb3d7700a0c.tar.gz halibut-8e0e3ac1481ea8c84aa2a0dbfb23bbb3d7700a0c.tar.bz2 halibut-8e0e3ac1481ea8c84aa2a0dbfb23bbb3d7700a0c.tar.xz | |
Macros; \- for nonbreaking hyphen
[originally from svn r252]
Diffstat (limited to 'buttress.h')
| -rw-r--r-- | buttress.h | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -31,6 +31,7 @@ typedef struct keyword_Tag keyword; typedef struct userstyle_Tag userstyle; typedef struct numberstate_Tag numberstate; typedef struct index_Tag index; +typedef struct macrostack_Tag macrostack; /* * Data structure to hold a file name and index, a line and a @@ -44,17 +45,20 @@ struct filepos_Tag { /* * Data structure to hold all the file names etc for input */ -#define INPUT_PUSHBACK_MAX 1 +typedef struct pushback_Tag { + int chr; + filepos pos; +} pushback; struct input_Tag { char **filenames; /* complete list of input files */ int nfiles; /* how many in the list */ FILE *currfp; /* the currently open one */ int currindex; /* which one is that in the list */ - int pushback[INPUT_PUSHBACK_MAX]; /* pushed-back input characters */ - int npushback; + pushback *pushback; /* pushed-back input characters */ + int npushback, pushbacksize; + filepos pos; int reportcols; /* report column numbers in errors */ - filepos pos[1+INPUT_PUSHBACK_MAX]; - int posptr; + macrostack *stack; /* macro expansions in force */ }; /* @@ -101,6 +105,7 @@ struct word_Tag { word *next, *alt; int type; int aux; + int breaks; /* can a line break after it? */ wchar_t *text; filepos fpos; }; @@ -166,7 +171,8 @@ enum { err_nosuchkw, /* unresolved cross-reference */ err_multiBR, /* multiple \BRs on same keyword */ err_nosuchidxtag, /* \IM on unknown index tag (warning) */ - err_cantopenw /* can't open output file for write */ + err_cantopenw, /* can't open output file for write */ + err_macroexists /* this macro already exists */ }; /* |