    This is ispell version 3.0, an interactive spelling checker.

What Is Ispell and Why Do I Want It?

    Ispell is a fast screen-oriented spelling checker that shows you
    your errors in the context of the original file, and suggests possible
    corrections when it can figure them out.  Compared to UNIX spell, it
    is faster and much easier to use.  Ispell can also handle languages
    other than English.
    
What's New in This Version?

    This version of ispell contains numerous bug fixes and improvements
    compared to the beta release March 1987.  The most important of these
    is that ispell now handles both prefixes and suffixes, and everything
    language-dependent (including the character set) is defined in
    the hash file.  This makes ispell truly international.

    The complete list of bug fixes and improvements is too long to include
    here (and besides, I'm too overworked to create it).  However, current
    users of ispell should note that the "x" and "q" commands have been
    interchanged.

Where Can I Get Ispell?

    The current (beta-test) version of ispell is available for
    anonymous ftp from ftp.cs.ucla.edu (131.179.128.34) in the
    pub/ispell directory.  You should retrieve all files.

    Because this is a beta version, it is not available via e-mail or
    from archive sites.  The final release of ispell will be made
    available over the net.

Who Wrote Ispell?

    Ispell is a very old program;  the original was written in PDP-10
    assembly in 1971, by R. E. Gorin.  The C version was written by
    Pace Willisson of MIT.  Walt Buehring of Texas Instruments added
    the emacs interface and posted it to the net.  Geoff Kuenning
    added the international support and created the current posting.
    Many, many other people contributed to the current version;  a
    complete list (with a more detailed history) can be found in the
    file "Contributors".

OK, How Do I Install It?

    Ispell is quite portable (thanks to many people).  First, you should
    edit the Makefile, making changes where it says "EDIT HERE".  Note
    that LIBDIR needs up to several thousand blocks of free space to hold
    the hash files, and that MAKE_SORTTMP needs up to 15 megabytes free
    (if you choose the "+" versions of the dictionaries.  Don't forget
    to set TMPDIR in your environment as well.

    After editing the Makefile, you should examine "config.X" for the
    other configuration parameters.  However, do not make changes to this
    file.  Instead, create a file named "local.h" to hold definitions
    that will override those in "config.X".  (This will make it easier
    for you when patches are posted).  If you forget to create local.h,
    the Makefile will create one for you from the file "local.h.samp".

    After all edits, you are ready to compile ispell.  For this first
    time only, type "make BUILD= all".  This will compile all the
    programs, put the dictionaries together, and build the hash file.
    In the future, you should omit the "BUILD=" from the make line, to
    keep from wasting time rebuilding the dictionaries when they
    haven't actually changed.

    If you chose a "+" version of the dictionary (the DEFDICT macro in
    the Makefile), expect this first make to run for several hours (or
    as much as 24 on a very limited machine) because of the munchlist
    step.  If you chose a non-plus version, the make will not take
    long.  The munchlist step will also take a *lot* of disk space
    (see the table below for more information), so be sure to set
    TMPDIR (in your environment) to point to someplace with lots of room.

    If you have lots of disk space and lots of time, you might type
    "make BUILD= all allhashes" instead, to build all of the various
    sizes of the dictionary.  Very few people will want to do this,
    but larger installations might want to make "normhashes" or
    "plushashes" to give their users a choice of dictionary sizes.

    After your "make all" completes, you are ready to install ispell.
    (If make complains about missing files, you probably forgot the
    "BUILD=" when you ran make all, so do that now).  The standard
    "make install" will then install ispell, the auxiliary programs
    and scripts, the man page, and the dictionary hash file in the
    directories you have chosen for them.  If you have emacs, note
    that the installation process does not modify the top-level Info
    menu to include ispell; you must do this by hand if you want
    ispell to appear in the top-level menu.

    If you choose to have multiple dictionaries and hash files, or if you
    support multiple languages, you will probably have to make and install
    the extra hash files by hand, or modify the Makefile to do this.  I'd
    like to improve this part of the procedure, but I haven't gotten around
    to it yet.  However, you will find that it is not very hard once you
    have figured out what to do.

    As well as the standard "make clean" target, the makefile also has
    two special targets.  "Make kitclean" will get rid of the files
    that were used to build dictionaries from the kit (do it before
    you run "make clean", as it needs the "unsq" program).  If you are
    *very* short on disk space, skip kitclean and do "make dictclean"
    instead.  These two targets are mutually exclusive;  DO NOT run
    both of them or you may lose your dictionaries entirely.

How long does it take to make dictionaries?

    The following tables give approximate timings and peak disk usage
    for making each of the three augmented English dictionaries (the
    so-called "plus" versions).  The timings were collected on an
    unloaded 68040.  Your mileage may vary.

    Using EXTRADICT=/usr/dict/words:

			Time to build	Peak temp space	Final size

	english.sml+	30 minutes	7.1M		306K
	english.med+	35 minutes	8.8M		359K
	english.lrg+	60 minutes	10.7M		680K

    Using EXTRADICT=/usr/dict/words and /usr/dict/web2:

			Time to build	Peak temp space	Final size

	english.sml+	2-1/2 hours	19.5M		2243K
	english.med+	2-1/2 hours	19.6M		2265K
	english.lrg+	3 hours		20.7M		2347K

    The peak disk usage occurs fairly early in the munching process.
    When creating english.lrg+ with /usr/dict/web2, the peak was
    reached within 30 minutes.  When web2 was omitted, the peak was
    always reached within 1/4 of the total running time of munchlist.
    Again, remember that these numbers will vary depending on your
    load and your machine's power.

Special Installation Notes for Certain Machines:

    If you get lots of warnings when compiling term.c, check to be
    sure that you have correctly defined SIGNAL_TYPE in your local.h.

    Some versions of ISC Unix have TIOCGWINSZ defined even though it's
    not supported and the necessary structures are not present.  The
    solution is to add "#undef TIOCGWINSZ" in your local.h.

    Sun 4's running SunOS 4.1.1 have a bug in strcmp() which causes
    all sorts of problems.  To work around this, make sure that your
    local.h defines the symbol "SUN4_IS_STUPID", and does *not* define
    "NO8BIT".  The problem has also been reported on a Decstation 3100
    running Ultrix 4.1.

    The AIX RS6000 should use -lcurses for TERMLIB, rather than -ltermcap.
