source: trunk/third/ispell/ispell.info @ 10442

Revision 10442, 12.7 KB checked in by ghudson, 27 years ago (diff)
ispell info file, automatically generated from ispell.texinfo.
Line 
1This is Info file ispell.info, produced by Makeinfo-1.55 from the input
2file ispell.texinfo.
3
4   This file documents ISPELL, an interactive spelling corrector.
5
6   Copyright 1988, 1990, 1991, 1992, 1993  Free Software Foundation,
7Inc.
8
9   Permission is granted to make and distribute verbatim copies of this
10manual provided the copyright notice and this permission notice are
11preserved on all copies.
12
13   Permission is granted to copy and distribute modified versions of
14this manual under the conditions for verbatim copying, provided that
15the entire resulting derived work is distributed under the terms of a
16permission notice identical to this one.
17
18   Permission is granted to copy and distribute translations of this
19manual into another language, under the above conditions for modified
20versions, except that this permission notice may be stated in a
21translation approved by the Foundation.
22
23* Menu:
24
25* Emacs::                       Using ispell from emacs
26* Old Emacs::                   Old Emacs
27* Private::                     Your private dictionary
28* Command summary::             All commands in emacs mode
29* Near misses::                 Definition of a near miss
30* History::                     Where it came from
31
32 -- The Detailed Node Listing --
33
34Using ispell from emacs
35
36* Word::                        Checking a single word
37* Buffer::                      Checking a whole buffer
38* Region::                      Checking a region
39* Multiple Dictionaries::       Using Multiple Dictionaries
40
41
42File: ispell.info,  Node: Top,  Next: Emacs,  Prev: (dir),  Up: (dir)
43
44   `Ispell' is a program that helps you to correct spelling errors in a
45file, and to find the correct spelling of words.  When presented with a
46word that is not in the dictionary, `ispell' attempts to find "near
47misses" that might include the word you meant.
48
49   This manual describes how to use ispell, as well as a little about
50its implementation.
51
52* Menu:
53
54* Emacs::                       Using ispell from emacs
55* Old Emacs::                   Old Emacs
56* Private::                     Your private dictionary
57* Command summary::             All commands in emacs mode
58* Near misses::                 Definition of a near miss
59* History::                     Where it came from
60
61
62File: ispell.info,  Node: Emacs,  Next: Old Emacs,  Prev: Top,  Up: Top
63
64Using ispell from emacs
65=======================
66
67* Menu:
68
69* Word::                        Checking a single word
70* Buffer::                      Checking a whole buffer
71* Region::                      Checking a region
72* Multiple Dictionaries::       Using Multiple Dictionaries
73
74
75File: ispell.info,  Node: Word,  Next: Buffer,  Prev: Emacs,  Up: Emacs
76
77Checking a single word
78----------------------
79
80   The simplest emacs command for calling ispell is 'M-$' (meta-dollar.
81On some terminals, you must type ESC-$.) This checks the spelling of
82the word under the cursor.  If the word is found in the dictionary,
83then a message is printed in the echo area.  Otherwise, ISPELL attempts
84to generate near misses.
85
86   If any near misses are found, they are displayed in a separate
87window, each preceded by a digit or character.  If one of these is the
88word you wanted, just type its digit or character, and it will replace
89the original word in your buffer.
90
91   If no near miss is right, or if none are displayed, you have five
92choices:
93
94`I'
95     Insert the word in your private dictionary.  Use this if you know
96     that the word is spelled correctly.
97
98`A'
99     Accept the word for the duration of this editing session, but do
100     not put it in your private dictionary.  Use this if you are not
101     sure about the spelling of the word, but you do not want to look
102     it up immediately, or for terms that appear in your document but
103     are not truly words.  The next time you start ispell, it will have
104     forgotten any accepted words.
105
106`SPC'
107     Leave the word alone, and consider it misspelled if it is checked
108     again.
109
110`R'
111     Replace the word.  This command prompts you for a string in the
112     minibuffer.  You may type more than one word, and each word you
113     type is checked again, possibly finding other near misses.  This
114     command provides a handy way to close in on a word that you have
115     no idea how to spell.  You can keep trying different spellings
116     until you find one that is close enough to get a near miss.
117
118`L'
119     Lookup.  Display words from the dictionary that contain a
120     specified substring.  The substring is a regular expression, which
121     means it can contain special characters to be more selective about
122     which words get displayed.  *Note Regexps: (emacs)Regexps.
123
124     If the only special character in the regular expression is a
125     leading `^', then a very fast binary search will be used, instead
126     of scanning the whole file.
127
128     Only a few matching words can be displayed in the ISPELL window.
129     If you want to see more, use the `look' program directly from the
130     shell.
131
132   Of course, you can also type G' to stop the command without
133changing anything.
134
135   If you make a change that you don't like, just use emacs' normal undo
136feature *Note undo: (emacs)undo.
137
138
139File: ispell.info,  Node: Buffer,  Next: Region,  Prev: Word,  Up: Emacs
140
141Checking a whole buffer
142-----------------------
143
144   If you want to check the spelling of all the words in a buffer, type
145the command `M-x ispell-buffer'.  This command scans the file, and makes
146a list of all the misspelled words.  When it is done, it moves the
147cursor to the first word on the list, and acts like you just typed M-$
148*Note Word::.
149
150   When you finish with one word, the cursor is automatically moved to
151the next.  If you want to stop in the middle of the list type `X' or
152G'.
153
154
155File: ispell.info,  Node: Region,  Next: Multiple Dictionaries,  Prev: Buffer,  Up: Emacs
156
157Checking a region
158-----------------
159
160   You may check the words in the region with the command `M-x
161ispell-region'.  See *Note mark: (emacs)mark.
162
163   The commands available are the same as for checking a whole buffer.
164
165
166File: ispell.info,  Node: Multiple Dictionaries,  Prev: Region,  Up: Emacs
167
168Using Multiple Dictionaries
169---------------------------
170
171   Your site may have multiple dictionaries installed: a default one
172(usually `english.hash'), and several others for different languages
173(e.g. `deutsch.hash') or variations on a language (such as British
174spelling for English).
175
176`ispell-change-dictionary'
177     This is the command to change the dictionary.  It prompts for a new
178     dictionary name, with completion on the elements of
179     `ispell-dictionary'.
180
181     It changes `ispell-dictionary' and kills the old ispell process, if
182     one was running.  A new one will be started as soon as necessary.
183
184     By just answering `RET' you can find out what the current
185     dictionary is.
186
187`ispell-dictionary'
188     If non-nil, a dictionary to use instead of the default one.  This
189     is passed to the ispell process using the `-d' switch and is used
190     as key in `ispell-dictionary-alist'.
191
192     You should set this variable before your first call to ispell
193     (e.g. in your `.emacs'), or use the `M-x ispell-change-dictionary'
194     command to change it, as changing this variable only takes effect
195     in a newly started ispell process.
196
197`ispell-dictionary-alist'
198     An alist of dictionaries and their associated parameters.
199
200     Each element of this list is also a list:
201
202          (DICTIONARY-NAME
203              CASECHARS NOT-CASECHARS OTHERCHARS MANY-OTHERCHARS-P
204              ISPELL-ARGS)
205
206     DICTIONARY-NAME is a possible value of variable
207     `ispell-dictionary', `nil' means the default dictionary.
208
209     CASECHARS is a regular expression of valid characters that
210     comprise a word.
211
212     NOT-CASECHARS is the opposite regexp of CASECHARS.
213
214     OTHERCHARS is a regular expression of other characters that are
215     valid in word constructs.  Otherchars cannot be adjacent to each
216     other in a word, nor can they begin or end a word.  This implies
217     we can't check `Stevens'' as a correct possessive and other correct
218     formations.
219
220     Hint: regexp syntax requires the hyphen to be declared first here.
221
222     MANY-OTHERCHARS-P is non-nil if many otherchars are to be allowed
223     in a word instead of only one.
224
225     ISPELL-ARGS is a list of additional arguments passed to the ispell
226     subprocess.
227
228     Note that the CASECHARS and OTHERCHARS slots of the alist should
229     contain the same character set as casechars and otherchars in the
230     LANGUAGE`.aff' file (e.g., `english.aff').
231
232
233File: ispell.info,  Node: Old Emacs,  Next: Private,  Prev: Emacs,  Up: Top
234
235Old Emacs
236=========
237
238   Until ispell becomes part of the standard emacs distribution, you
239will have to explicitly request that it be loaded.  Put the following
240lines in your emacs init file *Note init file: (emacs)init file.
241
242     (autoload 'ispell-word "ispell" "Check the spelling of word in buffer." t)
243     (autoload 'ispell-region "ispell" "Check the spelling of region." t)
244     (autoload 'ispell-buffer "ispell" "Check the spelling of buffer." t)
245     (global-set-key "\e$" 'ispell-word)
246
247   (It will do no harm to have these lines in your init file even after
248ispell is installed by default.)
249
250
251File: ispell.info,  Node: Private,  Next: Command summary,  Prev: Old Emacs,  Up: Top
252
253Your private dictionary
254=======================
255
256   Whenever ispell is started the file `.ispell_words' is read from
257your home directory (if it exists).  This file contains a list of words,
258one per line.  The order of the words is not important, but the case is.
259Ispell will consider all of the words good, and will use them as
260possible near misses.
261
262   The `I' command adds words to `.ispell_words', so normally you don't
263have to worry about the file.  You may want to check it from time to
264time to make sure you have not accidentally inserted a misspelled word.
265
266
267File: ispell.info,  Node: Command summary,  Next: Near misses,  Prev: Private,  Up: Top
268
269All commands in emacs mode
270==========================
271
272`DIGIT'
273     Select a near miss
274
275`I'
276     Insert into private dictionary
277
278`A'
279     Accept for this session
280
281`SPC'
282     Skip this time
283
284`R'
285     Replace with one or more words
286
287`L'
288     Lookup: search the dictionary using a regular expression
289
290`M-$'
291     Check word
292
293`M-x ispell-buffer'
294     Check buffer
295
296`M-x ispell-region'
297     Check region
298
299`M-x ispell-change-dictionary'
300     Select different dictionary.
301
302
303File: ispell.info,  Node: Near misses,  Next: History,  Prev: Command summary,  Up: Top
304
305Definition of a near miss
306=========================
307
308   Two words are near each other if they can be made identical with one
309of the following changes to one of the words:
310
311     Insert a blank space
312     Interchange two adjacent letters.
313     Change one letter.
314     Delete one letter.
315     Add one letter.
316
317   Someday, perhaps ispell will be extended so that words that sound
318alike would also be considered near misses.  If you would like to
319implement this, see Knuth, Volume 3, page 392 for a description of the
320Soundex algorithm which might apply.
321
322
323File: ispell.info,  Node: History,  Prev: Near misses,  Up: Top
324
325Where it came from
326==================
327
328   Ispell has a long and convoluted history.  Originally called SPELL,
329it was written by Ralph E. Gorin in 1971.  That version was written in
330assembly language for the DEC PDP-10 to run under the WAITS operating
331system at the Stanford Artificial Intelligence Laboratory.  Subsequent
332versions, also in PDP-10 assembly language, were developed for the BBN
333TENEX, MIT ITS, and DEC TOPS-10 and TOPS-20 operating systems.  It was
334later revised by W. E. Matson (1974), and W. B. Ackerman (1978),
335changing its name to ISPELL in the process.
336
337   In 1983, Pace Willisson (pace@ai.mit.edu) converted this version to
338the C language and modified it to work under Unix.
339
340   In 1987, Walt Buehring revised and enhanced ispell, and posted it to
341the Usenet along with a dictionary.  In addition, Walt wrote the first
342version of "ispell.el", the emacs interface.
343
344   Geoff Kuenning (geoff@ITcorp.com, that's me, and by the way I
345pronounce it "Kenning") picked up this version, fixed many bugs, and
346added further enhancements.  In 1988 I got ambitious and rewrote major
347portions of the code, resulting in the table-driven multi-lingual
348version.  Ken Stevens (stevens@hplabs.hp.com) made overwhelming
349contributions to the elisp support to produce the version you are using
350now.
351
352   Due to a misunderstanding involving the Free Software Foundation, it
353later became necessary to rename this version to ispell to avoid
354confusion on the part of users.
355
356   Many other enhancements and bug fixes were provided by other people.
357Although I omit mention here due to space, many of these people have
358also made significant contributions to the version of ispell you see
359here.  For a full list of people who have contributed to ispell, refer
360to the file `Contributors' which is distributed with the ispell sources.
361
362Geoff Kuenning
363geoff@ITcorp.com
364
365
366Tag Table:
367Node: Top1347
368Node: Emacs2006
369Node: Word2296
370Node: Buffer4853
371Node: Region5422
372Node: Multiple Dictionaries5734
373Node: Old Emacs8248
374Node: Private8929
375Node: Command summary9583
376Node: Near misses10139
377Node: History10781
378
379End Tag Table
Note: See TracBrowser for help on using the repository browser.