glossary.texi 30 KB

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