428
+ − 1 \input texinfo @c -*-texinfo-*-
+ − 2 @setfilename ../../info/xemacs.info
+ − 3 @comment node-name, next, previous, up
+ − 4
+ − 5
+ − 6 @ifinfo
+ − 7 @dircategory XEmacs Editor
+ − 8 @direntry
+ − 9 * XEmacs: (xemacs). XEmacs Editor.
+ − 10 @end direntry
+ − 11
+ − 12 This file documents the XEmacs editor.
+ − 13
+ − 14 Copyright (C) 1985, 1986, 1988 Richard M. Stallman.
+ − 15 Copyright @copyright{} 1991, 1992, 1993, 1994 Lucid, Inc.
+ − 16 Copyright @copyright{} 1993, 1994 Sun Microsystems, Inc.
+ − 17 Copyright @copyright{} 1995 Amdahl Corporation.
+ − 18
+ − 19 Permission is granted to make and distribute verbatim copies of
+ − 20 this manual provided the copyright notice and this permission notice
+ − 21 are preserved on all copies.
+ − 22
+ − 23 @ignore
+ − 24 Permission is granted to process this file through Tex and print the
+ − 25 results, provided the printed document carries copying permission
+ − 26 notice identical to this one except for the removal of this paragraph
+ − 27 (this paragraph not being relevant to the printed manual).
+ − 28
+ − 29 @end ignore
+ − 30 Permission is granted to copy and distribute modified versions of this
+ − 31 manual under the conditions for verbatim copying, provided also that the
+ − 32 sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
+ − 33 General Public License'' are included exactly as in the original, and
+ − 34 provided that the entire resulting derived work is distributed under the
+ − 35 terms of a permission notice identical to this one.
+ − 36
+ − 37 Permission is granted to copy and distribute translations of this manual
+ − 38 into another language, under the above conditions for modified versions,
+ − 39 except that the sections entitled ``The GNU Manifesto'',
+ − 40 ``Distribution'' and ``GNU General Public License'' may be included in a
+ − 41 translation approved by the author instead of in the original English.
+ − 42 @end ifinfo
+ − 43 @c
+ − 44 @setchapternewpage odd
+ − 45 @settitle XEmacs User's Manual
+ − 46 @c
+ − 47 @titlepage
+ − 48 @sp 6
+ − 49 @center @titlefont{XEmacs User's Manual}
+ − 50 @sp 4
+ − 51 @sp 1
+ − 52 @sp 1
+ − 53 @center July 1994
+ − 54 @center (General Public License upgraded, January 1991)
+ − 55 @sp 5
+ − 56 @center Richard Stallman
+ − 57 @sp 1
+ − 58 @center Lucid, Inc.
+ − 59 @sp 1
+ − 60 @center and
+ − 61 @sp 1
+ − 62 @center Ben Wing
+ − 63 @page
+ − 64 @vskip 0pt plus 1filll
+ − 65 Copyright @copyright{} 1985, 1986, 1988 Richard M. Stallman.
+ − 66
+ − 67 Copyright @copyright{} 1991, 1992, 1993, 1994 Lucid, Inc.
+ − 68
+ − 69 Copyright @copyright{} 1993, 1994 Sun Microsystems, Inc.
+ − 70
+ − 71 Copyright @copyright{} 1995 Amdahl Corporation.
+ − 72
+ − 73 Permission is granted to make and distribute verbatim copies of
+ − 74 this manual provided the copyright notice and this permission notice
+ − 75 are preserved on all copies.
+ − 76
+ − 77 Permission is granted to copy and distribute modified versions of this
+ − 78 manual under the conditions for verbatim copying, provided also that the
+ − 79 sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
+ − 80 General Public License'' are included exactly as in the original, and
+ − 81 provided that the entire resulting derived work is distributed under the
+ − 82 terms of a permission notice identical to this one.
+ − 83
+ − 84 Permission is granted to copy and distribute translations of this manual
+ − 85 into another language, under the above conditions for modified versions,
+ − 86 except that the sections entitled ``The GNU Manifesto'',
+ − 87 ``Distribution'' and ``GNU General Public License'' may be included in a
+ − 88 translation approved by the author instead of in the original English.
+ − 89 @end titlepage
+ − 90 @page
696
+ − 91 @ifnottex
428
+ − 92 @node Top, License,, (dir)
438
+ − 93 @top The XEmacs Editor
428
+ − 94
+ − 95
+ − 96 XEmacs is the extensible, customizable, self-documenting real-time
+ − 97 display editor. This Info file describes how to edit with Emacs
+ − 98 and some of how to customize it, but not how to extend it. It
+ − 99 corresponds to XEmacs version 21.0.
+ − 100
+ − 101 This manual is intended as a detailed reference to XEmacs. If
+ − 102 you are looking for an introductory manual, see the New User's
+ − 103 Guide.
+ − 104
696
+ − 105 @end ifnottex
428
+ − 106 @menu
+ − 107 * License:: The GNU General Public License gives you permission
+ − 108 to redistribute XEmacs on certain terms; and also
+ − 109 explains that there is no warranty.
+ − 110 * Distrib:: How to get XEmacs.
+ − 111 * Intro:: An introduction to XEmacs concepts.
+ − 112 * Glossary:: The glossary.
+ − 113 * Manifesto:: What's GNU? Gnu's Not Unix!
+ − 114
+ − 115 Indices, nodes containing large menus
+ − 116 * Key Index:: An item for each standard XEmacs key sequence.
+ − 117 * Command Index:: An item for each command name.
+ − 118 * Variable Index:: An item for each documented variable.
+ − 119 * Concept Index:: An item for each concept.
+ − 120
+ − 121 Important General Concepts
+ − 122 * Frame:: How to interpret what you see on the screen.
+ − 123 * Keystrokes:: Keyboard gestures XEmacs recognizes.
+ − 124 * Pull-down Menus::
+ − 125 The XEmacs Pull-down Menus available under X.
+ − 126 * Entering Emacs::
+ − 127 Starting Emacs from the shell.
+ − 128 * Exiting:: Stopping or killing XEmacs.
+ − 129 * Command Switches::
+ − 130 Hairy startup options.
+ − 131 * Startup Paths::
444
+ − 132 How XEmacs finds Directories and Files.
+ − 133 * Packages:: How XEmacs organizes its high-level functionality.
428
+ − 134
+ − 135 Fundamental Editing Commands
+ − 136 * Basic:: The most basic editing commands.
+ − 137 * Undo:: Undoing recently made changes in the text.
+ − 138 * Minibuffer:: Entering arguments that are prompted for.
+ − 139 * M-x:: Invoking commands by their names.
+ − 140 * Help:: Commands for asking XEmacs about its commands.
+ − 141
+ − 142 Important Text-Changing Commands
+ − 143 * Mark:: The mark: how to delimit a ``region'' of text.
+ − 144 * Mouse Selection::
+ − 145 Selecting text with the mouse.
+ − 146 * Additional Mouse Operations::
+ − 147 Other operations available from the mouse.
+ − 148 * Killing:: Killing text.
+ − 149 * Yanking:: Recovering killed text. Moving text.
+ − 150 * Using X Selections::
+ − 151 Using primary selection, cut buffers, and highlighted regions.
+ − 152 * Accumulating Text::
+ − 153 Other ways of copying text.
+ − 154 * Rectangles:: Operating on the text inside a rectangle on the screen.
+ − 155 * Registers:: Saving a text string or a location in the buffer.
+ − 156 * Display:: Controlling what text is displayed.
+ − 157 * Search:: Finding or replacing occurrences of a string.
+ − 158 * Fixit:: Commands especially useful for fixing typos.
+ − 159
+ − 160 Larger Units of Text
+ − 161 * Files:: All about handling files.
+ − 162 * Buffers:: Multiple buffers; editing several files at once.
+ − 163 * Windows:: Viewing two pieces of text at once.
1184
+ − 164 * Mule:: Multibyte characters; multiple scripts at once; Unicode.
428
+ − 165
+ − 166 Advanced Features
+ − 167 * Major Modes:: Text mode vs. Lisp mode vs. C mode ...
+ − 168 * Indentation:: Editing the white space at the beginnings of lines.
+ − 169 * Text:: Commands and modes for editing English.
+ − 170 * Programs:: Commands and modes for editing programs.
+ − 171 * Running:: Compiling, running and debugging programs.
+ − 172 * Abbrevs:: How to define text abbreviations to reduce
+ − 173 the number of characters you must type.
+ − 174 * Picture:: Editing pictures made up of characters
+ − 175 using the quarter-plane screen model.
+ − 176 * Sending Mail:: Sending mail in XEmacs.
+ − 177 * Reading Mail:: Reading mail in XEmacs.
+ − 178 * Calendar/Diary:: A Calendar and diary facility in XEmacs.
+ − 179 * Sorting:: Sorting lines, paragraphs or pages within XEmacs.
+ − 180 * Shell:: Executing shell commands from XEmacs.
+ − 181 * Narrowing:: Restricting display and editing to a portion
+ − 182 of the buffer.
+ − 183 * Hardcopy:: Printing buffers or regions.
+ − 184 * Recursive Edit::
+ − 185 A command can allow you to do editing
+ − 186 "within the command". This is called a
+ − 187 `recursive editing level'.
+ − 188 * Dissociated Press:: Dissociating text for fun.
+ − 189 * CONX:: A different kind of dissociation.
+ − 190 * Amusements:: Various games and hacks.
+ − 191 * Emulation:: Emulating some other editors with XEmacs.
+ − 192 * Customization:: Modifying the behavior of XEmacs.
+ − 193
+ − 194 Recovery from Problems.
+ − 195 * Quitting:: Quitting and aborting.
+ − 196 * Lossage:: What to do if XEmacs is hung or malfunctioning.
+ − 197 * Bugs:: How and when to report a bug.
+ − 198
+ − 199 Here are some other nodes which are really inferiors of the ones
+ − 200 already listed, mentioned here so you can get to them in one step:
+ − 201
+ − 202 --- The Detailed Node Listing ---
+ − 203
+ − 204 The Organization of the Frame
+ − 205
+ − 206 * Point:: The place in the text where editing commands operate.
+ − 207 * Echo Area:: Short messages appear at the bottom of the frame.
+ − 208 * Mode Line:: Interpreting the mode line.
+ − 209 * XEmacs under X:: Some information on using XEmacs under the X
+ − 210 Window System.
+ − 211
+ − 212 Keystrokes
+ − 213
+ − 214 * Intro to Keystrokes:: Keystrokes as building blocks of key sequences.
+ − 215 * Representing Keystrokes:: Using lists of modifiers and keysyms to
+ − 216 represent keystrokes.
+ − 217 * Key Sequences:: Combine key strokes into key sequences you can
+ − 218 bind to commands.
+ − 219 * String Key Sequences:: Available for upward compatibility.
+ − 220 * Meta Key:: Using @key{ESC} to represent @key{Meta}
+ − 221 * Super and Hyper Keys:: Adding modifier keys on certain keyboards.
+ − 222 * Character Representation:: How characters appear in XEmacs buffers.
+ − 223 * Commands:: How commands are bound to key sequences.
+ − 224
+ − 225 Pull-down Menus
+ − 226
+ − 227 * File Menu:: Items on the File menu.
+ − 228 * Edit Menu:: Items on the Edit menu.
+ − 229 * Apps Menu:: Items on the Apps menu.
+ − 230 * Options Menu:: Items on the Options menu.
+ − 231 * Buffers Menu:: Information about the Buffers menu.
+ − 232 * Tools Menu:: Items on the Tools menu.
+ − 233 * Help Menu:: Items on the Help menu.
+ − 234 * Menu Customization:: Adding and removing menu items and related
+ − 235 operations.
+ − 236
444
+ − 237 Packages
+ − 238
+ − 239 * Packages:: Introduction to XEmacs Packages.
+ − 240 * Package Terminology:: Understanding different kinds of packages.
458
+ − 241 * Installing Packages:: How to install packages.
444
+ − 242 * Building Packages:: Building packages from sources.
458
+ − 243 * Local.rules File:: An important part of building packages.
+ − 244 * Available Packages:: A brief directory of packaged LISP.
444
+ − 245
428
+ − 246 Basic Editing Commands
+ − 247
+ − 248 * Blank Lines:: Commands to make or delete blank lines.
+ − 249 * Continuation Lines:: Lines too wide for the frame.
+ − 250 * Position Info:: What page, line, row, or column is point on?
+ − 251 * Arguments:: Numeric arguments for repeating a command.
+ − 252
+ − 253 The Minibuffer
+ − 254
+ − 255 * File: Minibuffer File. Entering file names with the minibuffer.
+ − 256 * Edit: Minibuffer Edit. How to edit in the minibuffer.
+ − 257 * Completion:: An abbreviation facility for minibuffer input.
+ − 258 * Repetition:: Re-executing commands that used the minibuffer.
+ − 259
+ − 260 The Mark and the Region
+ − 261
+ − 262 * Setting Mark:: Commands to set the mark.
+ − 263 * Using Region:: Summary of ways to operate on contents of the region.
+ − 264 * Marking Objects:: Commands to put region around textual units.
+ − 265 * Mark Ring:: Previous mark positions saved so you can go back there.
+ − 266
+ − 267 Yanking
+ − 268
+ − 269 * Kill Ring:: Where killed text is stored. Basic yanking.
+ − 270 * Appending Kills:: Several kills in a row all yank together.
+ − 271 * Earlier Kills:: Yanking something killed some time ago.
+ − 272
+ − 273 Using X Selections
+ − 274
+ − 275 * X Clipboard Selection:: Pasting to the X clipboard.
+ − 276 * X Selection Commands:: Other operations on the selection.
+ − 277 * X Cut Buffers:: X cut buffers are available for compatibility.
+ − 278 * Active Regions:: Using zmacs-style highlighting of the
+ − 279 selected region.
+ − 280
+ − 281 Registers
+ − 282
442
+ − 283 * Position: RegPos. Saving positions in registers.
+ − 284 * Text: RegText. Saving text in registers.
+ − 285 * Rectangle: RegRect. Saving rectangles in registers.
+ − 286 * Configurations: RegConfig. Saving window configurations in registers.
+ − 287 * Files: RegFiles. File names in registers.
+ − 288 * Numbers: RegNumbers. Numbers in registers.
+ − 289 * Bookmarks:: Bookmarks are like registers, but persistent.
428
+ − 290
+ − 291 Controlling the Display
+ − 292
+ − 293 * Scrolling:: Moving text up and down in a window.
+ − 294 * Horizontal Scrolling:: Moving text left and right in a window.
+ − 295 * Selective Display:: Hiding lines with lots of indentation.
+ − 296 * Display Vars:: Information on variables for customizing display.
+ − 297
+ − 298 Searching and Replacement
+ − 299
+ − 300 * Incremental Search:: Search happens as you type the string.
+ − 301 * Non-Incremental Search:: Specify entire string and then search.
+ − 302 * Word Search:: Search for sequence of words.
+ − 303 * Regexp Search:: Search for match for a regexp.
+ − 304 * Regexps:: Syntax of regular expressions.
+ − 305 * Search Case:: To ignore case while searching, or not.
+ − 306 * Replace:: Search, and replace some or all matches.
+ − 307 * Other Repeating Search:: Operating on all matches for some regexp.
+ − 308
+ − 309 Replacement Commands
+ − 310
+ − 311 * Unconditional Replace:: Replacing all matches for a string.
+ − 312 * Regexp Replace:: Replacing all matches for a regexp.
+ − 313 * Replacement and Case:: How replacements preserve case of letters.
+ − 314 * Query Replace:: How to use querying.
+ − 315
+ − 316 Commands for Fixing Typos
+ − 317
+ − 318 * Kill Errors:: Commands to kill a batch of recently entered text.
+ − 319 * Transpose:: Exchanging two characters, words, lines, lists...
+ − 320 * Fixing Case:: Correcting case of last word entered.
+ − 321 * Spelling:: Apply spelling checker to a word, or a whole file.
+ − 322
+ − 323 File Handling
+ − 324
+ − 325 * File Names:: How to type and edit file name arguments.
+ − 326 * Visiting:: Visiting a file prepares XEmacs to edit the file.
+ − 327 * Saving:: Saving makes your changes permanent.
+ − 328 * Reverting:: Reverting cancels all the changes not saved.
+ − 329 * Auto Save:: Auto Save periodically protects against loss of data.
+ − 330 * Version Control:: Version control systems (RCS and SCCS).
+ − 331 * ListDir:: Listing the contents of a file directory.
+ − 332 * Comparing Files:: Finding where two files differ.
+ − 333 * Dired:: ``Editing'' a directory to delete, rename, etc.
+ − 334 the files in it.
+ − 335 * Misc File Ops:: Other things you can do on files.
+ − 336
+ − 337 Saving Files
+ − 338
+ − 339 * Backup:: How XEmacs saves the old version of your file.
+ − 340 * Interlocking:: How XEmacs protects against simultaneous editing
+ − 341 of one file by two users.
+ − 342
+ − 343 Backup Files
+ − 344
+ − 345 * Names: Backup Names. How backup files are named;
+ − 346 Choosing single or numbered backup files.
+ − 347 * Deletion: Backup Deletion. XEmacs deletes excess numbered backups.
+ − 348 * Copying: Backup Copying. Backups can be made by copying or renaming.
+ − 349
+ − 350 Auto-Saving: Protection Against Disasters
+ − 351
+ − 352 * Files: Auto Save Files.
+ − 353 * Control: Auto Save Control.
+ − 354 * Recover:: Recovering text from auto-save files.
+ − 355
+ − 356 Version Control
+ − 357
+ − 358 * Concepts of VC:: Basic version control information;
+ − 359 checking files in and out.
+ − 360 * Editing with VC:: Commands for editing a file maintained
+ − 361 with version control.
+ − 362 * Variables for Check-in/out:: Variables that affect the commands used
+ − 363 to check files in or out.
+ − 364 * Log Entries:: Logging your changes.
+ − 365 * Change Logs and VC:: Generating a change log file from log
+ − 366 entries.
+ − 367 * Old Versions:: Examining and comparing old versions.
+ − 368 * VC Status:: Commands to view the VC status of files and
+ − 369 look at log entries.
+ − 370 * Renaming and VC:: A command to rename both the source and
+ − 371 master file correctly.
+ − 372 * Snapshots:: How to make and use snapshots, a set of
+ − 373 file versions that can be treated as a unit.
+ − 374 * Version Headers:: Inserting version control headers into
+ − 375 working files.
+ − 376
+ − 377 Snapshots
+ − 378
+ − 379 * Making Snapshots:: The snapshot facilities.
+ − 380 * Snapshot Caveats:: Things to be careful of when using snapshots.
+ − 381
+ − 382 Dired, the Directory Editor
+ − 383
+ − 384 * Enter: Dired Enter. How to invoke Dired.
+ − 385 * Edit: Dired Edit. Editing the Dired buffer.
+ − 386 * Deletion: Dired Deletion. Deleting files with Dired.
+ − 387 * Immed: Dired Immed. Other file operations through Dired.
+ − 388
+ − 389 Using Multiple Buffers
+ − 390
+ − 391 * Select Buffer:: Creating a new buffer or reselecting an old one.
+ − 392 * List Buffers:: Getting a list of buffers that exist.
+ − 393 * Misc Buffer:: Renaming; changing read-onliness; copying text.
+ − 394 * Kill Buffer:: Killing buffers you no longer need.
+ − 395 * Several Buffers:: How to go through the list of all buffers
+ − 396 and operate variously on several of them.
+ − 397
+ − 398 Multiple Windows
+ − 399
+ − 400 * Basic Window:: Introduction to XEmacs windows.
+ − 401 * Split Window:: New windows are made by splitting existing windows.
+ − 402 * Other Window:: Moving to another window or doing something to it.
+ − 403 * Pop Up Window:: Finding a file or buffer in another window.
+ − 404 * Change Window:: Deleting windows and changing their sizes.
+ − 405
1184
+ − 406 Multiple Scripts and Unicode
+ − 407
+ − 408 * Mule Intro:: Basic concepts of multilingual text.
+ − 409 * Language Environments:: Setting things up for the language you use.
+ − 410 * Input Methods:: Entering text characters not on your keyboard.
+ − 411 * Select Input Method:: Specifying your choice of input methods.
+ − 412 * Coding Systems:: Character set conversion when you read and
+ − 413 write files, and so on.
+ − 414 * Recognize Coding:: How XEmacs figures out which conversion to use.
+ − 415 * Unification:: Integrating overlapping character sets.
+ − 416 * Charsets and Coding Systems:: Tables and other reference material.
+ − 417
428
+ − 418 Major Modes
+ − 419
+ − 420 * Choosing Modes:: How major modes are specified or chosen.
+ − 421
+ − 422 Indentation
+ − 423
+ − 424 * Indentation Commands:: Various commands and techniques for indentation.
+ − 425 * Tab Stops:: You can set arbitrary "tab stops" and then
+ − 426 indent to the next tab stop when you want to.
+ − 427 * Just Spaces:: You can request indentation using just spaces.
+ − 428
+ − 429 Commands for Human Languages
+ − 430
+ − 431 * Text Mode:: The major modes for editing text files.
+ − 432 * Nroff Mode:: The major mode for editing input to the formatter nroff.
+ − 433 * TeX Mode:: The major modes for editing input to the formatter TeX.
+ − 434 * Outline Mode:: The major mode for editing outlines.
+ − 435 * Words:: Moving over and killing words.
+ − 436 * Sentences:: Moving over and killing sentences.
+ − 437 * Paragraphs:: Moving over paragraphs.
+ − 438 * Pages:: Moving over pages.
+ − 439 * Filling:: Filling or justifying text
+ − 440 * Case:: Changing the case of text
+ − 441
+ − 442 @TeX{} Mode
+ − 443
+ − 444 * Editing: TeX Editing. Special commands for editing in TeX mode.
+ − 445 * Printing: TeX Print. Commands for printing part of a file with TeX.
+ − 446
+ − 447 Outline Mode
+ − 448
+ − 449 * Format: Outline Format. What the text of an outline looks like.
+ − 450 * Motion: Outline Motion. Special commands for moving through outlines.
+ − 451 * Visibility: Outline Visibility. Commands to control what is visible.
+ − 452
+ − 453 Filling Text
+ − 454
+ − 455 * Auto Fill:: Auto Fill mode breaks long lines automatically.
+ − 456 * Fill Commands:: Commands to refill paragraphs and center lines.
+ − 457 * Fill Prefix:: Filling when every line is indented or in a comment, etc.
+ − 458
+ − 459 Editing Programs
+ − 460
+ − 461 * Program Modes:: Major modes for editing programs.
+ − 462 * Lists:: Expressions with balanced parentheses.
+ − 463 There are editing commands to operate on them.
+ − 464 * Defuns:: Each program is made up of separate functions.
+ − 465 There are editing commands to operate on them.
+ − 466 * Grinding:: Adjusting indentation to show the nesting.
+ − 467 * Matching:: Insertion of a close-delimiter flashes matching open.
+ − 468 * Comments:: Inserting, filling and aligning comments.
+ − 469 * Balanced Editing:: Inserting two matching parentheses at once, etc.
+ − 470 * Lisp Completion:: Completion on symbol names in Lisp code.
+ − 471 * Documentation:: Getting documentation of functions you plan to call.
+ − 472 * Change Log:: Maintaining a change history for your program.
+ − 473 * Tags:: Go directly to any function in your program in one
+ − 474 command. Tags remembers which file it is in.
2522
+ − 475 * CC Mode:: Modes for C, C++, Java and similar languages
428
+ − 476 * Fortran:: Fortran mode and its special features.
+ − 477 * Asm Mode:: Asm mode and its special features.
+ − 478
+ − 479 Indentation for Programs
+ − 480
+ − 481 * Basic Indent::
+ − 482 * Multi-line Indent:: Commands to reindent many lines at once.
+ − 483 * Lisp Indent:: Specifying how each Lisp function should be indented.
+ − 484
+ − 485 Tags Tables
+ − 486
+ − 487 * Tag Syntax:: Tag syntax for various types of code and text files.
+ − 488 * Create Tags Table:: Creating a tags table with @code{etags}.
+ − 489 * Select Tags Table:: How to visit a tags table.
+ − 490 * Find Tag:: Commands to find the definition of a specific tag.
+ − 491 * Tags Search:: Using a tags table for searching and replacing.
+ − 492 * List Tags:: Listing and finding tags defined in a file.
+ − 493
+ − 494 Fortran Mode
+ − 495
+ − 496 * Motion: Fortran Motion. Moving point by statements or subprograms.
+ − 497 * Indent: Fortran Indent. Indentation commands for Fortran.
+ − 498 * Comments: Fortran Comments. Inserting and aligning comments.
+ − 499 * Columns: Fortran Columns. Measuring columns for valid Fortran.
+ − 500 * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords.
+ − 501
+ − 502 Fortran Indentation
+ − 503
+ − 504 * Commands: ForIndent Commands. Commands for indenting Fortran.
+ − 505 * Numbers: ForIndent Num. How line numbers auto-indent.
+ − 506 * Conv: ForIndent Conv. Conventions you must obey to avoid trouble.
+ − 507 * Vars: ForIndent Vars. Variables controlling Fortran indent style.
+ − 508
+ − 509 Compiling and Testing Programs
+ − 510
+ − 511 * Compilation:: Compiling programs in languages other than Lisp
+ − 512 (C, Pascal, etc.)
+ − 513 * Modes: Lisp Modes. Various modes for editing Lisp programs, with
+ − 514 different facilities for running the Lisp programs.
+ − 515 * Libraries: Lisp Libraries. Creating Lisp programs to run in XEmacs.
+ − 516 * Eval: Lisp Eval. Executing a single Lisp expression in XEmacs.
+ − 517 * Debug: Lisp Debug. Debugging Lisp programs running in XEmacs.
+ − 518 * Interaction: Lisp Interaction. Executing Lisp in an XEmacs buffer.
+ − 519 * External Lisp:: Communicating through XEmacs with a separate Lisp.
+ − 520
+ − 521 Lisp Libraries
+ − 522
+ − 523 * Loading:: Loading libraries of Lisp code into XEmacs for use.
+ − 524 * Compiling Libraries:: Compiling a library makes it load and run faster.
+ − 525 * Mocklisp:: Converting Mocklisp to Lisp so XEmacs can run it.
+ − 526
+ − 527 Abbrevs
+ − 528
+ − 529 * Defining Abbrevs:: Defining an abbrev, so it will expand when typed.
+ − 530 * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion.
+ − 531 * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs.
+ − 532 * Saving Abbrevs:: Saving the entire list of abbrevs for another session.
+ − 533 * Dynamic Abbrevs:: Abbreviations for words already in the buffer.
+ − 534
+ − 535 Editing Pictures
+ − 536
+ − 537 * Basic Picture:: Basic concepts and simple commands of Picture Mode.
+ − 538 * Insert in Picture:: Controlling direction of cursor motion
+ − 539 after "self-inserting" characters.
+ − 540 * Tabs in Picture:: Various features for tab stops and indentation.
+ − 541 * Rectangles in Picture:: Clearing and superimposing rectangles.
+ − 542
+ − 543 Sending Mail
+ − 544
+ − 545 * Format: Mail Format. Format of the mail being composed.
+ − 546 * Headers: Mail Headers. Details of allowed mail header fields.
+ − 547 * Mode: Mail Mode. Special commands for editing mail being composed.
+ − 548
+ − 549 Running Shell Commands from XEmacs
+ − 550
+ − 551 * Single Shell:: How to run one shell command and return.
+ − 552 * Interactive Shell:: Permanent shell taking input via XEmacs.
+ − 553 * Shell Mode:: Special XEmacs commands used with permanent shell.
+ − 554
+ − 555 Customization
+ − 556
+ − 557 * Minor Modes:: Each minor mode is one feature you can turn on
+ − 558 independently of any others.
+ − 559 * Variables:: Many XEmacs commands examine XEmacs variables
+ − 560 to decide what to do; by setting variables,
+ − 561 you can control their functioning.
+ − 562 * Keyboard Macros:: A keyboard macro records a sequence of keystrokes
+ − 563 to be replayed with a single command.
+ − 564 * Key Bindings:: The keymaps say what command each key runs.
+ − 565 By changing them, you can "redefine keys".
+ − 566 * Syntax:: The syntax table controls how words and expressions
+ − 567 are parsed.
442
+ − 568 * Init File:: How to write common customizations in the init file.
428
+ − 569 * Audible Bell:: Changing how XEmacs sounds the bell.
+ − 570 * Faces:: Changing the fonts and colors of a region of text.
+ − 571 * X Resources:: X resources controlling various aspects of the
+ − 572 behavior of XEmacs.
+ − 573
+ − 574 Variables
+ − 575
+ − 576 * Examining:: Examining or setting one variable's value.
+ − 577 * Easy Customization:: Convenient and easy customization of variables.
+ − 578 * Edit Options:: Examining or editing list of all variables' values.
+ − 579 * Locals:: Per-buffer values of variables.
+ − 580 * File Variables:: How files can specify variable values.
+ − 581
+ − 582 Keyboard Macros
+ − 583
+ − 584 * Basic Kbd Macro:: Defining and running keyboard macros.
+ − 585 * Save Kbd Macro:: Giving keyboard macros names; saving them in files.
+ − 586 * Kbd Macro Query:: Keyboard macros that do different things each use.
+ − 587
+ − 588 Customizing Key Bindings
+ − 589
+ − 590 * Keymaps:: Definition of the keymap data structure.
+ − 591 Names of XEmacs's standard keymaps.
+ − 592 * Rebinding:: How to redefine one key's meaning conveniently.
+ − 593 * Disabling:: Disabling a command means confirmation is required
+ − 594 before it can be executed. This is done to protect
+ − 595 beginners from surprises.
+ − 596
+ − 597 The Syntax Table
+ − 598
+ − 599 * Entry: Syntax Entry. What the syntax table records for each character.
+ − 600 * Change: Syntax Change. How to change the information.
+ − 601
442
+ − 602 The Init File
428
+ − 603
+ − 604 * Init Syntax:: Syntax of constants in Emacs Lisp.
+ − 605 * Init Examples:: How to do some things with an init file.
+ − 606 * Terminal Init:: Each terminal type can have an init file.
+ − 607
3387
+ − 608 Faces
+ − 609
+ − 610 * Xft Font Customization:: Configuring the next generation of fonts.
+ − 611
428
+ − 612 Dealing with XEmacs Trouble
+ − 613
+ − 614 * Stuck Recursive:: `[...]' in mode line around the parentheses.
+ − 615 * Screen Garbled:: Garbage on the screen.
+ − 616 * Text Garbled:: Garbage in the text.
+ − 617 * Unasked-for Search:: Spontaneous entry to incremental search.
+ − 618 * Emergency Escape:: Emergency escape---
+ − 619 What to do if XEmacs stops responding.
+ − 620 * Total Frustration:: When you are at your wits' end.
+ − 621
+ − 622 @end menu
+ − 623
+ − 624 @iftex
+ − 625 @unnumbered Preface
+ − 626
+ − 627 This manual documents the use and simple customization of the XEmacs
+ − 628 editor. The reader is not expected to be a programmer to use this
+ − 629 editor, and simple customizations do not require programming skills either.
+ − 630 Users who are not interested in customizing XEmacs can ignore the scattered
+ − 631 customization hints.
+ − 632
+ − 633 This document is primarily a reference manual, but it can also be used as a
+ − 634 primer. However, if you are new to XEmacs, consider using the on-line,
+ − 635 learn-by-doing tutorial, which you get by running XEmacs and typing
+ − 636 @kbd{C-h t}. With it, you learn XEmacs by using XEmacs on a specially
+ − 637 designed file which describes commands, tells you when to try them,
+ − 638 and then explains the results you see. Using the tutorial gives a more vivid
+ − 639 introduction than the printed manual. Also consider reading the XEmacs
+ − 640 New User's Guide, which is intended specifically as an introductory
+ − 641 manual rather than as a reference guide.
+ − 642
+ − 643 On first reading, just skim chapters one and two, which describe the
+ − 644 notational conventions of the manual and the general appearance of the
+ − 645 XEmacs display frame. Note which questions are answered in these chapters,
+ − 646 so you can refer back later. After reading chapter four you should
+ − 647 practice the commands there. The next few chapters describe fundamental
+ − 648 techniques and concepts that are used constantly. You need to understand
+ − 649 them thoroughly, experimenting with them if necessary.
+ − 650
+ − 651 To find the documentation on a particular command, look in the index.
+ − 652 Keys (character commands) and command names have separate indexes. There
+ − 653 is also a glossary, with a cross reference for each term.
+ − 654
+ − 655 @ignore
+ − 656 If you know vaguely what the command
+ − 657 does, look in the command summary. The command summary contains a line or
+ − 658 two about each command, and a cross reference to the section of the
+ − 659 manual that describes the command in more detail; related commands
+ − 660 are grouped together.
+ − 661 @end ignore
+ − 662
+ − 663 This manual comes in two forms: the published form and the Info form.
+ − 664 The Info form is for on-line perusal with the INFO program; it is
+ − 665 distributed along with XEmacs. Both forms contain substantially the
+ − 666 same text and are generated from a common source file, which is also
+ − 667 distributed along with XEmacs.
+ − 668
+ − 669 XEmacs is a member of the Emacs editor family. There are many Emacs
+ − 670 editors, all sharing common principles of organization. For information on
+ − 671 the underlying philosophy of Emacs and the lessons learned from its
+ − 672 development, write for a copy of AI memo 519a, ``Emacs, the Extensible,
+ − 673 Customizable Self-Documenting Display Editor'', to Publications Department,
+ − 674 Artificial Intelligence Lab, 545 Tech Square, Cambridge, MA 02139, USA. At
+ − 675 last report they charge $2.25 per copy. Another useful publication is LCS
+ − 676 TM-165, ``A Cookbook for an Emacs'', by Craig Finseth, available from
+ − 677 Publications Department, Laboratory for Computer Science, 545 Tech Square,
+ − 678 Cambridge, MA 02139, USA. The price today is $3.
+ − 679
+ − 680 This manual is for XEmacs installed on UNIX systems. XEmacs also
+ − 681 exists on Microsoft Windows and Windows NT as Win-Emacs (which is
+ − 682 actually based on Lucid Emacs 19.6, an older incarnation of XEmacs).
+ − 683 @end iftex
+ − 684
+ − 685 @comment node-name, next, previous, up
+ − 686 @node License, Distrib, Top, Top
+ − 687 @unnumbered GNU GENERAL PUBLIC LICENSE
+ − 688 @center Version 1, February 1989
+ − 689 @cindex license to copy XEmacs
+ − 690 @cindex General Public License
+ − 691
+ − 692 @display
+ − 693 Copyright @copyright{} 1989 Free Software Foundation, Inc.
+ − 694 675 Mass Ave, Cambridge, MA 02139, USA
+ − 695
+ − 696 Everyone is permitted to copy and distribute verbatim copies
+ − 697 of this license document, but changing it is not allowed.
+ − 698 @end display
+ − 699
+ − 700 @unnumberedsec Preamble
+ − 701
+ − 702 The license agreements of most software companies try to keep users
+ − 703 at the mercy of those companies. By contrast, our General Public
+ − 704 License is intended to guarantee your freedom to share and change free
+ − 705 software---to make sure the software is free for all its users. The
+ − 706 General Public License applies to the Free Software Foundation's
+ − 707 software and to any other program whose authors commit to using it.
+ − 708 You can use it for your programs, too.
+ − 709
+ − 710 When we speak of free software, we are referring to freedom, not
+ − 711 price. Specifically, the General Public License is designed to make
+ − 712 sure that you have the freedom to give away or sell copies of free
+ − 713 software, that you receive source code or can get it if you want it,
+ − 714 that you can change the software or use pieces of it in new free
+ − 715 programs; and that you know you can do these things.
+ − 716
+ − 717 To protect your rights, we need to make restrictions that forbid
+ − 718 anyone to deny you these rights or to ask you to surrender the rights.
+ − 719 These restrictions translate to certain responsibilities for you if you
+ − 720 distribute copies of the software, or if you modify it.
+ − 721
+ − 722 For example, if you distribute copies of a such a program, whether
+ − 723 gratis or for a fee, you must give the recipients all the rights that
+ − 724 you have. You must make sure that they, too, receive or can get the
+ − 725 source code. And you must tell them their rights.
+ − 726
+ − 727 We protect your rights with two steps: (1) copyright the software, and
+ − 728 (2) offer you this license which gives you legal permission to copy,
+ − 729 distribute and/or modify the software.
+ − 730
+ − 731 Also, for each author's protection and ours, we want to make certain
+ − 732 that everyone understands that there is no warranty for this free
+ − 733 software. If the software is modified by someone else and passed on, we
+ − 734 want its recipients to know that what they have is not the original, so
+ − 735 that any problems introduced by others will not reflect on the original
+ − 736 authors' reputations.
+ − 737
+ − 738 The precise terms and conditions for copying, distribution and
+ − 739 modification follow.
+ − 740
+ − 741 @iftex
+ − 742 @unnumberedsec TERMS AND CONDITIONS
+ − 743 @end iftex
+ − 744 @ifinfo
+ − 745 @center TERMS AND CONDITIONS
+ − 746 @end ifinfo
+ − 747
+ − 748 @enumerate
+ − 749 @item
+ − 750 This License Agreement applies to any program or other work which
+ − 751 contains a notice placed by the copyright holder saying it may be
+ − 752 distributed under the terms of this General Public License. The
+ − 753 ``Program'', below, refers to any such program or work, and a ``work based
+ − 754 on the Program'' means either the Program or any work containing the
+ − 755 Program or a portion of it, either verbatim or with modifications. Each
+ − 756 licensee is addressed as ``you''.
+ − 757
+ − 758 @item
+ − 759 @cindex Distribution
+ − 760 You may copy and distribute verbatim copies of the Program's source
+ − 761 code as you receive it, in any medium, provided that you conspicuously and
+ − 762 appropriately publish on each copy an appropriate copyright notice and
+ − 763 disclaimer of warranty; keep intact all the notices that refer to this
+ − 764 General Public License and to the absence of any warranty; and give any
+ − 765 other recipients of the Program a copy of this General Public License
+ − 766 along with the Program. You may charge a fee for the physical act of
+ − 767 transferring a copy.
+ − 768
+ − 769 @item
+ − 770 You may modify your copy or copies of the Program or any portion of
+ − 771 it, and copy and distribute such modifications under the terms of Paragraph
+ − 772 1 above, provided that you also do the following:
+ − 773
+ − 774 @itemize @bullet
+ − 775 @item
+ − 776 cause the modified files to carry prominent notices stating that
+ − 777 you changed the files and the date of any change; and
+ − 778
+ − 779 @item
+ − 780 cause the whole of any work that you distribute or publish, that
+ − 781 in whole or in part contains the Program or any part thereof, either
+ − 782 with or without modifications, to be licensed at no charge to all
+ − 783 third parties under the terms of this General Public License (except
+ − 784 that you may choose to grant warranty protection to some or all
+ − 785 third parties, at your option).
+ − 786
+ − 787 @item
+ − 788 If the modified program normally reads commands interactively when
+ − 789 run, you must cause it, when started running for such interactive use
+ − 790 in the simplest and most usual way, to print or display an
+ − 791 announcement including an appropriate copyright notice and a notice
+ − 792 that there is no warranty (or else, saying that you provide a
+ − 793 warranty) and that users may redistribute the program under these
+ − 794 conditions, and telling the user how to view a copy of this General
+ − 795 Public License.
+ − 796
+ − 797 @item
+ − 798 You may charge a fee for the physical act of transferring a
+ − 799 copy, and you may at your option offer warranty protection in
+ − 800 exchange for a fee.
+ − 801 @end itemize
+ − 802
+ − 803 Mere aggregation of another independent work with the Program (or its
+ − 804 derivative) on a volume of a storage or distribution medium does not bring
+ − 805 the other work under the scope of these terms.
+ − 806
+ − 807 @item
+ − 808 You may copy and distribute the Program (or a portion or derivative of
+ − 809 it, under Paragraph 2) in object code or executable form under the terms of
+ − 810 Paragraphs 1 and 2 above provided that you also do one of the following:
+ − 811
+ − 812 @itemize @bullet
+ − 813 @item
+ − 814 accompany it with the complete corresponding machine-readable
+ − 815 source code, which must be distributed under the terms of
+ − 816 Paragraphs 1 and 2 above; or,
+ − 817
+ − 818 @item
+ − 819 accompany it with a written offer, valid for at least three
+ − 820 years, to give any third party free (except for a nominal charge
+ − 821 for the cost of distribution) a complete machine-readable copy of the
+ − 822 corresponding source code, to be distributed under the terms of
+ − 823 Paragraphs 1 and 2 above; or,
+ − 824
+ − 825 @item
+ − 826 accompany it with the information you received as to where the
+ − 827 corresponding source code may be obtained. (This alternative is
+ − 828 allowed only for noncommercial distribution and only if you
+ − 829 received the program in object code or executable form alone.)
+ − 830 @end itemize
+ − 831
+ − 832 Source code for a work means the preferred form of the work for making
+ − 833 modifications to it. For an executable file, complete source code means
+ − 834 all the source code for all modules it contains; but, as a special
+ − 835 exception, it need not include source code for modules which are standard
+ − 836 libraries that accompany the operating system on which the executable
+ − 837 file runs, or for standard header files or definitions files that
+ − 838 accompany that operating system.
+ − 839
+ − 840 @item
+ − 841 You may not copy, modify, sublicense, distribute or transfer the
+ − 842 Program except as expressly provided under this General Public License.
+ − 843 Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+ − 844 the Program is void, and will automatically terminate your rights to use
+ − 845 the Program under this License. However, parties who have received
+ − 846 copies, or rights to use copies, from you under this General Public
+ − 847 License will not have their licenses terminated so long as such parties
+ − 848 remain in full compliance.
+ − 849
+ − 850 @item
+ − 851 By copying, distributing or modifying the Program (or any work based
+ − 852 on the Program) you indicate your acceptance of this license to do so,
+ − 853 and all its terms and conditions.
+ − 854
+ − 855 @item
+ − 856 Each time you redistribute the Program (or any work based on the
+ − 857 Program), the recipient automatically receives a license from the original
+ − 858 licensor to copy, distribute or modify the Program subject to these
+ − 859 terms and conditions. You may not impose any further restrictions on the
+ − 860 recipients' exercise of the rights granted herein.
+ − 861
+ − 862 @page
+ − 863 @item
+ − 864 The Free Software Foundation may publish revised and/or new versions
+ − 865 of the General Public License from time to time. Such new versions will
+ − 866 be similar in spirit to the present version, but may differ in detail to
+ − 867 address new problems or concerns.
+ − 868
+ − 869 Each version is given a distinguishing version number. If the Program
+ − 870 specifies a version number of the license which applies to it and ``any
+ − 871 later version'', you have the option of following the terms and conditions
+ − 872 either of that version or of any later version published by the Free
+ − 873 Software Foundation. If the Program does not specify a version number of
+ − 874 the license, you may choose any version ever published by the Free Software
+ − 875 Foundation.
+ − 876
+ − 877 @item
+ − 878 If you wish to incorporate parts of the Program into other free
+ − 879 programs whose distribution conditions are different, write to the author
+ − 880 to ask for permission. For software which is copyrighted by the Free
+ − 881 Software Foundation, write to the Free Software Foundation; we sometimes
+ − 882 make exceptions for this. Our decision will be guided by the two goals
+ − 883 of preserving the free status of all derivatives of our free software and
+ − 884 of promoting the sharing and reuse of software generally.
+ − 885
+ − 886 @iftex
+ − 887 @heading NO WARRANTY
+ − 888 @end iftex
+ − 889 @ifinfo
+ − 890 @center NO WARRANTY
+ − 891 @end ifinfo
+ − 892
+ − 893 @item
+ − 894 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+ − 895 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+ − 896 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+ − 897 PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+ − 898 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ − 899 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+ − 900 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+ − 901 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+ − 902 REPAIR OR CORRECTION.
+ − 903
+ − 904 @item
+ − 905 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
+ − 906 ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+ − 907 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+ − 908 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
+ − 909 ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
+ − 910 LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
+ − 911 SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
+ − 912 WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
+ − 913 ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ − 914 @end enumerate
+ − 915
+ − 916 @iftex
+ − 917 @heading END OF TERMS AND CONDITIONS
+ − 918 @end iftex
+ − 919 @ifinfo
+ − 920 @center END OF TERMS AND CONDITIONS
+ − 921 @end ifinfo
+ − 922
+ − 923 @page
+ − 924 @unnumberedsec Appendix: How to Apply These Terms to Your New Programs
+ − 925
+ − 926 If you develop a new program, and you want it to be of the greatest
+ − 927 possible use to humanity, the best way to achieve this is to make it
+ − 928 free software which everyone can redistribute and change under these
+ − 929 terms.
+ − 930
+ − 931 To do so, attach the following notices to the program. It is safest to
+ − 932 attach them to the start of each source file to most effectively convey
+ − 933 the exclusion of warranty; and each file should have at least the
+ − 934 ``copyright'' line and a pointer to where the full notice is found.
+ − 935
+ − 936 @smallexample
+ − 937 @var{one line to give the program's name and a brief idea of what it does.}
+ − 938 Copyright (C) 19@var{yy} @var{name of author}
+ − 939
+ − 940 This program is free software; you can redistribute it and/or modify
+ − 941 it under the terms of the GNU General Public License as published by
+ − 942 the Free Software Foundation; either version 1, or (at your option)
+ − 943 any later version.
+ − 944
+ − 945 This program is distributed in the hope that it will be useful,
+ − 946 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 947 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 948 GNU General Public License for more details.
+ − 949
+ − 950 You should have received a copy of the GNU General Public License
+ − 951 along with this program; if not, write to the Free Software
+ − 952 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ − 953 @end smallexample
+ − 954
+ − 955 Also add information on how to contact you by electronic and paper mail.
+ − 956
+ − 957 If the program is interactive, make it output a short notice like this
+ − 958 when it starts in an interactive mode:
+ − 959
+ − 960 @smallexample
+ − 961 Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
+ − 962 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ − 963 This is free software, and you are welcome to redistribute it
+ − 964 under certain conditions; type `show c' for details.
+ − 965 @end smallexample
+ − 966
+ − 967 The hypothetical commands `show w' and `show c' should show the
+ − 968 appropriate parts of the General Public License. Of course, the
+ − 969 commands you use may be called something other than `show w' and `show
+ − 970 c'; they could even be mouse-clicks or menu items---whatever suits your
+ − 971 program.
+ − 972
+ − 973 @page
+ − 974 You should also get your employer (if you work as a programmer) or your
+ − 975 school, if any, to sign a ``copyright disclaimer'' for the program, if
+ − 976 necessary. Here a sample; alter the names:
+ − 977
+ − 978 @example
+ − 979 Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ − 980 program `Gnomovision' (a program to direct compilers to make passes
+ − 981 at assemblers) written by James Hacker.
+ − 982
+ − 983 @var{signature of Ty Coon}, 1 April 1989
+ − 984 Ty Coon, President of Vice
+ − 985 @end example
+ − 986
+ − 987 That's all there is to it!
+ − 988
+ − 989 @comment node-name, next, previous, up
+ − 990 @node Distrib, Intro, License, Top
+ − 991 @unnumbered Distribution
+ − 992
+ − 993 XEmacs is @dfn{free}; this means that everyone is free to use it and
+ − 994 free to redistribute it on a free basis. XEmacs is not in the public
+ − 995 domain; it is copyrighted and there are restrictions on its
+ − 996 distribution, but these restrictions are designed to permit everything
+ − 997 that a good cooperating citizen would want to do. What is not allowed
+ − 998 is to try to prevent others from further sharing any version of XEmacs
+ − 999 that they might get from you. The precise conditions are found in
+ − 1000 the GNU General Public License that comes with XEmacs and also appears
+ − 1001 following this section.
+ − 1002
2537
+ − 1003 To get XEmacs, go to @uref{http://www.xemacs.org/Download/}.
428
+ − 1004
+ − 1005 @unnumberedsec Getting Other Versions of Emacs
+ − 1006
2537
+ − 1007 The Free Software Foundation's version of Emacs (@dfn{GNU Emacs}) is
+ − 1008 available at @uref{http://www.gnu.org/software/emacs/emacs.html}.
428
+ − 1009
+ − 1010 @node Intro, Glossary, Distrib, Top
+ − 1011 @unnumbered Introduction
+ − 1012
+ − 1013 You are reading about XEmacs, an incarnation of the advanced,
+ − 1014 self-documenting, customizable, extensible real-time display editor
+ − 1015 Emacs. XEmacs provides many powerful display and user-interface
+ − 1016 capabilities not found in other Emacsen and is mostly upwardly
2537
+ − 1017 compatible with GNU Emacs from the Free Software Foundation. XEmacs
+ − 1018 also comes standard with a great number of useful packages.
428
+ − 1019
+ − 1020 We say that XEmacs is a @dfn{display} editor because normally the text
+ − 1021 being edited is visible on the screen and is updated automatically as you
+ − 1022 type. @xref{Frame,Display}.
+ − 1023
+ − 1024 We call XEmacs a @dfn{real-time} editor because the display is updated very
+ − 1025 frequently, usually after each character or pair of characters you
+ − 1026 type. This minimizes the amount of information you must keep in your
+ − 1027 head as you edit. @xref{Basic,Real-time,Basic Editing}.
+ − 1028
+ − 1029 We call XEmacs advanced because it provides facilities that go beyond
+ − 1030 simple insertion and deletion: filling of text; automatic indentation of
+ − 1031 programs; viewing two or more files at once; and dealing in terms of
+ − 1032 characters, words, lines, sentences, paragraphs, and pages, as well as
+ − 1033 expressions and comments in several different programming languages. It is
+ − 1034 much easier to type one command meaning ``go to the end of the paragraph''
+ − 1035 than to find that spot with simple cursor keys.
+ − 1036
+ − 1037 @dfn{Self-documenting} means that at any time you can type a special
+ − 1038 character, @kbd{Control-h}, to find out what your options are. You can
+ − 1039 also use @kbd{C-h} to find out what a command does, or to find all the
+ − 1040 commands relevant to a topic. @xref{Help}.
+ − 1041
+ − 1042 @dfn{Customizable} means you can change the definitions of XEmacs
+ − 1043 commands. For example, if you use a programming language in
+ − 1044 which comments start with @samp{<**} and end with @samp{**>}, you can tell
+ − 1045 the XEmacs comment manipulation commands to use those strings
+ − 1046 (@pxref{Comments}). Another sort of customization is rearrangement of the
+ − 1047 command set. For example, you can set up the four basic cursor motion
+ − 1048 commands (up, down, left and right) on keys in a diamond pattern on the
+ − 1049 keyboard if you prefer. @xref{Customization}.
+ − 1050
+ − 1051 @dfn{Extensible} means you can go beyond simple customization and
+ − 1052 write entirely new commands, programs in the Lisp language to be run by
+ − 1053 XEmacs's own Lisp interpreter. XEmacs is an ``on-line extensible''
+ − 1054 system: it is divided into many functions that call each other. You can
+ − 1055 redefine any function in the middle of an editing session and replace
+ − 1056 any part of XEmacs without making a separate copy of all of XEmacs. Most
+ − 1057 of the editing commands of XEmacs are written in Lisp; the few
+ − 1058 exceptions could have been written in Lisp but are written in C for
+ − 1059 efficiency. Only a programmer can write an extension to XEmacs, but anybody
+ − 1060 can use it afterward.
+ − 1061
+ − 1062 @include frame.texi
+ − 1063 @include keystrokes.texi
+ − 1064 @include menus.texi
+ − 1065 @include entering.texi
+ − 1066 @include cmdargs.texi
+ − 1067 @include startup.texi
+ − 1068 @include basic.texi
+ − 1069 @include undo.texi
+ − 1070 @include mini.texi
+ − 1071 @include m-x.texi
+ − 1072 @include help.texi
+ − 1073 @include mark.texi
+ − 1074 @include mouse.texi
+ − 1075 @include killing.texi
+ − 1076 @include regs.texi
+ − 1077 @include display.texi
+ − 1078 @include search.texi
+ − 1079 @include fixit.texi
+ − 1080 @include files.texi
+ − 1081 @include buffers.texi
+ − 1082 @include windows.texi
+ − 1083 @include mule.texi
+ − 1084 @include major.texi
+ − 1085 @include indent.texi
+ − 1086 @include text.texi
+ − 1087 @include programs.texi
+ − 1088 @include building.texi
+ − 1089 @include packages.texi
+ − 1090 @include abbrevs.texi
+ − 1091 @include picture.texi
+ − 1092 @include sending.texi
+ − 1093 @include reading.texi
+ − 1094 @include calendar.texi
+ − 1095 @include misc.texi
+ − 1096 @include custom.texi
+ − 1097 @include trouble.texi
+ − 1098
+ − 1099 @include new.texi
+ − 1100 @include glossary.texi
+ − 1101 @include gnu.texi
+ − 1102
+ − 1103 @node Key Index, Command Index, Manifesto, Top
+ − 1104 @unnumbered Key (Character) Index
+ − 1105 @printindex ky
+ − 1106
+ − 1107 @node Command Index, Variable Index, Key Index, Top
+ − 1108 @unnumbered Command and Function Index
+ − 1109 @printindex fn
+ − 1110
+ − 1111 @node Variable Index, Concept Index, Command Index, Top
+ − 1112 @unnumbered Variable Index
+ − 1113 @printindex vr
+ − 1114
+ − 1115 @node Concept Index, Frame, Variable Index, Top
+ − 1116 @unnumbered Concept Index
+ − 1117 @printindex cp
+ − 1118
+ − 1119 @summarycontents
+ − 1120 @contents
+ − 1121 @bye
+ − 1122
+ − 1123
+ − 1124 @c Remember to delete these lines before creating the info file.
+ − 1125 @iftex
+ − 1126 @lucidbook
+ − 1127 @bindingoffset = 0.5in
+ − 1128 @parindent = 0pt
+ − 1129 @end iftex