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 >
Wrap
Internet Message Format
|
1990-12-28
|
36KB
From: howard@hasse.ericsson.se (Howard Gayle)
Newsgroups: alt.sources
Subject: GNU Emacs 8-bit mods part 11 of 12
Message-ID: <1990Apr5.134300.9310@ericsson.se>
Date: 5 Apr 90 13:43:00 GMT
*** ../18.55/man/emacs.tex Tue Aug 16 23:37:07 1988
--- man/emacs.tex Thu Apr 5 09:30:29 1990
***************
*** 7,13 ****
@ifinfo
This file documents the GNU Emacs editor.
! Copyright (C) 1985, 1986 Richard M. Stallman.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
--- 7,13 ----
@ifinfo
This file documents the GNU Emacs editor.
! Copyright (C) 1985, 1986, 1987, 1990 Richard M. Stallman.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
***************
*** 41,56 ****
@sp 6
@center @titlefont{GNU Emacs Manual}
@sp 4
! @center Fifth Edition, Emacs Version 18
@sp 1
@center for Unix Users
@sp 1
! @center October 1986
@sp 5
@center Richard Stallman
@page
@vskip 0pt plus 1filll
! Copyright @copyright{} 1985, 1986 Richard M. Stallman.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
--- 41,56 ----
@sp 6
@center @titlefont{GNU Emacs Manual}
@sp 4
! @center Sixth Edition, Emacs Version 18
@sp 1
@center for Unix Users
@sp 1
! @center June 1987
@sp 5
@center Richard Stallman
@page
@vskip 0pt plus 1filll
! Copyright @copyright{} 1985, 1986, 1987, 1990 Richard M. Stallman.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
***************
*** 132,138 ****
* Indentation:: Editing the white space at the beginnings of lines.
* Text:: Commands and modes for editing English.
* Programs:: Commands and modes for editing programs.
! * Running:: Compiling, running and debugging programs.
* Abbrevs:: How to define text abbreviations to reduce
the number of characters you must type.
* Picture:: Editing pictures made up of characters
--- 132,138 ----
* Indentation:: Editing the white space at the beginnings of lines.
* Text:: Commands and modes for editing English.
* Programs:: Commands and modes for editing programs.
! * Running:: Compiling, running, and debugging programs.
* Abbrevs:: How to define text abbreviations to reduce
the number of characters you must type.
* Picture:: Editing pictures made up of characters
***************
*** 273,279 ****
There are editing commands to operate on them.
* Grinding:: Adjusting indentation to show the nesting.
* Matching:: Insertion of a close-delimiter flashes matching open.
! * Comments:: Inserting, illing and aligning comments.
* Balanced Editing:: Inserting two matching parentheses at once, etc.
* Lisp Completion:: Completion on symbol names in Lisp code.
* Documentation:: Getting documentation of functions you plan to call.
--- 273,279 ----
There are editing commands to operate on them.
* Grinding:: Adjusting indentation to show the nesting.
* Matching:: Insertion of a close-delimiter flashes matching open.
! * Comments:: Inserting, killing, and aligning comments.
* Balanced Editing:: Inserting two matching parentheses at once, etc.
* Lisp Completion:: Completion on symbol names in Lisp code.
* Documentation:: Getting documentation of functions you plan to call.
***************
*** 351,356 ****
--- 351,362 ----
beginners from surprises.
* Syntax:: The syntax table controls how words and expressions
are parsed.
+ * Case Tables:: Case tables tell the case (upper, lower,
+ or none) of every character in a character set.
+ * Char Tables:: Char[acter] tables control how characters are displayed.
+ * Sort Tables:: Sort tables control searching and sorting.
+ * Trans Tables:: Trans[lation] tables tell how to map from one character
+ to another, including case conversion.
* Init File:: How to write common customizations in the `.emacs' file.
Subnodes of Lossage (and recovery)
***************
*** 676,682 ****
the Emacs comment manipulation commands to use those strings
(@pxref{Comments}). Another sort of customization is rearrangement of the
command set. For example, if you prefer the four basic cursor motion
! commands (up, down, left and right) on keys in a diamond pattern on the
keyboard, you can have it. @xref{Customization}.
@dfn{Extensible} means that you can go beyond simple customization and
--- 682,688 ----
the Emacs comment manipulation commands to use those strings
(@pxref{Comments}). Another sort of customization is rearrangement of the
command set. For example, if you prefer the four basic cursor motion
! commands (up, down, left, and right) on keys in a diamond pattern on the
keyboard, you can have it. @xref{Customization}.
@dfn{Extensible} means that you can go beyond simple customization and
***************
*** 895,901 ****
supports it); @code{nil} means no inverse video. The default is @code{t}.
@iftex
! @chapter Characters, Keys and Commands
This chapter explains the character set used by Emacs for input commands
and for the contents of files, and also explains the concepts of
--- 901,907 ----
supports it); @code{nil} means no inverse video. The default is @code{t}.
@iftex
! @chapter Characters, Keys, and Commands
This chapter explains the character set used by Emacs for input commands
and for the contents of files, and also explains the concepts of
***************
*** 908,914 ****
@cindex character set
@cindex ASCII
! GNU Emacs uses the ASCII character set, which defines 128 different
character codes. Some of these codes are assigned graphic symbols such
as @samp{a} and @samp{=}; the rest are control characters, such as
@kbd{Control-a} (also called @kbd{C-a} for short). @kbd{C-a} gets its name
--- 914,921 ----
@cindex character set
@cindex ASCII
! By default,
! GNU Emacs uses the ASCII character set, which defines 128 different
character codes. Some of these codes are assigned graphic symbols such
as @samp{a} and @samp{=}; the rest are control characters, such as
@kbd{Control-a} (also called @kbd{C-a} for short). @kbd{C-a} gets its name
***************
*** 968,973 ****
--- 975,982 ----
displayed as @samp{^A}. Non-ASCII characters 128 and up are displayed with
octal escape sequences; thus, character code 243 (octal), also called
@kbd{M-#} when used as an input character, is displayed as @samp{\243}.
+ Emacs can be customized to edit other 8-bit character sets than
+ ASCII. @xref{Customizing Character Sets}.@refill
@node Keys, Commands, Characters, Top
@section Keys
***************
*** 1220,1226 ****
@item -i @var{file}
@itemx -insert @var{file}
Insert the contents of @var{file} into the current buffer.
! This is like what @kbd{M-x insert-buffer} does; @xref{Misc File Ops}.
@item -kill
Exit from Emacs without asking for confirmation.
--- 1229,1235 ----
@item -i @var{file}
@itemx -insert @var{file}
Insert the contents of @var{file} into the current buffer.
! This is like what @kbd{M-x insert-file} does; @xref{Misc File Ops}.
@item -kill
Exit from Emacs without asking for confirmation.
***************
*** 1623,1628 ****
--- 1632,1640 ----
it local to the current buffer; until that time, the default value is in
effect. The default is initially @code{nil}. @xref{Locals}.@refill
+ You can customize the characters used to indicate continuation and
+ truncation. @xref{Char Tables}.@refill
+
@node Position Info, Arguments, Continuation Lines, Basic
@section Cursor Position Information
***************
*** 1776,1783 ****
when they come up; they are always for reasons of convenience of use of the
individual command.
- @c section Autoarg Mode
@ignore
@cindex autoarg mode
Users of ASCII keyboards may prefer to use Autoarg mode. Autoarg mode
means that you don't need to type C-U to specify a numeric argument.
--- 1788,1795 ----
when they come up; they are always for reasons of convenience of use of the
individual command.
@ignore
+ @c section Autoarg Mode
@cindex autoarg mode
Users of ASCII keyboards may prefer to use Autoarg mode. Autoarg mode
means that you don't need to type C-U to specify a numeric argument.
***************
*** 1852,1858 ****
Not all buffers record undo information. Buffers whose names start with
spaces don't; these buffers are used internally by Emacs and its extensions
to hold text that users don't normally look at or edit. Also, minibuffers,
! help buffers and documentation buffers don't record undo information.
At most 8000 or so characters of deleted or modified text can be
remembered in any one buffer for reinsertion by the undo command. Also,
--- 1864,1870 ----
Not all buffers record undo information. Buffers whose names start with
spaces don't; these buffers are used internally by Emacs and its extensions
to hold text that users don't normally look at or edit. Also, minibuffers,
! help buffers, and documentation buffers don't record undo information.
At most 8000 or so characters of deleted or modified text can be
remembered in any one buffer for reinsertion by the undo command. Also,
***************
*** 2036,2042 ****
and add those characters to the ones you have given.
Case is normally significant in completion, because it is significant in
! most of the names that you can complete (buffer names, file names and
command names). Thus, @samp{fo} will not complete to @samp{Foo}. When you
are completing a name in which case does not matter, case may be ignored
for completion's sake if the program said to do so.
--- 2048,2054 ----
and add those characters to the ones you have given.
Case is normally significant in completion, because it is significant in
! most of the names that you can complete (buffer names, file names, and
command names). Thus, @samp{fo} will not complete to @samp{Foo}. When you
are completing a name in which case does not matter, case may be ignored
for completion's sake if the program said to do so.
***************
*** 2810,2816 ****
@kindex M-^
@findex delete-indentation
The other delete commands are those which delete only formatting
! characters: spaces, tabs and newlines. @kbd{M-\} (@code{delete-horizontal-space})
deletes all the spaces and tab characters before and after point.
@kbd{M-@key{SPC}} (@code{just-one-space}) does likewise but leaves a single
space after point, regardless of the number of spaces that existed
--- 2822,2828 ----
@kindex M-^
@findex delete-indentation
The other delete commands are those which delete only formatting
! characters: spaces, tabs, and newlines. @kbd{M-\} (@code{delete-horizontal-space})
deletes all the spaces and tab characters before and after point.
@kbd{M-@key{SPC}} (@code{just-one-space}) does likewise but leaves a single
space after point, regardless of the number of spaces that existed
***************
*** 2822,2828 ****
line). @kbd{M-^} (@code{delete-indentation}) joins the current line and
the previous line, or the current line and the next line if given an
argument, by deleting a newline and all surrounding spaces, possibly
! leaving a single space. @xref{Indentation,M-^}.
@subsection Killing by Lines
--- 2834,2840 ----
line). @kbd{M-^} (@code{delete-indentation}) joins the current line and
the previous line, or the current line and the next line if given an
argument, by deleting a newline and all surrounding spaces, possibly
! leaving a single space. @xref{Indentation}.
@subsection Killing by Lines
***************
*** 3332,3338 ****
Clear screen and redisplay, scrolling the selected window to center
point vertically within it (@code{recenter}).
@item C-v
! Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
@item M-v
Scroll backward (@code{scroll-down}).
@item @var{arg} C-l
--- 3344,3350 ----
Clear screen and redisplay, scrolling the selected window to center
point vertically within it (@code{recenter}).
@item C-v
! Scroll forward (a windowfull or a specified number of lines) (@code{scroll-up}).
@item M-v
Scroll backward (@code{scroll-down}).
@item @var{arg} C-l
***************
*** 3375,3381 ****
Clear screen and redisplay, scrolling the selected window to center
point vertically within it (@code{recenter}).
@item C-v
! Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
@item M-v
Scroll backward (@code{scroll-down}).
@item @var{arg} C-l
--- 3387,3393 ----
Clear screen and redisplay, scrolling the selected window to center
point vertically within it (@code{recenter}).
@item C-v
! Scroll forward (a windowfull or a specified number of lines) (@code{scroll-up}).
@item M-v
Scroll backward (@code{scroll-down}).
@item @var{arg} C-l
***************
*** 3403,3411 ****
opposite direction.@refill
@vindex next-screen-context-lines
! To read the buffer a windowful at a time, use @kbd{C-v} with no argument.
It takes the last two lines at the bottom of the window and puts them at
! the top, followed by nearly a whole windowful of lines not previously
visible. If point was in the text scrolled off the top, it moves to the
new top of the window. @kbd{M-v} with no argument moves backward with
overlap similarly. The number of lines of overlap across a @kbd{C-v} or
--- 3415,3423 ----
opposite direction.@refill
@vindex next-screen-context-lines
! To read the buffer a windowfull at a time, use @kbd{C-v} with no argument.
It takes the last two lines at the bottom of the window and puts them at
! the top, followed by nearly a whole windowfull of lines not previously
visible. If point was in the text scrolled off the top, it moves to the
new top of the window. @kbd{M-v} with no argument moves backward with
overlap similarly. The number of lines of overlap across a @kbd{C-v} or
***************
*** 3478,3484 ****
argument.) Then lines with at least @var{n} columns of indentation
disappear from the screen. The only indication of their presence is that
three dots (@samp{@dots{}}) appear at the end of each visible line that is
! followed by one or more invisible ones.@refill
The invisible lines are still present in the buffer, and most editing
commands see them as usual, so it is very easy to put point in the middle
--- 3490,3497 ----
argument.) Then lines with at least @var{n} columns of indentation
disappear from the screen. The only indication of their presence is that
three dots (@samp{@dots{}}) appear at the end of each visible line that is
! followed by one or more invisible ones. @xref{Char Tables} for information
! on how to customize the indication for invisible lines.@refill
The invisible lines are still present in the buffer, and most editing
commands see them as usual, so it is very easy to put point in the middle
***************
*** 3492,3498 ****
To make everything visible again, type @kbd{C-x $} with no argument.
! @node Display Vars,, Selective Display, Display
@section Variables Controlling Display
This section contains information for customization only. Beginning
--- 3505,3511 ----
To make everything visible again, type @kbd{C-x $} with no argument.
! @node Display Vars, Unprintables, Selective Display, Display
@section Variables Controlling Display
This section contains information for customization only. Beginning
***************
*** 3529,3549 ****
keys; its value is the number of seconds of pause required to cause echoing
to start, or zero meaning don't echo at all. @xref{Echo Area}.
- @vindex ctl-arrow
- If the variable @code{ctl-arrow} is @code{nil}, control characters in the
- buffer are displayed with octal escape sequences, all except newline and
- tab. Altering the value of @code{ctl-arrow} makes it local to the current
- buffer; until that time, the default value is in effect. The default is
- initially @code{t}. @xref{Locals}.
-
@vindex tab-width
Normally, a tab character in the buffer is displayed as whitespace which
extends to the next display tab stop position, and display tab stops come
at intervals equal to eight spaces. The number of spaces per tab is
! controlled by the variable @code{tab-width}, which is made local by
! changing it, just like @code{ctl-arrow}. Note that how the tab character
in the buffer is displayed has nothing to do with the definition of
! @key{TAB} as a command.
@vindex selective-display-ellipses
If you set the variable @code{selective-display-ellipses} to @code{nil},
--- 3542,3557 ----
keys; its value is the number of seconds of pause required to cause echoing
to start, or zero meaning don't echo at all. @xref{Echo Area}.
@vindex tab-width
Normally, a tab character in the buffer is displayed as whitespace which
extends to the next display tab stop position, and display tab stops come
at intervals equal to eight spaces. The number of spaces per tab is
! controlled by the variable @code{tab-width}.
! Altering the value of @code{tab-width} makes it local to the current
! buffer; until that time, the default value is in effect.
! Note that how the tab character
in the buffer is displayed has nothing to do with the definition of
! @key{TAB} as a command.@refill
@vindex selective-display-ellipses
If you set the variable @code{selective-display-ellipses} to @code{nil},
***************
*** 3551,3556 ****
--- 3559,3603 ----
lines. Then there is no visible indication of the invisible lines.
This variable too becomes local automatically when set.
+ @node Unprintables,, Display Vars, Display
+ @section Display of Unprintable Characters
+
+ This section contains information for customization only. Beginning
+ users should skip it.
+
+ @findex buffer-ctl-arrow-off
+ @findex buffer-ctl-arrow-on
+ @findex ctl-arrow-off
+ @findex ctl-arrow-on
+ @findex default-ctl-arrow-off
+ @findex default-ctl-arrow-on
+ @findex toggle-ctl-arrow
+ @findex toggle-default-ctl-arrow
+ Normally, control characters in the buffer (except newline and tab) are
+ displayed as two-character escape sequences starting with @samp{^}. Other
+ unprintable characters are displayed with octal escape sequences. The
+ command @code{ctl-arrow-off} causes all control characters (except newline
+ and tab) to be displayed with octal escape sequences in the selected
+ window. The command @code{ctl-arrow-on} has the opposite effect. The
+ commands @code{buffer-ctl-arrow-off} and @code{buffer-ctl-arrow-on} change
+ the defaults for new windows displaying the current buffer; they do not affect
+ existing windows. The commands @code{default-ctl-arrow-off} and
+ @code{default-ctl-arrow-on} change the default for new buffers; they do not
+ affect existing buffers or windows.
+ The command @code{toggle-ctl-arrow} toggles between the
+ two alternatives in the selected window; the
+ command @code{toggle-default-ctl-arrow} does the same for new buffers.
+ For example, the line@refill
+
+ @example
+ (default-ctl-arrow-off)
+ @end example
+
+ @noindent
+ in your @file{~/.emacs} file will change the default.
+ @xref{Char Tables} for more information on customizing how characters are
+ displayed.@refill
+
@node Search, Fixit, Display, Top
@chapter Searching and Replacement
@cindex searching
***************
*** 3999,4005 ****
sense. For example, @samp{*foo} treats @samp{*} as ordinary since there is
no preceding expression on which the @samp{*} can act. It is poor practice
to depend on this behavior; better to quote the special character anyway,
! regardless of where is appears.@refill
For the most part, @samp{\} followed by any character matches only
that character. However, there are several exceptions: characters
--- 4046,4052 ----
sense. For example, @samp{*foo} treats @samp{*} as ordinary since there is
no preceding expression on which the @samp{*} can act. It is poor practice
to depend on this behavior; better to quote the special character anyway,
! regardless of where it appears.@refill
For the most part, @samp{\} followed by any character matches only
that character. However, there are several exceptions: characters
***************
*** 4139,4145 ****
to @code{nil}. Then all letters must match exactly, including case. This
is a per-buffer variable; altering the variable affects only the current
buffer, but there is a default value which you can change as well.
! @xref{Locals}.
@node Replace, Other Repeating Search, Search Case, Search
@section Replacement Commands
--- 4186,4194 ----
to @code{nil}. Then all letters must match exactly, including case. This
is a per-buffer variable; altering the variable affects only the current
buffer, but there is a default value which you can change as well.
! @xref{Locals}. Other characters can be ``folded'' together in
! searches, for example a letter with or without some diacritical
! mark. @xref{Char Tables}.@refill
@node Replace, Other Repeating Search, Search Case, Search
@section Replacement Commands
***************
*** 4770,4776 ****
variable is expected to be a list of functions, and the functions are
called one by one until one of them returns non-@code{nil}. Any visiting
of a file, whether extant or not, expects @code{find-file-hooks} to
! contain list of functions and calls them all, one by one. In both cases
the functions receive no arguments. Visiting a nonexistent file
runs the @code{find-file-not-found-hooks} first.
--- 4819,4825 ----
variable is expected to be a list of functions, and the functions are
called one by one until one of them returns non-@code{nil}. Any visiting
of a file, whether extant or not, expects @code{find-file-hooks} to
! contain a list of functions and calls them all, one by one. In both cases
the functions receive no arguments. Visiting a nonexistent file
runs the @code{find-file-not-found-hooks} first.
***************
*** 5079,5085 ****
The first thing you should do when notified that simultaneous editing has
already taken place is to list the directory with @kbd{C-u C-x C-d}
(@pxref{ListDir,,Directory Listing}). This will show the file's current
! author. You should attempt to contact him to warn him not to continue
editing. Often the next step is to save the contents of your Emacs buffer
under a different name, and use @code{diff} to compare the two
files.@refill
--- 5128,5134 ----
The first thing you should do when notified that simultaneous editing has
already taken place is to list the directory with @kbd{C-u C-x C-d}
(@pxref{ListDir,,Directory Listing}). This will show the file's current
! owner. You should attempt to contact him to warn him not to continue
editing. Often the next step is to save the contents of your Emacs buffer
under a different name, and use @code{diff} to compare the two
files.@refill
***************
*** 5217,5223 ****
The way to use the contents of an auto-save file to recover from a loss
of data is with the command @kbd{M-x recover-file @key{RET} @var{file}
@key{RET}}. This visits @var{file} and then (after your confirmation)
! restores the contents from from its auto-save file @file{#@var{file}#}. You
can then save with @kbd{C-x C-s} to put the recovered text into @var{file}
itself. For example, to recover file @file{foo.c} from its auto-save file
@file{#foo.c#}, do:@refill
--- 5266,5272 ----
The way to use the contents of an auto-save file to recover from a loss
of data is with the command @kbd{M-x recover-file @key{RET} @var{file}
@key{RET}}. This visits @var{file} and then (after your confirmation)
! restores the contents from its auto-save file @file{#@var{file}#}. You
can then save with @kbd{C-x C-s} to put the recovered text into @var{file}
itself. For example, to recover file @file{foo.c} from its auto-save file
@file{#foo.c#}, do:@refill
***************
*** 5469,5475 ****
@kbd{M-x view-file} allows you to scan or read a file by sequential
screenfuls. It reads a file name argument using the minibuffer. After
reading the file into an Emacs buffer, @code{view-file} reads and displays
! one windowful. You can then type @key{SPC} to scroll forward one windowful,
or @key{DEL} to scroll backward. Various other commands are provided for
moving around in the file, but none for changing it; type @kbd{C-h} while
viewing for a list of them. They are mostly the same as normal Emacs
--- 5518,5524 ----
@kbd{M-x view-file} allows you to scan or read a file by sequential
screenfuls. It reads a file name argument using the minibuffer. After
reading the file into an Emacs buffer, @code{view-file} reads and displays
! one windowfull. You can then type @key{SPC} to scroll forward one windowfull,
or @key{DEL} to scroll backward. Various other commands are provided for
moving around in the file, but none for changing it; type @kbd{C-h} while
viewing for a list of them. They are mostly the same as normal Emacs
***************
*** 5884,5890 ****
screen have mode lines, but they are truncated; also, they do not
always appear in inverse video, because, the Emacs display routines
have not been taught how to display a region of inverse video that is
! only part of a line on the screen.
@vindex truncate-partial-width-windows
When a window is less than the full width, text lines too long to fit are
--- 5933,5940 ----
screen have mode lines, but they are truncated; also, they do not
always appear in inverse video, because, the Emacs display routines
have not been taught how to display a region of inverse video that is
! only part of a line on the screen. The character that
! separates side-by-side windows can be customized. @xref{Char Tables}.@refill
@vindex truncate-partial-width-windows
When a window is less than the full width, text lines too long to fit are
***************
*** 6051,6057 ****
The major modes fall into three major groups. Lisp mode (which has
several variants), C mode and Muddle mode are for specific programming
! languages. Text mode, Nroff mode, @TeX{} mode and Outline mode are for
editing English text. The remaining major modes are not intended for use
on users' files; they are used in buffers created for specific purposes by
Emacs, such as Dired mode for buffers made by Dired (@pxref{Dired}), and
--- 6101,6107 ----
The major modes fall into three major groups. Lisp mode (which has
several variants), C mode and Muddle mode are for specific programming
! languages. Text mode, Nroff mode, @TeX{} mode, and Outline mode are for
editing English text. The remaining major modes are not intended for use
on users' files; they are used in buffers created for specific purposes by
Emacs, such as Dired mode for buffers made by Dired (@pxref{Dired}), and
***************
*** 6391,6397 ****
Entering Text mode or Indented Text mode calls with no arguments the
value of the variable @code{text-mode-hook}, if that value exists and is
not @code{nil}. This value is also called when modes related to Text mode
! are entered; this includes Nroff mode, @TeX{} mode, Outline mode and Mail
mode. Your hook can look at the value of @code{major-mode} to see which of
these modes is actually being entered.
--- 6441,6447 ----
Entering Text mode or Indented Text mode calls with no arguments the
value of the variable @code{text-mode-hook}, if that value exists and is
not @code{nil}. This value is also called when modes related to Text mode
! are entered; this includes Nroff mode, @TeX{} mode, Outline mode, and Mail
mode. Your hook can look at the value of @code{major-mode} to see which of
these modes is actually being entered.
***************
*** 6787,6793 ****
newline in between. When you save the file in Outline mode, Control-M
characters are saved as newlines, so the invisible lines become ordinary
lines in the file. But saving does not change the visibility status of a
! line inside Emacs.
@node Outline Motion,Outline Visibility,Outline Format,Outline Mode
@subsubsection Outline Motion Commands
--- 6837,6844 ----
newline in between. When you save the file in Outline mode, Control-M
characters are saved as newlines, so the invisible lines become ordinary
lines in the file. But saving does not change the visibility status of a
! line inside Emacs. The character that marks the beginning of
! an invisible line can be customized. @xref{Char Tables}.@refill
@node Outline Motion,Outline Visibility,Outline Format,Outline Mode
@subsubsection Outline Motion Commands
***************
*** 6918,6923 ****
--- 6969,6976 ----
The use of ellipses at the ends of visible lines can be turned off
by setting @code{selective-display-ellipses} to @code{nil}. Then there
is no visible indication of the presence of invisible lines.
+ You can also customize the ellipsis string to something other
+ than three dots. @xref{Char Tables}.@refill
@node Words, Sentences, Text Mode, Text
@section Words
***************
*** 6945,6951 ****
@end table
Notice how these keys form a series that parallels the
! character-based @kbd{C-f}, @kbd{C-b}, @kbd{C-d}, @kbd{C-t} and
@key{DEL}. @kbd{M-@@} is related to @kbd{C-@@}, which is an alias for
@kbd{C-@key{SPC}}.@refill
--- 6998,7004 ----
@end table
Notice how these keys form a series that parallels the
! character-based @kbd{C-f}, @kbd{C-b}, @kbd{C-d}, @kbd{C-t}, and
@key{DEL}. @kbd{M-@@} is related to @kbd{C-@@}, which is an alias for
@kbd{C-@key{SPC}}.@refill
***************
*** 7430,7439 ****
@cindex region
@findex downcase-region
@findex upcase-region
The other case conversion commands are @kbd{C-x C-u}
(@code{upcase-region}) and @kbd{C-x C-l} (@code{downcase-region}), which
convert everything between point and mark to the specified case. Point and
! mark do not move.@refill
@node Programs, Running, Text, Top
@chapter Editing Programs
--- 7483,7495 ----
@cindex region
@findex downcase-region
@findex upcase-region
+ @findex invert-case
The other case conversion commands are @kbd{C-x C-u}
(@code{upcase-region}) and @kbd{C-x C-l} (@code{downcase-region}), which
convert everything between point and mark to the specified case. Point and
! mark do not move.
! The command @code{invert-case} inverts the case of the
! character after point, then moves forward one character.@refill
@node Programs, Running, Text, Top
@chapter Editing Programs
***************
*** 7481,7487 ****
There are editing commands to operate on them.
* Grinding:: Adjusting indentation to show the nesting.
* Matching:: Insertion of a close-delimiter flashes matching open.
! * Comments:: Inserting, illing and aligning comments.
* Balanced Editing:: Inserting two matching parentheses at once, etc.
* Lisp Completion:: Completion on symbol names in Lisp code.
* Documentation:: Getting documentation of functions you plan to call.
--- 7537,7543 ----
There are editing commands to operate on them.
* Grinding:: Adjusting indentation to show the nesting.
* Matching:: Insertion of a close-delimiter flashes matching open.
! * Comments:: Inserting, killing and aligning comments.
* Balanced Editing:: Inserting two matching parentheses at once, etc.
* Lisp Completion:: Completion on symbol names in Lisp code.
* Documentation:: Getting documentation of functions you plan to call.
***************
*** 7542,7548 ****
that value exists and is non-@code{nil}. Mode hook variables for other
programming language modes include @code{lisp-mode-hook},
@code{emacs-lisp-mode-hook}, @code{lisp-interaction-mode-hook},
! @code{scheme-mode-hook} and @code{muddle-mode-hook}. The mode hook
function receives no arguments.@refill
@node Lists, Defuns, Program Modes, Programs
--- 7598,7604 ----
that value exists and is non-@code{nil}. Mode hook variables for other
programming language modes include @code{lisp-mode-hook},
@code{emacs-lisp-mode-hook}, @code{lisp-interaction-mode-hook},
! @code{scheme-mode-hook}, and @code{muddle-mode-hook}. The mode hook
function receives no arguments.@refill
@node Lists, Defuns, Program Modes, Programs
***************
*** 7733,7739 ****
ready to move the defun to a different place in the text. In C mode,
@kbd{C-M-h} runs the function @code{mark-c-function}, which is almost the
same as @code{mark-defun}; the difference is that it backs up over the
! argument declarations, function name and returned data type so that the
entire C function is inside the region.
Emacs assumes that any open-parenthesis found in the leftmost column is
--- 7789,7795 ----
ready to move the defun to a different place in the text. In C mode,
@kbd{C-M-h} runs the function @code{mark-c-function}, which is almost the
same as @code{mark-defun}; the difference is that it backs up over the
! argument declarations, function name, and returned data type so that the
entire C function is inside the region.
Emacs assumes that any open-parenthesis found in the leftmost column is
***************
*** 7883,7892 ****
such lines are always indented @code{lisp-indent-offset} more columns than
the containing list.
! @vindex lisp-body-indention
! The standard pattern is overridded for certain functions. Functions
whose names start with @code{def} always indent the second line by
! @code{lisp-body-indention} extra columns beyond the open-parenthesis
starting the expression.
The standard pattern can be overridden in various ways for individual
--- 7939,7948 ----
such lines are always indented @code{lisp-indent-offset} more columns than
the containing list.
! @vindex lisp-body-indent
! The standard pattern is overridden for certain functions. Functions
whose names start with @code{def} always indent the second line by
! @code{lisp-body-indent} extra columns beyond the open-parenthesis
starting the expression.
The standard pattern can be overridden in various ways for individual
***************
*** 8119,8125 ****
The Emacs parenthesis-matching feature is designed to show automatically
how parentheses match in the text. Whenever a self-inserting character
that is a closing delimiter is typed, the cursor moves momentarily to the
! location of the matching opening delimiter, provided that is on the screen.
If it is not on the screen, some text starting with that opening delimiter
is displayed in the echo area. Either way, you can tell what grouping is
being closed off.
--- 8175,8181 ----
The Emacs parenthesis-matching feature is designed to show automatically
how parentheses match in the text. Whenever a self-inserting character
that is a closing delimiter is typed, the cursor moves momentarily to the
! location of the matching opening delimiter, provided it is on the screen.
If it is not on the screen, some text starting with that opening delimiter
is displayed in the echo area. Either way, you can tell what grouping is
being closed off.