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