Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Commands:  deroff(1)

neqn(1)

nroff(1)

sed(1)

sort(1)

tbl(1)

tee(1)

Standards:  standards(5)

spell(1)  —  Commands

NAME

spell, spellin, spellout − Finds spelling errors

SYNOPSIS

spell [-b] [-i | -l] [-v | -x] [-d hash_list] [-s hash_stop]
[-h history_list] [+word_list] [file ...]

spellin [list] [number]

spellout [-d] list

The spell command reads words in file and compares them to those in a spelling list.  Default files contain English words only, but you can supply your own list of words in other languages. 

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

spell:  XPG4, XPG4−UNIX

Refer to the standards(5) reference page for more information about industry standards and associated tags. 

FLAGS

[Digital]  The following flags are for the spell command only. 

-bChecks for correct British spelling.  Besides preferring centre, colour, programme, speciality, travelled, and so on, this flag causes spell to insist upon the use of the infix -ise in words like standardise. 

-d hash_list
[Digital]  Specifies hash_list as the alternate spelling list.  The default is /usr/lbin/spell/hlist[ab]. 

-h history_list
[Digital]  Specifies history_list as the alternate history list that is used to accumulate all output.  The default is /usr/lbin/spell/spellhist. 

-i[Digital]  Suppresses processing of included files through the .so and .ne troff macros.  If the -i and -l flags are both specified, the last one of the two flags entered on the command line takes effect. 

-l[Digital]  Follows the chain of all included files (.so and .nx formatting commands).  Without this flag, spell follows chains of all included files except for those beginning with /usr/lbin. 

-s hash_stop
[Digital]  Specifies hash_stop as the alternate stop list that is used to filter out misspellings (for example, thier=thy-y+ier) that would otherwise pass.  The default is /usr/lbin/spell/hstop. 

-vDisplays all words not literally in the spelling list and indicates plausible derivations from the words. 

-xDisplays every plausible word stem with an = (equal sign). 

+word_list
Checks word_list for additional word spellings.  The word_list identifies a file containing a sorted list of words, one per line.  With this flag, you can specify, in addition to the spell command’s own spelling list, a set of correctly spelled words. 

PARAMETERS

fileName of a file to be checked for spelling errors.  In this parameter is omitted, standard input is read. 

list[Digital]  The name of an existing word list (file) to be updated and replaced. 

number[Digital]  The number of a hash code to be read from standard input. 

DESCRIPTION

A word in this context is defined as a series of characters from the following set in the POSIX locale:

[A-Za-z0-9’&.,;?:]

The first and last characters of a word are alphanumeric.  Words that cannot be matched in the spelling list or derived from words in the spelling list (by applying certain inflections, prefixes, or suffixes) are written to standard output.  If you do not specify a file to read, spell reads standard input. 

[Digital]  The spell command ignores the same nroff, tbl, and neqn constructs as the deroff command. 

[Digital]  Certain auxiliary files can be specified by file name arguments following the -d, -s, and -h flags.  Copies of all output can be accumulated in the history file. 

Auxiliary Commands and Routines

[Digital]  The spellin command creates a spelling list for use by the spell command.  The argument for the spellin command can be a list file or a number.  The spellin command combines the words from the standard input and the preexisting list file and places a new list on the standard output.  If no list file is specified, a new list is created.  If number is specified, the spellin command reads the specified number hash code from standard input and writes a compressed spelling list. 

[Digital]  The spellout command looks up each word from the standard input and prints on the standard output those that are missing from the hashed list file.  The -d flag reverses this, printing those that are present in the hashed list file.  (Note that the -d flag of spellout is not the same as the -d flag of spell.  See FLAGS.) 

[Digital]  Three routines help maintain and check the hash lists used by spell:

/usr/lbin/spell/hashmake
[Digital]  Reads a list of words from standard input and writes the corresponding 9-digit hash code to standard output.

/usr/lbin/spell/hashcheck spelling_list
[Digital]  Reads a compressed spelling_list and re-creates the 9-digit hash codes for all the words in it; it writes these codes to standard output. 

/usr/bin/spellin number
[Digital]  Reads number hash codes from standard input and writes a compressed spelling list to standard output. 

ENVIRONMENT VARIABLES

The following environment variables affect the execution of spell:

LANGProvides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. 

LC_ALLIf set to a non-empty string value, overrides the values of all the other internationalization variables. 

LC_CTYPEDetermines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). 

LC_MESSAGESDetermines the locale for the format and contents of diagnostic messages written to standard error. 

NLSPATHDetermines the location of message catalogues for the processing of LC_MESSAGES. 

NOTES

The coverage of the spelling list is uneven.  For best results, create your own dictionary of special words used in your files. 

Compatibility Notes

[Digital]  Ported 4.3BSD dictionary must be rebuilt from the original word list using the spellin command. 

EXAMPLES

     1.To check the spelling of American English words in the file chap1, enter:

spell  chap1  >mistakes

This creates a file named mistakes containing all the words found in chap1 that are not in the system spelling dictionary.  Some of these may be correctly spelled words that spell does not know about.  It is a good idea to save the output of spell in a file because the word list may be long. 

     2.To check British English spelling, enter:

spell  -b  chap1  >mistakes

This checks chap1 against the British dictionary and writes the questionable words in mistakes. 

     3.To see how spell derives words, enter:

spell  -v  chap1  >deriv

This lists the words that are not found literally in the dictionary, but are derived forms of dictionary words.  The prefixes and suffixes used to form the derivative are indicated for each word.  Words that do not appear in the dictionary at all are also listed. 

     4.To check your spelling against an additional word list, enter:

spell  +new_words  chap1

This checks the spelling of words in chap1 against the system dictionary and against new_words.  The file new_words lists words in alphabetical order, one per line.  You can create this file with a text editor, such as ed, and collate it with the sort command. 

     5.To add a word to your spelling list, enter:

echo hooky ⏐ spellout /usr/lbin/spell/hlista
echo hooky ⏐ spellin /usr/lbin/spell/hlista > myhlist
spell -d myhlist huckfinn

This example verifies that hooky is not on the default spelling list, adds it to your private list, and then uses it with the spell command. 

An alternative way is to place hooky into the sorted file new_words, as in Example 4. 

FILES

/usr/lbin/spell/hlist[ab]
Hashed spelling lists, American and British English.

/usr/lbin/spell/hstopHashed stop list. 

/usr/lbin/spell/spellhist
History file.

/usr/lbin/spell/compress
Executable shell program to compress the history file.

/usr/lbin/spell/spellprog
Main program called by spell. 

EXIT VALUES

The following exit values are returned:

0Successful completion

>0An error occurred

RELATED INFORMATION

Commands:  deroff(1), neqn(1), nroff(1), sed(1), sort(1), tbl(1), tee(1)

Standards:  standards(5)

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