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