xref: /openbsd/usr.bin/spell/spell.1 (revision db3296cf)
1.\" $OpenBSD: spell.1,v 1.6 2003/06/10 09:12:11 jmc Exp $
2.\"
3.\" Copyright (C) 1985, 1993, 1994
4.\"	The Regents of the University of California.  All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors
15.\"    may be used to endorse or promote products derived from this software
16.\"    without specific prior written permission.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE.
29.\"
30.\" Copyright (C) Caldera International Inc.  2001-2002.
31.\" All rights reserved.
32.\"
33.\" Redistribution and use in source and binary forms, with or without
34.\" modification, are permitted provided that the following conditions
35.\" are met:
36.\" 1. Redistributions of source code and documentation must retain the above
37.\"    copyright notice, this list of conditions and the following disclaimer.
38.\" 2. Redistributions in binary form must reproduce the above copyright
39.\"    notice, this list of conditions and the following disclaimer in the
40.\"    documentation and/or other materials provided with the distribution.
41.\" 3. All advertising materials mentioning features or use of this software
42.\"    must display the following acknowledgement:
43.\"	This product includes software developed or owned by Caldera
44.\"	International, Inc.
45.\" 4. Neither the name of Caldera International, Inc. nor the names of other
46.\"    contributors may be used to endorse or promote products derived from
47.\"    this software without specific prior written permission.
48.\"
49.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
50.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
51.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53.\" IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT,
54.\" INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
55.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
56.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
58.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
59.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
60.\" POSSIBILITY OF SUCH DAMAGE.
61.\"
62.\"	@(#)spell.1	8.2 (Berkeley) 4/18/94
63.\"
64.Dd April 18, 1994
65.Dt SPELL 1
66.Os
67.Sh NAME
68.Nm spell
69.Nd find spelling errors
70.Sh SYNOPSIS
71.Nm spell
72.Op Fl biltvx
73.Op Fl d Ar list
74.Op Fl h Ar spellhist
75.Oo
76.Fl m
77.Ar m | s | e | a | l
78.Oc
79.Op Fl s Ar stop
80.Op + Ns Ar extra_list
81.Op Ar
82.Sh DESCRIPTION
83.Nm spell
84collects words from the named documents and looks them up in a spelling list.
85Words that neither occur among nor are derivable (by applying certain
86inflections, prefixes or suffixes) from words in the spelling list
87are printed on the standard output.
88.Pp
89If no files are named, words are collected from the standard input.
90.Nm
91ignores most
92.Xr troff 1 ,
93.Xr tbl 1 ,
94.Xr eqn 1
95and
96.Xr pic 1
97constructions.
98Copies of all output may be accumulated in the history file,
99if one is specified.
100.Pp
101By default,
102.Nm
103(like
104.Xr deroff 1 )
105follows chains of included files (`.so' and `.nx' commands).
106.Pp
107The default spelling list is based on Webster's Second International
108dictionary and should be fairly complete.
109Words that appear in the
110.Dq stop list
111are immediately flagged as misspellings, regardless of whether or not
112they exist in one of the word lists.
113This helps filter out misspellings (e.g. thier=thy\-y+ier)
114that would otherwise pass.
115Additionally, the
116.Pa british
117file is also used as a stop list unless the
118.Fl b
119option is specified.
120.Pp
121Site administrators may add words to the local word list,
122.Pa /usr/local/share/dict/words
123or the local stop list,
124.Pa /usr/local/share/dict/stop .
125.Pp
126All word (and stop) lists must be sorted in lexigraphical order
127with case folded.
128The simplest way to achieve this is to use
129.Dq sort -df .
130If the word files are incorrectly sorted,
131.Nm
132will not be able to operate correctly.
133.Pp
134The options are as follows:
135.Bl -tag -width Ds
136.It Fl b
137Check British spelling.
138Besides preferring
139.Em centre , colour , speciality , travelled ,
140etc., this option insists upon
141.Fl ise
142in words like
143.Em standardise ,
144Fowler and the OED to the contrary notwithstanding.
145In this mode, American variants of words are added to the stop list.
146.It Fl i
147Instruct
148.Xr deroff 1
149to ignore `.so' and `.nx' commands.
150.It Fl l
151Use
152.Xr delatex
153instead of
154.Xr deroff 1
155if it is present on the system.
156.It Fl t
157Use
158.Xr detex
159instead of
160.Xr deroff 1
161if it is present on the system.
162.It Fl v
163Print all words not literally in the spelling list in addition to
164plausible derivations from spelling list words.
165.It Fl x
166Print every plausible stem, prefixed with `='.
167.It Fl d Ar word_list
168Use the specified word list instead of the default system word list.
169The word list must be sorted as specified above.
170.It Fl h Ar spellhist
171Store misspelled words in the specified history file.
172The output of
173.Li who -m
174is appended to the history file after the list of misspelled words.
175.It Fl m
176Enable support for common
177.Xr troff 1
178macro packages; this option is passed verbatim to
179.Xr deroff 1 .
180The
181.Fl m
182option takes the following arguments:
183.Bl -tag -width Ds
184.It a
185recognize
186.Xr man 7
187macros.
188.It e
189recognize
190.Xr me 7
191macros.
192.It m
193recognize
194.Xr me 7
195macros.
196.It s
197recognize
198.Xr me 7
199macros.
200.It l
201recognize
202.Xr mm 7
203macros and delete
204.Xr mm 7
205lists.
206.El
207.It Fl s Ar stop_list
208Use the specified stop list instead of the default system stop list.
209The stop list must be sorted as specified above.
210.It + Ns Ar extra_list
211Use
212.Ar extra_list
213in addition to the default word list.
214The extra word list must be sorted as specified above.
215.El
216.Sh FILES
217.Bl -tag -width /usr/local/share/dict/wordsxx -compact
218.It Pa /usr/share/dict/words
219Default spelling list
220.It Pa /usr/share/dict/american
221American spelling of certain words
222.It Pa /usr/share/dict/british
223British spelling of certain words
224.It Pa /usr/share/dict/stop
225Default stop list.
226.It Pa /usr/local/share/dict/words
227Local spelling list (optional)
228.It Pa /usr/local/share/dict/stop
229Local stop list (optional)
230.It Pa /usr/libexec/spellprog
231Binary executed by the shell script
232.Pa /usr/bin/spell .
233.El
234.Sh SEE ALSO
235.Xr deroff 1 ,
236.Xr look 1 ,
237.Xr sed 1 ,
238.Xr sort 1 ,
239.Xr tee 1 ,
240.Xr troff 1
241.Sh HISTORY
242The
243.Nm spell
244command appeared in
245.At v6 .
246.Pp
247Unlike historic versions, the
248.Ox
249.Nm
250command does not use hashed word files.
251Instead, it uses lexigraphically sorted files and the same technique as
252.Xr look 1 .
253.Sh BUGS
254The spelling list lacks many technical terms; new installations will
255probably wish to monitor the output for several months to gather local
256additions.
257.Pp
258British spelling was done by an American.
259.Pp
260In
261.Fl x
262mode it would be nicer if the stems were grouped with the appropriate word.
263