/* * Copyright 1992, 1993, 1999, 2001, Geoff Kuenning, Claremont, CA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All modifications to the source code must be clearly marked as * such. Binary redistributions based on modified source code * must be clearly marked as modified versions in the documentation * and/or other materials provided with the distribution. * 4. Any web site or other electronic service that offers ispell for * download or other electronic transfer as a separate entity, in * either source or binary form, must also include a prominent statement * indicating that information about ispell can be obtained from the * following Web site URL: * http://fmg-www.cs.ucla.edu/geoff/ispell.html * If the offering service supports hyperlinks, the aforementioned * Web site must also be offered as a hyperlink. Condition #4 does * not apply if ispell is offered only as part of a larger, aggregated * product such as a word processor or packaged operating system. * 5. The name of Geoff Kuenning may not be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL GEOFF KUENNING OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /* * This is the configuration file for ispell. Thanks to Bob McQueer * for creating it and making the necessary changes elsewhere to * support it, and to George Sipe for figuring out how to make it easier * to use. * * WARNING: The Makefile edits this file (config.X) to produce config.h. * If you are looking at config.h, you're in the wrong file. * * Look through this file from top to bottom. If anything needs changing, * create the header file "local.h" and define the correct values there; * they will override this file. If you don't make any changes to this * file, future patching will be easier. */ /* * $Id: config.X,v 1.88 2001/07/25 21:51:45 geoff Exp $ * * $Log: config.X,v $ * Revision 1.88 2001/07/25 21:51:45 geoff * Minor license update. * * Revision 1.87 2001/07/23 20:24:02 geoff * Update the copyright and the license. * * Revision 1.86 2001/06/14 09:11:11 geoff * Use non-conflicting macros for bcopy and bzero to avoid compilation * problems on smarter compilers. * * Revision 1.85 2001/05/30 21:14:47 geoff * Invert the fcntl/mkstemp options so they will default to being used. * * Revision 1.84 2001/05/30 21:04:25 geoff * Add HAS_FCNTL_H and HAS_MKSTEMP. * * Revision 1.83 2001/01/24 01:18:27 geoff * Don't build the + dictionaries by default any more, because too many * distributions no longer supply /usr/dict/words. * * Revision 1.82 2000/08/22 10:52:25 geoff * Fix a spelling error in an ifdef, improve comments on TERMLIB, and * bump MAXSTRINGCHARS to 512 to reflect the increased number used in the * english.aff file (and presumably others). * * Revision 1.81 2000/06/30 08:32:47 geoff * Bump the default MAXSTRINGCHARS to handle more complex languages * * Revision 1.80 2000/01/21 06:57:38 geoff * Add a bunch of new TeX keywords * * Revision 1.79 1999/01/13 01:34:18 geoff * Get rid of EMACS, which is now obsolete. * * Revision 1.78 1999/01/08 04:34:11 geoff * Get rid of ELISPDIR and TEXINFODIR * * Revision 1.77 1999/01/07 01:22:34 geoff * Update the copyright. * * Revision 1.76 1998/07/12 20:42:12 geoff * Switch the sense of IGNOREBIB for TEXSKIP1. * * Revision 1.75 1998/07/06 06:55:11 geoff * Add TEXSKIP1/2 and associated variables. * * Revision 1.74 1997/12/02 06:24:35 geoff * Get rid of some compile options that really shouldn't be optional. * * Revision 1.73 1997/12/01 00:53:41 geoff * Add HTML support variables. * * Revision 1.72 1995/11/08 05:09:09 geoff * Use symbolic values for DEFTEXFLAG. * * Revision 1.71 1995/01/08 23:23:28 geoff * Add some more configuration variables: HAS_RENAME, MSDOS_BINARY_OPEN, * HOME, PDICTHOME, HASHSUFFIX, STATSUFFIX, and COUNTSUFFIX. These are * all to make it easier to port ispell to MS-DOS. Change DEFPAFF back * to "words" so that only .ispell_words will be independent of language. * * Revision 1.70 1994/10/25 05:45:57 geoff * Fix a tiny typo in a comment. Add a configurable install command. * * Revision 1.69 1994/09/01 06:06:30 geoff * Improve the the documentation of LANGUAGES to include working examples. * * Revision 1.68 1994/07/28 05:11:34 geoff * Log message for previous revision: force MASKBITS to greater than or * equal to MASKTYPE_WIDTH (simplifies configuration for 64-bit * machines). * * Revision 1.67 1994/07/28 04:53:34 geoff * * Revision 1.66 1994/04/27 02:50:46 geoff * Change the documentation and defaults for the languages variable to * reflect the new method of making American and British dictionary * variants. * * Revision 1.65 1994/04/27 01:50:28 geoff * Add MAX_CAPS. * * Revision 1.64 1994/02/07 08:10:42 geoff * Add GENERATE_LIBRARY_PROTOS as a special variable for use only by me. * * Revision 1.63 1994/01/26 07:44:45 geoff * Make yacc configurable through local.h. * * Revision 1.62 1994/01/25 07:11:20 geoff * Get rid of all old RCS log lines in preparation for the 3.1 release. * */ /* You may wish to specify your local definitions in this file: */ #include "local.h" /* local definitions for options */ /* ** Major-differences selection. The default system is BSD; for USG ** or non-UNIX systems you should add the appropriate #define to local.h. */ #ifndef USG #undef USG /* Define this in local.h for System V machines */ #endif /* USG */ #include #include /* Support MAXNAMLEN greater than 14 on FreeBSD; this is not in * sys/param.h for obvious reasons. */ #include /* ** Things that normally go in a Makefile. Define these just like you ** might in the Makefile, except you should use #define instead of ** make's assignment syntax. Everything must be double-quoted, and ** (unlike make) you can't use any sort of $-syntax to pick up the ** values of other definitions. */ #ifndef CC #define CC "cc" #endif /* CC */ #ifndef LINT #define LINT "lint" #endif /* LINT */ #ifndef CFLAGS #define CFLAGS "-O" #endif /* CFLAGS */ #ifndef LINTFLAGS #define LINTFLAGS "" #endif /* LINTFLAGS */ #ifndef YACC #define YACC "yacc" #endif /* YACC */ /* ** Libraries that may need to be added to the cc line to get ispell to ** link. Normally, this should be null. */ #ifndef LIBES #define LIBES "" #endif /* ** TERMLIB - where to get the termcap library. Should be -ltermcap, ** -lcurses, or -lncurses on most systems. */ #ifndef TERMLIB #define TERMLIB "-ltermcap" #endif /* ** REGLIB - where to get the regular-expression routines, if ** REGEX_LOOKUP is defined. Should be -lPW on USG systems, null on ** BSD systems. */ #ifndef REGLIB #define REGLIB "" #endif /* ** Where to install various components of ispell. BINDIR contains ** binaries. LIBDIR contains hash tables and affix files. MAN1DIR ** and MAN4DIR will hold the chapter-1 and chapter-4 manual pages, ** respectively. ** ** If you intend to use multiple dictionary files, I would suggest ** LIBDIR be a directory which will contain nothing else, so sensible ** names can be constructed for the -d option without conflict. */ #ifndef BINDIR #define BINDIR "/usr/local/bin" #endif #ifndef LIBDIR #define LIBDIR "/usr/local/lib" #endif #ifndef MAN1DIR #define MAN1DIR "/usr/local/man/man1" #endif #ifndef MAN4DIR #define MAN4DIR "/usr/local/man/man4" #endif /* ** Extensions to put on manual pages. Usually these are ".1" or ".1l". */ #ifndef MAN1EXT #define MAN1EXT ".1" #endif #ifndef MAN4EXT #define MAN4EXT ".4" #endif /* ** List of all hash files (languages) which will be supported by ispell. ** ** This variable has a complex format so that many options can be ** specified. The format is as follows: ** ** [,...] [ [, ...] ...] ** ** where ** ** language is the name of a subdirectory of the ** "languages" directory ** make-options are options that are to be passed to "make" in ** the specified directory. The make-options ** should not, in general, specify a target, as ** this will be provided by the make process. ** ** For example, if LANGUAGES is: ** ** "{american,MASTERDICTS=american.med+,HASHFILES=americanmed+.hash,EXTRADICT=/usr/dict/words /usr/dict/web2} {deutsch,DICTALWAYS=deutsch.sml,DICTOPTIONS=}" ** ** then the American-English and Deutsch (German) languages will be supported, ** and the following variable settings will be passed to the two Makefiles: ** ** American: ** ** MASTERDICTS='american.med+' ** HASHFILES='americanmed+.hash' ** EXTRADICT='/usr/dict/words /usr/dict/web2' ** ** Deutsch: ** ** DICTALWAYS='deutsch.sml' ** DICTOPTIONS='' ** ** Notes on the syntax: The makefile is not very robust. If you have ** make problems, or if make seems to fail in the language-subdirs ** dependency, check your syntax. The makefile adds single quotes to ** the individual variables in the LANGUAGES specification, so don't ** use quotes of any kind. ** ** In the future, the first language listed in this variable will ** become the default, and the DEFHASH, DEFLANG, and DEFPAFF, ** variables will all become obsolete. So be sure to put your default ** language first, to make later conversion easier! ** ** Notes on options for the various languages will be found in the ** Makefiles for those languages. Some of those languages may require ** you to also change various limits limits like MASKBITS or the ** length parameters. ** ** A special note on the English language: because the British and ** American dialects use different spelling, you should usually select ** one or the other of these. If you select both, the setting of ** MASTERHASH will determine which becomes the language linked to ** DEFHASH (which will usually be named english.hash). */ #ifndef LANGUAGES #define LANGUAGES "{american,MASTERDICTS=american.med,HASHFILES=americanmed.hash,EXTRADICT=}" #endif /* LANGUAGES */ /* ** Master hash file for DEFHASH. This is the name of a hash file ** built by a language Makefile. It should be the most-popular hash ** file on your system, because it is the one that will be used by ** default. It must be listed in LANGUAGES, above. */ #ifndef MASTERHASH #define MASTERHASH "americanmed.hash" #endif /* ** Default native-language hash file. This is the name given to the ** hash table that will be used if no language is specified to ** ispell. It is a link to MASTERHASH, above. */ #ifndef DEFHASH #define DEFHASH "english.hash" #endif /* ** Language tables for the default language. This must be the name of ** the affix file that was used to generate the MASTERHASH/DEFHASH, ** above. */ #ifndef DEFLANG #define DEFLANG "english.aff" #endif /* ** Language to use for error messages. If there are no messages in this ** language, English will be used instead. */ #ifndef MSGLANG #define MSGLANG "english" #endif /* MSGLANG */ /* ** If your sort command accepts the -T switch to set temp file ** locations (try it out; it exists but is undocumented on some ** systems), make the following variable the null string. Otherwise ** leave it as the sed script. */ #ifndef SORTTMP #define SORTTMP "-e '/!!SORTTMP!!/s/=.*$/=/'" #endif /* ** If your sort command accepts the -T switch (see above), make the ** following variable refer to a temporary directory with lots of ** space. Otherwise make it the null string. */ #ifndef MAKE_SORTTMP #define MAKE_SORTTMP "-T ${TMPDIR-/usr/tmp}" #endif /* ** INSTALL program. Could be a copy program like cp or something fancier ** like /usr/ucb/install -c */ #ifndef INSTALL #define INSTALL "cp" #endif /* ** If your system has the rename(2) system call, define HAS_RENAME and ** ispell will use that call to rename backup files. Otherwise, it ** will use link/unlink. There is no harm in this except on MS-DOS, ** which doesn't support link/unlink. */ #ifndef HAS_RENAME #undef HAS_RENAME #endif /* HAS_RENAME */ /* ** If your system doesn't have the fcntl.h header file (most modern ** systems do), define this. */ #ifndef NO_FCNTL_H #undef NO_FCNTL_H #endif /* NO_FCNTL_H */ /* ** If your system doesn't have the mkstemp library call, define this. */ #ifndef NO_MKSTEMP #undef NO_MKSTEMP #endif /* NO_MKSTEMP */ /* Aliases for some routines */ #ifdef USG #define BCOPY(s, d, n) memcpy (d, s, n) #define BZERO(d, n) memset (d, 0, n) #define index strchr #define rindex strrchr #else #define BCOPY(s, d, n) bcopy (s, d, n) #define BZERO(d, n) bzero (d, n) #endif /* type given to signal() by signal.h */ #ifndef SIGNAL_TYPE #define SIGNAL_TYPE void #endif /* environment variable for user's word list */ #ifndef PDICTVAR #define PDICTVAR "WORDLIST" #endif /* prefix part of default word list */ #ifndef DEFPDICT #define DEFPDICT ".ispell_" #endif /* ** suffix part of default word list */ #ifndef DEFPAFF #define DEFPAFF "words" #endif /* old place to look for default word list */ #ifndef OLDPDICT #define OLDPDICT ".ispell_" #endif /* OLDPDICT */ #ifndef OLDPAFF #define OLDPAFF "words" #endif /* OLDPAFF */ /* environment variable for include file string */ #ifndef INCSTRVAR #define INCSTRVAR "INCLUDE_STRING" #endif /* default include string */ #ifndef DEFINCSTR #define DEFINCSTR "&Include_File&" #endif /* mktemp template for temporary file - MUST contain 6 consecutive X's */ #ifndef TEMPNAME #define TEMPNAME "/tmp/ispellXXXXXX" #endif /* ** If REGEX_LOOKUP is undefined, the lookup command (L) will use the look(1) ** command (if available) or the egrep command. If REGEX_LOOKUP is defined, ** the lookup command will use the internal dictionary and the ** regular-expression library (which you must supply separately. There is ** a public-domain library available; libraries are also distributed with ** both BSD and System V. ** ** The advantage of no REGEX_LOOKUP is that it is often much faster, especially ** if the look(1) command is available, that the words found are presented ** in alphabetical order, and that the list of words searched is larger. ** The advantage of REGEX_LOOKUP is that ispell doesn't need to spawn another ** program, and the list of words searched is exactly the list of (root) words ** that ispell will accept. (However, note that words formed with affixes will ** not be found; this can produce some artifacts. For example, since ** "brother" can be formed as "broth+er", a lookup command might fail to ** find "brother.") */ #ifndef REGEX_LOOKUP #undef REGEX_LOOKUP #endif /* REGEX_LOOKUP */ /* ** Choose the proper type of regular-expression routines here. BSD ** and public-domain systems have routines called re_comp and re_exec; ** System V uses regcmp and regex. */ #ifdef REGEX_LOOKUP #ifndef REGCMP #ifdef USG #define REGCMP(str) regcmp (str, (char *) 0) #define REGEX(re, str, dummy) regex (re, str, dummy, dummy, dummy, dummy, \ dummy, dummy, dummy, dummy, dummy, dummy) #else /* USG */ #define REGCMP(str) re_comp (str) #define REGEX(re, str, dummy) re_exec (str) #endif /* USG */ #endif /* REGCMP */ #endif /* REGEX_LOOKUP */ /* look command (if look(1) MAY BE available - ignored if not) */ #ifndef REGEX_LOOKUP #ifndef LOOK #define LOOK "look -df" #endif #endif /* REGEX_LOOKUP */ /* path to egrep (use speeded up version if available) */ #ifndef EGREPCMD #ifdef USG #define EGREPCMD "/bin/egrep" #else #define EGREPCMD "/usr/bin/egrep -i" #endif #endif /* path to wordlist for Lookup command (typically /usr/dict/{words|web2}) */ /* note that /usr/dict/web2 is usually a bad idea due to obscure words */ #ifndef WORDS #define WORDS "/usr/dict/words" #endif /* buffer size to use for file names if not in sys/param.h */ #ifndef MAXPATHLEN #define MAXPATHLEN 240 #endif /* max file name length (will truncate to fit BAKEXT) if not in sys/param.h */ #ifndef MAXNAMLEN #define MAXNAMLEN 14 #endif /* define if you want .bak file names truncated to MAXNAMLEN characters */ #ifndef TRUNCATEBAK #undef TRUNCATEBAK #endif /* TRUNCATEBAK */ /* largest word accepted from a file by any input routine, plus one */ #ifndef INPUTWORDLEN #define INPUTWORDLEN 100 #endif /* largest amount that a word might be extended by adding affixes */ #ifndef MAXAFFIXLEN #define MAXAFFIXLEN 20 #endif /* ** Number of mask bits (affix flags) supported. Must be 32, 64, 128, or ** 256. If MASKBITS is 32 or 64, there are really only 26 or 58 flags ** available, respectively. If it is 32, the flags are named with the ** 26 English uppercase letters; lowercase will be converted to uppercase. ** If MASKBITS is 64, the 58 flags are named 'A' through 'z' in ASCII ** order, including the 6 special characters from 'Z' to 'a': "[\]^_`". ** If MASKBITS is 128 or 256, all the 7-bit or 8-bit characters, ** respectively, are theoretically available, though a few (newline, slash, ** null byte) are pretty hard to actually use successfully. ** ** Note that most non-English affix files depend on having MASKBITS ** equal to 64 or larger. It is for this reason that MASKBITS ** defaults to 64. If you are only going to be using ispell for ** English, and you are very tight on memory space, you might want to ** reduce MASKBITS to 32. */ #ifndef MASKBITS #define MASKBITS 64 #endif /* ** C type to use for masks. This should be a type that the processor ** accesses efficiently. ** ** MASKTYPE_WIDTH must correctly reflect the number of bits in a ** MASKTYPE. Unfortunately, it is also required to be a constant at ** preprocessor time, which means you can't use the sizeof operator to ** define it. ** ** Note that MASKTYPE *must* match MASKTYPE_WIDTH or you may get ** division-by-zero errors! */ #ifndef MASKTYPE #define MASKTYPE long #endif #ifndef MASKTYPE_WIDTH #define MASKTYPE_WIDTH 32 #endif #if MASKBITS < MASKTYPE_WIDTH #undef MASKBITS #define MASKBITS MASKTYPE_WIDTH #endif /* MASKBITS < MASKTYPE_WIDTH */ /* maximum number of include files supported by xgets; set to 0 to disable */ #ifndef MAXINCLUDEFILES #define MAXINCLUDEFILES 5 #endif /* ** Maximum hash table fullness percentage. Larger numbers trade space ** for time. **/ #ifndef MAXPCT #define MAXPCT 70 /* Expand table when 70% full */ #endif /* ** Maximum number of "string" characters that can be defined in a ** language (affix) file. Don't forget that an upper/lower string ** character counts as two! */ #ifndef MAXSTRINGCHARS #define MAXSTRINGCHARS 512 #endif /* MAXSTRINGCHARS */ /* ** Maximum length of a "string" character. The default is appropriate for ** nroff-style characters starting with a backslash. */ #ifndef MAXSTRINGCHARLEN #define MAXSTRINGCHARLEN 10 #endif /* MAXSTRINGCHARLEN */ /* ** the terminal mode for ispell, set to CBREAK or RAW ** */ #ifndef TERM_MODE #define TERM_MODE CBREAK #endif /* ** Define this if you want your columns of words to be of equal length. ** This will spread short word lists across the screen instead of down it. */ #ifndef EQUAL_COLUMNS #undef EQUAL_COLUMNS #endif /* EQUAL_COLUMNS */ /* ** This is the extension that will be added to backup files */ #ifndef BAKEXT #define BAKEXT ".bak" #endif /* ** Define this if you want your personal dictionary sorted. This may take ** a long time for very large dictionaries. Dictionaries larger than ** SORTPERSONAL words will not be sorted. Define SORTPERSONAL as zero ** to disable this feature. */ #ifndef SORTPERSONAL #define SORTPERSONAL 1000 #endif /* ** Define this if you want to use the shell for interpretation of commands ** issued via the "L" command, "^Z" under System V, and "!". If this is ** not defined then a direct fork()/exec() will be used in place of the ** normal system(). This may speed up these operations greately on some ** systems. */ #ifndef USESH #undef USESH #endif /* USESH */ /* ** Maximum language-table search size. Smaller numbers make ispell ** run faster, at the expense of more memory (the lowest reasonable value ** is 2). If a given character appears in a significant position in ** more than MAXSEARCH suffixes, it will be given its own index table. ** If you change this, define INDEXDUMP in lookup.c to be sure your ** index table looks reasonable. */ #ifndef MAXSEARCH #define MAXSEARCH 4 #endif /* ** Define this if you want to be able to type any command at a "type space ** to continue" prompt. */ #ifndef COMMANDFORSPACE #undef COMMANDFORSPACE #endif /* COMMANDFORSPACE */ /* ** Memory-allocation increment. Buildhash allocates memory in chunks ** of this size, and then subdivides it to get its storage. This saves ** much malloc execution time. A good number for this is the system ** page size less the malloc storage overhead. ** ** Define this to zero to revert to using malloc/realloc. This is normally ** useful only on systems with limited memory. */ #ifndef MALLOC_INCREMENT #define MALLOC_INCREMENT (4096 - 8) #endif /* ** Maximum number of "hits" expected on a word. This is basically the ** number of different ways different affixes can produce the same word. ** For example, with "english.aff", "brothers" can be produced 3 ways: ** "brothers," "brother+s", or "broth+ers". If this is too low, no major ** harm will be done, but ispell may occasionally forget a capitalization. */ #ifndef MAX_HITS #define MAX_HITS 10 #endif /* ** Maximum number of capitalization variations expected in any word. ** Besides the obvious all-lower, all-upper, and capitalized versions, ** this includes followcase variants. If this is too low, no real ** harm will be done, but ispell may occasionally fail to suggest a ** correct capitalization. */ #ifndef MAX_CAPS #define MAX_CAPS 10 #endif /* MAX_CAPS */ /* Define this to ignore spelling check of entire LaTeX bibliography listings */ #ifndef IGNOREBIB #undef IGNOREBIB #endif /* ** Default nroff and TeX special characters. Normally, you won't want to ** change this; instead you would override it in the language-definition ** file. */ #ifndef TEXSPECIAL #define TEXSPECIAL "()[]{}<>\\$*.%" #endif #ifndef NRSPECIAL #define NRSPECIAL "().\\*" #endif /* ** Default tags after which TeX mode ignores one (skip1) and two (skip2) ** arguments */ #ifndef TEXSKIP1 #ifdef IGNOREBIB #define TEXSKIP1 "end,vspace,hspace,cite,ref,eqref,parbox,label,input,nocite,include,includeonly,documentstyle,documentclass,usepackage,selectlanguage,pagestyle,thispagestyle,pagenumbering,value,arabic,roman,Roman,alph,Alph,fnsymbol,stepcounter,refstepcounter,newcounter,addtocontents,newenvironment,renewenvironment,newtheorem,theoremstyle,color,colorbox,textcolor,pagecolor,enlargethispage,stretch,scalebox,rotatebox,includegraphics,symbol,settowidth,settoheight,settodepth,bibliography,bibitem,hyphenation,pageref,psfig" #else /* IGNOREBIB */ #define TEXSKIP1 "end,vspace,hspace,cite,ref,eqref,parbox,label,input,nocite,include,includeonly,documentstyle,documentclass,usepackage,selectlanguage,pagestyle,thispagestyle,pagenumbering,value,arabic,roman,Roman,alph,Alph,fnsymbol,stepcounter,refstepcounter,newcounter,addtocontents,newenvironment,renewenvironment,newtheorem,theoremstyle,color,colorbox,textcolor,pagecolor,enlargethispage,stretch,scalebox,rotatebox,includegraphics,symbol,settowidth,settoheight,settodepth,hyphenation,pageref,psfig" #endif /* IGNOREBIB */ #endif /* TEXSKIP1 */ #ifndef TEXSKIP2 #define TEXSKIP2 "rule,setcounter,addtocounter,setlength,addtolength,settowidth" #endif /* TEXSKIP2 */ /* ** Environment variables used to override TEXSKIP1 and TEXSKIP2 */ #ifndef TEXSKIP1VAR #define TEXSKIP1VAR "TEXSKIP1" #endif /* TEXSKIP1VAR */ #ifndef TEXSKIP2VAR #define TEXSKIP2VAR "TEXSKIP2" #endif /* TEXSKIP2VAR */ /* ** Default tags between which HTML mode ignores text */ #ifndef HTMLIGNORE #define HTMLIGNORE "code,samp,kbd,pre,listing,address" #endif /* ** Variable used to override HTMLIGNORE */ #ifndef HTMLIGNOREVAR #define HTMLIGNOREVAR "HTMLIGNORE" #endif /* HTMLIGNOREVAR */ /* ** Default tag fields which HTML mode always checks */ #ifndef HTMLCHECK #define HTMLCHECK "alt" #endif /* HTMLCHECK */ /* ** Variable used to override HTMLCHECKVAR */ #ifndef HTMLCHECKVAR #define HTMLCHECKVAR "HTMLCHECK" #endif /* HTMLCHECKVAR */ /* ** Defaults for certain command-line flags. */ #ifndef DEFNOBACKUPFLAG #define DEFNOBACKUPFLAG 0 /* Don't suppress backup file */ #endif /* ** DEFTEXFLAG should really be named DEFAULT_DEFORMATER, but isn't for ** historical reasons. **/ #ifndef DEFTEXFLAG #define DEFTEXFLAG DEFORMAT_NROFF /* Default to nroff mode */ #endif /* ** Define this if you want ispell to place a limitation on the maximum ** size of the screen. On windowed workstations with very large windows, ** the size of the window can be too much of a good thing, forcing the ** user to look back and forth between the bottom and top of the screen. ** If MAX_SCREEN_SIZE is nonzero, screens larger than this will be treated ** as if they have only MAX_SCREEN_SIZE lines. A good value for this ** variable is 24 or 30. Define it as zero to suppress the feature. */ #ifndef MAX_SCREEN_SIZE #define MAX_SCREEN_SIZE 0 #endif /* ** The next three variables are used to provide a variable-size context ** display at the bottom of the screen. Normally, the user will see ** a number of lines equal to CONTEXTPCT of his screen, rounded down ** (thus, with CONTEXTPCT == 10, a 24-line screen will produce two lines ** of context). The context will never be greater than MAXCONTEXT or ** less than MINCONTEXT. To disable this feature entirely, set MAXCONTEXT ** and MINCONTEXT to the same value. To round context percentages up, ** define CONTEXTROUNDUP. ** ** Warning: don't set MAXCONTEXT ridiculously large. There is a ** static buffer of size MAXCONTEXT*BUFSIZ; since BUFSIZ is frequently ** 1K or larger, this can create a remarkably large executable. */ #ifndef CONTEXTPCT #define CONTEXTPCT 10 /* Use 10% of the screen for context */ #endif #ifndef MINCONTEXT #define MINCONTEXT 2 /* Always show at least 2 lines of context */ #endif #ifndef MAXCONTEXT #define MAXCONTEXT 10 /* Never show more than 10 lines of context */ #endif #ifndef CONTEXTROUNDUP #undef CONTEXTROUNDUP /* Don't round context up */ #endif /* ** Define this if you want the context lines to be displayed at the ** bottom of the screen, the way they used to be, rather than at the top. */ #ifndef BOTTOMCONTEXT #undef BOTTOMCONTEXT #endif /* BOTTOMCONTEXT */ /* ** Define this if you want the "mini-menu," which gives the most important ** options at the bottom of the screen, to be the default (in any case, it ** can be controlled with the "-M" switch). */ #ifndef MINIMENU #undef MINIMENU #endif /* ** You might want to change this to zero if your users want to check ** single-letter words against the dictionary. However, you should try ** some sample runs using the -W switch before you try it out; you'd ** be surprised how many single letters appear in documents. If you increase ** MINWORD beyond 1, don't say I didn't warn you that it was a bad idea. */ #ifndef MINWORD #define MINWORD 1 /* Words this short and shorter are always ok */ #endif /* ** ANSI C compilers are supposed to provide an include file, ** "stdlib.h", which gives function prototypes for all library ** routines. Define NO_STDLIB_H if you have a compiler that claims to ** be ANSI, but doesn't provide this include file. */ #ifndef NO_STDLIB_H #ifndef __STDC__ #define NO_STDLIB_H #endif /* __STDC__ */ #endif /* NO_STDLIB_H */ /* ** The following define is used by the ispell developer to help ** double-check the software. Leave it undefined on other systems ** unless you are especially fond of warning messages, or are pursuing ** an inexplicable bug that might be related to a type mismatch. */ #ifndef GENERATE_LIBRARY_PROTOS #undef GENERATE_LIBRARY_PROTOS #endif /* GENERATE_LIBRARY_PROTOS */ /* ** Symbols below this point are generally intended to cater to ** idiosyncracies of specific machines and operating systems. ** ** MS-DOS users should also define HAS_RENAME, above, if appropriate. ** ** Define PIECEMEAL_HASH_WRITES if your system can't handle huge write ** operations. This is known to be a problem on some MS-DOS systems. */ #ifndef PIECEMEAL_HASH_WRITES #undef PIECEMEAL_HASH_WRITES #endif /* PIECEMEAL_HASH_WRITES */ /* ** Redefine GETKEYSTROKE() to getkey() on some MS-DOS systems where ** getchar() doesn't operate properly in raw mode. */ #ifndef GETKEYSTROKE #define GETKEYSTROKE() getchar () #endif /* GETKEYSTROKE */ /* ** Define MSDOS_BINARY_OPEN to 0x8000 on MS-DOS systems. This can be ** done by adding "#include fcntl.h" to your local.h file. */ #ifndef MSDOS_BINARY_OPEN #ifdef O_BINARY #define MSDOS_BINARY_OPEN O_BINARY #else /* O_BINARY */ #define MSDOS_BINARY_OPEN 0 #endif /* O_BINARY */ #endif /* MSDOS_BINARY_OPEN */ /* ** Environment variable to use to locate the home directory. On DOS ** systems you might want to set this to ISPELL_HOME to avoid ** conflicts with other programs that look for a HOME environment ** variable; on all other systems it should be just HOME. */ #ifndef HOME #define HOME "HOME" #endif /* HOME */ /* ** On MS-DOS systems, define PDICTHOME to be the name of a directory ** to be used to contain the personal dictionary (.ispell_english, ** etc.). On other systems, you can leave it undefined. */ #ifndef PDICTHOME #undef PDICTHOME #endif /* PDICTHOME */ /* ** On MS-DOS systems, you can rename the following variables so that ** ispell's files have 3-character suffixes. Note that, if you do ** this, you will have to redefine any variable above that ** incorporates one of the suffixes. */ #ifndef HASHSUFFIX #define HASHSUFFIX ".hash" #endif /* HASHSUFFIX */ #ifndef STATSUFFIX #define STATSUFFIX ".stat" #endif /* STATSUFFIX */ #ifndef COUNTSUFFIX #define COUNTSUFFIX ".cnt" #endif /* COUNTSUFFIX */