Mercurial > emacs
comparison man/emacs.texi @ 88155:d7ddb3e565de
sync with trunk
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Mon, 16 Jan 2006 00:03:54 +0000 |
parents | 23a1cea22d13 |
children |
comparison
equal
deleted
inserted
replaced
88154:8ce476d3ba36 | 88155:d7ddb3e565de |
---|---|
3 @setfilename ../info/emacs | 3 @setfilename ../info/emacs |
4 @settitle GNU Emacs Manual | 4 @settitle GNU Emacs Manual |
5 | 5 |
6 @c The edition number appears in several places in this file | 6 @c The edition number appears in several places in this file |
7 @set EDITION Fourteenth | 7 @set EDITION Fourteenth |
8 @set EMACSVER 21.3.50 | 8 @set EMACSVER 22.0.50 |
9 | 9 |
10 @copying | 10 @copying |
11 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual}, | 11 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual}, |
12 updated for Emacs version @value{EMACSVER}. | 12 updated for Emacs version @value{EMACSVER}. |
13 | 13 |
14 Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, | 14 Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
15 1999, 2000, 2001, 2002 Free Software Foundation, Inc. | 15 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
16 | 16 |
17 @quotation | 17 @quotation |
18 Permission is granted to copy, distribute and/or modify this document | 18 Permission is granted to copy, distribute and/or modify this document |
19 under the terms of the GNU Free Documentation License, Version 1.1 or | 19 under the terms of the GNU Free Documentation License, Version 1.2 or |
20 any later version published by the Free Software Foundation; with the | 20 any later version published by the Free Software Foundation; with the |
21 Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and | 21 Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and |
22 ``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU | 22 ``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU |
23 Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the | 23 Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the |
24 license is included in the section entitled ``GNU Free Documentation | 24 license is included in the section entitled ``GNU Free Documentation |
63 @insertcopying | 63 @insertcopying |
64 | 64 |
65 @sp 2 | 65 @sp 2 |
66 ISBN 1-882114-06-X @* | 66 ISBN 1-882114-06-X @* |
67 Published by the Free Software Foundation @* | 67 Published by the Free Software Foundation @* |
68 59 Temple Place, Suite 330 @* | 68 51 Franklin Street, Fifth Floor @* |
69 Boston, MA 02111-1307 USA | 69 Boston, MA 02110-1301 USA |
70 | 70 |
71 @sp 2 | 71 @sp 2 |
72 Cover art by Etienne Suvasa. | 72 Cover art by Etienne Suvasa. |
73 | 73 |
74 @end titlepage | 74 @end titlepage |
119 to redistribute GNU Emacs on certain terms; | 119 to redistribute GNU Emacs on certain terms; |
120 it also explains that there is no warranty. | 120 it also explains that there is no warranty. |
121 * GNU Free Documentation License:: The license for this documentation. | 121 * GNU Free Documentation License:: The license for this documentation. |
122 * Intro:: An introduction to Emacs concepts. | 122 * Intro:: An introduction to Emacs concepts. |
123 * Glossary:: The glossary. | 123 * Glossary:: The glossary. |
124 * Antinews:: Information about Emacs version 20. | 124 * Antinews:: Information about Emacs version 21. |
125 * Mac OS:: Using Emacs in the Mac. | 125 * Mac OS:: Using Emacs in the Mac. |
126 * MS-DOS:: Using Emacs on MS-DOS (otherwise known as "MS-DOG"). | 126 * MS-DOS:: Using Emacs on MS-DOS (otherwise known as "MS-DOG"). |
127 * Manifesto:: What's GNU? Gnu's Not Unix! | 127 * Manifesto:: What's GNU? Gnu's Not Unix! |
128 * Acknowledgments:: Major contributors to GNU Emacs. | 128 * Acknowledgments:: Major contributors to GNU Emacs. |
129 | 129 |
130 Indexes (nodes containing large menus) | 130 Indexes (nodes containing large menus) |
131 * Key Index:: An item for each standard Emacs key sequence. | 131 * Key Index:: An item for each standard Emacs key sequence. |
132 * Option Index:: An item for every command-line option. | |
132 * Command Index:: An item for each command name. | 133 * Command Index:: An item for each command name. |
133 * Variable Index:: An item for each documented variable. | 134 * Variable Index:: An item for each documented variable. |
134 * Concept Index:: An item for each concept. | 135 * Concept Index:: An item for each concept. |
135 @c This is last because @ifnottex leaves an empty line. | |
136 @ifnottex | |
137 * Option Index:: An item for every command-line option. | |
138 @end ifnottex | |
139 | 136 |
140 Important General Concepts | 137 Important General Concepts |
141 * Screen:: How to interpret what you see on the screen. | 138 * Screen:: How to interpret what you see on the screen. |
142 * User Input:: Kinds of input events (characters, buttons, | 139 * User Input:: Kinds of input events (characters, buttons, |
143 function keys). | 140 function keys). |
146 * Commands:: Named functions run by key sequences to do editing. | 143 * Commands:: Named functions run by key sequences to do editing. |
147 * Text Characters:: Character set for text (the contents of buffers | 144 * Text Characters:: Character set for text (the contents of buffers |
148 and strings). | 145 and strings). |
149 * Entering Emacs:: Starting Emacs from the shell. | 146 * Entering Emacs:: Starting Emacs from the shell. |
150 * Exiting:: Stopping or killing Emacs. | 147 * Exiting:: Stopping or killing Emacs. |
151 * Command Arguments:: Hairy startup options. | 148 * Emacs Invocation:: Hairy startup options. |
152 | 149 |
153 Fundamental Editing Commands | 150 Fundamental Editing Commands |
154 * Basic:: The most basic editing commands. | 151 * Basic:: The most basic editing commands. |
155 * Minibuffer:: Entering arguments that are prompted for. | 152 * Minibuffer:: Entering arguments that are prompted for. |
156 * M-x:: Invoking commands by their names. | 153 * M-x:: Invoking commands by their names. |
157 * Help:: Commands for asking Emacs about its commands. | 154 * Help:: Commands for asking Emacs about its commands. |
158 | 155 |
159 Important Text-Changing Commands | 156 Important Text-Changing Commands |
160 * Mark:: The mark: how to delimit a ``region'' of text. | 157 * Mark:: The mark: how to delimit a ``region'' of text. |
161 * Killing:: Killing text. | 158 * Killing:: Killing (cutting) text. |
162 * Yanking:: Recovering killed text. Moving text. | 159 * Yanking:: Recovering killed text. Moving text. (Pasting.) |
163 * Accumulating Text:: Other ways of copying text. | 160 * Accumulating Text:: Other ways of copying text. |
164 * Rectangles:: Operating on the text inside a rectangle on the screen. | 161 * Rectangles:: Operating on the text inside a rectangle on the screen. |
165 * Registers:: Saving a text string or a location in the buffer. | 162 * Registers:: Saving a text string or a location in the buffer. |
166 * Display:: Controlling what text is displayed. | 163 * Display:: Controlling what text is displayed. |
167 * Search:: Finding or replacing occurrences of a string. | 164 * Search:: Finding or replacing occurrences of a string. |
168 * Fixit:: Commands especially useful for fixing typos. | 165 * Fixit:: Commands especially useful for fixing typos. |
166 * Keyboard Macros:: A keyboard macro records a sequence of | |
167 keystrokes to be replayed with a single command. | |
169 | 168 |
170 Major Structures of Emacs | 169 Major Structures of Emacs |
171 * Files:: All about handling files. | 170 * Files:: All about handling files. |
172 * Buffers:: Multiple buffers; editing several files at once. | 171 * Buffers:: Multiple buffers; editing several files at once. |
173 * Windows:: Viewing two pieces of text at once. | 172 * Windows:: Viewing two pieces of text at once. |
174 * Frames:: Running the same Emacs session in multiple X windows. | 173 * Frames:: Running the same Emacs session in multiple X windows. |
175 * International:: Using non-ASCII character sets (the MULE features). | 174 * International:: Using non-@acronym{ASCII} character sets (the MULE features). |
176 | 175 |
177 Advanced Features | 176 Advanced Features |
178 * Major Modes:: Text mode vs. Lisp mode vs. C mode ... | 177 * Major Modes:: Text mode vs. Lisp mode vs. C mode ... |
179 * Indentation:: Editing the white space at the beginnings of lines. | 178 * Indentation:: Editing the white space at the beginnings of lines. |
180 * Text:: Commands and modes for editing English. | 179 * Text:: Commands and modes for editing English. |
190 * Dired:: You can ``edit'' a directory to manage files in it. | 189 * Dired:: You can ``edit'' a directory to manage files in it. |
191 * Calendar/Diary:: The calendar and diary facilities. | 190 * Calendar/Diary:: The calendar and diary facilities. |
192 * Gnus:: How to read netnews with Emacs. | 191 * Gnus:: How to read netnews with Emacs. |
193 * Shell:: Executing shell commands from Emacs. | 192 * Shell:: Executing shell commands from Emacs. |
194 * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | 193 * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. |
195 * Hardcopy:: Printing buffers or regions. | 194 * Printing:: Printing hardcopies of buffers or regions. |
196 * PostScript:: Printing buffers or regions as PostScript. | |
197 * PostScript Variables:: | |
198 Customizing the PostScript printing commands. | |
199 * Sorting:: Sorting lines, paragraphs or pages within Emacs. | 195 * Sorting:: Sorting lines, paragraphs or pages within Emacs. |
200 * Narrowing:: Restricting display and editing to a portion | 196 * Narrowing:: Restricting display and editing to a portion |
201 of the buffer. | 197 of the buffer. |
202 * Two-Column:: Splitting apart columns to edit them | 198 * Two-Column:: Splitting apart columns to edit them |
203 in side-by-side windows. | 199 in side-by-side windows. |
204 * Editing Binary Files:: | 200 * Editing Binary Files::Using Hexl mode to edit binary files. |
205 Using Hexl mode to edit binary files. | 201 * Saving Emacs Sessions:: Saving Emacs state from one session to the next. |
206 * Saving Emacs Sessions:: | |
207 Saving Emacs state from one session to the next. | |
208 * Recursive Edit:: A command can allow you to do editing | 202 * Recursive Edit:: A command can allow you to do editing |
209 "within the command". This is called a | 203 "within the command". This is called a |
210 "recursive editing level". | 204 "recursive editing level". |
211 * Emulation:: Emulating some other editors with Emacs. | 205 * Emulation:: Emulating some other editors with Emacs. |
212 * Hyperlinking:: Following links in buffers. | 206 * Hyperlinking:: Following links in buffers. |
220 * Lossage:: What to do if Emacs is hung or malfunctioning. | 214 * Lossage:: What to do if Emacs is hung or malfunctioning. |
221 * Bugs:: How and when to report a bug. | 215 * Bugs:: How and when to report a bug. |
222 * Contributing:: How to contribute improvements to Emacs. | 216 * Contributing:: How to contribute improvements to Emacs. |
223 * Service:: How to get help for your own Emacs needs. | 217 * Service:: How to get help for your own Emacs needs. |
224 | 218 |
219 Detailed Node Listing | |
220 --------------------- | |
221 | |
225 Here are some other nodes which are really inferiors of the ones | 222 Here are some other nodes which are really inferiors of the ones |
226 already listed, mentioned here so you can get to them in one step: | 223 already listed, mentioned here so you can get to them in one step: |
227 | |
228 --- The Detailed Node Listing --- | |
229 | 224 |
230 The Organization of the Screen | 225 The Organization of the Screen |
231 | 226 |
232 * Point:: The place in the text where editing commands operate. | 227 * Point:: The place in the text where editing commands operate. |
233 * Echo Area:: Short messages appear at the bottom of the screen. | 228 * Echo Area:: Short messages appear at the bottom of the screen. |
239 * Inserting Text:: Inserting text by simply typing it. | 234 * Inserting Text:: Inserting text by simply typing it. |
240 * Moving Point:: How to move the cursor to the place where you want to | 235 * Moving Point:: How to move the cursor to the place where you want to |
241 change something. | 236 change something. |
242 * Erasing:: Deleting and killing text. | 237 * Erasing:: Deleting and killing text. |
243 * Undo:: Undoing recent changes in the text. | 238 * Undo:: Undoing recent changes in the text. |
244 * Files: Basic Files. Visiting, creating, and saving files. | 239 * Basic Files:: Visiting, creating, and saving files. |
245 * Help: Basic Help. Asking what a character does. | 240 * Basic Help:: Asking what a character does. |
246 * Blank Lines:: Commands to make or delete blank lines. | 241 * Blank Lines:: Commands to make or delete blank lines. |
247 * Continuation Lines:: Lines too wide for the screen. | 242 * Continuation Lines:: Lines too wide for the screen. |
248 * Position Info:: What page, line, row, or column is point on? | 243 * Position Info:: What page, line, row, or column is point on? |
249 * Arguments:: Numeric arguments for repeating a command. | 244 * Arguments:: Numeric arguments for repeating a command. |
245 * Repeating:: A short-cut for repeating the previous command. | |
250 | 246 |
251 The Minibuffer | 247 The Minibuffer |
252 | 248 |
253 * Minibuffer File:: Entering file names with the minibuffer. | 249 * Minibuffer File:: Entering file names with the minibuffer. |
254 * Minibuffer Edit:: How to edit in the minibuffer. | 250 * Minibuffer Edit:: How to edit in the minibuffer. |
262 * Key Help:: Asking what a key does in Emacs. | 258 * Key Help:: Asking what a key does in Emacs. |
263 * Name Help:: Asking about a command, variable or function name. | 259 * Name Help:: Asking about a command, variable or function name. |
264 * Apropos:: Asking what pertains to a given topic. | 260 * Apropos:: Asking what pertains to a given topic. |
265 * Library Keywords:: Finding Lisp libraries by keywords (topics). | 261 * Library Keywords:: Finding Lisp libraries by keywords (topics). |
266 * Language Help:: Help relating to international language support. | 262 * Language Help:: Help relating to international language support. |
263 * Help Mode:: Special features of Help mode and Help buffers. | |
267 * Misc Help:: Other help commands. | 264 * Misc Help:: Other help commands. |
265 * Help Files:: Commands to display pre-written help files. | |
266 * Help Echo:: Help on active text and tooltips (`balloon help') | |
268 | 267 |
269 The Mark and the Region | 268 The Mark and the Region |
270 | 269 |
271 * Setting Mark:: Commands to set the mark. | 270 * Setting Mark:: Commands to set the mark. |
272 * Transient Mark:: How to make Emacs highlight the region-- | 271 * Transient Mark:: How to make Emacs highlight the region-- |
273 when there is one. | 272 when there is one. |
273 * Momentary Mark:: Enabling Transient Mark mode momentarily. | |
274 * Using Region:: Summary of ways to operate on contents of the region. | 274 * Using Region:: Summary of ways to operate on contents of the region. |
275 * Marking Objects:: Commands to put region around textual units. | 275 * Marking Objects:: Commands to put region around textual units. |
276 * Mark Ring:: Previous mark positions saved so you can go back there. | 276 * Mark Ring:: Previous mark positions saved so you can go back there. |
277 * Global Mark Ring:: Previous mark positions in various buffers. | 277 * Global Mark Ring:: Previous mark positions in various buffers. |
278 | 278 |
279 Deletion and Killing | 279 Killing and Moving Text |
280 | 280 |
281 * Deletion:: Commands for deleting small amounts of text and | 281 * Deletion:: Commands for deleting small amounts of text and |
282 blank areas. | 282 blank areas. |
283 * Killing by Lines:: How to kill entire lines of text at one time. | 283 * Killing by Lines:: How to kill entire lines of text at one time. |
284 * Other Kill Commands:: Commands to kill large regions of text and | 284 * Other Kill Commands:: Commands to kill large regions of text and |
285 syntactic units such as words and sentences. | 285 syntactic units such as words and sentences. |
286 * Graphical Kill:: The kill ring on graphical terminals: | |
287 yanking between applications. | |
288 * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy | |
289 and paste, with enhanced rectangle support. | |
286 | 290 |
287 Yanking | 291 Yanking |
288 | 292 |
289 * Kill Ring:: Where killed text is stored. Basic yanking. | 293 * Kill Ring:: Where killed text is stored. Basic yanking. |
290 * Appending Kills:: Several kills in a row all yank together. | 294 * Appending Kills:: Several kills in a row all yank together. |
294 | 298 |
295 * RegPos:: Saving positions in registers. | 299 * RegPos:: Saving positions in registers. |
296 * RegText:: Saving text in registers. | 300 * RegText:: Saving text in registers. |
297 * RegRect:: Saving rectangles in registers. | 301 * RegRect:: Saving rectangles in registers. |
298 * RegConfig:: Saving window configurations in registers. | 302 * RegConfig:: Saving window configurations in registers. |
303 * RegNumbers:: Numbers in registers. | |
299 * RegFiles:: File names in registers. | 304 * RegFiles:: File names in registers. |
300 * Bookmarks:: Bookmarks are like registers, but persistent. | 305 * Bookmarks:: Bookmarks are like registers, but persistent. |
301 | 306 |
302 Controlling the Display | 307 Controlling the Display |
303 | 308 |
309 * Faces:: How to change the display style using faces. | |
310 * Standard Faces:: Emacs' predefined faces. | |
311 * Font Lock:: Minor mode for syntactic highlighting using faces. | |
312 * Highlight Interactively:: Tell Emacs what text to highlight. | |
313 * Highlight Changes:: Using colors to show where you changed the buffer. | |
304 * Scrolling:: Moving text up and down in a window. | 314 * Scrolling:: Moving text up and down in a window. |
305 * Horizontal Scrolling:: Moving text left and right in a window. | 315 * Horizontal Scrolling:: Moving text left and right in a window. |
316 * Fringes:: Enabling or disabling window fringes. | |
317 * Useless Whitespace:: Showing possibly-spurious trailing whitespace. | |
306 * Follow Mode:: Follow mode lets two windows scroll as one. | 318 * Follow Mode:: Follow mode lets two windows scroll as one. |
307 * Selective Display:: Hiding lines with lots of indentation. | 319 * Selective Display:: Hiding lines with lots of indentation. |
308 * Optional Mode Line:: Optional mode line display features. | 320 * Optional Mode Line:: Optional mode line display features. |
309 * Text Display:: How text is normally displayed. | 321 * Text Display:: How text characters are normally displayed. |
322 * Cursor Display:: Features for displaying the cursor. | |
310 * Display Custom:: Information on variables for customizing display. | 323 * Display Custom:: Information on variables for customizing display. |
311 | 324 |
312 Searching and Replacement | 325 Searching and Replacement |
313 | 326 |
314 * Incremental Search:: Search happens as you type the string. | 327 * Incremental Search:: Search happens as you type the string. |
331 | 344 |
332 * Kill Errors:: Commands to kill a batch of recently entered text. | 345 * Kill Errors:: Commands to kill a batch of recently entered text. |
333 * Transpose:: Exchanging two characters, words, lines, lists... | 346 * Transpose:: Exchanging two characters, words, lines, lists... |
334 * Fixing Case:: Correcting case of last word entered. | 347 * Fixing Case:: Correcting case of last word entered. |
335 * Spelling:: Apply spelling checker to a word or a whole buffer. | 348 * Spelling:: Apply spelling checker to a word or a whole buffer. |
349 | |
350 Keyboard Macros | |
351 | |
352 * Basic Keyboard Macro:: Defining and running keyboard macros. | |
353 * Keyboard Macro Ring:: Where previous keyboard macros are saved. | |
354 * Keyboard Macro Counter:: Inserting incrementing numbers in macros. | |
355 * Keyboard Macro Query:: Making keyboard macros do different things each time. | |
356 * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. | |
357 * Edit Keyboard Macro:: Editing keyboard macros. | |
358 * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard | |
359 macro. | |
336 | 360 |
337 File Handling | 361 File Handling |
338 | 362 |
339 * File Names:: How to type and edit file-name arguments. | 363 * File Names:: How to type and edit file-name arguments. |
340 * Visiting:: Visiting a file prepares Emacs to edit the file. | 364 * Visiting:: Visiting a file prepares Emacs to edit the file. |
345 * Version Control:: Version control systems (RCS, CVS and SCCS). | 369 * Version Control:: Version control systems (RCS, CVS and SCCS). |
346 * Directories:: Creating, deleting, and listing file directories. | 370 * Directories:: Creating, deleting, and listing file directories. |
347 * Comparing Files:: Finding where two files differ. | 371 * Comparing Files:: Finding where two files differ. |
348 * Misc File Ops:: Other things you can do on files. | 372 * Misc File Ops:: Other things you can do on files. |
349 * Compressed Files:: Accessing compressed files. | 373 * Compressed Files:: Accessing compressed files. |
374 * File Archives:: Operating on tar, zip, jar etc. archive files. | |
350 * Remote Files:: Accessing files on other sites. | 375 * Remote Files:: Accessing files on other sites. |
351 * Quoted File Names:: Quoting special characters in file names. | 376 * Quoted File Names:: Quoting special characters in file names. |
377 * File Name Cache:: Completion against a list of files you often use. | |
378 * File Conveniences:: Convenience Features for Finding Files. | |
379 * Filesets:: Handling sets of files. | |
352 | 380 |
353 Saving Files | 381 Saving Files |
354 | 382 |
383 * Save Commands:: Commands for saving files. | |
355 * Backup:: How Emacs saves the old version of your file. | 384 * Backup:: How Emacs saves the old version of your file. |
385 * Customize Save:: Customizing the saving of files. | |
356 * Interlocking:: How Emacs protects against simultaneous editing | 386 * Interlocking:: How Emacs protects against simultaneous editing |
357 of one file by two users. | 387 of one file by two users. |
388 * File Shadowing:: Copying files to "shadows" automatically. | |
389 * Time Stamps:: Emacs can update time stamps on saved files. | |
358 | 390 |
359 Version Control | 391 Version Control |
360 | 392 |
361 * Introduction to VC:: How version control works in general. | 393 * Introduction to VC:: How version control works in general. |
362 * VC Mode Line:: How the mode line shows version control status. | 394 * VC Mode Line:: How the mode line shows version control status. |
363 * Basic VC Editing:: How to edit a file under version control. | 395 * Basic VC Editing:: How to edit a file under version control. |
364 * Old Versions:: Examining and comparing old versions. | 396 * Old Versions:: Examining and comparing old versions. |
365 * Secondary VC Commands:: The commands used a little less frequently. | 397 * Secondary VC Commands:: The commands used a little less frequently. |
366 * Branches:: Multiple lines of development. | 398 * Branches:: Multiple lines of development. |
399 * Remote Repositories:: Efficient access to remote CVS servers. | |
367 * Snapshots:: Sets of file versions treated as a unit. | 400 * Snapshots:: Sets of file versions treated as a unit. |
368 * Miscellaneous VC:: Various other commands and features of VC. | 401 * Miscellaneous VC:: Various other commands and features of VC. |
369 * Customizing VC:: Variables that change VC's behavior. | 402 * Customizing VC:: Variables that change VC's behavior. |
370 | 403 |
371 Using Multiple Buffers | 404 Using Multiple Buffers |
375 * Misc Buffer:: Renaming; changing read-onliness; copying text. | 408 * Misc Buffer:: Renaming; changing read-onliness; copying text. |
376 * Kill Buffer:: Killing buffers you no longer need. | 409 * Kill Buffer:: Killing buffers you no longer need. |
377 * Several Buffers:: How to go through the list of all buffers | 410 * Several Buffers:: How to go through the list of all buffers |
378 and operate variously on several of them. | 411 and operate variously on several of them. |
379 * Indirect Buffers:: An indirect buffer shares the text of another buffer. | 412 * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
413 * Buffer Convenience:: Convenience and customization features for | |
414 buffer handling. | |
380 | 415 |
381 Multiple Windows | 416 Multiple Windows |
382 | 417 |
383 * Basic Window:: Introduction to Emacs windows. | 418 * Basic Window:: Introduction to Emacs windows. |
384 * Split Window:: New windows are made by splitting existing windows. | 419 * Split Window:: New windows are made by splitting existing windows. |
385 * Other Window:: Moving to another window or doing something to it. | 420 * Other Window:: Moving to another window or doing something to it. |
386 * Pop Up Window:: Finding a file or buffer in another window. | 421 * Pop Up Window:: Finding a file or buffer in another window. |
387 * Force Same Window:: Forcing certain buffers to appear in the selected | 422 * Force Same Window:: Forcing certain buffers to appear in the selected |
388 window rather than in another window. | 423 window rather than in another window. |
389 * Change Window:: Deleting windows and changing their sizes. | 424 * Change Window:: Deleting windows and changing their sizes. |
425 * Window Convenience:: Convenience functions for window handling. | |
390 | 426 |
391 Frames and X Windows | 427 Frames and X Windows |
392 | 428 |
393 * Mouse Commands:: Moving, cutting, and pasting, with the mouse. | 429 * Mouse Commands:: Moving, cutting, and pasting, with the mouse. |
394 * Secondary Selection:: Cutting without altering point and mark. | 430 * Secondary Selection:: Cutting without altering point and mark. |
402 * Multiple Displays:: How one Emacs job can talk to several displays. | 438 * Multiple Displays:: How one Emacs job can talk to several displays. |
403 * Special Buffer Frames:: You can make certain buffers have their own frames. | 439 * Special Buffer Frames:: You can make certain buffers have their own frames. |
404 * Frame Parameters:: Changing the colors and other modes of frames. | 440 * Frame Parameters:: Changing the colors and other modes of frames. |
405 * Scroll Bars:: How to enable and disable scroll bars; how to use them. | 441 * Scroll Bars:: How to enable and disable scroll bars; how to use them. |
406 * Wheeled Mice:: Using mouse wheels for scrolling. | 442 * Wheeled Mice:: Using mouse wheels for scrolling. |
443 * Drag and Drop:: Using drag and drop to open files and insert text. | |
407 * Menu Bars:: Enabling and disabling the menu bar. | 444 * Menu Bars:: Enabling and disabling the menu bar. |
408 * Tool Bars:: Enabling and disabling the tool bar. | 445 * Tool Bars:: Enabling and disabling the tool bar. |
409 * Dialog Boxes:: Controlling use of dialog boxes. | 446 * Dialog Boxes:: Controlling use of dialog boxes. |
410 * Faces:: How to change the display style using faces. | 447 * Tooltips:: Showing "tooltips", AKA "balloon help" for active text. |
411 * Font Lock:: Minor mode for syntactic highlighting using faces. | |
412 * Highlight Changes:: Using colors to show where you changed the buffer. | |
413 * Highlight Interactively:: Tell Emacs what text to highlight. | |
414 * Useless Whitespace:: Showing possibly-spurious trailing whitespace. | |
415 * Tooltips:: Showing "tooltips", AKA "ballon help" for active text. | |
416 * Mouse Avoidance:: Moving the mouse pointer out of the way. | 448 * Mouse Avoidance:: Moving the mouse pointer out of the way. |
417 * Non-Window Terminals:: Multiple frames on terminals that show only one. | 449 * Non-Window Terminals:: Multiple frames on terminals that show only one. |
418 * XTerm Mouse:: Using the mouse in an XTerm terminal emulator. | 450 * XTerm Mouse:: Using the mouse in an XTerm terminal emulator. |
419 | 451 |
420 International Character Set Support | 452 International Character Set Support |
422 * International Chars:: Basic concepts of multibyte characters. | 454 * International Chars:: Basic concepts of multibyte characters. |
423 * Enabling Multibyte:: Controlling whether to use multibyte characters. | 455 * Enabling Multibyte:: Controlling whether to use multibyte characters. |
424 * Language Environments:: Setting things up for the language you use. | 456 * Language Environments:: Setting things up for the language you use. |
425 * Input Methods:: Entering text characters not on your keyboard. | 457 * Input Methods:: Entering text characters not on your keyboard. |
426 * Select Input Method:: Specifying your choice of input methods. | 458 * Select Input Method:: Specifying your choice of input methods. |
459 * Multibyte Conversion:: How single-byte characters convert to multibyte. | |
427 * Coding Systems:: Character set conversion when you read and | 460 * Coding Systems:: Character set conversion when you read and |
428 write files, and so on. | 461 write files, and so on. |
429 * Recognize Coding:: How Emacs figures out which conversion to use. | 462 * Recognize Coding:: How Emacs figures out which conversion to use. |
430 * Specify Coding:: Various ways to choose which conversion to use. | 463 * Specify Coding:: Various ways to choose which conversion to use. |
431 * Fontsets:: Fontsets are collections of fonts | 464 * Fontsets:: Fontsets are collections of fonts |
432 that cover the whole spectrum of characters. | 465 that cover the whole spectrum of characters. |
433 * Defining Fontsets:: Defining a new fontset. | 466 * Defining Fontsets:: Defining a new fontset. |
434 * Single-Byte Character Support:: | 467 * Undisplayable Characters::When characters don't display. |
435 You can pick one European character set | 468 * Single-Byte Character Support:: You can pick one European character set |
436 to use without multibyte characters. | 469 to use without multibyte characters. |
470 * Charsets:: How Emacs groups its internal character codes. | |
437 | 471 |
438 Major Modes | 472 Major Modes |
439 | 473 |
440 * Choosing Modes:: How major modes are specified or chosen. | 474 * Choosing Modes:: How major modes are specified or chosen. |
441 | 475 |
455 * Filling:: Filling or justifying text. | 489 * Filling:: Filling or justifying text. |
456 * Case:: Changing the case of text. | 490 * Case:: Changing the case of text. |
457 * Text Mode:: The major modes for editing text files. | 491 * Text Mode:: The major modes for editing text files. |
458 * Outline Mode:: Editing outlines. | 492 * Outline Mode:: Editing outlines. |
459 * TeX Mode:: Editing input to the formatter TeX. | 493 * TeX Mode:: Editing input to the formatter TeX. |
494 * HTML Mode:: Editing HTML, SGML, and XML files. | |
460 * Nroff Mode:: Editing input to the formatter nroff. | 495 * Nroff Mode:: Editing input to the formatter nroff. |
461 * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | 496 * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. |
497 * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. | |
462 | 498 |
463 Filling Text | 499 Filling Text |
464 | 500 |
465 * Auto Fill:: Auto Fill mode breaks long lines automatically. | 501 * Auto Fill:: Auto Fill mode breaks long lines automatically. |
502 * Refill:: Keeping paragraphs filled. | |
466 * Fill Commands:: Commands to refill paragraphs and center lines. | 503 * Fill Commands:: Commands to refill paragraphs and center lines. |
467 * Fill Prefix:: Filling paragraphs that are indented | 504 * Fill Prefix:: Filling paragraphs that are indented |
468 or in a comment, etc. | 505 or in a comment, etc. |
469 * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | 506 * Adaptive Fill:: How Emacs can determine the fill prefix automatically. |
507 * Longlines:: Editing text with very long lines. | |
470 | 508 |
471 Editing Programs | 509 Editing Programs |
472 | 510 |
473 * Program Modes:: Major modes for editing programs. | 511 * Program Modes:: Major modes for editing programs. |
474 * Defuns:: Commands to operate on major top-level parts | 512 * Defuns:: Commands to operate on major top-level parts |
475 of a program. | 513 of a program. |
476 * Program Indent:: Adjusting indentation to show the nesting. | 514 * Program Indent:: Adjusting indentation to show the nesting. |
515 * Parentheses:: Commands that operate on parentheses. | |
477 * Comments:: Inserting, killing, and aligning comments. | 516 * Comments:: Inserting, killing, and aligning comments. |
478 * Parentheses:: Commands that operate on parentheses. | |
479 * Documentation:: Getting documentation of functions you plan to call. | 517 * Documentation:: Getting documentation of functions you plan to call. |
480 * Hideshow:: Displaying blocks selectively. | 518 * Hideshow:: Displaying blocks selectively. |
481 * Symbol Completion:: Completion on symbol names of your program or language. | 519 * Symbol Completion:: Completion on symbol names of your program or language. |
482 * Glasses:: Making identifiersLikeThis more readable. | 520 * Glasses:: Making identifiersLikeThis more readable. |
483 * Misc for Programs:: Other Emacs features useful for editing programs. | 521 * Misc for Programs:: Other Emacs features useful for editing programs. |
527 * Motion in C:: Commands to move by C statements, etc. | 565 * Motion in C:: Commands to move by C statements, etc. |
528 * Electric C:: Colon and other chars can automatically reindent. | 566 * Electric C:: Colon and other chars can automatically reindent. |
529 * Hungry Delete:: A more powerful DEL command. | 567 * Hungry Delete:: A more powerful DEL command. |
530 * Other C Commands:: Filling comments, viewing expansion of macros, | 568 * Other C Commands:: Filling comments, viewing expansion of macros, |
531 and other neat features. | 569 and other neat features. |
532 * Comments in C:: Options for customizing comment style. | |
533 | 570 |
534 Fortran Mode | 571 Fortran Mode |
535 | 572 |
536 * Motion: Fortran Motion. Moving point by statements or subprograms. | 573 * Fortran Motion:: Moving point by statements or subprograms. |
537 * Indent: Fortran Indent. Indentation commands for Fortran. | 574 * Fortran Indent:: Indentation commands for Fortran. |
538 * Comments: Fortran Comments. Inserting and aligning comments. | 575 * Fortran Comments:: Inserting and aligning comments. |
539 * Autofill: Fortran Autofill. Auto fill minor mode for Fortran. | 576 * Fortran Autofill:: Auto fill minor mode for Fortran. |
540 * Columns: Fortran Columns. Measuring columns for valid Fortran. | 577 * Fortran Columns:: Measuring columns for valid Fortran. |
541 * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. | 578 * Fortran Abbrev:: Built-in abbrevs for Fortran keywords. |
542 | 579 |
543 Compiling and Testing Programs | 580 Compiling and Testing Programs |
544 | 581 |
545 * Compilation:: Compiling programs in languages other | 582 * Compilation:: Compiling programs in languages other |
546 than Lisp (C, Pascal, etc.). | 583 than Lisp (C, Pascal, etc.). |
547 * Compilation Mode:: The mode for visiting compiler errors. | 584 * Compilation Mode:: The mode for visiting compiler errors. |
548 * Compilation Shell:: Customizing your shell properly | 585 * Compilation Shell:: Customizing your shell properly |
549 for use in the compilation buffer. | 586 for use in the compilation buffer. |
587 * Grep Searching:: Searching with grep. | |
588 * Flymake:: Finding syntax errors on the fly. | |
550 * Debuggers:: Running symbolic debuggers for non-Lisp programs. | 589 * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
551 * Executing Lisp:: Various modes for editing Lisp programs, | 590 * Executing Lisp:: Various modes for editing Lisp programs, |
552 with different facilities for running | 591 with different facilities for running |
553 the Lisp programs. | 592 the Lisp programs. |
554 * Lisp Libraries:: Creating Lisp programs to run in Emacs. | 593 * Lisp Libraries:: Creating Lisp programs to run in Emacs. |
594 * Lisp Eval:: Executing a single Lisp expression in Emacs. | |
555 * Lisp Interaction:: Executing Lisp in an Emacs buffer. | 595 * Lisp Interaction:: Executing Lisp in an Emacs buffer. |
556 * Lisp Eval:: Executing a single Lisp expression in Emacs. | |
557 * External Lisp:: Communicating through Emacs with a separate Lisp. | 596 * External Lisp:: Communicating through Emacs with a separate Lisp. |
558 | 597 |
559 Running Debuggers Under Emacs | 598 Running Debuggers Under Emacs |
560 | 599 |
561 * Starting GUD:: How to start a debugger subprocess. | 600 * Starting GUD:: How to start a debugger subprocess. |
562 * Debugger Operation:: Connection between the debugger and source buffers. | 601 * Debugger Operation:: Connection between the debugger and source buffers. |
563 * Commands of GUD:: Key bindings for common commands. | 602 * Commands of GUD:: Key bindings for common commands. |
564 * GUD Customization:: Defining your own commands for GUD. | 603 * GUD Customization:: Defining your own commands for GUD. |
604 * GDB Graphical Interface:: An enhanced mode that uses GDB features to | |
605 implement a graphical debugging environment through | |
606 Emacs. | |
565 | 607 |
566 Maintaining Programs | 608 Maintaining Programs |
567 | 609 |
568 * Change Log:: Maintaining a change history for your program. | 610 * Change Log:: Maintaining a change history for your program. |
569 @ignore | 611 @ignore |
575 | 617 |
576 Tags Tables | 618 Tags Tables |
577 | 619 |
578 * Tag Syntax:: Tag syntax for various types of code and text files. | 620 * Tag Syntax:: Tag syntax for various types of code and text files. |
579 * Create Tags Table:: Creating a tags table with @code{etags}. | 621 * Create Tags Table:: Creating a tags table with @code{etags}. |
622 * Etags Regexps:: Create arbitrary tags using regular expressions. | |
580 * Select Tags Table:: How to visit a tags table. | 623 * Select Tags Table:: How to visit a tags table. |
581 * Find Tag:: Commands to find the definition of a specific tag. | 624 * Find Tag:: Commands to find the definition of a specific tag. |
582 * Tags Search:: Using a tags table for searching and replacing. | 625 * Tags Search:: Using a tags table for searching and replacing. |
583 * List Tags:: Listing and finding tags defined in a file. | 626 * List Tags:: Listing and finding tags defined in a file. |
584 | 627 |
601 * Defining Abbrevs:: Defining an abbrev, so it will expand when typed. | 644 * Defining Abbrevs:: Defining an abbrev, so it will expand when typed. |
602 * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion. | 645 * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion. |
603 * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. | 646 * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. |
604 * Saving Abbrevs:: Saving the entire list of abbrevs for another session. | 647 * Saving Abbrevs:: Saving the entire list of abbrevs for another session. |
605 * Dynamic Abbrevs:: Abbreviations for words already in the buffer. | 648 * Dynamic Abbrevs:: Abbreviations for words already in the buffer. |
649 * Dabbrev Customization:: What is a word, for dynamic abbrevs. Case handling. | |
606 | 650 |
607 Editing Pictures | 651 Editing Pictures |
608 | 652 |
609 * Basic Picture:: Basic concepts and simple commands of Picture Mode. | 653 * Basic Picture:: Basic concepts and simple commands of Picture Mode. |
610 * Insert in Picture:: Controlling direction of cursor motion | 654 * Insert in Picture:: Controlling direction of cursor motion |
634 * Rmail Attributes:: Certain standard labels, called attributes. | 678 * Rmail Attributes:: Certain standard labels, called attributes. |
635 * Rmail Reply:: Sending replies to messages you are viewing. | 679 * Rmail Reply:: Sending replies to messages you are viewing. |
636 * Rmail Summary:: Summaries show brief info on many messages. | 680 * Rmail Summary:: Summaries show brief info on many messages. |
637 * Rmail Sorting:: Sorting messages in Rmail. | 681 * Rmail Sorting:: Sorting messages in Rmail. |
638 * Rmail Display:: How Rmail displays a message; customization. | 682 * Rmail Display:: How Rmail displays a message; customization. |
683 * Rmail Coding:: How Rmail handles decoding character sets. | |
639 * Rmail Editing:: Editing message text and headers in Rmail. | 684 * Rmail Editing:: Editing message text and headers in Rmail. |
640 * Rmail Digest:: Extracting the messages from a digest message. | 685 * Rmail Digest:: Extracting the messages from a digest message. |
641 * Out of Rmail:: Converting an Rmail file to mailbox format. | 686 * Out of Rmail:: Converting an Rmail file to mailbox format. |
642 * Rmail Rot13:: Reading messages encoded in the rot13 code. | 687 * Rmail Rot13:: Reading messages encoded in the rot13 code. |
643 * Movemail:: More details of fetching new mail. | 688 * Movemail:: More details of fetching new mail. |
689 * Remote Mailboxes:: Retrieving Mail from Remote Mailboxes. | |
690 * Other Mailbox Formats:: Retrieving Mail from Local Mailboxes in | |
691 Various Formats | |
644 | 692 |
645 Dired, the Directory Editor | 693 Dired, the Directory Editor |
646 | 694 |
647 * Dired Enter:: How to invoke Dired. | 695 * Dired Enter:: How to invoke Dired. |
648 * Dired Navigation:: How to move in the Dired buffer. | 696 * Dired Navigation:: How to move in the Dired buffer. |
658 * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. | 706 * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. |
659 * Subdirectory Motion:: Moving across subdirectories, and up and down. | 707 * Subdirectory Motion:: Moving across subdirectories, and up and down. |
660 * Hiding Subdirectories:: Making subdirectories visible or invisible. | 708 * Hiding Subdirectories:: Making subdirectories visible or invisible. |
661 * Dired Updating:: Discarding lines for files of no interest. | 709 * Dired Updating:: Discarding lines for files of no interest. |
662 * Dired and Find:: Using `find' to choose the files for Dired. | 710 * Dired and Find:: Using `find' to choose the files for Dired. |
711 * Wdired:: Operating on files by editing the Dired buffer. | |
712 * Misc Dired Features:: Various other features. | |
663 | 713 |
664 The Calendar and the Diary | 714 The Calendar and the Diary |
665 | 715 |
666 * Calendar Motion:: Moving through the calendar; selecting a date. | 716 * Calendar Motion:: Moving through the calendar; selecting a date. |
667 * Scroll Calendar:: Bringing earlier or later months onto the screen. | 717 * Scroll Calendar:: Bringing earlier or later months onto the screen. |
668 * Counting Days:: How many days are there between two dates? | 718 * Counting Days:: How many days are there between two dates? |
669 * General Calendar:: Exiting or recomputing the calendar. | 719 * General Calendar:: Exiting or recomputing the calendar. |
670 * LaTeX Calendar:: Print a calendar using LaTeX. | 720 * LaTeX Calendar:: Print a calendar using LaTeX. |
671 * Holidays:: Displaying dates of holidays. | 721 * Holidays:: Displaying dates of holidays. |
672 * Sunrise/Sunset:: Displaying local times of sunrise and sunset. | 722 * Sunrise/Sunset:: Displaying local times of sunrise and sunset. |
673 * Lunar Phases:: Displaying phases of the moon. | 723 * Lunar Phases:: Displaying phases of the moon. |
674 * Other Calendars:: Converting dates to other calendar systems. | 724 * Other Calendars:: Converting dates to other calendar systems. |
675 * Diary:: Displaying events from your diary. | 725 * Diary:: Displaying events from your diary. |
676 * Appointments:: Reminders when it's time to do something. | 726 * Appointments:: Reminders when it's time to do something. |
727 * Importing Diary:: Converting diary events to/from other formats. | |
677 * Daylight Savings:: How to specify when daylight savings time is active. | 728 * Daylight Savings:: How to specify when daylight savings time is active. |
729 * Time Intervals:: Keeping track of time intervals. | |
678 | 730 |
679 Movement in the Calendar | 731 Movement in the Calendar |
680 | 732 |
681 * Calendar Unit Motion:: Moving by days, weeks, months, and years. | 733 * Calendar Unit Motion:: Moving by days, weeks, months, and years. |
682 * Move to Beginning or End:: Moving to start/end of weeks, months, and years. | 734 * Move to Beginning or End:: Moving to start/end of weeks, months, and years. |
691 * From Other Calendar:: Moving to a date specified in another calendar. | 743 * From Other Calendar:: Moving to a date specified in another calendar. |
692 * Mayan Calendar:: Moving to a date specified in a Mayan calendar. | 744 * Mayan Calendar:: Moving to a date specified in a Mayan calendar. |
693 | 745 |
694 The Diary | 746 The Diary |
695 | 747 |
696 * Diary Commands:: Viewing diary entries and associated calendar dates. | 748 * Displaying the Diary:: Viewing diary entries and associated calendar dates. |
697 * Format of Diary File:: Entering events in your diary. | 749 * Format of Diary File:: Entering events in your diary. |
698 * Date Formats:: Various ways you can specify dates. | 750 * Date Formats:: Various ways you can specify dates. |
699 * Adding to Diary:: Commands to create diary entries. | 751 * Adding to Diary:: Commands to create diary entries. |
700 * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. | 752 * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. |
701 | 753 |
702 @sc{Gnus} | 754 Gnus |
703 | 755 |
704 * Buffers of Gnus:: The group, summary, and article buffers. | 756 * Buffers of Gnus:: The group, summary, and article buffers. |
705 * Gnus Startup:: What you should know about starting Gnus. | 757 * Gnus Startup:: What you should know about starting Gnus. |
706 * Summary of Gnus:: A short description of the basic Gnus commands. | 758 * Summary of Gnus:: A short description of the basic Gnus commands. |
707 | 759 |
708 Running Shell Commands from Emacs | 760 Running Shell Commands from Emacs |
709 | 761 |
710 * Single Shell:: How to run one shell command and return. | 762 * Single Shell:: How to run one shell command and return. |
711 * Interactive Shell:: Permanent shell taking input via Emacs. | 763 * Interactive Shell:: Permanent shell taking input via Emacs. |
712 * Shell Mode:: Special Emacs commands used with permanent shell. | 764 * Shell Mode:: Special Emacs commands used with permanent shell. |
765 * Shell Prompts:: Two ways to recognize shell prompts. | |
713 * Shell History:: Repeating previous commands in a shell buffer. | 766 * Shell History:: Repeating previous commands in a shell buffer. |
767 * Directory Tracking:: Keeping track when the subshell changes directory. | |
714 * Shell Options:: Options for customizing Shell mode. | 768 * Shell Options:: Options for customizing Shell mode. |
769 * Terminal emulator:: An Emacs window as a terminal emulator. | |
770 * Term Mode:: Special Emacs commands used in Term mode. | |
771 * Paging in Term:: Paging in the terminal emulator. | |
715 * Remote Host:: Connecting to another computer. | 772 * Remote Host:: Connecting to another computer. |
773 | |
774 Using Emacs as a Server | |
775 | |
776 * Invoking emacsclient:: Emacs client startup options. | |
777 | |
778 Hyperlinking and Navigation Features | |
779 | |
780 * Browse-URL:: Following URLs. | |
781 * Goto-address:: Activating URLs. | |
782 * FFAP:: Finding files etc. at point. | |
716 | 783 |
717 Customization | 784 Customization |
718 | 785 |
719 * Minor Modes:: Each minor mode is one feature you can turn on | 786 * Minor Modes:: Each minor mode is one feature you can turn on |
720 independently of any others. | 787 independently of any others. |
788 * Easy Customization:: Convenient way to browse and change user options. | |
721 * Variables:: Many Emacs commands examine Emacs variables | 789 * Variables:: Many Emacs commands examine Emacs variables |
722 to decide what to do; by setting variables, | 790 to decide what to do; by setting variables, |
723 you can control their functioning. | 791 you can control their functioning. |
724 * Keyboard Macros:: A keyboard macro records a sequence of | |
725 keystrokes to be replayed with a single command. | |
726 * Key Bindings:: The keymaps say what command each key runs. | 792 * Key Bindings:: The keymaps say what command each key runs. |
727 By changing them, you can "redefine keys". | 793 By changing them, you can "redefine keys". |
728 * Keyboard Translations:: | |
729 If your keyboard passes an undesired code | |
730 for a key, you can tell Emacs to | |
731 substitute another code. | |
732 * Syntax:: The syntax table controls how words and | 794 * Syntax:: The syntax table controls how words and |
733 expressions are parsed. | 795 expressions are parsed. |
734 * Init File:: How to write common customizations in the | 796 * Init File:: How to write common customizations in the |
735 @file{.emacs} file. | 797 @file{.emacs} file. |
736 | 798 |
737 Variables | 799 Variables |
738 | 800 |
739 * Examining:: Examining or setting one variable's value. | 801 * Examining:: Examining or setting one variable's value. |
740 * Easy Customization:: | |
741 Convenient and easy customization of variables. | |
742 * Hooks:: Hook variables let you specify programs for parts | 802 * Hooks:: Hook variables let you specify programs for parts |
743 of Emacs to run on particular occasions. | 803 of Emacs to run on particular occasions. |
744 * Locals:: Per-buffer values of variables. | 804 * Locals:: Per-buffer values of variables. |
745 * File Variables:: How files can specify variable values. | 805 * File Variables:: How files can specify variable values. |
746 | |
747 Keyboard Macros | |
748 | |
749 * Basic Kbd Macro:: Defining and running keyboard macros. | |
750 * Save Kbd Macro:: Giving keyboard macros names; saving them in files. | |
751 * Kbd Macro Query:: Making keyboard macros do different things each time. | |
752 | 806 |
753 Customizing Key Bindings | 807 Customizing Key Bindings |
754 | 808 |
755 * Keymaps:: Generalities. The global keymap. | 809 * Keymaps:: Generalities. The global keymap. |
756 * Prefix Keymaps:: Keymaps for prefix keys. | 810 * Prefix Keymaps:: Keymaps for prefix keys. |
758 * Minibuffer Maps:: The minibuffer uses its own local keymaps. | 812 * Minibuffer Maps:: The minibuffer uses its own local keymaps. |
759 * Rebinding:: How to redefine one key's meaning conveniently. | 813 * Rebinding:: How to redefine one key's meaning conveniently. |
760 * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. | 814 * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. |
761 * Function Keys:: Rebinding terminal function keys. | 815 * Function Keys:: Rebinding terminal function keys. |
762 * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. | 816 * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. |
817 * Non-ASCII Rebinding:: Rebinding non-@acronym{ASCII} characters such as Latin-1. | |
763 * Mouse Buttons:: Rebinding mouse buttons in Emacs. | 818 * Mouse Buttons:: Rebinding mouse buttons in Emacs. |
764 * Disabling:: Disabling a command means confirmation is required | 819 * Disabling:: Disabling a command means confirmation is required |
765 before it can be executed. This is done to protect | 820 before it can be executed. This is done to protect |
766 beginners from surprises. | 821 beginners from surprises. |
767 | 822 |
778 * Stuck Recursive:: `[...]' in mode line around the parentheses. | 833 * Stuck Recursive:: `[...]' in mode line around the parentheses. |
779 * Screen Garbled:: Garbage on the screen. | 834 * Screen Garbled:: Garbage on the screen. |
780 * Text Garbled:: Garbage in the text. | 835 * Text Garbled:: Garbage in the text. |
781 * Unasked-for Search:: Spontaneous entry to incremental search. | 836 * Unasked-for Search:: Spontaneous entry to incremental search. |
782 * Memory Full:: How to cope when you run out of memory. | 837 * Memory Full:: How to cope when you run out of memory. |
838 * After a Crash:: Recovering editing in an Emacs session that crashed. | |
783 * Emergency Escape:: Emergency escape--- | 839 * Emergency Escape:: Emergency escape--- |
784 What to do if Emacs stops responding. | 840 What to do if Emacs stops responding. |
785 * Total Frustration:: When you are at your wits' end. | 841 * Total Frustration:: When you are at your wits' end. |
786 | 842 |
787 Reporting Bugs | 843 Reporting Bugs |
788 | 844 |
789 * Criteria: Bug Criteria. Have you really found a bug? | 845 * Bug Criteria:: Have you really found a bug? |
790 * Understanding Bug Reporting:: How to report a bug effectively. | 846 * Understanding Bug Reporting:: How to report a bug effectively. |
791 * Checklist:: Steps to follow for a good bug report. | 847 * Checklist:: Steps to follow for a good bug report. |
792 * Sending Patches:: How to send a patch for GNU Emacs. | 848 * Sending Patches:: How to send a patch for GNU Emacs. |
793 | 849 |
794 Command Line Options and Arguments | 850 Command Line Arguments for Emacs Invocation |
795 | 851 |
796 * Action Arguments:: Arguments to visit files, load libraries, | 852 * Action Arguments:: Arguments to visit files, load libraries, |
797 and call functions. | 853 and call functions. |
798 * Initial Options:: Arguments that take effect while starting Emacs. | 854 * Initial Options:: Arguments that take effect while starting Emacs. |
799 * Command Example:: Examples of using command line arguments. | 855 * Command Example:: Examples of using command line arguments. |
804 * Colors:: Choosing display colors. | 860 * Colors:: Choosing display colors. |
805 * Window Size X:: Start-up window size, under X. | 861 * Window Size X:: Start-up window size, under X. |
806 * Borders X:: Internal and external borders, under X. | 862 * Borders X:: Internal and external borders, under X. |
807 * Title X:: Specifying the initial frame's title. | 863 * Title X:: Specifying the initial frame's title. |
808 * Icons X:: Choosing what sort of icon to use, under X. | 864 * Icons X:: Choosing what sort of icon to use, under X. |
809 | 865 * Misc X:: Other display options. |
810 X Resources | 866 |
867 Environment Variables | |
868 | |
869 * General Variables:: Environment variables that all versions of Emacs use. | |
870 * Misc Variables:: Certain system specific variables. | |
871 * MS-Windows Registry:: An alternative to the environment on MS-Windows. | |
872 | |
873 X Options and Resources | |
811 | 874 |
812 * Resources:: Using X resources with Emacs (in general). | 875 * Resources:: Using X resources with Emacs (in general). |
813 * Table of Resources:: Table of specific X resources that affect Emacs. | 876 * Table of Resources:: Table of specific X resources that affect Emacs. |
814 * Face Resources:: X resources for customizing faces. | 877 * Face Resources:: X resources for customizing faces. |
815 * Lucid Resources:: X resources for Lucid menus. | 878 * Lucid Resources:: X resources for Lucid menus. |
816 * LessTif Resources:: X resources for LessTif and Motif menus. | 879 * LessTif Resources:: X resources for LessTif and Motif menus. |
817 | 880 * GTK resources:: Resources for GTK widgets. |
818 Environment Variables | 881 |
819 | 882 Emacs and Mac OS |
820 * General Variables:: Environment variables that all versions of Emacs use. | 883 |
821 * Misc Variables:: Certain system specific variables. | 884 * Mac Input:: Keyboard and mouse input on Mac. |
885 * Mac International:: International character sets on Mac. | |
886 * Mac Environment Variables:: Setting environment variables for Emacs. | |
887 * Mac Directories:: Volumes and directories on Mac. | |
888 * Mac Font Specs:: Specifying fonts on Mac. | |
889 * Mac Functions:: Mac-specific Lisp functions. | |
822 | 890 |
823 MS-DOS and Windows 95/98/NT | 891 MS-DOS and Windows 95/98/NT |
824 | 892 |
825 * MS-DOS Input:: Keyboard and mouse usage on MS-DOS. | 893 * MS-DOS Keyboard:: Keyboard usage on MS-DOS. |
894 * MS-DOS Mouse:: Mouse usage on MS-DOS. | |
826 * MS-DOS Display:: Fonts, frames and display size on MS-DOS. | 895 * MS-DOS Display:: Fonts, frames and display size on MS-DOS. |
827 * MS-DOS File Names:: File-name conventions on MS-DOS. | 896 * MS-DOS File Names:: File-name conventions on MS-DOS. |
828 * Text and Binary:: Text files on MS-DOS use CRLF to separate lines. | 897 * Text and Binary:: Text files on MS-DOS use CRLF to separate lines. |
829 * MS-DOS Printing:: How to specify the printer on MS-DOS. | 898 * MS-DOS Printing:: How to specify the printer on MS-DOS. |
899 * MS-DOS and MULE:: Support for internationalization on MS-DOS. | |
830 * MS-DOS Processes:: Running subprocesses on MS-DOS. | 900 * MS-DOS Processes:: Running subprocesses on MS-DOS. |
831 * Windows Processes:: Running subprocesses on Windows. | 901 * Windows Processes:: Running subprocesses on Windows. |
832 * Windows System Menu:: Controlling what the ALT key does. | 902 * Windows System Menu:: Controlling what the ALT key does. |
833 @end menu | 903 @end menu |
834 | 904 |
879 files, which are also distributed along with GNU Emacs. | 949 files, which are also distributed along with GNU Emacs. |
880 | 950 |
881 GNU Emacs is a member of the Emacs editor family. There are many Emacs | 951 GNU Emacs is a member of the Emacs editor family. There are many Emacs |
882 editors, all sharing common principles of organization. For information on | 952 editors, all sharing common principles of organization. For information on |
883 the underlying philosophy of Emacs and the lessons learned from its | 953 the underlying philosophy of Emacs and the lessons learned from its |
884 development, write for a copy of AI memo 519a, ``Emacs, the Extensible, | 954 development, write for a copy of AI memo 519a, @cite{Emacs, the Extensible, |
885 Customizable Self-Documenting Display Editor,'' to Publications Department, | 955 Customizable Self-Documenting Display Editor}, to Publications Department, |
886 Artificial Intelligence Lab, 545 Tech Square, Cambridge, MA 02139, USA@. At | 956 Artificial Intelligence Lab, 545 Tech Square, Cambridge, MA 02139, USA@. At |
887 last report they charge $2.25 per copy. Another useful publication is LCS | 957 last report they charge $2.25 per copy. Another useful publication is LCS |
888 TM-165, ``A Cookbook for an Emacs,'' by Craig Finseth, available from | 958 TM-165, @cite{A Cookbook for an Emacs}, by Craig Finseth, available from |
889 Publications Department, Laboratory for Computer Science, 545 Tech Square, | 959 Publications Department, Laboratory for Computer Science, 545 Tech Square, |
890 Cambridge, MA 02139, USA@. The price today is $3. | 960 Cambridge, MA 02139, USA@. The price today is $3. |
891 | 961 |
892 This edition of the manual is intended for use with GNU Emacs installed | 962 This edition of the manual is intended for use with GNU Emacs installed |
893 on GNU and Unix systems. GNU Emacs can also be used on VMS, MS-DOS | 963 on GNU and Unix systems. GNU Emacs can also be used on VMS, MS-DOS |
895 different file name syntax; in addition, VMS and MS-DOS do not support | 965 different file name syntax; in addition, VMS and MS-DOS do not support |
896 all GNU Emacs features. We don't try to describe VMS usage in this | 966 all GNU Emacs features. We don't try to describe VMS usage in this |
897 manual. @xref{MS-DOS}, for information about using Emacs on MS-DOS. | 967 manual. @xref{MS-DOS}, for information about using Emacs on MS-DOS. |
898 @end iftex | 968 @end iftex |
899 | 969 |
900 @node Distrib, Copying, Top, Top | 970 @node Distrib, Intro, Top, Top |
901 @unnumbered Distribution | 971 @unnumbered Distribution |
902 | 972 |
903 GNU Emacs is @dfn{free software}; this means that everyone is free to | 973 GNU Emacs is @dfn{free software}; this means that everyone is free to |
904 use it and free to redistribute it on certain conditions. GNU Emacs is | 974 use it and free to redistribute it on certain conditions. GNU Emacs |
905 not in the public domain; it is copyrighted and there are restrictions | 975 is not in the public domain; it is copyrighted and there are |
906 on its distribution, but these restrictions are designed to permit | 976 restrictions on its distribution, but these restrictions are designed |
907 everything that a good cooperating citizen would want to do. What is | 977 to permit everything that a good cooperating citizen would want to do. |
908 not allowed is to try to prevent others from further sharing any version | 978 What is not allowed is to try to prevent others from further sharing |
909 of GNU Emacs that they might get from you. The precise conditions are | 979 any version of GNU Emacs that they might get from you. The precise |
910 found in the GNU General Public License that comes with Emacs and also | 980 conditions are found in the GNU General Public License that comes with |
911 appears following this section. | 981 Emacs and also appears in this manual@footnote{This manual is itself |
912 | 982 covered by the GNU Free Documentation License. This license is |
913 One way to get a copy of GNU Emacs is from someone else who has it. You | 983 similar in spirit to the General Public License, but is more suitable |
914 need not ask for our permission to do so, or tell any one else; just | 984 for documentation. @xref{GNU Free Documentation License}.}. |
915 copy it. If you have access to the Internet, you can get the latest | 985 @xref{Copying}. |
916 distribution version of GNU Emacs by anonymous FTP; see the file | 986 |
917 @file{etc/FTP} in the Emacs distribution for more information. | 987 One way to get a copy of GNU Emacs is from someone else who has it. |
988 You need not ask for our permission to do so, or tell any one else; | |
989 just copy it. If you have access to the Internet, you can get the | |
990 latest distribution version of GNU Emacs by anonymous FTP; see | |
991 @url{http://www.gnu.org/software/emacs} on our website for more | |
992 information. | |
918 | 993 |
919 You may also receive GNU Emacs when you buy a computer. Computer | 994 You may also receive GNU Emacs when you buy a computer. Computer |
920 manufacturers are free to distribute copies on the same terms that apply to | 995 manufacturers are free to distribute copies on the same terms that apply to |
921 everyone else. These terms require them to give you the full sources, | 996 everyone else. These terms require them to give you the full sources, |
922 including whatever changes they may have made, and to permit you to | 997 including whatever changes they may have made, and to permit you to |
923 redistribute the GNU Emacs received from them under the usual terms of the | 998 redistribute the GNU Emacs received from them under the usual terms of the |
924 General Public License. In other words, the program must be free for you | 999 General Public License. In other words, the program must be free for you |
925 when you get it, not just free for the manufacturer. | 1000 when you get it, not just free for the manufacturer. |
926 | 1001 |
927 You can also order copies of GNU Emacs from the Free Software Foundation | 1002 You can also order copies of GNU Emacs from the Free Software |
928 on CD-ROM@. This is a convenient and reliable way to get a copy; it is | 1003 Foundation. This is a convenient and reliable way to get a copy; it is |
929 also a good way to help fund our work. (The Foundation has always | 1004 also a good way to help fund our work. We also sell hardcopy versions |
930 received most of its funds in this way.) An order form is included in | 1005 of this manual and @cite{An Introduction to Programming in Emacs Lisp}, |
931 the file @file{etc/ORDERS} in the Emacs distribution, and on our web | 1006 by Robert J. Chassell. You can find an order form on our web site at |
932 site in @url{http://www.gnu.org/order/order.html}. For further | 1007 @url{http://www.gnu.org/order/order.html}. For further information, |
933 information, write to | 1008 write to |
934 | 1009 |
935 @display | 1010 @display |
936 Free Software Foundation | 1011 Free Software Foundation |
937 59 Temple Place, Suite 330 | 1012 51 Franklin Street, Fifth Floor |
938 Boston, MA 02111-1307 USA | 1013 Boston, MA 02110-1301 |
939 USA | 1014 USA |
940 @end display | 1015 @end display |
941 | 1016 |
942 The income from distribution fees goes to support the foundation's | 1017 The income from distribution fees goes to support the foundation's |
943 purpose: the development of new free software, and improvements to our | 1018 purpose: the development of new free software, and improvements to our |
950 company policy is unsympathetic to the idea of donating to charity, you | 1025 company policy is unsympathetic to the idea of donating to charity, you |
951 might instead suggest ordering a CD-ROM from the Foundation | 1026 might instead suggest ordering a CD-ROM from the Foundation |
952 occasionally, or subscribing to periodic updates. | 1027 occasionally, or subscribing to periodic updates. |
953 | 1028 |
954 @iftex | 1029 @iftex |
955 Contributors to GNU Emacs include Per Abrahamsen, Jay K. Adams, Joe | 1030 @node Acknowledgments, Intro, Distrib, Top |
956 Arceneaux, Boaz Ben-Zvi, Jim Blandy, Terrence Brannon, Frank Bresz, | 1031 @unnumberedsec Acknowledgments |
957 Peter Breton, Kevin Broadey, Vincent Broman, David M. Brown, Bill | 1032 |
958 Carpenter, Hans Chalupsky, Bob Chassell, James Clark, Mike Clarkson, | 1033 Contributors to GNU Emacs include Per Abrahamsen, Tomas Abrahamsson, |
959 Glynn Clements, Andrew Csillag, Doug Cutting, Michael DeCorte, Gary | 1034 Jay K.@: Adams, Joe Arceneaux, Miles Bader, David Bakhash, Eli |
960 Delp, Matthieu Devin, Eri Ding, Carsten Dominik, Scott Draves, Viktor | 1035 Barzilay, Steven L.@: Baur, Boaz Ben-Zvi, Ray Blaak, Jim Blandy, Per |
961 Dukhovni, John Eaton, Rolf Ebert, Stephen Eglen, Torbj@"orn Einarsson, | 1036 Bothner, Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, |
962 Tsugutomo Enami, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, | 1037 Kevin Broadey, Vincent Broman, David M.@: Brown, Georges Brun-Cottan, |
963 Frederick Farnbach, Fred Fish, Karl Fogel, Gary Foster, Noah Friedman, | 1038 W@l{}odek Bzyl, Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chris |
964 Keith Gabryelski, Kevin Gallagher, Kevin Gallo, Howard Gayle, Stephen | 1039 Chase, Bob Chassell, Andrew Choi, James Clark, Mike Clarkson, Glynn |
965 Gildea, David Gillespie, Bob Glickstein, Boris Goldowsky, Michelangelo | 1040 Clements, Andrew Csillag, Doug Cutting, Michael DeCorte, Gary Delp, |
966 Grigni, Michael Gschwind, Henry Guillaume, Doug Gwyn, Ken'ichi Handa, | 1041 Matthieu Devin, Eri Ding, Jan Dj@"{a}rv, Carsten Dominik, Scott |
967 Chris Hanson, K. Shane Hartman, John Heidemann, Markus Heritsch, Karl | 1042 Draves, Benjamin Drieu, Viktor Dukhovni, John Eaton, Rolf Ebert, |
968 Heuer, Manabu Higashida, Anders Holst, Kurt Hornik, Tom Houlder, Lars | 1043 Stephen Eglen, Torbj@"orn Einarsson, Tsugutomo Enami, Hans Henrik |
969 Ingebrigtsen, Andrew Innes, Michael K. Johnson, Kyle Jones, Tomoji | 1044 Eriksen, Michael Ernst, Ata Etemadi, Frederick Farnbach, Oscar |
970 Kagatani, Brewster Kahle, David Kaufman, Henry Kautz, Howard Kaye, | 1045 Figueiredo, Fred Fish, Karl Fogel, Gary Foster, Noah Friedman, |
971 Michael Kifer, Richard King, Larry K. Kolodney, Robert Krawitz, | 1046 Hallvard Furuseth, Keith Gabryelski, Kevin Gallagher, Kevin Gallo, |
972 Sebastian Kremer, Geoff Kuenning, David K@aa gedal, Daniel LaLiberte, | 1047 Juan Le@'{o}n Lahoz Garc@'{i}a, Howard Gayle, Stephen Gildea, Julien |
973 Aaron Larson, James R. Larus, Frederic Lepied, Lars Lindberg, Eric | 1048 Gilles, David Gillespie, Bob Glickstein, Boris Goldowsky, Michelangelo |
974 Ludlam, Neil M. Mager, Ken Manheimer, Bill Mann, Brian Marick, Simon | 1049 Grigni, Odd Gripenstam, Kai Gro@ss{}johann, Michael Gschwind, Henry |
1050 Guillaume, Doug Gwyn, Ken'ichi Handa, Chris Hanson, K. Shane Hartman, | |
1051 John Heidemann, Jon K.@: Hellan, Markus Heritsch, Karl Heuer, Manabu | |
1052 Higashida, Anders Holst, Kurt Hornik, Tom Houlder, Denis Howe, Lars | |
1053 Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Ulf Jasper, Michael | |
1054 K. Johnson, Kyle Jones, Terry Jones, Simon Josefsson, Tomoji Kagatani, | |
1055 Brewster Kahle, David Kaufman, Henry Kautz, Taichi Kawabata, Howard | |
1056 Kaye, Michael Kifer, Richard King, Peter Kleiweg, Larry K.@: Kolodney, | |
1057 Pavel Kobiakov, Larry K.@: Kolodney, David M.@: Koppelman, Koseki | |
1058 Yoshinori, Robert Krawitz, Sebastian Kremer, Ryszard Kubiak, Geoff | |
1059 Kuenning, David K@aa{}gedal, Daniel LaLiberte, Aaron Larson, James | |
1060 R.@: Larus, Vinicius Jose Latorre, Frederic Lepied, Peter Liljenberg, | |
1061 Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link, Dave | |
1062 Love, Eric Ludlam, Alan Mackenzie, Christopher J.@: Madsen, | |
1063 Neil M.@: Mager, Ken Manheimer, Bill Mann, Brian Marick, Simon | |
975 Marshall, Bengt Martensson, Charlie Martin, Thomas May, Roland McGrath, | 1064 Marshall, Bengt Martensson, Charlie Martin, Thomas May, Roland McGrath, |
976 David Megginson, Wayne Mesard, Richard Mlynarik, Keith Moore, Erik | 1065 Will Mengarini, David Megginson, Wayne Mesard, Brad Miller, Richard |
977 Naggum, Thomas Neumann, Mike Newton, Jurgen Nickelsen, Jeff Norden, | 1066 Mlynarik, Gerd Moellmann, Stefan Monnier, Morioka Tomohiko, Keith |
978 Andrew Norman, Jeff Peck, Damon Anton Permezel, Tom Perrine, Jens | 1067 Moore, Sen Nagata, Erik Naggum, Thomas Neumann, Thien-Thi Nguyen, Mike |
979 Petersen, Daniel Pfeiffer, Fred Pierresteguy, Christian Plaunt, | 1068 Newton, Jurgen Nickelsen, Dan Nicolaescu, Jeff Norden, Andrew Norman, |
980 Francesco A. Potorti, Michael D. Prange, Ashwin Ram, Eric S. Raymond, | 1069 Alexandre Oliva, Bob Olson, Takaaki Ota, Pieter E.@: J.@: Pareit, |
981 Paul Reilly, Edward M. Reingold, Rob Riepel, Roland B. Roberts, John | 1070 David Pearson, Jeff Peck, Damon Anton Permezel, Tom Perrine, William |
982 Robinson, Danny Roozendaal, William Rosenblatt, Guillermo J. Rozas, Ivar | 1071 M.@: Perry, Per Persson, Jens Petersen, Daniel Pfeiffer, Richard |
983 Rummelhoff, Wolfgang Rupprecht, James B. Salem, Masahiko Sato, William | 1072 L.@: Pieri, Fred Pierresteguy, Christian Plaunt, David Ponce, Francesco |
984 Schelter, Ralph Schleicher, Gregor Schmid, Michael Schmidt, Ronald | 1073 A. Potorti, Michael D. Prange, Mukesh Prasad, Marko Rahamaa, Ashwin |
985 S. Schnell, Philippe Schnoebelen, Stephen Schoef, Randal Schwartz, | 1074 Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, Alex Rezinsky, |
986 Manuel Serrano, Stanislav Shalunov, Mark Shapiro, Richard Sharman, Olin | 1075 Rob Riepel, Nick Roberts, Roland B.@: Roberts, John Robinson, Danny |
987 Shivers, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, David | 1076 Roozendaal, William Rosenblatt, Guillermo J.@: Rozas, Ivar Rummelhoff, |
988 Smith, Paul D. Smith, William Sommerfeld, Michael Staats, Sam Steingold, | 1077 Jason Rumney, Wolfgang Rupprecht, Kevin Ryde, James B. Salem, Masahiko |
989 Ake Stenhoff, Peter Stephenson, Jonathan Stigelman, Steve Strassman, | 1078 Sato, Holger Schauer, William Schelter, Ralph Schleicher, Gregor |
990 Jens T. Berger Thielemann, Spencer Thomas, Jim Thompson, Masanobu Umeda, | 1079 Schmid, Michael Schmidt, Ronald S. Schnell, Philippe Schnoebelen, Jan |
991 Neil W. Van Dyke, Ulrik Vieth, Geoffrey Voelker, Johan Vromans, Barry | 1080 Schormann, Alex Schroeder, Stephen Schoef, Randal Schwartz, Oliver |
992 Warsaw, Morten Welinder, Joseph Brian Wells, Rodney Whitby, Ed | 1081 Seidel, Manuel Serrano, Hovav Shacham, Stanislav Shalunov, Mark |
993 Wilkinson, Mike Williams, Steven A. Wood, Dale R. Worley, Felix | 1082 Shapiro, Richard Sharman, Olin Shivers, Espen Skoglund, Rick Sladkey, |
994 S. T. Wu, Tom Wurgler, Eli Zaretskii, Jamie Zawinski, Ian T. Zimmermann, | 1083 Lynn Slater, Chris Smith, David Smith, Paul D.@: Smith, Andre Spiegel, |
995 Reto Zimmermann, and Neal Ziring. | 1084 Michael Staats, William Sommerfeld, Michael Staats, Sam Steingold, Ake |
1085 Stenhoff, Peter Stephenson, Ken Stevens, Jonathan Stigelman, Martin | |
1086 Stjernholm, Kim F.@: Storm, Steve Strassman, Olaf Sylvester, Naoto | |
1087 Takahashi, Jean-Philippe Theberge, Jens T.@: Berger Thielemann, | |
1088 Spencer Thomas, Jim Thompson, Tom Tromey, Daiki Ueno, Masanobu Umeda, | |
1089 Rajesh Vaidheeswarran, Neil W.@: Van Dyke, Didier Verna, Ulrik Vieth, | |
1090 Geoffrey Voelker, Johan Vromans, Inge Wallin, Colin Walters, Barry | |
1091 Warsaw, Morten Welinder, Joseph Brian Wells, Rodney Whitby, John | |
1092 Wiegley, Ed Wilkinson, Mike Williams, Bill Wohler, Steven A. Wood, | |
1093 Dale R.@: Worley, Francis J.@: Wright, Felix S. T. Wu, Tom Wurgler, | |
1094 Masatake Yamato, Jonathan Yavner, Ilya Zakharevich, Milan Zamazal, | |
1095 Victor Zandy, Eli Zaretskii, Jamie Zawinski, Shenghuo Zhu, Ian | |
1096 T.@: Zimmermann, Reto Zimmermann, Neal Ziring, and Detlev Zundel. | |
996 @end iftex | 1097 @end iftex |
997 | 1098 |
998 @node Copying, GNU Free Documentation License, Distrib, Top | 1099 @node Intro, Glossary, Distrib, Top |
999 @unnumbered GNU GENERAL PUBLIC LICENSE | |
1000 @center Version 2, June 1991 | |
1001 | |
1002 @display | |
1003 Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. | |
1004 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
1005 | |
1006 Everyone is permitted to copy and distribute verbatim copies | |
1007 of this license document, but changing it is not allowed. | |
1008 @end display | |
1009 | |
1010 @unnumberedsec Preamble | |
1011 | |
1012 The licenses for most software are designed to take away your | |
1013 freedom to share and change it. By contrast, the GNU General Public | |
1014 License is intended to guarantee your freedom to share and change free | |
1015 software---to make sure the software is free for all its users. This | |
1016 General Public License applies to most of the Free Software | |
1017 Foundation's software and to any other program whose authors commit to | |
1018 using it. (Some other Free Software Foundation software is covered by | |
1019 the GNU Library General Public License instead.) You can apply it to | |
1020 your programs, too. | |
1021 | |
1022 When we speak of free software, we are referring to freedom, not | |
1023 price. Our General Public Licenses are designed to make sure that you | |
1024 have the freedom to distribute copies of free software (and charge for | |
1025 this service if you wish), that you receive source code or can get it | |
1026 if you want it, that you can change the software or use pieces of it | |
1027 in new free programs; and that you know you can do these things. | |
1028 | |
1029 To protect your rights, we need to make restrictions that forbid | |
1030 anyone to deny you these rights or to ask you to surrender the rights. | |
1031 These restrictions translate to certain responsibilities for you if you | |
1032 distribute copies of the software, or if you modify it. | |
1033 | |
1034 For example, if you distribute copies of such a program, whether | |
1035 gratis or for a fee, you must give the recipients all the rights that | |
1036 you have. You must make sure that they, too, receive or can get the | |
1037 source code. And you must show them these terms so they know their | |
1038 rights. | |
1039 | |
1040 We protect your rights with two steps: (1) copyright the software, and | |
1041 (2) offer you this license which gives you legal permission to copy, | |
1042 distribute and/or modify the software. | |
1043 | |
1044 Also, for each author's protection and ours, we want to make certain | |
1045 that everyone understands that there is no warranty for this free | |
1046 software. If the software is modified by someone else and passed on, we | |
1047 want its recipients to know that what they have is not the original, so | |
1048 that any problems introduced by others will not reflect on the original | |
1049 authors' reputations. | |
1050 | |
1051 Finally, any free program is threatened constantly by software | |
1052 patents. We wish to avoid the danger that redistributors of a free | |
1053 program will individually obtain patent licenses, in effect making the | |
1054 program proprietary. To prevent this, we have made it clear that any | |
1055 patent must be licensed for everyone's free use or not licensed at all. | |
1056 | |
1057 The precise terms and conditions for copying, distribution and | |
1058 modification follow. | |
1059 | |
1060 @iftex | |
1061 @unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1062 @end iftex | |
1063 @ifinfo | |
1064 @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1065 @end ifinfo | |
1066 | |
1067 @enumerate 0 | |
1068 @item | |
1069 This License applies to any program or other work which contains | |
1070 a notice placed by the copyright holder saying it may be distributed | |
1071 under the terms of this General Public License. The ``Program,'' below, | |
1072 refers to any such program or work, and a ``work based on the Program'' | |
1073 means either the Program or any derivative work under copyright law: | |
1074 that is to say, a work containing the Program or a portion of it, | |
1075 either verbatim or with modifications and/or translated into another | |
1076 language. (Hereinafter, translation is included without limitation in | |
1077 the term ``modification.'') Each licensee is addressed as ``you.'' | |
1078 | |
1079 Activities other than copying, distribution and modification are not | |
1080 covered by this License; they are outside its scope. The act of | |
1081 running the Program is not restricted, and the output from the Program | |
1082 is covered only if its contents constitute a work based on the | |
1083 Program (independent of having been made by running the Program). | |
1084 Whether that is true depends on what the Program does. | |
1085 | |
1086 @item | |
1087 You may copy and distribute verbatim copies of the Program's | |
1088 source code as you receive it, in any medium, provided that you | |
1089 conspicuously and appropriately publish on each copy an appropriate | |
1090 copyright notice and disclaimer of warranty; keep intact all the | |
1091 notices that refer to this License and to the absence of any warranty; | |
1092 and give any other recipients of the Program a copy of this License | |
1093 along with the Program. | |
1094 | |
1095 You may charge a fee for the physical act of transferring a copy, and | |
1096 you may at your option offer warranty protection in exchange for a fee. | |
1097 | |
1098 @item | |
1099 You may modify your copy or copies of the Program or any portion | |
1100 of it, thus forming a work based on the Program, and copy and | |
1101 distribute such modifications or work under the terms of Section 1 | |
1102 above, provided that you also meet all of these conditions: | |
1103 | |
1104 @enumerate a | |
1105 @item | |
1106 You must cause the modified files to carry prominent notices | |
1107 stating that you changed the files and the date of any change. | |
1108 | |
1109 @item | |
1110 You must cause any work that you distribute or publish, that in | |
1111 whole or in part contains or is derived from the Program or any | |
1112 part thereof, to be licensed as a whole at no charge to all third | |
1113 parties under the terms of this License. | |
1114 | |
1115 @item | |
1116 If the modified program normally reads commands interactively | |
1117 when run, you must cause it, when started running for such | |
1118 interactive use in the most ordinary way, to print or display an | |
1119 announcement including an appropriate copyright notice and a | |
1120 notice that there is no warranty (or else, saying that you provide | |
1121 a warranty) and that users may redistribute the program under | |
1122 these conditions, and telling the user how to view a copy of this | |
1123 License. (Exception: if the Program itself is interactive but | |
1124 does not normally print such an announcement, your work based on | |
1125 the Program is not required to print an announcement.) | |
1126 @end enumerate | |
1127 | |
1128 These requirements apply to the modified work as a whole. If | |
1129 identifiable sections of that work are not derived from the Program, | |
1130 and can be reasonably considered independent and separate works in | |
1131 themselves, then this License, and its terms, do not apply to those | |
1132 sections when you distribute them as separate works. But when you | |
1133 distribute the same sections as part of a whole which is a work based | |
1134 on the Program, the distribution of the whole must be on the terms of | |
1135 this License, whose permissions for other licensees extend to the | |
1136 entire whole, and thus to each and every part regardless of who wrote it. | |
1137 | |
1138 Thus, it is not the intent of this section to claim rights or contest | |
1139 your rights to work written entirely by you; rather, the intent is to | |
1140 exercise the right to control the distribution of derivative or | |
1141 collective works based on the Program. | |
1142 | |
1143 In addition, mere aggregation of another work not based on the Program | |
1144 with the Program (or with a work based on the Program) on a volume of | |
1145 a storage or distribution medium does not bring the other work under | |
1146 the scope of this License. | |
1147 | |
1148 @item | |
1149 You may copy and distribute the Program (or a work based on it, | |
1150 under Section 2) in object code or executable form under the terms of | |
1151 Sections 1 and 2 above provided that you also do one of the following: | |
1152 | |
1153 @enumerate a | |
1154 @item | |
1155 Accompany it with the complete corresponding machine-readable | |
1156 source code, which must be distributed under the terms of Sections | |
1157 1 and 2 above on a medium customarily used for software interchange; or, | |
1158 | |
1159 @item | |
1160 Accompany it with a written offer, valid for at least three | |
1161 years, to give any third party, for a charge no more than your | |
1162 cost of physically performing source distribution, a complete | |
1163 machine-readable copy of the corresponding source code, to be | |
1164 distributed under the terms of Sections 1 and 2 above on a medium | |
1165 customarily used for software interchange; or, | |
1166 | |
1167 @item | |
1168 Accompany it with the information you received as to the offer | |
1169 to distribute corresponding source code. (This alternative is | |
1170 allowed only for noncommercial distribution and only if you | |
1171 received the program in object code or executable form with such | |
1172 an offer, in accord with Subsection b above.) | |
1173 @end enumerate | |
1174 | |
1175 The source code for a work means the preferred form of the work for | |
1176 making modifications to it. For an executable work, complete source | |
1177 code means all the source code for all modules it contains, plus any | |
1178 associated interface definition files, plus the scripts used to | |
1179 control compilation and installation of the executable. However, as a | |
1180 special exception, the source code distributed need not include | |
1181 anything that is normally distributed (in either source or binary | |
1182 form) with the major components (compiler, kernel, and so on) of the | |
1183 operating system on which the executable runs, unless that component | |
1184 itself accompanies the executable. | |
1185 | |
1186 If distribution of executable or object code is made by offering | |
1187 access to copy from a designated place, then offering equivalent | |
1188 access to copy the source code from the same place counts as | |
1189 distribution of the source code, even though third parties are not | |
1190 compelled to copy the source along with the object code. | |
1191 | |
1192 @item | |
1193 You may not copy, modify, sublicense, or distribute the Program | |
1194 except as expressly provided under this License. Any attempt | |
1195 otherwise to copy, modify, sublicense or distribute the Program is | |
1196 void, and will automatically terminate your rights under this License. | |
1197 However, parties who have received copies, or rights, from you under | |
1198 this License will not have their licenses terminated so long as such | |
1199 parties remain in full compliance. | |
1200 | |
1201 @item | |
1202 You are not required to accept this License, since you have not | |
1203 signed it. However, nothing else grants you permission to modify or | |
1204 distribute the Program or its derivative works. These actions are | |
1205 prohibited by law if you do not accept this License. Therefore, by | |
1206 modifying or distributing the Program (or any work based on the | |
1207 Program), you indicate your acceptance of this License to do so, and | |
1208 all its terms and conditions for copying, distributing or modifying | |
1209 the Program or works based on it. | |
1210 | |
1211 @item | |
1212 Each time you redistribute the Program (or any work based on the | |
1213 Program), the recipient automatically receives a license from the | |
1214 original licensor to copy, distribute or modify the Program subject to | |
1215 these terms and conditions. You may not impose any further | |
1216 restrictions on the recipients' exercise of the rights granted herein. | |
1217 You are not responsible for enforcing compliance by third parties to | |
1218 this License. | |
1219 | |
1220 @item | |
1221 If, as a consequence of a court judgment or allegation of patent | |
1222 infringement or for any other reason (not limited to patent issues), | |
1223 conditions are imposed on you (whether by court order, agreement or | |
1224 otherwise) that contradict the conditions of this License, they do not | |
1225 excuse you from the conditions of this License. If you cannot | |
1226 distribute so as to satisfy simultaneously your obligations under this | |
1227 License and any other pertinent obligations, then as a consequence you | |
1228 may not distribute the Program at all. For example, if a patent | |
1229 license would not permit royalty-free redistribution of the Program by | |
1230 all those who receive copies directly or indirectly through you, then | |
1231 the only way you could satisfy both it and this License would be to | |
1232 refrain entirely from distribution of the Program. | |
1233 | |
1234 If any portion of this section is held invalid or unenforceable under | |
1235 any particular circumstance, the balance of the section is intended to | |
1236 apply and the section as a whole is intended to apply in other | |
1237 circumstances. | |
1238 | |
1239 It is not the purpose of this section to induce you to infringe any | |
1240 patents or other property right claims or to contest validity of any | |
1241 such claims; this section has the sole purpose of protecting the | |
1242 integrity of the free software distribution system, which is | |
1243 implemented by public license practices. Many people have made | |
1244 generous contributions to the wide range of software distributed | |
1245 through that system in reliance on consistent application of that | |
1246 system; it is up to the author/donor to decide if he or she is willing | |
1247 to distribute software through any other system and a licensee cannot | |
1248 impose that choice. | |
1249 | |
1250 This section is intended to make thoroughly clear what is believed to | |
1251 be a consequence of the rest of this License. | |
1252 | |
1253 @item | |
1254 If the distribution and/or use of the Program is restricted in | |
1255 certain countries either by patents or by copyrighted interfaces, the | |
1256 original copyright holder who places the Program under this License | |
1257 may add an explicit geographical distribution limitation excluding | |
1258 those countries, so that distribution is permitted only in or among | |
1259 countries not thus excluded. In such case, this License incorporates | |
1260 the limitation as if written in the body of this License. | |
1261 | |
1262 @item | |
1263 The Free Software Foundation may publish revised and/or new versions | |
1264 of the General Public License from time to time. Such new versions will | |
1265 be similar in spirit to the present version, but may differ in detail to | |
1266 address new problems or concerns. | |
1267 | |
1268 Each version is given a distinguishing version number. If the Program | |
1269 specifies a version number of this License which applies to it and ``any | |
1270 later version,'' you have the option of following the terms and conditions | |
1271 either of that version or of any later version published by the Free | |
1272 Software Foundation. If the Program does not specify a version number of | |
1273 this License, you may choose any version ever published by the Free Software | |
1274 Foundation. | |
1275 | |
1276 @item | |
1277 If you wish to incorporate parts of the Program into other free | |
1278 programs whose distribution conditions are different, write to the author | |
1279 to ask for permission. For software which is copyrighted by the Free | |
1280 Software Foundation, write to the Free Software Foundation; we sometimes | |
1281 make exceptions for this. Our decision will be guided by the two goals | |
1282 of preserving the free status of all derivatives of our free software and | |
1283 of promoting the sharing and reuse of software generally. | |
1284 | |
1285 @iftex | |
1286 @heading NO WARRANTY | |
1287 @end iftex | |
1288 @ifinfo | |
1289 @center NO WARRANTY | |
1290 @end ifinfo | |
1291 | |
1292 @item | |
1293 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |
1294 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW@. EXCEPT WHEN | |
1295 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |
1296 PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |
1297 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
1298 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE@. THE ENTIRE RISK AS | |
1299 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE | |
1300 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |
1301 REPAIR OR CORRECTION. | |
1302 | |
1303 @item | |
1304 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |
1305 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |
1306 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |
1307 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |
1308 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |
1309 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |
1310 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |
1311 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |
1312 POSSIBILITY OF SUCH DAMAGES. | |
1313 @end enumerate | |
1314 | |
1315 @iftex | |
1316 @heading END OF TERMS AND CONDITIONS | |
1317 @end iftex | |
1318 @ifinfo | |
1319 @center END OF TERMS AND CONDITIONS | |
1320 @end ifinfo | |
1321 | |
1322 @page | |
1323 @unnumberedsec How to Apply These Terms to Your New Programs | |
1324 | |
1325 If you develop a new program, and you want it to be of the greatest | |
1326 possible use to the public, the best way to achieve this is to make it | |
1327 free software which everyone can redistribute and change under these terms. | |
1328 | |
1329 To do so, attach the following notices to the program. It is safest | |
1330 to attach them to the start of each source file to most effectively | |
1331 convey the exclusion of warranty; and each file should have at least | |
1332 the ``copyright'' line and a pointer to where the full notice is found. | |
1333 | |
1334 @smallexample | |
1335 @var{one line to give the program's name and an idea of what it does.} | |
1336 Copyright (C) 19@var{yy} @var{name of author} | |
1337 | |
1338 This program is free software; you can redistribute it and/or | |
1339 modify it under the terms of the GNU General Public License | |
1340 as published by the Free Software Foundation; either version 2 | |
1341 of the License, or (at your option) any later version. | |
1342 | |
1343 This program is distributed in the hope that it will be useful, | |
1344 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
1345 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the | |
1346 GNU General Public License for more details. | |
1347 | |
1348 You should have received a copy of the GNU General Public License along | |
1349 with this program; if not, write to the Free Software Foundation, Inc., | |
1350 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. | |
1351 @end smallexample | |
1352 | |
1353 Also add information on how to contact you by electronic and paper mail. | |
1354 | |
1355 If the program is interactive, make it output a short notice like this | |
1356 when it starts in an interactive mode: | |
1357 | |
1358 @smallexample | |
1359 Gnomovision version 69, Copyright (C) 20@var{yy} @var{name of author} | |
1360 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details | |
1361 type `show w'. This is free software, and you are welcome | |
1362 to redistribute it under certain conditions; type `show c' | |
1363 for details. | |
1364 @end smallexample | |
1365 | |
1366 The hypothetical commands @samp{show w} and @samp{show c} should show | |
1367 the appropriate parts of the General Public License. Of course, the | |
1368 commands you use may be called something other than @samp{show w} and | |
1369 @samp{show c}; they could even be mouse-clicks or menu items---whatever | |
1370 suits your program. | |
1371 | |
1372 You should also get your employer (if you work as a programmer) or your | |
1373 school, if any, to sign a ``copyright disclaimer'' for the program, if | |
1374 necessary. Here is a sample; alter the names: | |
1375 | |
1376 @smallexample | |
1377 @group | |
1378 Yoyodyne, Inc., hereby disclaims all copyright | |
1379 interest in the program `Gnomovision' | |
1380 (which makes passes at compilers) written | |
1381 by James Hacker. | |
1382 | |
1383 @var{signature of Ty Coon}, 1 April 1989 | |
1384 Ty Coon, President of Vice | |
1385 @end group | |
1386 @end smallexample | |
1387 | |
1388 This General Public License does not permit incorporating your program into | |
1389 proprietary programs. If your program is a subroutine library, you may | |
1390 consider it more useful to permit linking proprietary applications with the | |
1391 library. If this is what you want to do, use the GNU Library General | |
1392 Public License instead of this License. | |
1393 | |
1394 @include doclicense.texi | |
1395 | |
1396 @node Intro, Glossary, GNU Free Documentation License, Top | |
1397 @unnumbered Introduction | 1100 @unnumbered Introduction |
1398 | 1101 |
1399 You are reading about GNU Emacs, the GNU incarnation of the advanced, | 1102 You are reading about GNU Emacs, the GNU incarnation of the advanced, |
1400 self-documenting, customizable, extensible real-time display editor Emacs. | 1103 self-documenting, customizable, extensible real-time display editor Emacs. |
1401 (The `G' in `GNU' is not silent.) | 1104 (The `G' in `GNU' is not silent.) |
1437 each other, any of which can be redefined in the middle of an editing | 1140 each other, any of which can be redefined in the middle of an editing |
1438 session. Almost any part of Emacs can be replaced without making a | 1141 session. Almost any part of Emacs can be replaced without making a |
1439 separate copy of all of Emacs. Most of the editing commands of Emacs | 1142 separate copy of all of Emacs. Most of the editing commands of Emacs |
1440 are written in Lisp; the few exceptions could have been written | 1143 are written in Lisp; the few exceptions could have been written |
1441 in Lisp but are written in C for efficiency. Although only a programmer | 1144 in Lisp but are written in C for efficiency. Although only a programmer |
1442 can write an extension, anybody can use it afterward. If you want to | 1145 can write an extension, anybody can use it afterward. @xref{Top, |
1443 learn Emacs Lisp programming, we recommend the @cite{Introduction to | 1146 Emacs Lisp Intro, Preface, eintr, An Introduction to Programming in |
1444 Emacs Lisp} by Robert J. Chassell, also published by the Free Software | 1147 Emacs Lisp}, if you want to learn Emacs Lisp programming. |
1445 Foundation. | |
1446 | 1148 |
1447 When run under the X Window System, Emacs provides its own menus and | 1149 When run under the X Window System, Emacs provides its own menus and |
1448 convenient bindings to mouse buttons. But Emacs can provide many of the | 1150 convenient bindings to mouse buttons. But Emacs can provide many of the |
1449 benefits of a window system on a text-only terminal. For instance, you | 1151 benefits of a window system on a text-only terminal. For instance, you |
1450 can look at or edit several files at once, move text between files, and | 1152 can look at or edit several files at once, move text between files, and |
1461 @include killing.texi | 1163 @include killing.texi |
1462 @include regs.texi | 1164 @include regs.texi |
1463 @include display.texi | 1165 @include display.texi |
1464 @include search.texi | 1166 @include search.texi |
1465 @include fixit.texi | 1167 @include fixit.texi |
1168 @include kmacro.texi | |
1466 @include files.texi | 1169 @include files.texi |
1467 @include buffers.texi | 1170 @include buffers.texi |
1468 @include windows.texi | 1171 @include windows.texi |
1469 @include frames.texi | 1172 @include frames.texi |
1470 @include mule.texi | 1173 @include mule.texi |
1481 @include dired.texi | 1184 @include dired.texi |
1482 @include calendar.texi | 1185 @include calendar.texi |
1483 @include misc.texi | 1186 @include misc.texi |
1484 @include custom.texi | 1187 @include custom.texi |
1485 @include trouble.texi | 1188 @include trouble.texi |
1189 | |
1190 @node Copying, GNU Free Documentation License, Service, Top | |
1191 @appendix GNU GENERAL PUBLIC LICENSE | |
1192 @center Version 2, June 1991 | |
1193 | |
1194 @display | |
1195 Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. | |
1196 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA | |
1197 | |
1198 Everyone is permitted to copy and distribute verbatim copies | |
1199 of this license document, but changing it is not allowed. | |
1200 @end display | |
1201 | |
1202 @unnumberedsec Preamble | |
1203 | |
1204 The licenses for most software are designed to take away your | |
1205 freedom to share and change it. By contrast, the GNU General Public | |
1206 License is intended to guarantee your freedom to share and change free | |
1207 software---to make sure the software is free for all its users. This | |
1208 General Public License applies to most of the Free Software | |
1209 Foundation's software and to any other program whose authors commit to | |
1210 using it. (Some other Free Software Foundation software is covered by | |
1211 the GNU Library General Public License instead.) You can apply it to | |
1212 your programs, too. | |
1213 | |
1214 When we speak of free software, we are referring to freedom, not | |
1215 price. Our General Public Licenses are designed to make sure that you | |
1216 have the freedom to distribute copies of free software (and charge for | |
1217 this service if you wish), that you receive source code or can get it | |
1218 if you want it, that you can change the software or use pieces of it | |
1219 in new free programs; and that you know you can do these things. | |
1220 | |
1221 To protect your rights, we need to make restrictions that forbid | |
1222 anyone to deny you these rights or to ask you to surrender the rights. | |
1223 These restrictions translate to certain responsibilities for you if you | |
1224 distribute copies of the software, or if you modify it. | |
1225 | |
1226 For example, if you distribute copies of such a program, whether | |
1227 gratis or for a fee, you must give the recipients all the rights that | |
1228 you have. You must make sure that they, too, receive or can get the | |
1229 source code. And you must show them these terms so they know their | |
1230 rights. | |
1231 | |
1232 We protect your rights with two steps: (1) copyright the software, and | |
1233 (2) offer you this license which gives you legal permission to copy, | |
1234 distribute and/or modify the software. | |
1235 | |
1236 Also, for each author's protection and ours, we want to make certain | |
1237 that everyone understands that there is no warranty for this free | |
1238 software. If the software is modified by someone else and passed on, we | |
1239 want its recipients to know that what they have is not the original, so | |
1240 that any problems introduced by others will not reflect on the original | |
1241 authors' reputations. | |
1242 | |
1243 Finally, any free program is threatened constantly by software | |
1244 patents. We wish to avoid the danger that redistributors of a free | |
1245 program will individually obtain patent licenses, in effect making the | |
1246 program proprietary. To prevent this, we have made it clear that any | |
1247 patent must be licensed for everyone's free use or not licensed at all. | |
1248 | |
1249 The precise terms and conditions for copying, distribution and | |
1250 modification follow. | |
1251 | |
1252 @iftex | |
1253 @unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1254 @end iftex | |
1255 @ifinfo | |
1256 @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
1257 @end ifinfo | |
1258 | |
1259 @enumerate 0 | |
1260 @item | |
1261 This License applies to any program or other work which contains | |
1262 a notice placed by the copyright holder saying it may be distributed | |
1263 under the terms of this General Public License. The ``Program,'' below, | |
1264 refers to any such program or work, and a ``work based on the Program'' | |
1265 means either the Program or any derivative work under copyright law: | |
1266 that is to say, a work containing the Program or a portion of it, | |
1267 either verbatim or with modifications and/or translated into another | |
1268 language. (Hereinafter, translation is included without limitation in | |
1269 the term ``modification.'') Each licensee is addressed as ``you.'' | |
1270 | |
1271 Activities other than copying, distribution and modification are not | |
1272 covered by this License; they are outside its scope. The act of | |
1273 running the Program is not restricted, and the output from the Program | |
1274 is covered only if its contents constitute a work based on the | |
1275 Program (independent of having been made by running the Program). | |
1276 Whether that is true depends on what the Program does. | |
1277 | |
1278 @item | |
1279 You may copy and distribute verbatim copies of the Program's | |
1280 source code as you receive it, in any medium, provided that you | |
1281 conspicuously and appropriately publish on each copy an appropriate | |
1282 copyright notice and disclaimer of warranty; keep intact all the | |
1283 notices that refer to this License and to the absence of any warranty; | |
1284 and give any other recipients of the Program a copy of this License | |
1285 along with the Program. | |
1286 | |
1287 You may charge a fee for the physical act of transferring a copy, and | |
1288 you may at your option offer warranty protection in exchange for a fee. | |
1289 | |
1290 @item | |
1291 You may modify your copy or copies of the Program or any portion | |
1292 of it, thus forming a work based on the Program, and copy and | |
1293 distribute such modifications or work under the terms of Section 1 | |
1294 above, provided that you also meet all of these conditions: | |
1295 | |
1296 @enumerate a | |
1297 @item | |
1298 You must cause the modified files to carry prominent notices | |
1299 stating that you changed the files and the date of any change. | |
1300 | |
1301 @item | |
1302 You must cause any work that you distribute or publish, that in | |
1303 whole or in part contains or is derived from the Program or any | |
1304 part thereof, to be licensed as a whole at no charge to all third | |
1305 parties under the terms of this License. | |
1306 | |
1307 @item | |
1308 If the modified program normally reads commands interactively | |
1309 when run, you must cause it, when started running for such | |
1310 interactive use in the most ordinary way, to print or display an | |
1311 announcement including an appropriate copyright notice and a | |
1312 notice that there is no warranty (or else, saying that you provide | |
1313 a warranty) and that users may redistribute the program under | |
1314 these conditions, and telling the user how to view a copy of this | |
1315 License. (Exception: if the Program itself is interactive but | |
1316 does not normally print such an announcement, your work based on | |
1317 the Program is not required to print an announcement.) | |
1318 @end enumerate | |
1319 | |
1320 These requirements apply to the modified work as a whole. If | |
1321 identifiable sections of that work are not derived from the Program, | |
1322 and can be reasonably considered independent and separate works in | |
1323 themselves, then this License, and its terms, do not apply to those | |
1324 sections when you distribute them as separate works. But when you | |
1325 distribute the same sections as part of a whole which is a work based | |
1326 on the Program, the distribution of the whole must be on the terms of | |
1327 this License, whose permissions for other licensees extend to the | |
1328 entire whole, and thus to each and every part regardless of who wrote it. | |
1329 | |
1330 Thus, it is not the intent of this section to claim rights or contest | |
1331 your rights to work written entirely by you; rather, the intent is to | |
1332 exercise the right to control the distribution of derivative or | |
1333 collective works based on the Program. | |
1334 | |
1335 In addition, mere aggregation of another work not based on the Program | |
1336 with the Program (or with a work based on the Program) on a volume of | |
1337 a storage or distribution medium does not bring the other work under | |
1338 the scope of this License. | |
1339 | |
1340 @item | |
1341 You may copy and distribute the Program (or a work based on it, | |
1342 under Section 2) in object code or executable form under the terms of | |
1343 Sections 1 and 2 above provided that you also do one of the following: | |
1344 | |
1345 @enumerate a | |
1346 @item | |
1347 Accompany it with the complete corresponding machine-readable | |
1348 source code, which must be distributed under the terms of Sections | |
1349 1 and 2 above on a medium customarily used for software interchange; or, | |
1350 | |
1351 @item | |
1352 Accompany it with a written offer, valid for at least three | |
1353 years, to give any third party, for a charge no more than your | |
1354 cost of physically performing source distribution, a complete | |
1355 machine-readable copy of the corresponding source code, to be | |
1356 distributed under the terms of Sections 1 and 2 above on a medium | |
1357 customarily used for software interchange; or, | |
1358 | |
1359 @item | |
1360 Accompany it with the information you received as to the offer | |
1361 to distribute corresponding source code. (This alternative is | |
1362 allowed only for noncommercial distribution and only if you | |
1363 received the program in object code or executable form with such | |
1364 an offer, in accord with Subsection b above.) | |
1365 @end enumerate | |
1366 | |
1367 The source code for a work means the preferred form of the work for | |
1368 making modifications to it. For an executable work, complete source | |
1369 code means all the source code for all modules it contains, plus any | |
1370 associated interface definition files, plus the scripts used to | |
1371 control compilation and installation of the executable. However, as a | |
1372 special exception, the source code distributed need not include | |
1373 anything that is normally distributed (in either source or binary | |
1374 form) with the major components (compiler, kernel, and so on) of the | |
1375 operating system on which the executable runs, unless that component | |
1376 itself accompanies the executable. | |
1377 | |
1378 If distribution of executable or object code is made by offering | |
1379 access to copy from a designated place, then offering equivalent | |
1380 access to copy the source code from the same place counts as | |
1381 distribution of the source code, even though third parties are not | |
1382 compelled to copy the source along with the object code. | |
1383 | |
1384 @item | |
1385 You may not copy, modify, sublicense, or distribute the Program | |
1386 except as expressly provided under this License. Any attempt | |
1387 otherwise to copy, modify, sublicense or distribute the Program is | |
1388 void, and will automatically terminate your rights under this License. | |
1389 However, parties who have received copies, or rights, from you under | |
1390 this License will not have their licenses terminated so long as such | |
1391 parties remain in full compliance. | |
1392 | |
1393 @item | |
1394 You are not required to accept this License, since you have not | |
1395 signed it. However, nothing else grants you permission to modify or | |
1396 distribute the Program or its derivative works. These actions are | |
1397 prohibited by law if you do not accept this License. Therefore, by | |
1398 modifying or distributing the Program (or any work based on the | |
1399 Program), you indicate your acceptance of this License to do so, and | |
1400 all its terms and conditions for copying, distributing or modifying | |
1401 the Program or works based on it. | |
1402 | |
1403 @item | |
1404 Each time you redistribute the Program (or any work based on the | |
1405 Program), the recipient automatically receives a license from the | |
1406 original licensor to copy, distribute or modify the Program subject to | |
1407 these terms and conditions. You may not impose any further | |
1408 restrictions on the recipients' exercise of the rights granted herein. | |
1409 You are not responsible for enforcing compliance by third parties to | |
1410 this License. | |
1411 | |
1412 @item | |
1413 If, as a consequence of a court judgment or allegation of patent | |
1414 infringement or for any other reason (not limited to patent issues), | |
1415 conditions are imposed on you (whether by court order, agreement or | |
1416 otherwise) that contradict the conditions of this License, they do not | |
1417 excuse you from the conditions of this License. If you cannot | |
1418 distribute so as to satisfy simultaneously your obligations under this | |
1419 License and any other pertinent obligations, then as a consequence you | |
1420 may not distribute the Program at all. For example, if a patent | |
1421 license would not permit royalty-free redistribution of the Program by | |
1422 all those who receive copies directly or indirectly through you, then | |
1423 the only way you could satisfy both it and this License would be to | |
1424 refrain entirely from distribution of the Program. | |
1425 | |
1426 If any portion of this section is held invalid or unenforceable under | |
1427 any particular circumstance, the balance of the section is intended to | |
1428 apply and the section as a whole is intended to apply in other | |
1429 circumstances. | |
1430 | |
1431 It is not the purpose of this section to induce you to infringe any | |
1432 patents or other property right claims or to contest validity of any | |
1433 such claims; this section has the sole purpose of protecting the | |
1434 integrity of the free software distribution system, which is | |
1435 implemented by public license practices. Many people have made | |
1436 generous contributions to the wide range of software distributed | |
1437 through that system in reliance on consistent application of that | |
1438 system; it is up to the author/donor to decide if he or she is willing | |
1439 to distribute software through any other system and a licensee cannot | |
1440 impose that choice. | |
1441 | |
1442 This section is intended to make thoroughly clear what is believed to | |
1443 be a consequence of the rest of this License. | |
1444 | |
1445 @item | |
1446 If the distribution and/or use of the Program is restricted in | |
1447 certain countries either by patents or by copyrighted interfaces, the | |
1448 original copyright holder who places the Program under this License | |
1449 may add an explicit geographical distribution limitation excluding | |
1450 those countries, so that distribution is permitted only in or among | |
1451 countries not thus excluded. In such case, this License incorporates | |
1452 the limitation as if written in the body of this License. | |
1453 | |
1454 @item | |
1455 The Free Software Foundation may publish revised and/or new versions | |
1456 of the General Public License from time to time. Such new versions will | |
1457 be similar in spirit to the present version, but may differ in detail to | |
1458 address new problems or concerns. | |
1459 | |
1460 Each version is given a distinguishing version number. If the Program | |
1461 specifies a version number of this License which applies to it and ``any | |
1462 later version,'' you have the option of following the terms and conditions | |
1463 either of that version or of any later version published by the Free | |
1464 Software Foundation. If the Program does not specify a version number of | |
1465 this License, you may choose any version ever published by the Free Software | |
1466 Foundation. | |
1467 | |
1468 @item | |
1469 If you wish to incorporate parts of the Program into other free | |
1470 programs whose distribution conditions are different, write to the author | |
1471 to ask for permission. For software which is copyrighted by the Free | |
1472 Software Foundation, write to the Free Software Foundation; we sometimes | |
1473 make exceptions for this. Our decision will be guided by the two goals | |
1474 of preserving the free status of all derivatives of our free software and | |
1475 of promoting the sharing and reuse of software generally. | |
1476 | |
1477 @iftex | |
1478 @heading NO WARRANTY | |
1479 @end iftex | |
1480 @ifinfo | |
1481 @center NO WARRANTY | |
1482 @end ifinfo | |
1483 | |
1484 @item | |
1485 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |
1486 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW@. EXCEPT WHEN | |
1487 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |
1488 PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |
1489 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
1490 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE@. THE ENTIRE RISK AS | |
1491 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE | |
1492 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |
1493 REPAIR OR CORRECTION. | |
1494 | |
1495 @item | |
1496 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |
1497 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |
1498 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |
1499 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |
1500 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |
1501 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |
1502 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |
1503 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |
1504 POSSIBILITY OF SUCH DAMAGES. | |
1505 @end enumerate | |
1506 | |
1507 @iftex | |
1508 @heading END OF TERMS AND CONDITIONS | |
1509 @end iftex | |
1510 @ifinfo | |
1511 @center END OF TERMS AND CONDITIONS | |
1512 @end ifinfo | |
1513 | |
1514 @page | |
1515 @unnumberedsec How to Apply These Terms to Your New Programs | |
1516 | |
1517 If you develop a new program, and you want it to be of the greatest | |
1518 possible use to the public, the best way to achieve this is to make it | |
1519 free software which everyone can redistribute and change under these terms. | |
1520 | |
1521 To do so, attach the following notices to the program. It is safest | |
1522 to attach them to the start of each source file to most effectively | |
1523 convey the exclusion of warranty; and each file should have at least | |
1524 the ``copyright'' line and a pointer to where the full notice is found. | |
1525 | |
1526 @smallexample | |
1527 @var{one line to give the program's name and an idea of what it does.} | |
1528 Copyright (C) 19@var{yy} @var{name of author} | |
1529 | |
1530 This program is free software; you can redistribute it and/or | |
1531 modify it under the terms of the GNU General Public License | |
1532 as published by the Free Software Foundation; either version 2 | |
1533 of the License, or (at your option) any later version. | |
1534 | |
1535 This program is distributed in the hope that it will be useful, | |
1536 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
1537 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the | |
1538 GNU General Public License for more details. | |
1539 | |
1540 You should have received a copy of the GNU General Public License along | |
1541 with this program; if not, write to the Free Software Foundation, Inc., | |
1542 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
1543 @end smallexample | |
1544 | |
1545 Also add information on how to contact you by electronic and paper mail. | |
1546 | |
1547 If the program is interactive, make it output a short notice like this | |
1548 when it starts in an interactive mode: | |
1549 | |
1550 @smallexample | |
1551 Gnomovision version 69, Copyright (C) 20@var{yy} @var{name of author} | |
1552 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details | |
1553 type `show w'. This is free software, and you are welcome | |
1554 to redistribute it under certain conditions; type `show c' | |
1555 for details. | |
1556 @end smallexample | |
1557 | |
1558 The hypothetical commands @samp{show w} and @samp{show c} should show | |
1559 the appropriate parts of the General Public License. Of course, the | |
1560 commands you use may be called something other than @samp{show w} and | |
1561 @samp{show c}; they could even be mouse-clicks or menu items---whatever | |
1562 suits your program. | |
1563 | |
1564 You should also get your employer (if you work as a programmer) or your | |
1565 school, if any, to sign a ``copyright disclaimer'' for the program, if | |
1566 necessary. Here is a sample; alter the names: | |
1567 | |
1568 @smallexample | |
1569 @group | |
1570 Yoyodyne, Inc., hereby disclaims all copyright | |
1571 interest in the program `Gnomovision' | |
1572 (which makes passes at compilers) written | |
1573 by James Hacker. | |
1574 | |
1575 @var{signature of Ty Coon}, 1 April 1989 | |
1576 Ty Coon, President of Vice | |
1577 @end group | |
1578 @end smallexample | |
1579 | |
1580 This General Public License does not permit incorporating your program into | |
1581 proprietary programs. If your program is a subroutine library, you may | |
1582 consider it more useful to permit linking proprietary applications with the | |
1583 library. If this is what you want to do, use the GNU Library General | |
1584 Public License instead of this License. | |
1585 | |
1586 @include doclicense.texi | |
1486 @include cmdargs.texi | 1587 @include cmdargs.texi |
1487 @include xresources.texi | 1588 @include xresources.texi |
1488 | 1589 |
1489 @include anti.texi | 1590 @include anti.texi |
1490 @include macos.texi | 1591 @include macos.texi |
1491 @include msdog.texi | 1592 @include msdog.texi |
1492 @include gnu.texi | 1593 @include gnu.texi |
1493 @include glossary.texi | 1594 @include glossary.texi |
1494 @ifinfo | 1595 @ifnottex |
1495 @include ack.texi | 1596 @include ack.texi |
1496 @end ifinfo | 1597 @end ifnottex |
1497 | 1598 |
1498 @c The Option Index is produced only in the on-line version, | 1599 @c The Option Index is produced only in the on-line version, |
1499 @c because the index entries related to command-line options | 1600 @c because the index entries related to command-line options |
1500 @c tend to point to the same pages and all begin with a dash. | 1601 @c tend to point to the same pages and all begin with a dash. |
1501 @c This, and the need to keep the node links consistent, are | 1602 @c This, and the need to keep the node links consistent, are |
1540 | 1641 |
1541 @summarycontents | 1642 @summarycontents |
1542 @contents | 1643 @contents |
1543 @bye | 1644 @bye |
1544 | 1645 |
1646 @ignore | |
1647 arch-tag: ed48740a-410b-46ea-9387-c9a9252a3392 | |
1648 @end ignore |