Annotation of src/usr.bin/spell/spell.1, Revision 1.6
1.6 ! jmc 1: .\" $OpenBSD: spell.1,v 1.5 2003/06/04 21:48:02 deraadt Exp $
1.1 millert 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.
1.5 deraadt 14: .\" 3. Neither the name of the University nor the names of its contributors
1.1 millert 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
1.3 millert 75: .Oo
76: .Fl m
77: .Ar m | s | e | a | l
78: .Oc
1.1 millert 79: .Op Fl s Ar stop
80: .Op + Ns Ar extra_list
1.3 millert 81: .Op Ar
1.1 millert 82: .Sh DESCRIPTION
83: .Nm spell
84: collects words from the named documents and looks them up in a spelling list.
85: Words that neither occur among nor are derivable (by applying certain
86: inflections, prefixes or suffixes) from words in the spelling list
87: are printed on the standard output.
88: .Pp
89: If no files are named, words are collected from the standard input.
90: .Nm
91: ignores most
92: .Xr troff 1 ,
93: .Xr tbl 1 ,
94: .Xr eqn 1
95: and
96: .Xr pic 1
97: constructions.
98: Copies of all output may be accumulated in the history file,
99: if one is specified.
100: .Pp
101: By default,
102: .Nm
103: (like
104: .Xr deroff 1 )
105: follows chains of included files (`.so' and `.nx' commands).
106: .Pp
107: The default spelling list is based on Webster's Second International
108: dictionary and should be fairly complete.
109: Words that appear in the
110: .Dq stop list
111: are immediately flagged as misspellings, regardless of whether or not
112: they exist in one of the word lists.
113: This helps filter out misspellings (e.g. thier=thy\-y+ier)
114: that would otherwise pass.
115: Additionally, the
116: .Pa british
117: file is also used as a stop list unless the
118: .Fl b
119: option is specified.
120: .Pp
121: Site administrators may add words to the local word list,
122: .Pa /usr/local/share/dict/words
1.6 ! jmc 123: or the local stop list,
1.1 millert 124: .Pa /usr/local/share/dict/stop .
125: .Pp
126: All word (and stop) lists must be sorted in lexigraphical order
127: with case folded.
128: The simplest way to achieve this is to use
1.2 millert 129: .Dq sort -df .
1.1 millert 130: If the word files are incorrectly sorted,
131: .Nm
132: will not be able to operate correctly.
133: .Pp
134: The options are as follows:
135: .Bl -tag -width Ds
136: .It Fl b
137: Check British spelling.
138: Besides preferring
139: .Em centre , colour , speciality , travelled ,
140: etc., this option insists upon
141: .Fl ise
142: in words like
143: .Em standardise ,
144: Fowler and the OED to the contrary notwithstanding.
145: In this mode, American variants of words are added to the stop list.
146: .It Fl i
147: Instruct
148: .Xr deroff 1
149: to ignore `.so' and `.nx' commands.
150: .It Fl l
151: Use
1.4 jmc 152: .Xr delatex
1.1 millert 153: instead of
154: .Xr deroff 1
155: if it is present on the system.
156: .It Fl t
157: Use
1.4 jmc 158: .Xr detex
1.1 millert 159: instead of
160: .Xr deroff 1
161: if it is present on the system.
162: .It Fl v
163: Print all words not literally in the spelling list in addition to
164: plausible derivations from spelling list words.
165: .It Fl x
166: Print every plausible stem, prefixed with `='.
167: .It Fl d Ar word_list
168: Use the specified word list instead of the default system word list.
169: The word list must be sorted as specified above.
170: .It Fl h Ar spellhist
171: Store misspelled words in the specified history file.
172: The output of
173: .Li who -m
174: is appended to the history file after the list of misspelled words.
1.3 millert 175: .It Fl m
176: Enable support for common
177: .Xr troff 1
178: macro packages; this option is passed verbatim to
179: .Xr deroff 1 .
180: The
181: .Fl m
182: option takes the following arguments:
183: .Bl -tag -width Ds
184: .It a
1.6 ! jmc 185: recognize
1.3 millert 186: .Xr man 7
187: macros.
188: .It e
1.6 ! jmc 189: recognize
1.3 millert 190: .Xr me 7
191: macros.
192: .It m
1.6 ! jmc 193: recognize
1.3 millert 194: .Xr me 7
195: macros.
196: .It s
1.6 ! jmc 197: recognize
1.3 millert 198: .Xr me 7
199: macros.
200: .It l
1.6 ! jmc 201: recognize
1.3 millert 202: .Xr mm 7
203: macros and delete
204: .Xr mm 7
205: lists.
206: .El
1.1 millert 207: .It Fl s Ar stop_list
208: Use the specified stop list instead of the default system stop list.
209: The stop list must be sorted as specified above.
210: .It + Ns Ar extra_list
211: Use
212: .Ar extra_list
213: in addition to the default word list.
1.6 ! jmc 214: The extra word list must be sorted as specified above.
1.1 millert 215: .El
216: .Sh FILES
217: .Bl -tag -width /usr/local/share/dict/wordsxx -compact
218: .It Pa /usr/share/dict/words
219: Default spelling list
220: .It Pa /usr/share/dict/american
221: American spelling of certain words
222: .It Pa /usr/share/dict/british
223: British spelling of certain words
224: .It Pa /usr/share/dict/stop
225: Default stop list.
226: .It Pa /usr/local/share/dict/words
227: Local spelling list (optional)
228: .It Pa /usr/local/share/dict/stop
229: Local stop list (optional)
230: .It Pa /usr/libexec/spellprog
231: Binary 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 ,
1.3 millert 239: .Xr tee 1 ,
240: .Xr troff 1
1.1 millert 241: .Sh HISTORY
242: The
243: .Nm spell
244: command appeared in
245: .At v6 .
246: .Pp
247: Unlike historic versions, the
248: .Ox
249: .Nm
250: command does not use hashed word files.
251: Instead, it uses lexigraphically sorted files and the same technique as
252: .Xr look 1 .
1.6 ! jmc 253: .Sh BUGS
! 254: The spelling list lacks many technical terms; new installations will
! 255: probably wish to monitor the output for several months to gather local
! 256: additions.
! 257: .Pp
! 258: British spelling was done by an American.
! 259: .Pp
! 260: In
! 261: .Fl x
! 262: mode it would be nicer if the stems were grouped with the appropriate word.