update.
[chise/xemacs-chise.git.1] / man / xemacs / glossary.texi
1
2 @node Glossary, Manifesto, Intro, Top
3 @unnumbered Glossary
4
5 @table @asis
6 @item Abbrev
7 An abbrev is a text string which expands into a different text string
8 when present in the buffer.  For example, you might define a short
9 word as an abbrev for a long phrase that you want to insert
10 frequently.  @xref{Abbrevs}.
11
12 @item Aborting
13 Aborting means getting out of a recursive edit (q.v.@:).  You can use
14 the commands @kbd{C-]} and @kbd{M-x top-level} for this.
15 @xref{Quitting}.
16
17 @item Auto Fill mode
18 Auto Fill mode is a minor mode in which text you insert is
19 automatically broken into lines of fixed width.  @xref{Filling}.
20
21 @item Auto Saving
22 Auto saving means that Emacs automatically stores the contents of an
23 Emacs buffer in a specially-named file so the information will not be
24 lost if the buffer is lost due to a system error or user error.
25 @xref{Auto Save}.
26
27 @item Backup File
28 A backup file records the contents that a file had before the current
29 editing session.  Emacs creates backup files automatically to help you
30 track down or cancel changes you later regret.  @xref{Backup}.
31
32 @item Balance Parentheses
33 Emacs can balance parentheses manually or automatically.  Manual
34 balancing is done by the commands to move over balanced expressions
35 (@pxref{Lists}).  Automatic balancing is done by blinking the
36 parenthesis that matches one just inserted (@pxref{Matching,,Matching
37 Parens}).
38
39 @item Bind
40 To bind a key is to change its binding (q.v.@:).  @xref{Rebinding}.
41
42 @item Binding
43 A key gets its meaning in Emacs by having a binding which is a
44 command (q.v.@:), a Lisp function that is run when the key is typed.
45 @xref{Commands,Binding}.  Customization often involves rebinding a
46 character to a different command function.  The bindings of all keys
47 are recorded in the keymaps (q.v.@:).  @xref{Keymaps}.
48
49 @item Blank Lines
50 Blank lines are lines that contain only whitespace.  Emacs has several
51 commands for operating on the blank lines in a buffer.
52
53 @item Buffer
54 The buffer is the basic editing unit; one buffer corresponds to one
55 piece of text being edited.  You can have several buffers, but at any
56 time you are editing only one, the `selected' buffer, though several
57 buffers can be visible when you are using multiple windows.  @xref{Buffers}.
58
59 @item Buffer Selection History
60 Emacs keeps a buffer selection history which records how recently each
61 Emacs buffer was selected.  Emacs uses this list when choosing a buffer to
62 select.  @xref{Buffers}.
63
64 @item C-
65 @samp{C} in the name of a character is an abbreviation for Control.
66 @xref{Keystrokes,C-}.
67
68 @item C-M-
69 @samp{C-M-} in the name of a character is an abbreviation for
70 Control-Meta.  @xref{Keystrokes,C-M-}.
71
72 @item Case Conversion
73 Case conversion means changing text from upper case to lower case or
74 vice versa.  @xref{Case}, for the commands for case conversion.
75
76 @item Characters
77 Characters form the contents of an Emacs buffer; also, Emacs commands
78 are invoked by keys (q.v.@:), which are sequences of one or more
79 characters.  @xref{Keystrokes}.
80
81 @item Command
82 A command is a Lisp function specially defined to be able to serve as a
83 key binding in Emacs.  When you type a key (q.v.@:), Emacs looks up its
84 binding (q.v.@:) in the relevant keymaps (q.v.@:) to find the command to
85 run.  @xref{Commands}.
86
87 @item Command Name
88 A command name is the name of a Lisp symbol which is a command
89 (@pxref{Commands}).  You can invoke any command by its name using
90 @kbd{M-x} (@pxref{M-x}).
91
92 @item Comments
93 A comment is text in a program which is intended only for the people
94 reading the program, and is marked specially so that it will be
95 ignored when the program is loaded or compiled.  Emacs offers special
96 commands for creating, aligning, and killing comments.
97 @xref{Comments}.
98
99 @item Compilation
100 Compilation is the process of creating an executable program from
101 source code.  Emacs has commands for compiling files of Emacs Lisp
102 code (@pxref{Lisp Libraries}) and programs in C and other languages
103 (@pxref{Compilation}).
104
105 @item Complete Key
106 A complete key is a character or sequence of characters which, when typed
107 by the user, fully specifies one action to be performed by Emacs.  For
108 example, @kbd{X} and @kbd{Control-f} and @kbd{Control-x m} are keys.  Keys
109 derive their meanings from being bound (q.v.@:) to commands (q.v.@:).
110 Thus, @kbd{X} is conventionally bound to a command to insert @samp{X} in
111 the buffer; @kbd{C-x m} is conventionally bound to a command to begin
112 composing a mail message. @xref{Keystrokes}.
113
114 @item Completion
115 When Emacs automatically fills an abbreviation for a name into the
116 entire name, that process is called completion.  Completion is done for
117 minibuffer (q.v.@:) arguments when the set of possible valid inputs is
118 known; for example, on command names, buffer names, and file names.
119 Completion occurs when you type @key{TAB}, @key{SPC}, or @key{RET}.
120 @xref{Completion}.@refill
121
122 @item Continuation Line
123 When a line of text is longer than the width of the frame, it
124 takes up more than one screen line when displayed.  We say that the
125 text line is continued, and all screen lines used for it after the
126 first are called continuation lines.  @xref{Basic,Continuation,Basic
127 Editing}.
128
129 @item Control-Character
130 ASCII characters with octal codes 0 through 037, and also code 0177,
131 do not have graphic images assigned to them.  These are the control
132 characters.  Any control character can be typed by holding down the
133 @key{CTRL} key and typing some other character; some have special keys
134 on the keyboard.  @key{RET}, @key{TAB}, @key{ESC}, @key{LFD}, and
135 @key{DEL} are all control characters.  @xref{Keystrokes}.@refill
136
137 @item Copyleft
138 A copyleft is a notice giving the public legal permission to redistribute
139 a program or other work of art.  Copylefts are used by leftists to enrich
140 the public just as copyrights are used by rightists to gain power over
141 the public.
142
143 @item Current Buffer
144 The current buffer in Emacs is the Emacs buffer on which most editing
145 commands operate.  You can select any Emacs buffer as the current one.
146 @xref{Buffers}.
147
148 @item Current Line
149 The line point is on (@pxref{Point}).
150
151 @item Current Paragraph
152 The paragraph that point is in.  If point is between paragraphs, the
153 current paragraph is the one that follows point.  @xref{Paragraphs}.
154
155 @item Current Defun
156 The defun (q.v.@:) that point is in.  If point is between defuns, the
157 current defun is the one that follows point.  @xref{Defuns}.
158
159 @item Cursor
160 The cursor is the rectangle on the screen which indicates the position
161 called point (q.v.@:) at which insertion and deletion takes place.
162 The cursor is on or under the character that follows point.  Often
163 people speak of `the cursor' when, strictly speaking, they mean
164 `point'.  @xref{Basic,Cursor,Basic Editing}.
165
166 @item Customization
167 Customization is making minor changes in the way Emacs works.  It is
168 often done by setting variables (@pxref{Variables}) or by rebinding
169 keys (@pxref{Keymaps}).
170
171 @item Default Argument
172 The default for an argument is the value that is used if you do not
173 specify one.  When Emacs prompts you in the minibuffer for an argument,
174 the default argument is used if you just type @key{RET}.
175 @xref{Minibuffer}.
176
177 @item Default Directory
178 When you specify a file name that does not start with @samp{/} or @samp{~},
179 it is interpreted relative to the current buffer's default directory.
180 @xref{Minibuffer File,Default Directory}.
181
182 @item Defun
183 A defun is a list at the top level of parenthesis or bracket structure
184 in a program.  It is so named because most such lists in Lisp programs
185 are calls to the Lisp function @code{defun}.  @xref{Defuns}.
186
187 @item @key{DEL}
188 The @key{DEL} character runs the command that deletes one character of
189 text.  @xref{Basic,DEL,Basic Editing}.
190
191 @item Deletion
192 Deleting text means erasing it without saving it.  Emacs deletes text
193 only when it is expected not to be worth saving (all whitespace, or
194 only one character).  The alternative is killing (q.v.@:).
195 @xref{Killing,Deletion}.
196
197 @item Deletion of Files
198 Deleting a file means removing it from the file system.
199 @xref{Misc File Ops}.
200
201 @item Deletion of Messages
202 Deleting a message means flagging it to be eliminated from your mail
203 file.  Until the mail file is expunged, you can undo this by undeleting
204 the message.
205
206 @item Deletion of Frames
207 When working under the multi-frame X-based version of XEmacs,
208 you can delete individual frames using the @b{Close} menu item from the
209 @b{File} menu.
210
211 @item Deletion of Windows
212 When you delete a subwindow of an Emacs frame, you eliminate it from
213 the frame.  Other windows expand to use up the space.  The deleted
214 window can never come back, but no actual text is lost.  @xref{Windows}.
215
216 @item Directory
217 Files in the Unix file system are grouped into file directories.
218 @xref{ListDir,,Directories}.
219
220 @item Dired
221 Dired is the Emacs facility that displays the contents of a file
222 directory and allows you to ``edit the directory'', performing
223 operations on the files in the directory.  @xref{Dired}.
224
225 @item Disabled Command
226 A disabled command is one that you may not run without special
227 confirmation.  Commands are usually disabled because they are
228 confusing for beginning users.  @xref{Disabling}.
229
230 @item Dribble File
231 A file into which Emacs writes all the characters that the user types
232 on the keyboard.  Dribble files are used to make a record for
233 debugging Emacs bugs.  Emacs does not make a dribble file unless you
234 tell it to.  @xref{Bugs}.
235
236 @item Echo Area
237 The area at the bottom of the Emacs frame which is used for echoing the
238 arguments to commands, for asking questions, and for printing brief
239 messages (including error messages).  @xref{Echo Area}.
240
241 @item Echoing
242 Echoing refers to acknowledging the receipt of commands by displaying them
243 (in the echo area).  Emacs never echoes single-character keys; longer
244 keys echo only if you pause while typing them.
245
246 @item Error
247 An error occurs when an Emacs command cannot execute in the current
248 circumstances.  When an error occurs, execution of the command stops
249 (unless the command has been programmed to do otherwise) and Emacs
250 reports the error by printing an error message (q.v.).  Type-ahead
251 is discarded.  Then Emacs is ready to read another editing command.
252
253 @item Error Messages
254 Error messages are single lines of output printed by Emacs when the
255 user asks for something impossible to do (such as killing text
256 forward when point is at the end of the buffer).  They appear in the
257 echo area, accompanied by a beep.
258
259 @item @key{ESC}
260 @key{ESC} is a character used as a prefix for typing Meta characters on
261 keyboards lacking a @key{META} key.  Unlike the @key{META} key (which,
262 like the @key{SHIFT} key, is held down while another character is
263 typed), the @key{ESC} key is pressed and released, and applies to the
264 next character typed.
265
266 @item Fill Prefix
267 The fill prefix is a string that Emacs enters at the beginning
268 of each line when it performs filling.  It is not regarded as part of the
269 text to be filled.  @xref{Filling}.
270
271 @item Filling
272 Filling text means moving text from line to line so that all the lines
273 are approximately the same length.  @xref{Filling}.
274
275 @item Frame
276 When running Emacs on a TTY terminal, ``frame'' means the terminal's
277 screen.  When running Emacs under X, you can have multiple frames,
278 each corresponding to a top-level X window and each looking like
279 the screen on a TTY.  Each frame contains one or more non-overlapping
280 Emacs windows (possibly with associated scrollbars, under X), an
281 echo area, and (under X) possibly a menubar, toolbar, and/or gutter.
282
283 @item Global
284 Global means `independent of the current environment; in effect
285 @*throughout Emacs'.  It is the opposite of local (q.v.@:).
286 Examples of the use of `global' appear below.
287
288 @item Global Abbrev
289 A global definition of an abbrev (q.v.@:) is effective in all major
290 modes that do not have local (q.v.@:) definitions for the same abbrev.
291 @xref{Abbrevs}.
292
293 @item Global Keymap
294 The global keymap (q.v.@:) contains key bindings that are in effect
295 unless local key bindings in a major mode's local
296 keymap (q.v.@:) override them.@xref{Keymaps}.
297
298 @item Global Substitution
299 Global substitution means replacing each occurrence of one string by
300 another string through a large amount of text.  @xref{Replace}.
301
302 @item Global Variable
303 The global value of a variable (q.v.@:) takes effect in all buffers
304 that do not have their own local (q.v.@:) values for the variable.
305 @xref{Variables}.
306
307 @item Graphic Character
308 Graphic characters are those assigned pictorial images rather than
309 just names.  All the non-Meta (q.v.@:) characters except for the
310 Control (q.v.@:) character are graphic characters.  These include
311 letters, digits, punctuation, and spaces; they do not include
312 @key{RET} or @key{ESC}.  In Emacs, typing a graphic character inserts
313 that character (in ordinary editing modes).  @xref{Basic,,Basic Editing}.
314
315 @item Grinding
316 Grinding means adjusting the indentation in a program to fit the
317 nesting structure.  @xref{Indentation,Grinding}.
318
319 @item Hardcopy
320 Hardcopy means printed output.  Emacs has commands for making printed
321 listings of text in Emacs buffers.  @xref{Hardcopy}.
322
323 @item @key{HELP}
324 You can type @key{HELP} at any time to ask what options you have, or
325 to ask what any command does.  @key{HELP} is really @kbd{Control-h}.
326 @xref{Help}.
327
328 @item Inbox
329 An inbox is a file in which mail is delivered by the operating system.
330 Some mail handlers transfers mail from inboxes to mail files (q.v.) in
331 which the mail is then stored permanently or until explicitly deleted.
332
333 @item Indentation
334 Indentation means blank space at the beginning of a line.  Most
335 programming languages have conventions for using indentation to
336 illuminate the structure of the program, and Emacs has special
337 features to help you set up the correct indentation.
338 @xref{Indentation}.
339
340 @item Insertion
341 Insertion means copying text into the buffer, either from the keyboard
342 or from some other place in Emacs.
343
344 @item Justification
345 Justification means adding extra spaces to lines of text to make them
346 come exactly to a specified width.  @xref{Filling,Justification}.
347
348 @item Keyboard Macros
349 Keyboard macros are a way of defining new Emacs commands from
350 sequences of existing ones, with no need to write a Lisp program.
351 @xref{Keyboard Macros}.
352
353 @item Key
354 A key is a sequence of characters that, when input to Emacs, specify
355 or begin to specify a single action for Emacs to perform.  That is,
356 the sequence is considered a single unit.  If the key is enough to
357 specify one action, it is a complete key (q.v.); if it is less than
358 enough, it is a prefix key (q.v.).  @xref{Keystrokes}.
359
360 @item Keymap
361 The keymap is the data structure that records the bindings (q.v.@:) of
362 keys to the commands that they run.  For example, the keymap binds the
363 character @kbd{C-n} to the command function @code{next-line}.
364 @xref{Keymaps}.
365
366 @item Kill Ring
367 The kill ring is the place where all text you have killed recently is saved.
368 You can re-insert any of the killed text still in the ring; this is
369 called yanking (q.v.@:).  @xref{Yanking}.
370
371 @item Killing
372 Killing means erasing text and saving it on the kill ring so it can be
373 yanked (q.v.@:) later.  Some other systems call this ``cutting.''
374 Most Emacs commands to erase text do killing, as opposed to deletion
375 (q.v.@:).  @xref{Killing}.
376
377 @item Killing Jobs
378 Killing a job (such as, an invocation of Emacs) means making it cease
379 to exist.  Any data within it, if not saved in a file, is lost.
380 @xref{Exiting}.
381
382 @item List
383 A list is, approximately, a text string beginning with an open
384 parenthesis and ending with the matching close parenthesis.  In C mode
385 and other non-Lisp modes, groupings surrounded by other kinds of matched
386 delimiters appropriate to the language, such as braces, are also
387 considered lists.  Emacs has special commands for many operations on
388 lists.  @xref{Lists}.
389
390 @item Local
391 Local means `in effect only in a particular context'; the relevant
392 kind of context is a particular function execution, a particular
393 buffer, or a particular major mode.  Local is the opposite of `global'
394 (q.v.@:).  Specific uses of `local' in Emacs terminology appear below.
395
396 @item Local Abbrev
397 A local abbrev definition is effective only if a particular major mode
398 is selected.  In that major mode, it overrides any global definition
399 for the same abbrev.  @xref{Abbrevs}.
400
401 @item Local Keymap
402 A local keymap is used in a particular major mode; the key bindings
403 (q.v.@:) in the current local keymap override global bindings of the
404 same keys.  @xref{Keymaps}.
405
406 @item Local Variable
407 A local value of a variable (q.v.@:) applies to only one buffer.
408 @xref{Locals}.
409
410 @item M-
411 @kbd{M-} in the name of a character is an abbreviation for @key{META},
412 one of the modifier keys that can accompany any character.
413 @xref{Keystrokes}.
414
415 @item M-C-
416 @samp{M-C-} in the name of a character is an abbreviation for
417 Control-Meta; it means the same thing as @samp{C-M-}.  If your
418 terminal lacks a real @key{META} key, you type a Control-Meta character by
419 typing @key{ESC} and then typing the corresponding Control character.
420 @xref{Keystrokes,C-M-}.
421
422 @item M-x
423 @kbd{M-x} is the key which is used to call an Emacs command by name.
424 You use it to call commands that are not bound to keys.
425 @xref{M-x}.
426
427 @item Mail
428 Mail means messages sent from one user to another through the computer
429 system, to be read at the recipient's convenience.  Emacs has commands for
430 composing and sending mail, and for reading and editing the mail you have
431 received.  @xref{Sending Mail}.
432
433 @item Major Mode
434 The major modes are a mutually exclusive set of options each of which
435 configures Emacs for editing a certain sort of text.  Ideally, each
436 programming language has its own major mode.  @xref{Major Modes}.
437
438 @item Mark
439 The mark points to a position in the text.  It specifies one end of the
440 region (q.v.@:), point being the other end.  Many commands operate on
441 the whole region, that is, all the text from point to the mark.
442 @xref{Mark}.
443
444 @item Mark Ring
445 The mark ring is used to hold several recent previous locations of the
446 mark, just in case you want to move back to them.  @xref{Mark Ring}.
447
448 @item Message
449 See `mail'.
450
451 @item Meta
452 Meta is the name of a modifier bit which a command character may have.
453 It is present in a character if the character is typed with the
454 @key{META} key held down.  Such characters are given names that start
455 with @kbd{Meta-}.  For example, @kbd{Meta-<} is typed by holding down
456 @key{META} and at the same time typing @kbd{<} (which itself is done,
457 on most terminals, by holding down @key{SHIFT} and typing @kbd{,}).
458 @xref{Keystrokes,Meta}.
459
460 @item Meta Character
461 A Meta character is one whose character code includes the Meta bit.
462
463 @item Minibuffer
464 The minibuffer is the window that Emacs displays inside the
465 echo area (q.v.@:) when it prompts you for arguments to commands.
466 @xref{Minibuffer}.
467
468 @item Minor Mode
469 A minor mode is an optional feature of Emacs which can be switched on
470 or off independent of the major mode.  Each minor mode has a
471 command to turn it on or off.  @xref{Minor Modes}.
472
473 @item Mode Line
474 The mode line is the line at the bottom of each text window (q.v.@:),
475 which gives status information on the buffer displayed in that window.
476 @xref{Mode Line}.
477
478 @item Modified Buffer
479 A buffer (q.v.@:) is modified if its text has been changed since the
480 last time the buffer was saved (or since it was created, if it
481 has never been saved).  @xref{Saving}.
482
483 @item Moving Text
484 Moving text means erasing it from one place and inserting it in
485 another.  This is done by killing (q.v.@:) and then yanking (q.v.@:).
486 @xref{Killing}.
487
488 @item Named Mark
489 A named mark is a register (q.v.@:) in its role of recording a
490 location in text so that you can move point to that location.
491 @xref{Registers}.
492
493 @item Narrowing
494 Narrowing means creating a restriction (q.v.@:) that limits editing in
495 the current buffer to only a part of the text in the buffer.  Text
496 outside that part is inaccessible to the user until the boundaries are
497 widened again, but it is still there, and saving the file saves the
498 invisible text.  @xref{Narrowing}.
499
500 @item Newline
501 @key{LFD} characters in the buffer terminate lines of text and are
502 called newlines.  @xref{Keystrokes,Newline}.
503
504 @item Numeric Argument
505 A numeric argument is a number, specified before a command, to change
506 the effect of the command.  Often the numeric argument serves as a
507 repeat count.  @xref{Arguments}.
508
509 @item Option
510 An option is a variable (q.v.@:) that allows you to customize
511 Emacs by giving it a new value.  @xref{Variables}.
512
513 @item Overwrite Mode
514 Overwrite mode is a minor mode.  When it is enabled, ordinary text
515 characters replace the existing text after point rather than pushing
516 it to the right.  @xref{Minor Modes}.
517
518 @item Page
519 A page is a unit of text, delimited by formfeed characters (ASCII
520 Control-L, code 014) coming at the beginning of a line.  Some Emacs
521 commands are provided for moving over and operating on pages.
522 @xref{Pages}.
523
524 @item Paragraphs
525 Paragraphs are the medium-size unit of English text.  There are
526 special Emacs commands for moving over and operating on paragraphs.
527 @xref{Paragraphs}.
528
529 @item Parsing
530 We say that Emacs parses words or expressions in the text being
531 edited.  Really, all it knows how to do is find the other end of a
532 word or expression.  @xref{Syntax}.
533
534 @item Point
535 Point is the place in the buffer at which insertion and deletion
536 occur.  Point is considered to be between two characters, not at one
537 character.  The terminal's cursor (q.v.@:) indicates the location of
538 point.  @xref{Basic,Point}.
539
540 @item Prefix Key
541 A prefix key is a key (q.v.@:) whose sole function is to introduce a
542 set of multi-character keys.  @kbd{Control-x} is an example of a prefix
543 key; any two-character sequence starting with @kbd{C-x} is also
544 a legitimate key.  @xref{Keystrokes}.
545
546 @item Prompt
547 A prompt is text printed to ask the user for input.  Printing a prompt
548 is called prompting.  Emacs prompts always appear in the echo area
549 (q.v.@:).  One kind of prompting happens when the minibuffer is used
550 to read an argument (@pxref{Minibuffer}); the echoing which happens
551 when you pause in the middle of typing a multi-character key is also a
552 kind of prompting (@pxref{Echo Area}).
553
554 @item Quitting
555 Quitting means cancelling a partially typed command or a running
556 command, using @kbd{C-g}.  @xref{Quitting}.
557
558 @item Quoting
559 Quoting means depriving a character of its usual special significance.
560 In Emacs this is usually done with @kbd{Control-q}.  What constitutes special
561 significance depends on the context and on convention.  For example,
562 an ``ordinary'' character as an Emacs command inserts itself; so in
563 this context, a special character is any character that does not
564 normally insert itself (such as @key{DEL}, for example), and quoting
565 it makes it insert itself as if it were not special.  Not all contexts
566 allow quoting.  @xref{Basic,Quoting,Basic Editing}.
567
568 @item Read-only Buffer
569 A read-only buffer is one whose text you are not allowed to change.
570 Normally Emacs makes buffers read-only when they contain text which
571 has a special significance to Emacs, such as Dired buffers.
572 Visiting a file that is write-protected also makes a read-only buffer.
573 @xref{Buffers}.
574
575 @item Recursive Editing Level
576 A recursive editing level is a state in which part of the execution of
577 a command involves asking the user to edit some text.  This text may
578 or may not be the same as the text to which the command was applied.
579 The mode line indicates recursive editing levels with square brackets
580 (@samp{[} and @samp{]}).  @xref{Recursive Edit}.
581
582 @item Redisplay
583 Redisplay is the process of correcting the image on the screen to
584 correspond to changes that have been made in the text being edited.
585 @xref{Frame,Redisplay}.
586
587 @item Regexp
588 See `regular expression'.
589
590 @item Region
591 The region is the text between point (q.v.@:) and the mark (q.v.@:).
592 Many commands operate on the text of the region.  @xref{Mark,Region}.
593
594 @item Registers
595 Registers are named slots in which text or buffer positions or
596 rectangles can be saved for later use.  @xref{Registers}.
597
598 @item Regular Expression
599 A regular expression is a pattern that can match various text strings;
600 for example, @samp{l[0-9]+} matches @samp{l} followed by one or more
601 digits.  @xref{Regexps}.
602
603 @item Replacement
604 See `global substitution'.
605
606 @item Restriction
607 A buffer's restriction is the amount of text, at the beginning or the
608 end of the buffer, that is temporarily invisible and inaccessible.
609 Giving a buffer a nonzero amount of restriction is called narrowing
610 (q.v.).  @xref{Narrowing}.
611
612 @item @key{RET}
613 @key{RET} is the character than runs the command to insert a
614 newline into the text.  It is also used to terminate most arguments
615 read in the minibuffer (q.v.@:).  @xref{Keystrokes,Return}.
616
617 @item Saving
618 Saving a buffer means copying its text into the file that was visited
619 (q.v.@:) in that buffer.  To actually change a file you have edited in
620 Emacs, you have to save it.  @xref{Saving}.
621
622 @item Scrolling
623 Scrolling means shifting the text in the Emacs window to make a
624 different part of the buffer visible.  @xref{Display,Scrolling}.
625
626 @item Searching
627 Searching means moving point to the next occurrence of a specified
628 string.  @xref{Search}.
629
630 @item Selecting
631 Selecting a buffer means making it the current (q.v.@:) buffer.
632 @xref{Buffers,Selecting}.
633
634 @item Self-documentation
635 Self-documentation is the feature of Emacs which can tell you what any
636 command does, or can give you a list of all commands related to a topic
637 you specify.  You ask for self-documentation with the help character,
638 @kbd{C-h}.  @xref{Help}.
639
640 @item Sentences
641 Emacs has commands for moving by or killing by sentences.
642 @xref{Sentences}.
643
644 @item Sexp
645 An sexp (short for `s-expression,' itself short for `symbolic
646 expression') is the basic syntactic unit of Lisp
647 in its textual form: either a list, or Lisp atom.  Many Emacs commands
648 operate on sexps.  The term `sexp' is generalized to languages other
649 than Lisp to mean a syntactically recognizable expression.
650 @xref{Lists,Sexps}.
651
652 @item Simultaneous Editing
653 Simultaneous editing means two users modifying the same file at once.
654 If simultaneous editing is not detected, you may lose your
655 work.  Emacs detects all cases of simultaneous editing and warns the
656 user to investigate them.  @xref{Interlocking,,Simultaneous Editing}.
657
658 @item String
659 A string is a kind of Lisp data object which contains a sequence of
660 characters.  Many Emacs variables are intended to have strings as
661 values.  The Lisp syntax for a string consists of the characters in
662 the string with a @samp{"} before and another @samp{"} after. Write a
663 @samp{"} that is part of the string as @samp{\"} and a
664 @samp{\} that is part of the string as @samp{\\}.  You can include all
665 other characters, including newline, just by writing
666 them inside the string. You can also include escape sequences as in C, such as
667 @samp{\n} for newline or @samp{\241} using an octal character code.
668
669 @item String Substitution
670 See `global substitution'.
671
672 @item Syntax Table
673 The syntax table tells Emacs which characters are part of a word,
674 which characters balance each other like parentheses, etc.
675 @xref{Syntax}.
676
677 @item Tag Table
678 A tag table is a file that serves as an index to the function
679 definitions in one or more other files.  @xref{Tags}.
680
681 @item Termscript File
682 A termscript file contains a record of all characters Emacs sent to
683 the terminal.  It is used for tracking down bugs in Emacs redisplay.
684 Emacs does not make a termscript file unless explicitly instructed to do
685 so.
686 @xref{Bugs}.
687
688 @item Text
689 Text has two meanings (@pxref{Text}):
690
691 @itemize @bullet
692 @item
693 Data consisting of a sequence of characters, as opposed to binary
694 numbers, images, graphics commands, executable programs, and the like.
695 The contents of an Emacs buffer are always text in this sense.
696 @item
697 Data consisting of written human language, as opposed to programs,
698 or something that follows the stylistic conventions of human language.
699 @end itemize
700
701 @item Top Level
702 Top level is the normal state of Emacs, in which you are editing the
703 text of the file you have visited.  You are at top level whenever you
704 are not in a recursive editing level (q.v.@:) or the minibuffer
705 (q.v.@:), and not in the middle of a command.  You can get back to top
706 level by aborting (q.v.@:) and quitting (q.v.@:).  @xref{Quitting}.
707
708 @item Transposition
709 Transposing two units of text means putting each one into the place
710 formerly occupied by the other.  There are Emacs commands to transpose
711 two adjacent characters, words, sexps (q.v.@:), or lines
712 (@pxref{Transpose}).
713
714 @item Truncation
715 Truncating text lines in the display means leaving out any text on a
716 line that does not fit within the right margin of the window
717 displaying it.  See also `continuation line'.
718 @xref{Basic,Truncation,Basic Editing}.
719
720 @item Undoing
721 Undoing means making your previous editing go in reverse, bringing
722 back the text that existed earlier in the editing session.
723 @xref{Undo}.
724
725 @item Variable
726 A variable is Lisp object that can store an arbitrary value.  Emacs uses
727 some variables for internal purposes, and has others (known as `options'
728 (q.v.@:)) you can set to control the behavior of Emacs.  The variables
729 used in Emacs that you are likely to be interested in are listed in the
730 Variables Index of this manual.  @xref{Variables}, for information on
731 variables.
732
733 @item Visiting
734 Visiting a file means loading its contents into a buffer (q.v.@:)
735 where they can be edited.  @xref{Visiting}.
736
737 @item Whitespace
738 Whitespace is any run of consecutive formatting characters (spaces,
739 tabs, newlines, and backspaces).
740
741 @item Widening
742 Widening is removing any restriction (q.v.@:) on the current buffer;
743 it is the opposite of narrowing (q.v.@:).  @xref{Narrowing}.
744
745 @item Window
746 Emacs divides the frame into one or more windows, each of which can
747 display the contents of one buffer (q.v.@:) at any time.
748 @xref{Frame}, for basic information on how Emacs uses the frame.
749 @xref{Windows}, for commands to control the use of windows. Note that if
750 you are running Emacs under X, terminology can be confusing: Each Emacs
751 frame occupies a separate X window and can, in turn, be divided into
752 different subwindows.
753
754 @item Word Abbrev
755 Synonymous with `abbrev'.
756
757 @item Word Search
758 Word search is searching for a sequence of words, considering the
759 punctuation between them as insignificant.  @xref{Word Search}.
760
761 @item Yanking
762 Yanking means reinserting text previously killed.  It can be used to
763 undo a mistaken kill, or for copying or moving text.  Some other
764 systems call this ``pasting''.  @xref{Yanking}.
765 @end table