xref: /illumos-gate/usr/src/man/man1/spell.1 (revision bbf21555)

Sun Microsystems, Inc. gratefully acknowledges The Open Group for
permission to reproduce portions of its copyrighted documentation.
Original documentation from The Open Group can be obtained online at
http://www.opengroup.org/bookstore/.

The Institute of Electrical and Electronics Engineers and The Open
Group, have given us permission to reprint portions of their
documentation.

In the following statement, the phrase ``this text'' refers to portions
of the system documentation.

Portions of this text are reprinted and reproduced in electronic form
in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition,
Standard for Information Technology -- Portable Operating System
Interface (POSIX), The Open Group Base Specifications Issue 6,
Copyright (C) 2001-2004 by the Institute of Electrical and Electronics
Engineers, Inc and The Open Group. In the event of any discrepancy
between these versions and the original IEEE and The Open Group
Standard, the original IEEE and The Open Group Standard is the referee
document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html.

This notice shall appear on any product containing this material.

The contents of this file are subject to the terms of the
Common Development and Distribution License (the "License").
You may not use this file except in compliance with the License.

You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions
and limitations under the License.

When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]


Copyright 1989 AT&T
Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.

SPELL 1 "Sep 15, 2011"
NAME
spell, hashmake, spellin, hashcheck - report spelling errors
SYNOPSIS

spell [-bilvx] [+ local_file] [file] ...

/usr/lib/spell/hashmake

/usr/lib/spell/spellin n

/usr/lib/spell/hashcheck spelling_list
DESCRIPTION

The spell command 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, or suffixes) from words in the spelling list are written to the standard output.

If there are no file 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 (spellhist), 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.

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

The following options are supported: -b

Check British spelling. Besides preferring centre, colour, programme, speciality, travelled, and so forth, this option insists upon -ise in words like standardise.

-i

Cause deroff(1) to ignore .so and .nx commands. If deroff(1) is not present on the system, then this option is ignored.

-l

Follow the chains of all included files.

-v

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

-x

Print every plausible stem, one per line, with = preceding each word.

+local_file

Specify a set of words that are correct spellings (in addition to spell's own spelling list) for each job. local_file is the name of a user-provided file that contains a sorted list of words, one per line. Words found in local_file are removed from spell's output. Use sort(1) to order local_file in ASCII collating sequence. If this ordering is not followed, some entries in local_file might be ignored.

OPERANDS

The following operands are supported: file

A path name of a text file to check for spelling errors. If no files are named, words are collected from the standard input.

ENVIRONMENT VARIABLES

See environ(7) for descriptions of the following environment variables that affect the execution of spell: LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS

The following exit values are returned: 0

Successful completion.

>0

An error occurred.

FILES
D_SPELL=/usr/lib/spell/hlist[ab]

hashed spelling lists, American & British

S_SPELL=/usr/lib/spell/hstop

hashed stop list

H_SPELL=/var/adm/spellhist

history file

/usr/share/lib/dict/words

master dictionary

SEE ALSO

deroff (1), eqn (1), sort (1), tbl (1), troff (1), attributes (7), environ (7)

NOTES

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

Because copies of all output are accumulated in the spellhist file, spellhist might grow quite large and require purging.

BUGS

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

British spelling was done by an American.