@setfilename ../../info/emacs
@settitle GNU Emacs Manual
-@c The edition number appears in several places in this file
-@set EDITION Sixteenth
+@c The edition number appears in more than one place in this file
+@c I don't really know what it means...
+@c For example, it has said "Sixteenth" since sometime in the Emacs 22
+@c series, all through 23, and into 24. So it is not very useful IMO,
+@c and offers nothing that EMACSVER does not. I guess it relates
+@c mainly to the published book sold by the FSF. Hence no longer
+@c bother including it except iftex. Really, I think it should not be
+@c here at all (since anyone can make a pdf version), but should just
+@c be something added by the FSF during the publishing process.
+@c Also, the lispref uses a float (3.0), whereas this uses an ordinal,
+@c so the format is not even consistent.
+@set EDITION Seventeenth
@include emacsver.texi
@copying
+@iftex
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
+@end iftex
+@ifnottex
+This is the @cite{GNU Emacs Manual},
+@end ifnottex
updated for Emacs version @value{EMACSVER}.
Copyright @copyright{} 1985-1987, 1993-2012 Free Software Foundation, Inc.
@c in general, keep the following line commented out, unless doing a
@c copy of this manual that will be published. The manual should go
@c onto the distribution in the full, 8.5 x 11" size.
-@c @smallbook
+@c @set smallbook
@ifset smallbook
@smallbook
@tex
@ifset smallbook
@fonttextsize 10
-\global\let\urlcolor=\Black % don't print links in grayscale
-\global\let\linkcolor=\Black
@end ifset
\global\hbadness=6666 % don't worry about not-too-underfull boxes
@end tex
@sp 4
@center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}.
@sp 5
-@center Richard Stallman
+@center Richard Stallman et al.
@page
@vskip 0pt plus 1filll
@insertcopying
Published by the Free Software Foundation @*
51 Franklin Street, Fifth Floor @*
Boston, MA 02110-1301 USA @*
-ISBN 1-882114-86-8
+ISBN 978-0-9831592-4-7
@sp 2
-Cover art by Etienne Suvasa.
+Cover art by Etienne Suvasa; cover design by Matt Lee.
@end titlepage
@ifnottex
-@node Top, Distrib, (dir), (dir)
+@node Top
@top The Emacs Editor
Emacs is the extensible, customizable, self-documenting real-time
@menu
* Distrib:: How to get the latest Emacs distribution.
* Intro:: An introduction to Emacs concepts.
-@c Note that in the printed manual, the glossary and indices come last.
-* Glossary:: Terms used in this manual.
-
-Indexes (each index contains a large menu)
-* Key Index:: An item for each standard Emacs key sequence.
-* Option Index:: An item for every command-line option.
-* Command Index:: An item for each command name.
-* Variable Index:: An item for each documented variable.
-* Concept Index:: An item for each concept.
-
-* Acknowledgments:: Major contributors to GNU Emacs.
Important General Concepts
* Screen:: How to interpret what you see on the screen.
* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS.
* Manifesto:: What's GNU? Gnu's Not Unix!
+* Glossary:: Terms used in this manual.
+@ifnottex
+* Acknowledgments:: Major contributors to GNU Emacs.
+@end ifnottex
+
+Indexes (each index contains a large menu)
+* Key Index:: An item for each standard Emacs key sequence.
+* Option Index:: An item for every command-line option.
+* Command Index:: An item for each command name.
+* Variable Index:: An item for each documented variable.
+* Concept Index:: An item for each concept.
+
@c Do NOT modify the following 3 lines! They must have this form to
@c be correctly identified by `texinfo-multiple-files-update'. In
@c particular, the detailed menu header line MUST be identical to the
The Minibuffer
+* Basic Minibuffer:: Basic usage of the minibuffer.
* Minibuffer File:: Entering file names with the minibuffer.
* Minibuffer Edit:: How to edit in the minibuffer.
* Completion:: An abbreviation facility for minibuffer input.
* Minibuffer History:: Reusing recent minibuffer arguments.
* Repetition:: Re-executing commands that used the minibuffer.
* Passwords:: Entering passwords in the echo area.
+* Yes or No Prompts:: Replying yes or no in the echo area.
Completion
Killing and Moving Text
* Deletion and Killing:: Commands that remove text.
-* Yanking:: Recovering killed text. Moving text. (Pasting.)
+* Yanking:: Commands that insert text.
* Cut and Paste:: Clipboard and selections on graphical displays.
-* Accumulating Text:: Other ways of copying text.
+* Accumulating Text:: Other methods to add text to the buffer.
* Rectangles:: Operating on text in rectangular areas.
-* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank.
+* CUA Bindings:: Using @kbd{C-x}/@kbd{C-c}/@kbd{C-v} to kill and yank.
Deletion and Killing
* Earlier Kills:: Yanking something killed some time ago.
* Appending Kills:: Several kills in a row all yank together.
-Killing and Yanking on Graphical Displays
+"Cut and Paste" Operations on Graphical Displays
-* Clipboard:: How Emacs interacts with the system clipboard.
+* Clipboard:: How Emacs uses the system clipboard.
* Primary Selection:: The temporarily selected text selection.
* Secondary Selection:: Cutting without altering point and mark.
Controlling the Display
* Scrolling:: Commands to move text up and down in a window.
-* Recentering:: A scrolling command that centers the current line.
+* Recentering:: A scroll command that centers the current line.
* Auto Scrolling:: Redisplay scrolls text automatically when needed.
* Horizontal Scrolling:: Moving text left and right in a window.
* Narrowing:: Restricting display and editing to a portion
* Incremental Search:: Search happens as you type the string.
* Nonincremental Search:: Specify entire string and then search.
* Word Search:: Search for sequence of words.
+* Symbol Search:: Search for a source code symbol.
* Regexp Search:: Search for match for a regexp.
* Regexps:: Syntax of regular expressions.
* Regexp Backslash:: Regular expression constructs starting with `\'.
* Displaying Buffers:: How Emacs picks a window for displaying a buffer.
* Window Convenience:: Convenience functions for window handling.
-Displaying Buffers
+Displaying a Buffer in a Window
* Window Choice:: How @code{display-buffer} works.
* Tool Bars:: Enabling and disabling the tool bar.
* Dialog Boxes:: Controlling use of dialog boxes.
* Tooltips:: Displaying information at the current mouse position.
-* Mouse Avoidance:: Moving the mouse pointer out of the way.
+* Mouse Avoidance:: Preventing the mouse pointer from obscuring text.
* Non-Window Terminals:: Multiple frames on terminals that show only one.
-* Text-Only Mouse:: Using the mouse in text-only terminals.
+* Text-Only Mouse:: Using the mouse in text terminals.
International Character Set Support
* Charsets:: How Emacs groups its internal character codes.
* Bidirectional Editing:: Support for right-to-left scripts.
-Modes
+Major and Minor Modes
* Major Modes:: Text mode vs. Lisp mode vs. C mode...
* Minor Modes:: Each minor mode is a feature you can turn on
* TeX Print:: Commands for printing part of a file with TeX.
* TeX Misc:: Customization of TeX mode, and related features.
-Editing Enriched Text
+Enriched Text
* Enriched Mode:: Entering and exiting Enriched mode.
* Hard and Soft Newlines:: There are two different kinds of newlines.
* Version Control Systems:: Supported version control back-end systems.
* VCS Concepts:: Words and concepts related to version control.
* VCS Merging:: How file conflicts are handled.
-* VCS Changesets:: Changesets in version control.
+* VCS Changesets:: How changes are grouped.
* VCS Repositories:: Where version control repositories are stored.
* Types of Log File:: The VCS log in contrast to the ChangeLog.
* VC Directory Buffer:: What the buffer looks like and means.
* VC Directory Commands:: Commands to use in a VC directory buffer.
-Multiple Branches of a File
+Version Control Branches
* Switching Branches:: How to get to another existing branch.
-* VC Pull:: Updating a branch from another branch.
+* VC Pull:: Updating the contents of a branch.
* Merging:: Transferring changes between branches.
* Creating Branches:: How to start a new branch.
Tags Tables
* Tag Syntax:: Tag syntax for various types of code and text files.
-* Create Tags Table:: Creating a tags table with @code{etags}.
+* Create Tags Table:: Creating a tags table with @command{etags}.
* Etags Regexps:: Create arbitrary tags using regular expressions.
* Select Tags Table:: How to visit a tags table.
* Find Tag:: Commands to find the definition of a specific tag.
* Tags Search:: Using a tags table for searching and replacing.
-* List Tags:: Listing and finding tags defined in a file.
+* List Tags:: Using tags for completion, and listing them.
@ifnottex
Merging Files with Emerge
* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
@ifnottex
-Customizing the Calendar and Diary
+More advanced features of the Calendar and Diary
* Calendar Customizing:: Calendar layout and hooks.
* Holiday Customizing:: Defining your own holidays.
* Sexp Diary Entries:: More flexible diary entries.
@end ifnottex
-Document Viewing
-
-* DocView Navigation:: Navigating DocView buffers.
-* DocView Searching:: Searching inside documents.
-* DocView Slicing:: Specifying which part of a page is displayed.
-* DocView Conversion:: Influencing and triggering conversion.
-
Sending Mail
-* Mail Format:: Format of the mail being composed.
+* Mail Format:: Format of a mail message.
* Mail Headers:: Details of some standard mail header fields.
* Mail Aliases:: Abbreviating and grouping mail addresses.
* Mail Commands:: Special commands for editing mail being composed.
* Gnus Group Buffer:: A short description of Gnus group commands.
* Gnus Summary Buffer:: A short description of Gnus summary commands.
+Document Viewing
+
+* DocView Navigation:: Navigating DocView buffers.
+* DocView Searching:: Searching inside documents.
+* DocView Slicing:: Specifying which part of a page is displayed.
+* DocView Conversion:: Influencing and triggering conversion.
+
Running Shell Commands from Emacs
* Single Shell:: How to run one shell command and return.
* Variables:: Many Emacs commands examine Emacs variables
to decide what to do; by setting variables,
you can control their functioning.
-* Key Bindings:: Keymaps say what command each key runs.
+* Key Bindings:: The keymaps say what command each key runs.
By changing them, you can "redefine" keys.
* Init File:: How to write common customizations in the
- @file{.emacs} file.
+ initialization file.
Easy Customization Interface
* Local Keymaps:: Major and minor modes have their own keymaps.
* Minibuffer Maps:: The minibuffer uses its own local keymaps.
* Rebinding:: How to redefine one key's meaning conveniently.
-* Init Rebinding:: Rebinding keys with your init file, @file{.emacs}.
+* Init Rebinding:: Rebinding keys with your initialization file.
* Modifier Keys:: Using modifier keys in key bindings.
* Function Keys:: Rebinding terminal function keys.
* Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on.
before it can be executed. This is done to protect
beginners from surprises.
-The Init File, @file{~/.emacs}
+The Emacs Initialization File
* Init Syntax:: Syntax of constants in Emacs Lisp.
* Init Examples:: How to do some things with an init file.
* Screen Garbled:: Garbage on the screen.
* Text Garbled:: Garbage in the text.
* Memory Full:: How to cope when you run out of memory.
+* Crashing:: What Emacs does when it crashes.
* After a Crash:: Recovering editing in an Emacs session that crashed.
* Emergency Escape:: What to do if Emacs stops responding.
* GTK Resource Basics:: Basic usage of GTK+ resources.
* GTK Widget Names:: How GTK+ widgets are named.
-* GTK Names in Emacs:: GTK+ widgets used by Emacs.
+* GTK Names in Emacs:: GTK widgets used by Emacs.
* GTK styles:: What can be customized in a GTK widget.
Emacs and Mac OS / GNUstep
* Text and Binary:: Text files use CRLF to terminate lines.
* Windows Files:: File-name conventions on Windows.
* ls in Lisp:: Emulation of @code{ls} for Dired.
-* Windows HOME:: Where Emacs looks for your @file{.emacs}.
+* Windows HOME:: Where Emacs looks for your @file{.emacs} and
+ where it starts up.
* Windows Keyboard:: Windows-specific keyboard features.
* Windows Mouse:: Windows-specific mouse features.
* Windows Processes:: Running subprocesses on Windows.
on Macintosh (and GNUstep).
@end iftex
-@node Distrib, Intro, Top, Top
+@node Distrib
@unnumbered Distribution
GNU Emacs is @dfn{free software}; this means that everyone is free to
If you find GNU Emacs useful, please @strong{send a donation} to the
Free Software Foundation to support our work. Donations to the Free
Software Foundation are tax deductible in the US. If you use GNU Emacs
-at your workplace, please suggest that the company make a donation.
+at your workplace, please suggest that the company make a donation.
For more information on how you can help, see
@url{http://www.gnu.org/help/help.html}.
@end display
@iftex
-@node Acknowledgments, Intro, Distrib, Top
+@node Acknowledgments
@unnumberedsec Acknowledgments
Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas
Abrahamsson, Jay K.@: Adams, Alon Albert, Michael Albinus, Nagy
-Andras, Benjamin Andresen, Ralf Angeli, Joe Arceneaux, Emil Åström,
+Andras, Benjamin Andresen, Ralf Angeli, Dmitry Antipov, Joe Arceneaux, Emil Åström,
Miles Bader, David Bakhash, Juanma Barranquero, Eli Barzilay, Thomas
Baumann, Steven L.@: Baur, Jay Belanger, Alexander L.@: Belikoff,
Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Karl
Lüdecke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie,
Christopher J.@: Madsen, Neil M.@: Mager, Ken Manheimer, Bill Mann,
Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin,
-Yukihiro Matsumoto, David Maus, Thomas May, Will Mengarini, David
+Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David
Megginson, Stefan Merten, Ben A.@: Mesander, Wayne Mesard, Brad
Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan
Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris,
Neal Ziring, Teodor Zlatanov, and Detlev Zundel.
@end iftex
-@node Intro, Glossary, Distrib, Top
+@node Intro
@unnumbered Introduction
You are reading about GNU Emacs, the GNU incarnation of the
@include custom.texi
@include trouble.texi
-@node Copying, GNU Free Documentation License, Service, Top
+@node Copying
@appendix GNU GENERAL PUBLIC LICENSE
@include gpl.texi
-@node GNU Free Documentation License, Emacs Invocation, Copying, Top
+@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include doclicense.texi
@c The Option Index is produced only in the on-line version,
@c because the index entries related to command-line options
@c tend to point to the same pages and all begin with a dash.
-@c This, and the need to keep the node links consistent, are
-@c the reasons for the funky @iftex/@ifnottex dance below.
-@c The Option Index is _not_ before Key Index, because that
-@c would require changes in the glossary.texi's @node line.
-@c It is not after Concept Index for similar reasons.
-@iftex
-@node Key Index, Command Index, Glossary, Top
+@node Key Index
@unnumbered Key (Character) Index
@printindex ky
-@end iftex
@ifnottex
-@node Key Index, Option Index, Glossary, Top
-@unnumbered Key (Character) Index
-@printindex ky
-
-@node Option Index, Command Index, Key Index, Top
+@node Option Index
@unnumbered Command-Line Options Index
@printindex op
-
-@node Command Index, Variable Index, Option Index, Top
-@unnumbered Command and Function Index
-@printindex fn
@end ifnottex
-@iftex
-@node Command Index, Variable Index, Key Index, Top
+@node Command Index
@unnumbered Command and Function Index
@printindex fn
-@end iftex
-@node Variable Index, Concept Index, Command Index, Top
+@node Variable Index
@unnumbered Variable Index
@printindex vr
-@node Concept Index, Acknowledgments, Variable Index, Top
+@node Concept Index
@unnumbered Concept Index
@printindex cp