\input texinfo @c -*- coding: utf-8 -*-
-@setfilename ../../info/emacs
+@setfilename ../../info/emacs.info
@settitle GNU Emacs Manual
+@include docstyle.texi
@c The edition number appears in more than one place in this file
@c I don't really know what it means...
@end ifnottex
updated for Emacs version @value{EMACSVER}.
-Copyright @copyright{} 1985--1987, 1993--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1985--1987, 1993--2016 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and
-``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover texts being ``A GNU
+``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover Texts being ``A GNU
Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the
license is included in the section entitled ``GNU Free Documentation
License.''
@end quotation
@end copying
-@documentencoding UTF-8
-
@dircategory Emacs
@direntry
* Emacs: (emacs). The extensible self-documenting text editor.
Published by the Free Software Foundation @*
51 Franklin Street, Fifth Floor @*
Boston, MA 02110-1301 USA @*
-ISBN 978-0-9831592-4-7
+ISBN 978-0-9831592-5-4
@sp 2
Cover art by Etienne Suvasa; cover design by Matt Lee.
some of the ways to customize it; it corresponds to GNU Emacs version
@value{EMACSVER}.
-@c See `manual-html-mono' and `manual-html-node' in admin/admin.el.
+@c See 'manual-html-mono' and 'manual-html-node' in admin/admin.el.
@ifset WWW_GNU_ORG
@html
The homepage for GNU Emacs is at
* Help:: Commands for asking Emacs about its commands.
Important Text-Changing Commands
-* Mark:: The mark: how to delimit a "region" of text.
+* Mark:: The mark: how to delimit a region of text.
* Killing:: Killing (cutting) and yanking (copying) text.
* Registers:: Saving a text string or a location in the buffer.
* Display:: Controlling what text is displayed.
* Files:: All about handling files.
* Buffers:: Multiple buffers; editing several files at once.
* Windows:: Viewing multiple pieces of text in one frame.
-* Frames:: Using multiple "windows" on your display.
+* Frames:: Using multiple windows on your display.
* International:: Using non-@acronym{ASCII} character sets.
Advanced Features
* Sending Mail:: Sending mail in Emacs.
* Rmail:: Reading mail in Emacs.
* Gnus:: A flexible mail and news reader.
+* Host Security:: Security issues on a single computer.
+* Network Security:: Managing the network security.
* Document View:: Viewing PDF, PS and DVI files.
* EWW:: A web browser in Emacs.
* Shell:: Executing shell commands from Emacs.
@end ifnottex
* Editing Binary Files:: Editing binary files with Hexl mode.
* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
-* Recursive Edit:: Performing edits while "within another command".
-* Emulation:: Emulating some other editors with Emacs.
+* Recursive Edit:: Performing edits while within another command.
* Hyperlinking:: Following links in buffers.
* Amusements:: Various games and hacks.
* Packages:: Installing additional features.
* 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 be correctly identified by 'texinfo-multiple-files-update'. In
@c particular, the detailed menu header line MUST be identical to the
-@c value of `texinfo-master-menu-header'. See texnfo-upd.el.
+@c value of 'texinfo-master-menu-header'. See texnfo-upd.el.
@detailmenu
--- The Detailed Node Listing ---
* Language Help:: Help relating to international language support.
* Misc Help:: Other help commands.
* Help Files:: Commands to display auxiliary help files.
-* Help Echo:: Help on active text and tooltips ("balloon help").
+* Help Echo:: Help on active text and tooltips.
The Mark and the Region
* Earlier Kills:: Yanking something killed some time ago.
* Appending Kills:: Several kills in a row all yank together.
-"Cut and Paste" Operations on Graphical Displays
+Cut and Paste Operations on Graphical Displays
* Clipboard:: How Emacs uses the system clipboard.
* Primary Selection:: The temporarily selected text selection.
* Regexps:: Syntax of regular expressions.
* Regexp Backslash:: Regular expression constructs starting with `\'.
* Regexp Example:: A complex regular expression explained.
-* Search Case:: To ignore case while searching, or not.
+* Lax Search:: Search ignores some distinctions between
+ similar characters, like letter-case.
* Replace:: Search, and replace some or all matches.
* Other Repeating Search:: Operating on all matches for some regexp.
+* Search Customizations:: Various search customizations.
Incremental Search
* Basic Isearch:: Basic incremental search commands.
* Repeat Isearch:: Searching for the same string again.
-* Error in Isearch:: When your string is not found.
-* Special Isearch:: Special input in incremental search.
* Isearch Yank:: Commands that grab text into the search string
or else edit the search string.
+* Error in Isearch:: When your string is not found.
+* Special Isearch:: Special input in incremental search.
* Not Exiting Isearch:: Prefix argument and scrolling commands.
* Isearch Minibuffer:: Incremental search of the minibuffer history.
* Unconditional Replace:: Replacing all matches for a string.
* Regexp Replace:: Replacing all matches for a regexp.
-* Replacement and Case:: How replacements preserve case of letters.
+* Replacement and Lax Matches::
+ Lax searching for text to replace.
* Query Replace:: How to use querying.
Commands for Fixing Typos
* Customize Save:: Customizing the saving of files.
* Interlocking:: How Emacs protects against simultaneous editing
of one file by two users.
-* File Shadowing:: Copying files to "shadows" automatically.
+* File Shadowing:: Copying files to shadows automatically.
* Time Stamps:: Emacs can update time stamps on saved files.
Backup Files
* Select Buffer:: Creating a new buffer or reselecting an old one.
* List Buffers:: Getting a list of buffers that exist.
-* Misc Buffer:: Renaming; changing read-onlyness; copying text.
+* Misc Buffer:: Renaming; changing read-only status; copying text.
* Kill Buffer:: Killing buffers you no longer need.
* Several Buffers:: How to go through the list of all buffers
and operate variously on several of them.
* Multiple Displays:: How one Emacs instance can talk to several displays.
* Frame Parameters:: Changing the colors and other modes of frames.
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
+* Window Dividers:: Window separators that can be dragged with the mouse.
* Drag and Drop:: Using drag and drop to open files and insert text.
* Menu Bars:: Enabling and disabling the menu bar.
* Tool Bars:: Enabling and disabling the tool bar.
* Sentences:: Moving over and killing sentences.
* Paragraphs:: Moving over paragraphs.
* Pages:: Moving over pages.
+* Quotation Marks:: Inserting quotation marks.
* Filling:: Filling or justifying text.
* Case:: Changing the case of text.
* Text Mode:: The major modes for editing text files.
* TeX Mode:: Editing TeX and LaTeX files.
* HTML Mode:: Editing HTML and SGML files.
* Nroff Mode:: Editing input to the nroff formatter.
-* Enriched Text:: Editing text "enriched" with fonts, colors, etc.
+* Enriched Text:: Editing text enriched with fonts, colors, etc.
* Text Based Tables:: Commands for editing text-based tables.
* Two-Column:: Splitting text columns into separate windows.
* Enriched Indentation:: Changing the left and right margins.
* Enriched Justification:: Centering, setting text flush with the
left or right margin, etc.
-* Enriched Properties:: The "special" text properties submenu.
+* Enriched Properties:: The ``Special text properties'' submenu.
@c The automatic texinfo menu update inserts some duplicate items here
@c (faces, colors, indentation, justification, properties), because
* Documentation:: Getting documentation of functions you plan to call.
* Hideshow:: Displaying blocks selectively.
* Symbol Completion:: Completion on symbol names of your program or language.
-* Glasses:: Making identifiersLikeThis more readable.
+* MixedCase Words:: Dealing with identifiersLikeThis.
* Semantic:: Suite of editing tools based on source code parsing.
* Misc for Programs:: Other Emacs features useful for editing programs.
* C Modes:: Special commands of C, C++, Objective-C,
* Version Control:: Using version control systems.
* Change Log:: Maintaining a change history for your program.
-* Tags:: Go directly to any function in your program in one
- command. Tags remembers which file it is in.
+* Xref:: Find definitions and references of any function,
+ method, struct, macro, @dots{} in your program.
* EDE:: An integrated development environment for Emacs.
@ifnottex
* Emerge:: A convenient way of merging two versions of a program.
Version Control Branches
* Switching Branches:: How to get to another existing branch.
-* VC Pull:: Updating the contents of a branch.
+* Pulling / Pushing:: Receiving/sending changes from/to elsewhere.
* Merging:: Transferring changes between branches.
* Creating Branches:: How to start a new branch.
* Change Log Commands:: Commands for editing change log files.
* Format of ChangeLog:: What the change log file looks like.
+Xref
+
+* Find Identifiers:: Commands to find where an identifier is defined
+ or referenced, to list identifiers, etc.
+* Tags Tables:: Tags table records which file defines a symbol.
+* Select Tags Table:: How to visit a specific tags table.
+
+Find Identifiers
+
+* Looking Up Identifiers:: Commands to find the definition of a specific tag.
+* Xref Commands:: Commands in the @file{*xref*} buffer.
+* Identifier Search:: Searching and replacing identifiers.
+* List Identifiers:: Listing identifiers and completing on them.
+
Tags Tables
* Tag Syntax:: Tag syntax for various types of code and text files.
* 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:: Using tags for completion, and listing them.
@ifnottex
Merging Files with Emerge
* Basic Picture:: Basic concepts and simple commands of Picture Mode.
* Insert in Picture:: Controlling direction of cursor motion
- after "self-inserting" characters.
+ after self-inserting characters.
* Tabs in Picture:: Various features for tab stops and indentation.
* Rectangles in Picture:: Clearing and superimposing rectangles.
@end ifnottex
The Diary
-* Displaying the Diary:: Viewing diary entries and associated calendar dates.
* Format of Diary File:: Entering events in your diary.
+* Displaying the Diary:: Viewing diary entries and associated calendar dates.
* Date Formats:: Various ways you can specify dates.
* Adding to Diary:: Commands to create diary entries.
* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
to decide what to do; by setting variables,
you can control their functioning.
* Key Bindings:: The keymaps say what command each key runs.
- By changing them, you can "redefine" keys.
+ By changing them, you can redefine keys.
* Init File:: How to write common customizations in the
initialization file.
Dealing with Emacs Trouble
* DEL Does Not Delete:: What to do if @key{DEL} doesn't delete.
-* Stuck Recursive:: `[...]' in mode line around the parentheses.
+* Stuck Recursive:: '[...]' in mode line around the parentheses.
* Screen Garbled:: Garbage on the screen.
* Text Garbled:: Garbage in the text.
* Memory Full:: How to cope when you run out of memory.
* Checklist:: Steps to follow for a good bug report.
* Sending Patches:: How to send a patch for GNU Emacs.
+Contributing to Emacs Development
+
+* Coding Standards:: Gnu Emacs coding standards.
+* Copyright Assignment:: Assigning copyright to the FSF.
+
Command Line Arguments for Emacs Invocation
* Action Arguments:: Arguments to visit files, load libraries,
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.
-For more information on how you can help, see
+To donate, see @url{https://my.fsf.org/donate/}.
+For other ways in which you can help, see
@url{http://www.gnu.org/help/help.html}.
+@c The command view-order-manuals uses this anchor.
+@anchor{Printed Books}
We also sell hardcopy versions of this manual and @cite{An
Introduction to Programming in Emacs Lisp}, by Robert J. Chassell.
You can visit our online store at @url{http://shop.fsf.org/}.
@node Acknowledgments
@unnumberedsec Acknowledgments
+@c It's hard to update this fairly.
+@c I wonder if it would be better to drop it in favor of AUTHORS?
Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas
Abrahamsson, Jay K. Adams, Alon Albert, Michael Albinus, Nagy
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
+Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Stephen Berman, Karl
Berry, Anna M. Bigatti, Ray Blaak, Martin Blais, Jim Blandy, Johan
Bockgård, Jan Böcker, Joel Boehland, Lennart Borgman, Per Bothner,
Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, Kevin
Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick
Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Karl Fogel, Gary
Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, Andreas
-Fuchs, Shigeru Fukaya, Hallvard Furuseth, Keith Gabryelski, Peter S.
+Fuchs, Shigeru Fukaya, Xue Fuqiao, Hallvard Furuseth, Keith Gabryelski, Peter S.
Galbraith, Kevin Gallagher, Fabián E. Gallina, Kevin Gallo, Juan León Lahoz García,
Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David
Gillespie, Bob Glickstein, Deepak Goel, David De La Harpe Golden, Boris
Goldowsky, David Goodger, Chris Gray, Kevin Greiner, Michelangelo Grigni, Odd
Gripenstam, Kai Großjohann, Michael Gschwind, Bastien Guerry, Henry
-Guillaume, Doug Gwyn, Bruno Haible, Ken'ichi Handa, Lars Hansen, Chris
+Guillaume, Dmitry Gutov, Doug Gwyn, Bruno Haible, Ken'ichi Handa, Lars Hansen, Chris
Hanson, Jesper Harder, Alexandru Harsanyi, K. Shane Hartman, John
Heidemann, Jon K. Hellan, Magnus Henoch, Markus Heritsch, Dirk
Herrmann, Karl Heuer, Manabu Higashida, Konrad Hinsen, Anders Holst,
Landstrom, Mario Lang, Aaron Larson, James R. Larus, Vinicius Jose
Latorre, Werner Lemberg, Frederic Lepied, Peter Liljenberg, Christian
Limpach, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link,
-Juri Linkov, Francis Litterio, Sergey Litvinov, Emilio C. Lopes,
+Juri Linkov, Francis Litterio, Sergey Litvinov, Leo Liu, Emilio C. Lopes,
Martin Lorentzon, Dave Love, Eric Ludlam, Károly Lőrentey, Sascha
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, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David
Megginson, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad
-Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Stefan
+Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Dani Moncayo, Stefan
Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris,
Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum,
Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen,
Reiner Steib, Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken
Stevens, Andy Stewart, Jonathan Stigelman, Martin Stjernholm, Kim F.
Storm, Steve Strassmann, Christopher Suckling, Olaf Sylvester, Naoto
-Takahashi, Steven Tamm, Luc Teirlinck, Jean-Philippe Theberge, Jens
+Takahashi, Steven Tamm, Jan Tatarik, Luc Teirlinck, Jean-Philippe Theberge, Jens
T. Berger Thielemann, Spencer Thomas, Jim Thompson, Toru Tomabechi,
David O'Toole, Markus Triska, Tom Tromey, Enami Tsugutomo, Eli
Tziperman, Daiki Ueno, Masanobu Umeda, Rajesh Vaidheeswarran, Neil
You are reading about GNU Emacs, the GNU incarnation of the
advanced, self-documenting, customizable, extensible editor Emacs.
-(The @samp{G} in @acronym{GNU, @acronym{GNU}'s Not Unix} is not silent.)
+(The @samp{G} in
+@c Workaround makeinfo 4 bug.
+@c http://lists.gnu.org/archive/html/bug-texinfo/2004-08/msg00009.html
+@iftex
+@acronym{GNU, @acronym{GNU}'s Not Unix}
+@end iftex
+@ifnottex
+@acronym{GNU, GNU's Not Unix}
+@end ifnottex
+is not silent.)
We call Emacs @dfn{advanced} because it can do much more than simple
insertion and deletion of text. It can control subprocesses, indent
@include anti.texi
@include macos.texi
-@c Includes msdog-xtra.
-@include msdog.texi
+@c Includes msdos-xtra.
+@include msdos.texi
@include gnu.texi
@include glossary.texi
@ifnottex