SPELL(1)

NAME
spell, hashmake, spellin, hashcheck - report spelling errors

SYNOPSIS
spell [ -blvx ] [ -d hlist ] [ -h spellhist ] [ -s hstop ] [ +local_file ] [ filename ] ...

/usr/lib/spell/hashmake

/usr/lib/spell/spellin n

/usr/lib/spell/hashcheck spelling_list

DESCRIPTION

spell collects words from the named files, and looks them up in a hashed spelling list. Words that do not appear in the list, or cannot be derived from those that do appear by applying certain inflections, prefixes or suffixes, are displayed on the standard output.

If there are no filename arguments, words to check are collected from the standard input. spell ignores most troff(1), tbl(1), and eqn(1) constructs. Copies of all output words are accumulated in the history file, and a stop list filters out misspellings (for example, their=thy-y+ier) that would otherwise pass.

By default, spell (like deroff(1)) follows chains of included files (.so and .nx troff(1) requests), unless the names of such included files begin with /usr/lib.

If a +local_file argument is specified, words found in local_file are removed from spell's output. local_file is the name of a user-provided file that contains a sorted list of words, one per line. With this option, the user can specify a set of words that are correct spellings (in addition to spell's own spelling list) for each job.

The standard spelling list is based on many sources, and while more haphazard than an ordinary dictionary, is also more effective in respect to proper names and popular technical words. Coverage of the specialized vocabularies of biology, medicine and chemistry is light.

Three programs help maintain and check the hash lists used by spell:

hashmake
    Reads a list of words from the standard input and writes the corresponding nine-digit hash code on the standard output.

spellin
    Reads n hash codes from the standard input and writes a compressed spelling list on the standard output.

hashcheck
    Reads a compressed spelling_list and recreates the nine-digit hash codes for all the words in it; it writes these codes on the standard output.

OPTIONS

-b  Check British spelling. Besides preferring “centre”, “colour”, “programme”, “speciality”, “travelled”, and so on, this option insists upon -ise in words like standardize, despite what Fowler and the OED say.

-l  Follow the chains of all included files.

-v  Print all words not literally in the spelling list, as well as plausible derivations from spelling list words.

-x  Print every plausible stem with `=' for each word.

-d hlist
    Use the file hlist as the hashed spelling list.

-h spellhist
    Place misspelled words with a user/date stamp in file spellhist.

-s hstop
    Use hstop as the hashed stop list.

FILES
/usr/lib/spell/hlist[ab]
    hashed spelling lists, American & British
/usr/lib/spell/hstop
    hashed stop list
/usr/lib/spell/spellhist
    history file
/usr/lib/spell/spellprog
    program called by the /usr/bin/spell shell script

SEE ALSO
deroff(1), sed(1V), sort(1V), tee(1)

BUGS

The spelling list's coverage is uneven; new installations may wish to monitor the output for several months to gather local additions.

British spelling was done by an American.

NOTES

Misspelled words can be monitored by default by setting the H_SPELL variable in /usr/bin/spell to the name of a file that has permission mode 666.

spell works only on English words defined in the US ASCII codeset.