home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1138 < prev    next >
Internet Message Format  |  1990-12-28  |  36KB

  1. From: howard@hasse.ericsson.se (Howard Gayle)
  2. Newsgroups: alt.sources
  3. Subject: GNU Emacs 8-bit mods part 11 of 12
  4. Message-ID: <1990Apr5.134300.9310@ericsson.se>
  5. Date: 5 Apr 90 13:43:00 GMT
  6.  
  7. *** ../18.55/man/emacs.tex    Tue Aug 16 23:37:07 1988
  8. --- man/emacs.tex    Thu Apr  5 09:30:29 1990
  9. ***************
  10. *** 7,13 ****
  11.   @ifinfo
  12.   This file documents the GNU Emacs editor.
  13.   
  14. ! Copyright (C) 1985, 1986 Richard M. Stallman.
  15.   
  16.   Permission is granted to make and distribute verbatim copies of
  17.   this manual provided the copyright notice and this permission notice
  18. --- 7,13 ----
  19.   @ifinfo
  20.   This file documents the GNU Emacs editor.
  21.   
  22. ! Copyright (C) 1985, 1986, 1987, 1990 Richard M. Stallman.
  23.   
  24.   Permission is granted to make and distribute verbatim copies of
  25.   this manual provided the copyright notice and this permission notice
  26. ***************
  27. *** 41,56 ****
  28.   @sp 6
  29.   @center @titlefont{GNU Emacs Manual}
  30.   @sp 4
  31. ! @center Fifth Edition, Emacs Version 18
  32.   @sp 1
  33.   @center for Unix Users
  34.   @sp 1
  35. ! @center October 1986
  36.   @sp 5
  37.   @center Richard Stallman
  38.   @page
  39.   @vskip 0pt plus 1filll
  40. ! Copyright @copyright{} 1985, 1986 Richard M. Stallman.
  41.   
  42.   Permission is granted to make and distribute verbatim copies of
  43.   this manual provided the copyright notice and this permission notice
  44. --- 41,56 ----
  45.   @sp 6
  46.   @center @titlefont{GNU Emacs Manual}
  47.   @sp 4
  48. ! @center Sixth Edition, Emacs Version 18
  49.   @sp 1
  50.   @center for Unix Users
  51.   @sp 1
  52. ! @center June 1987
  53.   @sp 5
  54.   @center Richard Stallman
  55.   @page
  56.   @vskip 0pt plus 1filll
  57. ! Copyright @copyright{} 1985, 1986, 1987, 1990 Richard M. Stallman.
  58.   
  59.   Permission is granted to make and distribute verbatim copies of
  60.   this manual provided the copyright notice and this permission notice
  61. ***************
  62. *** 132,138 ****
  63.   * Indentation:: Editing the white space at the beginnings of lines.
  64.   * Text::        Commands and modes for editing English.
  65.   * Programs::    Commands and modes for editing programs.
  66. ! * Running::     Compiling, running and debugging programs.
  67.   * Abbrevs::     How to define text abbreviations to reduce
  68.                    the number of characters you must type.
  69.   * Picture::     Editing pictures made up of characters
  70. --- 132,138 ----
  71.   * Indentation:: Editing the white space at the beginnings of lines.
  72.   * Text::        Commands and modes for editing English.
  73.   * Programs::    Commands and modes for editing programs.
  74. ! * Running::     Compiling, running, and debugging programs.
  75.   * Abbrevs::     How to define text abbreviations to reduce
  76.                    the number of characters you must type.
  77.   * Picture::     Editing pictures made up of characters
  78. ***************
  79. *** 273,279 ****
  80.                    There are editing commands to operate on them.
  81.   * Grinding::    Adjusting indentation to show the nesting.
  82.   * Matching::    Insertion of a close-delimiter flashes matching open.
  83. ! * Comments::    Inserting, illing and aligning comments.
  84.   * Balanced Editing::    Inserting two matching parentheses at once, etc.
  85.   * Lisp Completion::     Completion on symbol names in Lisp code.
  86.   * Documentation::       Getting documentation of functions you plan to call.
  87. --- 273,279 ----
  88.                    There are editing commands to operate on them.
  89.   * Grinding::    Adjusting indentation to show the nesting.
  90.   * Matching::    Insertion of a close-delimiter flashes matching open.
  91. ! * Comments::    Inserting, killing, and aligning comments.
  92.   * Balanced Editing::    Inserting two matching parentheses at once, etc.
  93.   * Lisp Completion::     Completion on symbol names in Lisp code.
  94.   * Documentation::       Getting documentation of functions you plan to call.
  95. ***************
  96. *** 351,356 ****
  97. --- 351,362 ----
  98.                          beginners from surprises.
  99.   * Syntax::            The syntax table controls how words and expressions
  100.                          are parsed.
  101. + * Case Tables::          Case tables tell the case (upper, lower,
  102. +                or none) of every character in a character set.
  103. + * Char Tables::          Char[acter] tables control how characters are displayed.
  104. + * Sort Tables::          Sort tables control searching and sorting.
  105. + * Trans Tables::      Trans[lation] tables tell how to map from one character
  106. +                             to another, including case conversion.
  107.   * Init File::         How to write common customizations in the `.emacs' file.
  108.   
  109.   Subnodes of Lossage (and recovery)
  110. ***************
  111. *** 676,682 ****
  112.   the Emacs comment manipulation commands to use those strings
  113.   (@pxref{Comments}).  Another sort of customization is rearrangement of the
  114.   command set.  For example, if you prefer the four basic cursor motion
  115. ! commands (up, down, left and right) on keys in a diamond pattern on the
  116.   keyboard, you can have it.  @xref{Customization}.
  117.   
  118.     @dfn{Extensible} means that you can go beyond simple customization and
  119. --- 682,688 ----
  120.   the Emacs comment manipulation commands to use those strings
  121.   (@pxref{Comments}).  Another sort of customization is rearrangement of the
  122.   command set.  For example, if you prefer the four basic cursor motion
  123. ! commands (up, down, left, and right) on keys in a diamond pattern on the
  124.   keyboard, you can have it.  @xref{Customization}.
  125.   
  126.     @dfn{Extensible} means that you can go beyond simple customization and
  127. ***************
  128. *** 895,901 ****
  129.   supports it); @code{nil} means no inverse video.  The default is @code{t}.
  130.   
  131.   @iftex
  132. ! @chapter Characters, Keys and Commands
  133.   
  134.     This chapter explains the character set used by Emacs for input commands
  135.   and for the contents of files, and also explains the concepts of
  136. --- 901,907 ----
  137.   supports it); @code{nil} means no inverse video.  The default is @code{t}.
  138.   
  139.   @iftex
  140. ! @chapter Characters, Keys, and Commands
  141.   
  142.     This chapter explains the character set used by Emacs for input commands
  143.   and for the contents of files, and also explains the concepts of
  144. ***************
  145. *** 908,914 ****
  146.   @cindex character set
  147.   @cindex ASCII
  148.   
  149. !   GNU Emacs uses the ASCII character set, which defines 128 different
  150.   character codes.  Some of these codes are assigned graphic symbols such
  151.   as @samp{a} and @samp{=}; the rest are control characters, such as
  152.   @kbd{Control-a} (also called @kbd{C-a} for short).  @kbd{C-a} gets its name
  153. --- 914,921 ----
  154.   @cindex character set
  155.   @cindex ASCII
  156.   
  157. !   By default,
  158. ! GNU Emacs uses the ASCII character set, which defines 128 different
  159.   character codes.  Some of these codes are assigned graphic symbols such
  160.   as @samp{a} and @samp{=}; the rest are control characters, such as
  161.   @kbd{Control-a} (also called @kbd{C-a} for short).  @kbd{C-a} gets its name
  162. ***************
  163. *** 968,973 ****
  164. --- 975,982 ----
  165.   displayed as @samp{^A}.  Non-ASCII characters 128 and up are displayed with
  166.   octal escape sequences; thus, character code 243 (octal), also called
  167.   @kbd{M-#} when used as an input character, is displayed as @samp{\243}.
  168. + Emacs can be customized to edit other 8-bit character sets than
  169. + ASCII. @xref{Customizing Character Sets}.@refill
  170.   
  171.   @node Keys, Commands, Characters, Top
  172.   @section Keys
  173. ***************
  174. *** 1220,1226 ****
  175.   @item -i @var{file}
  176.   @itemx -insert @var{file}
  177.   Insert the contents of @var{file} into the current buffer.
  178. ! This is like what @kbd{M-x insert-buffer} does; @xref{Misc File Ops}.
  179.   
  180.   @item -kill
  181.   Exit from Emacs without asking for confirmation.
  182. --- 1229,1235 ----
  183.   @item -i @var{file}
  184.   @itemx -insert @var{file}
  185.   Insert the contents of @var{file} into the current buffer.
  186. ! This is like what @kbd{M-x insert-file} does; @xref{Misc File Ops}.
  187.   
  188.   @item -kill
  189.   Exit from Emacs without asking for confirmation.
  190. ***************
  191. *** 1623,1628 ****
  192. --- 1632,1640 ----
  193.   it local to the current buffer; until that time, the default value is in
  194.   effect.  The default is initially @code{nil}.  @xref{Locals}.@refill
  195.   
  196. +   You can customize the characters used to indicate continuation and
  197. + truncation.  @xref{Char Tables}.@refill
  198.   @node Position Info, Arguments, Continuation Lines, Basic
  199.   @section Cursor Position Information
  200.   
  201. ***************
  202. *** 1776,1783 ****
  203.   when they come up; they are always for reasons of convenience of use of the
  204.   individual command.
  205.   
  206. - @c section Autoarg Mode
  207.   @ignore
  208.   @cindex autoarg mode
  209.     Users of ASCII keyboards may prefer to use Autoarg mode.  Autoarg mode
  210.   means that you don't need to type C-U to specify a numeric argument.
  211. --- 1788,1795 ----
  212.   when they come up; they are always for reasons of convenience of use of the
  213.   individual command.
  214.   
  215.   @ignore
  216. + @c section Autoarg Mode
  217.   @cindex autoarg mode
  218.     Users of ASCII keyboards may prefer to use Autoarg mode.  Autoarg mode
  219.   means that you don't need to type C-U to specify a numeric argument.
  220. ***************
  221. *** 1852,1858 ****
  222.     Not all buffers record undo information.  Buffers whose names start with
  223.   spaces don't; these buffers are used internally by Emacs and its extensions
  224.   to hold text that users don't normally look at or edit.  Also, minibuffers,
  225. ! help buffers and documentation buffers don't record undo information.
  226.   
  227.     At most 8000 or so characters of deleted or modified text can be
  228.   remembered in any one buffer for reinsertion by the undo command.  Also,
  229. --- 1864,1870 ----
  230.     Not all buffers record undo information.  Buffers whose names start with
  231.   spaces don't; these buffers are used internally by Emacs and its extensions
  232.   to hold text that users don't normally look at or edit.  Also, minibuffers,
  233. ! help buffers, and documentation buffers don't record undo information.
  234.   
  235.     At most 8000 or so characters of deleted or modified text can be
  236.   remembered in any one buffer for reinsertion by the undo command.  Also,
  237. ***************
  238. *** 2036,2042 ****
  239.   and add those characters to the ones you have given.
  240.   
  241.     Case is normally significant in completion, because it is significant in
  242. ! most of the names that you can complete (buffer names, file names and
  243.   command names).  Thus, @samp{fo} will not complete to @samp{Foo}.  When you
  244.   are completing a name in which case does not matter, case may be ignored
  245.   for completion's sake if the program said to do so.
  246. --- 2048,2054 ----
  247.   and add those characters to the ones you have given.
  248.   
  249.     Case is normally significant in completion, because it is significant in
  250. ! most of the names that you can complete (buffer names, file names, and
  251.   command names).  Thus, @samp{fo} will not complete to @samp{Foo}.  When you
  252.   are completing a name in which case does not matter, case may be ignored
  253.   for completion's sake if the program said to do so.
  254. ***************
  255. *** 2810,2816 ****
  256.   @kindex M-^
  257.   @findex delete-indentation
  258.     The other delete commands are those which delete only formatting
  259. ! characters: spaces, tabs and newlines.  @kbd{M-\} (@code{delete-horizontal-space})
  260.   deletes all the spaces and tab characters before and after point.
  261.   @kbd{M-@key{SPC}} (@code{just-one-space}) does likewise but leaves a single
  262.   space after point, regardless of the number of spaces that existed
  263. --- 2822,2828 ----
  264.   @kindex M-^
  265.   @findex delete-indentation
  266.     The other delete commands are those which delete only formatting
  267. ! characters: spaces, tabs, and newlines.  @kbd{M-\} (@code{delete-horizontal-space})
  268.   deletes all the spaces and tab characters before and after point.
  269.   @kbd{M-@key{SPC}} (@code{just-one-space}) does likewise but leaves a single
  270.   space after point, regardless of the number of spaces that existed
  271. ***************
  272. *** 2822,2828 ****
  273.   line).  @kbd{M-^} (@code{delete-indentation}) joins the current line and
  274.   the previous line, or the current line and the next line if given an
  275.   argument, by deleting a newline and all surrounding spaces, possibly
  276. ! leaving a single space.  @xref{Indentation,M-^}.
  277.   
  278.   @subsection Killing by Lines
  279.   
  280. --- 2834,2840 ----
  281.   line).  @kbd{M-^} (@code{delete-indentation}) joins the current line and
  282.   the previous line, or the current line and the next line if given an
  283.   argument, by deleting a newline and all surrounding spaces, possibly
  284. ! leaving a single space.  @xref{Indentation}.
  285.   
  286.   @subsection Killing by Lines
  287.   
  288. ***************
  289. *** 3332,3338 ****
  290.   Clear screen and redisplay, scrolling the selected window to center
  291.   point vertically within it (@code{recenter}).
  292.   @item C-v
  293. ! Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
  294.   @item M-v
  295.   Scroll backward (@code{scroll-down}).
  296.   @item @var{arg} C-l
  297. --- 3344,3350 ----
  298.   Clear screen and redisplay, scrolling the selected window to center
  299.   point vertically within it (@code{recenter}).
  300.   @item C-v
  301. ! Scroll forward (a windowfull or a specified number of lines) (@code{scroll-up}).
  302.   @item M-v
  303.   Scroll backward (@code{scroll-down}).
  304.   @item @var{arg} C-l
  305. ***************
  306. *** 3375,3381 ****
  307.   Clear screen and redisplay, scrolling the selected window to center
  308.   point vertically within it (@code{recenter}).
  309.   @item C-v
  310. ! Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
  311.   @item M-v
  312.   Scroll backward (@code{scroll-down}).
  313.   @item @var{arg} C-l
  314. --- 3387,3393 ----
  315.   Clear screen and redisplay, scrolling the selected window to center
  316.   point vertically within it (@code{recenter}).
  317.   @item C-v
  318. ! Scroll forward (a windowfull or a specified number of lines) (@code{scroll-up}).
  319.   @item M-v
  320.   Scroll backward (@code{scroll-down}).
  321.   @item @var{arg} C-l
  322. ***************
  323. *** 3403,3411 ****
  324.   opposite direction.@refill
  325.   
  326.   @vindex next-screen-context-lines
  327. !   To read the buffer a windowful at a time, use @kbd{C-v} with no argument.
  328.   It takes the last two lines at the bottom of the window and puts them at
  329. ! the top, followed by nearly a whole windowful of lines not previously
  330.   visible.  If point was in the text scrolled off the top, it moves to the
  331.   new top of the window.  @kbd{M-v} with no argument moves backward with
  332.   overlap similarly.  The number of lines of overlap across a @kbd{C-v} or
  333. --- 3415,3423 ----
  334.   opposite direction.@refill
  335.   
  336.   @vindex next-screen-context-lines
  337. !   To read the buffer a windowfull at a time, use @kbd{C-v} with no argument.
  338.   It takes the last two lines at the bottom of the window and puts them at
  339. ! the top, followed by nearly a whole windowfull of lines not previously
  340.   visible.  If point was in the text scrolled off the top, it moves to the
  341.   new top of the window.  @kbd{M-v} with no argument moves backward with
  342.   overlap similarly.  The number of lines of overlap across a @kbd{C-v} or
  343. ***************
  344. *** 3478,3484 ****
  345.   argument.)  Then lines with at least @var{n} columns of indentation
  346.   disappear from the screen.  The only indication of their presence is that
  347.   three dots (@samp{@dots{}}) appear at the end of each visible line that is
  348. ! followed by one or more invisible ones.@refill
  349.   
  350.     The invisible lines are still present in the buffer, and most editing
  351.   commands see them as usual, so it is very easy to put point in the middle
  352. --- 3490,3497 ----
  353.   argument.)  Then lines with at least @var{n} columns of indentation
  354.   disappear from the screen.  The only indication of their presence is that
  355.   three dots (@samp{@dots{}}) appear at the end of each visible line that is
  356. ! followed by one or more invisible ones.  @xref{Char Tables} for information
  357. ! on how to customize the indication for invisible lines.@refill
  358.   
  359.     The invisible lines are still present in the buffer, and most editing
  360.   commands see them as usual, so it is very easy to put point in the middle
  361. ***************
  362. *** 3492,3498 ****
  363.   
  364.     To make everything visible again, type @kbd{C-x $} with no argument.
  365.   
  366. ! @node Display Vars,, Selective Display, Display
  367.   @section Variables Controlling Display
  368.   
  369.     This section contains information for customization only.  Beginning
  370. --- 3505,3511 ----
  371.   
  372.     To make everything visible again, type @kbd{C-x $} with no argument.
  373.   
  374. ! @node Display Vars, Unprintables, Selective Display, Display
  375.   @section Variables Controlling Display
  376.   
  377.     This section contains information for customization only.  Beginning
  378. ***************
  379. *** 3529,3549 ****
  380.   keys; its value is the number of seconds of pause required to cause echoing
  381.   to start, or zero meaning don't echo at all.  @xref{Echo Area}.
  382.   
  383. - @vindex ctl-arrow
  384. -   If the variable @code{ctl-arrow} is @code{nil}, control characters in the
  385. - buffer are displayed with octal escape sequences, all except newline and
  386. - tab.  Altering the value of @code{ctl-arrow} makes it local to the current
  387. - buffer; until that time, the default value is in effect.  The default is
  388. - initially @code{t}.  @xref{Locals}.
  389.   @vindex tab-width
  390.     Normally, a tab character in the buffer is displayed as whitespace which
  391.   extends to the next display tab stop position, and display tab stops come
  392.   at intervals equal to eight spaces.  The number of spaces per tab is
  393. ! controlled by the variable @code{tab-width}, which is made local by
  394. ! changing it, just like @code{ctl-arrow}.  Note that how the tab character
  395.   in the buffer is displayed has nothing to do with the definition of
  396. ! @key{TAB} as a command.
  397.   
  398.   @vindex selective-display-ellipses
  399.     If you set the variable @code{selective-display-ellipses} to @code{nil},
  400. --- 3542,3557 ----
  401.   keys; its value is the number of seconds of pause required to cause echoing
  402.   to start, or zero meaning don't echo at all.  @xref{Echo Area}.
  403.   
  404.   @vindex tab-width
  405.     Normally, a tab character in the buffer is displayed as whitespace which
  406.   extends to the next display tab stop position, and display tab stops come
  407.   at intervals equal to eight spaces.  The number of spaces per tab is
  408. ! controlled by the variable @code{tab-width}.
  409. ! Altering the value of @code{tab-width} makes it local to the current
  410. ! buffer; until that time, the default value is in effect.
  411. ! Note that how the tab character
  412.   in the buffer is displayed has nothing to do with the definition of
  413. ! @key{TAB} as a command.@refill
  414.   
  415.   @vindex selective-display-ellipses
  416.     If you set the variable @code{selective-display-ellipses} to @code{nil},
  417. ***************
  418. *** 3551,3556 ****
  419. --- 3559,3603 ----
  420.   lines.  Then there is no visible indication of the invisible lines.
  421.   This variable too becomes local automatically when set.
  422.   
  423. + @node Unprintables,, Display Vars, Display
  424. + @section Display of Unprintable Characters
  425. +  
  426. +   This section contains information for customization only.  Beginning
  427. + users should skip it.
  428. + @findex buffer-ctl-arrow-off
  429. + @findex buffer-ctl-arrow-on
  430. + @findex ctl-arrow-off
  431. + @findex ctl-arrow-on
  432. + @findex default-ctl-arrow-off
  433. + @findex default-ctl-arrow-on
  434. + @findex toggle-ctl-arrow
  435. + @findex toggle-default-ctl-arrow
  436. +   Normally, control characters in the buffer (except newline and tab) are
  437. + displayed as two-character escape sequences starting with @samp{^}.  Other
  438. + unprintable characters are displayed with octal escape sequences.  The
  439. + command @code{ctl-arrow-off} causes all control characters (except newline
  440. + and tab) to be displayed with octal escape sequences in the selected
  441. + window.  The command @code{ctl-arrow-on} has the opposite effect.  The
  442. + commands @code{buffer-ctl-arrow-off} and @code{buffer-ctl-arrow-on} change
  443. + the defaults for new windows displaying the current buffer; they do not affect
  444. + existing windows.  The commands @code{default-ctl-arrow-off} and
  445. + @code{default-ctl-arrow-on} change the default for new buffers; they do not
  446. + affect existing buffers or windows.
  447. + The command @code{toggle-ctl-arrow} toggles between the
  448. + two alternatives in the selected window; the
  449. + command @code{toggle-default-ctl-arrow} does the same for new buffers.
  450. + For example, the line@refill
  451. + @example
  452. + (default-ctl-arrow-off)
  453. + @end example
  454. + @noindent
  455. + in your @file{~/.emacs} file will change the default.
  456. + @xref{Char Tables} for more information on customizing how characters are
  457. + displayed.@refill
  458.   @node Search, Fixit, Display, Top
  459.   @chapter Searching and Replacement
  460.   @cindex searching
  461. ***************
  462. *** 3999,4005 ****
  463.   sense.  For example, @samp{*foo} treats @samp{*} as ordinary since there is
  464.   no preceding expression on which the @samp{*} can act.  It is poor practice
  465.   to depend on this behavior; better to quote the special character anyway,
  466. ! regardless of where is appears.@refill
  467.   
  468.   For the most part, @samp{\} followed by any character matches only
  469.   that character.  However, there are several exceptions: characters
  470. --- 4046,4052 ----
  471.   sense.  For example, @samp{*foo} treats @samp{*} as ordinary since there is
  472.   no preceding expression on which the @samp{*} can act.  It is poor practice
  473.   to depend on this behavior; better to quote the special character anyway,
  474. ! regardless of where it appears.@refill
  475.   
  476.   For the most part, @samp{\} followed by any character matches only
  477.   that character.  However, there are several exceptions: characters
  478. ***************
  479. *** 4139,4145 ****
  480.   to @code{nil}.  Then all letters must match exactly, including case.  This
  481.   is a per-buffer variable; altering the variable affects only the current
  482.   buffer, but there is a default value which you can change as well.
  483. ! @xref{Locals}.
  484.   
  485.   @node Replace, Other Repeating Search, Search Case, Search
  486.   @section Replacement Commands
  487. --- 4186,4194 ----
  488.   to @code{nil}.  Then all letters must match exactly, including case.  This
  489.   is a per-buffer variable; altering the variable affects only the current
  490.   buffer, but there is a default value which you can change as well.
  491. ! @xref{Locals}.  Other characters can be ``folded'' together in
  492. ! searches, for example a letter with or without some diacritical
  493. ! mark.  @xref{Char Tables}.@refill
  494.   
  495.   @node Replace, Other Repeating Search, Search Case, Search
  496.   @section Replacement Commands
  497. ***************
  498. *** 4770,4776 ****
  499.   variable is expected to be a list of functions, and the functions are
  500.   called one by one until one of them returns non-@code{nil}.  Any visiting
  501.   of a file, whether extant or not, expects @code{find-file-hooks} to
  502. ! contain list of functions and calls them all, one by one.  In both cases
  503.   the functions receive no arguments.  Visiting a nonexistent file
  504.   runs the @code{find-file-not-found-hooks} first.
  505.   
  506. --- 4819,4825 ----
  507.   variable is expected to be a list of functions, and the functions are
  508.   called one by one until one of them returns non-@code{nil}.  Any visiting
  509.   of a file, whether extant or not, expects @code{find-file-hooks} to
  510. ! contain a list of functions and calls them all, one by one.  In both cases
  511.   the functions receive no arguments.  Visiting a nonexistent file
  512.   runs the @code{find-file-not-found-hooks} first.
  513.   
  514. ***************
  515. *** 5079,5085 ****
  516.     The first thing you should do when notified that simultaneous editing has
  517.   already taken place is to list the directory with @kbd{C-u C-x C-d}
  518.   (@pxref{ListDir,,Directory Listing}).  This will show the file's current
  519. ! author.  You should attempt to contact him to warn him not to continue
  520.   editing.  Often the next step is to save the contents of your Emacs buffer
  521.   under a different name, and use @code{diff} to compare the two
  522.   files.@refill
  523. --- 5128,5134 ----
  524.     The first thing you should do when notified that simultaneous editing has
  525.   already taken place is to list the directory with @kbd{C-u C-x C-d}
  526.   (@pxref{ListDir,,Directory Listing}).  This will show the file's current
  527. ! owner.  You should attempt to contact him to warn him not to continue
  528.   editing.  Often the next step is to save the contents of your Emacs buffer
  529.   under a different name, and use @code{diff} to compare the two
  530.   files.@refill
  531. ***************
  532. *** 5217,5223 ****
  533.     The way to use the contents of an auto-save file to recover from a loss
  534.   of data is with the command @kbd{M-x recover-file @key{RET} @var{file}
  535.   @key{RET}}.  This visits @var{file} and then (after your confirmation)
  536. ! restores the contents from from its auto-save file @file{#@var{file}#}.  You
  537.   can then save with @kbd{C-x C-s} to put the recovered text into @var{file}
  538.   itself.  For example, to recover file @file{foo.c} from its auto-save file
  539.   @file{#foo.c#}, do:@refill
  540. --- 5266,5272 ----
  541.     The way to use the contents of an auto-save file to recover from a loss
  542.   of data is with the command @kbd{M-x recover-file @key{RET} @var{file}
  543.   @key{RET}}.  This visits @var{file} and then (after your confirmation)
  544. ! restores the contents from its auto-save file @file{#@var{file}#}.  You
  545.   can then save with @kbd{C-x C-s} to put the recovered text into @var{file}
  546.   itself.  For example, to recover file @file{foo.c} from its auto-save file
  547.   @file{#foo.c#}, do:@refill
  548. ***************
  549. *** 5469,5475 ****
  550.     @kbd{M-x view-file} allows you to scan or read a file by sequential
  551.   screenfuls.  It reads a file name argument using the minibuffer.  After
  552.   reading the file into an Emacs buffer, @code{view-file} reads and displays
  553. ! one windowful.  You can then type @key{SPC} to scroll forward one windowful,
  554.   or @key{DEL} to scroll backward.  Various other commands are provided for
  555.   moving around in the file, but none for changing it; type @kbd{C-h} while
  556.   viewing for a list of them.  They are mostly the same as normal Emacs
  557. --- 5518,5524 ----
  558.     @kbd{M-x view-file} allows you to scan or read a file by sequential
  559.   screenfuls.  It reads a file name argument using the minibuffer.  After
  560.   reading the file into an Emacs buffer, @code{view-file} reads and displays
  561. ! one windowfull.  You can then type @key{SPC} to scroll forward one windowfull,
  562.   or @key{DEL} to scroll backward.  Various other commands are provided for
  563.   moving around in the file, but none for changing it; type @kbd{C-h} while
  564.   viewing for a list of them.  They are mostly the same as normal Emacs
  565. ***************
  566. *** 5884,5890 ****
  567.   screen have mode lines, but they are truncated; also, they do not
  568.   always appear in inverse video, because, the Emacs display routines
  569.   have not been taught how to display a region of inverse video that is
  570. ! only part of a line on the screen.
  571.   
  572.   @vindex truncate-partial-width-windows
  573.     When a window is less than the full width, text lines too long to fit are
  574. --- 5933,5940 ----
  575.   screen have mode lines, but they are truncated; also, they do not
  576.   always appear in inverse video, because, the Emacs display routines
  577.   have not been taught how to display a region of inverse video that is
  578. ! only part of a line on the screen.  The character that
  579. ! separates side-by-side windows can be customized.  @xref{Char Tables}.@refill
  580.   
  581.   @vindex truncate-partial-width-windows
  582.     When a window is less than the full width, text lines too long to fit are
  583. ***************
  584. *** 6051,6057 ****
  585.   
  586.     The major modes fall into three major groups.  Lisp mode (which has
  587.   several variants), C mode and Muddle mode are for specific programming
  588. ! languages.  Text mode, Nroff mode, @TeX{} mode and Outline mode are for
  589.   editing English text.  The remaining major modes are not intended for use
  590.   on users' files; they are used in buffers created for specific purposes by
  591.   Emacs, such as Dired mode for buffers made by Dired (@pxref{Dired}), and
  592. --- 6101,6107 ----
  593.   
  594.     The major modes fall into three major groups.  Lisp mode (which has
  595.   several variants), C mode and Muddle mode are for specific programming
  596. ! languages.  Text mode, Nroff mode, @TeX{} mode, and Outline mode are for
  597.   editing English text.  The remaining major modes are not intended for use
  598.   on users' files; they are used in buffers created for specific purposes by
  599.   Emacs, such as Dired mode for buffers made by Dired (@pxref{Dired}), and
  600. ***************
  601. *** 6391,6397 ****
  602.     Entering Text mode or Indented Text mode calls with no arguments the
  603.   value of the variable @code{text-mode-hook}, if that value exists and is
  604.   not @code{nil}.  This value is also called when modes related to Text mode
  605. ! are entered; this includes Nroff mode, @TeX{} mode, Outline mode and Mail
  606.   mode.  Your hook can look at the value of @code{major-mode} to see which of
  607.   these modes is actually being entered.
  608.   
  609. --- 6441,6447 ----
  610.     Entering Text mode or Indented Text mode calls with no arguments the
  611.   value of the variable @code{text-mode-hook}, if that value exists and is
  612.   not @code{nil}.  This value is also called when modes related to Text mode
  613. ! are entered; this includes Nroff mode, @TeX{} mode, Outline mode, and Mail
  614.   mode.  Your hook can look at the value of @code{major-mode} to see which of
  615.   these modes is actually being entered.
  616.   
  617. ***************
  618. *** 6787,6793 ****
  619.   newline in between.  When you save the file in Outline mode, Control-M
  620.   characters are saved as newlines, so the invisible lines become ordinary
  621.   lines in the file.  But saving does not change the visibility status of a
  622. ! line inside Emacs.
  623.   
  624.   @node Outline Motion,Outline Visibility,Outline Format,Outline Mode
  625.   @subsubsection Outline Motion Commands
  626. --- 6837,6844 ----
  627.   newline in between.  When you save the file in Outline mode, Control-M
  628.   characters are saved as newlines, so the invisible lines become ordinary
  629.   lines in the file.  But saving does not change the visibility status of a
  630. ! line inside Emacs.  The character that marks the beginning of
  631. ! an invisible line can be customized.  @xref{Char Tables}.@refill
  632.   
  633.   @node Outline Motion,Outline Visibility,Outline Format,Outline Mode
  634.   @subsubsection Outline Motion Commands
  635. ***************
  636. *** 6918,6923 ****
  637. --- 6969,6976 ----
  638.     The use of ellipses at the ends of visible lines can be turned off
  639.   by setting @code{selective-display-ellipses} to @code{nil}.  Then there
  640.   is no visible indication of the presence of invisible lines.
  641. + You can also customize the ellipsis string to something other
  642. + than three dots.  @xref{Char Tables}.@refill
  643.   
  644.   @node Words, Sentences, Text Mode, Text
  645.   @section Words
  646. ***************
  647. *** 6945,6951 ****
  648.   @end table
  649.   
  650.     Notice how these keys form a series that parallels the
  651. ! character-based @kbd{C-f}, @kbd{C-b}, @kbd{C-d}, @kbd{C-t} and
  652.   @key{DEL}.  @kbd{M-@@} is related to @kbd{C-@@}, which is an alias for
  653.   @kbd{C-@key{SPC}}.@refill
  654.   
  655. --- 6998,7004 ----
  656.   @end table
  657.   
  658.     Notice how these keys form a series that parallels the
  659. ! character-based @kbd{C-f}, @kbd{C-b}, @kbd{C-d}, @kbd{C-t}, and
  660.   @key{DEL}.  @kbd{M-@@} is related to @kbd{C-@@}, which is an alias for
  661.   @kbd{C-@key{SPC}}.@refill
  662.   
  663. ***************
  664. *** 7430,7439 ****
  665.   @cindex region
  666.   @findex downcase-region
  667.   @findex upcase-region
  668.     The other case conversion commands are @kbd{C-x C-u}
  669.   (@code{upcase-region}) and @kbd{C-x C-l} (@code{downcase-region}), which
  670.   convert everything between point and mark to the specified case.  Point and
  671. ! mark do not move.@refill
  672.   
  673.   @node Programs, Running, Text, Top
  674.   @chapter Editing Programs
  675. --- 7483,7495 ----
  676.   @cindex region
  677.   @findex downcase-region
  678.   @findex upcase-region
  679. + @findex invert-case
  680.     The other case conversion commands are @kbd{C-x C-u}
  681.   (@code{upcase-region}) and @kbd{C-x C-l} (@code{downcase-region}), which
  682.   convert everything between point and mark to the specified case.  Point and
  683. ! mark do not move.
  684. ! The command @code{invert-case} inverts the case of the
  685. ! character after point, then moves forward one character.@refill
  686.   
  687.   @node Programs, Running, Text, Top
  688.   @chapter Editing Programs
  689. ***************
  690. *** 7481,7487 ****
  691.                            There are editing commands to operate on them.
  692.   * Grinding::            Adjusting indentation to show the nesting.
  693.   * Matching::            Insertion of a close-delimiter flashes matching open.
  694. ! * Comments::            Inserting, illing and aligning comments.
  695.   * Balanced Editing::    Inserting two matching parentheses at once, etc.
  696.   * Lisp Completion::     Completion on symbol names in Lisp code.
  697.   * Documentation::       Getting documentation of functions you plan to call.
  698. --- 7537,7543 ----
  699.                            There are editing commands to operate on them.
  700.   * Grinding::            Adjusting indentation to show the nesting.
  701.   * Matching::            Insertion of a close-delimiter flashes matching open.
  702. ! * Comments::            Inserting, killing and aligning comments.
  703.   * Balanced Editing::    Inserting two matching parentheses at once, etc.
  704.   * Lisp Completion::     Completion on symbol names in Lisp code.
  705.   * Documentation::       Getting documentation of functions you plan to call.
  706. ***************
  707. *** 7542,7548 ****
  708.   that value exists and is non-@code{nil}.  Mode hook variables for other
  709.   programming language modes include @code{lisp-mode-hook},
  710.   @code{emacs-lisp-mode-hook}, @code{lisp-interaction-mode-hook},
  711. ! @code{scheme-mode-hook} and @code{muddle-mode-hook}.  The mode hook
  712.   function receives no arguments.@refill
  713.   
  714.   @node Lists, Defuns, Program Modes, Programs
  715. --- 7598,7604 ----
  716.   that value exists and is non-@code{nil}.  Mode hook variables for other
  717.   programming language modes include @code{lisp-mode-hook},
  718.   @code{emacs-lisp-mode-hook}, @code{lisp-interaction-mode-hook},
  719. ! @code{scheme-mode-hook}, and @code{muddle-mode-hook}.  The mode hook
  720.   function receives no arguments.@refill
  721.   
  722.   @node Lists, Defuns, Program Modes, Programs
  723. ***************
  724. *** 7733,7739 ****
  725.   ready to move the defun to a different place in the text.  In C mode,
  726.   @kbd{C-M-h} runs the function @code{mark-c-function}, which is almost the
  727.   same as @code{mark-defun}; the difference is that it backs up over the
  728. ! argument declarations, function name and returned data type so that the
  729.   entire C function is inside the region.
  730.   
  731.     Emacs assumes that any open-parenthesis found in the leftmost column is
  732. --- 7789,7795 ----
  733.   ready to move the defun to a different place in the text.  In C mode,
  734.   @kbd{C-M-h} runs the function @code{mark-c-function}, which is almost the
  735.   same as @code{mark-defun}; the difference is that it backs up over the
  736. ! argument declarations, function name, and returned data type so that the
  737.   entire C function is inside the region.
  738.   
  739.     Emacs assumes that any open-parenthesis found in the leftmost column is
  740. ***************
  741. *** 7883,7892 ****
  742.   such lines are always indented @code{lisp-indent-offset} more columns than
  743.   the containing list.
  744.   
  745. ! @vindex lisp-body-indention
  746. !   The standard pattern is overridded for certain functions.  Functions
  747.   whose names start with @code{def} always indent the second line by
  748. ! @code{lisp-body-indention} extra columns beyond the open-parenthesis
  749.   starting the expression.
  750.   
  751.     The standard pattern can be overridden in various ways for individual
  752. --- 7939,7948 ----
  753.   such lines are always indented @code{lisp-indent-offset} more columns than
  754.   the containing list.
  755.   
  756. ! @vindex lisp-body-indent
  757. !   The standard pattern is overridden for certain functions.  Functions
  758.   whose names start with @code{def} always indent the second line by
  759. ! @code{lisp-body-indent} extra columns beyond the open-parenthesis
  760.   starting the expression.
  761.   
  762.     The standard pattern can be overridden in various ways for individual
  763. ***************
  764. *** 8119,8125 ****
  765.     The Emacs parenthesis-matching feature is designed to show automatically
  766.   how parentheses match in the text.  Whenever a self-inserting character
  767.   that is a closing delimiter is typed, the cursor moves momentarily to the
  768. ! location of the matching opening delimiter, provided that is on the screen.
  769.   If it is not on the screen, some text starting with that opening delimiter
  770.   is displayed in the echo area.  Either way, you can tell what grouping is
  771.   being closed off.
  772. --- 8175,8181 ----
  773.     The Emacs parenthesis-matching feature is designed to show automatically
  774.   how parentheses match in the text.  Whenever a self-inserting character
  775.   that is a closing delimiter is typed, the cursor moves momentarily to the
  776. ! location of the matching opening delimiter, provided it is on the screen.
  777.   If it is not on the screen, some text starting with that opening delimiter
  778.   is displayed in the echo area.  Either way, you can tell what grouping is
  779.   being closed off.
  780.