Mercurial > emacs
annotate man/emacs.texi @ 53232:22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
lib-src/emacsclient.c (emacs_pid): New variable.
(window_change): Forward the SIGWINCH signal to the Emacs process
after copying the size parameters to the proxy terminal.
(copy_from_to): New parameter (sigio), kill Emacs with SIGIO if it is
nonzero.
(main): Set emacs_pid.
lisp/server.el (server-process-filter): Send the pid of Emacs to emacsclient.
src/cm.c: Added tty parameters to all functions and all Wcm macro calls.
src/cm.h: Added tty parameters to all macros. Updated function prototypes.
(Wcm): Moved to struct tty_output.
src/dispextern.h: Updated function prototypes.
src/dispnew.c: Added tty parameters to all Wcm macro calls.
(do_switch_frame): Make old frame obscured, not invisible, to solve
problems with other-frame.
(Wcm): Moved to struct tty_output.
src/keyboard.c (read_avail_input): Select the frame corresponding to
the tty that was read. Slight rearrangement of tty loop.
src/lisp.h (tabs_safe_p): Removed duplicate prototype.
src/sysdep.c (hft_init, hft_reset): Added tty_output parameter.
(discard_tty_input): Discard input from all ttys on APOLLO, too.
Whatever it is.
(narrow_foreground_group, widen_foreground_group): Added tty parameter
(not really useful, the functions only work on the controlling tty.)
(tabs_safe_p): Added tty parameter.
src/term.c Added tty parameters to all Wcm macro calls.
Standardised updating_frame vs. selected frame and tty_output access.
(term_init): Allocate Wcm.
(syms_of_term): Provide the `multi-tty' feature.
src/termchar.h (struct tty_output): Added Wcm.
src/xdisp.c (try_window_id): Make sure we use the tty device
corresponding to the current frame.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-8
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sat, 27 Dec 2003 01:12:57 +0000 |
parents | 3649390c0f91 |
children | 60657a16545c |
rev | line source |
---|---|
24093 | 1 \input texinfo |
2 | |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
3 @setfilename ../info/emacs |
24093 | 4 @settitle GNU Emacs Manual |
5 | |
35942
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
6 @c The edition number appears in several places in this file |
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
7 @set EDITION Fourteenth |
45510
418a8a558d4d
Bump the Emacs version to 21.3.50.
Eli Zaretskii <eliz@gnu.org>
parents:
44812
diff
changeset
|
8 @set EMACSVER 21.3.50 |
35942
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
9 |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
10 @copying |
35942
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
11 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual}, |
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
12 updated for Emacs version @value{EMACSVER}. |
24093 | 13 |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
14 Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
15 1999, 2000, 2001, 2002 Free Software Foundation, Inc. |
24093 | 16 |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
17 @quotation |
31309
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
18 Permission is granted to copy, distribute and/or modify this document |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
19 under the terms of the GNU Free Documentation License, Version 1.1 or |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
20 any later version published by the Free Software Foundation; with the |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
21 Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
22 ``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU |
36153
87a2cea44a9c
Fix punctuation in license notices.
Richard M. Stallman <rms@gnu.org>
parents:
36104
diff
changeset
|
23 Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the |
31309
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
24 license is included in the section entitled ``GNU Free Documentation |
36153
87a2cea44a9c
Fix punctuation in license notices.
Richard M. Stallman <rms@gnu.org>
parents:
36104
diff
changeset
|
25 License.'' |
31309
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
26 |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
27 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
28 this GNU Manual, like GNU software. Copies published by the Free |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
29 Software Foundation raise funds for GNU development.'' |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
30 @end quotation |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
31 @end copying |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
32 |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
33 @dircategory Emacs |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
34 @direntry |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
35 * Emacs: (emacs). The extensible self-documenting text editor. |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
36 @end direntry |
24093 | 37 |
38 @c in general, keep the following line commented out, unless doing a | |
39 @c copy of this manual that will be published. the manual should go | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
40 @c onto the distribution in the full, 8.5 x 11" size. |
24093 | 41 |
39626
456e8149059d
Comment out @smallbook.
Richard M. Stallman <rms@gnu.org>
parents:
39438
diff
changeset
|
42 @c @smallbook |
24093 | 43 |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
44 @setchapternewpage odd |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
45 @defcodeindex op |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
46 @synindex pg cp |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
47 |
24093 | 48 @iftex |
49 @kbdinputstyle code | |
50 | |
51 @shorttitlepage GNU Emacs Manual | |
52 @end iftex | |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
53 |
24093 | 54 @titlepage |
55 @sp 6 | |
56 @center @titlefont{GNU Emacs Manual} | |
57 @sp 4 | |
35942
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
58 @center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}. |
24093 | 59 @sp 5 |
60 @center Richard Stallman | |
61 @page | |
62 @vskip 0pt plus 1filll | |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
63 @insertcopying |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
64 |
24093 | 65 @sp 2 |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
46918
diff
changeset
|
66 ISBN 1-882114-06-X @* |
24093 | 67 Published by the Free Software Foundation @* |
68 59 Temple Place, Suite 330 @* | |
69 Boston, MA 02111-1307 USA | |
70 | |
71 @sp 2 | |
72 Cover art by Etienne Suvasa. | |
73 | |
74 @end titlepage | |
75 @page | |
30870 | 76 @ifnottex |
24093 | 77 @node Top, Distrib, (dir), (dir) |
78 @top The Emacs Editor | |
79 | |
80 Emacs is the extensible, customizable, self-documenting real-time | |
81 display editor. This Info file describes how to edit with Emacs and | |
35942
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
82 some of how to customize it; it corresponds to GNU Emacs version |
d302cde082a0
Use @set and @value to avoid changing the edition and the Emacs version
Eli Zaretskii <eliz@gnu.org>
parents:
35745
diff
changeset
|
83 @value{EMACSVER}. |
44812
6cc0614312ce
(Top): Add instructions for getting Info novice help.
Eli Zaretskii <eliz@gnu.org>
parents:
43015
diff
changeset
|
84 |
6cc0614312ce
(Top): Add instructions for getting Info novice help.
Eli Zaretskii <eliz@gnu.org>
parents:
43015
diff
changeset
|
85 @ifinfo |
6cc0614312ce
(Top): Add instructions for getting Info novice help.
Eli Zaretskii <eliz@gnu.org>
parents:
43015
diff
changeset
|
86 If you never before used the Info documentation system, type @kbd{h}, |
48531
962cd8bcdb21
Remove duplicate reference to Info tutorial.
Richard M. Stallman <rms@gnu.org>
parents:
47737
diff
changeset
|
87 and Emacs will take you to a programmed instruction sequence for the |
962cd8bcdb21
Remove duplicate reference to Info tutorial.
Richard M. Stallman <rms@gnu.org>
parents:
47737
diff
changeset
|
88 Info commands. |
44812
6cc0614312ce
(Top): Add instructions for getting Info novice help.
Eli Zaretskii <eliz@gnu.org>
parents:
43015
diff
changeset
|
89 @end ifinfo |
6cc0614312ce
(Top): Add instructions for getting Info novice help.
Eli Zaretskii <eliz@gnu.org>
parents:
43015
diff
changeset
|
90 |
41864
16dc446b245f
Don't omit first argument of @ref.
Andreas Schwab <schwab@suse.de>
parents:
41370
diff
changeset
|
91 For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The |
24093 | 92 Emacs Lisp Reference Manual}. |
30870 | 93 @end ifnottex |
24093 | 94 |
95 @ignore | |
96 These subcategories have been deleted for simplicity | |
97 and to avoid conflicts. | |
98 Completion | |
99 Backup Files | |
100 Auto-Saving: Protection Against Disasters | |
101 Snapshots | |
102 Text Mode | |
103 Outline Mode | |
104 @TeX{} Mode | |
105 Formatted Text | |
106 Fortran Mode | |
107 Fortran Indentation | |
108 Shell Command History | |
109 | |
110 The ones for Dired and Rmail have had the items turned into :: items | |
111 to avoid conflicts. | |
112 Also Running Shell Commands from Emacs | |
113 and Sending Mail and Registers and Minibuffer. | |
114 @end ignore | |
115 | |
116 @menu | |
117 * Distrib:: How to get the latest Emacs distribution. | |
52574
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
118 * Acknowledgements:: Contributors to GNU Emacs. |
24093 | 119 * Copying:: The GNU General Public License gives you permission |
120 to redistribute GNU Emacs on certain terms; | |
121 it also explains that there is no warranty. | |
31309
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
122 * GNU Free Documentation License:: The license for this documentation. |
24093 | 123 * Intro:: An introduction to Emacs concepts. |
124 * Glossary:: The glossary. | |
32113
a0915106b092
(Top): Update version in `Antinews' menu entry.
Miles Bader <miles@gnu.org>
parents:
31356
diff
changeset
|
125 * Antinews:: Information about Emacs version 20. |
34199 | 126 * Mac OS:: Using Emacs in the Mac. |
24093 | 127 * MS-DOS:: Using Emacs on MS-DOS (otherwise known as "MS-DOG"). |
128 * Manifesto:: What's GNU? Gnu's Not Unix! | |
129 * Acknowledgments:: Major contributors to GNU Emacs. | |
130 | |
131 Indexes (nodes containing large menus) | |
132 * Key Index:: An item for each standard Emacs key sequence. | |
133 * Command Index:: An item for each command name. | |
134 * Variable Index:: An item for each documented variable. | |
135 * Concept Index:: An item for each concept. | |
37452
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
136 @c This is last because @ifnottex leaves an empty line. |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
137 @ifnottex |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
138 * Option Index:: An item for every command-line option. |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
139 @end ifnottex |
24093 | 140 |
141 Important General Concepts | |
142 * Screen:: How to interpret what you see on the screen. | |
143 * User Input:: Kinds of input events (characters, buttons, | |
144 function keys). | |
145 * Keys:: Key sequences: what you type to request one | |
146 editing action. | |
147 * Commands:: Named functions run by key sequences to do editing. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
148 * Text Characters:: Character set for text (the contents of buffers |
24093 | 149 and strings). |
150 * Entering Emacs:: Starting Emacs from the shell. | |
151 * Exiting:: Stopping or killing Emacs. | |
152 * Command Arguments:: Hairy startup options. | |
153 | |
154 Fundamental Editing Commands | |
155 * Basic:: The most basic editing commands. | |
156 * Minibuffer:: Entering arguments that are prompted for. | |
157 * M-x:: Invoking commands by their names. | |
158 * Help:: Commands for asking Emacs about its commands. | |
159 | |
160 Important Text-Changing Commands | |
161 * Mark:: The mark: how to delimit a ``region'' of text. | |
162 * Killing:: Killing text. | |
163 * Yanking:: Recovering killed text. Moving text. | |
164 * Accumulating Text:: Other ways of copying text. | |
165 * Rectangles:: Operating on the text inside a rectangle on the screen. | |
166 * Registers:: Saving a text string or a location in the buffer. | |
167 * Display:: Controlling what text is displayed. | |
168 * Search:: Finding or replacing occurrences of a string. | |
169 * Fixit:: Commands especially useful for fixing typos. | |
52261
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
170 * Keyboard Macros:: A keyboard macro records a sequence of |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
171 keystrokes to be replayed with a single command. |
24093 | 172 |
173 Major Structures of Emacs | |
174 * Files:: All about handling files. | |
175 * Buffers:: Multiple buffers; editing several files at once. | |
176 * Windows:: Viewing two pieces of text at once. | |
177 * Frames:: Running the same Emacs session in multiple X windows. | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52582
diff
changeset
|
178 * International:: Using non-@acronym{ASCII} character sets (the MULE features). |
24093 | 179 |
180 Advanced Features | |
181 * Major Modes:: Text mode vs. Lisp mode vs. C mode ... | |
182 * Indentation:: Editing the white space at the beginnings of lines. | |
183 * Text:: Commands and modes for editing English. | |
184 * Programs:: Commands and modes for editing programs. | |
185 * Building:: Compiling, running and debugging programs. | |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
186 * Maintaining:: Features for maintaining large programs. |
24093 | 187 * Abbrevs:: How to define text abbreviations to reduce |
188 the number of characters you must type. | |
189 * Picture:: Editing pictures made up of characters | |
190 using the quarter-plane screen model. | |
191 * Sending Mail:: Sending mail in Emacs. | |
192 * Rmail:: Reading mail in Emacs. | |
193 * Dired:: You can ``edit'' a directory to manage files in it. | |
194 * Calendar/Diary:: The calendar and diary facilities. | |
195 * Gnus:: How to read netnews with Emacs. | |
196 * Shell:: Executing shell commands from Emacs. | |
197 * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | |
198 * Hardcopy:: Printing buffers or regions. | |
27212 | 199 * PostScript:: Printing buffers or regions as PostScript. |
200 * PostScript Variables:: | |
201 Customizing the PostScript printing commands. | |
24093 | 202 * Sorting:: Sorting lines, paragraphs or pages within Emacs. |
203 * Narrowing:: Restricting display and editing to a portion | |
204 of the buffer. | |
205 * Two-Column:: Splitting apart columns to edit them | |
206 in side-by-side windows. | |
207 * Editing Binary Files:: | |
208 Using Hexl mode to edit binary files. | |
209 * Saving Emacs Sessions:: | |
210 Saving Emacs state from one session to the next. | |
211 * Recursive Edit:: A command can allow you to do editing | |
212 "within the command". This is called a | |
36211 | 213 "recursive editing level". |
24093 | 214 * Emulation:: Emulating some other editors with Emacs. |
30870 | 215 * Hyperlinking:: Following links in buffers. |
24093 | 216 * Dissociated Press:: Dissociating text for fun. |
217 * Amusements:: Various games and hacks. | |
218 * Customization:: Modifying the behavior of Emacs. | |
40520
9062bc5cc660
Add new appendix "X Resources" to menu.
Richard M. Stallman <rms@gnu.org>
parents:
39874
diff
changeset
|
219 * X Resources:: X resources for customizing Emacs. |
24093 | 220 |
221 Recovery from Problems | |
222 * Quitting:: Quitting and aborting. | |
223 * Lossage:: What to do if Emacs is hung or malfunctioning. | |
224 * Bugs:: How and when to report a bug. | |
225 * Contributing:: How to contribute improvements to Emacs. | |
226 * Service:: How to get help for your own Emacs needs. | |
227 | |
228 Here are some other nodes which are really inferiors of the ones | |
229 already listed, mentioned here so you can get to them in one step: | |
230 | |
231 --- The Detailed Node Listing --- | |
232 | |
233 The Organization of the Screen | |
234 | |
235 * Point:: The place in the text where editing commands operate. | |
236 * Echo Area:: Short messages appear at the bottom of the screen. | |
237 * Mode Line:: Interpreting the mode line. | |
238 * Menu Bar:: How to use the menu bar. | |
239 | |
240 Basic Editing Commands | |
241 | |
242 * Inserting Text:: Inserting text by simply typing it. | |
243 * Moving Point:: How to move the cursor to the place where you want to | |
244 change something. | |
245 * Erasing:: Deleting and killing text. | |
246 * Undo:: Undoing recent changes in the text. | |
247 * Files: Basic Files. Visiting, creating, and saving files. | |
248 * Help: Basic Help. Asking what a character does. | |
249 * Blank Lines:: Commands to make or delete blank lines. | |
250 * Continuation Lines:: Lines too wide for the screen. | |
251 * Position Info:: What page, line, row, or column is point on? | |
252 * Arguments:: Numeric arguments for repeating a command. | |
253 | |
254 The Minibuffer | |
255 | |
256 * Minibuffer File:: Entering file names with the minibuffer. | |
257 * Minibuffer Edit:: How to edit in the minibuffer. | |
258 * Completion:: An abbreviation facility for minibuffer input. | |
259 * Minibuffer History:: Reusing recent minibuffer arguments. | |
260 * Repetition:: Re-executing commands that used the minibuffer. | |
261 | |
262 Help | |
263 | |
264 * Help Summary:: Brief list of all Help commands. | |
265 * Key Help:: Asking what a key does in Emacs. | |
266 * Name Help:: Asking about a command, variable or function name. | |
267 * Apropos:: Asking what pertains to a given topic. | |
268 * Library Keywords:: Finding Lisp libraries by keywords (topics). | |
269 * Language Help:: Help relating to international language support. | |
270 * Misc Help:: Other help commands. | |
271 | |
272 The Mark and the Region | |
273 | |
274 * Setting Mark:: Commands to set the mark. | |
275 * Transient Mark:: How to make Emacs highlight the region-- | |
276 when there is one. | |
277 * Using Region:: Summary of ways to operate on contents of the region. | |
278 * Marking Objects:: Commands to put region around textual units. | |
279 * Mark Ring:: Previous mark positions saved so you can go back there. | |
280 * Global Mark Ring:: Previous mark positions in various buffers. | |
281 | |
282 Deletion and Killing | |
283 | |
284 * Deletion:: Commands for deleting small amounts of text and | |
285 blank areas. | |
286 * Killing by Lines:: How to kill entire lines of text at one time. | |
287 * Other Kill Commands:: Commands to kill large regions of text and | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
288 syntactic units such as words and sentences. |
24093 | 289 |
290 Yanking | |
291 | |
292 * Kill Ring:: Where killed text is stored. Basic yanking. | |
293 * Appending Kills:: Several kills in a row all yank together. | |
294 * Earlier Kills:: Yanking something killed some time ago. | |
295 | |
296 Registers | |
297 | |
298 * RegPos:: Saving positions in registers. | |
299 * RegText:: Saving text in registers. | |
300 * RegRect:: Saving rectangles in registers. | |
301 * RegConfig:: Saving window configurations in registers. | |
302 * RegFiles:: File names in registers. | |
303 * Bookmarks:: Bookmarks are like registers, but persistent. | |
304 | |
305 Controlling the Display | |
306 | |
307 * Scrolling:: Moving text up and down in a window. | |
308 * Horizontal Scrolling:: Moving text left and right in a window. | |
309 * Follow Mode:: Follow mode lets two windows scroll as one. | |
310 * Selective Display:: Hiding lines with lots of indentation. | |
311 * Optional Mode Line:: Optional mode line display features. | |
312 * Text Display:: How text is normally displayed. | |
36211 | 313 * Display Custom:: Information on variables for customizing display. |
24093 | 314 |
315 Searching and Replacement | |
316 | |
317 * Incremental Search:: Search happens as you type the string. | |
318 * Nonincremental Search:: Specify entire string and then search. | |
319 * Word Search:: Search for sequence of words. | |
320 * Regexp Search:: Search for match for a regexp. | |
321 * Regexps:: Syntax of regular expressions. | |
322 * Search Case:: To ignore case while searching, or not. | |
323 * Replace:: Search, and replace some or all matches. | |
324 * Other Repeating Search:: Operating on all matches for some regexp. | |
325 | |
326 Replacement Commands | |
327 | |
328 * Unconditional Replace:: Replacing all matches for a string. | |
329 * Regexp Replace:: Replacing all matches for a regexp. | |
330 * Replacement and Case:: How replacements preserve case of letters. | |
331 * Query Replace:: How to use querying. | |
332 | |
333 Commands for Fixing Typos | |
334 | |
335 * Kill Errors:: Commands to kill a batch of recently entered text. | |
336 * Transpose:: Exchanging two characters, words, lines, lists... | |
337 * Fixing Case:: Correcting case of last word entered. | |
338 * Spelling:: Apply spelling checker to a word or a whole buffer. | |
339 | |
52261
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
340 Keyboard Macros |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
341 |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
342 * Basic Keyboard Macro:: Defining and running keyboard macros. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
343 * Keyboard Macro Ring:: Where previous keyboard macros are saved. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
344 * Keyboard Macro Counter:: Inserting incrementing numbers in macros. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
345 * Keyboard Macro Query:: Making keyboard macros do different things each time. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
346 * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
347 * Edit Keyboard Macro:: Editing keyboard macros. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
348 * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard macro. |
6353932ee382
(Top): Update menu to reflect new Keyboard Macros chapter.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52252
diff
changeset
|
349 |
24093 | 350 File Handling |
351 | |
352 * File Names:: How to type and edit file-name arguments. | |
353 * Visiting:: Visiting a file prepares Emacs to edit the file. | |
354 * Saving:: Saving makes your changes permanent. | |
355 * Reverting:: Reverting cancels all the changes not saved. | |
356 * Auto Save:: Auto Save periodically protects against loss of data. | |
357 * File Aliases:: Handling multiple names for one file. | |
358 * Version Control:: Version control systems (RCS, CVS and SCCS). | |
359 * Directories:: Creating, deleting, and listing file directories. | |
360 * Comparing Files:: Finding where two files differ. | |
361 * Misc File Ops:: Other things you can do on files. | |
362 * Compressed Files:: Accessing compressed files. | |
363 * Remote Files:: Accessing files on other sites. | |
364 * Quoted File Names:: Quoting special characters in file names. | |
365 | |
366 Saving Files | |
367 | |
368 * Backup:: How Emacs saves the old version of your file. | |
369 * Interlocking:: How Emacs protects against simultaneous editing | |
370 of one file by two users. | |
371 | |
372 Version Control | |
373 | |
374 * Introduction to VC:: How version control works in general. | |
375 * VC Mode Line:: How the mode line shows version control status. | |
376 * Basic VC Editing:: How to edit a file under version control. | |
377 * Old Versions:: Examining and comparing old versions. | |
378 * Secondary VC Commands:: The commands used a little less frequently. | |
379 * Branches:: Multiple lines of development. | |
380 * Snapshots:: Sets of file versions treated as a unit. | |
381 * Miscellaneous VC:: Various other commands and features of VC. | |
382 * Customizing VC:: Variables that change VC's behavior. | |
383 | |
384 Using Multiple Buffers | |
385 | |
386 * Select Buffer:: Creating a new buffer or reselecting an old one. | |
387 * List Buffers:: Getting a list of buffers that exist. | |
39267 | 388 * Misc Buffer:: Renaming; changing read-onliness; copying text. |
24093 | 389 * Kill Buffer:: Killing buffers you no longer need. |
390 * Several Buffers:: How to go through the list of all buffers | |
391 and operate variously on several of them. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
392 * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
24093 | 393 |
394 Multiple Windows | |
395 | |
396 * Basic Window:: Introduction to Emacs windows. | |
397 * Split Window:: New windows are made by splitting existing windows. | |
398 * Other Window:: Moving to another window or doing something to it. | |
399 * Pop Up Window:: Finding a file or buffer in another window. | |
400 * Force Same Window:: Forcing certain buffers to appear in the selected | |
401 window rather than in another window. | |
402 * Change Window:: Deleting windows and changing their sizes. | |
403 | |
404 Frames and X Windows | |
405 | |
406 * Mouse Commands:: Moving, cutting, and pasting, with the mouse. | |
407 * Secondary Selection:: Cutting without altering point and mark. | |
36211 | 408 * Clipboard:: Using the clipboard for selections. |
24093 | 409 * Mouse References:: Using the mouse to select an item from a list. |
410 * Menu Mouse Clicks:: Mouse clicks that bring up menus. | |
411 * Mode Line Mouse:: Mouse clicks on the mode line. | |
412 * Creating Frames:: Creating additional Emacs frames with various contents. | |
36211 | 413 * Frame Commands:: Iconifying, deleting, and switching frames. |
414 * Speedbar:: How to make and use a speedbar frame. | |
24093 | 415 * Multiple Displays:: How one Emacs job can talk to several displays. |
416 * Special Buffer Frames:: You can make certain buffers have their own frames. | |
417 * Frame Parameters:: Changing the colors and other modes of frames. | |
418 * Scroll Bars:: How to enable and disable scroll bars; how to use them. | |
36211 | 419 * Wheeled Mice:: Using mouse wheels for scrolling. |
24093 | 420 * Menu Bars:: Enabling and disabling the menu bar. |
36211 | 421 * Tool Bars:: Enabling and disabling the tool bar. |
422 * Dialog Boxes:: Controlling use of dialog boxes. | |
24093 | 423 * Faces:: How to change the display style using faces. |
424 * Font Lock:: Minor mode for syntactic highlighting using faces. | |
36211 | 425 * Highlight Changes:: Using colors to show where you changed the buffer. |
426 * Highlight Interactively:: Tell Emacs what text to highlight. | |
45884
90445f6e269f
@end info changed to @end info
Robert J. Chassell <bob@rattlesnake.com>
parents:
45878
diff
changeset
|
427 * Useless Whitespace:: Showing possibly-spurious trailing whitespace. |
36211 | 428 * Tooltips:: Showing "tooltips", AKA "ballon help" for active text. |
429 * Mouse Avoidance:: Moving the mouse pointer out of the way. | |
24093 | 430 * Non-Window Terminals:: Multiple frames on terminals that show only one. |
36211 | 431 * XTerm Mouse:: Using the mouse in an XTerm terminal emulator. |
24093 | 432 |
433 International Character Set Support | |
434 | |
37844
25ec812aa6bd
International Intro node renamed to International Chars.
Richard M. Stallman <rms@gnu.org>
parents:
37620
diff
changeset
|
435 * International Chars:: Basic concepts of multibyte characters. |
24093 | 436 * Enabling Multibyte:: Controlling whether to use multibyte characters. |
437 * Language Environments:: Setting things up for the language you use. | |
438 * Input Methods:: Entering text characters not on your keyboard. | |
439 * Select Input Method:: Specifying your choice of input methods. | |
440 * Coding Systems:: Character set conversion when you read and | |
441 write files, and so on. | |
442 * Recognize Coding:: How Emacs figures out which conversion to use. | |
443 * Specify Coding:: Various ways to choose which conversion to use. | |
444 * Fontsets:: Fontsets are collections of fonts | |
445 that cover the whole spectrum of characters. | |
446 * Defining Fontsets:: Defining a new fontset. | |
27212 | 447 * Single-Byte Character Support:: |
24093 | 448 You can pick one European character set |
449 to use without multibyte characters. | |
450 | |
451 Major Modes | |
452 | |
453 * Choosing Modes:: How major modes are specified or chosen. | |
454 | |
455 Indentation | |
456 | |
457 * Indentation Commands:: Various commands and techniques for indentation. | |
458 * Tab Stops:: You can set arbitrary "tab stops" and then | |
459 indent to the next tab stop when you want to. | |
460 * Just Spaces:: You can request indentation using just spaces. | |
461 | |
462 Commands for Human Languages | |
463 | |
464 * Words:: Moving over and killing words. | |
465 * Sentences:: Moving over and killing sentences. | |
466 * Paragraphs:: Moving over paragraphs. | |
467 * Pages:: Moving over pages. | |
468 * Filling:: Filling or justifying text. | |
469 * Case:: Changing the case of text. | |
470 * Text Mode:: The major modes for editing text files. | |
471 * Outline Mode:: Editing outlines. | |
472 * TeX Mode:: Editing input to the formatter TeX. | |
473 * Nroff Mode:: Editing input to the formatter nroff. | |
474 * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | |
475 | |
476 Filling Text | |
477 | |
478 * Auto Fill:: Auto Fill mode breaks long lines automatically. | |
479 * Fill Commands:: Commands to refill paragraphs and center lines. | |
480 * Fill Prefix:: Filling paragraphs that are indented | |
481 or in a comment, etc. | |
482 * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | |
483 | |
484 Editing Programs | |
485 | |
486 * Program Modes:: Major modes for editing programs. | |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
487 * Defuns:: Commands to operate on major top-level parts |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
488 of a program. |
24093 | 489 * Program Indent:: Adjusting indentation to show the nesting. |
490 * Comments:: Inserting, killing, and aligning comments. | |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
491 * Parentheses:: Commands that operate on parentheses. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
492 * Documentation:: Getting documentation of functions you plan to call. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
493 * Hideshow:: Displaying blocks selectively. |
24093 | 494 * Symbol Completion:: Completion on symbol names of your program or language. |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
495 * Glasses:: Making identifiersLikeThis more readable. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
496 * Misc for Programs:: Other Emacs features useful for editing programs. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
497 * C Modes:: Special commands of C, C++, Objective-C, |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
498 Java, and Pike modes. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
499 * Fortran:: Fortran mode and its special features. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
500 * Asm Mode:: Asm mode and its special features. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
501 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
502 Top-Level Definitions, or Defuns |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
503 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
504 * Left Margin Paren:: An open-paren or similar opening delimiter |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
505 starts a defun if it is at the left margin. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
506 * Moving by Defuns:: Commands to move over or mark a major definition. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
507 * Imenu:: Making buffer indexes as menus. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
508 * Which Function:: Which Function mode shows which function you are in. |
24093 | 509 |
510 Indentation for Programs | |
511 | |
512 * Basic Indent:: Indenting a single line. | |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
513 * Multi-line Indent:: Commands to reindent many lines at once. |
24093 | 514 * Lisp Indent:: Specifying how each Lisp function should be indented. |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
515 * C Indent:: Extra features for indenting C and related modes. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
516 * Custom C Indent:: Controlling indentation style for C and related modes. |
24093 | 517 |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
518 Commands for Editing with Parentheses |
24093 | 519 |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
520 * Expressions:: Expressions with balanced parentheses. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
521 * Moving by Parens:: Commands for moving up, down and across |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
522 in the structure of parentheses. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
523 * Matching:: Insertion of a close-delimiter flashes matching open. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
524 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
525 Manipulating Comments |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
526 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
527 * Comment Commands:: Inserting, killing, and indenting comments. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
528 * Multi-Line Comments:: Commands for adding and editing multi-line comments. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
529 * Options for Comments::Customizing the comment features. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
530 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
531 Documentation Lookup |
24093 | 532 |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
533 * Info Lookup:: Looking up library functions and commands |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
534 in Info files. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
535 * Man Page:: Looking up man pages of library functions and commands. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
536 * Lisp Doc:: Looking up Emacs Lisp functions, etc. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
537 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
538 C and Related Modes |
24093 | 539 |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
540 * Motion in C:: Commands to move by C statements, etc. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
541 * Electric C:: Colon and other chars can automatically reindent. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
542 * Hungry Delete:: A more powerful DEL command. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
543 * Other C Commands:: Filling comments, viewing expansion of macros, |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
544 and other neat features. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
545 * Comments in C:: Options for customizing comment style. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
546 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
547 Fortran Mode |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
548 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
549 * Motion: Fortran Motion. Moving point by statements or subprograms. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
550 * Indent: Fortran Indent. Indentation commands for Fortran. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
551 * Comments: Fortran Comments. Inserting and aligning comments. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
552 * Autofill: Fortran Autofill. Auto fill minor mode for Fortran. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
553 * Columns: Fortran Columns. Measuring columns for valid Fortran. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
554 * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. |
24093 | 555 |
556 Compiling and Testing Programs | |
557 | |
558 * Compilation:: Compiling programs in languages other | |
559 than Lisp (C, Pascal, etc.). | |
560 * Compilation Mode:: The mode for visiting compiler errors. | |
561 * Compilation Shell:: Customizing your shell properly | |
562 for use in the compilation buffer. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
563 * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
564 * Executing Lisp:: Various modes for editing Lisp programs, |
24093 | 565 with different facilities for running |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
566 the Lisp programs. |
24093 | 567 * Lisp Libraries:: Creating Lisp programs to run in Emacs. |
568 * Lisp Interaction:: Executing Lisp in an Emacs buffer. | |
569 * Lisp Eval:: Executing a single Lisp expression in Emacs. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
570 * External Lisp:: Communicating through Emacs with a separate Lisp. |
24093 | 571 |
572 Running Debuggers Under Emacs | |
573 | |
574 * Starting GUD:: How to start a debugger subprocess. | |
575 * Debugger Operation:: Connection between the debugger and source buffers. | |
576 * Commands of GUD:: Key bindings for common commands. | |
577 * GUD Customization:: Defining your own commands for GUD. | |
578 | |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
579 Maintaining Programs |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
580 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
581 * Change Log:: Maintaining a change history for your program. |
40792
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
40525
diff
changeset
|
582 @ignore |
39082
b2693c0914e4
Fix the AUTHORS menu item. Suggested by Eric Hanchrow <offby1@blarg.net>.
Eli Zaretskii <eliz@gnu.org>
parents:
39059
diff
changeset
|
583 * Authors:: Maintaining the Emacs @file{AUTHORS} file. |
40792
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
40525
diff
changeset
|
584 @end ignore |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
585 * Tags:: Go direct to any function in your program in one |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
586 command. Tags remembers which file it is in. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
587 * Emerge:: A convenient way of merging two versions of a program. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
588 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
589 Tags Tables |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
590 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
591 * Tag Syntax:: Tag syntax for various types of code and text files. |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
592 * Create Tags Table:: Creating a tags table with @code{etags}. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
593 * Select Tags Table:: How to visit a tags table. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
594 * Find Tag:: Commands to find the definition of a specific tag. |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
595 * Tags Search:: Using a tags table for searching and replacing. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
596 * List Tags:: Listing and finding tags defined in a file. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
597 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
598 Merging Files with Emerge |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
599 |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
600 * Overview of Emerge:: How to start Emerge. Basic concepts. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
601 * Submodes of Emerge:: Fast mode vs. Edit mode. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
602 Skip Prefers mode and Auto Advance mode. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
603 * State of Difference:: You do the merge by specifying state A or B |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
604 for each difference. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
605 * Merge Commands:: Commands for selecting a difference, |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
606 changing states of differences, etc. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
607 * Exiting Emerge:: What to do when you've finished the merge. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
608 * Combining in Emerge:: How to keep both alternatives for a difference. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
609 * Fine Points of Emerge:: Misc. |
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
610 |
24093 | 611 Abbrevs |
612 | |
613 * Abbrev Concepts:: Fundamentals of defined abbrevs. | |
614 * Defining Abbrevs:: Defining an abbrev, so it will expand when typed. | |
615 * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion. | |
616 * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. | |
617 * Saving Abbrevs:: Saving the entire list of abbrevs for another session. | |
618 * Dynamic Abbrevs:: Abbreviations for words already in the buffer. | |
619 | |
620 Editing Pictures | |
621 | |
622 * Basic Picture:: Basic concepts and simple commands of Picture Mode. | |
623 * Insert in Picture:: Controlling direction of cursor motion | |
624 after "self-inserting" characters. | |
625 * Tabs in Picture:: Various features for tab stops and indentation. | |
626 * Rectangles in Picture:: Clearing and superimposing rectangles. | |
627 | |
628 Sending Mail | |
629 | |
630 * Mail Format:: Format of the mail being composed. | |
631 * Mail Headers:: Details of permitted mail header fields. | |
632 * Mail Aliases:: Abbreviating and grouping mail addresses. | |
633 * Mail Mode:: Special commands for editing mail being composed. | |
36212
339b9d45f288
Distracting NSA => Mail Amusements.
Richard M. Stallman <rms@gnu.org>
parents:
36211
diff
changeset
|
634 * Mail Amusements:: Distract the NSA's attention; add a fortune to a msg. |
24093 | 635 * Mail Methods:: Using alternative mail-composition methods. |
636 | |
637 Reading Mail with Rmail | |
638 | |
639 * Rmail Basics:: Basic concepts of Rmail, and simple use. | |
640 * Rmail Scrolling:: Scrolling through a message. | |
641 * Rmail Motion:: Moving to another message. | |
642 * Rmail Deletion:: Deleting and expunging messages. | |
643 * Rmail Inbox:: How mail gets into the Rmail file. | |
644 * Rmail Files:: Using multiple Rmail files. | |
645 * Rmail Output:: Copying message out to files. | |
646 * Rmail Labels:: Classifying messages by labeling them. | |
647 * Rmail Attributes:: Certain standard labels, called attributes. | |
648 * Rmail Reply:: Sending replies to messages you are viewing. | |
649 * Rmail Summary:: Summaries show brief info on many messages. | |
650 * Rmail Sorting:: Sorting messages in Rmail. | |
651 * Rmail Display:: How Rmail displays a message; customization. | |
652 * Rmail Editing:: Editing message text and headers in Rmail. | |
653 * Rmail Digest:: Extracting the messages from a digest message. | |
654 * Out of Rmail:: Converting an Rmail file to mailbox format. | |
655 * Rmail Rot13:: Reading messages encoded in the rot13 code. | |
656 * Movemail:: More details of fetching new mail. | |
657 | |
658 Dired, the Directory Editor | |
659 | |
660 * Dired Enter:: How to invoke Dired. | |
37993
1ff0891cec4c
Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents:
37844
diff
changeset
|
661 * Dired Navigation:: How to move in the Dired buffer. |
24093 | 662 * Dired Deletion:: Deleting files with Dired. |
663 * Flagging Many Files:: Flagging files based on their names. | |
664 * Dired Visiting:: Other file operations through Dired. | |
665 * Marks vs Flags:: Flagging for deletion vs marking. | |
666 * Operating on Files:: How to copy, rename, print, compress, etc. | |
667 either one file or several files. | |
668 * Shell Commands in Dired:: Running a shell command on the marked files. | |
669 * Transforming File Names:: Using patterns to rename multiple files. | |
670 * Comparison in Dired:: Running `diff' by way of Dired. | |
671 * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. | |
672 * Subdirectory Motion:: Moving across subdirectories, and up and down. | |
673 * Hiding Subdirectories:: Making subdirectories visible or invisible. | |
674 * Dired Updating:: Discarding lines for files of no interest. | |
675 * Dired and Find:: Using `find' to choose the files for Dired. | |
676 | |
677 The Calendar and the Diary | |
678 | |
679 * Calendar Motion:: Moving through the calendar; selecting a date. | |
680 * Scroll Calendar:: Bringing earlier or later months onto the screen. | |
681 * Counting Days:: How many days are there between two dates? | |
682 * General Calendar:: Exiting or recomputing the calendar. | |
683 * LaTeX Calendar:: Print a calendar using LaTeX. | |
684 * Holidays:: Displaying dates of holidays. | |
685 * Sunrise/Sunset:: Displaying local times of sunrise and sunset. | |
686 * Lunar Phases:: Displaying phases of the moon. | |
687 * Other Calendars:: Converting dates to other calendar systems. | |
688 * Diary:: Displaying events from your diary. | |
689 * Appointments:: Reminders when it's time to do something. | |
690 * Daylight Savings:: How to specify when daylight savings time is active. | |
691 | |
692 Movement in the Calendar | |
693 | |
694 * Calendar Unit Motion:: Moving by days, weeks, months, and years. | |
695 * Move to Beginning or End:: Moving to start/end of weeks, months, and years. | |
696 * Specified Dates:: Moving to the current date or another | |
697 specific date. | |
698 | |
699 Conversion To and From Other Calendars | |
700 | |
701 * Calendar Systems:: The calendars Emacs understands | |
702 (aside from Gregorian). | |
703 * To Other Calendar:: Converting the selected date to various calendars. | |
704 * From Other Calendar:: Moving to a date specified in another calendar. | |
705 * Mayan Calendar:: Moving to a date specified in a Mayan calendar. | |
706 | |
707 The Diary | |
708 | |
709 * Diary Commands:: Viewing diary entries and associated calendar dates. | |
710 * Format of Diary File:: Entering events in your diary. | |
711 * Date Formats:: Various ways you can specify dates. | |
712 * Adding to Diary:: Commands to create diary entries. | |
713 * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. | |
714 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52582
diff
changeset
|
715 Gnus |
24093 | 716 |
717 * Buffers of Gnus:: The group, summary, and article buffers. | |
718 * Gnus Startup:: What you should know about starting Gnus. | |
719 * Summary of Gnus:: A short description of the basic Gnus commands. | |
720 | |
721 Running Shell Commands from Emacs | |
722 | |
723 * Single Shell:: How to run one shell command and return. | |
724 * Interactive Shell:: Permanent shell taking input via Emacs. | |
725 * Shell Mode:: Special Emacs commands used with permanent shell. | |
726 * Shell History:: Repeating previous commands in a shell buffer. | |
727 * Shell Options:: Options for customizing Shell mode. | |
728 * Remote Host:: Connecting to another computer. | |
729 | |
730 Customization | |
731 | |
732 * Minor Modes:: Each minor mode is one feature you can turn on | |
733 independently of any others. | |
734 * Variables:: Many Emacs commands examine Emacs variables | |
735 to decide what to do; by setting variables, | |
736 you can control their functioning. | |
737 * Key Bindings:: The keymaps say what command each key runs. | |
738 By changing them, you can "redefine keys". | |
739 * Keyboard Translations:: | |
740 If your keyboard passes an undesired code | |
741 for a key, you can tell Emacs to | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
742 substitute another code. |
24093 | 743 * Syntax:: The syntax table controls how words and |
744 expressions are parsed. | |
745 * Init File:: How to write common customizations in the | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
746 @file{.emacs} file. |
24093 | 747 |
748 Variables | |
749 | |
750 * Examining:: Examining or setting one variable's value. | |
751 * Easy Customization:: | |
752 Convenient and easy customization of variables. | |
753 * Hooks:: Hook variables let you specify programs for parts | |
754 of Emacs to run on particular occasions. | |
755 * Locals:: Per-buffer values of variables. | |
756 * File Variables:: How files can specify variable values. | |
757 | |
758 Customizing Key Bindings | |
759 | |
760 * Keymaps:: Generalities. The global keymap. | |
761 * Prefix Keymaps:: Keymaps for prefix keys. | |
762 * Local Keymaps:: Major and minor modes have their own keymaps. | |
763 * Minibuffer Maps:: The minibuffer uses its own local keymaps. | |
764 * Rebinding:: How to redefine one key's meaning conveniently. | |
765 * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. | |
766 * Function Keys:: Rebinding terminal function keys. | |
767 * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. | |
768 * Mouse Buttons:: Rebinding mouse buttons in Emacs. | |
769 * Disabling:: Disabling a command means confirmation is required | |
770 before it can be executed. This is done to protect | |
771 beginners from surprises. | |
772 | |
773 The Init File, @file{~/.emacs} | |
774 | |
775 * Init Syntax:: Syntax of constants in Emacs Lisp. | |
776 * Init Examples:: How to do some things with an init file. | |
777 * Terminal Init:: Each terminal type can have an init file. | |
778 * Find Init:: How Emacs finds the init file. | |
779 | |
780 Dealing with Emacs Trouble | |
781 | |
38767
5889c45fd6ad
Change the name of the "DEL Doesn't Delete" node to "DEL Does Not Delete",
Eli Zaretskii <eliz@gnu.org>
parents:
38400
diff
changeset
|
782 * DEL Does Not Delete:: What to do if @key{DEL} doesn't delete. |
24093 | 783 * Stuck Recursive:: `[...]' in mode line around the parentheses. |
784 * Screen Garbled:: Garbage on the screen. | |
785 * Text Garbled:: Garbage in the text. | |
786 * Unasked-for Search:: Spontaneous entry to incremental search. | |
787 * Memory Full:: How to cope when you run out of memory. | |
788 * Emergency Escape:: Emergency escape--- | |
789 What to do if Emacs stops responding. | |
790 * Total Frustration:: When you are at your wits' end. | |
791 | |
792 Reporting Bugs | |
793 | |
794 * Criteria: Bug Criteria. Have you really found a bug? | |
795 * Understanding Bug Reporting:: How to report a bug effectively. | |
796 * Checklist:: Steps to follow for a good bug report. | |
797 * Sending Patches:: How to send a patch for GNU Emacs. | |
798 | |
799 Command Line Options and Arguments | |
800 | |
801 * Action Arguments:: Arguments to visit files, load libraries, | |
802 and call functions. | |
803 * Initial Options:: Arguments that take effect while starting Emacs. | |
804 * Command Example:: Examples of using command line arguments. | |
805 * Resume Arguments:: Specifying arguments when you resume a running Emacs. | |
806 * Environment:: Environment variables that Emacs uses. | |
807 * Display X:: Changing the default display and using remote login. | |
808 * Font X:: Choosing a font for text, under X. | |
43015 | 809 * Colors:: Choosing display colors. |
24093 | 810 * Window Size X:: Start-up window size, under X. |
811 * Borders X:: Internal and external borders, under X. | |
812 * Title X:: Specifying the initial frame's title. | |
813 * Icons X:: Choosing what sort of icon to use, under X. | |
41370
3f1a375341ab
Update menu for changes in cmdargs.texi and xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40792
diff
changeset
|
814 |
3f1a375341ab
Update menu for changes in cmdargs.texi and xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40792
diff
changeset
|
815 X Resources |
3f1a375341ab
Update menu for changes in cmdargs.texi and xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40792
diff
changeset
|
816 |
3f1a375341ab
Update menu for changes in cmdargs.texi and xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40792
diff
changeset
|
817 * Resources:: Using X resources with Emacs (in general). |
3f1a375341ab
Update menu for changes in cmdargs.texi and xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40792
diff
changeset
|
818 * Table of Resources:: Table of specific X resources that affect Emacs. |
3f1a375341ab
Update menu for changes in cmdargs.texi and xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40792
diff
changeset
|
819 * Face Resources:: X resources for customizing faces. |
24093 | 820 * Lucid Resources:: X resources for Lucid menus. |
36501
8a046a8e91dc
Give LessTif precedence over Motif.
Richard M. Stallman <rms@gnu.org>
parents:
36212
diff
changeset
|
821 * LessTif Resources:: X resources for LessTif and Motif menus. |
24093 | 822 |
823 Environment Variables | |
824 | |
825 * General Variables:: Environment variables that all versions of Emacs use. | |
826 * Misc Variables:: Certain system specific variables. | |
827 | |
24094
1a575df191bb
(Top): Include Windows 98 in the MS-DOS section.
Andrew Innes <andrewi@gnu.org>
parents:
24093
diff
changeset
|
828 MS-DOS and Windows 95/98/NT |
24093 | 829 |
830 * MS-DOS Input:: Keyboard and mouse usage on MS-DOS. | |
831 * MS-DOS Display:: Fonts, frames and display size on MS-DOS. | |
832 * MS-DOS File Names:: File-name conventions on MS-DOS. | |
833 * Text and Binary:: Text files on MS-DOS use CRLF to separate lines. | |
834 * MS-DOS Printing:: How to specify the printer on MS-DOS. | |
835 * MS-DOS Processes:: Running subprocesses on MS-DOS. | |
836 * Windows Processes:: Running subprocesses on Windows. | |
837 * Windows System Menu:: Controlling what the ALT key does. | |
838 @end menu | |
839 | |
840 @iftex | |
841 @unnumbered Preface | |
842 | |
843 This manual documents the use and simple customization of the Emacs | |
844 editor. The reader is not expected to be a programmer; simple | |
845 customizations do not require programming skill. But the user who is not | |
846 interested in customizing can ignore the scattered customization hints. | |
847 | |
848 This is primarily a reference manual, but can also be used as a | |
849 primer. For complete beginners, it is a good idea to start with the | |
850 on-line, learn-by-doing tutorial, before reading the manual. To run the | |
851 tutorial, start Emacs and type @kbd{C-h t}. This way you can learn | |
852 Emacs by using Emacs on a specially designed file which describes | |
853 commands, tells you when to try them, and then explains the results you | |
854 see. | |
855 | |
856 On first reading, just skim chapters 1 and 2, which describe the | |
857 notational conventions of the manual and the general appearance of the | |
858 Emacs display screen. Note which questions are answered in these | |
859 chapters, so you can refer back later. After reading chapter 4, you | |
860 should practice the commands there. The next few chapters describe | |
861 fundamental techniques and concepts that are used constantly. You need | |
862 to understand them thoroughly, experimenting with them if necessary. | |
863 | |
864 Chapters 14 through 19 describe intermediate-level features that are | |
865 useful for all kinds of editing. Chapter 20 and following chapters | |
866 describe features that you may or may not want to use; read those | |
867 chapters when you need them. | |
868 | |
869 Read the Trouble chapter if Emacs does not seem to be working | |
870 properly. It explains how to cope with some common problems | |
871 (@pxref{Lossage}), as well as when and how to report Emacs bugs | |
872 (@pxref{Bugs}). | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
873 |
24093 | 874 To find the documentation on a particular command, look in the index. |
875 Keys (character commands) and command names have separate indexes. There | |
876 is also a glossary, with a cross reference for each term. | |
877 | |
878 This manual is available as a printed book and also as an Info file. | |
879 The Info file is for on-line perusal with the Info program, which will | |
880 be the principal way of viewing documentation on-line in the GNU system. | |
881 Both the Info file and the Info program itself are distributed along | |
882 with GNU Emacs. The Info file and the printed book contain | |
883 substantially the same text and are generated from the same source | |
884 files, which are also distributed along with GNU Emacs. | |
885 | |
886 GNU Emacs is a member of the Emacs editor family. There are many Emacs | |
887 editors, all sharing common principles of organization. For information on | |
888 the underlying philosophy of Emacs and the lessons learned from its | |
889 development, write for a copy of AI memo 519a, ``Emacs, the Extensible, | |
890 Customizable Self-Documenting Display Editor,'' to Publications Department, | |
891 Artificial Intelligence Lab, 545 Tech Square, Cambridge, MA 02139, USA@. At | |
892 last report they charge $2.25 per copy. Another useful publication is LCS | |
893 TM-165, ``A Cookbook for an Emacs,'' by Craig Finseth, available from | |
894 Publications Department, Laboratory for Computer Science, 545 Tech Square, | |
895 Cambridge, MA 02139, USA@. The price today is $3. | |
896 | |
897 This edition of the manual is intended for use with GNU Emacs installed | |
898 on GNU and Unix systems. GNU Emacs can also be used on VMS, MS-DOS | |
899 (also called MS-DOG), Windows NT, and Windows 95 systems. Those systems use | |
900 different file name syntax; in addition, VMS and MS-DOS do not support | |
901 all GNU Emacs features. We don't try to describe VMS usage in this | |
902 manual. @xref{MS-DOS}, for information about using Emacs on MS-DOS. | |
903 @end iftex | |
904 | |
52574
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
905 @node Distrib, Acknowledgements, Top, Top |
24093 | 906 @unnumbered Distribution |
907 | |
908 GNU Emacs is @dfn{free software}; this means that everyone is free to | |
909 use it and free to redistribute it on certain conditions. GNU Emacs is | |
910 not in the public domain; it is copyrighted and there are restrictions | |
911 on its distribution, but these restrictions are designed to permit | |
912 everything that a good cooperating citizen would want to do. What is | |
913 not allowed is to try to prevent others from further sharing any version | |
914 of GNU Emacs that they might get from you. The precise conditions are | |
915 found in the GNU General Public License that comes with Emacs and also | |
916 appears following this section. | |
917 | |
918 One way to get a copy of GNU Emacs is from someone else who has it. You | |
919 need not ask for our permission to do so, or tell any one else; just | |
920 copy it. If you have access to the Internet, you can get the latest | |
921 distribution version of GNU Emacs by anonymous FTP; see the file | |
922 @file{etc/FTP} in the Emacs distribution for more information. | |
923 | |
924 You may also receive GNU Emacs when you buy a computer. Computer | |
925 manufacturers are free to distribute copies on the same terms that apply to | |
926 everyone else. These terms require them to give you the full sources, | |
927 including whatever changes they may have made, and to permit you to | |
928 redistribute the GNU Emacs received from them under the usual terms of the | |
929 General Public License. In other words, the program must be free for you | |
930 when you get it, not just free for the manufacturer. | |
931 | |
52574
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
932 You can also order copies of GNU Emacs from the Free Software |
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
933 Foundation. This is a convenient and reliable way to get a copy; it |
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
934 is also a good way to help fund our work. (The Foundation has always |
24093 | 935 received most of its funds in this way.) An order form is included in |
936 the file @file{etc/ORDERS} in the Emacs distribution, and on our web | |
937 site in @url{http://www.gnu.org/order/order.html}. For further | |
938 information, write to | |
939 | |
940 @display | |
941 Free Software Foundation | |
942 59 Temple Place, Suite 330 | |
943 Boston, MA 02111-1307 USA | |
944 USA | |
945 @end display | |
946 | |
947 The income from distribution fees goes to support the foundation's | |
948 purpose: the development of new free software, and improvements to our | |
949 existing programs including GNU Emacs. | |
950 | |
951 If you find GNU Emacs useful, please @strong{send a donation} to the | |
952 Free Software Foundation to support our work. Donations to the Free | |
953 Software Foundation are tax deductible in the US. If you use GNU Emacs | |
954 at your workplace, please suggest that the company make a donation. If | |
955 company policy is unsympathetic to the idea of donating to charity, you | |
956 might instead suggest ordering a CD-ROM from the Foundation | |
957 occasionally, or subscribing to periodic updates. | |
958 | |
52574
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
959 @node Acknowledgements, Copying, Distrib, Top |
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
960 @section Acknowledgements |
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
961 |
24093 | 962 Contributors to GNU Emacs include Per Abrahamsen, Jay K. Adams, Joe |
963 Arceneaux, Boaz Ben-Zvi, Jim Blandy, Terrence Brannon, Frank Bresz, | |
964 Peter Breton, Kevin Broadey, Vincent Broman, David M. Brown, Bill | |
965 Carpenter, Hans Chalupsky, Bob Chassell, James Clark, Mike Clarkson, | |
966 Glynn Clements, Andrew Csillag, Doug Cutting, Michael DeCorte, Gary | |
967 Delp, Matthieu Devin, Eri Ding, Carsten Dominik, Scott Draves, Viktor | |
968 Dukhovni, John Eaton, Rolf Ebert, Stephen Eglen, Torbj@"orn Einarsson, | |
46918
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
45884
diff
changeset
|
969 Tsugutomo Enami, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, |
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
45884
diff
changeset
|
970 Frederick Farnbach, Fred Fish, Karl Fogel, Gary Foster, Noah Friedman, |
24093 | 971 Keith Gabryelski, Kevin Gallagher, Kevin Gallo, Howard Gayle, Stephen |
972 Gildea, David Gillespie, Bob Glickstein, Boris Goldowsky, Michelangelo | |
24882 | 973 Grigni, Michael Gschwind, Henry Guillaume, Doug Gwyn, Ken'ichi Handa, |
24093 | 974 Chris Hanson, K. Shane Hartman, John Heidemann, Markus Heritsch, Karl |
975 Heuer, Manabu Higashida, Anders Holst, Kurt Hornik, Tom Houlder, Lars | |
976 Ingebrigtsen, Andrew Innes, Michael K. Johnson, Kyle Jones, Tomoji | |
977 Kagatani, Brewster Kahle, David Kaufman, Henry Kautz, Howard Kaye, | |
978 Michael Kifer, Richard King, Larry K. Kolodney, Robert Krawitz, | |
52582
93aa41f66fd9
(Acknowledgements): Correct typo.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52574
diff
changeset
|
979 Sebastian Kremer, Geoff Kuenning, David K@aa{}gedal, Daniel LaLiberte, |
24093 | 980 Aaron Larson, James R. Larus, Frederic Lepied, Lars Lindberg, Eric |
981 Ludlam, Neil M. Mager, Ken Manheimer, Bill Mann, Brian Marick, Simon | |
982 Marshall, Bengt Martensson, Charlie Martin, Thomas May, Roland McGrath, | |
983 David Megginson, Wayne Mesard, Richard Mlynarik, Keith Moore, Erik | |
984 Naggum, Thomas Neumann, Mike Newton, Jurgen Nickelsen, Jeff Norden, | |
985 Andrew Norman, Jeff Peck, Damon Anton Permezel, Tom Perrine, Jens | |
986 Petersen, Daniel Pfeiffer, Fred Pierresteguy, Christian Plaunt, | |
987 Francesco A. Potorti, Michael D. Prange, Ashwin Ram, Eric S. Raymond, | |
988 Paul Reilly, Edward M. Reingold, Rob Riepel, Roland B. Roberts, John | |
989 Robinson, Danny Roozendaal, William Rosenblatt, Guillermo J. Rozas, Ivar | |
990 Rummelhoff, Wolfgang Rupprecht, James B. Salem, Masahiko Sato, William | |
991 Schelter, Ralph Schleicher, Gregor Schmid, Michael Schmidt, Ronald | |
992 S. Schnell, Philippe Schnoebelen, Stephen Schoef, Randal Schwartz, | |
993 Manuel Serrano, Stanislav Shalunov, Mark Shapiro, Richard Sharman, Olin | |
994 Shivers, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, David | |
995 Smith, Paul D. Smith, William Sommerfeld, Michael Staats, Sam Steingold, | |
996 Ake Stenhoff, Peter Stephenson, Jonathan Stigelman, Steve Strassman, | |
997 Jens T. Berger Thielemann, Spencer Thomas, Jim Thompson, Masanobu Umeda, | |
998 Neil W. Van Dyke, Ulrik Vieth, Geoffrey Voelker, Johan Vromans, Barry | |
999 Warsaw, Morten Welinder, Joseph Brian Wells, Rodney Whitby, Ed | |
1000 Wilkinson, Mike Williams, Steven A. Wood, Dale R. Worley, Felix | |
1001 S. T. Wu, Tom Wurgler, Eli Zaretskii, Jamie Zawinski, Ian T. Zimmermann, | |
1002 Reto Zimmermann, and Neal Ziring. | |
1003 | |
52574
e0bca4b2b9ca
(Acknowledgements): New node, split from Distribution.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
1004 @node Copying, GNU Free Documentation License, Acknowledgements, Top |
24093 | 1005 @unnumbered GNU GENERAL PUBLIC LICENSE |
1006 @center Version 2, June 1991 | |
1007 | |
1008 @display | |
1009 Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. | |
1010 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
1011 | |
1012 Everyone is permitted to copy and distribute verbatim copies | |
1013 of this license document, but changing it is not allowed. | |
1014 @end display | |
1015 | |
1016 @unnumberedsec Preamble | |
1017 | |
1018 The licenses for most software are designed to take away your | |
1019 freedom to share and change it. By contrast, the GNU General Public | |
1020 License is intended to guarantee your freedom to share and change free | |
1021 software---to make sure the software is free for all its users. This | |
1022 General Public License applies to most of the Free Software | |
1023 Foundation's software and to any other program whose authors commit to | |
1024 using it. (Some other Free Software Foundation software is covered by | |
50754
5f08de7d192f
Undo rest of previous change.
Richard M. Stallman <rms@gnu.org>
parents:
50753
diff
changeset
|
1025 the GNU Library General Public License instead.) You can apply it to |
24093 | 1026 your programs, too. |
1027 | |
1028 When we speak of free software, we are referring to freedom, not | |
1029 price. Our General Public Licenses are designed to make sure that you | |
1030 have the freedom to distribute copies of free software (and charge for | |
1031 this service if you wish), that you receive source code or can get it | |
1032 if you want it, that you can change the software or use pieces of it | |
1033 in new free programs; and that you know you can do these things. | |
1034 | |
1035 To protect your rights, we need to make restrictions that forbid | |
1036 anyone to deny you these rights or to ask you to surrender the rights. | |
1037 These restrictions translate to certain responsibilities for you if you | |
1038 distribute copies of the software, or if you modify it. | |
1039 | |
1040 For example, if you distribute copies of such a program, whether | |
1041 gratis or for a fee, you must give the recipients all the rights that | |
1042 you have. You must make sure that they, too, receive or can get the | |
1043 source code. And you must show them these terms so they know their | |
1044 rights. | |
1045 | |
1046 We protect your rights with two steps: (1) copyright the software, and | |
1047 (2) offer you this license which gives you legal permission to copy, | |
1048 distribute and/or modify the software. | |
1049 | |
1050 Also, for each author's protection and ours, we want to make certain | |
1051 that everyone understands that there is no warranty for this free | |
1052 software. If the software is modified by someone else and passed on, we | |
1053 want its recipients to know that what they have is not the original, so | |
1054 that any problems introduced by others will not reflect on the original | |
1055 authors' reputations. | |
1056 | |
1057 Finally, any free program is threatened constantly by software | |
1058 patents. We wish to avoid the danger that redistributors of a free | |
1059 program will individually obtain patent licenses, in effect making the | |
1060 program proprietary. To prevent this, we have made it clear that any | |
1061 patent must be licensed for everyone's free use or not licensed at all. | |
1062 | |
1063 The precise terms and conditions for copying, distribution and | |
1064 modification follow. | |
1065 | |
1066 @iftex | |
1067 @unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1068 @end iftex | |
1069 @ifinfo | |
1070 @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1071 @end ifinfo | |
1072 | |
1073 @enumerate 0 | |
1074 @item | |
1075 This License applies to any program or other work which contains | |
1076 a notice placed by the copyright holder saying it may be distributed | |
36168
df827c1def99
Clean up close-quote punctuation.
Richard M. Stallman <rms@gnu.org>
parents:
36153
diff
changeset
|
1077 under the terms of this General Public License. The ``Program,'' below, |
24093 | 1078 refers to any such program or work, and a ``work based on the Program'' |
1079 means either the Program or any derivative work under copyright law: | |
1080 that is to say, a work containing the Program or a portion of it, | |
1081 either verbatim or with modifications and/or translated into another | |
1082 language. (Hereinafter, translation is included without limitation in | |
36168
df827c1def99
Clean up close-quote punctuation.
Richard M. Stallman <rms@gnu.org>
parents:
36153
diff
changeset
|
1083 the term ``modification.'') Each licensee is addressed as ``you.'' |
24093 | 1084 |
1085 Activities other than copying, distribution and modification are not | |
1086 covered by this License; they are outside its scope. The act of | |
1087 running the Program is not restricted, and the output from the Program | |
1088 is covered only if its contents constitute a work based on the | |
1089 Program (independent of having been made by running the Program). | |
1090 Whether that is true depends on what the Program does. | |
1091 | |
1092 @item | |
1093 You may copy and distribute verbatim copies of the Program's | |
1094 source code as you receive it, in any medium, provided that you | |
1095 conspicuously and appropriately publish on each copy an appropriate | |
1096 copyright notice and disclaimer of warranty; keep intact all the | |
1097 notices that refer to this License and to the absence of any warranty; | |
1098 and give any other recipients of the Program a copy of this License | |
1099 along with the Program. | |
1100 | |
1101 You may charge a fee for the physical act of transferring a copy, and | |
1102 you may at your option offer warranty protection in exchange for a fee. | |
1103 | |
1104 @item | |
1105 You may modify your copy or copies of the Program or any portion | |
1106 of it, thus forming a work based on the Program, and copy and | |
1107 distribute such modifications or work under the terms of Section 1 | |
1108 above, provided that you also meet all of these conditions: | |
1109 | |
1110 @enumerate a | |
1111 @item | |
1112 You must cause the modified files to carry prominent notices | |
1113 stating that you changed the files and the date of any change. | |
1114 | |
1115 @item | |
1116 You must cause any work that you distribute or publish, that in | |
1117 whole or in part contains or is derived from the Program or any | |
1118 part thereof, to be licensed as a whole at no charge to all third | |
1119 parties under the terms of this License. | |
1120 | |
1121 @item | |
1122 If the modified program normally reads commands interactively | |
1123 when run, you must cause it, when started running for such | |
1124 interactive use in the most ordinary way, to print or display an | |
1125 announcement including an appropriate copyright notice and a | |
1126 notice that there is no warranty (or else, saying that you provide | |
1127 a warranty) and that users may redistribute the program under | |
1128 these conditions, and telling the user how to view a copy of this | |
1129 License. (Exception: if the Program itself is interactive but | |
1130 does not normally print such an announcement, your work based on | |
1131 the Program is not required to print an announcement.) | |
1132 @end enumerate | |
1133 | |
1134 These requirements apply to the modified work as a whole. If | |
1135 identifiable sections of that work are not derived from the Program, | |
1136 and can be reasonably considered independent and separate works in | |
1137 themselves, then this License, and its terms, do not apply to those | |
1138 sections when you distribute them as separate works. But when you | |
1139 distribute the same sections as part of a whole which is a work based | |
1140 on the Program, the distribution of the whole must be on the terms of | |
1141 this License, whose permissions for other licensees extend to the | |
1142 entire whole, and thus to each and every part regardless of who wrote it. | |
1143 | |
1144 Thus, it is not the intent of this section to claim rights or contest | |
1145 your rights to work written entirely by you; rather, the intent is to | |
1146 exercise the right to control the distribution of derivative or | |
1147 collective works based on the Program. | |
1148 | |
1149 In addition, mere aggregation of another work not based on the Program | |
1150 with the Program (or with a work based on the Program) on a volume of | |
1151 a storage or distribution medium does not bring the other work under | |
1152 the scope of this License. | |
1153 | |
1154 @item | |
1155 You may copy and distribute the Program (or a work based on it, | |
1156 under Section 2) in object code or executable form under the terms of | |
1157 Sections 1 and 2 above provided that you also do one of the following: | |
1158 | |
1159 @enumerate a | |
1160 @item | |
1161 Accompany it with the complete corresponding machine-readable | |
1162 source code, which must be distributed under the terms of Sections | |
1163 1 and 2 above on a medium customarily used for software interchange; or, | |
1164 | |
1165 @item | |
1166 Accompany it with a written offer, valid for at least three | |
1167 years, to give any third party, for a charge no more than your | |
1168 cost of physically performing source distribution, a complete | |
1169 machine-readable copy of the corresponding source code, to be | |
1170 distributed under the terms of Sections 1 and 2 above on a medium | |
1171 customarily used for software interchange; or, | |
1172 | |
1173 @item | |
1174 Accompany it with the information you received as to the offer | |
1175 to distribute corresponding source code. (This alternative is | |
1176 allowed only for noncommercial distribution and only if you | |
1177 received the program in object code or executable form with such | |
1178 an offer, in accord with Subsection b above.) | |
1179 @end enumerate | |
1180 | |
1181 The source code for a work means the preferred form of the work for | |
1182 making modifications to it. For an executable work, complete source | |
1183 code means all the source code for all modules it contains, plus any | |
1184 associated interface definition files, plus the scripts used to | |
1185 control compilation and installation of the executable. However, as a | |
1186 special exception, the source code distributed need not include | |
1187 anything that is normally distributed (in either source or binary | |
1188 form) with the major components (compiler, kernel, and so on) of the | |
1189 operating system on which the executable runs, unless that component | |
1190 itself accompanies the executable. | |
1191 | |
1192 If distribution of executable or object code is made by offering | |
1193 access to copy from a designated place, then offering equivalent | |
1194 access to copy the source code from the same place counts as | |
1195 distribution of the source code, even though third parties are not | |
1196 compelled to copy the source along with the object code. | |
1197 | |
1198 @item | |
1199 You may not copy, modify, sublicense, or distribute the Program | |
1200 except as expressly provided under this License. Any attempt | |
1201 otherwise to copy, modify, sublicense or distribute the Program is | |
1202 void, and will automatically terminate your rights under this License. | |
1203 However, parties who have received copies, or rights, from you under | |
1204 this License will not have their licenses terminated so long as such | |
1205 parties remain in full compliance. | |
1206 | |
1207 @item | |
1208 You are not required to accept this License, since you have not | |
1209 signed it. However, nothing else grants you permission to modify or | |
1210 distribute the Program or its derivative works. These actions are | |
1211 prohibited by law if you do not accept this License. Therefore, by | |
1212 modifying or distributing the Program (or any work based on the | |
1213 Program), you indicate your acceptance of this License to do so, and | |
1214 all its terms and conditions for copying, distributing or modifying | |
1215 the Program or works based on it. | |
1216 | |
1217 @item | |
1218 Each time you redistribute the Program (or any work based on the | |
1219 Program), the recipient automatically receives a license from the | |
1220 original licensor to copy, distribute or modify the Program subject to | |
1221 these terms and conditions. You may not impose any further | |
1222 restrictions on the recipients' exercise of the rights granted herein. | |
1223 You are not responsible for enforcing compliance by third parties to | |
1224 this License. | |
1225 | |
1226 @item | |
1227 If, as a consequence of a court judgment or allegation of patent | |
1228 infringement or for any other reason (not limited to patent issues), | |
1229 conditions are imposed on you (whether by court order, agreement or | |
1230 otherwise) that contradict the conditions of this License, they do not | |
1231 excuse you from the conditions of this License. If you cannot | |
1232 distribute so as to satisfy simultaneously your obligations under this | |
1233 License and any other pertinent obligations, then as a consequence you | |
1234 may not distribute the Program at all. For example, if a patent | |
1235 license would not permit royalty-free redistribution of the Program by | |
1236 all those who receive copies directly or indirectly through you, then | |
1237 the only way you could satisfy both it and this License would be to | |
1238 refrain entirely from distribution of the Program. | |
1239 | |
1240 If any portion of this section is held invalid or unenforceable under | |
1241 any particular circumstance, the balance of the section is intended to | |
1242 apply and the section as a whole is intended to apply in other | |
1243 circumstances. | |
1244 | |
1245 It is not the purpose of this section to induce you to infringe any | |
1246 patents or other property right claims or to contest validity of any | |
1247 such claims; this section has the sole purpose of protecting the | |
1248 integrity of the free software distribution system, which is | |
1249 implemented by public license practices. Many people have made | |
1250 generous contributions to the wide range of software distributed | |
1251 through that system in reliance on consistent application of that | |
1252 system; it is up to the author/donor to decide if he or she is willing | |
1253 to distribute software through any other system and a licensee cannot | |
1254 impose that choice. | |
1255 | |
1256 This section is intended to make thoroughly clear what is believed to | |
1257 be a consequence of the rest of this License. | |
1258 | |
1259 @item | |
1260 If the distribution and/or use of the Program is restricted in | |
1261 certain countries either by patents or by copyrighted interfaces, the | |
1262 original copyright holder who places the Program under this License | |
1263 may add an explicit geographical distribution limitation excluding | |
1264 those countries, so that distribution is permitted only in or among | |
1265 countries not thus excluded. In such case, this License incorporates | |
1266 the limitation as if written in the body of this License. | |
1267 | |
1268 @item | |
1269 The Free Software Foundation may publish revised and/or new versions | |
1270 of the General Public License from time to time. Such new versions will | |
1271 be similar in spirit to the present version, but may differ in detail to | |
1272 address new problems or concerns. | |
1273 | |
1274 Each version is given a distinguishing version number. If the Program | |
1275 specifies a version number of this License which applies to it and ``any | |
36168
df827c1def99
Clean up close-quote punctuation.
Richard M. Stallman <rms@gnu.org>
parents:
36153
diff
changeset
|
1276 later version,'' you have the option of following the terms and conditions |
24093 | 1277 either of that version or of any later version published by the Free |
1278 Software Foundation. If the Program does not specify a version number of | |
1279 this License, you may choose any version ever published by the Free Software | |
1280 Foundation. | |
1281 | |
1282 @item | |
1283 If you wish to incorporate parts of the Program into other free | |
1284 programs whose distribution conditions are different, write to the author | |
1285 to ask for permission. For software which is copyrighted by the Free | |
1286 Software Foundation, write to the Free Software Foundation; we sometimes | |
1287 make exceptions for this. Our decision will be guided by the two goals | |
1288 of preserving the free status of all derivatives of our free software and | |
1289 of promoting the sharing and reuse of software generally. | |
1290 | |
1291 @iftex | |
1292 @heading NO WARRANTY | |
1293 @end iftex | |
1294 @ifinfo | |
1295 @center NO WARRANTY | |
1296 @end ifinfo | |
1297 | |
1298 @item | |
1299 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |
1300 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW@. EXCEPT WHEN | |
1301 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |
1302 PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |
1303 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
1304 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE@. THE ENTIRE RISK AS | |
1305 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE | |
1306 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |
1307 REPAIR OR CORRECTION. | |
1308 | |
1309 @item | |
1310 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |
1311 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |
1312 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |
1313 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |
1314 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |
1315 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |
1316 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |
1317 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |
1318 POSSIBILITY OF SUCH DAMAGES. | |
1319 @end enumerate | |
1320 | |
1321 @iftex | |
1322 @heading END OF TERMS AND CONDITIONS | |
1323 @end iftex | |
1324 @ifinfo | |
1325 @center END OF TERMS AND CONDITIONS | |
1326 @end ifinfo | |
1327 | |
1328 @page | |
1329 @unnumberedsec How to Apply These Terms to Your New Programs | |
1330 | |
1331 If you develop a new program, and you want it to be of the greatest | |
1332 possible use to the public, the best way to achieve this is to make it | |
1333 free software which everyone can redistribute and change under these terms. | |
1334 | |
1335 To do so, attach the following notices to the program. It is safest | |
1336 to attach them to the start of each source file to most effectively | |
1337 convey the exclusion of warranty; and each file should have at least | |
1338 the ``copyright'' line and a pointer to where the full notice is found. | |
1339 | |
1340 @smallexample | |
1341 @var{one line to give the program's name and an idea of what it does.} | |
1342 Copyright (C) 19@var{yy} @var{name of author} | |
1343 | |
1344 This program is free software; you can redistribute it and/or | |
1345 modify it under the terms of the GNU General Public License | |
1346 as published by the Free Software Foundation; either version 2 | |
1347 of the License, or (at your option) any later version. | |
1348 | |
1349 This program is distributed in the hope that it will be useful, | |
1350 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
1351 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the | |
1352 GNU General Public License for more details. | |
1353 | |
1354 You should have received a copy of the GNU General Public License along | |
1355 with this program; if not, write to the Free Software Foundation, Inc., | |
1356 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. | |
1357 @end smallexample | |
1358 | |
1359 Also add information on how to contact you by electronic and paper mail. | |
1360 | |
1361 If the program is interactive, make it output a short notice like this | |
1362 when it starts in an interactive mode: | |
1363 | |
1364 @smallexample | |
32113
a0915106b092
(Top): Update version in `Antinews' menu entry.
Miles Bader <miles@gnu.org>
parents:
31356
diff
changeset
|
1365 Gnomovision version 69, Copyright (C) 20@var{yy} @var{name of author} |
24093 | 1366 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details |
1367 type `show w'. This is free software, and you are welcome | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
1368 to redistribute it under certain conditions; type `show c' |
24093 | 1369 for details. |
1370 @end smallexample | |
1371 | |
1372 The hypothetical commands @samp{show w} and @samp{show c} should show | |
1373 the appropriate parts of the General Public License. Of course, the | |
1374 commands you use may be called something other than @samp{show w} and | |
1375 @samp{show c}; they could even be mouse-clicks or menu items---whatever | |
1376 suits your program. | |
1377 | |
1378 You should also get your employer (if you work as a programmer) or your | |
1379 school, if any, to sign a ``copyright disclaimer'' for the program, if | |
1380 necessary. Here is a sample; alter the names: | |
1381 | |
1382 @smallexample | |
1383 @group | |
1384 Yoyodyne, Inc., hereby disclaims all copyright | |
1385 interest in the program `Gnomovision' | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48531
diff
changeset
|
1386 (which makes passes at compilers) written |
24093 | 1387 by James Hacker. |
1388 | |
1389 @var{signature of Ty Coon}, 1 April 1989 | |
1390 Ty Coon, President of Vice | |
1391 @end group | |
1392 @end smallexample | |
1393 | |
1394 This General Public License does not permit incorporating your program into | |
1395 proprietary programs. If your program is a subroutine library, you may | |
1396 consider it more useful to permit linking proprietary applications with the | |
50753
dd4bc4fbaf67
Undo half of previous change.
Richard M. Stallman <rms@gnu.org>
parents:
50752
diff
changeset
|
1397 library. If this is what you want to do, use the GNU Library General |
24093 | 1398 Public License instead of this License. |
1399 | |
31309
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
1400 @include doclicense.texi |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
1401 |
979e66ba0c4a
Update for GFDL. Not yet checked by rms.
Dave Love <fx@gnu.org>
parents:
31144
diff
changeset
|
1402 @node Intro, Glossary, GNU Free Documentation License, Top |
24093 | 1403 @unnumbered Introduction |
1404 | |
1405 You are reading about GNU Emacs, the GNU incarnation of the advanced, | |
1406 self-documenting, customizable, extensible real-time display editor Emacs. | |
1407 (The `G' in `GNU' is not silent.) | |
1408 | |
1409 We say that Emacs is a @dfn{display} editor because normally the text | |
1410 being edited is visible on the screen and is updated automatically as you | |
1411 type your commands. @xref{Screen,Display}. | |
1412 | |
1413 We call it a @dfn{real-time} editor because the display is updated very | |
1414 frequently, usually after each character or pair of characters you | |
1415 type. This minimizes the amount of information you must keep in your | |
1416 head as you edit. @xref{Basic,Real-time,Basic Editing}. | |
1417 | |
1418 We call Emacs advanced because it provides facilities that go beyond | |
1419 simple insertion and deletion: controlling subprocesses; automatic | |
1420 indentation of programs; viewing two or more files at once; editing | |
1421 formatted text; and dealing in terms of characters, words, lines, | |
1422 sentences, paragraphs, and pages, as well as expressions and comments in | |
1423 several different programming languages. | |
1424 | |
1425 @dfn{Self-documenting} means that at any time you can type a special | |
1426 character, @kbd{Control-h}, to find out what your options are. You can | |
1427 also use it to find out what any command does, or to find all the commands | |
1428 that pertain to a topic. @xref{Help}. | |
1429 | |
1430 @dfn{Customizable} means that you can change the definitions of Emacs | |
1431 commands in little ways. For example, if you use a programming language in | |
1432 which comments start with @samp{<**} and end with @samp{**>}, you can tell | |
1433 the Emacs comment manipulation commands to use those strings | |
1434 (@pxref{Comments}). Another sort of customization is rearrangement of the | |
1435 command set. For example, if you prefer the four basic cursor motion | |
1436 commands (up, down, left and right) on keys in a diamond pattern on the | |
1437 keyboard, you can rebind the keys that way. @xref{Customization}. | |
1438 | |
1439 @dfn{Extensible} means that you can go beyond simple customization and | |
1440 write entirely new commands, programs in the Lisp language to be run by | |
1441 Emacs's own Lisp interpreter. Emacs is an ``on-line extensible'' | |
1442 system, which means that it is divided into many functions that call | |
1443 each other, any of which can be redefined in the middle of an editing | |
1444 session. Almost any part of Emacs can be replaced without making a | |
1445 separate copy of all of Emacs. Most of the editing commands of Emacs | |
38131 | 1446 are written in Lisp; the few exceptions could have been written |
24093 | 1447 in Lisp but are written in C for efficiency. Although only a programmer |
1448 can write an extension, anybody can use it afterward. If you want to | |
1449 learn Emacs Lisp programming, we recommend the @cite{Introduction to | |
1450 Emacs Lisp} by Robert J. Chassell, also published by the Free Software | |
1451 Foundation. | |
1452 | |
1453 When run under the X Window System, Emacs provides its own menus and | |
1454 convenient bindings to mouse buttons. But Emacs can provide many of the | |
1455 benefits of a window system on a text-only terminal. For instance, you | |
1456 can look at or edit several files at once, move text between files, and | |
1457 edit files while running shell commands. | |
1458 | |
1459 @include screen.texi | |
1460 @include commands.texi | |
1461 @include entering.texi | |
1462 @include basic.texi | |
1463 @include mini.texi | |
1464 @include m-x.texi | |
1465 @include help.texi | |
1466 @include mark.texi | |
1467 @include killing.texi | |
1468 @include regs.texi | |
1469 @include display.texi | |
1470 @include search.texi | |
1471 @include fixit.texi | |
52252
f8ba1a1de203
(Intro): Include kmacro.texi after fixit.texi instead of after
Luc Teirlinck <teirllm@auburn.edu>
parents:
52238
diff
changeset
|
1472 @include kmacro.texi |
24093 | 1473 @include files.texi |
1474 @include buffers.texi | |
1475 @include windows.texi | |
1476 @include frames.texi | |
1477 @include mule.texi | |
1478 @include major.texi | |
1479 @include indent.texi | |
1480 @include text.texi | |
1481 @include programs.texi | |
1482 @include building.texi | |
38199
01e8262e28af
Reorganize structure of Editing Programs,
Richard M. Stallman <rms@gnu.org>
parents:
38131
diff
changeset
|
1483 @include maintaining.texi |
24093 | 1484 @include abbrevs.texi |
1485 @include picture.texi | |
1486 @include sending.texi | |
1487 @include rmail.texi | |
1488 @include dired.texi | |
1489 @include calendar.texi | |
1490 @include misc.texi | |
1491 @include custom.texi | |
1492 @include trouble.texi | |
1493 @include cmdargs.texi | |
40525
b8d0024c4e37
@include xresources.texi.
Richard M. Stallman <rms@gnu.org>
parents:
40520
diff
changeset
|
1494 @include xresources.texi |
24093 | 1495 |
1496 @include anti.texi | |
34199 | 1497 @include macos.texi |
24093 | 1498 @include msdog.texi |
1499 @include gnu.texi | |
1500 @include glossary.texi | |
1501 @ifinfo | |
1502 @include ack.texi | |
1503 @end ifinfo | |
1504 | |
37452
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1505 @c The Option Index is produced only in the on-line version, |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1506 @c because the index entries related to command-line options |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1507 @c tend to point to the same pages and all begin with a dash. |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1508 @c This, and the need to keep the node links consistent, are |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1509 @c the reasons for the funky @iftex/@ifnottex dance below. |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1510 @c The Option Index is _not_ before Key Index, because that |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1511 @c would require changes in the glossary.texi's @node line. |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1512 @c It is not after Concept Index for similar reasons. |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1513 |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1514 @iftex |
24093 | 1515 @node Key Index, Command Index, Glossary, Top |
1516 @unnumbered Key (Character) Index | |
1517 @printindex ky | |
37452
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1518 @end iftex |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1519 |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1520 @ifnottex |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1521 @node Key Index, Option Index, Glossary, Top |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1522 @unnumbered Key (Character) Index |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1523 @printindex ky |
24093 | 1524 |
37452
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1525 @node Option Index, Command Index, Key Index, Top |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1526 @unnumbered Command-Line Options Index |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1527 @printindex op |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1528 |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1529 @node Command Index, Variable Index, Option Index, Top |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1530 @unnumbered Command and Function Index |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1531 @printindex fn |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1532 @end ifnottex |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1533 |
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1534 @iftex |
24093 | 1535 @node Command Index, Variable Index, Key Index, Top |
1536 @unnumbered Command and Function Index | |
1537 @printindex fn | |
37452
794af8f5baeb
Add Option Index, produced only in the on-line version of the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
37247
diff
changeset
|
1538 @end iftex |
24093 | 1539 |
1540 @node Variable Index, Concept Index, Command Index, Top | |
1541 @unnumbered Variable Index | |
1542 @printindex vr | |
1543 | |
1544 @node Concept Index, Acknowledgments, Variable Index, Top | |
1545 @unnumbered Concept Index | |
1546 @printindex cp | |
1547 | |
1548 @summarycontents | |
1549 @contents | |
1550 @bye | |
1551 | |
52401 | 1552 @ignore |
1553 arch-tag: ed48740a-410b-46ea-9387-c9a9252a3392 | |
1554 @end ignore |