home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / ispel32r.zip / ispell_1x.txt < prev    next >
Text File  |  2002-03-09  |  52KB  |  1,255 lines

  1.  
  2.  
  3.  
  4. ISPELL(1)                                               ISPELL(1)
  5.  
  6.  
  7. NAME
  8.        ispell,  buildhash,  munchlist, findaffix, tryaffix, icom-
  9.        bine, ijoin - Interactive spelling checking
  10.  
  11. SYNOPSIS
  12.        ispell [common-flags] [-M|-N] [-Lcontext] [-V] files
  13.        ispell [common-flags] -l
  14.        ispell [common-flags] [-f file] [-s] [-a|-A]
  15.        ispell [-d file] [-w chars] -c
  16.        ispell [-d file] [-w chars] -e[e]
  17.        ispell [-d file] -D
  18.        ispell -v[v]
  19.  
  20.        common-flags:
  21.               [-t] [-n] [-H] [-b] [-x] [-B] [-C] [-P]  [-m]  [-S]
  22.               [-d  file]  [-p  file]  [-w chars] [-W n] [-T type]
  23.               [-kname list] [-F program]
  24.  
  25.        buildhash [-s] dict-file affix-file hash-file
  26.        buildhash -s count affix-file
  27.  
  28.        munchlist [-l aff-file] [-c conv-file] [-T suffix]
  29.                  [-s hash-file] [-D] [-v] [-w chars] [files]
  30.  
  31.        findaffix [-p|-s] [-f] [-c] [-m min] [-M max] [-e elim]
  32.                  [-t tabchar] [-l low] [files]
  33.  
  34.        tryaffix [-p|-s] [-c] expanded-file affix[+addition]
  35.  
  36.        icombine [-T type] [aff-file]
  37.  
  38.        ijoin [-s|-u] join-options file1 file2
  39.  
  40. DESCRIPTION
  41.        Ispell is fashioned  after  the  spell  program  from  ITS
  42.        (called  ispell on Twenex systems.)  The most common usage
  43.        is "ispell filename".  In this case, ispell  will  display
  44.        each  word  which does not appear in the dictionary at the
  45.        top of the screen and allow you to change  it.   If  there
  46.        are "near misses" in the dictionary (words which differ by
  47.        only a single letter, a missing or extra letter, a pair of
  48.        transposed  letters,  or  a missing space or hyphen), then
  49.        they are also displayed on following lines.   As  well  as
  50.        "near misses", ispell may display other guesses at ways to
  51.        make the word from a known root, with each guess  preceded
  52.        by  question marks.  Finally, the line containing the word
  53.        and the previous line are printed at  the  bottom  of  the
  54.        screen.   If  your  terminal can display in reverse video,
  55.        the word itself is highlighted.  You have  the  option  of
  56.        replacing the word completely, or choosing one of the sug-
  57.        gested words.  Commands are single characters  as  follows
  58.        (case is ignored):
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                               local                             1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ISPELL(1)                                               ISPELL(1)
  71.  
  72.  
  73.               R      Replace the misspelled word completely.
  74.  
  75.               Space  Accept the word this time only.
  76.  
  77.               A      Accept  the word for the rest of this ispell
  78.                      session.
  79.  
  80.               I      Accept the word, capitalized as it is in the
  81.                      file, and update private dictionary.
  82.  
  83.               U      Accept  the  word,  and add an uncapitalized
  84.                      (actually, all lower-case)  version  to  the
  85.                      private dictionary.
  86.  
  87.               0-n    Replace with one of the suggested words.
  88.  
  89.               L      Look  up  words  in  system dictionary (con-
  90.                      trolled by the WORDS compilation option).
  91.  
  92.               X      Write the rest of this file,  ignoring  mis-
  93.                      spellings, and start next file.
  94.  
  95.               Q      Exit   immediately   and   leave   the  file
  96.                      unchanged.
  97.  
  98.               !      Shell escape.
  99.  
  100.               ^L     Redraw screen.
  101.  
  102.               ^Z     Suspend ispell.
  103.  
  104.               ?      Give help screen.
  105.  
  106.        If the -M switch is specified, a one-line mini-menu at the
  107.        bottom  of  the screen will summarize these options.  Con-
  108.        versely, the -N switch may be used to suppress  the  mini-
  109.        menu.  (The minimenu is displayed by default if ispell was
  110.        compiled with the MINIMENU option, but these two  switches
  111.        will always override the default).
  112.  
  113.        If  the  -L flag is given, the specified number is used as
  114.        the number of lines of context to be shown at  the  bottom
  115.        of  the  screen (The default is to calculate the amount of
  116.        context as a certain percentage of the screen size).   The
  117.        amount of context is subject to a system-imposed limit.
  118.  
  119.        If  the  -V  flag is given, characters that are not in the
  120.        7-bit ANSI printable character set  will  always  be  dis-
  121.        played  in  the  style  of "cat -v", even if ispell thinks
  122.        that these characters are legal ISO Latin-1 on  your  sys-
  123.        tem.   This  is  useful when working with older terminals.
  124.        Without this switch, ispell will display 8-bit  characters
  125.        "as is" if they have been defined as string characters for
  126.        the chosen file type.
  127.  
  128.  
  129.  
  130.                               local                             2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ISPELL(1)                                               ISPELL(1)
  137.  
  138.  
  139.        "Normal" mode, as well as the -l, -a, and -A  options  and
  140.        interactive  mode  (see  below) also accepts the following
  141.        "common" flags on the command line:
  142.  
  143.               -t     The input file is in TeX or LaTeX format.
  144.  
  145.               -n     The input file is in nroff/troff format.
  146.  
  147.               -H     The  input  file  is  in  SGML/HTML  format.
  148.                      (This  should really be -s, but for histori-
  149.                      cal reasons that flag was already taken.)
  150.  
  151.               -b     Create a backup file by appending ".bak"  to
  152.                      the name of the input file.
  153.  
  154.               -x     Don't create a backup file.
  155.  
  156.               -B     Report   run-together   words  with  missing
  157.                      blanks as spelling errors.
  158.  
  159.               -C     Consider run-together words  as  legal  com-
  160.                      pounds.
  161.  
  162.               -P     Don't  generate  extra  root/affix  combina-
  163.                      tions.
  164.  
  165.               -m     Make possible root/affix  combinations  that
  166.                      aren't in the dictionary.
  167.  
  168.               -S     Sort  the  list  of guesses by probable cor-
  169.                      rectness.
  170.  
  171.               -d file
  172.                      Specify an alternate dictionary  file.   For
  173.                      example,  use  -d deutsch to choose a German
  174.                      dictionary in a German installation.
  175.  
  176.               -p file
  177.                      Specify an alternate personal dictionary.
  178.  
  179.               -w chars
  180.                      Specify additional characters  that  can  be
  181.                      part of a word.
  182.  
  183.               -W n   Specify  length  of  words  that  are always
  184.                      legal.
  185.  
  186.               -T type
  187.                      Assume a given formatter type for all files.
  188.  
  189.        The  -H,  -n, and -t options select whether ispell runs in
  190.        HTML (-H), nroff/troff (-n), or TeX/LaTeX (-t) input mode.
  191.        mode.   (The  default mode is controlled by the DEFTEXFLAG
  192.        installation option, but is normally nroff/troff mode  for
  193.  
  194.  
  195.  
  196.                               local                             3
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ISPELL(1)                                               ISPELL(1)
  203.  
  204.  
  205.        historical  reasons.)   Unless  overridden  by  one of the
  206.        mode-selection switches, TeX/LaTeX mode  is  automatically
  207.        selected  if  an  input file has the extension ".tex", and
  208.        HTML mode is automatically selected if an input  file  has
  209.        the extension ".html" or ".htm".
  210.  
  211.        In HTML mode, HTML tags delimited by <> signs are skipped,
  212.        except that the  "ALT="  construct  is  recognized  if  it
  213.        appears  with  no  spaces  around the equals sign, and the
  214.        text inside is spell-checked.
  215.  
  216.        In TeX/LaTeX mode, whenever a backslash  ("\")  is  found,
  217.        ispell  will  skip  to  the  next  whitespace or TeX/LaTeX
  218.        delimiter.   Certain  commands  contain  arguments   which
  219.        should  not  be checked, such as labels and reference keys
  220.        as are found in the  \cite  command,  since  they  contain
  221.        arbitrary,  non-word  arguments.   Spell  checking is also
  222.        suppressed when in math mode.  Thus, for example, given
  223.  
  224.               \chapter {This is a Ckapter} \cite{SCH86}
  225.  
  226.        ispell will find "Ckapter" but not "SCH".  The  -t  option
  227.        does  not recognize the TeX comment character "%", so com-
  228.        ments are also spell-checked.   It  also  assumes  correct
  229.        LaTeX syntax.  Arguments to infrequently used commands and
  230.        some optional arguments are sometimes checked  unnecessar-
  231.        ily.   The  bibliography will not be checked if ispell was
  232.        compiled with IGNOREBIB defined.  Otherwise, the  bibliog-
  233.        raphy will be checked but the reference key will not.
  234.  
  235.        References  for  the  tib(1) bibliography system, that is,
  236.        text between a ``[.'' or ``<.'' and ``.]'' or ``.>''  will
  237.        always be ignored in TeX/LaTeX mode.
  238.  
  239.        The  -b  and  -x  options  control whether ispell leaves a
  240.        backup (.bak) file for each input  file.   The  .bak  file
  241.        contains  the pre-corrected text.  If there are file open-
  242.        ing / writing errors, the .bak file may be left for recov-
  243.        ery  purposes  even  with  the -x option.  The default for
  244.        this option is controlled by the DEFNOBACKUPFLAG installa-
  245.        tion option.
  246.  
  247.        The  -B  and  -C  options  control how ispell handles run-
  248.        together words, such as "notthe" for "not the".  If -B  is
  249.        specified,  such  words  will be considered as errors, and
  250.        ispell will list variations  with  an  inserted  blank  or
  251.        hyphen as possible replacements.  If -C is specified, run-
  252.        together words will be considered to be  legal  compounds,
  253.        so long as both components are in the dictionary, and each
  254.        component is at least as long as a language-dependent min-
  255.        imum  (3 characters, by default).  This is useful for lan-
  256.        guages such as German and Norwegian, where  many  compound
  257.        words  are  formed by concatenation.  (Note that compounds
  258.        formed from  three  or  more  root  words  will  still  be
  259.  
  260.  
  261.  
  262.                               local                             4
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ISPELL(1)                                               ISPELL(1)
  269.  
  270.  
  271.        considered  errors).   The default for this option is lan-
  272.        guage-dependent;  in  a  multi-lingual  installation   the
  273.        default may vary depending on which dictionary you choose.
  274.  
  275.        The -P and -m options control  when  ispell  automatically
  276.        generates  suggested  root/affix combinations for possible
  277.        addition to your  personal  dictionary.   (These  are  the
  278.        entries in the "guess" list which are preceded by question
  279.        marks.)  If -P is specified, such  guesses  are  displayed
  280.        only  if  ispell  cannot  generate  any possibilities that
  281.        match the current dictionary.  If -m  is  specified,  such
  282.        guesses  are  always displayed.  This can be useful if the
  283.        dictionary has a limited word list, or a  word  list  with
  284.        few  suffixes.   However, you should be careful when using
  285.        this option, as it can generate guesses that produce ille-
  286.        gal  words.   The default for this option is controlled by
  287.        the dictionary file used.
  288.  
  289.        The -S option suppresses ispell's normal behavior of sort-
  290.        ing  the  list of possible replacement words.  Some people
  291.        may prefer this, since it somewhat enhances the  probabil-
  292.        ity that the correct word will be low-numbered.
  293.  
  294.        The  -d option is used to specify an alternate hashed dic-
  295.        tionary file, other than the  default.   If  the  filename
  296.        does  not  contain  a  "/",  the library directory for the
  297.        default dictionary file is prefixed; thus, to use  a  dic-
  298.        tionary  in  the  local  directory "-d ./xxx.hash" must be
  299.        used.  This is useful to allow dictionaries for  alternate
  300.        languages.   Unlike previous versions of ispell, a dictio-
  301.        nary of /dev/null is illegal, because the dictionary  con-
  302.        tains  the  affix table.  If you need an effectively empty
  303.        dictionary, create  a  one-entry  list  with  an  unlikely
  304.        string (e.g., "qqqqq").
  305.  
  306.        The  -p  option  is  used to specify an alternate personal
  307.        dictionary file.  If the file name  does  not  begin  with
  308.        "/", $HOME is prefixed.  Also, the shell variable WORDLIST
  309.        may be set, which renames the personal dictionary  in  the
  310.        same manner.  The command line overrides any WORDLIST set-
  311.        ting.  If neither the -p switch nor the WORDLIST  environ-
  312.        ment  variable is given, ispell will search for a personal
  313.        dictionary in both the current directory and $HOME, creat-
  314.        ing  one in $HOME if none is found.  The preferred name is
  315.        constructed by appending ".ispell_" to the  base  name  of
  316.        the  hash  file.  For example, if you use the English dic-
  317.        tionary,  your  personal   dictionary   would   be   named
  318.        ".ispell_english".   However,  if the file ".ispell_words"
  319.        exists, it will be used as the personal dictionary regard-
  320.        less  of  the  language hash file chosen.  This feature is
  321.        included primarily for backwards compatibility.
  322.  
  323.        If the -p option is not specified, ispell  will  look  for
  324.        personal  dictionaries  in  both the current directory and
  325.  
  326.  
  327.  
  328.                               local                             5
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ISPELL(1)                                               ISPELL(1)
  335.  
  336.  
  337.        the home directory.  If dictionaries exist in both places,
  338.        they  will  be merged.  If any words are added to the per-
  339.        sonal dictionary, they will  be  written  to  the  current
  340.        directory  if  a dictionary already existed in that place;
  341.        otherwise they will be written to the  dictionary  in  the
  342.        home directory.
  343.  
  344.        The -w option may be used to specify characters other than
  345.        alphabetics which may also appear in words.  For instance,
  346.        -w "&" will allow "AT&T" to be picked up.  Underscores are
  347.        useful in many technical documents.  There  is  an  admit-
  348.        tedly  crude  provision  in this option for 8-bit interna-
  349.        tional characters.  Non-printing characters may be  speci-
  350.        fied in the usual way by inserting a backslash followed by
  351.        the octal character code; e.g., "\014" for  a  form  feed.
  352.        Alternatively, if "n" appears in the character string, the
  353.        (up to) three characters following are a DECIMAL code 0  -
  354.        255, for the character.  For example, to include bells and
  355.        form feeds in your words (an admittedly silly thing to do,
  356.        but aren't most pedagogical examples):
  357.  
  358.               n007n012
  359.  
  360.        Numeric digits other than the three following "n" are sim-
  361.        ply numeric characters.  Use of "n" does not conflict with
  362.        anything  because  actual  alphabetics  have  no meaning -
  363.        alphabetics are already accepted.  Ispell  will  typically
  364.        be  used  with  input from a file, meaning that preserving
  365.        parity for possible 8 bit characters from the  input  text
  366.        is  OK.   If  you specify the -l option, and actually type
  367.        text from the terminal, this may create problems  if  your
  368.        stty settings preserve parity.
  369.  
  370.        It  is not possible to use -w with certain characters.  In
  371.        particular, the flag-marker  character  for  the  language
  372.        (defined  in the affix file, but usually "/") can never be
  373.        made into a word character.
  374.  
  375.        The -W option may be used to change the  length  of  words
  376.        that  ispell  always  accepts  as legal.  Normally, ispell
  377.        will accept all  1-character  words  as  legal,  which  is
  378.        equivalent  to  specifying  "-W 1."  (The default for this
  379.        switch is actually controlled by the MINWORD  installation
  380.        option, so it may vary at your installation.)  If you want
  381.        all words to be checked against the dictionary, regardless
  382.        of length, you might want to specify "-W 0."  On the other
  383.        hand, if your document specifies  a  lot  of  three-letter
  384.        acronyms,  you would specify "-W 3" to accept all words of
  385.        three letters or less.  Regardless of the setting of  this
  386.        option,  ispell  will  only generate words that are in the
  387.        dictionary as suggested replacements for words; this  pre-
  388.        vents  the  list  from becoming too long.  Obviously, this
  389.        option can be very dangerous, since short misspellings may
  390.        be  missed.   If  you  use  this  option a lot, you should
  391.  
  392.  
  393.  
  394.                               local                             6
  395.  
  396.  
  397.  
  398.  
  399.  
  400. ISPELL(1)                                               ISPELL(1)
  401.  
  402.  
  403.        probably make a last pass without it  before  you  publish
  404.        your document, to protect yourself against errors.
  405.  
  406.        The  -T option is used to specify a default formatter type
  407.        for use in  generating  string  characters.   This  switch
  408.        overrides  the default type determined from the file name.
  409.        The type argument may be either one of  the  unique  names
  410.        defined in the language affix file (e.g., nroff) or a file
  411.        suffix including the dot (e.g., .tex).  If  no  -T  option
  412.        appears  and no type can be determined from the file name,
  413.        the default string character type declared in the language
  414.        affix file will be used.
  415.  
  416.        The  -k  option is used to enhance the behavior of certain
  417.        deformatters.  The name parameter  gives  the  name  of  a
  418.        deformatter  keyword set (see below), and the list parame-
  419.        ter gives a list of one or more keywords that  are  to  be
  420.        treated  specially.   If list begins with a plus (+) sign,
  421.        it  is  added  to  the  existing  keywords;  otherwise  it
  422.        replaces   the   existing   keyword  list.   For  example,
  423.        -ktexskip1 +bibliographystyle adds "bibliographystyle"  to
  424.        the   TeX   skip-1  list,  while  -khtmlignore  pre,strong
  425.        replaces the HTML ignore list  with  "pre"  and  "strong".
  426.        The lists available are:
  427.  
  428.        texskip1
  429.               TeX/LaTeX commands that take a single argument that
  430.               should not be spell-checked,  such  as  "bibliogra-
  431.               phystyle".    The   default   is  "end",  "vspace",
  432.               "hspace",   "cite",   "ref",   "parbox",   "label",
  433.               "input", "nocite", "include", "includeonly", "docu-
  434.               mentstyle", "documentclass", "usepackage", "select-
  435.               language",  "pagestyle",  "pagenumbering", "hyphen-
  436.               ation", "pageref", and "psfig", plus "bibliography"
  437.               in  some  installations.   These keywords are case-
  438.               sensitive.
  439.  
  440.        texskip2
  441.               TeX/LaTeX commands that  take  two  arguments  that
  442.               should  not  be spell-checked, such as "setlength".
  443.               The  default  is  "rule",   "setcounter",   "addto-
  444.               counter",  "setlength",  "addtolength",  and  "set-
  445.               towidth".  These keywords are case-sensitive.
  446.  
  447.        htmlignore
  448.               HTML tags that delimit  text  that  should  not  be
  449.               spell-checked   until   the  matching  end  tag  is
  450.               reached.  The default  is  "code",  "samp",  "kbd",
  451.               "pre",  "listing",  and  "address".  These keywords
  452.               are  case-insensitive.   (Note  that  the   content
  453.               inside  HTML  tags,  such as HREF=, is not normally
  454.               checked.)
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                               local                             7
  461.  
  462.  
  463.  
  464.  
  465.  
  466. ISPELL(1)                                               ISPELL(1)
  467.  
  468.  
  469.        htmlcheck
  470.               Subfields that should be spell-checked even  inside
  471.               HTML  tags.  The default is "alt", so that the ALT=
  472.               portion of IMG tags will be  spell-checked.   These
  473.               keywords are case-insensitive.
  474.  
  475.        All  of  the  above  keyword lists can also be modified by
  476.        environment variables whose names are the same  as  above,
  477.        except  in uppercase, e.g., TEXSKIP1.  The -k switch over-
  478.        rides (or adds to)  the  environment  variables,  and  the
  479.        environment  variables  override  or  add  to the built-in
  480.        defaults.
  481.  
  482.        The -F switch specifies an external  deformatter  program.
  483.        This  program should read data from its standard input and
  484.        write to its standard output.  The  program  must  produce
  485.        exactly  one  character  of  output  for each character of
  486.        input, or ispell will lose synchronization and corrupt the
  487.        output  file.   Whitespace  characters (especially blanks,
  488.        tabs, and newlines) and characters that should  be  spell-
  489.        checked  should  be  passed through unchanged.  Characters
  490.        that should not be spell-checked should be converted  into
  491.        blanks or other non-word characters.  For example, an HTML
  492.        deformatter might turn all HTML tags into blanks, and also
  493.        blank  out  all  text  delimited by tags such as "code" or
  494.        "kbd".
  495.  
  496.        The -F switch is the preferred way to deformat  files  for
  497.        ispell, and eventually will become the only way.
  498.  
  499.        If  ispell  is  invoked  without  any  filenames  or  mode
  500.        switches, it enters an interactive mode  designed  to  let
  501.        the user check the spelling of individual words.  The pro-
  502.        gram repeatedly prompts on standard  output  with  "word:"
  503.        and  responds with either "ok" (possibly with commentary),
  504.        "not found", or "how about" followed by a list of  sugges-
  505.        tions.
  506.  
  507.        The  -l  or  "list"  option to ispell is used to produce a
  508.        list of misspelled words from the standard input.
  509.  
  510.        The -a option is intended to be used from  other  programs
  511.        through  a  pipe.   In this mode, ispell prints a one-line
  512.        version identification message, and  then  begins  reading
  513.        lines  of  input.   For  each input line, a single line is
  514.        written to the standard output for each word  checked  for
  515.        spelling  on  the line.  If the word was found in the main
  516.        dictionary, or your personal  dictionary,  then  the  line
  517.        contains  only a '*'.  If the word was found through affix
  518.        removal, then the line contains a '+', a  space,  and  the
  519.        root  word.  If the word was found through compound forma-
  520.        tion (concatenation of two words,  controlled  by  the  -C
  521.        option), then the line contains only a '-'.
  522.  
  523.  
  524.  
  525.  
  526.                               local                             8
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ISPELL(1)                                               ISPELL(1)
  533.  
  534.  
  535.        If  the  word is not in the dictionary, but there are near
  536.        misses, then the line contains an '&', a space,  the  mis-
  537.        spelled word, a space, the number of near misses, the num-
  538.        ber of characters between the beginning of  the  line  and
  539.        the  beginning  of  the  misspelled word, a colon, another
  540.        space, and a list of the near misses separated  by  commas
  541.        and  spaces.   Following  the  near misses (and identified
  542.        only by the count of near misses), if the  word  could  be
  543.        formed  by  adding (illegal) affixes to a known root, is a
  544.        list of suggested derivations, again separated  by  commas
  545.        and  spaces.  If there are no near misses at all, the line
  546.        format is the same, except that the '&' is replaced by '?'
  547.        (and  the  near-miss count is always zero).  The suggested
  548.        derivations following the near misses are in the form:
  549.  
  550.               [prefix+] root [-prefix] [-suffix] [+suffix]
  551.  
  552.        (e.g.,  "re+fry-y+ies"  to  get  "refries")   where   each
  553.        optional pfx and sfx is a string.  Also, each near miss or
  554.        guess is capitalized the same as  the  input  word  unless
  555.        such  capitalization  is  illegal; in the latter case each
  556.        near miss is capitalized correctly according to  the  dic-
  557.        tionary.
  558.  
  559.        Finally,  if  the  word does not appear in the dictionary,
  560.        and there are no near misses, then  the  line  contains  a
  561.        '#',  a space, the misspelled word, a space, and the char-
  562.        acter offset from the beginning of the  line.   Each  sen-
  563.        tence of text input is terminated with an additional blank
  564.        line, indicating that ispell has completed processing  the
  565.        input line.
  566.  
  567.        These output lines can be summarized as follows:
  568.  
  569.  
  570.               OK:    *
  571.  
  572.               Root:  + <root>
  573.  
  574.               Compound:
  575.                      -
  576.  
  577.               Miss:  &   <original>   <count>  <offset>:  <miss>,
  578.                      <miss>, ..., <guess>, ...
  579.  
  580.               Guess: ? <original> 0 <offset>:  <guess>,  <guess>,
  581.                      ...
  582.  
  583.               None:  # <original> <offset>
  584.  
  585.        For  example,  a  dummy  dictionary  containing  the words
  586.        "fray", "Frey", "fry", and  "refried"  might  produce  the
  587.        following  response  to  the command "echo 'frqy refries |
  588.        ispell -a -m -d ./test.hash":
  589.  
  590.  
  591.  
  592.                               local                             9
  593.  
  594.  
  595.  
  596.  
  597.  
  598. ISPELL(1)                                               ISPELL(1)
  599.  
  600.  
  601.               (#) International Ispell Version 3.0.05 (beta), 08/10/91
  602.               & frqy 3 0: fray, Frey, fry
  603.               & refries 1 5: refried, re+fry-y+ies
  604.  
  605.        This mode is also suitable for interactive  use  when  you
  606.        want to figure out the spelling of a single word.
  607.  
  608.        The  -A  option  works just like -a, except that if a line
  609.        begins with the string "&Include_File&", the rest  of  the
  610.        line  is  taken  as the name of a file to read for further
  611.        words.  Input  returns  to  the  original  file  when  the
  612.        include  file is exhausted.  Inclusion may be nested up to
  613.        five deep.  The key string may be changed with  the  envi-
  614.        ronment  variable  INCLUDE_STRING (the ampersands, if any,
  615.        must be included).
  616.  
  617.        When in the -a mode, ispell will also accept lines of sin-
  618.        gle  words  prefixed  with any of '*', '&', '@', '+', '-',
  619.        '~', '#', '!', '%', '`', or '^'.  A line starting with '*'
  620.        tells ispell to insert the word into the user's dictionary
  621.        (similar to the I command).   A  line  starting  with  '&'
  622.        tells  ispell  to  insert  an all-lowercase version of the
  623.        word into the user's dictionary (similar  to  the  U  com-
  624.        mand).   A  line starting with '@' causes ispell to accept
  625.        this word in the future (similar to  the  A  command).   A
  626.        line  starting  with  '+',  followed immediately by tex or
  627.        nroff will cause ispell to parse  future  input  according
  628.        the syntax of that formatter.  A line consisting solely of
  629.        a '+' will place ispell in TeX/LaTeX mode (similar to  the
  630.        -t option) and '-' returns ispell to nroff/troff mode (but
  631.        these commands are obsolete).  However, the string charac-
  632.        ter  type  is not changed; the '~' command must be used to
  633.        do this.  A line starting with '~' causes  ispell  to  set
  634.        internal  parameters  (in  particular,  the default string
  635.        character type) based on the filename given in the rest of
  636.        the  line.   (A  file suffix is sufficient, but the period
  637.        must be included.  Instead of a file  name  or  suffix,  a
  638.        unique  name, as listed in the language affix file, may be
  639.        specified.)   However,  the  formatter  parsing   is   not
  640.        changed;   the '+' command must be used to change the for-
  641.        matter.  A line prefixed with '#' will cause the  personal
  642.        dictionary  to  be  saved.   A line prefixed with '!' will
  643.        turn on terse mode (see below), and a line  prefixed  with
  644.        '%' will return ispell to normal (non-terse) mode.  A line
  645.        prefixed with '`' will  turn  on  verbose-correction  mode
  646.        (see  below); this mode can only be disabled by turning on
  647.        terse mode with '%'.
  648.  
  649.        Any input following the prefix characters '+',  '-',  '#',
  650.        '!', '%', or '`' is ignored, as is any input following the
  651.        filename on a '~' line.  To allow spell-checking of  lines
  652.        beginning  with these characters, a line starting with '^'
  653.        has that character removed before  it  is  passed  to  the
  654.        spell-checking  code.  It is recommended that programmatic
  655.  
  656.  
  657.  
  658.                               local                            10
  659.  
  660.  
  661.  
  662.  
  663.  
  664. ISPELL(1)                                               ISPELL(1)
  665.  
  666.  
  667.        interfaces prefix every data line with an uparrow to  pro-
  668.        tect themselves against future changes in ispell.
  669.  
  670.        To summarize these:
  671.  
  672.  
  673.               *      Add to personal dictionary
  674.  
  675.               @      Accept word, but leave out of dictionary
  676.  
  677.               #      Save current personal dictionary
  678.  
  679.               ~      Set parameters based on filename
  680.  
  681.               +      Enter TeX mode
  682.  
  683.               -      Exit TeX mode
  684.  
  685.               !      Enter terse mode
  686.  
  687.               %      Exit terse mode
  688.  
  689.               `      Enter verbose-correction mode
  690.  
  691.               ^      Spell-check rest of line
  692.  
  693.        In  terse mode, ispell will not print lines beginning with
  694.        '*', '+', or '-', all of  which  indicate  correct  words.
  695.        This significantly improves running speed when the driving
  696.        program is going to ignore correct words anyway.
  697.  
  698.        In verbose-correction mode, ispell includes  the  original
  699.        word  immediately  after the indicator character in output
  700.        lines beginning with '*', '+', and '-',  which  simplifies
  701.        interaction for some programs.
  702.  
  703.        The  -s option is only valid in conjunction with the -a or
  704.        -A options, and only on BSD-derived  systems.   If  speci-
  705.        fied,  ispell will stop itself with a SIGTSTP signal after
  706.        each line of input.  It will not read more input until  it
  707.        receives  a  SIGCONT signal.  This may be useful for hand-
  708.        shaking with certain text editors.
  709.  
  710.        The -f option is only valid in conjunction with the -a  or
  711.        -A  options.   If  -f  is specified, ispell will write its
  712.        results to the given file, rather than to standard output.
  713.  
  714.        The  -v  option causes ispell to print its current version
  715.        identification on the standard output and  exit.   If  the
  716.        switch is doubled, ispell will also print the options that
  717.        it was compiled with.
  718.  
  719.        The -c, -e[1-4], and -D options of ispell,  are  primarily
  720.        intended  for  use  by the munchlist shell script.  The -c
  721.  
  722.  
  723.  
  724.                               local                            11
  725.  
  726.  
  727.  
  728.  
  729.  
  730. ISPELL(1)                                               ISPELL(1)
  731.  
  732.  
  733.        switch causes a list of words to be read from the standard
  734.        input.   For  each word, a list of possible root words and
  735.        affixes will be written to the standard output.   Some  of
  736.        the  root  words will be illegal and must be filtered from
  737.        the output by other means; the munchlist script does this.
  738.        As an example, the command:
  739.  
  740.               echo BOTHER | ispell -c
  741.  
  742.        produces:
  743.  
  744.               BOTHER BOTHE/R BOTH/R
  745.  
  746.        The -e switch is the reverse of -c; it expands affix flags
  747.        to produce a list of words.  For example, the command:
  748.  
  749.               echo BOTH/R | ispell -e
  750.  
  751.        produces:
  752.  
  753.               BOTH BOTHER
  754.  
  755.        An optional expansion level  can  also  be  specified.   A
  756.        level  of  1  (-e1) is the same as -e alone.  A level of 2
  757.        causes the original root/affix combination to be prepended
  758.        to the line:
  759.  
  760.               BOTH/R BOTH BOTHER
  761.  
  762.        A  level  of 3 causes multiple lines to be output, one for
  763.        each generated word, with the original root/affix combina-
  764.        tion followed by the word it creates:
  765.  
  766.               BOTH/R BOTH
  767.               BOTH/R BOTHER
  768.  
  769.        A level of 4 causes a floating-point number to be appended
  770.        to each of the level-3 lines, giving the ratio between the
  771.        length  of  the root and the total length of all generated
  772.        words including the root:
  773.  
  774.               BOTH/R BOTH 2.500000
  775.               BOTH/R BOTHER 2.500000
  776.  
  777.        Finally, the -D flag causes the affix tables from the dic-
  778.        tionary file to be dumped to standard output.
  779.  
  780.        Unless  your  system administrator has suppressed the fea-
  781.        ture to save space, ispell is aware of the  correct  capi-
  782.        talizations  of  words  in the dictionary and in your per-
  783.        sonal dictionary.  As well as recognizing words that  must
  784.        be  capitalized (e.g., George) and words that must be all-
  785.        capitals (e.g., NASA),  it  can  also  handle  words  with
  786.        "unusual"  capitalization (e.g., "ITCorp" or "TeX").  If a
  787.  
  788.  
  789.  
  790.                               local                            12
  791.  
  792.  
  793.  
  794.  
  795.  
  796. ISPELL(1)                                               ISPELL(1)
  797.  
  798.  
  799.        word is capitalized incorrectly, the list of possibilities
  800.        will  include  all acceptable capitalizations.  (More than
  801.        one capitalization may be acceptable; for example, my dic-
  802.        tionary lists both "ITCorp" and "ITcorp".)
  803.  
  804.        Normally,  this  feature will not cause you surprises, but
  805.        there is one circumstance you need to be aware of.  If you
  806.        use  "I"  to  add a word to your dictionary that is at the
  807.        beginning of a sentence (e.g.,  the  first  word  of  this
  808.        paragraph  if  "normally"  were not in the dictionary), it
  809.        will be marked as "capitalization required".  A subsequent
  810.        usage  of  this  word  without  capitalization  (e.g., the
  811.        quoted word in the previous sentence) will be considered a
  812.        misspelling by ispell, and it will suggest the capitalized
  813.        version.  You must then compare the  actual  spellings  by
  814.        eye, and then type "I" to add the uncapitalized variant to
  815.        your personal dictionary.  You can avoid this  problem  by
  816.        using "U" to add the original word, rather than "I".
  817.  
  818.        The rules for capitalization are as follows:
  819.  
  820.        (1)    Any  word  may  appear in all capitals, as in head-
  821.               ings.
  822.  
  823.        (2)    Any word that is in the dictionary in all-lowercase
  824.               form  may appear either in lowercase or capitalized
  825.               (as at the beginning of a sentence).
  826.  
  827.        (3)    Any word that has "funny" capitalization (i.e.,  it
  828.               contains both cases and there is an uppercase char-
  829.               acter besides the first) must appear exactly as  in
  830.               the  dictionary,  except  as permitted by rule (1).
  831.               If the word is acceptable in all-lowercase, it must
  832.               appear thus in a dictionary entry.
  833.  
  834.    buildhash
  835.        The  buildhash  program builds hashed dictionary files for
  836.        later use by ispell.  The raw word list (with affix flags)
  837.        is given in dict-file, and the the affix flags are defined
  838.        by affix-file.  The hashed output is written to hash-file.
  839.        The  formats  of  the  two  input  files  are described in
  840.        ispell(4).  The -s (silent) option  suppresses  the  usual
  841.        status  messages  that  are  written to the standard error
  842.        device.
  843.  
  844.    munchlist
  845.        The munchlist shell script is used to reduce the  size  of
  846.        dictionary files, primarily personal dictionary files.  It
  847.        is also capable of  combining  dictionaries  from  various
  848.        sources.   The  given files are read (standard input if no
  849.        arguments are given), reduced to a minimal  set  of  roots
  850.        and  affixes  that  will match the same list of words, and
  851.        written to standard output.
  852.  
  853.  
  854.  
  855.  
  856.                               local                            13
  857.  
  858.  
  859.  
  860.  
  861.  
  862. ISPELL(1)                                               ISPELL(1)
  863.  
  864.  
  865.        Input for munchlist contains of raw words (e.g  from  your
  866.        personal  dictionary files) or root and affix combinations
  867.        (probably generated in earlier munchlist runs).  Each word
  868.        or root/affix combination must be on a separate line.
  869.  
  870.        The  -D (debug) option leaves temporary files around under
  871.        standard names instead  of  deleting  them,  so  that  the
  872.        script  can  be debugged.  Warning: this option can eat up
  873.        an enormous amount of temporary file space.
  874.  
  875.        The -v (verbose) option causes  progress  messages  to  be
  876.        reported to stderr so you won't get nervous that munchlist
  877.        has hung.
  878.  
  879.        If the -s (strip) option is specified, words that  are  in
  880.        the  specified  hash-file  are removed from the word list.
  881.        This can be useful with personal dictionaries.
  882.  
  883.        The -l option can be used to specify an  alternate  affix-
  884.        file  for  munching  dictionaries  in languages other than
  885.        English.
  886.  
  887.        The -c option can be used  to  convert  dictionaries  that
  888.        were built with an older affix file, without risk of acci-
  889.        dentally introducing unintended  affix  combinations  into
  890.        the dictionary.
  891.  
  892.        The  -T  option  allows  dictionaries to be converted to a
  893.        canonical string-character format.  The  suffix  specified
  894.        is  looked  up  in the affix file (-l switch) to determine
  895.        the string-character format used for the input  file;  the
  896.        output  always uses the canonical string-character format.
  897.        For example, a dictionary collected from TeX source  files
  898.        might  be  converted  to canonical format by specifying -T
  899.        tex.
  900.  
  901.        The -w option is passed on to ispell.
  902.  
  903.    findaffix
  904.        The findaffix shell script is an aid  to  writers  of  new
  905.        language descriptions in choosing affixes.  The given dic-
  906.        tionary files (standard input if none are given) are exam-
  907.        ined  for  possible  prefixes  (-p switch) or suffixes (-s
  908.        switch, the default).  Each  commonly-occurring  affix  is
  909.        presented  along  with  a  count of the number of times it
  910.        appears and an estimate of the number of bytes that  would
  911.        be saved in a dictionary hash file if it were added to the
  912.        language table.  Only affixes that  generate  legal  roots
  913.        (found in the original input) are listed.
  914.  
  915.        If  the  "-c" option is not given, the output lines are in
  916.        the following format:
  917.  
  918.               strip/add/count/bytes
  919.  
  920.  
  921.  
  922.                               local                            14
  923.  
  924.  
  925.  
  926.  
  927.  
  928. ISPELL(1)                                               ISPELL(1)
  929.  
  930.  
  931.        where strip is the string that should be stripped  from  a
  932.        root  word before adding the affix, add is the affix to be
  933.        added, count is a count of the number of times  that  this
  934.        strip/add combination appears, and bytes is an estimate of
  935.        the number of bytes that might be saved in the raw dictio-
  936.        nary  file if this combination is added to the affix file.
  937.        The field separator in the output will be the tab  charac-
  938.        ter  specified  by  the -t switch;  the default is a slash
  939.        ("/").
  940.  
  941.        If the -c ("clean output") option is given, the appearance
  942.        of  the  output  is  made  visually cleaner (but harder to
  943.        post-process) by changing it to:
  944.  
  945.               -strip+add<tab>count<tab>bytes
  946.  
  947.        where strip, add, count, and  bytes  are  as  before,  and
  948.        <tab> represents the ASCII tab character.
  949.  
  950.        The  method  used  to  generate possible affixes will also
  951.        generate longer  affixes  which  have  common  headers  or
  952.        trailers.   For example, the two words "moth" and "mother"
  953.        will generate not only the obvious substitution "+er"  but
  954.        also  "-h+her"  and  "-th+ther"  (and possibly even longer
  955.        ones, depending on the value of min).  To prevent clutter-
  956.        ing  the  output  with  such  affixes, any affix pair that
  957.        shares a common header (or, for prefixes, trailer)  string
  958.        longer  than  elim  characters  (default  1)  will be sup-
  959.        pressed.  You may want to set "elim" to  a  value  greater
  960.        than 1 if your language has string characters; usually the
  961.        need for this parameter will become obvious when you exam-
  962.        ine the output of your findaffix run.
  963.  
  964.        Normally, the affixes are sorted according to the estimate
  965.        of bytes saved.  The -f switch may be used  to  cause  the
  966.        affixes to be sorted by frequency of appearance.
  967.  
  968.        To  save output file space, affixes which occur fewer than
  969.        10 times are eliminated; this limit may  be  changed  with
  970.        the  -l  switch.   The -M switch specifies a maximum affix
  971.        length (default 8).  Affixes longer than this will not  be
  972.        reported.   (This  saves on temporary disk space and makes
  973.        the script run faster.)
  974.  
  975.        Affixes which generate stems shorter than 3 characters are
  976.        suppressed.   (A  stem  is the word after the strip string
  977.        has been removed, and  before  the  add  string  has  been
  978.        added.)   This  reduces both the running time and the size
  979.        of the output file.  This limit may be changed with the -m
  980.        switch.   The  minimum stem length should only be set to 1
  981.        if you have a lot of free time  and  disk  space  (in  the
  982.        range of many days and hundreds of megabytes).
  983.  
  984.        The  findaffix script requires a non-blank field-separator
  985.  
  986.  
  987.  
  988.                               local                            15
  989.  
  990.  
  991.  
  992.  
  993.  
  994. ISPELL(1)                                               ISPELL(1)
  995.  
  996.  
  997.        character for internal use.  Normally, this character is a
  998.        slash  ("/"),  but  if the slash appears as a character in
  999.        the input word list, a different character can  be  speci-
  1000.        fied with the -t switch.
  1001.  
  1002.        Ispell dictionaries should be expanded before being fed to
  1003.        findaffix; in addition, characters that  are  not  in  the
  1004.        English  alphabet  (if any) should be translated to lower-
  1005.        case.
  1006.  
  1007.    tryaffix
  1008.        The tryaffix shell script is used to estimate  the  effec-
  1009.        tiveness  of  a  proposed prefix (-p switch) or suffix (-s
  1010.        switch, the default) with a given expanded-file.  Only one
  1011.        affix  can  be  tried  with  each  execution  of tryaffix,
  1012.        although multiple arguments can be used to describe  vary-
  1013.        ing  forms  of  the  same affix flag (e.g., the D flag for
  1014.        English can add either D or  ED  depending  on  whether  a
  1015.        trailing E is already present).  Each word in the expanded
  1016.        dictionary that ends (or begins) with  the  chosen  suffix
  1017.        (or  prefix) has that suffix (prefix) removed; the dictio-
  1018.        nary is then  searched  for  root  words  that  match  the
  1019.        stripped  word.   Normally, all matching roots are written
  1020.        to standard output, but if the -c (count) flag  is  given,
  1021.        only a statistical summary of the results is written.  The
  1022.        statistics given are a count of  words  the  affix  poten-
  1023.        tially applies to and an estimate of the number of dictio-
  1024.        nary bytes that a flag using the affix  would  save.   The
  1025.        estimate will be high if the flag generates words that are
  1026.        currently  generated  by  other  affix  flags  (e.g.,   in
  1027.        English,  bathers  can  be  generated  by either bath/X or
  1028.        bather/S).
  1029.  
  1030.        The  dictionary  file,  expanded-file,  must  already   be
  1031.        expanded  (using  the -e switch of ispell) and sorted, and
  1032.        things will usually work best if uppercase has been folded
  1033.        to lower with 'tr'.
  1034.  
  1035.        The  affix  arguments  are  things to be stripped from the
  1036.        dictionary file to produce trial roots: for  English,  con
  1037.        (prefix)  and  ing  (suffix)  are  examples.  The addition
  1038.        parts of the argument are letters  that  would  have  been
  1039.        stripped  off the root before adding the affix.  For exam-
  1040.        ple, in English the affix ing normally strips e for  words
  1041.        ending  in  that  letter (e.g., like becomes liking) so we
  1042.        might run:
  1043.  
  1044.               tryaffix ing ing+e
  1045.  
  1046.        to cover both cases.
  1047.  
  1048.        All of the shell scripts contain documentation as  commen-
  1049.        tary  at  the  beginning; sometimes these comments contain
  1050.        useful information beyond the scope of this manual page.
  1051.  
  1052.  
  1053.  
  1054.                               local                            16
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. ISPELL(1)                                               ISPELL(1)
  1061.  
  1062.  
  1063.        It is possible to install ispell in such a way as to  only
  1064.        support ASCII range text if desired.
  1065.  
  1066.    icombine
  1067.        The  icombine program is a helper for munchlist.  It reads
  1068.        a list of words in dictionary format  (roots  plus  flags)
  1069.        from  the  standard  input, and produces a reduced list on
  1070.        standard output which combines common roots found on adja-
  1071.        cent  entries.  Identical roots which have differing flags
  1072.        will have their flags combined, and roots which have  dif-
  1073.        fering  capitalizations  will  be  combined in a way which
  1074.        only preserves important capitalization information.   The
  1075.        optional  aff-file specifies a language file which defines
  1076.        the character sets used and the meanings  of  the  various
  1077.        flags.  The -T switch can be used to select among alterna-
  1078.        tive string character types by giving a dummy suffix  that
  1079.        can be found in an altstringtype statement.
  1080.  
  1081.    ijoin
  1082.        The  ijoin program is a re-implementation of join(1) which
  1083.        handles long lines and 8-bit characters correctly.  The -s
  1084.        switch  specifies that the sort(1) program used to prepare
  1085.        the input to ijoin uses signed comparisons on 8-bit  char-
  1086.        acters; the -u switch specifies that sort(1) uses unsigned
  1087.        comparisons.  All other options and behaviors  of  join(1)
  1088.        are  duplicated as exactly as possible based on the manual
  1089.        page, except that ijoin will not handle newline as a field
  1090.        separator.   See the join(1) manual page for more informa-
  1091.        tion.
  1092.  
  1093. ENVIRONMENT
  1094.        DICTIONARY
  1095.               Default dictionary to use, if no -d flag is  given.
  1096.  
  1097.        WORDLIST
  1098.               Personal dictionary file name
  1099.  
  1100.        INCLUDE_STRING
  1101.               Code for file inclusion under the -A option
  1102.  
  1103.        TMPDIR Directory  used  for  some of munchlist's temporary
  1104.               files
  1105.  
  1106.        TEXSKIP1
  1107.               List of TeX keywords that have  a  single  argument
  1108.               that ispell should ignore.
  1109.  
  1110.        TEXSKIP1
  1111.               List  of  TeX keywords that have two arguments that
  1112.               ispell should ignore.
  1113.  
  1114.        HTMLIGNORE
  1115.               List of HTML keywords that delimit text that should
  1116.               not be spell-checked.
  1117.  
  1118.  
  1119.  
  1120.                               local                            17
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. ISPELL(1)                                               ISPELL(1)
  1127.  
  1128.  
  1129.        HTMLCHECK
  1130.               List  of  HTML  fields that should always be spell-
  1131.               checked, even inside a tag.
  1132.  
  1133. FILES
  1134.        !!LIBDIR!!/!!DEFHASH!!
  1135.               Hashed dictionary (may be found in some other local
  1136.               directory, depending on the system).
  1137.  
  1138.        !!LIBDIR!!/!!DEFLANG!!
  1139.               Affix-definition file for munchlist
  1140.  
  1141.        /usr/dict/web2 or /usr/dict/words
  1142.               For  the  Lookup  function  (depending on the WORDS
  1143.               compilation option).
  1144.  
  1145.        $HOME/.ispell_hashfile
  1146.               User's private dictionary
  1147.  
  1148.        .ispell_hashfile
  1149.               Directory-specific private dictionary
  1150.  
  1151. SEE ALSO
  1152.        spell(1), egrep(1),  look(1),  join(1),  sort(1),  sq(1L),
  1153.        tib(1L), ispell(4L), english(4L)
  1154.  
  1155. BUGS
  1156.        It takes several to many seconds for ispell to read in the
  1157.        hash table, depending on size.
  1158.  
  1159.        When all options are enabled, ispell may take several sec-
  1160.        onds to generate all the guesses at corrections for a mis-
  1161.        spelled word; on slower machines this time is long  enough
  1162.        to be annoying.
  1163.  
  1164.        The hash table is stored as a quarter-megabyte (or larger)
  1165.        array, so a PDP-11 or 286 version does not seem likely.
  1166.  
  1167.        Ispell should understand more troff syntax, and deal  more
  1168.        intelligently with contractions.
  1169.  
  1170.        Although  small  personal  dictionaries  are sorted before
  1171.        they are written out, the order of capitalizations of  the
  1172.        same word is somewhat random.
  1173.  
  1174.        When  the  -x  flag  is  specified, ispell will unlink any
  1175.        existing .bak file.
  1176.  
  1177.        There are too many flags,  and  many  of  them  have  non-
  1178.        mnemonic names.
  1179.  
  1180.        Munchlist  does not deal very gracefully with dictionaries
  1181.        which  contain  "non-word"  characters.   Such  characters
  1182.        ought  to  be  deleted  from the dictionary with a warning
  1183.  
  1184.  
  1185.  
  1186.                               local                            18
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. ISPELL(1)                                               ISPELL(1)
  1193.  
  1194.  
  1195.        message.
  1196.  
  1197.        Findaffix and munchlist require tremendous amounts of tem-
  1198.        porary file space for large dictionaries.  They do respect
  1199.        the TMPDIR environment variable,  so  this  space  can  be
  1200.        redirected.   However, a lot of the temporary space needed
  1201.        is for sorting, so TMPDIR is only a partial help  on  sys-
  1202.        tems  with  an  uncooperative  sort(1).  ("Cooperative" is
  1203.        defined as accepting the undocumented -T switch).  At  its
  1204.        peak  usage,  munchlist  takes 10 to 40 times the original
  1205.        dictionary's size in Kb.  (The larger ratio is for dictio-
  1206.        naries  that already have heavy affix use, such as the one
  1207.        distributed with ispell).  Munchlist is  also  very  slow;
  1208.        munching   a   normal-sized  dictionary  (15K  roots,  45K
  1209.        expanded words) takes around an hour on a  small  worksta-
  1210.        tion.   (Most of this time is spent in sort(1), and munch-
  1211.        list can run much faster on machines that have a more mod-
  1212.        ern  sort that makes better use of the memory available to
  1213.        it.)  Findaffix is even worse; the smallest  English  dic-
  1214.        tionary  cannot  be  processed  with this script in a mere
  1215.        50Kb of free space, and even after specifying switches  to
  1216.        reduce  the  temporary space required, the script will run
  1217.        for over 24 hours on a small workstation.
  1218.  
  1219. AUTHOR
  1220.        Pace Willisson (pace@mit-vax), 1983, based on  the  PDP-10
  1221.        assembly version.  That version was written by R. E. Gorin
  1222.        in 1971, and later revised by W. E. Matson (1974)  and  W.
  1223.        B. Ackerman (1978).
  1224.  
  1225.        Collected,  revised,  and  enhanced for the Usenet by Walt
  1226.        Buehring, 1987.
  1227.  
  1228.        Table-driven  multi-lingual  version  by  Geoff  Kuenning,
  1229.        1987-88.
  1230.  
  1231.        Large dictionaries provided by Bob Devine (vianet!devine).
  1232.  
  1233.        A complete list of contributors is too large to list here,
  1234.        but  is  distributed  with  the ispell sources in the file
  1235.        "Contributors".
  1236.  
  1237. VERSION
  1238.        The version of ispell described by  this  manual  page  is
  1239.        International Ispell Version 3.1.20, 10/10/95.
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.                               local                            19
  1253.  
  1254.  
  1255.