123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131 |
- \input texinfo @c -*-texinfo-*-
- @setfilename xemacs.info
- @comment node-name, next, previous, up
- @ifinfo
- @dircategory XEmacs Editor
- @direntry
- * XEmacs: (xemacs). XEmacs Editor.
- @end direntry
- This file documents the XEmacs editor.
- Copyright (C) 1985, 1986, 1988 Richard M. Stallman.
- Copyright @copyright{} 1991, 1992, 1993, 1994 Lucid, Inc.
- Copyright @copyright{} 1993, 1994 Sun Microsystems, Inc.
- Copyright @copyright{} 1995 Amdahl Corporation.
- Permission is granted to make and distribute verbatim copies of
- this manual provided the copyright notice and this permission notice
- are preserved on all copies.
- @ignore
- Permission is granted to process this file through Tex and print the
- results, provided the printed document carries copying permission
- notice identical to this one except for the removal of this paragraph
- (this paragraph not being relevant to the printed manual).
- @end ignore
- Permission is granted to copy and distribute modified versions of this
- manual under the conditions for verbatim copying, provided also that the
- sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
- General Public License'' are included exactly as in the original, and
- provided that the entire resulting derived work is distributed under the
- terms of a permission notice identical to this one.
- Permission is granted to copy and distribute translations of this manual
- into another language, under the above conditions for modified versions,
- except that the sections entitled ``The GNU Manifesto'',
- ``Distribution'' and ``GNU General Public License'' may be included in a
- translation approved by the author instead of in the original English.
- @end ifinfo
- @c
- @setchapternewpage odd
- @settitle XEmacs User's Manual
- @c
- @titlepage
- @sp 6
- @center @titlefont{XEmacs User's Manual}
- @sp 4
- @sp 1
- @sp 1
- @center July 1994
- @center (General Public License upgraded, January 1991)
- @sp 5
- @center Richard Stallman
- @sp 1
- @center Lucid, Inc.
- @sp 1
- @center and
- @sp 1
- @center Ben Wing
- @page
- @vskip 0pt plus 1filll
- Copyright @copyright{} 1985, 1986, 1988 Richard M. Stallman.
- Copyright @copyright{} 1991, 1992, 1993, 1994 Lucid, Inc.
- Copyright @copyright{} 1993, 1994 Sun Microsystems, Inc.
- Copyright @copyright{} 1995 Amdahl Corporation.
- Permission is granted to make and distribute verbatim copies of
- this manual provided the copyright notice and this permission notice
- are preserved on all copies.
- Permission is granted to copy and distribute modified versions of this
- manual under the conditions for verbatim copying, provided also that the
- sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
- General Public License'' are included exactly as in the original, and
- provided that the entire resulting derived work is distributed under the
- terms of a permission notice identical to this one.
- Permission is granted to copy and distribute translations of this manual
- into another language, under the above conditions for modified versions,
- except that the sections entitled ``The GNU Manifesto'',
- ``Distribution'' and ``GNU General Public License'' may be included in a
- translation approved by the author instead of in the original English.
- @end titlepage
- @page
- @ifinfo
- @node Top, License,, (dir)
- @top The XEmacs Editor
- XEmacs is the extensible, customizable, self-documenting real-time
- display editor. This Info file describes how to edit with Emacs
- and some of how to customize it, but not how to extend it. It
- corresponds to XEmacs version 21.0.
- This manual is intended as a detailed reference to XEmacs. If
- you are looking for an introductory manual, see the New User's
- Guide.
- @end ifinfo
- @menu
- * License:: The GNU General Public License gives you permission
- to redistribute XEmacs on certain terms; and also
- explains that there is no warranty.
- * Distrib:: How to get XEmacs.
- * Intro:: An introduction to XEmacs concepts.
- * Glossary:: The glossary.
- * Manifesto:: What's GNU? Gnu's Not Unix!
- Indices, nodes containing large menus
- * Key Index:: An item for each standard XEmacs key sequence.
- * Command Index:: An item for each command name.
- * Variable Index:: An item for each documented variable.
- * Concept Index:: An item for each concept.
- Important General Concepts
- * Frame:: How to interpret what you see on the screen.
- * Keystrokes:: Keyboard gestures XEmacs recognizes.
- * Pull-down Menus::
- The XEmacs Pull-down Menus available under X.
- * Entering Emacs::
- Starting Emacs from the shell.
- * Exiting:: Stopping or killing XEmacs.
- * Command Switches::
- Hairy startup options.
- * Startup Paths::
- How XEmacs finds Directories and Files.
- * Packages:: How XEmacs organizes its high-level functionality.
- Fundamental Editing Commands
- * Basic:: The most basic editing commands.
- * Undo:: Undoing recently made changes in the text.
- * Minibuffer:: Entering arguments that are prompted for.
- * M-x:: Invoking commands by their names.
- * Help:: Commands for asking XEmacs about its commands.
- Important Text-Changing Commands
- * Mark:: The mark: how to delimit a ``region'' of text.
- * Mouse Selection::
- Selecting text with the mouse.
- * Additional Mouse Operations::
- Other operations available from the mouse.
- * Killing:: Killing text.
- * Yanking:: Recovering killed text. Moving text.
- * Using X Selections::
- Using primary selection, cut buffers, and highlighted regions.
- * Accumulating Text::
- Other ways of copying text.
- * Rectangles:: Operating on the text inside a rectangle on the screen.
- * Registers:: Saving a text string or a location in the buffer.
- * Display:: Controlling what text is displayed.
- * Search:: Finding or replacing occurrences of a string.
- * Fixit:: Commands especially useful for fixing typos.
- Larger Units of Text
- * Files:: All about handling files.
- * Buffers:: Multiple buffers; editing several files at once.
- * Windows:: Viewing two pieces of text at once.
- * Mule:: Using world scripts.
- Advanced Features
- * Major Modes:: Text mode vs. Lisp mode vs. C mode ...
- * Indentation:: Editing the white space at the beginnings of lines.
- * Text:: Commands and modes for editing English.
- * Programs:: Commands and modes for editing programs.
- * Running:: Compiling, running and debugging programs.
- * Abbrevs:: How to define text abbreviations to reduce
- the number of characters you must type.
- * Picture:: Editing pictures made up of characters
- using the quarter-plane screen model.
- * Sending Mail:: Sending mail in XEmacs.
- * Reading Mail:: Reading mail in XEmacs.
- * Calendar/Diary:: A Calendar and diary facility in XEmacs.
- * Sorting:: Sorting lines, paragraphs or pages within XEmacs.
- * Shell:: Executing shell commands from XEmacs.
- * Narrowing:: Restricting display and editing to a portion
- of the buffer.
- * Hardcopy:: Printing buffers or regions.
- * Recursive Edit::
- A command can allow you to do editing
- "within the command". This is called a
- `recursive editing level'.
- * Dissociated Press:: Dissociating text for fun.
- * CONX:: A different kind of dissociation.
- * Amusements:: Various games and hacks.
- * Emulation:: Emulating some other editors with XEmacs.
- * Customization:: Modifying the behavior of XEmacs.
- Recovery from Problems.
- * Quitting:: Quitting and aborting.
- * Lossage:: What to do if XEmacs is hung or malfunctioning.
- * Bugs:: How and when to report a bug.
- Here are some other nodes which are really inferiors of the ones
- already listed, mentioned here so you can get to them in one step:
- --- The Detailed Node Listing ---
- The Organization of the Frame
- * Point:: The place in the text where editing commands operate.
- * Echo Area:: Short messages appear at the bottom of the frame.
- * Mode Line:: Interpreting the mode line.
- * XEmacs under X:: Some information on using XEmacs under the X
- Window System.
- Keystrokes
- * Intro to Keystrokes:: Keystrokes as building blocks of key sequences.
- * Representing Keystrokes:: Using lists of modifiers and keysyms to
- represent keystrokes.
- * Key Sequences:: Combine key strokes into key sequences you can
- bind to commands.
- * String Key Sequences:: Available for upward compatibility.
- * Meta Key:: Using @key{ESC} to represent @key{Meta}
- * Super and Hyper Keys:: Adding modifier keys on certain keyboards.
- * Character Representation:: How characters appear in XEmacs buffers.
- * Commands:: How commands are bound to key sequences.
-
- Pull-down Menus
- * File Menu:: Items on the File menu.
- * Edit Menu:: Items on the Edit menu.
- * Apps Menu:: Items on the Apps menu.
- * Options Menu:: Items on the Options menu.
- * Buffers Menu:: Information about the Buffers menu.
- * Tools Menu:: Items on the Tools menu.
- * Help Menu:: Items on the Help menu.
- * Menu Customization:: Adding and removing menu items and related
- operations.
- Packages
- * Packages:: Introduction to XEmacs Packages.
- * Package Terminology:: Understanding different kinds of packages.
- * Installing Packages:: How to install packages.
- * Building Packages:: Building packages from sources.
- * Local.rules File:: An important part of building packages.
- * Creating Packages:: The basics.
- * Available Packages:: A brief directory of packaged LISP.
- Basic Editing Commands
- * Blank Lines:: Commands to make or delete blank lines.
- * Continuation Lines:: Lines too wide for the frame.
- * Position Info:: What page, line, row, or column is point on?
- * Arguments:: Numeric arguments for repeating a command.
- The Minibuffer
- * File: Minibuffer File. Entering file names with the minibuffer.
- * Edit: Minibuffer Edit. How to edit in the minibuffer.
- * Completion:: An abbreviation facility for minibuffer input.
- * Repetition:: Re-executing commands that used the minibuffer.
- The Mark and the Region
- * Setting Mark:: Commands to set the mark.
- * Using Region:: Summary of ways to operate on contents of the region.
- * Marking Objects:: Commands to put region around textual units.
- * Mark Ring:: Previous mark positions saved so you can go back there.
- Yanking
- * Kill Ring:: Where killed text is stored. Basic yanking.
- * Appending Kills:: Several kills in a row all yank together.
- * Earlier Kills:: Yanking something killed some time ago.
- Using X Selections
- * X Clipboard Selection:: Pasting to the X clipboard.
- * X Selection Commands:: Other operations on the selection.
- * X Cut Buffers:: X cut buffers are available for compatibility.
- * Active Regions:: Using zmacs-style highlighting of the
- selected region.
- Registers
- * Position: RegPos. Saving positions in registers.
- * Text: RegText. Saving text in registers.
- * Rectangle: RegRect. Saving rectangles in registers.
- * Configurations: RegConfig. Saving window configurations in registers.
- * Files: RegFiles. File names in registers.
- * Numbers: RegNumbers. Numbers in registers.
- * Bookmarks:: Bookmarks are like registers, but persistent.
- Controlling the Display
- * Scrolling:: Moving text up and down in a window.
- * Horizontal Scrolling:: Moving text left and right in a window.
- * Selective Display:: Hiding lines with lots of indentation.
- * Display Vars:: Information on variables for customizing display.
- Searching and Replacement
- * Incremental Search:: Search happens as you type the string.
- * Non-Incremental Search:: Specify entire string and then search.
- * Word Search:: Search for sequence of words.
- * Regexp Search:: Search for match for a regexp.
- * Regexps:: Syntax of regular expressions.
- * Search Case:: To ignore case while searching, or not.
- * Replace:: Search, and replace some or all matches.
- * Other Repeating Search:: Operating on all matches for some regexp.
- Replacement Commands
- * Unconditional Replace:: Replacing all matches for a string.
- * Regexp Replace:: Replacing all matches for a regexp.
- * Replacement and Case:: How replacements preserve case of letters.
- * Query Replace:: How to use querying.
- Commands for Fixing Typos
- * Kill Errors:: Commands to kill a batch of recently entered text.
- * Transpose:: Exchanging two characters, words, lines, lists...
- * Fixing Case:: Correcting case of last word entered.
- * Spelling:: Apply spelling checker to a word, or a whole file.
- File Handling
- * File Names:: How to type and edit file name arguments.
- * Visiting:: Visiting a file prepares XEmacs to edit the file.
- * Saving:: Saving makes your changes permanent.
- * Reverting:: Reverting cancels all the changes not saved.
- * Auto Save:: Auto Save periodically protects against loss of data.
- * Version Control:: Version control systems (RCS and SCCS).
- * ListDir:: Listing the contents of a file directory.
- * Comparing Files:: Finding where two files differ.
- * Dired:: ``Editing'' a directory to delete, rename, etc.
- the files in it.
- * Misc File Ops:: Other things you can do on files.
- Saving Files
- * Backup:: How XEmacs saves the old version of your file.
- * Interlocking:: How XEmacs protects against simultaneous editing
- of one file by two users.
- Backup Files
- * Names: Backup Names. How backup files are named;
- Choosing single or numbered backup files.
- * Deletion: Backup Deletion. XEmacs deletes excess numbered backups.
- * Copying: Backup Copying. Backups can be made by copying or renaming.
- Auto-Saving: Protection Against Disasters
- * Files: Auto Save Files.
- * Control: Auto Save Control.
- * Recover:: Recovering text from auto-save files.
- Version Control
- * Concepts of VC:: Basic version control information;
- checking files in and out.
- * Editing with VC:: Commands for editing a file maintained
- with version control.
- * Variables for Check-in/out:: Variables that affect the commands used
- to check files in or out.
- * Log Entries:: Logging your changes.
- * Change Logs and VC:: Generating a change log file from log
- entries.
- * Old Versions:: Examining and comparing old versions.
- * VC Status:: Commands to view the VC status of files and
- look at log entries.
- * Renaming and VC:: A command to rename both the source and
- master file correctly.
- * Snapshots:: How to make and use snapshots, a set of
- file versions that can be treated as a unit.
- * Version Headers:: Inserting version control headers into
- working files.
- Snapshots
- * Making Snapshots:: The snapshot facilities.
- * Snapshot Caveats:: Things to be careful of when using snapshots.
- Dired, the Directory Editor
- * Enter: Dired Enter. How to invoke Dired.
- * Edit: Dired Edit. Editing the Dired buffer.
- * Deletion: Dired Deletion. Deleting files with Dired.
- * Immed: Dired Immed. Other file operations through Dired.
- Using Multiple Buffers
- * Select Buffer:: Creating a new buffer or reselecting an old one.
- * List Buffers:: Getting a list of buffers that exist.
- * Misc Buffer:: Renaming; changing read-onliness; copying text.
- * Kill Buffer:: Killing buffers you no longer need.
- * Several Buffers:: How to go through the list of all buffers
- and operate variously on several of them.
- Multiple Windows
- * Basic Window:: Introduction to XEmacs windows.
- * Split Window:: New windows are made by splitting existing windows.
- * Other Window:: Moving to another window or doing something to it.
- * Pop Up Window:: Finding a file or buffer in another window.
- * Change Window:: Deleting windows and changing their sizes.
- Major Modes
- * Choosing Modes:: How major modes are specified or chosen.
- Indentation
- * Indentation Commands:: Various commands and techniques for indentation.
- * Tab Stops:: You can set arbitrary "tab stops" and then
- indent to the next tab stop when you want to.
- * Just Spaces:: You can request indentation using just spaces.
- Commands for Human Languages
- * Text Mode:: The major modes for editing text files.
- * Nroff Mode:: The major mode for editing input to the formatter nroff.
- * TeX Mode:: The major modes for editing input to the formatter TeX.
- * Outline Mode:: The major mode for editing outlines.
- * Words:: Moving over and killing words.
- * Sentences:: Moving over and killing sentences.
- * Paragraphs:: Moving over paragraphs.
- * Pages:: Moving over pages.
- * Filling:: Filling or justifying text
- * Case:: Changing the case of text
- @TeX{} Mode
- * Editing: TeX Editing. Special commands for editing in TeX mode.
- * Printing: TeX Print. Commands for printing part of a file with TeX.
- Outline Mode
- * Format: Outline Format. What the text of an outline looks like.
- * Motion: Outline Motion. Special commands for moving through outlines.
- * Visibility: Outline Visibility. Commands to control what is visible.
- Filling Text
- * Auto Fill:: Auto Fill mode breaks long lines automatically.
- * Fill Commands:: Commands to refill paragraphs and center lines.
- * Fill Prefix:: Filling when every line is indented or in a comment, etc.
- Editing Programs
- * Program Modes:: Major modes for editing programs.
- * Lists:: Expressions with balanced parentheses.
- There are editing commands to operate on them.
- * Defuns:: Each program is made up of separate functions.
- There are editing commands to operate on them.
- * Grinding:: Adjusting indentation to show the nesting.
- * Matching:: Insertion of a close-delimiter flashes matching open.
- * Comments:: Inserting, filling and aligning comments.
- * Balanced Editing:: Inserting two matching parentheses at once, etc.
- * Lisp Completion:: Completion on symbol names in Lisp code.
- * Documentation:: Getting documentation of functions you plan to call.
- * Change Log:: Maintaining a change history for your program.
- * Tags:: Go directly to any function in your program in one
- command. Tags remembers which file it is in.
- * Fortran:: Fortran mode and its special features.
- * Asm Mode:: Asm mode and its special features.
- Indentation for Programs
- * Basic Indent::
- * Multi-line Indent:: Commands to reindent many lines at once.
- * Lisp Indent:: Specifying how each Lisp function should be indented.
- * C Indent:: Choosing an indentation style for C code.
- Tags Tables
- * Tag Syntax:: Tag syntax for various types of code and text files.
- * Create Tags Table:: Creating a tags table with @code{etags}.
- * Select Tags Table:: How to visit a tags table.
- * Find Tag:: Commands to find the definition of a specific tag.
- * Tags Search:: Using a tags table for searching and replacing.
- * List Tags:: Listing and finding tags defined in a file.
- Fortran Mode
- * Motion: Fortran Motion. Moving point by statements or subprograms.
- * Indent: Fortran Indent. Indentation commands for Fortran.
- * Comments: Fortran Comments. Inserting and aligning comments.
- * Columns: Fortran Columns. Measuring columns for valid Fortran.
- * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords.
- Fortran Indentation
- * Commands: ForIndent Commands. Commands for indenting Fortran.
- * Numbers: ForIndent Num. How line numbers auto-indent.
- * Conv: ForIndent Conv. Conventions you must obey to avoid trouble.
- * Vars: ForIndent Vars. Variables controlling Fortran indent style.
- Compiling and Testing Programs
- * Compilation:: Compiling programs in languages other than Lisp
- (C, Pascal, etc.)
- * Modes: Lisp Modes. Various modes for editing Lisp programs, with
- different facilities for running the Lisp programs.
- * Libraries: Lisp Libraries. Creating Lisp programs to run in XEmacs.
- * Eval: Lisp Eval. Executing a single Lisp expression in XEmacs.
- * Debug: Lisp Debug. Debugging Lisp programs running in XEmacs.
- * Interaction: Lisp Interaction. Executing Lisp in an XEmacs buffer.
- * External Lisp:: Communicating through XEmacs with a separate Lisp.
- Lisp Libraries
- * Loading:: Loading libraries of Lisp code into XEmacs for use.
- * Compiling Libraries:: Compiling a library makes it load and run faster.
- * Mocklisp:: Converting Mocklisp to Lisp so XEmacs can run it.
- Abbrevs
- * Defining Abbrevs:: Defining an abbrev, so it will expand when typed.
- * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion.
- * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs.
- * Saving Abbrevs:: Saving the entire list of abbrevs for another session.
- * Dynamic Abbrevs:: Abbreviations for words already in the buffer.
- Editing Pictures
- * Basic Picture:: Basic concepts and simple commands of Picture Mode.
- * Insert in Picture:: Controlling direction of cursor motion
- after "self-inserting" characters.
- * Tabs in Picture:: Various features for tab stops and indentation.
- * Rectangles in Picture:: Clearing and superimposing rectangles.
- Sending Mail
- * Format: Mail Format. Format of the mail being composed.
- * Headers: Mail Headers. Details of allowed mail header fields.
- * Mode: Mail Mode. Special commands for editing mail being composed.
- Running Shell Commands from XEmacs
- * Single Shell:: How to run one shell command and return.
- * Interactive Shell:: Permanent shell taking input via XEmacs.
- * Shell Mode:: Special XEmacs commands used with permanent shell.
- Customization
- * Minor Modes:: Each minor mode is one feature you can turn on
- independently of any others.
- * Variables:: Many XEmacs commands examine XEmacs variables
- to decide what to do; by setting variables,
- you can control their functioning.
- * Keyboard Macros:: A keyboard macro records a sequence of keystrokes
- to be replayed with a single command.
- * Key Bindings:: The keymaps say what command each key runs.
- By changing them, you can "redefine keys".
- * Syntax:: The syntax table controls how words and expressions
- are parsed.
- * Init File:: How to write common customizations in the init file.
- * Audible Bell:: Changing how XEmacs sounds the bell.
- * Faces:: Changing the fonts and colors of a region of text.
- * X Resources:: X resources controlling various aspects of the
- behavior of XEmacs.
- Variables
- * Examining:: Examining or setting one variable's value.
- * Easy Customization:: Convenient and easy customization of variables.
- * Edit Options:: Examining or editing list of all variables' values.
- * Locals:: Per-buffer values of variables.
- * File Variables:: How files can specify variable values.
- Keyboard Macros
- * Basic Kbd Macro:: Defining and running keyboard macros.
- * Save Kbd Macro:: Giving keyboard macros names; saving them in files.
- * Kbd Macro Query:: Keyboard macros that do different things each use.
- Customizing Key Bindings
- * Keymaps:: Definition of the keymap data structure.
- Names of XEmacs's standard keymaps.
- * Rebinding:: How to redefine one key's meaning conveniently.
- * Disabling:: Disabling a command means confirmation is required
- before it can be executed. This is done to protect
- beginners from surprises.
- The Syntax Table
- * Entry: Syntax Entry. What the syntax table records for each character.
- * Change: Syntax Change. How to change the information.
- The Init File
- * Init Syntax:: Syntax of constants in Emacs Lisp.
- * Init Examples:: How to do some things with an init file.
- * Terminal Init:: Each terminal type can have an init file.
- Dealing with XEmacs Trouble
- * Stuck Recursive:: `[...]' in mode line around the parentheses.
- * Screen Garbled:: Garbage on the screen.
- * Text Garbled:: Garbage in the text.
- * Unasked-for Search:: Spontaneous entry to incremental search.
- * Emergency Escape:: Emergency escape---
- What to do if XEmacs stops responding.
- * Total Frustration:: When you are at your wits' end.
- @end menu
- @iftex
- @unnumbered Preface
- This manual documents the use and simple customization of the XEmacs
- editor. The reader is not expected to be a programmer to use this
- editor, and simple customizations do not require programming skills either.
- Users who are not interested in customizing XEmacs can ignore the scattered
- customization hints.
- This document is primarily a reference manual, but it can also be used as a
- primer. However, if you are new to XEmacs, consider using the on-line,
- learn-by-doing tutorial, which you get by running XEmacs and typing
- @kbd{C-h t}. With it, you learn XEmacs by using XEmacs on a specially
- designed file which describes commands, tells you when to try them,
- and then explains the results you see. Using the tutorial gives a more vivid
- introduction than the printed manual. Also consider reading the XEmacs
- New User's Guide, which is intended specifically as an introductory
- manual rather than as a reference guide.
- On first reading, just skim chapters one and two, which describe the
- notational conventions of the manual and the general appearance of the
- XEmacs display frame. Note which questions are answered in these chapters,
- so you can refer back later. After reading chapter four you should
- practice the commands there. The next few chapters describe fundamental
- techniques and concepts that are used constantly. You need to understand
- them thoroughly, experimenting with them if necessary.
- To find the documentation on a particular command, look in the index.
- Keys (character commands) and command names have separate indexes. There
- is also a glossary, with a cross reference for each term.
- @ignore
- If you know vaguely what the command
- does, look in the command summary. The command summary contains a line or
- two about each command, and a cross reference to the section of the
- manual that describes the command in more detail; related commands
- are grouped together.
- @end ignore
- This manual comes in two forms: the published form and the Info form.
- The Info form is for on-line perusal with the INFO program; it is
- distributed along with XEmacs. Both forms contain substantially the
- same text and are generated from a common source file, which is also
- distributed along with XEmacs.
- XEmacs is a member of the Emacs editor family. There are many Emacs
- editors, all sharing common principles of organization. For information on
- the underlying philosophy of Emacs and the lessons learned from its
- development, write for a copy of AI memo 519a, ``Emacs, the Extensible,
- Customizable Self-Documenting Display Editor'', to Publications Department,
- Artificial Intelligence Lab, 545 Tech Square, Cambridge, MA 02139, USA. At
- last report they charge $2.25 per copy. Another useful publication is LCS
- TM-165, ``A Cookbook for an Emacs'', by Craig Finseth, available from
- Publications Department, Laboratory for Computer Science, 545 Tech Square,
- Cambridge, MA 02139, USA. The price today is $3.
- This manual is for XEmacs installed on UNIX systems. XEmacs also
- exists on Microsoft Windows and Windows NT as Win-Emacs (which is
- actually based on Lucid Emacs 19.6, an older incarnation of XEmacs).
- @end iftex
- @comment node-name, next, previous, up
- @node License, Distrib, Top, Top
- @unnumbered GNU GENERAL PUBLIC LICENSE
- @center Version 1, February 1989
- @cindex license to copy XEmacs
- @cindex General Public License
- @display
- Copyright @copyright{} 1989 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
- @end display
- @unnumberedsec Preamble
- The license agreements of most software companies try to keep users
- at the mercy of those companies. By contrast, our General Public
- License is intended to guarantee your freedom to share and change free
- software---to make sure the software is free for all its users. The
- General Public License applies to the Free Software Foundation's
- software and to any other program whose authors commit to using it.
- You can use it for your programs, too.
- When we speak of free software, we are referring to freedom, not
- price. Specifically, the General Public License is designed to make
- sure that you have the freedom to give away or sell copies of free
- software, that you receive source code or can get it if you want it,
- that you can change the software or use pieces of it in new free
- programs; and that you know you can do these things.
- To protect your rights, we need to make restrictions that forbid
- anyone to deny you these rights or to ask you to surrender the rights.
- These restrictions translate to certain responsibilities for you if you
- distribute copies of the software, or if you modify it.
- For example, if you distribute copies of a such a program, whether
- gratis or for a fee, you must give the recipients all the rights that
- you have. You must make sure that they, too, receive or can get the
- source code. And you must tell them their rights.
- We protect your rights with two steps: (1) copyright the software, and
- (2) offer you this license which gives you legal permission to copy,
- distribute and/or modify the software.
- Also, for each author's protection and ours, we want to make certain
- that everyone understands that there is no warranty for this free
- software. If the software is modified by someone else and passed on, we
- want its recipients to know that what they have is not the original, so
- that any problems introduced by others will not reflect on the original
- authors' reputations.
- The precise terms and conditions for copying, distribution and
- modification follow.
- @iftex
- @unnumberedsec TERMS AND CONDITIONS
- @end iftex
- @ifinfo
- @center TERMS AND CONDITIONS
- @end ifinfo
- @enumerate
- @item
- This License Agreement applies to any program or other work which
- contains a notice placed by the copyright holder saying it may be
- distributed under the terms of this General Public License. The
- ``Program'', below, refers to any such program or work, and a ``work based
- on the Program'' means either the Program or any work containing the
- Program or a portion of it, either verbatim or with modifications. Each
- licensee is addressed as ``you''.
- @item
- @cindex Distribution
- You may copy and distribute verbatim copies of the Program's source
- code as you receive it, in any medium, provided that you conspicuously and
- appropriately publish on each copy an appropriate copyright notice and
- disclaimer of warranty; keep intact all the notices that refer to this
- General Public License and to the absence of any warranty; and give any
- other recipients of the Program a copy of this General Public License
- along with the Program. You may charge a fee for the physical act of
- transferring a copy.
- @item
- You may modify your copy or copies of the Program or any portion of
- it, and copy and distribute such modifications under the terms of Paragraph
- 1 above, provided that you also do the following:
- @itemize @bullet
- @item
- cause the modified files to carry prominent notices stating that
- you changed the files and the date of any change; and
- @item
- cause the whole of any work that you distribute or publish, that
- in whole or in part contains the Program or any part thereof, either
- with or without modifications, to be licensed at no charge to all
- third parties under the terms of this General Public License (except
- that you may choose to grant warranty protection to some or all
- third parties, at your option).
- @item
- If the modified program normally reads commands interactively when
- run, you must cause it, when started running for such interactive use
- in the simplest and most usual way, to print or display an
- announcement including an appropriate copyright notice and a notice
- that there is no warranty (or else, saying that you provide a
- warranty) and that users may redistribute the program under these
- conditions, and telling the user how to view a copy of this General
- Public License.
- @item
- You may charge a fee for the physical act of transferring a
- copy, and you may at your option offer warranty protection in
- exchange for a fee.
- @end itemize
- Mere aggregation of another independent work with the Program (or its
- derivative) on a volume of a storage or distribution medium does not bring
- the other work under the scope of these terms.
- @item
- You may copy and distribute the Program (or a portion or derivative of
- it, under Paragraph 2) in object code or executable form under the terms of
- Paragraphs 1 and 2 above provided that you also do one of the following:
- @itemize @bullet
- @item
- accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of
- Paragraphs 1 and 2 above; or,
- @item
- accompany it with a written offer, valid for at least three
- years, to give any third party free (except for a nominal charge
- for the cost of distribution) a complete machine-readable copy of the
- corresponding source code, to be distributed under the terms of
- Paragraphs 1 and 2 above; or,
- @item
- accompany it with the information you received as to where the
- corresponding source code may be obtained. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form alone.)
- @end itemize
- Source code for a work means the preferred form of the work for making
- modifications to it. For an executable file, complete source code means
- all the source code for all modules it contains; but, as a special
- exception, it need not include source code for modules which are standard
- libraries that accompany the operating system on which the executable
- file runs, or for standard header files or definitions files that
- accompany that operating system.
- @item
- You may not copy, modify, sublicense, distribute or transfer the
- Program except as expressly provided under this General Public License.
- Any attempt otherwise to copy, modify, sublicense, distribute or transfer
- the Program is void, and will automatically terminate your rights to use
- the Program under this License. However, parties who have received
- copies, or rights to use copies, from you under this General Public
- License will not have their licenses terminated so long as such parties
- remain in full compliance.
- @item
- By copying, distributing or modifying the Program (or any work based
- on the Program) you indicate your acceptance of this license to do so,
- and all its terms and conditions.
- @item
- Each time you redistribute the Program (or any work based on the
- Program), the recipient automatically receives a license from the original
- licensor to copy, distribute or modify the Program subject to these
- terms and conditions. You may not impose any further restrictions on the
- recipients' exercise of the rights granted herein.
- @page
- @item
- The Free Software Foundation may publish revised and/or new versions
- of the General Public License from time to time. Such new versions will
- be similar in spirit to the present version, but may differ in detail to
- address new problems or concerns.
- Each version is given a distinguishing version number. If the Program
- specifies a version number of the license which applies to it and ``any
- later version'', you have the option of following the terms and conditions
- either of that version or of any later version published by the Free
- Software Foundation. If the Program does not specify a version number of
- the license, you may choose any version ever published by the Free Software
- Foundation.
- @item
- If you wish to incorporate parts of the Program into other free
- programs whose distribution conditions are different, write to the author
- to ask for permission. For software which is copyrighted by the Free
- Software Foundation, write to the Free Software Foundation; we sometimes
- make exceptions for this. Our decision will be guided by the two goals
- of preserving the free status of all derivatives of our free software and
- of promoting the sharing and reuse of software generally.
- @iftex
- @heading NO WARRANTY
- @end iftex
- @ifinfo
- @center NO WARRANTY
- @end ifinfo
- @item
- BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
- PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
- REPAIR OR CORRECTION.
- @item
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
- ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
- ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
- LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
- SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
- WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- @end enumerate
- @iftex
- @heading END OF TERMS AND CONDITIONS
- @end iftex
- @ifinfo
- @center END OF TERMS AND CONDITIONS
- @end ifinfo
- @page
- @unnumberedsec Appendix: How to Apply These Terms to Your New Programs
- If you develop a new program, and you want it to be of the greatest
- possible use to humanity, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these
- terms.
- To do so, attach the following notices to the program. It is safest to
- attach them to the start of each source file to most effectively convey
- the exclusion of warranty; and each file should have at least the
- ``copyright'' line and a pointer to where the full notice is found.
- @smallexample
- @var{one line to give the program's name and a brief idea of what it does.}
- Copyright (C) 19@var{yy} @var{name of author}
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 1, or (at your option)
- any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- @end smallexample
- Also add information on how to contact you by electronic and paper mail.
- If the program is interactive, make it output a short notice like this
- when it starts in an interactive mode:
- @smallexample
- Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
- @end smallexample
- The hypothetical commands `show w' and `show c' should show the
- appropriate parts of the General Public License. Of course, the
- commands you use may be called something other than `show w' and `show
- c'; they could even be mouse-clicks or menu items---whatever suits your
- program.
- @page
- You should also get your employer (if you work as a programmer) or your
- school, if any, to sign a ``copyright disclaimer'' for the program, if
- necessary. Here a sample; alter the names:
- @example
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (a program to direct compilers to make passes
- at assemblers) written by James Hacker.
- @var{signature of Ty Coon}, 1 April 1989
- Ty Coon, President of Vice
- @end example
- That's all there is to it!
- @comment node-name, next, previous, up
- @node Distrib, Intro, License, Top
- @unnumbered Distribution
- XEmacs is @dfn{free}; this means that everyone is free to use it and
- free to redistribute it on a free basis. XEmacs is not in the public
- domain; it is copyrighted and there are restrictions on its
- distribution, but these restrictions are designed to permit everything
- that a good cooperating citizen would want to do. What is not allowed
- is to try to prevent others from further sharing any version of XEmacs
- that they might get from you. The precise conditions are found in
- the GNU General Public License that comes with XEmacs and also appears
- following this section.
- The easiest way to get a copy of XEmacs is from someone else who has it.
- You need not ask for permission to do so, or tell any one else; just copy
- it.
- If you have access to the Internet, you can get the latest version of
- XEmacs from the anonymous FTP server @file{ftp.xemacs.org} in the directory
- @file{/pub/xemacs}. It can also be found at numerous other archive
- sites around the world; check the file @file{etc/DISTRIB} in an XEmacs
- distribution for the latest known list.
- @unnumberedsec Getting Other Versions of Emacs
- The Free Software Foundation's version of Emacs (called @dfn{FSF Emacs}
- in this manual and often referred to as @dfn{GNU Emacs}) is available
- by anonymous FTP from @file{prep.ai.mit.edu}.
- Win-Emacs, an older version of XEmacs that runs on Microsoft Windows
- and Windows NT, is available by anonymous FTP from @file{ftp.netcom.com}
- in the directory @file{/pub/pe/pearl}, or from @file{ftp.cica.indiana.edu}
- as the files @file{wemdemo*.zip} in the directory @file{/pub/pc/win3/demo}.
- @node Intro, Glossary, Distrib, Top
- @unnumbered Introduction
- You are reading about XEmacs, an incarnation of the advanced,
- self-documenting, customizable, extensible real-time display editor
- Emacs. XEmacs provides many powerful display and user-interface
- capabilities not found in other Emacsen and is mostly upwardly
- compatible with GNU Emacs from the Free Software Foundation
- (referred to as @dfn{FSF Emacs} in this manual). XEmacs also
- comes standard with a great number of useful packages.
- We say that XEmacs is a @dfn{display} editor because normally the text
- being edited is visible on the screen and is updated automatically as you
- type. @xref{Frame,Display}.
- We call XEmacs a @dfn{real-time} editor because the display is updated very
- frequently, usually after each character or pair of characters you
- type. This minimizes the amount of information you must keep in your
- head as you edit. @xref{Basic,Real-time,Basic Editing}.
- We call XEmacs advanced because it provides facilities that go beyond
- simple insertion and deletion: filling of text; automatic indentation of
- programs; viewing two or more files at once; and dealing in terms of
- characters, words, lines, sentences, paragraphs, and pages, as well as
- expressions and comments in several different programming languages. It is
- much easier to type one command meaning ``go to the end of the paragraph''
- than to find that spot with simple cursor keys.
- @dfn{Self-documenting} means that at any time you can type a special
- character, @kbd{Control-h}, to find out what your options are. You can
- also use @kbd{C-h} to find out what a command does, or to find all the
- commands relevant to a topic. @xref{Help}.
- @dfn{Customizable} means you can change the definitions of XEmacs
- commands. For example, if you use a programming language in
- which comments start with @samp{<**} and end with @samp{**>}, you can tell
- the XEmacs comment manipulation commands to use those strings
- (@pxref{Comments}). Another sort of customization is rearrangement of the
- command set. For example, you can set up the four basic cursor motion
- commands (up, down, left and right) on keys in a diamond pattern on the
- keyboard if you prefer. @xref{Customization}.
- @dfn{Extensible} means you can go beyond simple customization and
- write entirely new commands, programs in the Lisp language to be run by
- XEmacs's own Lisp interpreter. XEmacs is an ``on-line extensible''
- system: it is divided into many functions that call each other. You can
- redefine any function in the middle of an editing session and replace
- any part of XEmacs without making a separate copy of all of XEmacs. Most
- of the editing commands of XEmacs are written in Lisp; the few
- exceptions could have been written in Lisp but are written in C for
- efficiency. Only a programmer can write an extension to XEmacs, but anybody
- can use it afterward.
- @include frame.texi
- @include keystrokes.texi
- @include menus.texi
- @include entering.texi
- @include cmdargs.texi
- @include startup.texi
- @include basic.texi
- @include undo.texi
- @include mini.texi
- @include m-x.texi
- @include help.texi
- @include mark.texi
- @include mouse.texi
- @include killing.texi
- @include regs.texi
- @include display.texi
- @include search.texi
- @include fixit.texi
- @include files.texi
- @include buffers.texi
- @include windows.texi
- @include mule.texi
- @include major.texi
- @include indent.texi
- @include text.texi
- @include programs.texi
- @include building.texi
- @include packages.texi
- @include abbrevs.texi
- @include picture.texi
- @include sending.texi
- @include reading.texi
- @include calendar.texi
- @include misc.texi
- @include custom.texi
- @include trouble.texi
- @include new.texi
- @include glossary.texi
- @include gnu.texi
- @node Key Index, Command Index, Manifesto, Top
- @unnumbered Key (Character) Index
- @printindex ky
- @node Command Index, Variable Index, Key Index, Top
- @unnumbered Command and Function Index
- @printindex fn
- @node Variable Index, Concept Index, Command Index, Top
- @unnumbered Variable Index
- @printindex vr
- @node Concept Index, Frame, Variable Index, Top
- @unnumbered Concept Index
- @printindex cp
- @summarycontents
- @contents
- @bye
- @c Remember to delete these lines before creating the info file.
- @iftex
- @lucidbook
- @bindingoffset = 0.5in
- @parindent = 0pt
- @end iftex
|