0001: \input texinfo  @c -*- coding: utf-8 -*-
0002: 
0003: @setfilename ../../info/emacs.info
0004: @settitle GNU Emacs Manual
0005: @include docstyle.texi
0006: 
0007: @c The edition number appears in more than one place in this file
0008: @c I don't really know what it means...
0009: @c For example, it has said "Sixteenth" since sometime in the Emacs 22
0010: @c series, all through 23, and into 24.  So it is not very useful IMO,
0011: @c and offers nothing that EMACSVER does not.  I guess it relates
0012: @c mainly to the published book sold by the FSF.  Hence no longer
0013: @c bother including it except iftex.  Really, I think it should not be
0014: @c here at all (since anyone can make a pdf version), but should just
0015: @c be something added by the FSF during the publishing process.
0016: @c Also, the lispref uses a float (3.0), whereas this uses an ordinal,
0017: @c so the format is not even consistent.
0018: @set EDITION   Seventeenth
0019: @include emacsver.texi
0020: 
0021: @copying
0022: @iftex
0023: This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
0024: @end iftex
0025: @ifnottex
0026: This is the @cite{GNU Emacs Manual},
0027: @end ifnottex
0028: updated for Emacs version @value{EMACSVER}.
0029: 
0030: Copyright @copyright{} 1985--1987, 1993--2019 Free Software Foundation, Inc.
0031: 
0032: @quotation
0033: Permission is granted to copy, distribute and/or modify this document
0034: under the terms of the GNU Free Documentation License, Version 1.3 or
0035: any later version published by the Free Software Foundation; with the
0036: Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and
0037: ``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover Texts being ``A GNU
0038: Manual,'' and with the Back-Cover Texts as in (a) below.  A copy of the
0039: license is included in the section entitled ``GNU Free Documentation
0040: License.''
0041: 
0042: (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
0043: modify this GNU manual.  Buying copies from the FSF supports it in
0044: developing GNU and promoting software freedom.''
0045: @end quotation
0046: @end copying
0047: 
0048: @dircategory Emacs
0049: @direntry
0050: * Emacs: (emacs).               The extensible self-documenting text editor.
0051: @end direntry
0052: 
0053: @c in general, keep the following line commented out, unless doing a
0054: @c copy of this manual that will be published.  The manual should go
0055: @c onto the distribution in the full, 8.5 x 11" size.
0056: @c @set smallbook
0057: 
0058: @ifset smallbook
0059: @smallbook
0060: @end ifset
0061: 
0062: @c per rms and peterb, use 10pt fonts for the main text, mostly to
0063: @c save on paper cost.
0064: @c Do this inside @tex for now, so current makeinfo does not complain.
0065: @tex
0066: @ifset smallbook
0067: @fonttextsize 10
0068: @end ifset
0069: \global\hbadness=6666 % don't worry about not-too-underfull boxes
0070: @end tex
0071: 
0072: @defcodeindex op
0073: @synindex pg cp
0074: 
0075: @iftex
0076: @kbdinputstyle code
0077: 
0078: @shorttitlepage GNU Emacs Manual
0079: @end iftex
0080: 
0081: @titlepage
0082: @sp 6
0083: @center @titlefont{GNU Emacs Manual}
0084: @sp 4
0085: @center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}.
0086: @sp 5
0087: @center Richard Stallman et al.
0088: @page
0089: @vskip 0pt plus 1filll
0090: @insertcopying
0091: 
0092: @sp 2
0093: Published by the Free Software Foundation @*
0094: 51 Franklin Street, Fifth Floor @*
0095: Boston, MA 02110-1301 USA @*
0096: ISBN 978-0-9831592-5-4
0097: 
0098: @sp 2
0099: Cover art by Etienne Suvasa; cover design by Matt Lee.
0100: 
0101: @end titlepage
0102: 
0103: 
0104: @summarycontents
0105: @contents
0106: 
0107: 
0108: @ifnottex
0109: @node Top
0110: @top The Emacs Editor
0111: 
0112: Emacs is the extensible, customizable, self-documenting real-time
0113: display editor.  This manual describes how to edit with Emacs and
0114: some of the ways to customize it; it corresponds to GNU Emacs version
0115: @value{EMACSVER}.
0116: 
0117: @c See 'manual-html-mono' and 'manual-html-node' in admin/admin.el.
0118: @ifset WWW_GNU_ORG
0119: @html
0120: The homepage for GNU Emacs is at
0121: <a href="/software/emacs/">https://www.gnu.org/software/emacs/</a>.<br>
0122: To view this manual in other formats, click
0123: <a href="/software/emacs/manual/emacs.html">here</a>.<br>
0124: You can also purchase a printed copy from the
0125: <a href="https://shop.fsf.org/product/emacs-manual/">FSF store</a>.
0126: @end html
0127: @end ifset
0128: 
0129: @ifinfo
0130: If you are reading this in Emacs, type @kbd{h} to read a basic
0131: introduction to the Info documentation system.
0132: @end ifinfo
0133: 
0134: For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The
0135: Emacs Lisp Reference Manual}.
0136: 
0137: @insertcopying
0138: @end ifnottex
0139: 
0140: @c Note that the TeX version generates its own TOC, so the ifnottex's
0141: @c here are not really necessary.
0142: @menu
0143: * Distrib::             How to get the latest Emacs distribution.
0144: * Intro::               An introduction to Emacs concepts.
0145: 
0146: Important General Concepts
0147: * Screen::              How to interpret what you see on the screen.
0148: * User Input::          Kinds of input events (characters, buttons,
0149:                           function keys).
0150: * Keys::                Key sequences: what you type to request one
0151:                           editing action.
0152: * Commands::            Named functions run by key sequences to do editing.
0153: * Entering Emacs::      Starting Emacs from the shell.
0154: * Exiting::             Stopping or killing Emacs.
0155: 
0156: Fundamental Editing Commands
0157: * Basic::               The most basic editing commands.
0158: * Minibuffer::          Entering arguments that are prompted for.
0159: * M-x::                 Invoking commands by their names.
0160: * Help::                Commands for asking Emacs about its commands.
0161: 
0162: Important Text-Changing Commands
0163: * Mark::                The mark: how to delimit a region of text.
0164: * Killing::             Killing (cutting) and yanking (copying) text.
0165: * Registers::           Saving a text string or a location in the buffer.
0166: * Display::             Controlling what text is displayed.
0167: * Search::              Finding or replacing occurrences of a string.
0168: * Fixit::               Commands especially useful for fixing typos.
0169: * Keyboard Macros::     Recording a sequence of keystrokes to be replayed.
0170: 
0171: Major Structures of Emacs
0172: * Files::               All about handling files.
0173: * Buffers::             Multiple buffers; editing several files at once.
0174: * Windows::             Viewing multiple pieces of text in one frame.
0175: * Frames::              Using multiple windows on your display.
0176: * International::       Using non-@acronym{ASCII} character sets.
0177: 
0178: Advanced Features
0179: * Modes::               Major and minor modes alter Emacs's basic behavior.
0180: * Indentation::         Editing the white space at the beginnings of lines.
0181: * Text::                Commands and modes for editing human languages.
0182: * Programs::            Commands and modes for editing programs.
0183: * Building::            Compiling, running and debugging programs.
0184: * Maintaining::         Features for maintaining large programs.
0185: * Abbrevs::             Defining text abbreviations to reduce typing.
0186: * Dired::               Directory and file manager.
0187: * Calendar/Diary::      Calendar and diary facilities.
0188: * Sending Mail::        Sending mail in Emacs.
0189: * Rmail::               Reading mail in Emacs.
0190: * Gnus::                A flexible mail and news reader.
0191: * Host Security::       Security issues on a single computer.
0192: * Network Security::    Managing the network security.
0193: * Document View::       Viewing PDF, PS and DVI files.
0194: * Shell::               Executing shell commands from Emacs.
0195: * Emacs Server::        Using Emacs as an editing server.
0196: * Printing::            Printing hardcopies of buffers or regions.
0197: * Sorting::             Sorting lines, paragraphs or pages within Emacs.
0198: @ifnottex
0199: * Picture Mode::        Editing pictures made up of text characters.
0200: @end ifnottex
0201: * Editing Binary Files::  Editing binary files with Hexl mode.
0202: * Saving Emacs Sessions:: Saving Emacs state from one session to the next.
0203: * Recursive Edit::      Performing edits while within another command.
0204: * Hyperlinking::        Following links in buffers.
0205: * Amusements::          Various games and hacks.
0206: * Packages::            Installing additional features.
0207: * Customization::       Modifying the behavior of Emacs.
0208: 
0209: Recovery from Problems
0210: * Quitting::            Quitting and aborting.
0211: * Lossage::             What to do if Emacs is hung or malfunctioning.
0212: * Bugs::                How and when to report a bug.
0213: * Contributing::        How to contribute improvements to Emacs.
0214: * Service::             How to get help for your own Emacs needs.
0215: 
0216: Appendices
0217: * Copying::             The GNU General Public License gives you permission
0218:                           to redistribute GNU Emacs on certain terms;
0219:                           it also explains that there is no warranty.
0220: * GNU Free Documentation License:: The license for this documentation.
0221: * Emacs Invocation::    Hairy startup options.
0222: * X Resources::         X resources for customizing Emacs.
0223: * Antinews::            Information about Emacs version 25.
0224: * Mac OS / GNUstep::     Using Emacs under macOS and GNUstep.
0225: * Microsoft Windows::   Using Emacs on Microsoft Windows and MS-DOS.
0226: * Manifesto::           What's GNU?  Gnu's Not Unix!
0227: 
0228: * Glossary::            Terms used in this manual.
0229: @ifnottex
0230: * Acknowledgments::     Major contributors to GNU Emacs.
0231: @end ifnottex
0232: 
0233: Indexes (each index contains a large menu)
0234: * Key Index::           An item for each standard Emacs key sequence.
0235: * Option Index::        An item for every command-line option.
0236: * Command Index::       An item for each standard command name.
0237: * Variable Index::      An item for each variable documented in this manual.
0238: * Concept Index::       An item for concepts and other general subjects.
0239: 
0240: @c Do NOT modify the following 3 lines!  They must have this form to
0241: @c be correctly identified by 'texinfo-multiple-files-update'.  In
0242: @c particular, the detailed menu header line MUST be identical to the
0243: @c value of 'texinfo-master-menu-header'.  See texnfo-upd.el.
0244: 
0245: @detailmenu
0246:  --- The Detailed Node Listing ---
0247:  ---------------------------------
0248: 
0249: Here are some other nodes which are really subnodes of the ones
0250: already listed, mentioned here so you can get to them in one step:
0251: 
0252: The Organization of the Screen
0253: 
0254: * Point::               The place in the text where editing commands operate.
0255: * Echo Area::           Short messages appear at the bottom of the screen.
0256: * Mode Line::           Interpreting the mode line.
0257: * Menu Bar::            How to use the menu bar.
0258: 
0259: Basic Editing Commands
0260: 
0261: * Inserting Text::      Inserting text by simply typing it.
0262: * Moving Point::        Moving the cursor to the place where you want to
0263:                         change something.
0264: * Erasing::             Deleting and killing text.
0265: * Basic Undo::          Undoing recent changes in the text.
0266: * Basic Files::         Visiting, creating, and saving files.
0267: * Basic Help::          Asking what a character does.
0268: * Blank Lines::         Making and deleting blank lines.
0269: * Continuation Lines::  How Emacs displays lines too wide for the screen.
0270: * Position Info::       What line, row, or column is point on?
0271: * Arguments::           Numeric arguments for repeating a command N times.
0272: * Repeating::           Repeating the previous command quickly.
0273: 
0274: The Minibuffer
0275: 
0276: * Basic Minibuffer::      Basic usage of the minibuffer.
0277: * Minibuffer File::     Entering file names with the minibuffer.
0278: * Minibuffer Edit::     How to edit in the minibuffer.
0279: * Completion::          An abbreviation facility for minibuffer input.
0280: * Minibuffer History::  Reusing recent minibuffer arguments.
0281: * Repetition::          Re-executing commands that used the minibuffer.
0282: * Passwords::           Entering passwords in the echo area.
0283: * Yes or No Prompts::   Replying yes or no in the echo area.
0284: 
0285: Completion
0286: 
0287: * Completion Example::  Examples of using completion.
0288: * Completion Commands:: A list of completion commands.
0289: * Completion Exit::     Completion and minibuffer text submission.
0290: * Completion Styles::   How completion matches are chosen.
0291: * Completion Options::  Options for completion.
0292: 
0293: Help
0294: 
0295: * Help Summary::        Brief list of all Help commands.
0296: * Key Help::            Asking what a key does in Emacs.
0297: * Name Help::           Asking about a command, variable or function name.
0298: * Apropos::             Asking what pertains to a given topic.
0299: * Help Mode::           Special features of Help mode and Help buffers.
0300: * Package Keywords::    Finding Lisp libraries by keywords (topics).
0301: * Language Help::       Help relating to international language support.
0302: * Misc Help::           Other help commands.
0303: * Help Files::          Commands to display auxiliary help files.
0304: * Help Echo::           Help on active text and tooltips.
0305: 
0306: The Mark and the Region
0307: 
0308: * Setting Mark::        Commands to set the mark.
0309: * Marking Objects::     Commands to put region around textual units.
0310: * Using Region::        Summary of ways to operate on contents of the region.
0311: * Mark Ring::           Previous mark positions saved so you can go back there.
0312: * Global Mark Ring::    Previous mark positions in various buffers.
0313: * Shift Selection::     Using shifted cursor motion keys.
0314: * Disabled Transient Mark:: Leaving regions unhighlighted by default.
0315: 
0316: Killing and Moving Text
0317: 
0318: * Deletion and Killing:: Commands that remove text.
0319: * Yanking::             Commands that insert text.
0320: * Cut and Paste::       Clipboard and selections on graphical displays.
0321: * Accumulating Text::   Other methods to add text to the buffer.
0322: * Rectangles::          Operating on text in rectangular areas.
0323: * CUA Bindings::        Using @kbd{C-x}/@kbd{C-c}/@kbd{C-v} to kill and yank.
0324: 
0325: Deletion and Killing
0326: 
0327: * Deletion::            Commands for deleting small amounts of text and
0328:                           blank areas.
0329: * Killing by Lines::    How to kill entire lines of text at one time.
0330: * Other Kill Commands:: Commands to kill large regions of text and
0331:                           syntactic units such as words and sentences.
0332: * Kill Options::        Options that affect killing.
0333: 
0334: Yanking
0335: 
0336: * Kill Ring::           Where killed text is stored.
0337: * Earlier Kills::       Yanking something killed some time ago.
0338: * Appending Kills::     Several kills in a row all yank together.
0339: 
0340: Cut and Paste Operations on Graphical Displays
0341: 
0342: * Clipboard::           How Emacs uses the system clipboard.
0343: * Primary Selection::   The temporarily selected text selection.
0344: * Secondary Selection:: Cutting without altering point and mark.
0345: 
0346: Registers
0347: 
0348: * Position Registers::       Saving positions in registers.
0349: * Text Registers::           Saving text in registers.
0350: * Rectangle Registers::      Saving rectangles in registers.
0351: * Configuration Registers::  Saving window configurations in registers.
0352: * Number Registers::         Numbers in registers.
0353: * File Registers::           File names in registers.
0354: * Keyboard Macro Registers:: Keyboard macros in registers.
0355: * Bookmarks::                Bookmarks are like registers, but persistent.
0356: 
0357: Controlling the Display
0358: 
0359: * Scrolling::              Commands to move text up and down in a window.
0360: * Recentering::            A scroll command that centers the current line.
0361: * Auto Scrolling::         Redisplay scrolls text automatically when needed.
0362: * Horizontal Scrolling::   Moving text left and right in a window.
0363: * Narrowing::              Restricting display and editing to a portion
0364:                              of the buffer.
0365: * View Mode::              Viewing read-only buffers.
0366: * Follow Mode::            Follow mode lets two windows scroll as one.
0367: * Faces::                  How to change the display style using faces.
0368: * Colors::                 Specifying colors for faces.
0369: * Standard Faces::         The main predefined faces.
0370: * Text Scale::             Increasing or decreasing text size in a buffer.
0371: * Font Lock::              Minor mode for syntactic highlighting using faces.
0372: * Highlight Interactively:: Tell Emacs what text to highlight.
0373: * Fringes::                Enabling or disabling window fringes.
0374: * Displaying Boundaries::  Displaying top and bottom of the buffer.
0375: * Useless Whitespace::     Showing possibly spurious trailing whitespace.
0376: * Selective Display::      Hiding lines with lots of indentation.
0377: * Optional Mode Line::     Optional mode line display features.
0378: * Text Display::           How text characters are normally displayed.
0379: * Cursor Display::         Features for displaying the cursor.
0380: * Line Truncation::        Truncating lines to fit the screen width instead
0381:                              of continuing them to multiple screen lines.
0382: * Visual Line Mode::       Word wrap and screen line-based editing.
0383: * Display Custom::         Information on variables for customizing display.
0384: 
0385: Searching and Replacement
0386: 
0387: * Incremental Search::     Search happens as you type the string.
0388: * Nonincremental Search::  Specify entire string and then search.
0389: * Word Search::            Search for sequence of words.
0390: * Symbol Search::          Search for a source code symbol.
0391: * Regexp Search::          Search for match for a regexp.
0392: * Regexps::                Syntax of regular expressions.
0393: * Regexp Backslash::       Regular expression constructs starting with `\'.
0394: * Regexp Example::         A complex regular expression explained.
0395: * Lax Search::                Search ignores some distinctions between
0396:                                 similar characters, like letter-case.
0397: * Replace::                Search, and replace some or all matches.
0398: * Other Repeating Search:: Operating on all matches for some regexp.
0399: * Search Customizations::  Various search customizations.
0400: 
0401: Incremental Search
0402: 
0403: * Basic Isearch::        Basic incremental search commands.
0404: * Repeat Isearch::       Searching for the same string again.
0405: * Isearch Yank::         Commands that grab text into the search string
0406:                            or else edit the search string.
0407: * Error in Isearch::     When your string is not found.
0408: * Special Isearch::      Special input in incremental search.
0409: * Not Exiting Isearch::  Prefix argument and scrolling commands.
0410: * Isearch Minibuffer::   Incremental search of the minibuffer history.
0411: 
0412: Replacement Commands
0413: 
0414: * Unconditional Replace::  Replacing all matches for a string.
0415: * Regexp Replace::         Replacing all matches for a regexp.
0416: * Replacement and Lax Matches::
0417:                            Lax searching for text to replace.
0418: * Query Replace::          How to use querying.
0419: 
0420: Commands for Fixing Typos
0421: 
0422: * Undo::                The Undo commands.
0423: * Transpose::           Exchanging two characters, words, lines, lists...
0424: * Fixing Case::         Correcting case of last word entered.
0425: * Spelling::            Apply spelling checker to a word, or a whole file.
0426: 
0427: Keyboard Macros
0428: 
0429: * Basic Keyboard Macro::     Defining and running keyboard macros.
0430: * Keyboard Macro Ring::      Where previous keyboard macros are saved.
0431: * Keyboard Macro Counter::   Inserting incrementing numbers in macros.
0432: * Keyboard Macro Query::     Making keyboard macros do different things each
0433:                                 time.
0434: * Save Keyboard Macro::      Giving keyboard macros names; saving them in
0435:                                 files.
0436: * Edit Keyboard Macro::      Editing keyboard macros.
0437: * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard
0438:                                 macro.
0439: 
0440: File Handling
0441: 
0442: * File Names::          How to type and edit file-name arguments.
0443: * Visiting::            Visiting a file prepares Emacs to edit the file.
0444: * Saving::              Saving makes your changes permanent.
0445: * Reverting::           Reverting cancels all the changes not saved.
0446: @ifnottex
0447: * Autorevert::          Auto Reverting non-file buffers.
0448: @end ifnottex
0449: * Auto Save::           Auto Save periodically protects against loss of data.
0450: * File Aliases::        Handling multiple names for one file.
0451: * Directories::         Creating, deleting, and listing file directories.
0452: * Comparing Files::     Finding where two files differ.
0453: * Diff Mode::           Mode for editing file differences.
0454: * Copying and Naming::  Copying, naming and renaming files.
0455: * Misc File Ops::       Other things you can do on files.
0456: * Compressed Files::    Accessing compressed files.
0457: * File Archives::       Operating on tar, zip, jar etc. archive files.
0458: * Remote Files::        Accessing files on other machines.
0459: * Quoted File Names::   Quoting special characters in file names.
0460: * File Name Cache::     Completion against a list of files you often use.
0461: * File Conveniences::   Convenience Features for Finding Files.
0462: * Filesets::            Handling sets of files.
0463: 
0464: Saving Files
0465: 
0466: * Save Commands::       Commands for saving files.
0467: * Backup::              How Emacs saves the old version of your file.
0468: * Customize Save::      Customizing the saving of files.
0469: * Interlocking::        How Emacs protects against simultaneous editing
0470:                           of one file by two users.
0471: * File Shadowing::      Copying files to shadows automatically.
0472: * Time Stamps::         Emacs can update time stamps on saved files.
0473: 
0474: Backup Files
0475: 
0476: * Backup Names::        How backup files are named.
0477: * Backup Deletion::     Emacs deletes excess numbered backups.
0478: * Backup Copying::      Backups can be made by copying or renaming.
0479: 
0480: @ifnottex
0481: Auto Reverting Non-File Buffers
0482: 
0483: * Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu.
0484: * Auto Reverting Dired::           Auto Revert of Dired buffers.
0485: @end ifnottex
0486: 
0487: Auto-Saving: Protection Against Disasters
0488: 
0489: * Auto Save Files::     The file where auto-saved changes are
0490:                           actually made until you save the file.
0491: * Auto Save Control::   Controlling when and how often to auto-save.
0492: * Recover::             Recovering text from auto-save files.
0493: 
0494: Using Multiple Buffers
0495: 
0496: * Select Buffer::       Creating a new buffer or reselecting an old one.
0497: * List Buffers::        Getting a list of buffers that exist.
0498: * Misc Buffer::         Renaming; changing read-only status; copying text.
0499: * Kill Buffer::         Killing buffers you no longer need.
0500: * Several Buffers::     How to go through the list of all buffers
0501:                           and operate variously on several of them.
0502: * Indirect Buffers::    An indirect buffer shares the text of another buffer.
0503: * Buffer Convenience::  Convenience and customization features for
0504:                           buffer handling.
0505: 
0506: Convenience Features and Customization of Buffer Handling
0507: 
0508: * Uniquify::            Making buffer names unique with directory parts.
0509: * Icomplete::           Fast minibuffer selection.
0510: * Buffer Menus::        Configurable buffer menu.
0511: 
0512: Multiple Windows
0513: 
0514: * Basic Window::        Introduction to Emacs windows.
0515: * Split Window::        New windows are made by splitting existing windows.
0516: * Other Window::        Moving to another window or doing something to it.
0517: * Pop Up Window::       Finding a file or buffer in another window.
0518: * Change Window::       Deleting windows and changing their sizes.
0519: * Displaying Buffers::  How Emacs picks a window for displaying a buffer.
0520: * Temporary Displays::  Displaying non-editable buffers.
0521: * Window Convenience::  Convenience functions for window handling.
0522: 
0523: Displaying a Buffer in a Window
0524: 
0525: * Window Choice::       How @code{display-buffer} works.
0526: 
0527: Frames and Graphical Displays
0528: 
0529: * Mouse Commands::      Moving, cutting, and pasting, with the mouse.
0530: * Word and Line Mouse:: Mouse commands for selecting whole words or lines.
0531: * Mouse References::    Using the mouse to select an item from a list.
0532: * Menu Mouse Clicks::   Mouse clicks that bring up menus.
0533: * Mode Line Mouse::     Mouse clicks on the mode line.
0534: * Creating Frames::     Creating additional Emacs frames with various contents.
0535: * Frame Commands::      Iconifying, deleting, and switching frames.
0536: * Fonts::               Changing the frame font.
0537: * Speedbar::            How to make and use a speedbar frame.
0538: * Multiple Displays::   How one Emacs instance can talk to several displays.
0539: * Frame Parameters::    Changing the colors and other modes of frames.
0540: * Scroll Bars::         How to enable and disable scroll bars; how to use them.
0541: * Window Dividers::     Window separators that can be dragged with the mouse.
0542: * Drag and Drop::       Using drag and drop to open files and insert text.
0543: * Menu Bars::           Enabling and disabling the menu bar.
0544: * Tool Bars::           Enabling and disabling the tool bar.
0545: * Dialog Boxes::        Controlling use of dialog boxes.
0546: * Tooltips::            Displaying information at the current mouse position.
0547: * Mouse Avoidance::     Preventing the mouse pointer from obscuring text.
0548: * Non-Window Terminals::  Multiple frames on terminals that show only one.
0549: * Text-Only Mouse::     Using the mouse in text terminals.
0550: 
0551: International Character Set Support
0552: 
0553: * International Chars::     Basic concepts of multibyte characters.
0554: * Language Environments::   Setting things up for the language you use.
0555: * Input Methods::           Entering text characters not on your keyboard.
0556: * Select Input Method::     Specifying your choice of input methods.
0557: * Coding Systems::          Character set conversion when you read and
0558:                               write files, and so on.
0559: * Recognize Coding::        How Emacs figures out which conversion to use.
0560: * Specify Coding::          Specifying a file's coding system explicitly.
0561: * Output Coding::           Choosing coding systems for output.
0562: * Text Coding::             Choosing conversion to use for file text.
0563: * Communication Coding::    Coding systems for interprocess communication.
0564: * File Name Coding::        Coding systems for file @emph{names}.
0565: * Terminal Coding::         Specifying coding systems for converting
0566:                               terminal input and output.
0567: * Fontsets::                Fontsets are collections of fonts
0568:                               that cover the whole spectrum of characters.
0569: * Defining Fontsets::       Defining a new fontset.
0570: * Modifying Fontsets::      Modifying an existing fontset.
0571: * Undisplayable Characters::When characters don't display.
0572: * Unibyte Mode::            You can pick one European character set
0573:                               to use without multibyte characters.
0574: * Charsets::                How Emacs groups its internal character codes.
0575: * Bidirectional Editing::   Support for right-to-left scripts.
0576: 
0577: Major and Minor Modes
0578: 
0579: * Major Modes::         Text mode vs. Lisp mode vs. C mode...
0580: * Minor Modes::         Each minor mode is a feature you can turn on
0581:                           independently of any others.
0582: * Choosing Modes::      How modes are chosen when visiting files.
0583: 
0584: Indentation
0585: 
0586: * Indentation Commands::  More commands for performing indentation.
0587: * Tab Stops::             Stop points for indentation in Text modes.
0588: * Just Spaces::           Using only space characters for indentation.
0589: * Indent Convenience::    Optional indentation features.
0590: 
0591: Commands for Human Languages
0592: 
0593: * Words::               Moving over and killing words.
0594: * Sentences::           Moving over and killing sentences.
0595: * Paragraphs::          Moving over paragraphs.
0596: * Pages::               Moving over pages.
0597: * Quotation Marks::     Inserting quotation marks.
0598: * Filling::             Filling or justifying text.
0599: * Case::                Changing the case of text.
0600: * Text Mode::           The major modes for editing text files.
0601: * Outline Mode::        Editing outlines.
0602: * Org Mode::            The Emacs organizer.
0603: * TeX Mode::            Editing TeX and LaTeX files.
0604: * HTML Mode::           Editing HTML and SGML files.
0605: * Nroff Mode::          Editing input to the nroff formatter.
0606: * Enriched Text::       Editing text enriched with fonts, colors, etc.
0607: * Text Based Tables::   Commands for editing text-based tables.
0608: * Two-Column::          Splitting text columns into separate windows.
0609: 
0610: Filling Text
0611: 
0612: * Auto Fill::           Auto Fill mode breaks long lines automatically.
0613: * Fill Commands::       Commands to refill paragraphs and center lines.
0614: * Fill Prefix::         Filling paragraphs that are indented
0615:                           or in a comment, etc.
0616: * Adaptive Fill::       How Emacs can determine the fill prefix automatically.
0617: 
0618: Outline Mode
0619: 
0620: * Outline Format::      What the text of an outline looks like.
0621: * Outline Motion::      Special commands for moving through outlines.
0622: * Outline Visibility::  Commands to control what is visible.
0623: * Outline Views::       Outlines and multiple views.
0624: * Foldout::             Folding means zooming in on outlines.
0625: 
0626: Org Mode
0627: 
0628: * Org Organizer::       Managing TODO lists and agendas.
0629: * Org Authoring::       Exporting Org buffers to various formats.
0630: 
0631: @TeX{} Mode
0632: 
0633: * TeX Editing::         Special commands for editing in TeX mode.
0634: * LaTeX Editing::       Additional commands for LaTeX input files.
0635: * TeX Print::           Commands for printing part of a file with TeX.
0636: * TeX Misc::            Customization of TeX mode, and related features.
0637: 
0638: Enriched Text
0639: 
0640: * Enriched Mode::           Entering and exiting Enriched mode.
0641: * Hard and Soft Newlines::  There are two different kinds of newlines.
0642: * Editing Format Info::     How to edit text properties.
0643: * Enriched Faces::          Bold, italic, underline, etc.
0644: * Enriched Indentation::    Changing the left and right margins.
0645: * Enriched Justification::  Centering, setting text flush with the
0646:                               left or right margin, etc.
0647: * Enriched Properties::     The ``Special text properties'' submenu.
0648: 
0649: @c The automatic texinfo menu update inserts some duplicate items here
0650: @c (faces, colors, indentation, justification, properties), because
0651: @c they are listed in two menus.  But we already have them above, no
0652: @c need to list them twice.
0653: 
0654: Editing Text-based Tables
0655: 
0656: * Table Definition::    What is a text based table.
0657: * Table Creation::      How to create a table.
0658: * Table Recognition::   How to activate and deactivate tables.
0659: * Cell Commands::       Cell-oriented commands in a table.
0660: * Cell Justification::  Justifying cell contents.
0661: * Table Rows and Columns:: Inserting and deleting rows and columns.
0662: * Table Conversion::    Converting between plain text and tables.
0663: * Table Misc::          Table miscellany.
0664: 
0665: Editing Programs
0666: 
0667: * Program Modes::       Major modes for editing programs.
0668: * Defuns::              Commands to operate on major top-level parts
0669:                           of a program.
0670: * Program Indent::      Adjusting indentation to show the nesting.
0671: * Parentheses::         Commands that operate on parentheses.
0672: * Comments::            Inserting, killing, and aligning comments.
0673: * Documentation::       Getting documentation of functions you plan to call.
0674: * Hideshow::            Displaying blocks selectively.
0675: * Symbol Completion::   Completion on symbol names of your program or language.
0676: * MixedCase Words::     Dealing with identifiersLikeThis.
0677: * Semantic::            Suite of editing tools based on source code parsing.
0678: * Misc for Programs::   Other Emacs features useful for editing programs.
0679: * C Modes::             Special commands of C, C++, Objective-C,
0680:                           Java, IDL, Pike and AWK modes.
0681: * Asm Mode::            Asm mode and its special features.
0682: @ifnottex
0683: * Fortran::             Fortran mode and its special features.
0684: @end ifnottex
0685: 
0686: Top-Level Definitions, or Defuns
0687: 
0688: * Left Margin Paren::   An open-paren or similar opening delimiter
0689:                           starts a defun if it is at the left margin.
0690: * Moving by Defuns::    Commands to move over or mark a major definition.
0691: * Imenu::               Making buffer indexes as menus.
0692: * Which Function::      Which Function mode shows which function you are in.
0693: 
0694: Indentation for Programs
0695: 
0696: * Basic Indent::        Indenting a single line.
0697: * Multi-line Indent::   Commands to reindent many lines at once.
0698: * Lisp Indent::         Specifying how each Lisp function should be indented.
0699: * C Indent::            Extra features for indenting C and related modes.
0700: * Custom C Indent::     Controlling indentation style for C and related modes.
0701: 
0702: Commands for Editing with Parentheses
0703: 
0704: * Expressions::         Expressions with balanced parentheses.
0705: * Moving by Parens::    Commands for moving up, down and across
0706:                           in the structure of parentheses.
0707: * Matching::            Insertion of a close-delimiter flashes matching open.
0708: 
0709: Manipulating Comments
0710: 
0711: * Comment Commands::    Inserting, killing, and aligning comments.
0712: * Multi-Line Comments:: Commands for adding and editing multi-line comments.
0713: * Options for Comments::Customizing the comment features.
0714: 
0715: Documentation Lookup
0716: 
0717: * Info Lookup::        Looking up library functions and commands in Info files.
0718: * Man Page::           Looking up man pages of library functions and commands.
0719: * Lisp Doc::           Looking up Emacs Lisp functions, etc.
0720: 
0721: C and Related Modes
0722: 
0723: * Motion in C::         Commands to move by C statements, etc.
0724: * Electric C::          Colon and other chars can automatically reindent.
0725: * Hungry Delete::       A more powerful DEL command.
0726: * Other C Commands::    Filling comments, viewing expansion of macros,
0727:                           and other neat features.
0728: 
0729: @ifnottex
0730: Fortran Mode
0731: 
0732: * Fortran Motion::      Moving point by statements or subprograms.
0733: * Fortran Indent::      Indentation commands for Fortran.
0734: * Fortran Comments::    Inserting and aligning comments.
0735: * Fortran Autofill::    Auto fill support for Fortran.
0736: * Fortran Columns::     Measuring columns for valid Fortran.
0737: * Fortran Abbrev::      Built-in abbrevs for Fortran keywords.
0738: 
0739: Fortran Indentation
0740: 
0741: * ForIndent Commands::  Commands for indenting and filling Fortran.
0742: * ForIndent Cont::      How continuation lines indent.
0743: * ForIndent Num::       How line numbers auto-indent.
0744: * ForIndent Conv::      Conventions you must obey to avoid trouble.
0745: * ForIndent Vars::      Variables controlling Fortran indent style.
0746: @end ifnottex
0747: 
0748: Compiling and Testing Programs
0749: 
0750: * Compilation::         Compiling programs in languages other
0751:                           than Lisp (C, Pascal, etc.).
0752: * Compilation Mode::    The mode for visiting compiler errors.
0753: * Compilation Shell::   Customizing your shell properly
0754:                           for use in the compilation buffer.
0755: * Grep Searching::      Searching with grep.
0756: * Flymake::             Finding syntax errors on the fly.
0757: * Debuggers::           Running symbolic debuggers for non-Lisp programs.
0758: * Executing Lisp::      Various modes for editing Lisp programs,
0759:                           with different facilities for running
0760:                           the Lisp programs.
0761: * Lisp Libraries::      How Lisp programs are loaded into Emacs.
0762: * Lisp Eval::           Executing a single Lisp expression in Emacs.
0763: * Lisp Interaction::    Executing Lisp in an Emacs buffer.
0764: * External Lisp::       Communicating through Emacs with a separate Lisp.
0765: 
0766: Running Debuggers Under Emacs
0767: 
0768: * Starting GUD::        How to start a debugger subprocess.
0769: * Debugger Operation::  Connection between the debugger and source buffers.
0770: * Commands of GUD::     Key bindings for common commands.
0771: * GUD Customization::   Defining your own commands for GUD.
0772: * GDB Graphical Interface::  An enhanced mode that uses GDB features to
0773:                           implement a graphical debugging environment.
0774: 
0775: GDB Graphical Interface
0776: 
0777: * GDB User Interface Layout::   Control the number of displayed buffers.
0778: * Source Buffers::              Use the mouse in the fringe/margin to
0779:                                 control your program.
0780: * Breakpoints Buffer::          A breakpoint control panel.
0781: * Threads Buffer::              Displays your threads.
0782: * Stack Buffer::                Select a frame from the call stack.
0783: * Other GDB Buffers::           Other buffers for controlling the GDB state.
0784: * Watch Expressions::           Monitor variable values in the speedbar.
0785: * Multithreaded Debugging::     Debugging programs with several threads.
0786: 
0787: Maintaining Large Programs
0788: 
0789: * Version Control::     Using version control systems.
0790: * Change Log::          Maintaining a change history for your program.
0791: * Xref::                Find definitions and references of any function,
0792:                           method, struct, macro, @dots{} in your program.
0793: * EDE::                 An integrated development environment for Emacs.
0794: @ifnottex
0795: * Emerge::              A convenient way of merging two versions of a program.
0796: @end ifnottex
0797: 
0798: Version Control
0799: 
0800: * Introduction to VC::  How version control works in general.
0801: * VC Mode Line::        How the mode line shows version control status.
0802: * Basic VC Editing::    How to edit a file under version control.
0803: * Log Buffer::          Features available in log entry buffers.
0804: * Registering::         Putting a file under version control.
0805: * Old Revisions::       Examining and comparing old versions.
0806: * VC Change Log::       Viewing the VC Change Log.
0807: * VC Undo::             Canceling changes before or after committing.
0808: * VC Ignore::           Ignore files under version control system.
0809: * VC Directory Mode::   Listing files managed by version control.
0810: * Branches::            Multiple lines of development.
0811: @ifnottex
0812: * Miscellaneous VC::    Various other commands and features of VC.
0813: * Customizing VC::      Variables that change VC's behavior.
0814: @end ifnottex
0815: 
0816: Introduction to Version Control
0817: 
0818: * Why Version Control?::    Understanding the problems it addresses.
0819: * Version Control Systems:: Supported version control back-end systems.
0820: * VCS Concepts::            Words and concepts related to version control.
0821: * VCS Merging::             How file conflicts are handled.
0822: * VCS Changesets::          How changes are grouped.
0823: * VCS Repositories::        Where version control repositories are stored.
0824: * Types of Log File::       The VCS log in contrast to the ChangeLog.
0825: 
0826: Basic Editing under Version Control
0827: 
0828: * VC With A Merging VCS::  Without locking: default mode for CVS.
0829: * VC With A Locking VCS::  RCS in its default mode, SCCS, and optionally CVS.
0830: * Advanced C-x v v::       Advanced features available with a prefix argument.
0831: 
0832: VC Directory Mode
0833: 
0834: * VC Directory Buffer::   What the buffer looks like and means.
0835: * VC Directory Commands:: Commands to use in a VC directory buffer.
0836: 
0837: Version Control Branches
0838: 
0839: * Switching Branches::    How to get to another existing branch.
0840: * Pulling / Pushing::     Receiving/sending changes from/to elsewhere.
0841: * Merging::               Transferring changes between branches.
0842: * Creating Branches::     How to start a new branch.
0843: 
0844: @ifnottex
0845: Miscellaneous Commands and Features of VC
0846: 
0847: * Change Logs and VC::    Generating a change log file from log entries.
0848: * VC Delete/Rename::      Deleting and renaming version-controlled files.
0849: * Revision Tags::         Symbolic names for revisions.
0850: * Version Headers::       Inserting version control headers into working files.
0851: 
0852: Customizing VC
0853: 
0854: * General VC Options::    Options that apply to multiple back ends.
0855: * RCS and SCCS::          Options for RCS and SCCS.
0856: * CVS Options::           Options for CVS.
0857: @end ifnottex
0858: 
0859: Change Logs
0860: 
0861: * Change Log Commands:: Commands for editing change log files.
0862: * Format of ChangeLog:: What the change log file looks like.
0863: 
0864: Xref
0865: 
0866: * Find Identifiers::    Commands to find where an identifier is defined
0867:                           or referenced, to list identifiers, etc.
0868: * Tags Tables::         Tags table records which file defines a symbol.
0869: * Select Tags Table::   How to visit a specific tags table.
0870: 
0871: Find Identifiers
0872: 
0873: * Looking Up Identifiers:: Commands to find the definition of a specific tag.
0874: * Xref Commands::          Commands in the @file{*xref*} buffer.
0875: * Identifier Search::      Searching and replacing identifiers.
0876: * List Identifiers::       Listing identifiers and completing on them.
0877: 
0878: Tags Tables
0879: 
0880: * Tag Syntax::          Tag syntax for various types of code and text files.
0881: * Create Tags Table::   Creating a tags table with @command{etags}.
0882: * Etags Regexps::       Create arbitrary tags using regular expressions.
0883: 
0884: @ifnottex
0885: Merging Files with Emerge
0886: 
0887: * Overview of Emerge::  How to start Emerge.  Basic concepts.
0888: * Submodes of Emerge::  Fast mode vs. Edit mode.
0889:                           Skip Prefers mode and Auto Advance mode.
0890: * State of Difference:: You do the merge by specifying state A or B
0891:                           for each difference.
0892: * Merge Commands::      Commands for selecting a difference,
0893:                           changing states of differences, etc.
0894: * Exiting Emerge::      What to do when you've finished the merge.
0895: * Combining in Emerge::     How to keep both alternatives for a difference.
0896: * Fine Points of Emerge::   Miscellaneous issues.
0897: @end ifnottex
0898: 
0899: Abbrevs
0900: 
0901: * Abbrev Concepts::     Fundamentals of defined abbrevs.
0902: * Defining Abbrevs::    Defining an abbrev, so it will expand when typed.
0903: * Expanding Abbrevs::   Controlling expansion: prefixes, canceling expansion.
0904: * Editing Abbrevs::     Viewing or editing the entire list of defined abbrevs.
0905: * Saving Abbrevs::      Saving the entire list of abbrevs for another session.
0906: * Dynamic Abbrevs::     Abbreviations for words already in the buffer.
0907: * Dabbrev Customization:: What is a word, for dynamic abbrevs.  Case handling.
0908: 
0909: @ifnottex
0910: Editing Pictures
0911: 
0912: * Basic Picture::         Basic concepts and simple commands of Picture Mode.
0913: * Insert in Picture::     Controlling direction of cursor motion
0914:                             after self-inserting characters.
0915: * Tabs in Picture::       Various features for tab stops and indentation.
0916: * Rectangles in Picture:: Clearing and superimposing rectangles.
0917: @end ifnottex
0918: 
0919: Dired, the Directory Editor
0920: 
0921: * Dired Enter::              How to invoke Dired.
0922: * Dired Navigation::         Special motion commands in the Dired buffer.
0923: * Dired Deletion::           Deleting files with Dired.
0924: * Flagging Many Files::      Flagging files based on their names.
0925: * Dired Visiting::           Other file operations through Dired.
0926: * Marks vs Flags::           Flagging for deletion vs marking.
0927: * Operating on Files::       How to copy, rename, print, compress, etc.
0928:                                either one file or several files.
0929: * Shell Commands in Dired::  Running a shell command on the marked files.
0930: * Transforming File Names::  Using patterns to rename multiple files.
0931: * Comparison in Dired::      Running @code{diff} by way of Dired.
0932: * Subdirectories in Dired::  Adding subdirectories to the Dired buffer.
0933: @ifnottex
0934: * Subdir Switches::          Subdirectory switches in Dired.
0935: @end ifnottex
0936: * Subdirectory Motion::      Moving across subdirectories, and up and down.
0937: * Hiding Subdirectories::    Making subdirectories visible or invisible.
0938: * Dired Updating::           Discarding lines for files of no interest.
0939: * Dired and Find::           Using @code{find} to choose the files for Dired.
0940: * Wdired::                   Operating on files by editing the Dired buffer.
0941: * Image-Dired::              Viewing image thumbnails in Dired.
0942: * Misc Dired Features::      Various other features.
0943: 
0944: The Calendar and the Diary
0945: 
0946: * Calendar Motion::     Moving through the calendar; selecting a date.
0947: * Scroll Calendar::     Bringing earlier or later months onto the screen.
0948: * Counting Days::       How many days are there between two dates?
0949: * General Calendar::    Exiting or recomputing the calendar.
0950: * Writing Calendar Files:: Writing calendars to files of various formats.
0951: * Holidays::            Displaying dates of holidays.
0952: * Sunrise/Sunset::      Displaying local times of sunrise and sunset.
0953: * Lunar Phases::        Displaying phases of the moon.
0954: * Other Calendars::     Converting dates to other calendar systems.
0955: * Diary::               Displaying events from your diary.
0956: * Daylight Saving::     How to specify when daylight saving time is active.
0957: * Time Intervals::      Keeping track of time intervals.
0958: @ifnottex
0959: * Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization.
0960: @end ifnottex
0961: 
0962: Movement in the Calendar
0963: 
0964: * Calendar Unit Motion::      Moving by days, weeks, months, and years.
0965: * Move to Beginning or End::  Moving to start/end of weeks, months, and years.
0966: * Specified Dates::           Moving to the current date or another
0967:                                 specific date.
0968: 
0969: Conversion To and From Other Calendars
0970: 
0971: * Calendar Systems::       The calendars Emacs understands
0972:                              (aside from Gregorian).
0973: * To Other Calendar::      Converting the selected date to various calendars.
0974: * From Other Calendar::    Moving to a date specified in another calendar.
0975: 
0976: The Diary
0977: 
0978: * Format of Diary File::   Entering events in your diary.
0979: * Displaying the Diary::   Viewing diary entries and associated calendar dates.
0980: * Date Formats::           Various ways you can specify dates.
0981: * Adding to Diary::        Commands to create diary entries.
0982: * Special Diary Entries::  Anniversaries, blocks of dates, cyclic entries, etc.
0983: * Appointments::           Reminders when it's time to do something.
0984: * Importing Diary::        Converting diary events to/from other formats.
0985: 
0986: @ifnottex
0987: More advanced features of the Calendar and Diary
0988: 
0989: * Calendar Customizing::   Calendar layout and hooks.
0990: * Holiday Customizing::    Defining your own holidays.
0991: * Mayan Calendar::         Moving to a date specified in a Mayan calendar.
0992: * Date Display Format::    Changing the format.
0993: * Time Display Format::    Changing the format.
0994: * Diary Customizing::      Defaults you can set.
0995: * Non-Gregorian Diary::    Diary entries based on other calendars.
0996: * Diary Display::          A choice of ways to display the diary.
0997: * Fancy Diary Display::    Sorting diary entries, using included diary files.
0998: * Sexp Diary Entries::     More flexible diary entries.
0999: @end ifnottex
1000: 
1001: Sending Mail
1002: 
1003: * Mail Format::         Format of a mail message.
1004: * Mail Headers::        Details of some standard mail header fields.
1005: * Mail Aliases::        Abbreviating and grouping mail addresses.
1006: * Mail Commands::       Special commands for editing mail being composed.
1007: * Mail Signature::      Adding a signature to every message.
1008: * Mail Amusements::     Distracting the NSA; adding fortune messages.
1009: * Mail Methods::        Using alternative mail-composition methods.
1010: 
1011: Mail Commands
1012: 
1013: * Mail Sending::        Commands to send the message.
1014: * Header Editing::      Commands to move to header fields and edit them.
1015: * Citing Mail::         Quoting a message you are replying to.
1016: * Mail Misc::           Attachments, spell checking, etc.
1017: 
1018: Reading Mail with Rmail
1019: 
1020: * Rmail Basics::        Basic concepts of Rmail, and simple use.
1021: * Rmail Scrolling::     Scrolling through a message.
1022: * Rmail Motion::        Moving to another message.
1023: * Rmail Deletion::      Deleting and expunging messages.
1024: * Rmail Inbox::         How mail gets into the Rmail file.
1025: * Rmail Files::         Using multiple Rmail files.
1026: * Rmail Output::        Copying message out to files.
1027: * Rmail Labels::        Classifying messages by labeling them.
1028: * Rmail Attributes::    Certain standard labels, called attributes.
1029: * Rmail Reply::         Sending replies to messages you are viewing.
1030: * Rmail Summary::       Summaries show brief info on many messages.
1031: * Rmail Sorting::       Sorting messages in Rmail.
1032: * Rmail Display::       How Rmail displays a message; customization.
1033: * Rmail Coding::        How Rmail handles decoding character sets.
1034: * Rmail Editing::       Editing message text and headers in Rmail.
1035: * Rmail Digest::        Extracting the messages from a digest message.
1036: * Rmail Rot13::         Reading messages encoded in the rot13 code.
1037: * Movemail::            More details of fetching new mail.
1038: * Remote Mailboxes::    Retrieving mail from remote mailboxes.
1039: * Other Mailbox Formats:: Retrieving mail from local mailboxes in
1040:                           various formats.
1041: 
1042: Rmail Summaries
1043: 
1044: * Rmail Make Summary::  Making various sorts of summaries.
1045: * Rmail Summary Edit::  Manipulating messages from the summary.
1046: 
1047: Gnus
1048: 
1049: * Buffers of Gnus::     The group, summary, and article buffers.
1050: * Gnus Startup::        What you should know about starting Gnus.
1051: * Gnus Group Buffer::   A short description of Gnus group commands.
1052: * Gnus Summary Buffer:: A short description of Gnus summary commands.
1053: 
1054: Document Viewing
1055: 
1056: * DocView Navigation::  Navigating DocView buffers.
1057: * DocView Searching::   Searching inside documents.
1058: * DocView Slicing::     Specifying which part of a page is displayed.
1059: * DocView Conversion::  Influencing and triggering conversion.
1060: 
1061: Running Shell Commands from Emacs
1062: 
1063: * Single Shell::        How to run one shell command and return.
1064: * Interactive Shell::   Permanent shell taking input via Emacs.
1065: * Shell Mode::          Special Emacs commands used with permanent shell.
1066: * Shell Prompts::       Two ways to recognize shell prompts.
1067: * Shell History::       Repeating previous commands in a shell buffer.
1068: * Directory Tracking::  Keeping track when the subshell changes directory.
1069: * Shell Options::       Options for customizing Shell mode.
1070: * Terminal emulator::   An Emacs window as a terminal emulator.
1071: * Term Mode::           Special Emacs commands used in Term mode.
1072: * Remote Host::         Connecting to another computer.
1073: * Serial Terminal::     Connecting to a serial port.
1074: 
1075: Shell Command History
1076: 
1077: * Shell Ring::           Fetching commands from the history list.
1078: * Shell History Copying::Moving to a command and then copying it.
1079: * History References::   Expanding @samp{!}-style history references.
1080: 
1081: Using Emacs as a Server
1082: 
1083: * TCP Emacs server::     Listening to a TCP socket.
1084: * Invoking emacsclient:: Connecting to the Emacs server.
1085: * emacsclient Options::  Emacs client startup options.
1086: 
1087: Printing Hard Copies
1088: 
1089: * PostScript::           Printing buffers or regions as PostScript.
1090: * PostScript Variables:: Customizing the PostScript printing commands.
1091: * Printing Package::     An optional advanced printing interface.
1092: 
1093: Hyperlinking and Navigation Features
1094: 
1095: * EWW::                 A web browser in Emacs.
1096: * Embedded WebKit Widgets:: Embedding browser widgets in Emacs buffers.
1097: * Browse-URL::          Following URLs.
1098: * Goto Address mode::   Activating URLs.
1099: * FFAP::                Finding files etc. at point.
1100: 
1101: Emacs Lisp Packages
1102: 
1103: * Package Menu::         Buffer for viewing and managing packages.
1104: * Package Installation:: Options for package installation.
1105: * Package Files::        Where packages are installed.
1106: 
1107: Customization
1108: 
1109: * Easy Customization::  Convenient way to browse and change settings.
1110: * Variables::           Many Emacs commands examine Emacs variables
1111:                           to decide what to do; by setting variables,
1112:                           you can control their functioning.
1113: * Key Bindings::        The keymaps say what command each key runs.
1114:                           By changing them, you can redefine keys.
1115: * Init File::           How to write common customizations in the
1116:                           initialization file.
1117: * Authentication::      Keeping persistent authentication information.
1118: 
1119: Easy Customization Interface
1120: 
1121: * Customization Groups::     How settings are classified.
1122: * Browsing Custom::          Browsing and searching for settings.
1123: * Changing a Variable::      How to edit an option's value and set the option.
1124: * Saving Customizations::    Saving customizations for future Emacs sessions.
1125: * Face Customization::       How to edit the attributes of a face.
1126: * Specific Customization::   Customizing specific settings or groups.
1127: * Custom Themes::            Collections of customization settings.
1128: * Creating Custom Themes::   How to create a new custom theme.
1129: 
1130: Variables
1131: 
1132: * Examining::           Examining or setting one variable's value.
1133: * Hooks::               Hook variables let you specify programs for parts
1134:                           of Emacs to run on particular occasions.
1135: * Locals::              Per-buffer values of variables.
1136: * File Variables::      How files can specify variable values.
1137: * Directory Variables:: How variable values can be specified by directory.
1138: * Connection Variables:: Variables which are valid for buffers with a
1139:                            remote default directory.
1140: 
1141: Local Variables in Files
1142: 
1143: * Specifying File Variables:: Specifying file local variables.
1144: * Safe File Variables::       Making sure file local variables are safe.
1145: 
1146: Customizing Key Bindings
1147: 
1148: * Keymaps::             Generalities.  The global keymap.
1149: * Prefix Keymaps::      Keymaps for prefix keys.
1150: * Local Keymaps::       Major and minor modes have their own keymaps.
1151: * Minibuffer Maps::     The minibuffer uses its own local keymaps.
1152: * Rebinding::           How to redefine one key's meaning conveniently.
1153: * Init Rebinding::      Rebinding keys with your initialization file.
1154: * Modifier Keys::       Using modifier keys in key bindings.
1155: * Function Keys::       Rebinding terminal function keys.
1156: * Named ASCII Chars::   Distinguishing @key{TAB} from @kbd{C-i}, and so on.
1157: * Mouse Buttons::       Rebinding mouse buttons in Emacs.
1158: * Disabling::           Disabling a command means confirmation is required
1159:                           before it can be executed.  This is done to protect
1160:                           beginners from surprises.
1161: 
1162: The Emacs Initialization File
1163: 
1164: * Init Syntax::         Syntax of constants in Emacs Lisp.
1165: * Init Examples::       How to do some things with an init file.
1166: * Terminal Init::       Each terminal type can have an init file.
1167: * Find Init::           How Emacs finds the init file.
1168: * Init Non-ASCII::      Using non-@acronym{ASCII} characters in an init file.
1169: * Early Init File::     Another init file, which is read early on.
1170: 
1171: Dealing with Emacs Trouble
1172: 
1173: * DEL Does Not Delete:: What to do if @key{DEL} doesn't delete.
1174: * Stuck Recursive::     '[...]' in mode line around the parentheses.
1175: * Screen Garbled::      Garbage on the screen.
1176: * Text Garbled::        Garbage in the text.
1177: * Memory Full::         How to cope when you run out of memory.
1178: * Crashing::            What Emacs does when it crashes.
1179: * After a Crash::       Recovering editing in an Emacs session that crashed.
1180: * Emergency Escape::    What to do if Emacs stops responding.
1181: 
1182: Reporting Bugs
1183: 
1184: * Known Problems::      How to read about known problems and bugs.
1185: * Bug Criteria::        Have you really found a bug?
1186: * Understanding Bug Reporting:: How to report a bug effectively.
1187: * Checklist::           Steps to follow for a good bug report.
1188: * Sending Patches::     How to send a patch for GNU Emacs.
1189: 
1190: Contributing to Emacs Development
1191: 
1192: * Coding Standards::     GNU Emacs coding standards.
1193: * Copyright Assignment:: Assigning copyright to the FSF.
1194: 
1195: Command Line Arguments for Emacs Invocation
1196: 
1197: * Action Arguments::    Arguments to visit files, load libraries,
1198:                           and call functions.
1199: * Initial Options::     Arguments that take effect while starting Emacs.
1200: * Command Example::     Examples of using command line arguments.
1201: * Environment::         Environment variables that Emacs uses.
1202: * Display X::           Changing the default display and using remote login.
1203: * Font X::              Choosing a font for text, under X.
1204: * Colors X::            Choosing display colors.
1205: * Window Size X::       Start-up window size, under X.
1206: * Borders X::           Internal and outer borders, under X.
1207: * Title X::             Specifying the initial frame's title.
1208: * Icons X::             Choosing what sort of icon to use, under X.
1209: * Misc X::              Other display options.
1210: 
1211: Environment Variables
1212: 
1213: * General Variables::   Environment variables that all versions of Emacs use.
1214: * Misc Variables::      Certain system-specific variables.
1215: * MS-Windows Registry:: An alternative to the environment on MS-Windows.
1216: 
1217: X Options and Resources
1218: 
1219: * Resources::           Using X resources with Emacs (in general).
1220: * Table of Resources::  Table of specific X resources that affect Emacs.
1221: * Lucid Resources::     X resources for Lucid menus.
1222: * Motif Resources::     X resources for Motif and LessTif menus.
1223: * GTK resources::       Resources for GTK widgets.
1224: 
1225: GTK resources
1226: 
1227: * GTK Resource Basics::   Basic usage of GTK+ resources.
1228: * GTK Widget Names::      How GTK+ widgets are named.
1229: * GTK Names in Emacs::    GTK+ widgets used by Emacs.
1230: * GTK styles::            What can be customized in a GTK+ widget.
1231: 
1232: Emacs and macOS / GNUstep
1233: 
1234: * Mac / GNUstep Basics::        Basic Emacs usage under GNUstep or macOS.
1235: * Mac / GNUstep Customization:: Customizations under GNUstep or macOS.
1236: * Mac / GNUstep Events::        How window system events are handled.
1237: * GNUstep Support::             Details on status of GNUstep support.
1238: 
1239: Emacs and Microsoft Windows/MS-DOS
1240: 
1241: * Windows Startup::     How to start Emacs on Windows.
1242: * Text and Binary::     Text files use CRLF to terminate lines.
1243: * Windows Files::       File-name conventions on Windows.
1244: * ls in Lisp::          Emulation of @code{ls} for Dired.
1245: * Windows HOME::        Where Emacs looks for your @file{.emacs} and
1246:                           where it starts up.
1247: * Windows Keyboard::    Windows-specific keyboard features.
1248: * Windows Mouse::       Windows-specific mouse features.
1249: * Windows Processes::   Running subprocesses on Windows.
1250: * Windows Printing::    How to specify the printer on MS-Windows.
1251: * Windows Fonts::       Specifying fonts on MS-Windows.
1252: * Windows Misc::        Miscellaneous Windows features.
1253: @ifnottex
1254: * MS-DOS::              Using Emacs on MS-DOS.
1255: 
1256: Emacs and MS-DOS
1257: 
1258: * MS-DOS Keyboard::     Keyboard conventions on MS-DOS.
1259: * MS-DOS Mouse::        Mouse conventions on MS-DOS.
1260: * MS-DOS Display::      Fonts, frames and display size on MS-DOS.
1261: * MS-DOS File Names::   File name conventions on MS-DOS.
1262: * MS-DOS Printing::     Printing specifics on MS-DOS.
1263: * MS-DOS and MULE::     Support for internationalization on MS-DOS.
1264: * MS-DOS Processes::    Running subprocesses on MS-DOS.
1265: @end ifnottex
1266: 
1267: @end detailmenu
1268: @end menu
1269: 
1270: @iftex
1271: @unnumbered Preface
1272: 
1273:   This manual documents the use and simple customization of the Emacs
1274: editor.  Simple Emacs customizations do not require you to be a
1275: programmer, but if you are not interested in customizing, you can
1276: ignore the customization hints.
1277: 
1278:   This is primarily a reference manual, but can also be used as a
1279: primer.  If you are new to Emacs, we recommend you start with
1280: the integrated, learn-by-doing tutorial, before reading the manual.  To
1281: run the tutorial, start Emacs and type @kbd{C-h t}.  The tutorial
1282: describes commands, tells you when to try them, and explains the
1283: results.  The tutorial is available in several languages.
1284: 
1285:   On first reading, just skim chapters 1 and 2, which describe the
1286: notational conventions of the manual and the general appearance of the
1287: Emacs display screen.  Note which questions are answered in these
1288: chapters, so you can refer back later.  After reading chapter 4, you
1289: should practice the commands shown there.  The next few chapters
1290: describe fundamental techniques and concepts that are used constantly.
1291: You need to understand them thoroughly, so experiment with them
1292: until you are fluent.
1293: 
1294:   Chapters 14 through 19 describe intermediate-level features that are
1295: useful for many kinds of editing.  Chapter 20 and following chapters
1296: describe optional but useful features; read those chapters when you
1297: need them.
1298: 
1299:   Read the Common Problems chapter if Emacs does not seem to be
1300: working properly.  It explains how to cope with several common
1301: problems (@pxref{Lossage,, Dealing with Emacs Trouble}), as well as
1302: when and how to report Emacs bugs (@pxref{Bugs}).
1303: 
1304:   To find the documentation of a particular command, look in the index.
1305: Keys (character commands) and command names have separate indexes.
1306: There is also a glossary, with a cross reference for each term.
1307: 
1308:   This manual is available as a printed book and also as an Info file.
1309: The Info file is for reading from Emacs itself, or with the Info program.
1310: Info is the principal format for documentation in the GNU system.
1311: The Info file and the printed book contain substantially the same text
1312: and are generated from the same source files, which are also
1313: distributed with GNU Emacs.
1314: 
1315:   GNU Emacs is a member of the Emacs editor family.  There are many
1316: Emacs editors, all sharing common principles of organization.  For
1317: information on the underlying philosophy of Emacs and the lessons
1318: learned from its development, see @cite{Emacs, the Extensible,
1319: Customizable Self-Documenting Display Editor}, available from
1320: @url{http://hdl.handle.net/1721.1/5736}.
1321: 
1322: This version of the manual is mainly intended for use with GNU Emacs
1323: installed on GNU and Unix systems.  GNU Emacs can also be used on
1324: MS-DOS, Microsoft Windows, and Macintosh systems.  The Info file
1325: version of this manual contains some more information about using
1326: Emacs on those systems.  Those systems use different file name syntax;
1327: in addition MS-DOS does not support all GNU Emacs features.
1328: @xref{Microsoft Windows}, for information about using Emacs on
1329: Windows.  @xref{Mac OS / GNUstep}, for information about using Emacs
1330: on Macintosh (and GNUstep).
1331: @end iftex
1332: 
1333: @node Distrib
1334: @unnumbered Distribution
1335: 
1336: GNU Emacs is @dfn{free software}; this means that everyone is free to
1337: use it and free to redistribute it under certain conditions.  GNU Emacs
1338: is not in the public domain; it is copyrighted and there are
1339: restrictions on its distribution, but these restrictions are designed
1340: to permit everything that a good cooperating citizen would want to do.
1341: What is not allowed is to try to prevent others from further sharing
1342: any version of GNU Emacs that they might get from you.  The precise
1343: conditions are found in the GNU General Public License that comes with
1344: Emacs and also appears in this manual@footnote{This manual is itself
1345: covered by the GNU Free Documentation License.  This license is
1346: similar in spirit to the General Public License, but is more suitable
1347: for documentation.  @xref{GNU Free Documentation License}.}.
1348: @xref{Copying}.
1349: 
1350: One way to get a copy of GNU Emacs is from someone else who has it.
1351: You need not ask for our permission to do so, or tell anyone else;
1352: just copy it.  If you have access to the Internet, you can get the
1353: latest distribution version of GNU Emacs by anonymous FTP; see
1354: @url{https://www.gnu.org/software/emacs} on our website for more
1355: information.
1356: 
1357: You may also receive GNU Emacs when you buy a computer.  Computer
1358: manufacturers are free to distribute copies on the same terms that apply to
1359: everyone else.  These terms require them to give you the full sources,
1360: including whatever changes they may have made, and to permit you to
1361: redistribute the GNU Emacs received from them under the usual terms of the
1362: General Public License.  In other words, the program must be free for you
1363: when you get it, not just free for the manufacturer.
1364: 
1365: If you find GNU Emacs useful, please @strong{send a donation} to the
1366: Free Software Foundation to support our work.  Donations to the Free
1367: Software Foundation are tax-deductible in the US@.  If you use GNU Emacs
1368: at your workplace, please suggest that the company make a donation.
1369: To donate, see @url{https://my.fsf.org/donate/}.
1370: For other ways in which you can help, see
1371: @url{https://www.gnu.org/help/help.html}.
1372: 
1373: @c The command view-order-manuals uses this anchor.
1374: @anchor{Printed Books}
1375: We also sell hardcopy versions of this manual and @cite{An
1376: Introduction to Programming in Emacs Lisp}, by Robert J. Chassell.
1377: You can visit our online store at @url{https://shop.fsf.org/}.
1378: The income from sales goes to support the foundation's purpose: the
1379: development of new free software, and improvements to our existing
1380: programs including GNU Emacs.
1381: 
1382: If you need to contact the Free Software Foundation, see
1383: @url{https://www.fsf.org/about/contact/}, or write to
1384: 
1385: @display
1386: Free Software Foundation
1387: 51 Franklin Street, Fifth Floor
1388: Boston, MA 02110-1301
1389: USA
1390: @end display
1391: 
1392: @iftex
1393: @node Acknowledgments
1394: @unnumberedsec Acknowledgments
1395: 
1396: @c It's hard to update this fairly.
1397: @c I wonder if it would be better to drop it in favor of AUTHORS?
1398: Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas
1399: Abrahamsson, Jay K. Adams, Alon Albert, Michael Albinus, Nagy
1400: Andras, Benjamin Andresen, Ralf Angeli, Dmitry Antipov, Joe Arceneaux, Emil Åström,
1401: Miles Bader, David Bakhash, Juanma Barranquero, Eli Barzilay, Thomas
1402: Baumann, Steven L. Baur, Jay Belanger, Alexander L. Belikoff,
1403: Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Stephen Berman, Karl
1404: Berry, Anna M. Bigatti, Ray Blaak, Martin Blais, Jim Blandy, Johan
1405: Bockgård, Jan Böcker, Joel Boehland, Lennart Borgman, Per Bothner,
1406: Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, Kevin
1407: Broadey, Vincent Broman, Michael Brouwer, David M. Brown, Ken Brown, Stefan Bruda,
1408: Georges Brun-Cottan, Joe Buehler, Scott Byer, Włodek Bzyl, Tino Calancha,
1409: Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chris Chase, Bob
1410: Chassell, Andrew Choi, Chong Yidong, Sacha Chua, Stewart Clamen, James
1411: Clark, Mike Clarkson, Glynn Clements, Andrew Cohen, Daniel Colascione,
1412: Christoph Conrad, Ludovic Courtès, Andrew Csillag,
1413: Toby Cubitt, Baoqiu Cui, Doug Cutting, Mathias Dahl, Julien Danjou, Satyaki
1414: Das, Vivek Dasmohapatra, Dan Davison, Michael DeCorte, Gary Delp, Nachum
1415: Dershowitz, Dave Detlefs, Matthieu Devin, Christophe de Dinechin, Eri
1416: Ding, Jan Djärv, Lawrence R. Dodd, Carsten Dominik, Scott Draves,
1417: Benjamin Drieu, Viktor Dukhovni, Jacques Duthen, Dmitry Dzhus, John
1418: Eaton, Rolf Ebert, Carl Edman, David Edmondson, Paul Eggert, Stephen
1419: Eglen, Christian Egli, Torbjörn Einarsson, Tsugutomo Enami, David
1420: Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick
1421: Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Karl Fogel, Gary
1422: Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, Andreas
1423: Fuchs, Shigeru Fukaya, Xue Fuqiao, Hallvard Furuseth, Keith Gabryelski, Peter S.
1424: Galbraith, Kevin Gallagher, Fabián E. Gallina, Kevin Gallo, Juan León Lahoz García,
1425: Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David
1426: Gillespie, Bob Glickstein, Deepak Goel, David De La Harpe Golden, Boris
1427: Goldowsky, David Goodger, Chris Gray, Kevin Greiner, Michelangelo Grigni, Odd
1428: Gripenstam, Kai Großjohann, Michael Gschwind, Bastien Guerry, Henry
1429: Guillaume, Dmitry Gutov, Doug Gwyn, Bruno Haible, Ken'ichi Handa, Lars Hansen, Chris
1430: Hanson, Jesper Harder, Alexandru Harsanyi, K. Shane Hartman, John
1431: Heidemann, Jon K. Hellan, Magnus Henoch, Markus Heritsch, Dirk
1432: Herrmann, Karl Heuer, Manabu Higashida, Konrad Hinsen, Anders Holst,
1433: Jeffrey C. Honig, Tassilo Horn, Kurt Hornik, Tom Houlder, Joakim
1434: Hove, Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue,
1435: Philip Jackson, Martyn Jago, Pavel Janik, Paul Jarc, Ulf Jasper,
1436: Thorsten Jolitz, Michael K. Johnson, Kyle Jones, Terry Jones, Simon
1437: Josefsson, Alexandre Julliard, Arne Jørgensen, Tomoji Kagatani,
1438: Brewster Kahle, Tokuya Kameshima, Lute Kamstra, Ivan Kanis, David
1439: Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Taro Kawagishi,
1440: Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Karel
1441: Klíč, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David
1442: M. Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer,
1443: Ryszard Kubiak, Igor Kuzmin, David Kågedal, Daniel LaLiberte, Karl
1444: Landstrom, Mario Lang, Aaron Larson, James R. Larus, Vinicius Jose
1445: Latorre, Werner Lemberg, Frederic Lepied, Peter Liljenberg, Christian
1446: Limpach, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link,
1447: Juri Linkov, Francis Litterio, Sergey Litvinov, Leo Liu, Emilio C. Lopes,
1448: Martin Lorentzon, Dave Love, Eric Ludlam, Károly Lőrentey, Sascha
1449: Lüdecke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie,
1450: Christopher J. Madsen, Neil M. Mager, Artur Malabarba, Ken Manheimer, Bill Mann,
1451: Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin,
1452: Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David
1453: Megginson, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad
1454: Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Dani Moncayo, Stefan
1455: Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris,
1456: Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum,
1457: Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen,
1458: Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Nikšić, Jeff Norden,
1459: Andrew Norman, Theresa O'Connor, Kentaro Ohkouchi, Christian Ohler,
1460: Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota,
1461: Mark Oteiza, Pieter E. J. Pareit, Ross Patterson, David Pearson, Juan Pechiar,
1462: Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. Perry, Per
1463: Persson, Jens Petersen, Nicolas Petton, Daniel Pfeiffer, Justus Piater, Richard L.
1464: Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian
1465: Plaunt, Alexander Pohoyda, David Ponce, Noam Postavsky, Francesco A. Potortì,
1466: Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin
1467: Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David
1468: Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick
1469: Roberts, Roland B. Roberts, John Robinson, Denis B. Roegel, Danny
1470: Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo
1471: J. Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, Wolfgang
1472: Rupprecht, Benjamin Rutt, Kevin Ryde, James B. Salem, Masahiko Sato,
1473: Timo Savola, Jorgen Schäfer, Holger Schauer, William Schelter, Ralph
1474: Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell,
1475: Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef,
1476: Rainer Schöpf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal
1477: Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham,
1478: Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor
1479: Šimko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith,
1480: David Smith, Paul D. Smith, Wilson Snyder, William Sommerfeld, Simon
1481: South, Andre Spiegel, Michael Staats, Thomas Steffen, Ulf Stegemann,
1482: Reiner Steib, Sam Steingold, Ake Stenhoff, Philipp Stephani, Peter Stephenson, Ken
1483: Stevens, Andy Stewart, Jonathan Stigelman, Martin Stjernholm, Kim F.
1484: Storm, Steve Strassmann, Christopher Suckling, Olaf Sylvester, Naoto
1485: Takahashi, Steven Tamm, Jan Tatarik, Luc Teirlinck, Jean-Philippe Theberge, Jens
1486: T. Berger Thielemann, Spencer Thomas, Jim Thompson, Toru Tomabechi,
1487: David O'Toole, Markus Triska, Tom Tromey, Eli
1488: Tziperman, Daiki Ueno, Masanobu Umeda, Rajesh Vaidheeswarran, Neil
1489: W. Van Dyke, Didier Verna, Joakim Verona, Ulrik Vieth, Geoffrey
1490: Voelker, Johan Vromans, Inge Wallin, John Paul Wallington, Colin
1491: Walters, Barry Warsaw, Christoph Wedler, Ilja Weis, Zhang Weize,
1492: Morten Welinder, Joseph Brian Wells, Rodney Whitby, John Wiegley,
1493: Sascha Wilde, Ed Wilkinson, Mike Williams, Roland Winkler, Bill
1494: Wohler, Steven A. Wood, Dale R. Worley, Francis J. Wright, Felix
1495: S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka,
1496: Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan
1497: Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin,
1498: Shenghuo Zhu, Piotr Zieliński, Ian T. Zimmermann, Reto Zimmermann,
1499: Neal Ziring, Teodor Zlatanov, and Detlev Zundel.
1500: @end iftex
1501: 
1502: @node Intro
1503: @unnumbered Introduction
1504: 
1505:   You are reading about GNU Emacs, the GNU incarnation of the
1506: advanced, self-documenting, customizable, extensible editor Emacs.
1507: (The @samp{G} in
1508: @c Workaround makeinfo 4 bug.
1509: @c https://lists.gnu.org/r/bug-texinfo/2004-08/msg00009.html
1510: @iftex
1511: @acronym{GNU, @acronym{GNU}'s Not Unix}
1512: @end iftex
1513: @ifnottex
1514: @acronym{GNU, GNU's Not Unix}
1515: @end ifnottex
1516: is not silent.)
1517: 
1518:   We call Emacs @dfn{advanced} because it can do much more than simple
1519: insertion and deletion of text.  It can control subprocesses, indent
1520: programs automatically, show multiple files at once, and more.
1521: Emacs editing commands operate in terms of characters, words, lines,
1522: sentences, paragraphs, and pages, as well as expressions and comments
1523: in various programming languages.
1524: 
1525:   @dfn{Self-documenting} means that at any time you can use special
1526: commands, known as @dfn{help commands}, to find out what your options
1527: are, or to find out what any command does, or to find all the
1528: commands that pertain to a given topic.  @xref{Help}.
1529: 
1530:   @dfn{Customizable} means that you can easily alter the behavior of
1531: Emacs commands in simple ways.  For instance, if you use a programming
1532: language in which comments start with @samp{<**} and end with
1533: @samp{**>}, you can tell the Emacs comment manipulation commands to
1534: use those strings (@pxref{Comments}).  To take another example, you
1535: can rebind the basic cursor motion commands (up, down, left and right)
1536: to any keys on the keyboard that you find comfortable.
1537: @xref{Customization}.
1538: 
1539:   @dfn{Extensible} means that you can go beyond simple customization
1540: and create entirely new commands.  New commands are simply programs
1541: written in the Lisp language, which are run by Emacs's own Lisp
1542: interpreter.  Existing commands can even be redefined in the middle of
1543: an editing session, without having to restart Emacs.  Most of the
1544: editing commands in Emacs are written in Lisp; the few exceptions
1545: could have been written in Lisp but use C instead for efficiency.
1546: Writing an extension is programming, but non-programmers can use it
1547: afterwards.  @xref{Top, Emacs Lisp Intro, Preface, eintr, An
1548: Introduction to Programming in Emacs Lisp}, if you want to learn Emacs
1549: Lisp programming.
1550: 
1551: @include screen.texi
1552: @include commands.texi
1553: @include entering.texi
1554: @include basic.texi
1555: @include mini.texi
1556: @include m-x.texi
1557: @include help.texi
1558: @include mark.texi
1559: @include killing.texi
1560: @include regs.texi
1561: @include display.texi
1562: @include search.texi
1563: @include fixit.texi
1564: @include kmacro.texi
1565: @c Includes arevert-xtra.
1566: @include files.texi
1567: @include buffers.texi
1568: @include windows.texi
1569: @include frames.texi
1570: @include mule.texi
1571: @include modes.texi
1572: @include indent.texi
1573: @include text.texi
1574: @c Includes fortran-xtra.
1575: @include programs.texi
1576: @include building.texi
1577: @c Includes vc1-xtra, emerge-xtra.
1578: @include maintaining.texi
1579: @include abbrevs.texi
1580: @c Includes dired-xtra.
1581: @include dired.texi
1582: @c Includes cal-xtra.
1583: @include calendar.texi
1584: @include sending.texi
1585: @include rmail.texi
1586: @c Includes picture-xtra.texi
1587: @include misc.texi
1588: @include package.texi
1589: @include custom.texi
1590: @include trouble.texi
1591: 
1592: @node Copying
1593: @appendix GNU GENERAL PUBLIC LICENSE
1594: @include gpl.texi
1595: 
1596: @node GNU Free Documentation License
1597: @appendix GNU Free Documentation License
1598: @include doclicense.texi
1599: 
1600: @include cmdargs.texi
1601: @include xresources.texi
1602: 
1603: @include anti.texi
1604: @include macos.texi
1605: @c Includes msdos-xtra.
1606: @include msdos.texi
1607: @include gnu.texi
1608: @include glossary.texi
1609: @ifnottex
1610: @include ack.texi
1611: @end ifnottex
1612: 
1613: @c The Option Index is produced only in the on-line version,
1614: @c because the index entries related to command-line options
1615: @c tend to point to the same pages and all begin with a dash.
1616: 
1617: @node Key Index
1618: @unnumbered Key (Character) Index
1619: @printindex ky
1620: 
1621: @ifnottex
1622: @node Option Index
1623: @unnumbered Command-Line Options Index
1624: @printindex op
1625: @end ifnottex
1626: 
1627: @node Command Index
1628: @unnumbered Command and Function Index
1629: @printindex fn
1630: 
1631: @node Variable Index
1632: @unnumbered Variable Index
1633: @printindex vr
1634: 
1635: @node Concept Index
1636: @unnumbered Concept Index
1637: @printindex cp
1638: 
1639: @bye
1640: