@c This is part of the Emacs manual.
-@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software
+@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
-@node Fixit, Keyboard Macros, Search, Top
+@node Fixit
@chapter Commands for Fixing Typos
@cindex typos, fixing
@cindex mistakes, correcting
- In this chapter we describe the commands that are especially useful
-when you catch a mistake in your text after you have made it, or
-change your mind while composing text on the fly.
-
- The most fundamental command for correcting erroneous editing is the
-undo command @kbd{C-/} (which is also bound to @kbd{C-x u} and
-@kbd{C-_}). This undoes a single command, or a part of a command (as
-in the case of @code{query-replace}), or several consecutive
-self-inserting characters. Consecutive repetitions of @kbd{C-/} undo
-earlier and earlier changes, back to the limit of the undo information
-available.
+ In this chapter we describe commands that are useful when you catch
+a mistake while editing. The most fundamental of these commands is
+the undo command @kbd{C-/} (also bound to @kbd{C-x u} and @kbd{C-_}).
+This undoes a single command, or a
+part of a command (as in the case of @code{query-replace}), or several
+consecutive character insertions. Consecutive repetitions of
+@kbd{C-/} undo earlier and earlier changes, back to the limit of the
+undo information available.
Aside from the commands described here, you can erase text using
deletion commands such as @key{DEL} (@code{delete-backward-char}).
The @dfn{undo} command reverses recent changes in the buffer's text.
Each buffer records changes individually, and the undo command always
applies to the current buffer. You can undo all the changes in a
-buffer for as far as back its records go. Usually, each editing
+buffer for as far back as the buffer's records go. Usually, each editing
command makes a separate entry in the undo records, but some commands
such as @code{query-replace} divide their changes into multiple
entries for flexibility in undoing. Consecutive character insertion
@kbd{C-x u})@footnote{Aside from @kbd{C-/}, the @code{undo} command is
also bound to @kbd{C-x u} because that is more straightforward for
beginners to remember: @samp{u} stands for ``undo''. It is also bound
-to @kbd{C-_} because typing @kbd{C-/} on some text-only terminals
-actually enters @kbd{C-_}.}. This undoes the most recent change in
-the buffer, and moves point back to where it was before that change.
-
+to @kbd{C-_} because typing @kbd{C-/} on some text terminals actually
+enters @kbd{C-_}.}. This undoes the most recent change in the buffer,
+and moves point back to where it was before that change.
Consecutive repetitions of @kbd{C-/} (or its aliases) undo earlier
and earlier changes in the current buffer. If all the recorded
changes have already been undone, the undo command signals an error.
harmlessly breaks the sequence of undoing; then type @kbd{C-/} to undo
the undo command.
- On the other hand, if you want to resume undoing, without redoing
+ Alternatively, if you want to resume undoing, without redoing
previous undo commands, use @kbd{M-x undo-only}. This is like
@code{undo}, but will not redo changes you have just undone.
When there is an active region, any use of @code{undo} performs
@dfn{selective undo}: it undoes the most recent change within the
region, instead of the entire buffer. However, when Transient Mark
-mode is off (@pxref{Persistent Mark}), @kbd{C-/} always operates on
-the entire buffer, ignoring the region. In this case, you can perform
-selective undo by supplying a prefix argument to the @code{undo}
-command: @kbd{C-u C-/}. To undo further changes in the same region,
-repeat the @code{undo} command (no prefix argument is needed).
+mode is off (@pxref{Disabled Transient Mark}), @kbd{C-/} always
+operates on the entire buffer, ignoring the region. In this case, you
+can perform selective undo by supplying a prefix argument to the
+@code{undo} command: @kbd{C-u C-/}. To undo further changes in the
+same region, repeat the @code{undo} command (no prefix argument is
+needed).
Some specialized buffers do not make undo records. Buffers whose
names start with spaces never do; these buffers are used internally by
@vindex undo-strong-limit
@vindex undo-outer-limit
@cindex undo limit
- When the undo records for a buffer becomes too large, Emacs discards
-the oldest undo records from time to time (during @dfn{garbage
-collection}). You can specify how much undo records to keep by
+ When the undo information for a buffer becomes too large, Emacs discards
+the oldest records from time to time (during @dfn{garbage
+collection}). You can specify how much undo information to keep by
setting the variables @code{undo-limit}, @code{undo-strong-limit}, and
@code{undo-outer-limit}. Their values are expressed in bytes.
This section describes the commands to check the spelling of a
single word or of a portion of a buffer. These commands only work if
the spelling checker program Aspell, Ispell or Hunspell is installed.
-Aspell, Ispell or Hunspell are not part of Emacs, but one or the other
-is usually installed in GNU/Linux and other free operating systems.
+These programs are not part of Emacs, but one of them is usually
+installed in GNU/Linux and other free operating systems.
@ifnottex
@xref{Top, Aspell,, aspell, The Aspell Manual}.
@end ifnottex
@table @kbd
@item M-$
-Check and correct spelling of the active region or the word at point
-(@code{ispell-word}).
+Check and correct spelling of the word at point (@code{ispell-word}).
+If the region is active, do it for all words in the region instead.
@item M-x ispell
-Check and correct spelling in the active region or the entire buffer.
+Check and correct spelling of all words in the buffer. If the region
+is active, do it for all words in the region instead.
@item M-x ispell-buffer
Check and correct spelling in the buffer.
@item M-x ispell-region
If a region is active, @kbd{M-$} checks the spelling of all words
within the region. @xref{Mark}. (When Transient Mark mode is off,
@kbd{M-$} always acts on the word around or before point, ignoring the
-region. @xref{Persistent Mark}.)
+region; @pxref{Disabled Transient Mark}.)
@findex ispell
@findex ispell-buffer
@end table
@findex ispell-complete-word
- In Text mode and related modes, the command @kbd{M-@key{TAB}}
-(@code{ispell-complete-word}) shows a list of completions based on
+ In Text mode and related modes, @kbd{M-@key{TAB}}
+(@code{ispell-complete-word}) performs in-buffer completion based on
spelling correction. Insert the beginning of a word, and then type
-@kbd{M-@key{TAB}}; the command displays a completion list window. (If
-your window manager intercepts @kbd{M-@key{TAB}}, type @kbd{@key{ESC}
-@key{TAB}} or @kbd{C-M-i}.) To choose one of the completions listed,
-click @kbd{Mouse-2} or @kbd{Mouse-1} fast on it, or move the cursor
-there in the completions window and type @key{RET}. @xref{Text Mode}.
+@kbd{M-@key{TAB}}; this shows a list of completions. (If your
+window manager intercepts @kbd{M-@key{TAB}}, type @kbd{@key{ESC}
+@key{TAB}} or @kbd{C-M-i}.) Each completion is listed with a digit or
+character; type that digit or character to choose it.
@cindex @code{ispell} program
@findex ispell-kill-ispell
to run, waiting for something to do, so that subsequent spell checking
commands complete more quickly. If you want to get rid of the
process, use @kbd{M-x ispell-kill-ispell}. This is not usually
-necessary, since the process uses no time except when you do spelling
-correction.
+necessary, since the process uses no processor time except when you do
+spelling correction.
@vindex ispell-dictionary
@vindex ispell-local-dictionary
@vindex ispell-personal-dictionary
-@vindex ispell-complete-word-dict
- Ispell, Aspell and Hunspell use two dictionaries together for spell checking:
-the standard dictionary and your private dictionary. The standard
-dictionary is specified by @code{ispell-local-dictionary} or,
-if @code{nil}, by @code{ispell-dictionary}. If both are @code{nil}
-the default dictionary is selected. The command
-@kbd{M-x ispell-change-dictionary} sets the standard dictionary for
-the buffer and then restarts the subprocess, so that it will use a
-different standard dictionary. Personal dictionary is specified by
-@code{ispell-personal-dictionary}. If @code{nil}, default value is
-used.
-
- Set variable @code{ispell-dictionary} to select a specific default
-dictionary for all your documents. Set variable
-@code{ispell-local-dictionary} in the local variables section to
-select a specific dictionary for a given document.
+@findex ispell-change-dictionary
+ Ispell, Aspell and Hunspell look up spelling in two dictionaries:
+the standard dictionary and your personal dictionary. The standard
+dictionary is specified by the variable @code{ispell-local-dictionary}
+or, if that is @code{nil}, by the variable @code{ispell-dictionary}.
+If both are @code{nil}, the spelling program's default dictionary is
+used. The command @kbd{M-x ispell-change-dictionary} sets the
+standard dictionary for the buffer and then restarts the subprocess,
+so that it will use a different standard dictionary. Your personal
+dictionary is specified by the variable
+@code{ispell-personal-dictionary}. If that is @code{nil}, the
+spelling program looks for a personal dictionary in a default
+location.
+@vindex ispell-complete-word-dict
A separate dictionary is used for word completion. The variable
@code{ispell-complete-word-dict} specifies the file name of this
dictionary. The completion dictionary must be different because it
is a spell checking dictionary but no word completion dictionary.
@cindex Flyspell mode
+@cindex mode, Flyspell
@findex flyspell-mode
- Flyspell mode is a fully-automatic way to check spelling as you edit
-in Emacs. It operates by checking words as you change or insert them.
-When it finds a word that it does not recognize, it highlights that
-word. This does not interfere with your editing, but when you see the
-highlighted word, you can move to it and fix it. Type @kbd{M-x
-flyspell-mode} to enable or disable this mode in the current buffer.
-@findex turn-on-flyspell
-To enable @code{flyspell-mode} in all text mode buffers, add
-@code{turn-on-flyspell} to @code{text-mode-hook}.
-
+ Flyspell mode is a minor mode that performs automatic spell checking
+as you type. When it finds a word that it does not recognize, it
+highlights that word. Type @kbd{M-x flyspell-mode} to toggle Flyspell
+mode in the current buffer. To enable Flyspell mode in all text mode
+buffers, add @code{flyspell-mode} to @code{text-mode-hook}.
+@xref{Hooks}.
When Flyspell mode highlights a word as misspelled, you can click on
it with @kbd{Mouse-2} to display a menu of possible corrections and
that it only checks words in comments and string constants. This
feature is useful for editing programs. Type @kbd{M-x
flyspell-prog-mode} to enable or disable this mode in the current
-buffer.
-
-@ignore
- arch-tag: 3359a443-96ed-448f-9f05-c8111ba8eac0
-@end ignore
+buffer. To enable this mode in all programming mode buffers, add
+@code{flyspell-prog-mode} to @code{prog-mode-hook} (@pxref{Hooks}).