Commit | Line | Data |
---|---|---|
3f973d9b AI |
1 | \input texinfo |
2 | ||
3f973d9b | 3 | @setfilename ../info/emacs |
18f952d5 | 4 | @settitle GNU Emacs Manual |
3f973d9b | 5 | |
3f973d9b | 6 | @c The edition number appears in several places in this file |
a59d905d | 7 | @set EDITION Sixteenth |
85adab9a | 8 | @set EMACSVER 22.0.97 |
98c4a074 | 9 | |
18f952d5 | 10 | @copying |
98c4a074 EZ |
11 | This is the @value{EDITION} edition of the @cite{GNU Emacs Manual}, |
12 | updated for Emacs version @value{EMACSVER}. | |
3f973d9b | 13 | |
b223e22d | 14 | Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, |
4e6835db | 15 | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software |
b223e22d | 16 | Foundation, Inc. |
3f973d9b | 17 | |
18f952d5 | 18 | @quotation |
7a258cfb | 19 | Permission is granted to copy, distribute and/or modify this document |
678e7c71 | 20 | under the terms of the GNU Free Documentation License, Version 1.2 or |
7a258cfb | 21 | any later version published by the Free Software Foundation; with the |
5a7f4c1b RS |
22 | Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and |
23 | ``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover texts being ``A GNU | |
80df2fce | 24 | Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the |
7a258cfb | 25 | license is included in the section entitled ``GNU Free Documentation |
80df2fce | 26 | License.'' |
7a258cfb DL |
27 | |
28 | (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify | |
29 | this GNU Manual, like GNU software. Copies published by the Free | |
30 | Software Foundation raise funds for GNU development.'' | |
18f952d5 KB |
31 | @end quotation |
32 | @end copying | |
33 | ||
34 | @dircategory Emacs | |
35 | @direntry | |
36 | * Emacs: (emacs). The extensible self-documenting text editor. | |
37 | @end direntry | |
3f973d9b AI |
38 | |
39 | @c in general, keep the following line commented out, unless doing a | |
40 | @c copy of this manual that will be published. the manual should go | |
177c0ea7 | 41 | @c onto the distribution in the full, 8.5 x 11" size. |
df7593dd | 42 | @set smallbook |
3f973d9b | 43 | |
df7593dd | 44 | @ifset smallbook |
d7fb7d7f | 45 | @smallbook |
df7593dd | 46 | @end ifset |
3f973d9b | 47 | |
dfe1fb06 KB |
48 | @c per rms and peterb, use 10pt fonts for the main text, mostly to |
49 | @c save on paper cost. Also do not declare @setchapternewpage odd. | |
50 | @c Do this inside @tex for now, so current makeinfo does not complain. | |
51 | @tex | |
df7593dd | 52 | @ifset smallbook |
dfe1fb06 | 53 | @fonttextsize 10 |
df7593dd KB |
54 | @end ifset |
55 | \global\hbadness=6666 % don't worry about not-too-underfull boxes | |
dfe1fb06 KB |
56 | @end tex |
57 | ||
18f952d5 KB |
58 | @defcodeindex op |
59 | @synindex pg cp | |
60 | ||
3f973d9b AI |
61 | @iftex |
62 | @kbdinputstyle code | |
63 | ||
64 | @shorttitlepage GNU Emacs Manual | |
65 | @end iftex | |
18f952d5 | 66 | |
3f973d9b AI |
67 | @titlepage |
68 | @sp 6 | |
69 | @center @titlefont{GNU Emacs Manual} | |
70 | @sp 4 | |
98c4a074 | 71 | @center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}. |
3f973d9b AI |
72 | @sp 5 |
73 | @center Richard Stallman | |
74 | @page | |
75 | @vskip 0pt plus 1filll | |
18f952d5 | 76 | @insertcopying |
3f973d9b | 77 | |
18f952d5 | 78 | @sp 2 |
3bd25af1 | 79 | ISBN 1-882114-86-8* |
3f973d9b | 80 | Published by the Free Software Foundation @* |
a7e3b4ef LK |
81 | 51 Franklin Street, Fifth Floor @* |
82 | Boston, MA 02110-1301 USA | |
3f973d9b AI |
83 | |
84 | @sp 2 | |
85 | Cover art by Etienne Suvasa. | |
86 | ||
87 | @end titlepage | |
af26e673 KB |
88 | |
89 | ||
90 | @summarycontents | |
91 | @contents | |
92 | ||
93 | ||
4f00b8c1 | 94 | @ifnottex |
3f973d9b AI |
95 | @node Top, Distrib, (dir), (dir) |
96 | @top The Emacs Editor | |
97 | ||
98 | Emacs is the extensible, customizable, self-documenting real-time | |
99 | display editor. This Info file describes how to edit with Emacs and | |
98c4a074 EZ |
100 | some of how to customize it; it corresponds to GNU Emacs version |
101 | @value{EMACSVER}. | |
a9278633 EZ |
102 | |
103 | @ifinfo | |
350287ef RS |
104 | To learn more about the Info documentation system, type @kbd{h}, and |
105 | Emacs will take you to a programmed instruction sequence for the Info | |
106 | commands. | |
a9278633 EZ |
107 | @end ifinfo |
108 | ||
b5f1c9fa | 109 | For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The |
3f973d9b | 110 | Emacs Lisp Reference Manual}. |
4f00b8c1 | 111 | @end ifnottex |
3f973d9b AI |
112 | |
113 | @ignore | |
114 | These subcategories have been deleted for simplicity | |
115 | and to avoid conflicts. | |
116 | Completion | |
117 | Backup Files | |
118 | Auto-Saving: Protection Against Disasters | |
119 | Snapshots | |
120 | Text Mode | |
121 | Outline Mode | |
122 | @TeX{} Mode | |
123 | Formatted Text | |
3f973d9b AI |
124 | Shell Command History |
125 | ||
126 | The ones for Dired and Rmail have had the items turned into :: items | |
127 | to avoid conflicts. | |
128 | Also Running Shell Commands from Emacs | |
129 | and Sending Mail and Registers and Minibuffer. | |
130 | @end ignore | |
131 | ||
132 | @menu | |
133 | * Distrib:: How to get the latest Emacs distribution. | |
134 | * Copying:: The GNU General Public License gives you permission | |
135 | to redistribute GNU Emacs on certain terms; | |
136 | it also explains that there is no warranty. | |
7a258cfb | 137 | * GNU Free Documentation License:: The license for this documentation. |
3f973d9b AI |
138 | * Intro:: An introduction to Emacs concepts. |
139 | * Glossary:: The glossary. | |
08d01386 | 140 | * Antinews:: Information about Emacs version 21. |
2f920ca8 | 141 | * Mac OS:: Using Emacs in the Mac. |
53c1041b | 142 | * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. |
3f973d9b | 143 | * Manifesto:: What's GNU? Gnu's Not Unix! |
607bd994 | 144 | * Acknowledgments:: Major contributors to GNU Emacs. |
3f973d9b | 145 | |
9f4e54c8 | 146 | Indexes (each index contains a large menu) |
3f973d9b | 147 | * Key Index:: An item for each standard Emacs key sequence. |
07d65d5e | 148 | * Option Index:: An item for every command-line option. |
3f973d9b AI |
149 | * Command Index:: An item for each command name. |
150 | * Variable Index:: An item for each documented variable. | |
151 | * Concept Index:: An item for each concept. | |
152 | ||
153 | Important General Concepts | |
154 | * Screen:: How to interpret what you see on the screen. | |
155 | * User Input:: Kinds of input events (characters, buttons, | |
156 | function keys). | |
157 | * Keys:: Key sequences: what you type to request one | |
158 | editing action. | |
159 | * Commands:: Named functions run by key sequences to do editing. | |
177c0ea7 | 160 | * Text Characters:: Character set for text (the contents of buffers |
3f973d9b AI |
161 | and strings). |
162 | * Entering Emacs:: Starting Emacs from the shell. | |
163 | * Exiting:: Stopping or killing Emacs. | |
b4e112e7 | 164 | * Emacs Invocation:: Hairy startup options. |
3f973d9b AI |
165 | |
166 | Fundamental Editing Commands | |
167 | * Basic:: The most basic editing commands. | |
168 | * Minibuffer:: Entering arguments that are prompted for. | |
169 | * M-x:: Invoking commands by their names. | |
170 | * Help:: Commands for asking Emacs about its commands. | |
171 | ||
172 | Important Text-Changing Commands | |
173 | * Mark:: The mark: how to delimit a ``region'' of text. | |
6326f9e5 LT |
174 | * Killing:: Killing (cutting) text. |
175 | * Yanking:: Recovering killed text. Moving text. (Pasting.) | |
3f973d9b AI |
176 | * Accumulating Text:: Other ways of copying text. |
177 | * Rectangles:: Operating on the text inside a rectangle on the screen. | |
178 | * Registers:: Saving a text string or a location in the buffer. | |
179 | * Display:: Controlling what text is displayed. | |
180 | * Search:: Finding or replacing occurrences of a string. | |
181 | * Fixit:: Commands especially useful for fixing typos. | |
4244e880 LT |
182 | * Keyboard Macros:: A keyboard macro records a sequence of |
183 | keystrokes to be replayed with a single command. | |
3f973d9b AI |
184 | |
185 | Major Structures of Emacs | |
186 | * Files:: All about handling files. | |
187 | * Buffers:: Multiple buffers; editing several files at once. | |
188 | * Windows:: Viewing two pieces of text at once. | |
189 | * Frames:: Running the same Emacs session in multiple X windows. | |
76dd3692 | 190 | * International:: Using non-@acronym{ASCII} character sets (the MULE features). |
3f973d9b AI |
191 | |
192 | Advanced Features | |
193 | * Major Modes:: Text mode vs. Lisp mode vs. C mode ... | |
194 | * Indentation:: Editing the white space at the beginnings of lines. | |
195 | * Text:: Commands and modes for editing English. | |
196 | * Programs:: Commands and modes for editing programs. | |
197 | * Building:: Compiling, running and debugging programs. | |
4b827f5d | 198 | * Maintaining:: Features for maintaining large programs. |
3f973d9b AI |
199 | * Abbrevs:: How to define text abbreviations to reduce |
200 | the number of characters you must type. | |
0701f901 EZ |
201 | @ifnottex |
202 | * Picture Mode:: Editing pictures made up of characters using | |
203 | the quarter-plane screen model. | |
204 | @end ifnottex | |
3f973d9b AI |
205 | * Sending Mail:: Sending mail in Emacs. |
206 | * Rmail:: Reading mail in Emacs. | |
207 | * Dired:: You can ``edit'' a directory to manage files in it. | |
208 | * Calendar/Diary:: The calendar and diary facilities. | |
209 | * Gnus:: How to read netnews with Emacs. | |
210 | * Shell:: Executing shell commands from Emacs. | |
211 | * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | |
c1d84701 | 212 | * Printing:: Printing hardcopies of buffers or regions. |
3f973d9b AI |
213 | * Sorting:: Sorting lines, paragraphs or pages within Emacs. |
214 | * Narrowing:: Restricting display and editing to a portion | |
215 | of the buffer. | |
216 | * Two-Column:: Splitting apart columns to edit them | |
217 | in side-by-side windows. | |
07d65d5e LK |
218 | * Editing Binary Files::Using Hexl mode to edit binary files. |
219 | * Saving Emacs Sessions:: Saving Emacs state from one session to the next. | |
3f973d9b AI |
220 | * Recursive Edit:: A command can allow you to do editing |
221 | "within the command". This is called a | |
5892cf49 | 222 | "recursive editing level". |
3f973d9b | 223 | * Emulation:: Emulating some other editors with Emacs. |
4f00b8c1 | 224 | * Hyperlinking:: Following links in buffers. |
356dfa97 | 225 | * Thumbnails:: Browsing images using thumbnails. |
3f973d9b AI |
226 | * Dissociated Press:: Dissociating text for fun. |
227 | * Amusements:: Various games and hacks. | |
228 | * Customization:: Modifying the behavior of Emacs. | |
74576486 | 229 | * X Resources:: X resources for customizing Emacs. |
3f973d9b AI |
230 | |
231 | Recovery from Problems | |
232 | * Quitting:: Quitting and aborting. | |
233 | * Lossage:: What to do if Emacs is hung or malfunctioning. | |
234 | * Bugs:: How and when to report a bug. | |
235 | * Contributing:: How to contribute improvements to Emacs. | |
236 | * Service:: How to get help for your own Emacs needs. | |
237 | ||
9de4c4a9 EZ |
238 | @c Do NOT modify the following 3 lines! They must have this form to |
239 | @c be correctly identified by `texinfo-multiple-files-update'. In | |
240 | @c particular, the detailed menu header line MUST be identical to the | |
241 | @c value of `texinfo-master-menu-header'. See texnfo-upd.el. | |
242 | ||
243 | @detailmenu | |
244 | --- The Detailed Node Listing --- | |
245 | --------------------------------- | |
488cacbd | 246 | |
f1308a07 RS |
247 | Here are some other nodes which are really inferiors of the ones |
248 | already listed, mentioned here so you can get to them in one step: | |
3f973d9b AI |
249 | |
250 | The Organization of the Screen | |
251 | ||
252 | * Point:: The place in the text where editing commands operate. | |
253 | * Echo Area:: Short messages appear at the bottom of the screen. | |
254 | * Mode Line:: Interpreting the mode line. | |
255 | * Menu Bar:: How to use the menu bar. | |
256 | ||
257 | Basic Editing Commands | |
258 | ||
259 | * Inserting Text:: Inserting text by simply typing it. | |
260 | * Moving Point:: How to move the cursor to the place where you want to | |
261 | change something. | |
262 | * Erasing:: Deleting and killing text. | |
63c5dbcf | 263 | * Basic Undo:: Undoing recent changes in the text. |
07d65d5e LK |
264 | * Basic Files:: Visiting, creating, and saving files. |
265 | * Basic Help:: Asking what a character does. | |
3f973d9b AI |
266 | * Blank Lines:: Commands to make or delete blank lines. |
267 | * Continuation Lines:: Lines too wide for the screen. | |
268 | * Position Info:: What page, line, row, or column is point on? | |
269 | * Arguments:: Numeric arguments for repeating a command. | |
07d65d5e | 270 | * Repeating:: A short-cut for repeating the previous command. |
3f973d9b AI |
271 | |
272 | The Minibuffer | |
273 | ||
274 | * Minibuffer File:: Entering file names with the minibuffer. | |
275 | * Minibuffer Edit:: How to edit in the minibuffer. | |
276 | * Completion:: An abbreviation facility for minibuffer input. | |
277 | * Minibuffer History:: Reusing recent minibuffer arguments. | |
278 | * Repetition:: Re-executing commands that used the minibuffer. | |
279 | ||
9de4c4a9 EZ |
280 | Completion |
281 | ||
282 | * Example: Completion Example. Examples of using completion. | |
283 | * Commands: Completion Commands. A list of completion commands. | |
284 | * Strict Completion:: Different types of completion. | |
285 | * Options: Completion Options. Options for completion. | |
286 | ||
3f973d9b AI |
287 | Help |
288 | ||
289 | * Help Summary:: Brief list of all Help commands. | |
290 | * Key Help:: Asking what a key does in Emacs. | |
291 | * Name Help:: Asking about a command, variable or function name. | |
292 | * Apropos:: Asking what pertains to a given topic. | |
ef043ba0 | 293 | * Help Mode:: Special features of Help mode and Help buffers. |
3f973d9b AI |
294 | * Library Keywords:: Finding Lisp libraries by keywords (topics). |
295 | * Language Help:: Help relating to international language support. | |
296 | * Misc Help:: Other help commands. | |
07d65d5e LK |
297 | * Help Files:: Commands to display pre-written help files. |
298 | * Help Echo:: Help on active text and tooltips (`balloon help') | |
3f973d9b AI |
299 | |
300 | The Mark and the Region | |
301 | ||
302 | * Setting Mark:: Commands to set the mark. | |
303 | * Transient Mark:: How to make Emacs highlight the region-- | |
304 | when there is one. | |
07d65d5e | 305 | * Momentary Mark:: Enabling Transient Mark mode momentarily. |
3f973d9b AI |
306 | * Using Region:: Summary of ways to operate on contents of the region. |
307 | * Marking Objects:: Commands to put region around textual units. | |
308 | * Mark Ring:: Previous mark positions saved so you can go back there. | |
309 | * Global Mark Ring:: Previous mark positions in various buffers. | |
310 | ||
07d65d5e | 311 | Killing and Moving Text |
3f973d9b AI |
312 | |
313 | * Deletion:: Commands for deleting small amounts of text and | |
314 | blank areas. | |
315 | * Killing by Lines:: How to kill entire lines of text at one time. | |
316 | * Other Kill Commands:: Commands to kill large regions of text and | |
177c0ea7 | 317 | syntactic units such as words and sentences. |
318aa7ba KS |
318 | * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy |
319 | and paste, with enhanced rectangle support. | |
3f973d9b AI |
320 | |
321 | Yanking | |
322 | ||
323 | * Kill Ring:: Where killed text is stored. Basic yanking. | |
324 | * Appending Kills:: Several kills in a row all yank together. | |
325 | * Earlier Kills:: Yanking something killed some time ago. | |
326 | ||
327 | Registers | |
328 | ||
329 | * RegPos:: Saving positions in registers. | |
330 | * RegText:: Saving text in registers. | |
331 | * RegRect:: Saving rectangles in registers. | |
332 | * RegConfig:: Saving window configurations in registers. | |
07d65d5e | 333 | * RegNumbers:: Numbers in registers. |
3f973d9b AI |
334 | * RegFiles:: File names in registers. |
335 | * Bookmarks:: Bookmarks are like registers, but persistent. | |
336 | ||
337 | Controlling the Display | |
338 | ||
63c5dbcf | 339 | * Scrolling:: Moving text up and down in a window. |
9f4e54c8 | 340 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. |
63c5dbcf RS |
341 | * Horizontal Scrolling:: Moving text left and right in a window. |
342 | * Follow Mode:: Follow mode lets two windows scroll as one. | |
3f6cafd9 | 343 | * Faces:: How to change the display style using faces. |
258158c0 | 344 | * Standard Faces:: Emacs' predefined faces. |
3f6cafd9 | 345 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
3f6cafd9 | 346 | * Highlight Interactively:: Tell Emacs what text to highlight. |
3f6cafd9 | 347 | * Fringes:: Enabling or disabling window fringes. |
cfade67d | 348 | * Displaying Boundaries:: Displaying top and bottom of the buffer. |
3f6cafd9 | 349 | * Useless Whitespace:: Showing possibly-spurious trailing whitespace. |
3f973d9b AI |
350 | * Selective Display:: Hiding lines with lots of indentation. |
351 | * Optional Mode Line:: Optional mode line display features. | |
3f6cafd9 RS |
352 | * Text Display:: How text characters are normally displayed. |
353 | * Cursor Display:: Features for displaying the cursor. | |
cfade67d RS |
354 | * Line Truncation:: Truncating lines to fit the screen width instead |
355 | of continuing them to multiple screen lines. | |
5892cf49 | 356 | * Display Custom:: Information on variables for customizing display. |
3f973d9b AI |
357 | |
358 | Searching and Replacement | |
359 | ||
360 | * Incremental Search:: Search happens as you type the string. | |
361 | * Nonincremental Search:: Specify entire string and then search. | |
362 | * Word Search:: Search for sequence of words. | |
363 | * Regexp Search:: Search for match for a regexp. | |
364 | * Regexps:: Syntax of regular expressions. | |
9de4c4a9 EZ |
365 | * Regexp Backslash:: Regular expression constructs starting with `\'. |
366 | * Regexp Example:: A complex regular expression explained. | |
3f973d9b AI |
367 | * Search Case:: To ignore case while searching, or not. |
368 | * Replace:: Search, and replace some or all matches. | |
369 | * Other Repeating Search:: Operating on all matches for some regexp. | |
370 | ||
9de4c4a9 EZ |
371 | Incremental Search |
372 | ||
373 | * Basic Isearch:: Basic incremental search commands. | |
374 | * Repeat Isearch:: Searching for the same string again. | |
375 | * Error in Isearch:: When your string is not found. | |
376 | * Special Isearch:: Special input in incremental search. | |
377 | * Non-ASCII Isearch:: How to search for non-ASCII characters. | |
378 | * Isearch Yank:: Commands that grab text into the search string | |
379 | or else edit the search string. | |
380 | * Highlight Isearch:: Isearch highlights the other possible matches. | |
381 | * Isearch Scroll:: Scrolling during an incremental search. | |
382 | * Slow Isearch:: Incremental search features for slow terminals. | |
383 | ||
3f973d9b AI |
384 | Replacement Commands |
385 | ||
386 | * Unconditional Replace:: Replacing all matches for a string. | |
387 | * Regexp Replace:: Replacing all matches for a regexp. | |
388 | * Replacement and Case:: How replacements preserve case of letters. | |
389 | * Query Replace:: How to use querying. | |
390 | ||
391 | Commands for Fixing Typos | |
392 | ||
63c5dbcf | 393 | * Undo:: Full details of Emacs undo commands. |
3f973d9b AI |
394 | * Kill Errors:: Commands to kill a batch of recently entered text. |
395 | * Transpose:: Exchanging two characters, words, lines, lists... | |
396 | * Fixing Case:: Correcting case of last word entered. | |
397 | * Spelling:: Apply spelling checker to a word or a whole buffer. | |
398 | ||
4244e880 LT |
399 | Keyboard Macros |
400 | ||
401 | * Basic Keyboard Macro:: Defining and running keyboard macros. | |
402 | * Keyboard Macro Ring:: Where previous keyboard macros are saved. | |
403 | * Keyboard Macro Counter:: Inserting incrementing numbers in macros. | |
404 | * Keyboard Macro Query:: Making keyboard macros do different things each time. | |
405 | * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. | |
406 | * Edit Keyboard Macro:: Editing keyboard macros. | |
07d65d5e LK |
407 | * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard |
408 | macro. | |
4244e880 | 409 | |
3f973d9b AI |
410 | File Handling |
411 | ||
412 | * File Names:: How to type and edit file-name arguments. | |
413 | * Visiting:: Visiting a file prepares Emacs to edit the file. | |
414 | * Saving:: Saving makes your changes permanent. | |
415 | * Reverting:: Reverting cancels all the changes not saved. | |
9de4c4a9 | 416 | * Autorevert:: Auto Reverting non-file buffers. |
3f973d9b AI |
417 | * Auto Save:: Auto Save periodically protects against loss of data. |
418 | * File Aliases:: Handling multiple names for one file. | |
419 | * Version Control:: Version control systems (RCS, CVS and SCCS). | |
420 | * Directories:: Creating, deleting, and listing file directories. | |
421 | * Comparing Files:: Finding where two files differ. | |
53727721 | 422 | * Diff Mode:: Editing diff output. |
3f973d9b AI |
423 | * Misc File Ops:: Other things you can do on files. |
424 | * Compressed Files:: Accessing compressed files. | |
ff9705de | 425 | * File Archives:: Operating on tar, zip, jar etc. archive files. |
3f973d9b AI |
426 | * Remote Files:: Accessing files on other sites. |
427 | * Quoted File Names:: Quoting special characters in file names. | |
ff9705de RS |
428 | * File Name Cache:: Completion against a list of files you often use. |
429 | * File Conveniences:: Convenience Features for Finding Files. | |
430 | * Filesets:: Handling sets of files. | |
3f973d9b AI |
431 | |
432 | Saving Files | |
433 | ||
c638ec8a | 434 | * Save Commands:: Commands for saving files. |
3f973d9b | 435 | * Backup:: How Emacs saves the old version of your file. |
c638ec8a | 436 | * Customize Save:: Customizing the saving of files. |
3f973d9b AI |
437 | * Interlocking:: How Emacs protects against simultaneous editing |
438 | of one file by two users. | |
07d65d5e | 439 | * File Shadowing:: Copying files to "shadows" automatically. |
ff9705de | 440 | * Time Stamps:: Emacs can update time stamps on saved files. |
3f973d9b | 441 | |
9de4c4a9 EZ |
442 | Backup Files |
443 | ||
444 | * One or Many: Numbered Backups. Whether to make one backup file or many. | |
445 | * Names: Backup Names. How backup files are named. | |
446 | * Deletion: Backup Deletion. Emacs deletes excess numbered backups. | |
447 | * Copying: Backup Copying. Backups can be made by copying or renaming. | |
448 | ||
449 | Auto-Saving: Protection Against Disasters | |
450 | ||
451 | * Files: Auto Save Files. The file where auto-saved changes are | |
452 | actually made until you save the file. | |
453 | * Control: Auto Save Control. Controlling when and how often to auto-save. | |
454 | * Recover:: Recovering text from auto-save files. | |
455 | ||
3f973d9b AI |
456 | Version Control |
457 | ||
458 | * Introduction to VC:: How version control works in general. | |
ff9705de | 459 | * VC Mode Line:: How the mode line shows version control status. |
3f973d9b AI |
460 | * Basic VC Editing:: How to edit a file under version control. |
461 | * Old Versions:: Examining and comparing old versions. | |
07d65d5e | 462 | * Secondary VC Commands:: The commands used a little less frequently. |
3f973d9b | 463 | * Branches:: Multiple lines of development. |
9de4c4a9 EZ |
464 | * Remote Repositories:: Efficient access to remote CVS servers. |
465 | * Snapshots:: Sets of file versions treated as a unit. | |
466 | * Miscellaneous VC:: Various other commands and features of VC. | |
467 | * Customizing VC:: Variables that change VC's behavior. | |
3f973d9b AI |
468 | |
469 | Using Multiple Buffers | |
470 | ||
471 | * Select Buffer:: Creating a new buffer or reselecting an old one. | |
472 | * List Buffers:: Getting a list of buffers that exist. | |
47d7776c | 473 | * Misc Buffer:: Renaming; changing read-onliness; copying text. |
3f973d9b AI |
474 | * Kill Buffer:: Killing buffers you no longer need. |
475 | * Several Buffers:: How to go through the list of all buffers | |
476 | and operate variously on several of them. | |
177c0ea7 | 477 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
07d65d5e LK |
478 | * Buffer Convenience:: Convenience and customization features for |
479 | buffer handling. | |
3f973d9b AI |
480 | |
481 | Multiple Windows | |
482 | ||
483 | * Basic Window:: Introduction to Emacs windows. | |
484 | * Split Window:: New windows are made by splitting existing windows. | |
485 | * Other Window:: Moving to another window or doing something to it. | |
486 | * Pop Up Window:: Finding a file or buffer in another window. | |
487 | * Force Same Window:: Forcing certain buffers to appear in the selected | |
488 | window rather than in another window. | |
489 | * Change Window:: Deleting windows and changing their sizes. | |
07d65d5e | 490 | * Window Convenience:: Convenience functions for window handling. |
3f973d9b | 491 | |
9de4c4a9 | 492 | Frames and Graphical Displays |
3f973d9b | 493 | |
9e6728e3 | 494 | * Cut and Paste:: Mouse commands for cut and paste. |
3f973d9b AI |
495 | * Mouse References:: Using the mouse to select an item from a list. |
496 | * Menu Mouse Clicks:: Mouse clicks that bring up menus. | |
497 | * Mode Line Mouse:: Mouse clicks on the mode line. | |
498 | * Creating Frames:: Creating additional Emacs frames with various contents. | |
5892cf49 RS |
499 | * Frame Commands:: Iconifying, deleting, and switching frames. |
500 | * Speedbar:: How to make and use a speedbar frame. | |
3f973d9b AI |
501 | * Multiple Displays:: How one Emacs job can talk to several displays. |
502 | * Special Buffer Frames:: You can make certain buffers have their own frames. | |
503 | * Frame Parameters:: Changing the colors and other modes of frames. | |
504 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. | |
5892cf49 | 505 | * Wheeled Mice:: Using mouse wheels for scrolling. |
3f6cafd9 | 506 | * Drag and Drop:: Using drag and drop to open files and insert text. |
3f973d9b | 507 | * Menu Bars:: Enabling and disabling the menu bar. |
5892cf49 RS |
508 | * Tool Bars:: Enabling and disabling the tool bar. |
509 | * Dialog Boxes:: Controlling use of dialog boxes. | |
3f6cafd9 | 510 | * Tooltips:: Showing "tooltips", AKA "balloon help" for active text. |
5892cf49 | 511 | * Mouse Avoidance:: Moving the mouse pointer out of the way. |
3f973d9b | 512 | * Non-Window Terminals:: Multiple frames on terminals that show only one. |
abc8be34 | 513 | * Text-Only Mouse:: Using the mouse in text-only terminals. |
3f973d9b AI |
514 | |
515 | International Character Set Support | |
516 | ||
9c9cbe8b | 517 | * International Chars:: Basic concepts of multibyte characters. |
3f973d9b AI |
518 | * Enabling Multibyte:: Controlling whether to use multibyte characters. |
519 | * Language Environments:: Setting things up for the language you use. | |
520 | * Input Methods:: Entering text characters not on your keyboard. | |
521 | * Select Input Method:: Specifying your choice of input methods. | |
07d65d5e | 522 | * Multibyte Conversion:: How single-byte characters convert to multibyte. |
3f973d9b AI |
523 | * Coding Systems:: Character set conversion when you read and |
524 | write files, and so on. | |
525 | * Recognize Coding:: How Emacs figures out which conversion to use. | |
9f4e54c8 RS |
526 | * Specify Coding:: Specifying a file's coding system explicitly. |
527 | * Output Coding:: Choosing coding systems for output. | |
91af4758 | 528 | * Text Coding:: Choosing conversion to use for file text. |
c79fccd6 | 529 | * Communication Coding:: Coding systems for interprocess communication. |
91af4758 RS |
530 | * File Name Coding:: Coding systems for file @emph{names}. |
531 | * Terminal Coding:: Specifying coding systems for converting | |
532 | terminal input and output. | |
3f973d9b AI |
533 | * Fontsets:: Fontsets are collections of fonts |
534 | that cover the whole spectrum of characters. | |
535 | * Defining Fontsets:: Defining a new fontset. | |
07d65d5e | 536 | * Undisplayable Characters::When characters don't display. |
5a579270 | 537 | * Unibyte Mode:: You can pick one European character set |
07d65d5e LK |
538 | to use without multibyte characters. |
539 | * Charsets:: How Emacs groups its internal character codes. | |
3f973d9b AI |
540 | |
541 | Major Modes | |
542 | ||
543 | * Choosing Modes:: How major modes are specified or chosen. | |
544 | ||
545 | Indentation | |
546 | ||
547 | * Indentation Commands:: Various commands and techniques for indentation. | |
548 | * Tab Stops:: You can set arbitrary "tab stops" and then | |
549 | indent to the next tab stop when you want to. | |
550 | * Just Spaces:: You can request indentation using just spaces. | |
551 | ||
552 | Commands for Human Languages | |
553 | ||
554 | * Words:: Moving over and killing words. | |
555 | * Sentences:: Moving over and killing sentences. | |
556 | * Paragraphs:: Moving over paragraphs. | |
557 | * Pages:: Moving over pages. | |
558 | * Filling:: Filling or justifying text. | |
559 | * Case:: Changing the case of text. | |
560 | * Text Mode:: The major modes for editing text files. | |
561 | * Outline Mode:: Editing outlines. | |
562 | * TeX Mode:: Editing input to the formatter TeX. | |
07d65d5e | 563 | * HTML Mode:: Editing HTML, SGML, and XML files. |
3f973d9b AI |
564 | * Nroff Mode:: Editing input to the formatter nroff. |
565 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | |
07d65d5e | 566 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. |
3f973d9b AI |
567 | |
568 | Filling Text | |
569 | ||
570 | * Auto Fill:: Auto Fill mode breaks long lines automatically. | |
07d65d5e | 571 | * Refill:: Keeping paragraphs filled. |
3f973d9b AI |
572 | * Fill Commands:: Commands to refill paragraphs and center lines. |
573 | * Fill Prefix:: Filling paragraphs that are indented | |
574 | or in a comment, etc. | |
575 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | |
07d65d5e | 576 | * Longlines:: Editing text with very long lines. |
3f973d9b | 577 | |
9de4c4a9 EZ |
578 | Outline Mode |
579 | ||
580 | * Format: Outline Format. What the text of an outline looks like. | |
581 | * Motion: Outline Motion. Special commands for moving through | |
582 | outlines. | |
583 | * Visibility: Outline Visibility. Commands to control what is visible. | |
584 | * Views: Outline Views. Outlines and multiple views. | |
585 | * Foldout:: Folding means zooming in on outlines. | |
586 | ||
587 | @TeX{} Mode | |
588 | ||
589 | * Editing: TeX Editing. Special commands for editing in TeX mode. | |
590 | * LaTeX: LaTeX Editing. Additional commands for LaTeX input files. | |
591 | * Printing: TeX Print. Commands for printing part of a file with TeX. | |
592 | * Misc: TeX Misc. Customization of TeX mode, and related features. | |
593 | ||
594 | Editing Formatted Text | |
595 | ||
596 | * Requesting Formatted Text:: Entering and exiting Enriched mode. | |
597 | * Hard and Soft Newlines:: There are two different kinds of newlines. | |
598 | * Editing Format Info:: How to edit text properties. | |
599 | * Faces: Format Faces. Bold, italic, underline, etc. | |
600 | * Color: Format Colors. Changing the color of text. | |
601 | * Indent: Format Indentation. Changing the left and right margins. | |
602 | * Justification: Format Justification. | |
603 | Centering, setting text flush with the | |
604 | left or right margin, etc. | |
605 | * Other: Format Properties. The "special" text properties submenu. | |
606 | * Forcing Enriched Mode:: How to force use of Enriched mode. | |
607 | ||
608 | Editing Text-based Tables | |
609 | ||
610 | * Table Definition:: What is a text based table. | |
611 | * Table Creation:: How to create a table. | |
612 | * Table Recognition:: How to activate and deactivate tables. | |
613 | * Cell Commands:: Cell-oriented commands in a table. | |
614 | * Cell Justification:: Justifying cell contents. | |
615 | * Row Commands:: Manipulating rows of table cell. | |
616 | * Column Commands:: Manipulating columns of table cell. | |
617 | * Fixed Width Mode:: Fixing cell width. | |
618 | * Table Conversion:: Converting between plain text and tables. | |
619 | * Measuring Tables:: Analyzing table dimension. | |
620 | * Table Misc:: Table miscellany. | |
621 | ||
3f973d9b AI |
622 | Editing Programs |
623 | ||
624 | * Program Modes:: Major modes for editing programs. | |
4b827f5d RS |
625 | * Defuns:: Commands to operate on major top-level parts |
626 | of a program. | |
3f973d9b | 627 | * Program Indent:: Adjusting indentation to show the nesting. |
4b827f5d | 628 | * Parentheses:: Commands that operate on parentheses. |
07d65d5e | 629 | * Comments:: Inserting, killing, and aligning comments. |
3f973d9b | 630 | * Documentation:: Getting documentation of functions you plan to call. |
4b827f5d RS |
631 | * Hideshow:: Displaying blocks selectively. |
632 | * Symbol Completion:: Completion on symbol names of your program or language. | |
633 | * Glasses:: Making identifiersLikeThis more readable. | |
634 | * Misc for Programs:: Other Emacs features useful for editing programs. | |
635 | * C Modes:: Special commands of C, C++, Objective-C, | |
636 | Java, and Pike modes. | |
4b827f5d | 637 | * Asm Mode:: Asm mode and its special features. |
9de4c4a9 | 638 | * Fortran:: Fortran mode and its special features. |
4b827f5d RS |
639 | |
640 | Top-Level Definitions, or Defuns | |
641 | ||
642 | * Left Margin Paren:: An open-paren or similar opening delimiter | |
643 | starts a defun if it is at the left margin. | |
644 | * Moving by Defuns:: Commands to move over or mark a major definition. | |
645 | * Imenu:: Making buffer indexes as menus. | |
646 | * Which Function:: Which Function mode shows which function you are in. | |
3f973d9b AI |
647 | |
648 | Indentation for Programs | |
649 | ||
650 | * Basic Indent:: Indenting a single line. | |
4b827f5d | 651 | * Multi-line Indent:: Commands to reindent many lines at once. |
3f973d9b | 652 | * Lisp Indent:: Specifying how each Lisp function should be indented. |
4b827f5d RS |
653 | * C Indent:: Extra features for indenting C and related modes. |
654 | * Custom C Indent:: Controlling indentation style for C and related modes. | |
3f973d9b | 655 | |
4b827f5d | 656 | Commands for Editing with Parentheses |
3f973d9b | 657 | |
4b827f5d RS |
658 | * Expressions:: Expressions with balanced parentheses. |
659 | * Moving by Parens:: Commands for moving up, down and across | |
660 | in the structure of parentheses. | |
661 | * Matching:: Insertion of a close-delimiter flashes matching open. | |
3f973d9b | 662 | |
4b827f5d | 663 | Manipulating Comments |
3f973d9b | 664 | |
9de4c4a9 | 665 | * Comment Commands:: Inserting, killing, and aligning comments. |
4b827f5d RS |
666 | * Multi-Line Comments:: Commands for adding and editing multi-line comments. |
667 | * Options for Comments::Customizing the comment features. | |
668 | ||
669 | Documentation Lookup | |
670 | ||
671 | * Info Lookup:: Looking up library functions and commands | |
672 | in Info files. | |
673 | * Man Page:: Looking up man pages of library functions and commands. | |
674 | * Lisp Doc:: Looking up Emacs Lisp functions, etc. | |
675 | ||
676 | C and Related Modes | |
677 | ||
678 | * Motion in C:: Commands to move by C statements, etc. | |
679 | * Electric C:: Colon and other chars can automatically reindent. | |
680 | * Hungry Delete:: A more powerful DEL command. | |
681 | * Other C Commands:: Filling comments, viewing expansion of macros, | |
682 | and other neat features. | |
4b827f5d | 683 | |
3f973d9b AI |
684 | Compiling and Testing Programs |
685 | ||
686 | * Compilation:: Compiling programs in languages other | |
687 | than Lisp (C, Pascal, etc.). | |
688 | * Compilation Mode:: The mode for visiting compiler errors. | |
689 | * Compilation Shell:: Customizing your shell properly | |
690 | for use in the compilation buffer. | |
05ff843e RS |
691 | * Grep Searching:: Searching with grep. |
692 | * Flymake:: Finding syntax errors on the fly. | |
177c0ea7 JB |
693 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
694 | * Executing Lisp:: Various modes for editing Lisp programs, | |
3f973d9b | 695 | with different facilities for running |
177c0ea7 | 696 | the Lisp programs. |
3f973d9b | 697 | * Lisp Libraries:: Creating Lisp programs to run in Emacs. |
3f973d9b | 698 | * Lisp Eval:: Executing a single Lisp expression in Emacs. |
07d65d5e | 699 | * Lisp Interaction:: Executing Lisp in an Emacs buffer. |
177c0ea7 | 700 | * External Lisp:: Communicating through Emacs with a separate Lisp. |
3f973d9b AI |
701 | |
702 | Running Debuggers Under Emacs | |
703 | ||
704 | * Starting GUD:: How to start a debugger subprocess. | |
705 | * Debugger Operation:: Connection between the debugger and source buffers. | |
706 | * Commands of GUD:: Key bindings for common commands. | |
707 | * GUD Customization:: Defining your own commands for GUD. | |
07d65d5e LK |
708 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to |
709 | implement a graphical debugging environment through | |
710 | Emacs. | |
3f973d9b | 711 | |
d7fb7d7f | 712 | Maintaining Large Programs |
4b827f5d RS |
713 | |
714 | * Change Log:: Maintaining a change history for your program. | |
5a579270 | 715 | * Format of ChangeLog:: What the change log file looks like. |
4b827f5d RS |
716 | * Tags:: Go direct to any function in your program in one |
717 | command. Tags remembers which file it is in. | |
9de4c4a9 | 718 | * Emerge:: A convenient way of merging two versions of a program. |
4b827f5d RS |
719 | |
720 | Tags Tables | |
721 | ||
177c0ea7 | 722 | * Tag Syntax:: Tag syntax for various types of code and text files. |
4b827f5d | 723 | * Create Tags Table:: Creating a tags table with @code{etags}. |
07d65d5e | 724 | * Etags Regexps:: Create arbitrary tags using regular expressions. |
4b827f5d | 725 | * Select Tags Table:: How to visit a tags table. |
177c0ea7 | 726 | * Find Tag:: Commands to find the definition of a specific tag. |
4b827f5d RS |
727 | * Tags Search:: Using a tags table for searching and replacing. |
728 | * List Tags:: Listing and finding tags defined in a file. | |
729 | ||
3f973d9b AI |
730 | Abbrevs |
731 | ||
732 | * Abbrev Concepts:: Fundamentals of defined abbrevs. | |
733 | * Defining Abbrevs:: Defining an abbrev, so it will expand when typed. | |
734 | * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion. | |
735 | * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. | |
736 | * Saving Abbrevs:: Saving the entire list of abbrevs for another session. | |
737 | * Dynamic Abbrevs:: Abbreviations for words already in the buffer. | |
07d65d5e | 738 | * Dabbrev Customization:: What is a word, for dynamic abbrevs. Case handling. |
3f973d9b | 739 | |
0701f901 EZ |
740 | @ifnottex |
741 | Editing Pictures | |
742 | ||
743 | * Basic Picture:: Basic concepts and simple commands of Picture Mode. | |
744 | * Insert in Picture:: Controlling direction of cursor motion | |
745 | after "self-inserting" characters. | |
746 | * Tabs in Picture:: Various features for tab stops and indentation. | |
747 | * Rectangles in Picture:: Clearing and superimposing rectangles. | |
748 | @end ifnottex | |
749 | ||
3f973d9b AI |
750 | Sending Mail |
751 | ||
752 | * Mail Format:: Format of the mail being composed. | |
753 | * Mail Headers:: Details of permitted mail header fields. | |
754 | * Mail Aliases:: Abbreviating and grouping mail addresses. | |
755 | * Mail Mode:: Special commands for editing mail being composed. | |
8a792d55 | 756 | * Mail Amusements:: Distract the NSA's attention; add a fortune to a msg. |
3f973d9b AI |
757 | * Mail Methods:: Using alternative mail-composition methods. |
758 | ||
759 | Reading Mail with Rmail | |
760 | ||
761 | * Rmail Basics:: Basic concepts of Rmail, and simple use. | |
762 | * Rmail Scrolling:: Scrolling through a message. | |
763 | * Rmail Motion:: Moving to another message. | |
764 | * Rmail Deletion:: Deleting and expunging messages. | |
765 | * Rmail Inbox:: How mail gets into the Rmail file. | |
766 | * Rmail Files:: Using multiple Rmail files. | |
767 | * Rmail Output:: Copying message out to files. | |
768 | * Rmail Labels:: Classifying messages by labeling them. | |
769 | * Rmail Attributes:: Certain standard labels, called attributes. | |
770 | * Rmail Reply:: Sending replies to messages you are viewing. | |
771 | * Rmail Summary:: Summaries show brief info on many messages. | |
772 | * Rmail Sorting:: Sorting messages in Rmail. | |
773 | * Rmail Display:: How Rmail displays a message; customization. | |
07d65d5e | 774 | * Rmail Coding:: How Rmail handles decoding character sets. |
3f973d9b AI |
775 | * Rmail Editing:: Editing message text and headers in Rmail. |
776 | * Rmail Digest:: Extracting the messages from a digest message. | |
777 | * Out of Rmail:: Converting an Rmail file to mailbox format. | |
778 | * Rmail Rot13:: Reading messages encoded in the rot13 code. | |
779 | * Movemail:: More details of fetching new mail. | |
07d65d5e LK |
780 | * Remote Mailboxes:: Retrieving Mail from Remote Mailboxes. |
781 | * Other Mailbox Formats:: Retrieving Mail from Local Mailboxes in | |
782 | Various Formats | |
3f973d9b AI |
783 | |
784 | Dired, the Directory Editor | |
785 | ||
786 | * Dired Enter:: How to invoke Dired. | |
c3149267 | 787 | * Dired Navigation:: How to move in the Dired buffer. |
3f973d9b AI |
788 | * Dired Deletion:: Deleting files with Dired. |
789 | * Flagging Many Files:: Flagging files based on their names. | |
790 | * Dired Visiting:: Other file operations through Dired. | |
791 | * Marks vs Flags:: Flagging for deletion vs marking. | |
792 | * Operating on Files:: How to copy, rename, print, compress, etc. | |
793 | either one file or several files. | |
794 | * Shell Commands in Dired:: Running a shell command on the marked files. | |
795 | * Transforming File Names:: Using patterns to rename multiple files. | |
796 | * Comparison in Dired:: Running `diff' by way of Dired. | |
797 | * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. | |
9de4c4a9 | 798 | * Subdir Switches:: Subdirectory switches in Dired. |
3f973d9b AI |
799 | * Subdirectory Motion:: Moving across subdirectories, and up and down. |
800 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | |
801 | * Dired Updating:: Discarding lines for files of no interest. | |
802 | * Dired and Find:: Using `find' to choose the files for Dired. | |
10510ea3 RS |
803 | * Wdired:: Operating on files by editing the Dired buffer. |
804 | * Misc Dired Features:: Various other features. | |
3f973d9b AI |
805 | |
806 | The Calendar and the Diary | |
807 | ||
808 | * Calendar Motion:: Moving through the calendar; selecting a date. | |
809 | * Scroll Calendar:: Bringing earlier or later months onto the screen. | |
810 | * Counting Days:: How many days are there between two dates? | |
811 | * General Calendar:: Exiting or recomputing the calendar. | |
86ab1238 | 812 | * Writing Calendar Files:: Writing calendars to files of various formats. |
3f973d9b AI |
813 | * Holidays:: Displaying dates of holidays. |
814 | * Sunrise/Sunset:: Displaying local times of sunrise and sunset. | |
815 | * Lunar Phases:: Displaying phases of the moon. | |
816 | * Other Calendars:: Converting dates to other calendar systems. | |
817 | * Diary:: Displaying events from your diary. | |
818 | * Appointments:: Reminders when it's time to do something. | |
07d65d5e | 819 | * Importing Diary:: Converting diary events to/from other formats. |
18629155 | 820 | * Daylight Saving:: How to specify when daylight saving time is active. |
07d65d5e | 821 | * Time Intervals:: Keeping track of time intervals. |
9de4c4a9 | 822 | * Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization. |
3f973d9b AI |
823 | |
824 | Movement in the Calendar | |
825 | ||
826 | * Calendar Unit Motion:: Moving by days, weeks, months, and years. | |
827 | * Move to Beginning or End:: Moving to start/end of weeks, months, and years. | |
828 | * Specified Dates:: Moving to the current date or another | |
829 | specific date. | |
830 | ||
831 | Conversion To and From Other Calendars | |
832 | ||
833 | * Calendar Systems:: The calendars Emacs understands | |
834 | (aside from Gregorian). | |
835 | * To Other Calendar:: Converting the selected date to various calendars. | |
836 | * From Other Calendar:: Moving to a date specified in another calendar. | |
837 | * Mayan Calendar:: Moving to a date specified in a Mayan calendar. | |
838 | ||
839 | The Diary | |
840 | ||
a72bfb87 | 841 | * Displaying the Diary:: Viewing diary entries and associated calendar dates. |
3f973d9b AI |
842 | * Format of Diary File:: Entering events in your diary. |
843 | * Date Formats:: Various ways you can specify dates. | |
844 | * Adding to Diary:: Commands to create diary entries. | |
845 | * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. | |
846 | ||
76dd3692 | 847 | Gnus |
3f973d9b AI |
848 | |
849 | * Buffers of Gnus:: The group, summary, and article buffers. | |
850 | * Gnus Startup:: What you should know about starting Gnus. | |
851 | * Summary of Gnus:: A short description of the basic Gnus commands. | |
852 | ||
853 | Running Shell Commands from Emacs | |
854 | ||
855 | * Single Shell:: How to run one shell command and return. | |
856 | * Interactive Shell:: Permanent shell taking input via Emacs. | |
857 | * Shell Mode:: Special Emacs commands used with permanent shell. | |
07d65d5e | 858 | * Shell Prompts:: Two ways to recognize shell prompts. |
3f973d9b | 859 | * Shell History:: Repeating previous commands in a shell buffer. |
07d65d5e | 860 | * Directory Tracking:: Keeping track when the subshell changes directory. |
3f973d9b | 861 | * Shell Options:: Options for customizing Shell mode. |
07d65d5e LK |
862 | * Terminal emulator:: An Emacs window as a terminal emulator. |
863 | * Term Mode:: Special Emacs commands used in Term mode. | |
864 | * Paging in Term:: Paging in the terminal emulator. | |
3f973d9b AI |
865 | * Remote Host:: Connecting to another computer. |
866 | ||
07d65d5e LK |
867 | Using Emacs as a Server |
868 | ||
869 | * Invoking emacsclient:: Emacs client startup options. | |
870 | ||
9de4c4a9 EZ |
871 | Printing Hard Copies |
872 | ||
873 | * PostScript:: Printing buffers or regions as PostScript. | |
874 | * PostScript Variables:: Customizing the PostScript printing commands. | |
875 | * Printing Package:: An optional advanced printing interface. | |
876 | ||
07d65d5e LK |
877 | Hyperlinking and Navigation Features |
878 | ||
879 | * Browse-URL:: Following URLs. | |
880 | * Goto-address:: Activating URLs. | |
881 | * FFAP:: Finding files etc. at point. | |
882 | ||
3f973d9b AI |
883 | Customization |
884 | ||
885 | * Minor Modes:: Each minor mode is one feature you can turn on | |
886 | independently of any others. | |
07d65d5e | 887 | * Easy Customization:: Convenient way to browse and change user options. |
3f973d9b AI |
888 | * Variables:: Many Emacs commands examine Emacs variables |
889 | to decide what to do; by setting variables, | |
890 | you can control their functioning. | |
3f973d9b AI |
891 | * Key Bindings:: The keymaps say what command each key runs. |
892 | By changing them, you can "redefine keys". | |
3f973d9b | 893 | * Syntax:: The syntax table controls how words and |
07d65d5e | 894 | expressions are parsed. |
3f973d9b | 895 | * Init File:: How to write common customizations in the |
177c0ea7 | 896 | @file{.emacs} file. |
3f973d9b AI |
897 | |
898 | Variables | |
899 | ||
900 | * Examining:: Examining or setting one variable's value. | |
3f973d9b AI |
901 | * Hooks:: Hook variables let you specify programs for parts |
902 | of Emacs to run on particular occasions. | |
903 | * Locals:: Per-buffer values of variables. | |
904 | * File Variables:: How files can specify variable values. | |
905 | ||
3f973d9b AI |
906 | Customizing Key Bindings |
907 | ||
908 | * Keymaps:: Generalities. The global keymap. | |
909 | * Prefix Keymaps:: Keymaps for prefix keys. | |
910 | * Local Keymaps:: Major and minor modes have their own keymaps. | |
911 | * Minibuffer Maps:: The minibuffer uses its own local keymaps. | |
912 | * Rebinding:: How to redefine one key's meaning conveniently. | |
913 | * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. | |
914 | * Function Keys:: Rebinding terminal function keys. | |
915 | * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. | |
916 | * Mouse Buttons:: Rebinding mouse buttons in Emacs. | |
917 | * Disabling:: Disabling a command means confirmation is required | |
918 | before it can be executed. This is done to protect | |
919 | beginners from surprises. | |
920 | ||
921 | The Init File, @file{~/.emacs} | |
922 | ||
923 | * Init Syntax:: Syntax of constants in Emacs Lisp. | |
924 | * Init Examples:: How to do some things with an init file. | |
925 | * Terminal Init:: Each terminal type can have an init file. | |
926 | * Find Init:: How Emacs finds the init file. | |
954adba5 | 927 | * Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. |
3f973d9b AI |
928 | |
929 | Dealing with Emacs Trouble | |
930 | ||
82f6ab38 | 931 | * DEL Does Not Delete:: What to do if @key{DEL} doesn't delete. |
3f973d9b AI |
932 | * Stuck Recursive:: `[...]' in mode line around the parentheses. |
933 | * Screen Garbled:: Garbage on the screen. | |
934 | * Text Garbled:: Garbage in the text. | |
3f973d9b | 935 | * Memory Full:: How to cope when you run out of memory. |
07d65d5e | 936 | * After a Crash:: Recovering editing in an Emacs session that crashed. |
3f973d9b AI |
937 | * Emergency Escape:: Emergency escape--- |
938 | What to do if Emacs stops responding. | |
939 | * Total Frustration:: When you are at your wits' end. | |
940 | ||
941 | Reporting Bugs | |
942 | ||
07d65d5e LK |
943 | * Bug Criteria:: Have you really found a bug? |
944 | * Understanding Bug Reporting:: How to report a bug effectively. | |
945 | * Checklist:: Steps to follow for a good bug report. | |
946 | * Sending Patches:: How to send a patch for GNU Emacs. | |
3f973d9b | 947 | |
07d65d5e | 948 | Command Line Arguments for Emacs Invocation |
3f973d9b AI |
949 | |
950 | * Action Arguments:: Arguments to visit files, load libraries, | |
951 | and call functions. | |
952 | * Initial Options:: Arguments that take effect while starting Emacs. | |
953 | * Command Example:: Examples of using command line arguments. | |
954 | * Resume Arguments:: Specifying arguments when you resume a running Emacs. | |
955 | * Environment:: Environment variables that Emacs uses. | |
3f973d9b AI |
956 | * Display X:: Changing the default display and using remote login. |
957 | * Font X:: Choosing a font for text, under X. | |
ed6a2558 | 958 | * Colors:: Choosing display colors. |
3f973d9b AI |
959 | * Window Size X:: Start-up window size, under X. |
960 | * Borders X:: Internal and external borders, under X. | |
961 | * Title X:: Specifying the initial frame's title. | |
962 | * Icons X:: Choosing what sort of icon to use, under X. | |
2ca5e353 | 963 | * Misc X:: Other display options. |
306d63c4 | 964 | |
07d65d5e LK |
965 | Environment Variables |
966 | ||
967 | * General Variables:: Environment variables that all versions of Emacs use. | |
968 | * Misc Variables:: Certain system specific variables. | |
969 | * MS-Windows Registry:: An alternative to the environment on MS-Windows. | |
970 | ||
971 | X Options and Resources | |
306d63c4 RS |
972 | |
973 | * Resources:: Using X resources with Emacs (in general). | |
974 | * Table of Resources:: Table of specific X resources that affect Emacs. | |
975 | * Face Resources:: X resources for customizing faces. | |
3f973d9b | 976 | * Lucid Resources:: X resources for Lucid menus. |
f910bdeb | 977 | * LessTif Resources:: X resources for LessTif and Motif menus. |
07d65d5e | 978 | * GTK resources:: Resources for GTK widgets. |
3f973d9b | 979 | |
70dc6062 | 980 | Emacs and Mac OS |
3f973d9b | 981 | |
70dc6062 YM |
982 | * Mac Input:: Keyboard and mouse input on Mac. |
983 | * Mac International:: International character sets on Mac. | |
07d65d5e | 984 | * Mac Environment Variables:: Setting environment variables for Emacs. |
70dc6062 YM |
985 | * Mac Directories:: Volumes and directories on Mac. |
986 | * Mac Font Specs:: Specifying fonts on Mac. | |
07d65d5e | 987 | * Mac Functions:: Mac-specific Lisp functions. |
3f973d9b | 988 | |
9de4c4a9 | 989 | Emacs and Microsoft Windows/MS-DOS |
3f973d9b | 990 | |
4179c1d6 EZ |
991 | * Text and Binary:: Text files use CRLF to terminate lines. |
992 | * Windows Files:: File-name conventions on Windows. | |
993 | * ls in Lisp:: Emulation of @code{ls} for Dired. | |
994 | * Windows HOME:: Where Emacs looks for your @file{.emacs}. | |
995 | * Windows Keyboard:: Windows-specific keyboard features. | |
996 | * Windows Mouse:: Windows-specific mouse features. | |
3f973d9b | 997 | * Windows Processes:: Running subprocesses on Windows. |
4179c1d6 EZ |
998 | * Windows Printing:: How to specify the printer on MS-Windows. |
999 | * Windows Misc:: Miscellaneous Windows features. | |
9de4c4a9 EZ |
1000 | * MS-DOS:: Using Emacs on MS-DOS (otherwise known as @dfn{MS-DOG}). |
1001 | @end detailmenu | |
3f973d9b AI |
1002 | @end menu |
1003 | ||
1004 | @iftex | |
1005 | @unnumbered Preface | |
1006 | ||
1007 | This manual documents the use and simple customization of the Emacs | |
350287ef RS |
1008 | editor. Simple Emacs customizations do not require you to be a |
1009 | programmer, but if you are not interested in customizing, you can | |
1010 | ignore the customization hints. | |
3f973d9b AI |
1011 | |
1012 | This is primarily a reference manual, but can also be used as a | |
edc89fbc | 1013 | primer. If you are new to Emacs, we recommend you start with |
350287ef RS |
1014 | the on-line, learn-by-doing tutorial, before reading the manual. To |
1015 | run the tutorial, start Emacs and type @kbd{C-h t}. The tutorial | |
1016 | describes commands, tells you when to try them, and explains the | |
1017 | results. | |
3f973d9b AI |
1018 | |
1019 | On first reading, just skim chapters 1 and 2, which describe the | |
1020 | notational conventions of the manual and the general appearance of the | |
1021 | Emacs display screen. Note which questions are answered in these | |
1022 | chapters, so you can refer back later. After reading chapter 4, you | |
350287ef RS |
1023 | should practice the commands shown there. The next few chapters |
1024 | describe fundamental techniques and concepts that are used constantly. | |
1025 | You need to understand them thoroughly, so experiment with them | |
1026 | until you are fluent. | |
3f973d9b AI |
1027 | |
1028 | Chapters 14 through 19 describe intermediate-level features that are | |
350287ef RS |
1029 | useful for many kinds of editing. Chapter 20 and following chapters |
1030 | describe optional but useful features; read those chapters when you | |
1031 | need them. | |
3f973d9b AI |
1032 | |
1033 | Read the Trouble chapter if Emacs does not seem to be working | |
350287ef | 1034 | properly. It explains how to cope with several common problems |
3f973d9b AI |
1035 | (@pxref{Lossage}), as well as when and how to report Emacs bugs |
1036 | (@pxref{Bugs}). | |
177c0ea7 | 1037 | |
350287ef RS |
1038 | To find the documentation of a particular command, look in the index. |
1039 | Keys (character commands) and command names have separate indexes. | |
1040 | There is also a glossary, with a cross reference for each term. | |
3f973d9b AI |
1041 | |
1042 | This manual is available as a printed book and also as an Info file. | |
350287ef RS |
1043 | The Info file is for on-line perusal with the Info program, which is |
1044 | the principal means of accessing on-line documentation in the GNU | |
1045 | system. Both the Emacs Info file and an Info reader are included with | |
1046 | GNU Emacs. The Info file and the printed book contain substantially | |
1047 | the same text and are generated from the same source files, which are | |
1048 | also distributed with GNU Emacs. | |
3f973d9b | 1049 | |
d7fb7d7f RS |
1050 | GNU Emacs is a member of the Emacs editor family. There are many |
1051 | Emacs editors, all sharing common principles of organization. For | |
1052 | information on the underlying philosophy of Emacs and the lessons | |
1053 | learned from its development, see @cite{Emacs, the Extensible, | |
1054 | Customizable Self-Documenting Display Editor}, available from | |
5a579270 | 1055 | @url{ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf}. |
3f973d9b | 1056 | |
713d2b54 RS |
1057 | This edition of the manual is intended for use with GNU Emacs |
1058 | installed on GNU and Unix systems. GNU Emacs can also be used on VMS, | |
1059 | MS-DOS (also called MS-DOG), Microsoft Windows, and Macintosh systems. | |
1060 | Those systems use different file name syntax; in addition, VMS and | |
53c1041b EZ |
1061 | MS-DOS do not support all GNU Emacs features. @xref{Microsoft |
1062 | Windows}, for information about using Emacs on Windows. | |
e691d082 KB |
1063 | @xref{Mac OS}, for information about using Emacs on Macintosh. We |
1064 | don't try to describe VMS usage in this manual. | |
3f973d9b AI |
1065 | @end iftex |
1066 | ||
0b96ec68 | 1067 | @node Distrib, Intro, Top, Top |
3f973d9b AI |
1068 | @unnumbered Distribution |
1069 | ||
1070 | GNU Emacs is @dfn{free software}; this means that everyone is free to | |
a7e3b4ef LK |
1071 | use it and free to redistribute it on certain conditions. GNU Emacs |
1072 | is not in the public domain; it is copyrighted and there are | |
1073 | restrictions on its distribution, but these restrictions are designed | |
1074 | to permit everything that a good cooperating citizen would want to do. | |
1075 | What is not allowed is to try to prevent others from further sharing | |
1076 | any version of GNU Emacs that they might get from you. The precise | |
1077 | conditions are found in the GNU General Public License that comes with | |
1078 | Emacs and also appears in this manual@footnote{This manual is itself | |
1079 | covered by the GNU Free Documentation License. This license is | |
1080 | similar in spirit to the General Public License, but is more suitable | |
1081 | for documentation. @xref{GNU Free Documentation License}.}. | |
1082 | @xref{Copying}. | |
1083 | ||
1084 | One way to get a copy of GNU Emacs is from someone else who has it. | |
1085 | You need not ask for our permission to do so, or tell any one else; | |
1086 | just copy it. If you have access to the Internet, you can get the | |
1087 | latest distribution version of GNU Emacs by anonymous FTP; see | |
1088 | @url{http://www.gnu.org/software/emacs} on our website for more | |
1089 | information. | |
3f973d9b AI |
1090 | |
1091 | You may also receive GNU Emacs when you buy a computer. Computer | |
1092 | manufacturers are free to distribute copies on the same terms that apply to | |
1093 | everyone else. These terms require them to give you the full sources, | |
1094 | including whatever changes they may have made, and to permit you to | |
1095 | redistribute the GNU Emacs received from them under the usual terms of the | |
1096 | General Public License. In other words, the program must be free for you | |
1097 | when you get it, not just free for the manufacturer. | |
1098 | ||
ad709ece | 1099 | You can also order copies of GNU Emacs from the Free Software |
a7e3b4ef LK |
1100 | Foundation. This is a convenient and reliable way to get a copy; it is |
1101 | also a good way to help fund our work. We also sell hardcopy versions | |
1102 | of this manual and @cite{An Introduction to Programming in Emacs Lisp}, | |
1103 | by Robert J. Chassell. You can find an order form on our web site at | |
1104 | @url{http://www.gnu.org/order/order.html}. For further information, | |
1105 | write to | |
3f973d9b AI |
1106 | |
1107 | @display | |
1108 | Free Software Foundation | |
a7e3b4ef LK |
1109 | 51 Franklin Street, Fifth Floor |
1110 | Boston, MA 02110-1301 | |
3f973d9b AI |
1111 | USA |
1112 | @end display | |
1113 | ||
1114 | The income from distribution fees goes to support the foundation's | |
1115 | purpose: the development of new free software, and improvements to our | |
1116 | existing programs including GNU Emacs. | |
1117 | ||
1118 | If you find GNU Emacs useful, please @strong{send a donation} to the | |
1119 | Free Software Foundation to support our work. Donations to the Free | |
1120 | Software Foundation are tax deductible in the US. If you use GNU Emacs | |
1121 | at your workplace, please suggest that the company make a donation. If | |
1122 | company policy is unsympathetic to the idea of donating to charity, you | |
1123 | might instead suggest ordering a CD-ROM from the Foundation | |
1124 | occasionally, or subscribing to periodic updates. | |
1125 | ||
06d5f0ed | 1126 | @iftex |
0b96ec68 LT |
1127 | @node Acknowledgments, Intro, Distrib, Top |
1128 | @unnumberedsec Acknowledgments | |
ad709ece | 1129 | |
7db5875f KS |
1130 | Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas |
1131 | Abrahamsson, Jay K.@: Adams, Michael Albinus, Nagy Andras, Ralf | |
1132 | Angeli, Joe Arceneaux, Miles Bader, David Bakhash, Juanma Barranquero, | |
1133 | Eli Barzilay, Steven L.@: Baur, Jay Belanger, Alexander L.@: Belikoff, | |
5be76758 | 1134 | Boaz Ben-Zvi, Karl Berry, Anna M.@: Bigatti, Ray Blaak, Jim Blandy, Johan Bockg@aa{}rd, |
7db5875f KS |
1135 | Per Bothner, Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel |
1136 | Briot, Kevin Broadey, Vincent Broman, David M.@: Brown, Georges | |
1137 | Brun-Cottan, Joe Buehler, W@l{}odek Bzyl, Bill Carpenter, Per | |
1138 | Cederqvist, Hans Chalupsky, Chris Chase, Bob Chassell, Andrew Choi, | |
1139 | Sacha Chua, James Clark, Mike Clarkson, Glynn Clements, Andrew | |
1140 | Csillag, Doug Cutting, Mathias Dahl, Satyaki Das, Michael DeCorte, | |
1141 | Gary Delp, Matthieu Devin, Eri Ding, Jan Dj@"{a}rv, Carsten Dominik, | |
1142 | Scott Draves, Benjamin Drieu, Viktor Dukhovni, John Eaton, Rolf Ebert, | |
1143 | Paul Eggert, Stephen Eglen, Torbj@"orn Einarsson, Tsugutomo Enami, | |
1144 | Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick Farnbach, | |
1145 | Oscar Figueiredo, Fred Fish, Karl Fogel, Gary Foster, Romain | |
1146 | Francoise, Noah Friedman, Andreas Fuchs, Hallvard Furuseth, Keith | |
1147 | Gabryelski, Peter S.@: Galbraith, Kevin Gallagher, Kevin Gallo, Juan | |
90e4b32d | 1148 | Le@'{o}n Lahoz Garc@'{@dotless{i}}a, Howard Gayle, Stephen Gildea, Julien |
7db5875f KS |
1149 | Gilles, David Gillespie, Bob Glickstein, Deepak Goel, Boris Goldowsky, |
1150 | Michelangelo Grigni, Odd Gripenstam, Kai Gro@ss{}johann, Michael | |
1151 | Gschwind, Henry Guillaume, Doug Gwyn, Ken'ichi Handa, Lars Hansen, | |
1152 | Chris Hanson, K. Shane Hartman, John Heidemann, Jon K.@: Hellan, | |
1153 | Jesper Harder, Markus Heritsch, Karl Heuer, Manabu Higashida, Anders | |
1154 | Holst, Jeffrey C.@: Honig, Kurt Hornik, Tom Houlder, Joakim Hove, | |
1155 | Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Pavel | |
1156 | Janik, Paul Jarc, Ulf Jasper, Michael K. Johnson, Kyle Jones, Terry | |
d155accf | 1157 | Jones, Simon Josefsson, Arne J@o{}rgensen, Tomoji Kagatani, Brewster |
7db5875f KS |
1158 | Kahle, Lute Kamstra, David Kastrup, David Kaufman, Henry Kautz, Taichi |
1159 | Kawabata, Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, | |
1160 | Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, David M.@: | |
1161 | Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer, Ryszard | |
1162 | Kubiak, Geoff Kuenning, David K@aa{}gedal, Daniel LaLiberte, Mario | |
1163 | Lang, Aaron Larson, James R.@: Larus, Vinicius Jose Latorre, Werner | |
1164 | Lemberg, Frederic Lepied, Peter Liljenberg, Lars Lindberg, Chris | |
1165 | Lindblad, Anders Lindgren, Thomas Link, Juri Linkov, Francis Litterio, | |
1166 | Emilio C. Lopes, Dave Love, Sascha L@"{u}decke, Eric Ludlam,Alan | |
1167 | Mackenzie, Christopher J.@: Madsen, Neil M.@: Mager, Ken Manheimer, | |
1168 | Bill Mann, Brian Marick, Simon Marshall, Bengt Martensson, Charlie | |
1169 | Martin, Thomas May, Roland McGrath, Will Mengarini, David Megginson, | |
1170 | Ben A. Mesander, Wayne Mesard, Brad Miller, Lawrence Mitchell, Richard | |
c9f63b41 | 1171 | Mlynarik, Gerd Moellmann, Stefan Monnier, Morioka Tomohiko, Keith |
7db5875f KS |
1172 | Moore, Glenn Morris, Diane Murray, Sen Nagata, Erik Naggum, Thomas |
1173 | Neumann, Thien-Thi Nguyen, Mike Newton, Jurgen Nickelsen, Dan | |
1174 | Nicolaescu, Hrvoje Niksic, Jeff Norden, Andrew Norman, Alexandre | |
1175 | Oliva, Bob Olson, Michael Olson, Takaaki Ota, Pieter E.@: J.@: Pareit, | |
c9f63b41 | 1176 | David Pearson, Jeff Peck, Damon Anton Permezel, Tom Perrine, William |
7db5875f KS |
1177 | M.@: Perry, Per Persson, Jens Petersen, Daniel Pfeiffer, Richard L.@: |
1178 | Pieri, Fred Pierresteguy, Christian Plaunt, David Ponce, Francesco | |
1179 | A.@: Potorti, Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko | |
1180 | Rahamaa, Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, | |
1181 | Alex Rezinsky, Rob Riepel, David Reitter, Nick Roberts, Roland B.@: | |
1182 | Roberts, John Robinson, Danny Roozendaal, William Rosenblatt, | |
1183 | Guillermo J.@: Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, | |
1184 | Wolfgang Rupprecht, Kevin Ryde, James B. Salem, Masahiko Sato, Jorgen | |
1185 | Schaefer, Holger Schauer, William Schelter, Ralph Schleicher, Gregor | |
c9f63b41 | 1186 | Schmid, Michael Schmidt, Ronald S. Schnell, Philippe Schnoebelen, Jan |
7db5875f KS |
1187 | Schormann, Alex Schroeder, Stephen Schoef, Raymond Scholz, Randal |
1188 | Schwartz, Oliver Seidel, Manuel Serrano, Hovav Shacham, Stanislav | |
5be76758 | 1189 | Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Espen Skoglund, |
7db5875f KS |
1190 | Rick Sladkey, Lynn Slater, Chris Smith, David Smith, Paul D.@: Smith, |
1191 | Andre Spiegel, Michael Staats, William Sommerfeld, Michael Staats, | |
1192 | Reiner Steib, Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken | |
1193 | Stevens, Jonathan Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve | |
1194 | Strassman, Olaf Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe | |
1195 | Theberge, Jens T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, | |
1196 | Luc Teirlinck, Tom Tromey, Enami Tsugutomo, Eli Tziperman, Daiki Ueno, | |
1197 | Masanobu Umeda, Rajesh Vaidheeswarran, Neil W.@: Van Dyke, Didier | |
1198 | Verna, Ulrik Vieth, Geoffrey Voelker, Johan Vromans, Inge Wallin, John | |
1199 | Paul Wallington, Colin Walters, Barry Warsaw, Morten Welinder, Joseph | |
1200 | Brian Wells, Rodney Whitby, John Wiegley, Ed Wilkinson, Mike Williams, | |
1201 | Bill Wohler, Steven A. Wood, Dale R.@: Worley, Francis J.@: Wright, | |
1202 | Felix S. T. Wu, Tom Wurgler, Katsumi Yamaoka, Masatake Yamato, | |
1203 | Jonathan Yavner, Ryan Yeske, Chong Yidong, Ilya Zakharevich, Milan | |
1204 | Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Shenghuo Zhu, | |
1205 | Ian T.@: Zimmermann, Reto Zimmermann, Neal Ziring, Teodor Zlatanov, | |
1206 | and Detlev Zundel. | |
06d5f0ed | 1207 | @end iftex |
3f973d9b | 1208 | |
0b96ec68 LT |
1209 | @node Intro, Glossary, Distrib, Top |
1210 | @unnumbered Introduction | |
1211 | ||
350287ef RS |
1212 | You are reading about GNU Emacs, the GNU incarnation of the |
1213 | advanced, self-documenting, customizable, extensible editor Emacs. | |
0b96ec68 LT |
1214 | (The `G' in `GNU' is not silent.) |
1215 | ||
350287ef RS |
1216 | We call Emacs advanced because it provides much more than simple |
1217 | insertion and deletion. It can control subprocesses, indent programs | |
1218 | automatically, show two or more files at once, and edit formatted | |
1219 | text. Emacs editing commands operate in terms of characters, words, | |
1220 | lines, sentences, paragraphs, and pages, as well as expressions and | |
1221 | comments in various programming languages. | |
0b96ec68 LT |
1222 | |
1223 | @dfn{Self-documenting} means that at any time you can type a special | |
1224 | character, @kbd{Control-h}, to find out what your options are. You can | |
1225 | also use it to find out what any command does, or to find all the commands | |
1226 | that pertain to a topic. @xref{Help}. | |
1227 | ||
350287ef RS |
1228 | @dfn{Customizable} means that you can alter Emacs commands' behavior |
1229 | in simple ways. For example, if you use a programming language in | |
1230 | which comments start with @samp{<**} and end with @samp{**>}, you can | |
1231 | tell the Emacs comment manipulation commands to use those strings | |
1232 | (@pxref{Comments}). Another sort of customization is rearrangement of | |
1233 | the command set. For example, you can rebind the basic cursor motion | |
1234 | commands (up, down, left and right) to any keys on the keyboard that | |
1235 | you find comfortable. @xref{Customization}. | |
1236 | ||
1237 | @dfn{Extensible} means that you can go beyond simple customization | |
1238 | and write entirely new commands---programs in the Lisp language to be | |
1239 | run by Emacs's own Lisp interpreter. Emacs is an ``on-line | |
1240 | extensible'' system, which means that it is divided into many | |
1241 | functions that call each other, any of which can be redefined in the | |
1242 | middle of an editing session. Almost any part of Emacs can be | |
1243 | replaced without making a separate copy of all of Emacs. Most of the | |
1244 | editing commands of Emacs are written in Lisp; the few exceptions | |
1245 | could have been written in Lisp but use C instead for efficiency. | |
1246 | Writing an extension is programming, but non-programmers can use it | |
1247 | afterwards. @xref{Top, Emacs Lisp Intro, Preface, eintr, An | |
1248 | Introduction to Programming in Emacs Lisp}, if you want to learn Emacs | |
1249 | Lisp programming. | |
0b96ec68 | 1250 | |
5a579270 | 1251 | When running on a graphical display, Emacs provides its own menus |
350287ef RS |
1252 | and convenient handling of mouse buttons. In addition, Emacs provides |
1253 | many of the benefits of a graphical display even on a text-only | |
1254 | terminal. For instance, it can highlight parts of a file, display and | |
1255 | edit several files at once, move text between files, and edit files | |
1256 | while running shell commands. | |
0b96ec68 LT |
1257 | |
1258 | @include screen.texi | |
1259 | @include commands.texi | |
1260 | @include entering.texi | |
1261 | @include basic.texi | |
1262 | @include mini.texi | |
1263 | @include m-x.texi | |
1264 | @include help.texi | |
1265 | @include mark.texi | |
1266 | @include killing.texi | |
1267 | @include regs.texi | |
1268 | @include display.texi | |
1269 | @include search.texi | |
1270 | @include fixit.texi | |
1271 | @include kmacro.texi | |
1272 | @include files.texi | |
1273 | @include buffers.texi | |
1274 | @include windows.texi | |
1275 | @include frames.texi | |
1276 | @include mule.texi | |
1277 | @include major.texi | |
1278 | @include indent.texi | |
1279 | @include text.texi | |
1280 | @include programs.texi | |
1281 | @include building.texi | |
1282 | @include maintaining.texi | |
1283 | @include abbrevs.texi | |
0701f901 EZ |
1284 | @ifnottex |
1285 | @include picture-xtra.texi | |
1286 | @end ifnottex | |
0b96ec68 LT |
1287 | @include sending.texi |
1288 | @include rmail.texi | |
1289 | @include dired.texi | |
1290 | @include calendar.texi | |
1291 | @include misc.texi | |
1292 | @include custom.texi | |
1293 | @include trouble.texi | |
1294 | ||
1295 | @node Copying, GNU Free Documentation License, Service, Top | |
1296 | @appendix GNU GENERAL PUBLIC LICENSE | |
3f973d9b AI |
1297 | @center Version 2, June 1991 |
1298 | ||
1299 | @display | |
1300 | Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. | |
a7e3b4ef | 1301 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
3f973d9b AI |
1302 | |
1303 | Everyone is permitted to copy and distribute verbatim copies | |
1304 | of this license document, but changing it is not allowed. | |
1305 | @end display | |
1306 | ||
1307 | @unnumberedsec Preamble | |
1308 | ||
1309 | The licenses for most software are designed to take away your | |
1310 | freedom to share and change it. By contrast, the GNU General Public | |
1311 | License is intended to guarantee your freedom to share and change free | |
1312 | software---to make sure the software is free for all its users. This | |
1313 | General Public License applies to most of the Free Software | |
1314 | Foundation's software and to any other program whose authors commit to | |
1315 | using it. (Some other Free Software Foundation software is covered by | |
f7e44111 | 1316 | the GNU Lesser General Public License instead.) You can apply it to |
3f973d9b AI |
1317 | your programs, too. |
1318 | ||
1319 | When we speak of free software, we are referring to freedom, not | |
1320 | price. Our General Public Licenses are designed to make sure that you | |
1321 | have the freedom to distribute copies of free software (and charge for | |
1322 | this service if you wish), that you receive source code or can get it | |
1323 | if you want it, that you can change the software or use pieces of it | |
1324 | in new free programs; and that you know you can do these things. | |
1325 | ||
1326 | To protect your rights, we need to make restrictions that forbid | |
1327 | anyone to deny you these rights or to ask you to surrender the rights. | |
1328 | These restrictions translate to certain responsibilities for you if you | |
1329 | distribute copies of the software, or if you modify it. | |
1330 | ||
1331 | For example, if you distribute copies of such a program, whether | |
1332 | gratis or for a fee, you must give the recipients all the rights that | |
1333 | you have. You must make sure that they, too, receive or can get the | |
1334 | source code. And you must show them these terms so they know their | |
1335 | rights. | |
1336 | ||
1337 | We protect your rights with two steps: (1) copyright the software, and | |
1338 | (2) offer you this license which gives you legal permission to copy, | |
1339 | distribute and/or modify the software. | |
1340 | ||
1341 | Also, for each author's protection and ours, we want to make certain | |
1342 | that everyone understands that there is no warranty for this free | |
1343 | software. If the software is modified by someone else and passed on, we | |
1344 | want its recipients to know that what they have is not the original, so | |
1345 | that any problems introduced by others will not reflect on the original | |
1346 | authors' reputations. | |
1347 | ||
1348 | Finally, any free program is threatened constantly by software | |
1349 | patents. We wish to avoid the danger that redistributors of a free | |
1350 | program will individually obtain patent licenses, in effect making the | |
1351 | program proprietary. To prevent this, we have made it clear that any | |
1352 | patent must be licensed for everyone's free use or not licensed at all. | |
1353 | ||
1354 | The precise terms and conditions for copying, distribution and | |
1355 | modification follow. | |
1356 | ||
1357 | @iftex | |
1358 | @unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1359 | @end iftex | |
00ea6f3d | 1360 | @ifnottex |
3f973d9b | 1361 | @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
00ea6f3d | 1362 | @end ifnottex |
3f973d9b AI |
1363 | |
1364 | @enumerate 0 | |
1365 | @item | |
1366 | This License applies to any program or other work which contains | |
1367 | a notice placed by the copyright holder saying it may be distributed | |
df9d7630 | 1368 | under the terms of this General Public License. The ``Program,'' below, |
3f973d9b AI |
1369 | refers to any such program or work, and a ``work based on the Program'' |
1370 | means either the Program or any derivative work under copyright law: | |
1371 | that is to say, a work containing the Program or a portion of it, | |
1372 | either verbatim or with modifications and/or translated into another | |
1373 | language. (Hereinafter, translation is included without limitation in | |
df9d7630 | 1374 | the term ``modification.'') Each licensee is addressed as ``you.'' |
3f973d9b AI |
1375 | |
1376 | Activities other than copying, distribution and modification are not | |
1377 | covered by this License; they are outside its scope. The act of | |
1378 | running the Program is not restricted, and the output from the Program | |
1379 | is covered only if its contents constitute a work based on the | |
1380 | Program (independent of having been made by running the Program). | |
1381 | Whether that is true depends on what the Program does. | |
1382 | ||
1383 | @item | |
1384 | You may copy and distribute verbatim copies of the Program's | |
1385 | source code as you receive it, in any medium, provided that you | |
1386 | conspicuously and appropriately publish on each copy an appropriate | |
1387 | copyright notice and disclaimer of warranty; keep intact all the | |
1388 | notices that refer to this License and to the absence of any warranty; | |
1389 | and give any other recipients of the Program a copy of this License | |
1390 | along with the Program. | |
1391 | ||
1392 | You may charge a fee for the physical act of transferring a copy, and | |
1393 | you may at your option offer warranty protection in exchange for a fee. | |
1394 | ||
1395 | @item | |
1396 | You may modify your copy or copies of the Program or any portion | |
1397 | of it, thus forming a work based on the Program, and copy and | |
1398 | distribute such modifications or work under the terms of Section 1 | |
1399 | above, provided that you also meet all of these conditions: | |
1400 | ||
1401 | @enumerate a | |
1402 | @item | |
1403 | You must cause the modified files to carry prominent notices | |
1404 | stating that you changed the files and the date of any change. | |
1405 | ||
1406 | @item | |
1407 | You must cause any work that you distribute or publish, that in | |
1408 | whole or in part contains or is derived from the Program or any | |
1409 | part thereof, to be licensed as a whole at no charge to all third | |
1410 | parties under the terms of this License. | |
1411 | ||
1412 | @item | |
1413 | If the modified program normally reads commands interactively | |
1414 | when run, you must cause it, when started running for such | |
1415 | interactive use in the most ordinary way, to print or display an | |
1416 | announcement including an appropriate copyright notice and a | |
1417 | notice that there is no warranty (or else, saying that you provide | |
1418 | a warranty) and that users may redistribute the program under | |
1419 | these conditions, and telling the user how to view a copy of this | |
1420 | License. (Exception: if the Program itself is interactive but | |
1421 | does not normally print such an announcement, your work based on | |
1422 | the Program is not required to print an announcement.) | |
1423 | @end enumerate | |
1424 | ||
1425 | These requirements apply to the modified work as a whole. If | |
1426 | identifiable sections of that work are not derived from the Program, | |
1427 | and can be reasonably considered independent and separate works in | |
1428 | themselves, then this License, and its terms, do not apply to those | |
1429 | sections when you distribute them as separate works. But when you | |
1430 | distribute the same sections as part of a whole which is a work based | |
1431 | on the Program, the distribution of the whole must be on the terms of | |
1432 | this License, whose permissions for other licensees extend to the | |
1433 | entire whole, and thus to each and every part regardless of who wrote it. | |
1434 | ||
1435 | Thus, it is not the intent of this section to claim rights or contest | |
1436 | your rights to work written entirely by you; rather, the intent is to | |
1437 | exercise the right to control the distribution of derivative or | |
1438 | collective works based on the Program. | |
1439 | ||
1440 | In addition, mere aggregation of another work not based on the Program | |
1441 | with the Program (or with a work based on the Program) on a volume of | |
1442 | a storage or distribution medium does not bring the other work under | |
1443 | the scope of this License. | |
1444 | ||
1445 | @item | |
1446 | You may copy and distribute the Program (or a work based on it, | |
1447 | under Section 2) in object code or executable form under the terms of | |
1448 | Sections 1 and 2 above provided that you also do one of the following: | |
1449 | ||
1450 | @enumerate a | |
1451 | @item | |
1452 | Accompany it with the complete corresponding machine-readable | |
1453 | source code, which must be distributed under the terms of Sections | |
1454 | 1 and 2 above on a medium customarily used for software interchange; or, | |
1455 | ||
1456 | @item | |
1457 | Accompany it with a written offer, valid for at least three | |
1458 | years, to give any third party, for a charge no more than your | |
1459 | cost of physically performing source distribution, a complete | |
1460 | machine-readable copy of the corresponding source code, to be | |
1461 | distributed under the terms of Sections 1 and 2 above on a medium | |
1462 | customarily used for software interchange; or, | |
1463 | ||
1464 | @item | |
1465 | Accompany it with the information you received as to the offer | |
1466 | to distribute corresponding source code. (This alternative is | |
1467 | allowed only for noncommercial distribution and only if you | |
1468 | received the program in object code or executable form with such | |
1469 | an offer, in accord with Subsection b above.) | |
1470 | @end enumerate | |
1471 | ||
1472 | The source code for a work means the preferred form of the work for | |
1473 | making modifications to it. For an executable work, complete source | |
1474 | code means all the source code for all modules it contains, plus any | |
1475 | associated interface definition files, plus the scripts used to | |
1476 | control compilation and installation of the executable. However, as a | |
1477 | special exception, the source code distributed need not include | |
1478 | anything that is normally distributed (in either source or binary | |
1479 | form) with the major components (compiler, kernel, and so on) of the | |
1480 | operating system on which the executable runs, unless that component | |
1481 | itself accompanies the executable. | |
1482 | ||
1483 | If distribution of executable or object code is made by offering | |
1484 | access to copy from a designated place, then offering equivalent | |
1485 | access to copy the source code from the same place counts as | |
1486 | distribution of the source code, even though third parties are not | |
1487 | compelled to copy the source along with the object code. | |
1488 | ||
1489 | @item | |
1490 | You may not copy, modify, sublicense, or distribute the Program | |
1491 | except as expressly provided under this License. Any attempt | |
1492 | otherwise to copy, modify, sublicense or distribute the Program is | |
1493 | void, and will automatically terminate your rights under this License. | |
1494 | However, parties who have received copies, or rights, from you under | |
1495 | this License will not have their licenses terminated so long as such | |
1496 | parties remain in full compliance. | |
1497 | ||
1498 | @item | |
1499 | You are not required to accept this License, since you have not | |
1500 | signed it. However, nothing else grants you permission to modify or | |
1501 | distribute the Program or its derivative works. These actions are | |
1502 | prohibited by law if you do not accept this License. Therefore, by | |
1503 | modifying or distributing the Program (or any work based on the | |
1504 | Program), you indicate your acceptance of this License to do so, and | |
1505 | all its terms and conditions for copying, distributing or modifying | |
1506 | the Program or works based on it. | |
1507 | ||
1508 | @item | |
1509 | Each time you redistribute the Program (or any work based on the | |
1510 | Program), the recipient automatically receives a license from the | |
1511 | original licensor to copy, distribute or modify the Program subject to | |
1512 | these terms and conditions. You may not impose any further | |
1513 | restrictions on the recipients' exercise of the rights granted herein. | |
1514 | You are not responsible for enforcing compliance by third parties to | |
1515 | this License. | |
1516 | ||
1517 | @item | |
1518 | If, as a consequence of a court judgment or allegation of patent | |
1519 | infringement or for any other reason (not limited to patent issues), | |
1520 | conditions are imposed on you (whether by court order, agreement or | |
1521 | otherwise) that contradict the conditions of this License, they do not | |
1522 | excuse you from the conditions of this License. If you cannot | |
1523 | distribute so as to satisfy simultaneously your obligations under this | |
1524 | License and any other pertinent obligations, then as a consequence you | |
1525 | may not distribute the Program at all. For example, if a patent | |
1526 | license would not permit royalty-free redistribution of the Program by | |
1527 | all those who receive copies directly or indirectly through you, then | |
1528 | the only way you could satisfy both it and this License would be to | |
1529 | refrain entirely from distribution of the Program. | |
1530 | ||
1531 | If any portion of this section is held invalid or unenforceable under | |
1532 | any particular circumstance, the balance of the section is intended to | |
1533 | apply and the section as a whole is intended to apply in other | |
1534 | circumstances. | |
1535 | ||
1536 | It is not the purpose of this section to induce you to infringe any | |
1537 | patents or other property right claims or to contest validity of any | |
1538 | such claims; this section has the sole purpose of protecting the | |
1539 | integrity of the free software distribution system, which is | |
1540 | implemented by public license practices. Many people have made | |
1541 | generous contributions to the wide range of software distributed | |
1542 | through that system in reliance on consistent application of that | |
1543 | system; it is up to the author/donor to decide if he or she is willing | |
1544 | to distribute software through any other system and a licensee cannot | |
1545 | impose that choice. | |
1546 | ||
1547 | This section is intended to make thoroughly clear what is believed to | |
1548 | be a consequence of the rest of this License. | |
1549 | ||
1550 | @item | |
1551 | If the distribution and/or use of the Program is restricted in | |
1552 | certain countries either by patents or by copyrighted interfaces, the | |
1553 | original copyright holder who places the Program under this License | |
1554 | may add an explicit geographical distribution limitation excluding | |
1555 | those countries, so that distribution is permitted only in or among | |
1556 | countries not thus excluded. In such case, this License incorporates | |
1557 | the limitation as if written in the body of this License. | |
1558 | ||
1559 | @item | |
1560 | The Free Software Foundation may publish revised and/or new versions | |
1561 | of the General Public License from time to time. Such new versions will | |
1562 | be similar in spirit to the present version, but may differ in detail to | |
1563 | address new problems or concerns. | |
1564 | ||
1565 | Each version is given a distinguishing version number. If the Program | |
1566 | specifies a version number of this License which applies to it and ``any | |
df9d7630 | 1567 | later version,'' you have the option of following the terms and conditions |
3f973d9b AI |
1568 | either of that version or of any later version published by the Free |
1569 | Software Foundation. If the Program does not specify a version number of | |
1570 | this License, you may choose any version ever published by the Free Software | |
1571 | Foundation. | |
1572 | ||
1573 | @item | |
1574 | If you wish to incorporate parts of the Program into other free | |
1575 | programs whose distribution conditions are different, write to the author | |
1576 | to ask for permission. For software which is copyrighted by the Free | |
1577 | Software Foundation, write to the Free Software Foundation; we sometimes | |
1578 | make exceptions for this. Our decision will be guided by the two goals | |
1579 | of preserving the free status of all derivatives of our free software and | |
1580 | of promoting the sharing and reuse of software generally. | |
1581 | ||
1582 | @iftex | |
1583 | @heading NO WARRANTY | |
1584 | @end iftex | |
00ea6f3d | 1585 | @ifnottex |
3f973d9b | 1586 | @center NO WARRANTY |
00ea6f3d | 1587 | @end ifnottex |
3f973d9b AI |
1588 | |
1589 | @item | |
1590 | BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |
1591 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW@. EXCEPT WHEN | |
1592 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |
1593 | PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |
1594 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
1595 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE@. THE ENTIRE RISK AS | |
1596 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE | |
1597 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |
1598 | REPAIR OR CORRECTION. | |
1599 | ||
1600 | @item | |
1601 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |
1602 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |
1603 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |
1604 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |
1605 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |
1606 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |
1607 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |
1608 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |
1609 | POSSIBILITY OF SUCH DAMAGES. | |
1610 | @end enumerate | |
1611 | ||
1612 | @iftex | |
1613 | @heading END OF TERMS AND CONDITIONS | |
1614 | @end iftex | |
00ea6f3d | 1615 | @ifnottex |
3f973d9b | 1616 | @center END OF TERMS AND CONDITIONS |
00ea6f3d | 1617 | @end ifnottex |
3f973d9b AI |
1618 | |
1619 | @page | |
1620 | @unnumberedsec How to Apply These Terms to Your New Programs | |
1621 | ||
1622 | If you develop a new program, and you want it to be of the greatest | |
1623 | possible use to the public, the best way to achieve this is to make it | |
1624 | free software which everyone can redistribute and change under these terms. | |
1625 | ||
1626 | To do so, attach the following notices to the program. It is safest | |
1627 | to attach them to the start of each source file to most effectively | |
1628 | convey the exclusion of warranty; and each file should have at least | |
1629 | the ``copyright'' line and a pointer to where the full notice is found. | |
1630 | ||
1631 | @smallexample | |
1632 | @var{one line to give the program's name and an idea of what it does.} | |
f7e44111 | 1633 | Copyright (C) @var{yyyy} @var{name of author} |
3f973d9b AI |
1634 | |
1635 | This program is free software; you can redistribute it and/or | |
1636 | modify it under the terms of the GNU General Public License | |
1637 | as published by the Free Software Foundation; either version 2 | |
1638 | of the License, or (at your option) any later version. | |
1639 | ||
1640 | This program is distributed in the hope that it will be useful, | |
1641 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
1642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the | |
1643 | GNU General Public License for more details. | |
1644 | ||
1645 | You should have received a copy of the GNU General Public License along | |
1646 | with this program; if not, write to the Free Software Foundation, Inc., | |
a7e3b4ef | 1647 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
3f973d9b AI |
1648 | @end smallexample |
1649 | ||
1650 | Also add information on how to contact you by electronic and paper mail. | |
1651 | ||
1652 | If the program is interactive, make it output a short notice like this | |
1653 | when it starts in an interactive mode: | |
1654 | ||
1655 | @smallexample | |
baa2a74e | 1656 | Gnomovision version 69, Copyright (C) @var{yyyy} @var{name of author} |
3f973d9b AI |
1657 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details |
1658 | type `show w'. This is free software, and you are welcome | |
177c0ea7 | 1659 | to redistribute it under certain conditions; type `show c' |
3f973d9b AI |
1660 | for details. |
1661 | @end smallexample | |
1662 | ||
1663 | The hypothetical commands @samp{show w} and @samp{show c} should show | |
1664 | the appropriate parts of the General Public License. Of course, the | |
1665 | commands you use may be called something other than @samp{show w} and | |
1666 | @samp{show c}; they could even be mouse-clicks or menu items---whatever | |
1667 | suits your program. | |
1668 | ||
1669 | You should also get your employer (if you work as a programmer) or your | |
1670 | school, if any, to sign a ``copyright disclaimer'' for the program, if | |
1671 | necessary. Here is a sample; alter the names: | |
1672 | ||
1673 | @smallexample | |
1674 | @group | |
1675 | Yoyodyne, Inc., hereby disclaims all copyright | |
1676 | interest in the program `Gnomovision' | |
177c0ea7 | 1677 | (which makes passes at compilers) written |
3f973d9b AI |
1678 | by James Hacker. |
1679 | ||
1680 | @var{signature of Ty Coon}, 1 April 1989 | |
1681 | Ty Coon, President of Vice | |
1682 | @end group | |
1683 | @end smallexample | |
1684 | ||
1685 | This General Public License does not permit incorporating your program into | |
1686 | proprietary programs. If your program is a subroutine library, you may | |
1687 | consider it more useful to permit linking proprietary applications with the | |
f7e44111 | 1688 | library. If this is what you want to do, use the GNU Lesser General |
3f973d9b AI |
1689 | Public License instead of this License. |
1690 | ||
34e81772 CY |
1691 | @node GNU Free Documentation License, Emacs Invocation, Copying, Top |
1692 | @appendix GNU Free Documentation License | |
7a258cfb | 1693 | @include doclicense.texi |
34e81772 | 1694 | |
3f973d9b | 1695 | @include cmdargs.texi |
5eadaf4d | 1696 | @include xresources.texi |
3f973d9b AI |
1697 | |
1698 | @include anti.texi | |
2f920ca8 | 1699 | @include macos.texi |
3f973d9b AI |
1700 | @include msdog.texi |
1701 | @include gnu.texi | |
1702 | @include glossary.texi | |
49e71458 | 1703 | @ifnottex |
3f973d9b | 1704 | @include ack.texi |
49e71458 | 1705 | @end ifnottex |
3f973d9b | 1706 | |
010e81be EZ |
1707 | @c The Option Index is produced only in the on-line version, |
1708 | @c because the index entries related to command-line options | |
1709 | @c tend to point to the same pages and all begin with a dash. | |
1710 | @c This, and the need to keep the node links consistent, are | |
1711 | @c the reasons for the funky @iftex/@ifnottex dance below. | |
1712 | @c The Option Index is _not_ before Key Index, because that | |
1713 | @c would require changes in the glossary.texi's @node line. | |
1714 | @c It is not after Concept Index for similar reasons. | |
1715 | ||
1716 | @iftex | |
3f973d9b AI |
1717 | @node Key Index, Command Index, Glossary, Top |
1718 | @unnumbered Key (Character) Index | |
1719 | @printindex ky | |
010e81be EZ |
1720 | @end iftex |
1721 | ||
1722 | @ifnottex | |
1723 | @node Key Index, Option Index, Glossary, Top | |
1724 | @unnumbered Key (Character) Index | |
1725 | @printindex ky | |
1726 | ||
1727 | @node Option Index, Command Index, Key Index, Top | |
1728 | @unnumbered Command-Line Options Index | |
1729 | @printindex op | |
3f973d9b | 1730 | |
010e81be EZ |
1731 | @node Command Index, Variable Index, Option Index, Top |
1732 | @unnumbered Command and Function Index | |
1733 | @printindex fn | |
1734 | @end ifnottex | |
1735 | ||
1736 | @iftex | |
3f973d9b AI |
1737 | @node Command Index, Variable Index, Key Index, Top |
1738 | @unnumbered Command and Function Index | |
1739 | @printindex fn | |
010e81be | 1740 | @end iftex |
3f973d9b AI |
1741 | |
1742 | @node Variable Index, Concept Index, Command Index, Top | |
1743 | @unnumbered Variable Index | |
1744 | @printindex vr | |
1745 | ||
1746 | @node Concept Index, Acknowledgments, Variable Index, Top | |
1747 | @unnumbered Concept Index | |
1748 | @printindex cp | |
1749 | ||
3f973d9b AI |
1750 | @bye |
1751 | ||
ab5796a9 MB |
1752 | @ignore |
1753 | arch-tag: ed48740a-410b-46ea-9387-c9a9252a3392 | |
1754 | @end ignore |