This commit was generated by cvs2svn to compensate for changes in r5670,
[chise/xemacs-chise.git.1] / info / xemacs.info-18
1 This is Info file ../../info/xemacs.info, produced by Makeinfo version
2 1.68 from the input file xemacs.texi.
3
4 INFO-DIR-SECTION XEmacs Editor
5 START-INFO-DIR-ENTRY
6 * XEmacs: (xemacs).             XEmacs Editor.
7 END-INFO-DIR-ENTRY
8
9    This file documents the XEmacs editor.
10
11    Copyright (C) 1985, 1986, 1988 Richard M. Stallman.  Copyright (C)
12 1991, 1992, 1993, 1994 Lucid, Inc.  Copyright (C) 1993, 1994 Sun
13 Microsystems, Inc.  Copyright (C) 1995 Amdahl Corporation.
14
15    Permission is granted to make and distribute verbatim copies of this
16 manual provided the copyright notice and this permission notice are
17 preserved on all copies.
18
19    Permission is granted to copy and distribute modified versions of
20 this manual under the conditions for verbatim copying, provided also
21 that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
22 General Public License" are included exactly as in the original, and
23 provided that the entire resulting derived work is distributed under the
24 terms of a permission notice identical to this one.
25
26    Permission is granted to copy and distribute translations of this
27 manual into another language, under the above conditions for modified
28 versions, except that the sections entitled "The GNU Manifesto",
29 "Distribution" and "GNU General Public License" may be included in a
30 translation approved by the author instead of in the original English.
31
32 \1f
33 File: xemacs.info,  Node: Bugs,  Prev: Lossage,  Up: Top
34
35 Reporting Bugs
36 ==============
37
38    Sometimes you will encounter a bug in Emacs.  Although we cannot
39 promise we can or will fix the bug, and we might not even agree that it
40 is a bug, we want to hear about bugs you encounter in case we do want
41 to fix them.
42
43    To make it possible for us to fix a bug, you must report it.  In
44 order to do so effectively, you must know when and how to do it.
45
46 When Is There a Bug
47 -------------------
48
49    If Emacs executes an illegal instruction, or dies with an operating
50 system error message that indicates a problem in the program (as
51 opposed to something like "disk full"), then it is certainly a bug.
52
53    If Emacs updates the display in a way that does not correspond to
54 what is in the buffer, then it is certainly a bug.  If a command seems
55 to do the wrong thing but the problem corrects itself if you type
56 `C-l', it is a case of incorrect display updating.
57
58    Taking forever to complete a command can be a bug, but you must make
59 certain that it was really Emacs's fault.  Some commands simply take a
60 long time.  Type `C-g' and then `C-h l' to see whether the input Emacs
61 received was what you intended to type; if the input was such that you
62 KNOW it should have been processed quickly, report a bug.  If you don't
63 know whether the command should take a long time, find out by looking
64 in the manual or by asking for assistance.
65
66    If a command you are familiar with causes an Emacs error message in a
67 case where its usual definition ought to be reasonable, it is probably a
68 bug.
69
70    If a command does the wrong thing, that is a bug.  But be sure you
71 know for certain what it ought to have done.  If you aren't familiar
72 with the command, or don't know for certain how the command is supposed
73 to work, then it might actually be working right.  Rather than jumping
74 to conclusions, show the problem to someone who knows for certain.
75
76    Finally, a command's intended definition may not be best for editing
77 with.  This is a very important sort of problem, but it is also a
78 matter of judgment.  Also, it is easy to come to such a conclusion out
79 of ignorance of some of the existing features.  It is probably best not
80 to complain about such a problem until you have checked the
81 documentation in the usual ways, feel confident that you understand it,
82 and know for certain that what you want is not available.  If you are
83 not sure what the command is supposed to do after a careful reading of
84 the manual, check the index and glossary for any terms that may be
85 unclear.  If you still do not understand, this indicates a bug in the
86 manual.  The manual's job is to make everything clear.  It is just as
87 important to report documentation bugs as program bugs.
88
89    If the online documentation string of a function or variable
90 disagrees with the manual, one of them must be wrong, so report the bug.
91
92 How to Report a Bug
93 -------------------
94
95    When you decide that there is a bug, it is important to report it
96 and to report it in a way which is useful.  What is most useful is an
97 exact description of what commands you type, starting with the shell
98 command to run Emacs, until the problem happens.  Always include the
99 version number of Emacs that you are using; type `M-x emacs-version' to
100 print this.
101
102    The most important principle in reporting a bug is to report FACTS,
103 not hypotheses or categorizations.  It is always easier to report the
104 facts, but people seem to prefer to strain to posit explanations and
105 report them instead.  If the explanations are based on guesses about
106 how Emacs is implemented, they will be useless; we will have to try to
107 figure out what the facts must have been to lead to such speculations.
108 Sometimes this is impossible.  But in any case, it is unnecessary work
109 for us.
110
111    For example, suppose that you type `C-x C-f /glorp/baz.ugh <RET>',
112 visiting a file which (you know) happens to be rather large, and Emacs
113 prints out `I feel pretty today'.  The best way to report the bug is
114 with a sentence like the preceding one, because it gives all the facts
115 and nothing but the facts.
116
117    Do not assume that the problem is due to the size of the file and
118 say, "When I visit a large file, Emacs prints out `I feel pretty
119 today'."  This is what we mean by "guessing explanations".  The problem
120 is just as likely to be due to the fact that there is a `z' in the file
121 name.  If this is so, then when we got your report, we would try out
122 the problem with some "large file", probably with no `z' in its name,
123 and not find anything wrong.  There is no way in the world that we
124 could guess that we should try visiting a file with a `z' in its name.
125
126    Alternatively, the problem might be due to the fact that the file
127 starts with exactly 25 spaces.  For this reason, you should make sure
128 that you inform us of the exact contents of any file that is needed to
129 reproduce the bug.  What if the problem only occurs when you have typed
130 the `C-x a l' command previously?  This is why we ask you to give the
131 exact sequence of characters you typed since starting to use Emacs.
132
133    You should not even say "visit a file" instead of `C-x C-f' unless
134 you know that it makes no difference which visiting command is used.
135 Similarly, rather than saying "if I have three characters on the line,"
136 say "after I type `<RET> A B C <RET> C-p'," if that is the way you
137 entered the text.
138
139    If you are not in Fundamental mode when the problem occurs, you
140 should say what mode you are in.
141
142    If the manifestation of the bug is an Emacs error message, it is
143 important to report not just the text of the error message but a
144 backtrace showing how the Lisp program in Emacs arrived at the error.
145 To make the backtrace, you must execute the Lisp expression `(setq
146 debug-on-error t)' before the error happens (that is to say, you must
147 execute that expression and then make the bug happen).  This causes the
148 Lisp debugger to run (*note Lisp Debug::.).  The debugger's backtrace
149 can be copied as text into the bug report.  This use of the debugger is
150 possible only if you know how to make the bug happen again.  Do note
151 the error message the first time the bug happens, so if you can't make
152 it happen again, you can report at least that.
153
154    Check whether any programs you have loaded into the Lisp world,
155 including your `.emacs' file, set any variables that may affect the
156 functioning of Emacs.  Also, see whether the problem happens in a
157 freshly started Emacs without loading your `.emacs' file (start Emacs
158 with the `-q' switch to prevent loading the init file).  If the problem
159 does NOT occur then, it is essential that we know the contents of any
160 programs that you must load into the Lisp world in order to cause the
161 problem to occur.
162
163    If the problem does depend on an init file or other Lisp programs
164 that are not part of the standard Emacs system, then you should make
165 sure it is not a bug in those programs by complaining to their
166 maintainers first.  After they verify that they are using Emacs in a
167 way that is supposed to work, they should report the bug.
168
169    If you can tell us a way to cause the problem without visiting any
170 files, please do so.  This makes it much easier to debug.  If you do
171 need files, make sure you arrange for us to see their exact contents.
172 For example, it can often matter whether there are spaces at the ends
173 of lines, or a newline after the last line in the buffer (nothing ought
174 to care whether the last line is terminated, but tell that to the bugs).
175
176    The easy way to record the input to Emacs precisely is to write a
177 dribble file; execute the Lisp expression:
178
179      (open-dribble-file "~/dribble")
180
181 using `Meta-<ESC>' or from the `*scratch*' buffer just after starting
182 Emacs.  From then on, all Emacs input will be written in the specified
183 dribble file until the Emacs process is killed.
184
185    For possible display bugs, it is important to report the terminal
186 type (the value of environment variable `TERM'), the complete termcap
187 entry for the terminal from `/etc/termcap' (since that file is not
188 identical on all machines), and the output that Emacs actually sent to
189 the terminal.  The way to collect this output is to execute the Lisp
190 expression:
191
192      (open-termscript "~/termscript")
193
194 using `Meta-<ESC>' or from the `*scratch*' buffer just after starting
195 Emacs.  From then on, all output from Emacs to the terminal will be
196 written in the specified termscript file as well, until the Emacs
197 process is killed.  If the problem happens when Emacs starts up, put
198 this expression into your `.emacs' file so that the termscript file will
199 be open when Emacs displays the screen for the first time.  Be warned:
200 it is often difficult, and sometimes impossible, to fix a
201 terminal-dependent bug without access to a terminal of the type that
202 stimulates the bug.
203
204    The newsgroup `comp.emacs.xemacs' may be used for bug reports, other
205 discussions and requests for assistance.
206
207    If you don't have access to this newgroup, you can subscribe to the
208 mailing list version: the newsgroup is bidirectionally gatewayed into
209 the mailing list `xemacs@xemacs.org'.
210
211    To be added or removed from this mailing list, send mail to
212 `xemacs-request@xemacs.org'.  Do not send requests for addition to the
213 mailing list itself.
214
215    The mailing lists and newsgroups are archived on our anonymous FTP
216 server, `ftp.xemacs.org', and at various other archive sites around the
217 net. You should also check the `FAQ' in `/pub/xemacs' on our anonymous
218 FTP server. It provides some introductory information and help for
219 initial configuration problems.
220
221 \1f
222 File: xemacs.info,  Node: Glossary,  Next: Manifesto,  Prev: Intro,  Up: Top
223
224 Glossary
225 ********
226
227 Abbrev
228      An abbrev is a text string which expands into a different text
229      string when present in the buffer.  For example, you might define
230      a short word as an abbrev for a long phrase that you want to insert
231      frequently.  *Note Abbrevs::.
232
233 Aborting
234      Aborting means getting out of a recursive edit (q.v.).  You can use
235      the commands `C-]' and `M-x top-level' for this.  *Note Quitting::.
236
237 Auto Fill mode
238      Auto Fill mode is a minor mode in which text you insert is
239      automatically broken into lines of fixed width.  *Note Filling::.
240
241 Auto Saving
242      Auto saving means that Emacs automatically stores the contents of
243      an Emacs buffer in a specially-named file so the information will
244      not be lost if the buffer is lost due to a system error or user
245      error.  *Note Auto Save::.
246
247 Backup File
248      A backup file records the contents that a file had before the
249      current editing session.  Emacs creates backup files automatically
250      to help you track down or cancel changes you later regret.  *Note
251      Backup::.
252
253 Balance Parentheses
254      Emacs can balance parentheses manually or automatically.  Manual
255      balancing is done by the commands to move over balanced expressions
256      (*note Lists::.).  Automatic balancing is done by blinking the
257      parenthesis that matches one just inserted (*note Matching Parens:
258      Matching.).
259
260 Bind
261      To bind a key is to change its binding (q.v.).  *Note Rebinding::.
262
263 Binding
264      A key gets its meaning in Emacs by having a binding which is a
265      command (q.v.), a Lisp function that is run when the key is typed.
266      *Note Binding: Commands.  Customization often involves rebinding a
267      character to a different command function.  The bindings of all
268      keys are recorded in the keymaps (q.v.).  *Note Keymaps::.
269
270 Blank Lines
271      Blank lines are lines that contain only whitespace.  Emacs has
272      several commands for operating on the blank lines in a buffer.
273
274 Buffer
275      The buffer is the basic editing unit; one buffer corresponds to one
276      piece of text being edited.  You can have several buffers, but at
277      any time you are editing only one, the `selected' buffer, though
278      several buffers can be visible when you are using multiple
279      windows.  *Note Buffers::.
280
281 Buffer Selection History
282      Emacs keeps a buffer selection history which records how recently
283      each Emacs buffer was selected.  Emacs uses this list when
284      choosing a buffer to select.  *Note Buffers::.
285
286 C-
287      `C' in the name of a character is an abbreviation for Control.
288      *Note C-: Keystrokes.
289
290 C-M-
291      `C-M-' in the name of a character is an abbreviation for
292      Control-Meta.  *Note C-M-: Keystrokes.
293
294 Case Conversion
295      Case conversion means changing text from upper case to lower case
296      or vice versa.  *Note Case::, for the commands for case conversion.
297
298 Characters
299      Characters form the contents of an Emacs buffer; also, Emacs
300      commands are invoked by keys (q.v.), which are sequences of one or
301      more characters.  *Note Keystrokes::.
302
303 Command
304      A command is a Lisp function specially defined to be able to serve
305      as a key binding in Emacs.  When you type a key (q.v.), Emacs
306      looks up its binding (q.v.) in the relevant keymaps (q.v.) to find
307      the command to run.  *Note Commands::.
308
309 Command Name
310      A command name is the name of a Lisp symbol which is a command
311      (*note Commands::.).  You can invoke any command by its name using
312      `M-x' (*note M-x::.).
313
314 Comments
315      A comment is text in a program which is intended only for the
316      people reading the program, and is marked specially so that it
317      will be ignored when the program is loaded or compiled.  Emacs
318      offers special commands for creating, aligning, and killing
319      comments.  *Note Comments::.
320
321 Compilation
322      Compilation is the process of creating an executable program from
323      source code.  Emacs has commands for compiling files of Emacs Lisp
324      code (*note Lisp Libraries::.) and programs in C and other
325      languages (*note Compilation::.).
326
327 Complete Key
328      A complete key is a character or sequence of characters which,
329      when typed by the user, fully specifies one action to be performed
330      by Emacs.  For example, `X' and `Control-f' and `Control-x m' are
331      keys.  Keys derive their meanings from being bound (q.v.) to
332      commands (q.v.).  Thus, `X' is conventionally bound to a command
333      to insert `X' in the buffer; `C-x m' is conventionally bound to a
334      command to begin composing a mail message. *Note Keystrokes::.
335
336 Completion
337      When Emacs automatically fills an abbreviation for a name into the
338      entire name, that process is called completion.  Completion is
339      done for minibuffer (q.v.) arguments when the set of possible
340      valid inputs is known; for example, on command names, buffer
341      names, and file names.  Completion occurs when you type <TAB>,
342      <SPC>, or <RET>.  *Note Completion::.
343
344 Continuation Line
345      When a line of text is longer than the width of the frame, it
346      takes up more than one screen line when displayed.  We say that the
347      text line is continued, and all screen lines used for it after the
348      first are called continuation lines.  *Note Continuation: Basic.
349
350 Control-Character
351      ASCII characters with octal codes 0 through 037, and also code
352      0177, do not have graphic images assigned to them.  These are the
353      control characters.  Any control character can be typed by holding
354      down the <CTRL> key and typing some other character; some have
355      special keys on the keyboard.  <RET>, <TAB>, <ESC>, <LFD>, and
356      <DEL> are all control characters.  *Note Keystrokes::.
357
358 Copyleft
359      A copyleft is a notice giving the public legal permission to
360      redistribute a program or other work of art.  Copylefts are used
361      by leftists to enrich the public just as copyrights are used by
362      rightists to gain power over the public.
363
364 Current Buffer
365      The current buffer in Emacs is the Emacs buffer on which most
366      editing commands operate.  You can select any Emacs buffer as the
367      current one.  *Note Buffers::.
368
369 Current Line
370      The line point is on (*note Point::.).
371
372 Current Paragraph
373      The paragraph that point is in.  If point is between paragraphs,
374      the current paragraph is the one that follows point.  *Note
375      Paragraphs::.
376
377 Current Defun
378      The defun (q.v.) that point is in.  If point is between defuns, the
379      current defun is the one that follows point.  *Note Defuns::.
380
381 Cursor
382      The cursor is the rectangle on the screen which indicates the
383      position called point (q.v.) at which insertion and deletion takes
384      place.  The cursor is on or under the character that follows
385      point.  Often people speak of `the cursor' when, strictly
386      speaking, they mean `point'.  *Note Cursor: Basic.
387
388 Customization
389      Customization is making minor changes in the way Emacs works.  It
390      is often done by setting variables (*note Variables::.) or by
391      rebinding keys (*note Keymaps::.).
392
393 Default Argument
394      The default for an argument is the value that is used if you do not
395      specify one.  When Emacs prompts you in the minibuffer for an
396      argument, the default argument is used if you just type <RET>.
397      *Note Minibuffer::.
398
399 Default Directory
400      When you specify a file name that does not start with `/' or `~',
401      it is interpreted relative to the current buffer's default
402      directory.  *Note Default Directory: Minibuffer File.
403
404 Defun
405      A defun is a list at the top level of parenthesis or bracket
406      structure in a program.  It is so named because most such lists in
407      Lisp programs are calls to the Lisp function `defun'.  *Note
408      Defuns::.
409
410 <DEL>
411      The <DEL> character runs the command that deletes one character of
412      text.  *Note DEL: Basic.
413
414 Deletion
415      Deleting text means erasing it without saving it.  Emacs deletes
416      text only when it is expected not to be worth saving (all
417      whitespace, or only one character).  The alternative is killing
418      (q.v.).  *Note Deletion: Killing.
419
420 Deletion of Files
421      Deleting a file means removing it from the file system.  *Note
422      Misc File Ops::.
423
424 Deletion of Messages
425      Deleting a message means flagging it to be eliminated from your
426      mail file.  Until the mail file is expunged, you can undo this by
427      undeleting the message.
428
429 Deletion of Frames
430      When working under the multi-frame X-based version of XEmacs, you
431      can delete individual frames using the Close menu item from the
432      File menu.
433
434 Deletion of Windows
435      When you delete a subwindow of an Emacs frame, you eliminate it
436      from the frame.  Other windows expand to use up the space.  The
437      deleted window can never come back, but no actual text is lost.
438      *Note Windows::.
439
440 Directory
441      Files in the Unix file system are grouped into file directories.
442      *Note Directories: ListDir.
443
444 Dired
445      Dired is the Emacs facility that displays the contents of a file
446      directory and allows you to "edit the directory", performing
447      operations on the files in the directory.  *Note Dired::.
448
449 Disabled Command
450      A disabled command is one that you may not run without special
451      confirmation.  Commands are usually disabled because they are
452      confusing for beginning users.  *Note Disabling::.
453
454 Dribble File
455      A file into which Emacs writes all the characters that the user
456      types on the keyboard.  Dribble files are used to make a record for
457      debugging Emacs bugs.  Emacs does not make a dribble file unless
458      you tell it to.  *Note Bugs::.
459
460 Echo Area
461      The area at the bottom of the Emacs frame which is used for
462      echoing the arguments to commands, for asking questions, and for
463      printing brief messages (including error messages).  *Note Echo
464      Area::.
465
466 Echoing
467      Echoing refers to acknowledging the receipt of commands by
468      displaying them (in the echo area).  Emacs never echoes
469      single-character keys; longer keys echo only if you pause while
470      typing them.
471
472 Error
473      An error occurs when an Emacs command cannot execute in the current
474      circumstances.  When an error occurs, execution of the command
475      stops (unless the command has been programmed to do otherwise) and
476      Emacs reports the error by printing an error message (q.v.).
477      Type-ahead is discarded.  Then Emacs is ready to read another
478      editing command.
479
480 Error Messages
481      Error messages are single lines of output printed by Emacs when the
482      user asks for something impossible to do (such as killing text
483      forward when point is at the end of the buffer).  They appear in
484      the echo area, accompanied by a beep.
485
486 <ESC>
487      <ESC> is a character used as a prefix for typing Meta characters on
488      keyboards lacking a <META> key.  Unlike the <META> key (which,
489      like the <SHIFT> key, is held down while another character is
490      typed), the <ESC> key is pressed and released, and applies to the
491      next character typed.
492
493 Fill Prefix
494      The fill prefix is a string that Emacs enters at the beginning of
495      each line when it performs filling.  It is not regarded as part of
496      the text to be filled.  *Note Filling::.
497
498 Filling
499      Filling text means moving text from line to line so that all the
500      lines are approximately the same length.  *Note Filling::.
501
502 Frame
503      When running Emacs on a TTY terminal, "frame" means the terminal's
504      screen.  When running Emacs under X, you can have multiple frames,
505      each corresponding to a top-level X window and each looking like
506      the screen on a TTY.  Each frame contains one or more
507      non-overlapping Emacs windows (possibly with associated
508      scrollbars, under X), an echo area, and (under X) possibly a
509      menubar.
510
511 Global
512      Global means `independent of the current environment; in effect
513      throughout Emacs'.  It is the opposite of local (q.v.).  Examples
514      of the use of `global' appear below.
515
516 Global Abbrev
517      A global definition of an abbrev (q.v.) is effective in all major
518      modes that do not have local (q.v.) definitions for the same
519      abbrev.  *Note Abbrevs::.
520
521 Global Keymap
522      The global keymap (q.v.) contains key bindings that are in effect
523      unless local key bindings in a major mode's local keymap (q.v.)
524      override them.*Note Keymaps::.
525
526 Global Substitution
527      Global substitution means replacing each occurrence of one string
528      by another string through a large amount of text.  *Note Replace::.
529
530 Global Variable
531      The global value of a variable (q.v.) takes effect in all buffers
532      that do not have their own local (q.v.) values for the variable.
533      *Note Variables::.
534
535 Graphic Character
536      Graphic characters are those assigned pictorial images rather than
537      just names.  All the non-Meta (q.v.) characters except for the
538      Control (q.v.) character are graphic characters.  These include
539      letters, digits, punctuation, and spaces; they do not include
540      <RET> or <ESC>.  In Emacs, typing a graphic character inserts that
541      character (in ordinary editing modes).  *Note Basic Editing: Basic.
542
543 Grinding
544      Grinding means adjusting the indentation in a program to fit the
545      nesting structure.  *Note Grinding: Indentation.
546
547 Hardcopy
548      Hardcopy means printed output.  Emacs has commands for making
549      printed listings of text in Emacs buffers.  *Note Hardcopy::.
550
551 <HELP>
552      You can type <HELP> at any time to ask what options you have, or
553      to ask what any command does.  <HELP> is really `Control-h'.
554      *Note Help::.
555
556 Inbox
557      An inbox is a file in which mail is delivered by the operating
558      system.  Some mail handlers transfers mail from inboxes to mail
559      files (q.v.) in which the mail is then stored permanently or until
560      explicitly deleted.
561
562 Indentation
563      Indentation means blank space at the beginning of a line.  Most
564      programming languages have conventions for using indentation to
565      illuminate the structure of the program, and Emacs has special
566      features to help you set up the correct indentation.  *Note
567      Indentation::.
568
569 Insertion
570      Insertion means copying text into the buffer, either from the
571      keyboard or from some other place in Emacs.
572
573 Justification
574      Justification means adding extra spaces to lines of text to make
575      them come exactly to a specified width.  *Note Justification:
576      Filling.
577
578 Keyboard Macros
579      Keyboard macros are a way of defining new Emacs commands from
580      sequences of existing ones, with no need to write a Lisp program.
581      *Note Keyboard Macros::.
582
583 Key
584      A key is a sequence of characters that, when input to Emacs,
585      specify or begin to specify a single action for Emacs to perform.
586      That is, the sequence is considered a single unit.  If the key is
587      enough to specify one action, it is a complete key (q.v.); if it
588      is less than enough, it is a prefix key (q.v.).  *Note
589      Keystrokes::.
590
591 Keymap
592      The keymap is the data structure that records the bindings (q.v.)
593      of keys to the commands that they run.  For example, the keymap
594      binds the character `C-n' to the command function `next-line'.
595      *Note Keymaps::.
596
597 Kill Ring
598      The kill ring is the place where all text you have killed recently
599      is saved.  You can re-insert any of the killed text still in the
600      ring; this is called yanking (q.v.).  *Note Yanking::.
601
602 Killing
603      Killing means erasing text and saving it on the kill ring so it
604      can be yanked (q.v.) later.  Some other systems call this
605      "cutting."  Most Emacs commands to erase text do killing, as
606      opposed to deletion (q.v.).  *Note Killing::.
607
608 Killing Jobs
609      Killing a job (such as, an invocation of Emacs) means making it
610      cease to exist.  Any data within it, if not saved in a file, is
611      lost.  *Note Exiting::.
612
613 List
614      A list is, approximately, a text string beginning with an open
615      parenthesis and ending with the matching close parenthesis.  In C
616      mode and other non-Lisp modes, groupings surrounded by other kinds
617      of matched delimiters appropriate to the language, such as braces,
618      are also considered lists.  Emacs has special commands for many
619      operations on lists.  *Note Lists::.
620
621 Local
622      Local means `in effect only in a particular context'; the relevant
623      kind of context is a particular function execution, a particular
624      buffer, or a particular major mode.  Local is the opposite of
625      `global' (q.v.).  Specific uses of `local' in Emacs terminology
626      appear below.
627
628 Local Abbrev
629      A local abbrev definition is effective only if a particular major
630      mode is selected.  In that major mode, it overrides any global
631      definition for the same abbrev.  *Note Abbrevs::.
632
633 Local Keymap
634      A local keymap is used in a particular major mode; the key bindings
635      (q.v.) in the current local keymap override global bindings of the
636      same keys.  *Note Keymaps::.
637
638 Local Variable
639      A local value of a variable (q.v.) applies to only one buffer.
640      *Note Locals::.
641
642 M-
643      `M-' in the name of a character is an abbreviation for <META>, one
644      of the modifier keys that can accompany any character.  *Note
645      Keystrokes::.
646
647 M-C-
648      `M-C-' in the name of a character is an abbreviation for
649      Control-Meta; it means the same thing as `C-M-'.  If your terminal
650      lacks a real <META> key, you type a Control-Meta character by
651      typing <ESC> and then typing the corresponding Control character.
652      *Note C-M-: Keystrokes.
653
654 M-x
655      `M-x' is the key which is used to call an Emacs command by name.
656      You use it to call commands that are not bound to keys.  *Note
657      M-x::.
658
659 Mail
660      Mail means messages sent from one user to another through the
661      computer system, to be read at the recipient's convenience.  Emacs
662      has commands for composing and sending mail, and for reading and
663      editing the mail you have received.  *Note Sending Mail::.
664
665 Major Mode
666      The major modes are a mutually exclusive set of options each of
667      which configures Emacs for editing a certain sort of text.
668      Ideally, each programming language has its own major mode.  *Note
669      Major Modes::.
670
671 Mark
672      The mark points to a position in the text.  It specifies one end
673      of the region (q.v.), point being the other end.  Many commands
674      operate on the whole region, that is, all the text from point to
675      the mark.  *Note Mark::.
676
677 Mark Ring
678      The mark ring is used to hold several recent previous locations of
679      the mark, just in case you want to move back to them.  *Note Mark
680      Ring::.
681
682 Message
683      See `mail'.
684
685 Meta
686      Meta is the name of a modifier bit which a command character may
687      have.  It is present in a character if the character is typed with
688      the <META> key held down.  Such characters are given names that
689      start with `Meta-'.  For example, `Meta-<' is typed by holding down
690      <META> and at the same time typing `<' (which itself is done, on
691      most terminals, by holding down <SHIFT> and typing `,').  *Note
692      Meta: Keystrokes.
693
694 Meta Character
695      A Meta character is one whose character code includes the Meta bit.
696
697 Minibuffer
698      The minibuffer is the window that Emacs displays inside the echo
699      area (q.v.) when it prompts you for arguments to commands.  *Note
700      Minibuffer::.
701
702 Minor Mode
703      A minor mode is an optional feature of Emacs which can be switched
704      on or off independent of the major mode.  Each minor mode has a
705      command to turn it on or off.  *Note Minor Modes::.
706
707 Mode Line
708      The mode line is the line at the bottom of each text window (q.v.),
709      which gives status information on the buffer displayed in that
710      window.  *Note Mode Line::.
711
712 Modified Buffer
713      A buffer (q.v.) is modified if its text has been changed since the
714      last time the buffer was saved (or since it was created, if it has
715      never been saved).  *Note Saving::.
716
717 Moving Text
718      Moving text means erasing it from one place and inserting it in
719      another.  This is done by killing (q.v.) and then yanking (q.v.).
720      *Note Killing::.
721
722 Named Mark
723      A named mark is a register (q.v.) in its role of recording a
724      location in text so that you can move point to that location.
725      *Note Registers::.
726
727 Narrowing
728      Narrowing means creating a restriction (q.v.) that limits editing
729      in the current buffer to only a part of the text in the buffer.
730      Text outside that part is inaccessible to the user until the
731      boundaries are widened again, but it is still there, and saving
732      the file saves the invisible text.  *Note Narrowing::.
733
734 Newline
735      <LFD> characters in the buffer terminate lines of text and are
736      called newlines.  *Note Newline: Keystrokes.
737
738 Numeric Argument
739      A numeric argument is a number, specified before a command, to
740      change the effect of the command.  Often the numeric argument
741      serves as a repeat count.  *Note Arguments::.
742
743 Option
744      An option is a variable (q.v.) that allows you to customize Emacs
745      by giving it a new value.  *Note Variables::.
746
747 Overwrite Mode
748      Overwrite mode is a minor mode.  When it is enabled, ordinary text
749      characters replace the existing text after point rather than
750      pushing it to the right.  *Note Minor Modes::.
751
752 Page
753      A page is a unit of text, delimited by formfeed characters (ASCII
754      Control-L, code 014) coming at the beginning of a line.  Some Emacs
755      commands are provided for moving over and operating on pages.
756      *Note Pages::.
757
758 Paragraphs
759      Paragraphs are the medium-size unit of English text.  There are
760      special Emacs commands for moving over and operating on paragraphs.
761      *Note Paragraphs::.
762
763 Parsing
764      We say that Emacs parses words or expressions in the text being
765      edited.  Really, all it knows how to do is find the other end of a
766      word or expression.  *Note Syntax::.
767
768 Point
769      Point is the place in the buffer at which insertion and deletion
770      occur.  Point is considered to be between two characters, not at
771      one character.  The terminal's cursor (q.v.) indicates the
772      location of point.  *Note Point: Basic.
773
774 Prefix Key
775      A prefix key is a key (q.v.) whose sole function is to introduce a
776      set of multi-character keys.  `Control-x' is an example of a prefix
777      key; any two-character sequence starting with `C-x' is also a
778      legitimate key.  *Note Keystrokes::.
779
780 Prompt
781      A prompt is text printed to ask the user for input.  Printing a
782      prompt is called prompting.  Emacs prompts always appear in the
783      echo area (q.v.).  One kind of prompting happens when the
784      minibuffer is used to read an argument (*note Minibuffer::.); the
785      echoing which happens when you pause in the middle of typing a
786      multi-character key is also a kind of prompting (*note Echo
787      Area::.).
788
789 Quitting
790      Quitting means cancelling a partially typed command or a running
791      command, using `C-g'.  *Note Quitting::.
792
793 Quoting
794      Quoting means depriving a character of its usual special
795      significance.  In Emacs this is usually done with `Control-q'.
796      What constitutes special significance depends on the context and
797      on convention.  For example, an "ordinary" character as an Emacs
798      command inserts itself; so in this context, a special character is
799      any character that does not normally insert itself (such as <DEL>,
800      for example), and quoting it makes it insert itself as if it were
801      not special.  Not all contexts allow quoting.  *Note Quoting:
802      Basic.
803
804 Read-only Buffer
805      A read-only buffer is one whose text you are not allowed to change.
806      Normally Emacs makes buffers read-only when they contain text which
807      has a special significance to Emacs, such asDired buffers.
808      Visiting a file that is write-protected also makes a read-only
809      buffer.  *Note Buffers::.
810
811 Recursive Editing Level
812      A recursive editing level is a state in which part of the
813      execution of a command involves asking the user to edit some text.
814      This text may or may not be the same as the text to which the
815      command was applied.  The mode line indicates recursive editing
816      levels with square brackets (`[' and `]').  *Note Recursive Edit::.
817
818 Redisplay
819      Redisplay is the process of correcting the image on the screen to
820      correspond to changes that have been made in the text being edited.
821      *Note Redisplay: Frame.
822
823 Regexp
824      See `regular expression'.
825
826 Region
827      The region is the text between point (q.v.) and the mark (q.v.).
828      Many commands operate on the text of the region.  *Note Region:
829      Mark.
830
831 Registers
832      Registers are named slots in which text or buffer positions or
833      rectangles can be saved for later use.  *Note Registers::.
834
835 Regular Expression
836      A regular expression is a pattern that can match various text
837      strings; for example, `l[0-9]+' matches `l' followed by one or more
838      digits.  *Note Regexps::.
839
840 Replacement
841      See `global substitution'.
842
843 Restriction
844      A buffer's restriction is the amount of text, at the beginning or
845      the end of the buffer, that is temporarily invisible and
846      inaccessible.  Giving a buffer a nonzero amount of restriction is
847      called narrowing (q.v.).  *Note Narrowing::.
848
849 <RET>
850      <RET> is the character than runs the command to insert a newline
851      into the text.  It is also used to terminate most arguments read
852      in the minibuffer (q.v.).  *Note Return: Keystrokes.
853
854 Saving
855      Saving a buffer means copying its text into the file that was
856      visited (q.v.) in that buffer.  To actually change a file you have
857      edited in Emacs, you have to save it.  *Note Saving::.
858
859 Scrolling
860      Scrolling means shifting the text in the Emacs window to make a
861      different part ot the buffer visible.  *Note Scrolling: Display.
862
863 Searching
864      Searching means moving point to the next occurrence of a specified
865      string.  *Note Search::.
866
867 Selecting
868      Selecting a buffer means making it the current (q.v.) buffer.
869      *Note Selecting: Buffers.
870
871 Self-documentation
872      Self-documentation is the feature of Emacs which can tell you what
873      any command does, or can give you a list of all commands related
874      to a topic you specify.  You ask for self-documentation with the
875      help character, `C-h'.  *Note Help::.
876
877 Sentences
878      Emacs has commands for moving by or killing by sentences.  *Note
879      Sentences::.
880
881 Sexp
882      An sexp (short for `s-expression,' itself short for `symbolic
883      expression') is the basic syntactic unit of Lisp in its textual
884      form: either a list, or Lisp atom.  Many Emacs commands operate on
885      sexps.  The term `sexp' is generalized to languages other than
886      Lisp to mean a syntactically recognizable expression.  *Note
887      Sexps: Lists.
888
889 Simultaneous Editing
890      Simultaneous editing means two users modifying the same file at
891      once.  If simultaneous editing is not detected, you may lose your
892      work.  Emacs detects all cases of simultaneous editing and warns
893      the user to investigate them.  *Note Simultaneous Editing:
894      Interlocking.
895
896 String
897      A string is a kind of Lisp data object which contains a sequence of
898      characters.  Many Emacs variables are intended to have strings as
899      values.  The Lisp syntax for a string consists of the characters in
900      the string with a `"' before and another `"' after. Write a `"'
901      that is part of the string as `\"' and a `\' that is part of the
902      string as `\\'.  You can include all other characters, including
903      newline, just by writing them inside the string. You can also
904      include escape sequences as in C, such as `\n' for newline or
905      `\241' using an octal character code.
906
907 String Substitution
908      See `global substitution'.
909
910 Syntax Table
911      The syntax table tells Emacs which characters are part of a word,
912      which characters balance each other like parentheses, etc.  *Note
913      Syntax::.
914
915 Tag Table
916      A tag table is a file that serves as an index to the function
917      definitions in one or more other files.  *Note Tags::.
918
919 Termscript File
920      A termscript file contains a record of all characters Emacs sent to
921      the terminal.  It is used for tracking down bugs in Emacs
922      redisplay.  Emacs does not make a termscript file unless
923      explicitly instructed to do so.  *Note Bugs::.
924
925 Text
926      Text has two meanings (*note Text::.):
927
928         * Data consisting of a sequence of characters, as opposed to
929           binary numbers, images, graphics commands, executable
930           programs, and the like.  The contents of an Emacs buffer are
931           always text in this sense.
932
933         * Data consisting of written human language, as opposed to
934           programs, or something that follows the stylistic conventions
935           of human language.
936
937 Top Level
938      Top level is the normal state of Emacs, in which you are editing
939      the text of the file you have visited.  You are at top level
940      whenever you are not in a recursive editing level (q.v.) or the
941      minibuffer (q.v.), and not in the middle of a command.  You can
942      get back to top level by aborting (q.v.) and quitting (q.v.).
943      *Note Quitting::.
944
945 Transposition
946      Transposing two units of text means putting each one into the place
947      formerly occupied by the other.  There are Emacs commands to
948      transpose two adjacent characters, words, sexps (q.v.), or lines
949      (*note Transpose::.).
950
951 Truncation
952      Truncating text lines in the display means leaving out any text on
953      a line that does not fit within the right margin of the window
954      displaying it.  See also `continuation line'.  *Note Truncation:
955      Basic.
956
957 Undoing
958      Undoing means making your previous editing go in reverse, bringing
959      back the text that existed earlier in the editing session.  *Note
960      Undo::.
961
962 Variable
963      A variable is Lisp object that can store an arbitrary value.
964      Emacs uses some variables for internal purposes, and has others
965      (known as `options' (q.v.)) you can set to control the behavior of
966      Emacs.  The variables used in Emacs that you are likely to be
967      interested in are listed in the Variables Index of this manual.
968      *Note Variables::, for information on variables.
969
970 Visiting
971      Visiting a file means loading its contents into a buffer (q.v.)
972      where they can be edited.  *Note Visiting::.
973
974 Whitespace
975      Whitespace is any run of consecutive formatting characters (spaces,
976      tabs, newlines, and backspaces).
977
978 Widening
979      Widening is removing any restriction (q.v.) on the current buffer;
980      it is the opposite of narrowing (q.v.).  *Note Narrowing::.
981
982 Window
983      Emacs divides the frame into one or more windows, each of which can
984      display the contents of one buffer (q.v.) at any time.  *Note
985      Frame::, for basic information on how Emacs uses the frame.  *Note
986      Windows::, for commands to control the use of windows. Note that if
987      you are running Emacs under X, terminology can be confusing: Each
988      Emacs frame occupies a separate X window and can, in turn, be
989      divided into different subwindows.
990
991 Word Abbrev
992      Synonymous with `abbrev'.
993
994 Word Search
995      Word search is searching for a sequence of words, considering the
996      punctuation between them as insignificant.  *Note Word Search::.
997
998 Yanking
999      Yanking means reinserting text previously killed.  It can be used
1000      to undo a mistaken kill, or for copying or moving text.  Some other
1001      systems call this "pasting".  *Note Yanking::.
1002