Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ spell(1) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

deroff(1)

eqn(1)

sed(1)

sort(1)

tbl(1)

tee(1)

troff(1)

spell(1)

NAME

spell, hashmake, spellin, hashcheck − find spelling errors

SYNOPSIS

spell [ −v ] [ −b ] [ −x ] [ −l ] [ +local_file ] [ files ]

/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 spelling list.  Words that neither occur among nor are derivable (by applying certain inflections, prefixes, and/or suffixes) from words in the spelling list are printed on the standard output.  If no files are named, words are collected from the standard input. 

spell ignores most troff(1), tbl(1), and eqn(1) constructions. 

−v All words not literally in the spelling list are printed, and plausible derivations from the words in the spelling list are indicated. 

−b British spelling is checked.  Besides preferring centre, colour,
programme, speciality, travelled, etc., this option insists upon -ise in words like standardise, Fowler and the OED (Oxford English Dictionary) to the contrary notwithstanding. 

−x Every plausible stem is displayed, one per line, with = preceding each word. 

−l Follow the chains of all included files.  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. 

+local_file 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.  The list must be sorted with the ordering used by sort(1) (e.g. upper case preceding lower case).  If this ordering is not followed, some entries in local_file may be ignored.  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 spelling list is based on many sources, and while more haphazard than an ordinary dictionary, is also more effective with respect to proper names and popular technical words.  Coverage of the specialized vocabularies of biology, medicine, and chemistry is light. 

Alternate auxiliary files (spelling lists, stop list, history file) may be specified on the command line by using environment variables.  These variables and their default settings are shown in the FILES section.  Copies of all output are accumulated in the history file.  The stop list filters out misspellings (e.g., thier=thy−y+ier) that would otherwise pass. 

Three routines 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.  This is the first step in creating a new spelling list or adding words to an existing list; it must be used prior to using spellin. 

spellin Reads n hash codes (created by hashmake) from the standard input and writes a compressed spelling list on the standard output.  Use spellin to add words to an existing spelling list or create a new spelling list. 

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.  It takes as input an existing spelling list (hlista or hlistb) or a list created or modified by spellin.  By using hashcheck on an existing compressed spelling_list and hashmake on a file of selected words, you can compare the two output files to determine if the selected words are present in the existing spelling_list.

EXAMPLES

The following example creates the hashed spell list hlist and checks the result by comparing the two temporary files; they should be equal. 

cat goodwds │ /usr/lib/spell/hashmake │ sort −u >tmp1
cat tmp1 │ /usr/lib/spell/spellin `cat tmp1 │ wc −l` >hlist
cat hlist │ /usr/lib/spell/hashcheck >tmp2
diff tmp1 tmp2

FILES

D_SPELL=/usr/share/lib/spell/hlist[ab] hashed spelling lists, American & British

S_SPELL=/usr/share/lib/spell/hstop hashed stop list

H_SPELL=/var/adm/spellhist history file

/usr/lib/spell/spellprog program

SEE ALSO

deroff(1), eqn(1), sed(1), sort(1), tbl(1), tee(1), troff(1). 

NOTES

The spelling list’s coverage is uneven; new installations will probably wish to monitor the output for several months to gather local additions; typically, these are kept in a separate local file that is added to the hashed spelling_list via ­spellin. 

CX/UX User’s Reference Manual

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026