Annotation of GNUtools/emacs/info/emacs-1, revision 1.1.1.1

1.1       root        1: This is Info file ../info/emacs, produced by Makeinfo-1.49 from the
                      2: input file emacs.texi.
                      3: 
                      4:    This file documents the GNU Emacs editor.
                      5: 
                      6:    Copyright (C) 1985, 1986, 1988, 1992 Richard M. Stallman.
                      7: 
                      8:    Permission is granted to make and distribute verbatim copies of this
                      9: manual provided the copyright notice and this permission notice are
                     10: preserved on all copies.
                     11: 
                     12:    Permission is granted to copy and distribute modified versions of
                     13: this manual under the conditions for verbatim copying, provided also
                     14: that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
                     15: General Public License" are included exactly as in the original, and
                     16: provided that the entire resulting derived work is distributed under the
                     17: terms of a permission notice identical to this one.
                     18: 
                     19:    Permission is granted to copy and distribute translations of this
                     20: manual into another language, under the above conditions for modified
                     21: versions, except that the sections entitled "The GNU Manifesto",
                     22: "Distribution" and "GNU General Public License" may be included in a
                     23: translation approved by the author instead of in the original English.
                     24: 
                     25: 
                     26: File: emacs,  Node: Top,  Next: Distrib,  Up: (DIR)
                     27: 
                     28: The Emacs Editor
                     29: ****************
                     30: 
                     31:    Emacs is the extensible, customizable, self-documenting real-time
                     32: display editor.  This Info file describes how to edit with Emacs and
                     33: some of how to customize it, but not how to extend it.
                     34: 
                     35: * Menu:
                     36: 
                     37: * Distrib::     How to get the latest Emacs distribution.
                     38: * License::     The GNU General Public License gives you permission
                     39:                to redistribute GNU Emacs on certain terms; and also
                     40:                explains that there is no warranty.
                     41: * Intro::       An introduction to Emacs concepts.
                     42: * Glossary::    The glossary.
                     43: * Version 19::  Changes coming in Emacs version 19, to be released.
                     44: * Manifesto::   What's GNU?  Gnu's Not Unix!
                     45: 
                     46: Indexes, nodes containing large menus
                     47: * Key Index::      An item for each standard Emacs key sequence.
                     48: * Command Index::  An item for each command name.
                     49: * Variable Index:: An item for each documented variable.
                     50: * Concept Index::  An item for each concept.
                     51: 
                     52: Important General Concepts
                     53: * Screen::      How to interpret what you see on the screen.
                     54: * Characters::  Emacs's character sets for file contents and for keyboard.
                     55: * Keys::        Key sequences: what you type to request one editing action.
                     56: * Commands::    Commands: named functions run by key sequences to do editing.
                     57: * Entering Emacs::    Starting Emacs from the shell.
                     58: * Command Switches::  Hairy startup options.
                     59: * Exiting::     Stopping or killing Emacs.
                     60: * Basic::       The most basic editing commands.
                     61: * Undo::        Undoing recently made changes in the text.
                     62: * Minibuffer::  Entering arguments that are prompted for.
                     63: * M-x::         Invoking commands by their names.
                     64: * Help::        Commands for asking Emacs about its commands.
                     65: 
                     66: Important Text-Changing Commands
                     67: * Mark::        The mark: how to delimit a "region" of text.
                     68: * Killing::     Killing text.
                     69: * Yanking::     Recovering killed text.  Moving text.
                     70: * Accumulating Text::
                     71:                 Other ways of copying text.
                     72: * Rectangles::  Operating on the text inside a rectangle on the screen.
                     73: * Registers::   Saving a text string or a location in the buffer.
                     74: * Display::     Controlling what text is displayed.
                     75: * Search::      Finding or replacing occurrences of a string.
                     76: * Fixit::       Commands especially useful for fixing typos.
                     77: 
                     78: Larger Units of Text
                     79: * Files::       All about handling files.
                     80: * Buffers::     Multiple buffers; editing several files at once.
                     81: * Windows::     Viewing two pieces of text at once.
                     82: 
                     83: Advanced Features
                     84: * Major Modes:: Text mode vs. Lisp mode vs. C mode ...
                     85: * Indentation:: Editing the white space at the beginnings of lines.
                     86: * Text::        Commands and modes for editing English.
                     87: * Programs::    Commands and modes for editing programs.
                     88: * Compiling/Testing::
                     89:                Compiling, running and debugging programs.
                     90: * Abbrevs::     How to define text abbreviations to reduce
                     91:                  the number of characters you must type.
                     92: * Picture::     Editing pictures made up of characters
                     93:                  using the quarter-plane screen model.
                     94: * Sending Mail::Sending mail in Emacs.
                     95: * Rmail::       Reading mail in Emacs.
                     96: * Recursive Edit::
                     97:                 A command can allow you to do editing
                     98:                  "within the command".  This is called a
                     99:                  `recursive editing level'.
                    100: * Narrowing::   Restricting display and editing to a portion
                    101:                  of the buffer.
                    102: * Sorting::    Sorting lines, paragraphs or pages within Emacs.
                    103: * Shell::       Executing shell commands from Emacs.
                    104: * Hardcopy::   Printing buffers or regions.
                    105: * Dissociated Press::  Dissociating text for fun.
                    106: * Amusements::         Various games and hacks.
                    107: * Emulation::         Emulating some other editors with Emacs.
                    108: * Customization::      Modifying the behavior of Emacs.
                    109: 
                    110: Recovery from Problems.
                    111: * Quitting::    Quitting and aborting.
                    112: * Lossage::     What to do if Emacs is hung or malfunctioning.
                    113: * Bugs::        How and when to report a bug.
                    114: 
                    115: Here are some other nodes which are really inferiors of the ones
                    116: already listed, mentioned here so you can get to them in one step:
                    117: 
                    118: Subnodes of Screen
                    119: * Point::      The place in the text where editing commands operate.
                    120: * Echo Area::   Short messages appear at the bottom of the screen.
                    121: * Mode Line::  Interpreting the mode line.
                    122: 
                    123: Subnodes of Basic
                    124: * Blank Lines:: Commands to make or delete blank lines.
                    125: * Continuation Lines:: Lines too wide for the screen.
                    126: * Position Info::      What page, line, row, or column is point on?
                    127: * Arguments::          Giving numeric arguments to commands.
                    128: 
                    129: Subnodes of Minibuffer
                    130: * Minibuffer File::    Entering file names with the minibuffer.
                    131: * Minibuffer Edit::    How to edit in the minibuffer.
                    132: * Completion::  An abbreviation facility for minibuffer input.
                    133: * Repetition::  Re-executing previous commands that used the minibuffer.
                    134: 
                    135: Subnodes of Mark
                    136: * Setting Mark::       Commands to set the mark.
                    137: * Using Region::       Summary of ways to operate on contents of the region.
                    138: * Marking Objects::    Commands to put region around textual units.
                    139: * Mark Ring::          Previous mark positions saved so you can go back there.
                    140: 
                    141: Subnodes of Yanking
                    142: * Kill Ring::          Where killed text is stored.  Basic yanking.
                    143: * Appending Kills::    Several kills in a row all yank together.
                    144: * Earlier Kills::      Yanking something killed some time ago.
                    145: 
                    146: Subnodes of Registers
                    147: * RegPos::             Saving positions in registers.
                    148: * RegText::            Saving text in registers.
                    149: * RegRect::            Saving rectangles in registers.
                    150: 
                    151: Subnodes of Display
                    152: * Scrolling::             Moving text up and down in a window.
                    153: * Horizontal Scrolling::   Moving text left and right in a window.
                    154: * Selective Display::      Hiding lines with lots of indentation.
                    155: * Display Vars::           Information on variables for customizing display.
                    156: 
                    157: Subnodes of Search
                    158: * Incremental Search::     Search happens as you type the string.
                    159: * Nonincremental Search::  Specify entire string and then search.
                    160: * Word Search::           Search for sequence of words.
                    161: * Regexp Search::         Search for match for a regexp.
                    162: * Regexps::               Syntax of regular expressions.
                    163: * Search Case::                   To ignore case while searching, or not.
                    164: * Replace::               Search, and replace some or all matches.
                    165: * Unconditional Replace::  Everything about replacement except for querying.
                    166: * Query Replace::          How to use querying.
                    167: * Other Repeating Search:: Operating on all matches for some regexp.
                    168: 
                    169: Subnodes of Fixit
                    170: * Kill Errors:: Commands to kill a batch of recently entered text.
                    171: * Transpose::   Exchanging two characters, words, lines, lists...
                    172: * Fixing Case:: Correcting case of last word entered.
                    173: * Spelling::    Apply spelling checker to a word, or a whole file.
                    174: 
                    175: Subnodes of Files
                    176: * File Names::  How to type and edit file name arguments.
                    177: * Visiting::    Visiting a file prepares Emacs to edit the file.
                    178: * Saving::      Saving makes your changes permanent.
                    179: * Backup::      How Emacs saves the old version of your file.
                    180: * Interlocking::How Emacs protects against simultaneous editing
                    181:                  of one file by two users.
                    182: * Reverting::   Reverting cancels all the changes not saved.
                    183: * Auto Save::   Auto Save periodically protects against loss of data.
                    184: * ListDir::     Listing the contents of a file directory.
                    185: * Dired::       "Editing" a directory to delete, rename, etc.
                    186:                  the files in it.
                    187: * Misc File Ops:: Other things you can do on files.
                    188: 
                    189: Subnodes of Buffers
                    190: * Select Buffer::   Creating a new buffer or reselecting an old one.
                    191: * List Buffers::    Getting a list of buffers that exist.
                    192: * Misc Buffer::     Renaming; changing read-only status.
                    193: * Kill Buffer::     Killing buffers you no longer need.
                    194: * Several Buffers:: How to go through the list of all buffers
                    195:                      and operate variously on several of them.
                    196: 
                    197: Subnodes of Windows
                    198: * Basic Window::    Introduction to Emacs windows.
                    199: * Split Window::    New windows are made by splitting existing windows.
                    200: * Other Window::    Moving to another window or doing something to it.
                    201: * Pop Up Window::   Finding a file or buffer in another window.
                    202: * Change Window::   Deleting windows and changing their sizes.
                    203: 
                    204: Subnodes of Indentation
                    205: * Indentation Commands:: Various commands and techniques for indentation.
                    206: * Tab Stops::   You can set arbitrary "tab stops" and then
                    207:                  indent to the next tab stop when you want to.
                    208: * Just Spaces:: You can request indentation using just spaces.
                    209: 
                    210: Subnodes of Text
                    211: * Text Mode::   The major mode for editing text files.
                    212: * Nroff Mode::  The major mode for editing input to the formatter nroff.
                    213: * TeX Mode::    The major mode for editing input to the formatter TeX.
                    214: * Texinfo Mode::The major mode for editing input to the formatter Texinfo.
                    215: * Outline Mode::The major mode for editing outlines.
                    216: * Words::       Moving over and killing words.
                    217: * Sentences::   Moving over and killing sentences.
                    218: * Paragraphs:: Moving over paragraphs.
                    219: * Pages::      Moving over pages.
                    220: * Filling::     Filling or justifying text
                    221: * Case::        Changing the case of text
                    222: 
                    223: Subnodes of Programs
                    224: * Program Modes::       Major modes for editing programs.
                    225: * Lists::       Expressions with balanced parentheses.
                    226:                  There are editing commands to operate on them.
                    227: * Defuns::      Each program is made up of separate functions.
                    228:                  There are editing commands to operate on them.
                    229: * Grinding::    Adjusting indentation to show the nesting.
                    230: * Matching::    Insertion of a close-delimiter flashes matching open.
                    231: * Comments::    Inserting, killing and aligning comments.
                    232: * Balanced Editing::    Inserting two matching parentheses at once, etc.
                    233: * Lisp Completion::     Completion on symbol names in Lisp code.
                    234: * Documentation::       Getting documentation of functions you plan to call.
                    235: * Change Log::  Maintaining a change history for your program.
                    236: * Tags::        Go direct to any function in your program in one
                    237:                  command.  Tags remembers which file it is in.
                    238: * Fortran::    Fortran mode and its special features.
                    239: 
                    240: Subnodes of Compiling/Testing
                    241: * Compilation::       Compiling programs in languages other than Lisp
                    242:                        (C, Pascal, etc.)
                    243: * Lisp Modes::        Various modes for editing Lisp programs, with
                    244:                        different facilities for running the Lisp programs.
                    245: * Lisp Libraries::    Creating Lisp programs to run in Emacs.
                    246: * Lisp Interaction::  Executing Lisp in an Emacs buffer.
                    247: * Lisp Eval::         Executing a single Lisp expression in Emacs.
                    248: * Lisp Debug::        Debugging Lisp programs running in Emacs.
                    249: * External Lisp::     Communicating through Emacs with a separate Lisp.
                    250: 
                    251: Subnodes of Abbrevs
                    252: * Defining Abbrevs::  Defining an abbrev, so it will expand when typed.
                    253: * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion.
                    254: * Editing Abbrevs::   Viewing or editing the entire list of defined abbrevs.
                    255: * Saving Abbrevs::    Saving the entire list of abbrevs for another session.
                    256: * Dynamic Abbrevs::   Abbreviations for words already in the buffer.
                    257: 
                    258: Subnodes of Picture
                    259: * Basic Picture::     Basic concepts and simple commands of Picture mode.
                    260: * Insert in Picture:: Controlling direction of cursor motion
                    261:                        after "self-inserting" characters.
                    262: * Tabs in Picture::   Various features for tab stops and indentation.
                    263: * Rectangles in Picture:: Clearing and superimposing rectangles.
                    264: 
                    265: Subnodes of Sending Mail
                    266: * Mail Format::       Format of the mail being composed.
                    267: * Mail Headers::      Details of allowed mail header fields.
                    268: * Mail Mode::         Special commands for editing mail being composed.
                    269: 
                    270: Subnodes of Rmail
                    271: * Rmail Scrolling::   Scrolling through a message.
                    272: * Rmail Motion::      Moving to another message.
                    273: * Rmail Deletion::    Deleting and expunging messages.
                    274: * Rmail Inbox::       How mail gets into the Rmail file.
                    275: * Rmail Files::       Using multiple Rmail files.
                    276: * Rmail Output::      Copying message out to files.
                    277: * Rmail Labels::      Classifying messages by labeling them.
                    278: * Rmail Summary::     Summaries show brief info on many messages.
                    279: * Rmail Reply::       Sending replies to messages you are viewing.
                    280: * Rmail Editing::     Editing message text and headers in Rmail.
                    281: * Rmail Digest::      Extracting the messages from a digest message.
                    282: 
                    283: Subnodes of Shell
                    284: * Single Shell::      Commands to run one shell command and return.
                    285: * Interactive Shell:: Permanent shell taking input via Emacs.
                    286: * Shell Mode::        Special Emacs commands used with permanent shell.
                    287: 
                    288: Subnodes of Customization
                    289: * Minor Modes::       Each minor mode is one feature you can turn on
                    290:                        independently of any others.
                    291: * Variables::         Many Emacs commands examine Emacs variables
                    292:                        to decide what to do; by setting variables,
                    293:                        you can control their functioning.
                    294: * Examining::         Examining or setting one variable's value.
                    295: * Edit Options::      Examining or editing list of all variables' values.
                    296: * Locals::            Per-buffer values of variables.
                    297: * File Variables::    How files can specify variable values.
                    298: * Keyboard Macros::   A keyboard macro records a sequence of keystrokes
                    299:                        to be replayed with a single command.
                    300: * Key Bindings::      The keymaps say what command each key runs.
                    301:                        By changing them, you can "redefine keys".
                    302: * Keymaps::           Definition of the keymap data structure.
                    303: * Rebinding::         How to redefine one key's meaning conveniently.
                    304: * Disabling::         Disabling a command means confirmation is required
                    305:                        before it can be executed.  This is done to protect
                    306:                        beginners from surprises.
                    307: * Syntax::            The syntax table controls how words and expressions
                    308:                        are parsed.
                    309: * Init File::         How to write common customizations in the `.emacs' file.
                    310: 
                    311: Subnodes of Lossage (and recovery)
                    312: * Stuck Recursive::   `[...]' in mode line around the parentheses.
                    313: * Screen Garbled::    Garbage on the screen.
                    314: * Text Garbled::      Garbage in the text.
                    315: * Unasked-for Search::Spontaneous entry to incremental search.
                    316: * Emergency Escape::  Emergency escape--
                    317:                        What to do if Emacs stops responding.
                    318: * Total Frustration:: When you are at your wits' end.
                    319: 
                    320: 
                    321: File: emacs,  Node: Distrib,  Next: License,  Prev: Top,  Up: Top
                    322: 
                    323: Distribution
                    324: ************
                    325: 
                    326:    GNU Emacs is "free"; this means that everyone is free to use it and
                    327: free to redistribute it on a free basis.  GNU Emacs is not in the public
                    328: domain; it is copyrighted and there are restrictions on its
                    329: distribution, but these restrictions are designed to permit everything
                    330: that a good cooperating citizen would want to do.  What is not allowed
                    331: is to try to prevent others from further sharing any version of GNU
                    332: Emacs that they might get from you.  The precise conditions are found in
                    333: the GNU General Public License that comes with Emacs and also appears
                    334: following this section.
                    335: 
                    336:    The easiest way to get a copy of GNU Emacs is from someone else who
                    337: has it. You need not ask for permission to do so, or tell any one else;
                    338: just copy it.
                    339: 
                    340:    If you have access to the Internet, you can get the latest
                    341: distribution version of GNU Emacs from host `prep.ai.mit.edu' using
                    342: anonymous login.  See the file `/u2/emacs/GETTING.GNU.SOFTWARE' on that
                    343: host to find out about your options for copying and which files to use.
                    344: 
                    345:    You may also receive GNU Emacs when you buy a computer.  Computer
                    346: manufacturers are free to distribute copies on the same terms that
                    347: apply to everyone else.  These terms require them to give you the full
                    348: sources, including whatever changes they may have made, and to permit
                    349: you to redistribute the GNU Emacs received from them under the usual
                    350: terms of the General Public License.  In other words, the program must
                    351: be free for you when you get it, not just free for the manufacturer.
                    352: 
                    353:    If you cannot get a copy in any of those ways, you can order one
                    354: from the Free Software Foundation.  Though Emacs itself is free, our
                    355: distribution service is not.  An order form is included at the end of
                    356: manuals printed by the Foundation.  It is also included in the file
                    357: `etc/DISTRIB' in the Emacs distribution.  For further information,
                    358: write to
                    359: 
                    360:      Free Software Foundation
                    361:      675 Mass Ave
                    362:      Cambridge, MA 02139
                    363:      USA
                    364: 
                    365:    The income from distribution fees goes to support the foundation's
                    366: purpose: the development of more free software to distribute just like
                    367: GNU Emacs.
                    368: 
                    369:    If you find GNU Emacs useful, please send a donation to the Free
                    370: Software Foundation.  This will help support development of the rest of
                    371: the GNU system, and other useful software beyond that.  Your donation
                    372: is tax deductible.
                    373: 
                    374: 
                    375: File: emacs,  Node: License,  Next: Intro,  Prev: Distrib,  Up: Top
                    376: 
                    377: GNU GENERAL PUBLIC LICENSE
                    378: **************************
                    379: 
                    380:                        Version 1, February 1989
                    381: 
                    382:      Copyright (C) 1989 Free Software Foundation, Inc.
                    383:      675 Mass Ave, Cambridge, MA 02139, USA
                    384:      
                    385:      Everyone is permitted to copy and distribute verbatim copies
                    386:      of this license document, but changing it is not allowed.
                    387: 
                    388: Preamble
                    389: ========
                    390: 
                    391:    The license agreements of most software companies try to keep users
                    392: at the mercy of those companies.  By contrast, our General Public
                    393: License is intended to guarantee your freedom to share and change free
                    394: software--to make sure the software is free for all its users.  The
                    395: General Public License applies to the Free Software Foundation's
                    396: software and to any other program whose authors commit to using it. You
                    397: can use it for your programs, too.
                    398: 
                    399:    When we speak of free software, we are referring to freedom, not
                    400: price.  Specifically, the General Public License is designed to make
                    401: sure that you have the freedom to give away or sell copies of free
                    402: software, that you receive source code or can get it if you want it,
                    403: that you can change the software or use pieces of it in new free
                    404: programs; and that you know you can do these things.
                    405: 
                    406:    To protect your rights, we need to make restrictions that forbid
                    407: anyone to deny you these rights or to ask you to surrender the rights.
                    408: These restrictions translate to certain responsibilities for you if you
                    409: distribute copies of the software, or if you modify it.
                    410: 
                    411:    For example, if you distribute copies of a such a program, whether
                    412: gratis or for a fee, you must give the recipients all the rights that
                    413: you have.  You must make sure that they, too, receive or can get the
                    414: source code.  And you must tell them their rights.
                    415: 
                    416:    We protect your rights with two steps: (1) copyright the software,
                    417: and (2) offer you this license which gives you legal permission to copy,
                    418: distribute and/or modify the software.
                    419: 
                    420:    Also, for each author's protection and ours, we want to make certain
                    421: that everyone understands that there is no warranty for this free
                    422: software.  If the software is modified by someone else and passed on, we
                    423: want its recipients to know that what they have is not the original, so
                    424: that any problems introduced by others will not reflect on the original
                    425: authors' reputations.
                    426: 
                    427:    The precise terms and conditions for copying, distribution and
                    428: modification follow.
                    429: 
                    430:                          TERMS AND CONDITIONS
                    431: 
                    432:   1. This License Agreement applies to any program or other work which
                    433:      contains a notice placed by the copyright holder saying it may be
                    434:      distributed under the terms of this General Public License.  The
                    435:      "Program", below, refers to any such program or work, and a "work
                    436:      based on the Program" means either the Program or any work
                    437:      containing the Program or a portion of it, either verbatim or with
                    438:      modifications.  Each licensee is addressed as "you".
                    439: 
                    440:   2. You may copy and distribute verbatim copies of the Program's source
                    441:      code as you receive it, in any medium, provided that you
                    442:      conspicuously and appropriately publish on each copy an
                    443:      appropriate copyright notice and disclaimer of warranty; keep
                    444:      intact all the notices that refer to this General Public License
                    445:      and to the absence of any warranty; and give any other recipients
                    446:      of the Program a copy of this General Public License along with
                    447:      the Program.  You may charge a fee for the physical act of
                    448:      transferring a copy.
                    449: 
                    450:   3. You may modify your copy or copies of the Program or any portion of
                    451:      it, and copy and distribute such modifications under the terms of
                    452:      Paragraph 1 above, provided that you also do the following:
                    453: 
                    454:         * cause the modified files to carry prominent notices stating
                    455:           that you changed the files and the date of any change; and
                    456: 
                    457:         * cause the whole of any work that you distribute or publish,
                    458:           that in whole or in part contains the Program or any part
                    459:           thereof, either with or without modifications, to be licensed
                    460:           at no charge to all third parties under the terms of this
                    461:           General Public License (except that you may choose to grant
                    462:           warranty protection to some or all third parties, at your
                    463:           option).
                    464: 
                    465:         * If the modified program normally reads commands interactively
                    466:           when run, you must cause it, when started running for such
                    467:           interactive use in the simplest and most usual way, to print
                    468:           or display an announcement including an appropriate copyright
                    469:           notice and a notice that there is no warranty (or else,
                    470:           saying that you provide a warranty) and that users may
                    471:           redistribute the program under these conditions, and telling
                    472:           the user how to view a copy of this General Public License.
                    473: 
                    474:         * You may charge a fee for the physical act of transferring a
                    475:           copy, and you may at your option offer warranty protection in
                    476:           exchange for a fee.
                    477: 
                    478:      Mere aggregation of another independent work with the Program (or
                    479:      its derivative) on a volume of a storage or distribution medium
                    480:      does not bring the other work under the scope of these terms.
                    481: 
                    482:   4. You may copy and distribute the Program (or a portion or
                    483:      derivative of it, under Paragraph 2) in object code or executable
                    484:      form under the terms of Paragraphs 1 and 2 above provided that you
                    485:      also do one of the following:
                    486: 
                    487:         * accompany it with the complete corresponding machine-readable
                    488:           source code, which must be distributed under the terms of
                    489:           Paragraphs 1 and 2 above; or,
                    490: 
                    491:         * accompany it with a written offer, valid for at least three
                    492:           years, to give any third party free (except for a nominal
                    493:           charge for the cost of distribution) a complete
                    494:           machine-readable copy of the corresponding source code, to be
                    495:           distributed under the terms of Paragraphs 1 and 2 above; or,
                    496: 
                    497:         * accompany it with the information you received as to where the
                    498:           corresponding source code may be obtained.  (This alternative
                    499:           is allowed only for noncommercial distribution and only if you
                    500:           received the program in object code or executable form alone.)
                    501: 
                    502:      Source code for a work means the preferred form of the work for
                    503:      making modifications to it.  For an executable file, complete
                    504:      source code means all the source code for all modules it contains;
                    505:      but, as a special exception, it need not include source code for
                    506:      modules which are standard libraries that accompany the operating
                    507:      system on which the executable file runs, or for standard header
                    508:      files or definitions files that accompany that operating system.
                    509: 
                    510:   5. You may not copy, modify, sublicense, distribute or transfer the
                    511:      Program except as expressly provided under this General Public
                    512:      License. Any attempt otherwise to copy, modify, sublicense,
                    513:      distribute or transfer the Program is void, and will automatically
                    514:      terminate your rights to use the Program under this License. 
                    515:      However, parties who have received copies, or rights to use
                    516:      copies, from you under this General Public License will not have
                    517:      their licenses terminated so long as such parties remain in full
                    518:      compliance.
                    519: 
                    520:   6. By copying, distributing or modifying the Program (or any work
                    521:      based on the Program) you indicate your acceptance of this license
                    522:      to do so, and all its terms and conditions.
                    523: 
                    524:   7. Each time you redistribute the Program (or any work based on the
                    525:      Program), the recipient automatically receives a license from the
                    526:      original licensor to copy, distribute or modify the Program
                    527:      subject to these terms and conditions.  You may not impose any
                    528:      further restrictions on the recipients' exercise of the rights
                    529:      granted herein.
                    530: 
                    531:   8. The Free Software Foundation may publish revised and/or new
                    532:      versions of the General Public License from time to time.  Such
                    533:      new versions will be similar in spirit to the present version, but
                    534:      may differ in detail to address new problems or concerns.
                    535: 
                    536:      Each version is given a distinguishing version number.  If the
                    537:      Program specifies a version number of the license which applies to
                    538:      it and "any later version", you have the option of following the
                    539:      terms and conditions either of that version or of any later
                    540:      version published by the Free Software Foundation.  If the Program
                    541:      does not specify a version number of the license, you may choose
                    542:      any version ever published by the Free Software Foundation.
                    543: 
                    544:   9. If you wish to incorporate parts of the Program into other free
                    545:      programs whose distribution conditions are different, write to the
                    546:      author to ask for permission.  For software which is copyrighted
                    547:      by the Free Software Foundation, write to the Free Software
                    548:      Foundation; we sometimes make exceptions for this.  Our decision
                    549:      will be guided by the two goals of preserving the free status of
                    550:      all derivatives of our free software and of promoting the sharing
                    551:      and reuse of software generally.
                    552: 
                    553:                                 NO WARRANTY
                    554: 
                    555:  10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
                    556:      WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
                    557:      LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
                    558:      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
                    559:      WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
                    560:      NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
                    561:      FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE
                    562:      QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
                    563:      PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
                    564:      SERVICING, REPAIR OR CORRECTION.
                    565: 
                    566:  11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
                    567:      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
                    568:      MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
                    569:      LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
                    570:      INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
                    571:      INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
                    572:      DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
                    573:      OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
                    574:      OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
                    575:      ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
                    576: 
                    577:                       END OF TERMS AND CONDITIONS
                    578: 
                    579: How to Apply These Terms to Your New Programs
                    580: =============================================
                    581: 
                    582:    If you develop a new program, and you want it to be of the greatest
                    583: possible use to humanity, the best way to achieve this is to make it
                    584: free software which everyone can redistribute and change under these
                    585: terms.
                    586: 
                    587:    To do so, attach the following notices to the program.  It is safest
                    588: to attach them to the start of each source file to most effectively
                    589: convey the exclusion of warranty; and each file should have at least the
                    590: "copyright" line and a pointer to where the full notice is found.
                    591: 
                    592:      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
                    593:      Copyright (C) 19YY  NAME OF AUTHOR
                    594:      
                    595:      This program is free software; you can redistribute it and/or modify
                    596:      it under the terms of the GNU General Public License as published by
                    597:      the Free Software Foundation; either version 1, or (at your option)
                    598:      any later version.
                    599:      
                    600:      This program is distributed in the hope that it will be useful,
                    601:      but WITHOUT ANY WARRANTY; without even the implied warranty of
                    602:      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                    603:      GNU General Public License for more details.
                    604:      
                    605:      You should have received a copy of the GNU General Public License
                    606:      along with this program; if not, write to the Free Software
                    607:      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
                    608: 
                    609:    Also add information on how to contact you by electronic and paper
                    610: mail.
                    611: 
                    612:    If the program is interactive, make it output a short notice like
                    613: this when it starts in an interactive mode:
                    614: 
                    615:      Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
                    616:      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
                    617:      type `show w'.  This is free software, and you are welcome
                    618:      to redistribute it under certain conditions; type `show c'
                    619:      for details.
                    620: 
                    621:    The hypothetical commands `show w' and `show c' should show the
                    622: appropriate parts of the General Public License.  Of course, the
                    623: commands you use may be called something other than `show w' and `show
                    624: c'; they could even be mouse-clicks or menu items--whatever suits your
                    625: program.
                    626: 
                    627:    You should also get your employer (if you work as a programmer) or
                    628: your school, if any, to sign a "copyright disclaimer" for the program,
                    629: if necessary.  Here is a sample; alter the names:
                    630: 
                    631:      Yoyodyne, Inc., hereby disclaims all copyright
                    632:      interest in the program `Gnomovision'
                    633:      (a program to direct compilers to make passes
                    634:      at assemblers) written by James Hacker.
                    635:      
                    636:      SIGNATURE OF TY COON, 1 April 1989
                    637:      Ty Coon, President of Vice
                    638: 
                    639:    That's all there is to it!
                    640: 
                    641: 
                    642: File: emacs,  Node: Intro,  Next: Glossary,  Prev: License,  Up: Top
                    643: 
                    644: Introduction
                    645: ************
                    646: 
                    647:    You are reading about GNU Emacs, the GNU incarnation of the advanced,
                    648: self-documenting, customizable, extensible real-time display editor
                    649: Emacs. (The `G' in `GNU' is not silent.)
                    650: 
                    651:    We say that Emacs is a "display" editor because normally the text
                    652: being edited is visible on the screen and is updated automatically as
                    653: you type your commands.  *Note Display: Screen.
                    654: 
                    655:    We call it a "real-time" editor because the display is updated very
                    656: frequently, usually after each character or pair of characters you
                    657: type.  This minimizes the amount of information you must keep in your
                    658: head as you edit.  *Note Real-time: Basic.
                    659: 
                    660:    We call Emacs advanced because it provides facilities that go beyond
                    661: simple insertion and deletion: filling of text; automatic indentation of
                    662: programs; viewing two or more files at once; and dealing in terms of
                    663: characters, words, lines, sentences, paragraphs, and pages, as well as
                    664: expressions and comments in several different programming languages. 
                    665: It is much easier to type one command meaning "go to the end of the
                    666: paragraph" than to find that spot with simple cursor keys.
                    667: 
                    668:    "Self-documenting" means that at any time you can type a special
                    669: character, `Control-h', to find out what your options are.  You can
                    670: also use it to find out what any command does, or to find all the
                    671: commands that pertain to a topic.  *Note Help::.
                    672: 
                    673:    "Customizable" means that you can change the definitions of Emacs
                    674: commands in little ways.  For example, if you use a programming
                    675: language in which comments start with `<**' and end with `**>', you can
                    676: tell the Emacs comment manipulation commands to use those strings
                    677: (*note Comments::.).  Another sort of customization is rearrangement of
                    678: the command set.  For example, if you prefer the four basic cursor
                    679: motion commands (up, down, left and right) on keys in a diamond pattern
                    680: on the keyboard, you can have it.  *Note Customization::.
                    681: 
                    682:    "Extensible" means that you can go beyond simple customization and
                    683: write entirely new commands, programs in the Lisp language to be run by
                    684: Emacs's own Lisp interpreter.  Emacs is an "on-line extensible" system,
                    685: which means that it is divided into many functions that call each other,
                    686: any of which can be redefined in the middle of an editing session.  Any
                    687: part of Emacs can be replaced without making a separate copy of all of
                    688: Emacs.  Most of the editing commands of Emacs are written in Lisp
                    689: already; the few exceptions could have been written in Lisp but are
                    690: written in C for efficiency.  Although only a programmer can write an
                    691: extension, anybody can use it afterward.
                    692: 
                    693: 
                    694: File: emacs,  Node: Screen,  Next: Characters,  Prev: Concept Index,  Up: Top
                    695: 
                    696: The Organization of the Screen
                    697: ******************************
                    698: 
                    699:    Emacs divides the screen into several areas, each of which contains
                    700: its own sorts of information.  The biggest area, of course, is the one
                    701: in which you usually see the text you are editing.
                    702: 
                    703:    When you are using Emacs, the screen is divided into a number of
                    704: "windows".  Initially there is one text window occupying all but the
                    705: last line, plus the special "echo area" or "minibuffer window" in the
                    706: last line.  The text window can be subdivided horizontally or
                    707: vertically into multiple text windows, each of which can be used for a
                    708: different file (*note Windows::.).  The window that the cursor is in is
                    709: the "selected window", in which editing takes place.  The other windows
                    710: are just for reference unless you select one of them.
                    711: 
                    712:    Each text window's last line is a "mode line" which describes what is
                    713: going on in that window.  It is in inverse video if the terminal
                    714: supports that, and contains text that starts like `-----Emacs:
                    715: SOMETHING'.  Its purpose is to indicate what buffer is being displayed
                    716: above it in the window; what major and minor modes are in use; and
                    717: whether the buffer's text has been changed.
                    718: 
                    719: * Menu:
                    720: 
                    721: * Point::      The place in the text where editing commands operate.
                    722: * Echo Area::   Short messages appear at the bottom of the screen.
                    723: * Mode Line::  Interpreting the mode line.
                    724: 
                    725: 
                    726: File: emacs,  Node: Point,  Next: Echo Area,  Prev: Screen,  Up: Screen
                    727: 
                    728: Point
                    729: =====
                    730: 
                    731:    When Emacs is running, the terminal's cursor shows the location at
                    732: which editing commands will take effect.  This location is called
                    733: "point".  Other commands move point through the text, so that you can
                    734: edit at different places in it.
                    735: 
                    736:    While the cursor appears to point AT a character, point should be
                    737: thought of as BETWEEN two characters; it points BEFORE the character
                    738: that the cursor appears on top of.  Sometimes people speak of "the
                    739: cursor" when they mean "point", or speak of commands that move point as
                    740: "cursor motion" commands.
                    741: 
                    742:    Terminals have only one cursor, and when output is in progress it
                    743: must appear where the typing is being done.  This does not mean that
                    744: point is moving.  It is only that Emacs has no way to show you the
                    745: location of point except when the terminal is idle.
                    746: 
                    747:    If you are editing several files in Emacs, each file has its own
                    748: point location.  A file that is not being displayed remembers where
                    749: point is so that it can be seen when you look at that file again.
                    750: 
                    751:    When there are multiple text windows, each window has its own point
                    752: location.  The cursor shows the location of point in the selected
                    753: window. This also is how you can tell which window is selected.  If the
                    754: same buffer appears in more than one window, point can be moved in each
                    755: window independently.
                    756: 
                    757:    The term `point' comes from the character `.', which was the command
                    758: in TECO (the language in which the original Emacs was written) for
                    759: accessing the value now called `point'.
                    760: 
                    761: 
                    762: File: emacs,  Node: Echo Area,  Next: Mode Line,  Prev: Point,  Up: Screen
                    763: 
                    764: The Echo Area
                    765: =============
                    766: 
                    767:    The line at the bottom of the screen (below the mode line) is the
                    768: "echo area".  It is used to display small amounts of text for several
                    769: purposes.
                    770: 
                    771:    "Echoing" means printing out the characters that you type.  Emacs
                    772: never echoes single-character commands, and multi-character commands are
                    773: echoed only if you pause while typing them.  As soon as you pause for
                    774: more than a second in the middle of a command, all the characters of
                    775: the command so far are echoed.  This is intended to "prompt" you for
                    776: the rest of the command.  Once echoing has started, the rest of the
                    777: command is echoed immediately when you type it.  This behavior is
                    778: designed to give confident users fast response, while giving hesitant
                    779: users maximum feedback.  You can change this behavior by setting a
                    780: variable (*note Display Vars::.).
                    781: 
                    782:    If a command cannot be executed, it may print an "error message" in
                    783: the echo area.  Error messages are accompanied by a beep or by flashing
                    784: the screen.  Also, any input you have typed ahead is thrown away when
                    785: an error happens.
                    786: 
                    787:    Some commands print informative messages in the echo area.  These
                    788: messages look much like error messages, but they are not announced with
                    789: a beep and do not throw away input.  Sometimes the message tells you
                    790: what the command has done, when this is not obvious from looking at the
                    791: text being edited.  Sometimes the sole purpose of a command is to print
                    792: a message giving you specific information.  For example, the command
                    793: `C-x =' is used to print a message describing the character position of
                    794: point in the text and its current column in the window.  Commands that
                    795: take a long time often display messages ending in `...' while they are
                    796: working, and add `done' at the end when they are finished.
                    797: 
                    798:    The echo area is also used to display the "minibuffer", a window that
                    799: is used for reading arguments to commands, such as the name of a file
                    800: to be edited.  When the minibuffer is in use, the echo area begins with
                    801: a prompt string that usually ends with a colon; also, the cursor
                    802: appears in that line because it is the selected window.  You can always
                    803: get out of the minibuffer by typing `C-g'.  *Note Minibuffer::.
                    804: 
                    805: 
                    806: File: emacs,  Node: Mode Line,  Prev: Echo Area,  Up: Screen
                    807: 
                    808: The Mode Line
                    809: =============
                    810: 
                    811:    Each text window's last line is a "mode line" which describes what is
                    812: going on in that window.  When there is only one text window, the mode
                    813: line appears right above the echo area.  The mode line is in inverse
                    814: video if the terminal supports that, starts and ends with dashes, and
                    815: contains text like `Emacs: SOMETHING'.
                    816: 
                    817:    If a mode line has something else in place of `Emacs: SOMETHING',
                    818: then the window above it is in a special subsystem such as Dired.  The
                    819: mode line then indicates the status of the subsystem.
                    820: 
                    821:    Normally, the mode line has the following appearance:
                    822: 
                    823:      --CH-Emacs: BUF      (MAJOR MINOR)----POS------
                    824: 
                    825: This gives information about the buffer being displayed in the window:
                    826: the buffer's name, what major and minor modes are in use, whether the
                    827: buffer's text has been changed, and how far down the buffer you are
                    828: currently looking.
                    829: 
                    830:    CH contains two stars `**' if the text in the buffer has been edited
                    831: (the buffer is "modified"), or `--' if the buffer has not been edited. 
                    832: Exception: for a read-only buffer, it is `%%'.
                    833: 
                    834:    BUF is the name of the window's chosen "buffer".  The chosen buffer
                    835: in the selected window (the window that the cursor is in) is also
                    836: Emacs's selected buffer, the one that editing takes place in.  When we
                    837: speak of what some command does to "the buffer", we are talking about
                    838: the currently selected buffer.  *Note Buffers::.
                    839: 
                    840:    POS tells you whether there is additional text above the top of the
                    841: screen, or below the bottom.  If your file is small and it is all on the
                    842: screen, POS is `All'.  Otherwise, it is `Top' if you are looking at the
                    843: beginning of the file, `Bot' if you are looking at the end of the file,
                    844: or `NN%', where NN is the percentage of the file above the top of the
                    845: screen.
                    846: 
                    847:    MAJOR is the name of the "major mode" in effect in the buffer.  At
                    848: any time, each buffer is in one and only one of the possible major
                    849: modes. The major modes available include Fundamental mode (the least
                    850: specialized), Text mode, Lisp mode, and C mode.  *Note Major Modes::,
                    851: for details of how the modes differ and how to select one.
                    852: 
                    853:    MINOR is a list of some of the "minor modes" that are turned on at
                    854: the moment in the window's chosen buffer.  `Fill' means that Auto Fill
                    855: mode is on.  `Abbrev' means that Word Abbrev mode is on. `Ovwrt' means
                    856: that Overwrite mode is on.  *Note Minor Modes::, for more information. 
                    857: `Narrow' means that the buffer being displayed has editing restricted
                    858: to only a portion of its text.  This is not really a minor mode, but is
                    859: like one.  *Note Narrowing::.  `Def' means that a keyboard macro is
                    860: being defined.  *Note Keyboard Macros::.
                    861: 
                    862:    Some buffers display additional information after the minor modes. 
                    863: For example, Rmail buffers display the current message number and the
                    864: total number of messages.  Compilation buffers and Shell mode display
                    865: the status of the subprocess.
                    866: 
                    867:    In addition, if Emacs is currently inside a recursive editing level,
                    868: square brackets (`[...]') appear around the parentheses that surround
                    869: the modes.  If Emacs is in one recursive editing level within another,
                    870: double square brackets appear, and so on.  Since this information
                    871: pertains to Emacs in general and not to any one buffer, the square
                    872: brackets appear in every mode line on the screen or not in any of them.
                    873: *Note Recursive Edit::.
                    874: 
                    875:    Emacs can optionally display the time and system load in all mode
                    876: lines. To enable this feature, type `M-x display-time'.  The
                    877: information added to the mode line usually appears after the file name,
                    878: before the mode names and their parentheses.  It looks like this:
                    879: 
                    880:      HH:MMpm L.LL [D]
                    881: 
                    882: (Some fields may be missing if your operating system cannot support
                    883: them.) HH and MM are the hour and minute, followed always by `am' or
                    884: `pm'.  L.LL is the average number of running processes in the whole
                    885: system recently.  D is an approximate index of the ratio of disk
                    886: activity to cpu activity for all users.
                    887: 
                    888:    The word `Mail' appears after the load level if there is mail for
                    889: you that you have not read yet.
                    890: 
                    891:    Customization note: the user variable `mode-line-inverse-video'
                    892: controls whether the mode line is displayed in inverse video (assuming
                    893: the terminal supports it); `nil' means no inverse video.  The default
                    894: is `t'.
                    895: 
                    896: 
                    897: File: emacs,  Node: Characters,  Next: Keys,  Prev: Screen,  Up: Top
                    898: 
                    899: The Emacs Character Set
                    900: =======================
                    901: 
                    902:    GNU Emacs uses the ASCII character set, which defines 128 different
                    903: character codes.  Some of these codes are assigned graphic symbols such
                    904: as `a' and `='; the rest are control characters, such as `Control-a'
                    905: (also called `C-a' for short).  `C-a' gets its name from the fact that
                    906: you type it by holding down the CTRL key and then pressing `a'.  There
                    907: is no distinction between `C-a' and `C-A'; they are the same character.
                    908: 
                    909:    Some control characters have special names, and special keys you can
                    910: type them with: RET, TAB, LFD, DEL and ESC. The space character is
                    911: usually referred to below as SPC, even though strictly speaking it is a
                    912: graphic character whose graphic happens to be blank.
                    913: 
                    914:    Emacs extends the 7-bit ASCII code to an 8-bit code by adding an
                    915: extra bit to each character.  This makes 256 possible command
                    916: characters.  The additional bit is called Meta.  Any ASCII character
                    917: can be made Meta; examples of Meta characters include `Meta-a' (`M-a',
                    918: for short), `M-A' (not the same character as `M-a', but those two
                    919: characters normally have the same meaning in Emacs), `M-RET', and
                    920: `M-C-a'.  For traditional reasons, `M-C-a' is usually called `C-M-a';
                    921: logically speaking, the order in which the modifier keys CTRL and META
                    922: are mentioned does not matter.
                    923: 
                    924:    Some terminals have a META key, and allow you to type Meta
                    925: characters by holding this key down.  Thus, `Meta-a' is typed by
                    926: holding down META and pressing `a'.  The META key works much like the
                    927: SHIFT key.  Such a key is not always labeled META, however, as this
                    928: function is often a special option for a key with some other primary
                    929: purpose.
                    930: 
                    931:    If there is no META key, you can still type Meta characters using
                    932: two-character sequences starting with ESC.  Thus, to enter `M-a', you
                    933: could type `ESC a'.  To enter `C-M-a', you would type `ESC C-a'.  ESC is
                    934: allowed on terminals with Meta keys, too, in case you have formed a
                    935: habit of using it.
                    936: 
                    937:    Emacs believes the terminal has a META key if the variable
                    938: `meta-flag' is non-`nil'.  Normally this is set automatically according
                    939: to the termcap entry for your terminal type.  However, sometimes the
                    940: termcap entry is wrong, and then it is useful to set this variable
                    941: yourself.  *Note Variables::, for how to do this.
                    942: 
                    943:    Emacs buffers also use an 8-bit character set, because bytes have 8
                    944: bits, but only the ASCII characters are considered meaningful. ASCII
                    945: graphic characters in Emacs buffers are displayed with their graphics. 
                    946: LFD is the same as a newline character; it is displayed by starting a
                    947: new line.  TAB is displayed by moving to the next tab stop column
                    948: (usually every 8 columns).  Other control characters are displayed as a
                    949: caret (`^') followed by the non-control version of the character; thus,
                    950: `C-a' is displayed as `^A'.  Non-ASCII characters 128 and up are
                    951: displayed with octal escape sequences; thus, character code 243
                    952: (octal), also called `M-#' when used as an input character, is
                    953: displayed as `\243'.
                    954: 
                    955: 
                    956: File: emacs,  Node: Keys,  Next: Commands,  Prev: Characters,  Up: Top
                    957: 
                    958: Keys
                    959: ====
                    960: 
                    961:    A "complete key"--where `key' is short for "key sequence"--is a
                    962: sequence of keystrokes that are understood by Emacs as a unit, as a
                    963: single command (possibly undefined).  Most single characters constitute
                    964: complete keys in the standard Emacs command set; there are also some
                    965: multi-character keys.  Examples of complete keys are `C-a', `X', RET,
                    966: `C-x C-f' and `C-x 4 C-f'.
                    967: 
                    968:    A "prefix key" is a sequence of keystrokes that are the beginning of
                    969: a complete key, but not a whole one.  Prefix keys and complete keys are
                    970: collectively called "keys".
                    971: 
                    972:    A prefix key is the beginning of a series of longer sequences that
                    973: are valid keys; adding any single character to the end of the prefix
                    974: gives a valid key, which could be defined as an Emacs command, or could
                    975: be a prefix itself.  For example, `C-x' is standardly defined as a
                    976: prefix, so `C-x' and the next input character combine to make a
                    977: two-character key. There are 256 different two-character keys starting
                    978: with `C-x', one for each possible second character.  Many of these
                    979: two-character keys starting with `C-x' are standardly defined as Emacs
                    980: commands.  Notable examples include `C-x C-f' and `C-x s' (*note
                    981: Files::.).
                    982: 
                    983:    Adding one character to a prefix key does not have to form a complete
                    984: key.  It could make another, longer prefix.  For example, `C-x 4' is
                    985: itself a prefix that leads to 256 different three-character keys,
                    986: including `C-x 4 f', `C-x 4 b' and so on.  It would be possible to
                    987: define one of those three-character sequences as a prefix, creating a
                    988: series of four-character keys, but we did not define any of them this
                    989: way.
                    990: 
                    991:    By contrast, the two-character sequence `C-f C-k' is not a key,
                    992: because the `C-f' is a complete key in itself.  It's impossible to give
                    993: `C-f C-k' an independent meaning as a command as long as `C-f' retains
                    994: its meaning.  `C-f C-k' is two commands.
                    995: 
                    996:    All told, the prefix keys in Emacs are `C-c', `C-x', `C-h', `C-x 4',
                    997: and ESC.  But this is not built in; it is just a matter of Emacs's
                    998: standard key bindings.  In customizing Emacs, you could make new prefix
                    999: keys, or eliminate these.  *Note Key Bindings::.
                   1000: 
                   1001:    Whether a sequence is a key can be changed by customization.  For
                   1002: example, if you redefine `C-f' as a prefix, `C-f C-k' automatically
                   1003: becomes a key (complete, unless you define it too as a prefix).
                   1004: Conversely, if you remove the prefix definition of `C-x 4', then `C-x 4
                   1005: f' (or `C-x 4 ANYTHING') is no longer a key.
                   1006: 
                   1007: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.