.\" -*- Mode:Text -*-
.TH ISPELL local MIT
.SH NAME
ispell \- Correct spelling for a file
.SH SYNOPSIS
.B ispell
[
file |
.B \-a
|
.B \-l
]
.SH DESCRIPTION
.PP
.I Ispell
is fashioned after the
.I spell
program from ITS (called
.I ispell
on Twenex systems.)  The most common usage is "ispell filename".  In this
case,
.I ispell
will display each word which does not appear in the dictionary, and
allow you to change it.  If there are "near misses" in the dictionary
(words which differ by only a single letter, a missing or extra letter,
or a pair of transposed letters), then they are also displayed.  If you
think the word is correct as it stands, you can type either "Space" to
accept it this one time, or "I" to accept it and put it in your private
dictionary.  If one of the near misses is the word you want, type the
corresponding number.  Finally, if none of these choices is right, you
can type "R" and you will be prompted for a replacement word.
.PP
When a misspelled word is found, it is printed at the top of the screen.
Any near misses will be printed on the following lines, and finally, two
lines containing the word are printed at the bottom of the screen.  If
your terminal can type in reverse video, the word itself is highlighted.
.PP
The
.B \-l
or "list" option to
.I ispell
is used to produce a list of misspelled words from the standard input.
.PP
The
.B \-a
is intended to be used from other programs through a pipe.  In this
mode,
.I ispell
expects the standard input to consist of lines containing single words.
Each word is
read, and a single line is written to the standard output.  If the word
was found in the main dictionary, or your personal dictionary, then the
line contains only a '*'.  If the word was found through suffix removal,
then the line contains a '+', a space, and the root word.  If the word
is not in the dictionary, but there are near misses, then the line
contains an '&', a space, and a list of the near misses separated by
spaces.  Also, each near miss is capitalized the same as the input
words.  Finally, if the word neither appears in the dictionary, and
there are no near misses, then the line contains only a '#'.  This mode
is also suitable for interactive use when you want to figure out the
spelling of a single word.  (These characters are the same as the codes
that the real spell program uses.)
.PP
When in the
.B \-a
mode,
.I ispell
will also accept lines of single words prefixed with either a '*' or a '@'.
A line starting with '*' tells
.I ispell
to insert the word into the user's dictionary (simular to the I command).
A line starting with '@' causes
.I ispell
to accept this word in the future (simular to the A command).
.SH FILES
/usr/local/lib/ispell.hash
.br
$HOME/ispell.words
.SH BUGS
It takes about five seconds for
.I ispell
to read in the hash table.
.sp
Perhaps more than ten choices should be allowed for near misses.
.sp
The hash table is stored as a quarter-megabyte array, so a PDP-11
version does not seem likely.
.sp
.I Ispell
should understand more
.I troff
syntax, and deal more intelligently with contractions.
.SH AUTHOR
Pace Willisson (pace@mit-vax)
