mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-24 10:38:38 +00:00
entered into RCS
This commit is contained in:
parent
ab63960fcf
commit
7fd1911a25
@ -533,8 +533,8 @@ deciphered as follows:
|
||||
|
||||
@table @code
|
||||
@item [.?!]
|
||||
The first part of the pattern consists of three characters, a period, a
|
||||
question mark and an exclamation mark, within square brackets. The
|
||||
The first part of the pattern is a character set that matches any one of
|
||||
three characters: period, question mark, and exclamation mark. The
|
||||
match must begin with one of these three characters.
|
||||
|
||||
@item []\"')@}]*
|
||||
@ -545,11 +545,11 @@ a string. The @samp{*} at the end indicates that the immediately
|
||||
preceding regular expression (a character set, in this case) may be
|
||||
repeated zero or more times.
|
||||
|
||||
@item \\($\\|@ \\|\t\\|@ @ \\)
|
||||
@item \\($\\|@ $\\|\t\\|@ @ \\)
|
||||
The third part of the pattern matches the whitespace that follows the
|
||||
end of a sentence: the end of a line, or a tab, or two spaces. The
|
||||
double backslashes mark the parentheses and vertical bars as regular
|
||||
expression syntax; the parentheses mark the group and the vertical bars
|
||||
expression syntax; the parentheses delimit a group and the vertical bars
|
||||
separate alternatives. The dollar sign is used to match the end of a
|
||||
line.
|
||||
|
||||
@ -624,14 +624,14 @@ This function searches backward in the current buffer for a string of
|
||||
text that is matched by the regular expression @var{regexp}, leaving
|
||||
point at the beginning of the first text found.
|
||||
|
||||
This function is analogous to @code{re-search-forward}, but they are
|
||||
not simple mirror images. @code{re-search-forward} finds the match
|
||||
whose beginning is as close as possible. If @code{re-search-backward}
|
||||
were a perfect mirror image, it would find the match whose end is as
|
||||
close as possible. However, in fact it finds the match whose beginning
|
||||
is as close as possible. The reason is that matching a regular
|
||||
expression at a given spot always works from beginning to end, and is
|
||||
done at a specified beginning position.
|
||||
This function is analogous to @code{re-search-forward}, but they are not
|
||||
simple mirror images. @code{re-search-forward} finds the match whose
|
||||
beginning is as close as possible to the starting point. If
|
||||
@code{re-search-backward} were a perfect mirror image, it would find the
|
||||
match whose end is as close as possible. However, in fact it finds the
|
||||
match whose beginning is as close as possible. The reason is that
|
||||
matching a regular expression at a given spot always works from
|
||||
beginning to end, and starts at a specified beginning position.
|
||||
|
||||
A true mirror-image of @code{re-search-forward} would require a special
|
||||
feature for matching regexps from end to beginning. It's not worth the
|
||||
@ -804,8 +804,8 @@ number of occurrences to consider. In this case, @code{perform-replace}
|
||||
returns after considering that many occurrences.
|
||||
|
||||
Normally, the keymap @code{query-replace-map} defines the possible user
|
||||
responses. The argument @var{map}, if non-@code{nil}, is a keymap to
|
||||
use instead of @code{query-replace-map}.
|
||||
responses for queries. The argument @var{map}, if non-@code{nil}, is a
|
||||
keymap to use instead of @code{query-replace-map}.
|
||||
@end defun
|
||||
|
||||
@defvar query-replace-map
|
||||
@ -837,10 +837,12 @@ Do take the action being considered---in other words, ``yes.''
|
||||
Do not take action for this question---in other words, ``no.''
|
||||
|
||||
@item exit
|
||||
Answer this question ``no,'' and don't ask any more.
|
||||
Answer this question ``no,'' and give up on the entire series of
|
||||
questions, assuming that the answers will be ``no.''
|
||||
|
||||
@item act-and-exit
|
||||
Answer this question ``yes,'' and don't ask any more.
|
||||
Answer this question ``yes,'' and give up on the entire series of
|
||||
questions, assuming that subsequent answers will be ``no.''
|
||||
|
||||
@item act-and-show
|
||||
Answer this question ``yes,'' but show the results---don't advance yet
|
||||
@ -908,19 +910,18 @@ expression.
|
||||
This function returns the position of the start of text matched by the
|
||||
last regular expression searched for, or a subexpression of it.
|
||||
|
||||
The argument @var{count}, a number, specifies a subexpression whose
|
||||
start position is the value. If @var{count} is zero, then the value is
|
||||
the position of the text matched by the whole regexp. If @var{count} is
|
||||
greater than zero, then the value is the position of the beginning of
|
||||
the text matched by the @var{count}th subexpression.
|
||||
If @var{count} is zero, then the value is the position of the start of
|
||||
the text matched by the whole regexp. Otherwise, @var{count}, specifies
|
||||
a subexpression in the regular expresion. The value of the function is
|
||||
the starting position of the match for that subexpression.
|
||||
|
||||
Subexpressions of a regular expression are those expressions grouped
|
||||
inside of parentheses, @samp{\(@dots{}\)}. The @var{count}th
|
||||
with escaped parentheses, @samp{\(@dots{}\)}. The @var{count}th
|
||||
subexpression is found by counting occurrences of @samp{\(} from the
|
||||
beginning of the whole regular expression. The first subexpression is
|
||||
numbered 1, the second 2, and so on.
|
||||
|
||||
The value is @code{nil} for a parenthetical grouping inside of a
|
||||
The value is @code{nil} for a subexpression inside a
|
||||
@samp{\|} alternative that wasn't used in the match.
|
||||
@end defun
|
||||
|
||||
@ -972,7 +973,7 @@ subexpression is at the 13th character (@samp{c}).
|
||||
(re-search-forward "The \\(cat \\)")
|
||||
(match-beginning 0)
|
||||
(match-beginning 1))
|
||||
@result{} (t 9 13)
|
||||
@result{} (9 9 13)
|
||||
@end group
|
||||
|
||||
@group
|
||||
@ -1011,6 +1012,9 @@ If the original text contains just one word, and that word is a capital
|
||||
letter, @code{replace-match} considers this a capitalized first word
|
||||
rather than all upper case.
|
||||
|
||||
If @code{case-replace} is @code{nil}, then case conversion is not done,
|
||||
regardless of the value of @var{fixed-case}. @xref{Searching and Case}.
|
||||
|
||||
If @var{literal} is non-@code{nil}, then @var{replacement} is inserted
|
||||
exactly as it is, the only alterations being case changes as needed.
|
||||
If it is @code{nil} (the default), then the character @samp{\} is treated
|
||||
@ -1024,9 +1028,9 @@ part of one of the following sequences:
|
||||
|
||||
@item @samp{\@var{n}}
|
||||
@cindex @samp{\@var{n}} in replacement
|
||||
@samp{\@var{n}} stands for the text that matched the @var{n}th
|
||||
subexpression in the original regexp. Subexpressions are those
|
||||
expressions grouped inside of @samp{\(@dots{}\)}. @var{n} is a digit.
|
||||
@samp{\@var{n}}, where @var{n} is a digit, stands for the text that
|
||||
matched the @var{n}th subexpression in the original regexp.
|
||||
Subexpressions are those expressions grouped inside @samp{\(@dots{}\)}.
|
||||
|
||||
@item @samp{\\}
|
||||
@cindex @samp{\} in replacement
|
||||
@ -1182,8 +1186,8 @@ particular character sets, are included: thus, @samp{[aB]} would match
|
||||
|
||||
If you do not want this feature, set the variable
|
||||
@code{case-fold-search} to @code{nil}. Then all letters must match
|
||||
exactly, including case. This is a per-buffer-local variable; altering
|
||||
the variable affects only the current buffer. (@xref{Intro to
|
||||
exactly, including case. This is a buffer-local variable; altering the
|
||||
variable affects only the current buffer. (@xref{Intro to
|
||||
Buffer-Local}.) Alternatively, you may change the value of
|
||||
@code{default-case-fold-search}, which is the default value of
|
||||
@code{case-fold-search} for buffers that do not override it.
|
||||
@ -1195,9 +1199,13 @@ for an upper case letter only. But this has nothing to do with the
|
||||
searching functions Lisp functions use.
|
||||
|
||||
@defopt case-replace
|
||||
This variable determines whether @code{query-replace} should preserve
|
||||
case in replacements. If the variable is @code{nil}, then
|
||||
@code{replace-match} should not try to convert case.
|
||||
This variable determines whether the replacement functions should
|
||||
preserve case. If the variable is @code{nil}, that means to use the
|
||||
replacement text verbatim. A non-@code{nil} value means to convert the
|
||||
case of the replacement text according to the text being replaced.
|
||||
|
||||
The function @code{replace-match} is where this variable actually has
|
||||
its effect. @xref{Replacing Match}.
|
||||
@end defopt
|
||||
|
||||
@defopt case-fold-search
|
||||
@ -1222,21 +1230,22 @@ used for certain purposes in editing:
|
||||
|
||||
@defvar page-delimiter
|
||||
This is the regexp describing line-beginnings that separate pages. The
|
||||
default value is @code{"^\014"} (i.e., @code{"^^L"} or @code{"^\C-l"}).
|
||||
default value is @code{"^\014"} (i.e., @code{"^^L"} or @code{"^\C-l"});
|
||||
this matches a line that starts with a formfeed character.
|
||||
@end defvar
|
||||
|
||||
@defvar paragraph-separate
|
||||
This is the regular expression for recognizing the beginning of a line
|
||||
that separates paragraphs. (If you change this, you may have to
|
||||
change @code{paragraph-start} also.) The default value is @code{"^[
|
||||
\t\f]*$"}, which is a line that consists entirely of spaces, tabs, and
|
||||
form feeds.
|
||||
change @code{paragraph-start} also.) The default value is
|
||||
@w{@code{"^[@ \t\f]*$"}}, which matches a line that consists entirely of
|
||||
spaces, tabs, and form feeds.
|
||||
@end defvar
|
||||
|
||||
@defvar paragraph-start
|
||||
This is the regular expression for recognizing the beginning of a line
|
||||
that starts @emph{or} separates paragraphs. The default value is
|
||||
@code{"^[ \t\n\f]"}, which matches a line starting with a space, tab,
|
||||
@w{@code{"^[@ \t\n\f]"}}, which matches a line starting with a space, tab,
|
||||
newline, or form feed.
|
||||
@end defvar
|
||||
|
||||
@ -1246,11 +1255,12 @@ paragraph boundaries also end sentences, regardless.) The default value
|
||||
is:
|
||||
|
||||
@example
|
||||
"[.?!][]\"')@}]*\\($\\|\t\\| \\)[ \t\n]*"
|
||||
"[.?!][]\"')@}]*\\($\\| $\\|\t\\| \\)[ \t\n]*"
|
||||
@end example
|
||||
|
||||
This means a period, question mark or exclamation mark, followed by a
|
||||
closing brace, followed by tabs, spaces or new lines.
|
||||
This means a period, question mark or exclamation mark, followed
|
||||
optionally by a closing parenthetical character, followed by tabs,
|
||||
spaces or new lines.
|
||||
|
||||
For a detailed explanation of this regular expression, see @ref{Regexp
|
||||
Example}.
|
||||
|
@ -56,7 +56,7 @@ mode, the character @samp{;} begins a comment, but in C mode, it
|
||||
terminates a statement. To support these variations, Emacs makes the
|
||||
choice of syntax table local to each buffer. Typically, each major
|
||||
mode has its own syntax table and installs that table in each buffer
|
||||
which uses that mode. Changing this table alters the syntax in all
|
||||
that uses that mode. Changing this table alters the syntax in all
|
||||
those buffers as well as in any buffers subsequently put in that mode.
|
||||
Occasionally several similar modes share one syntax table.
|
||||
@xref{Example Major Modes}, for an example of how to set up a syntax
|
||||
@ -92,14 +92,14 @@ puts each character into one class. There is no necessary relationship
|
||||
between the class of a character in one syntax table and its class in
|
||||
any other table.
|
||||
|
||||
Each class is designated by a mnemonic character which serves as the
|
||||
Each class is designated by a mnemonic character, which serves as the
|
||||
name of the class when you need to specify a class. Usually the
|
||||
designator character is one which is frequently put in that class;
|
||||
however, its meaning as a designator is unvarying and independent of
|
||||
what syntax that character currently has.
|
||||
designator character is one that is frequently in that class; however,
|
||||
its meaning as a designator is unvarying and independent of what syntax
|
||||
that character currently has.
|
||||
|
||||
@cindex syntax descriptor
|
||||
A syntax descriptor is a Lisp string which specifies a syntax class, a
|
||||
A syntax descriptor is a Lisp string that specifies a syntax class, a
|
||||
matching character (used only for the parenthesis classes) and flags.
|
||||
The first character is the designator for a syntax class. The second
|
||||
character is the character to match; if it is unused, put a space there.
|
||||
@ -121,7 +121,7 @@ comment-starter, second character of a comment-ender).
|
||||
@node Syntax Class Table
|
||||
@subsection Table of Syntax Classes
|
||||
|
||||
Here is a table syntax classes, the characters that stand for them,
|
||||
Here is a table of syntax classes, the characters that stand for them,
|
||||
their meanings, and examples of their use.
|
||||
|
||||
@deffn {Syntax class} @w{whitespace character}
|
||||
@ -135,7 +135,7 @@ newline and formfeed are almost always classified as whitespace.
|
||||
@deffn {Syntax class} @w{word constituent}
|
||||
@dfn{Word constituents} (designated with @samp{w}) are parts of normal
|
||||
English words and are typically used in variable and command names in
|
||||
programs. All upper and lower case letters and the digits are typically
|
||||
programs. All upper- and lower-case letters, and the digits, are typically
|
||||
word constituents.
|
||||
@end deffn
|
||||
|
||||
@ -227,8 +227,8 @@ This class is not currently used in any standard Emacs modes.
|
||||
@dfn{Paired delimiter characters} (designated with @samp{$}) are like
|
||||
string quote characters except that the syntactic properties of the
|
||||
characters between the delimiters are not suppressed. Only @TeX{} mode
|
||||
uses a paired identical delimiter presently---the @samp{$} that both
|
||||
enters and leaves math mode.
|
||||
uses a paired delimiter presently---the @samp{$} that both enters and
|
||||
leaves math mode.
|
||||
@end deffn
|
||||
|
||||
@deffn {Syntax class} @w{expression prefix}
|
||||
@ -278,14 +278,14 @@ The flags for a character @var{c} are:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@samp{1} means @var{c} is the start of a two-character comment start
|
||||
@samp{1} means @var{c} is the start of a two-character comment-start
|
||||
sequence.
|
||||
|
||||
@item
|
||||
@samp{2} means @var{c} is the second character of such a sequence.
|
||||
|
||||
@item
|
||||
@samp{3} means @var{c} is the start of a two-character comment end
|
||||
@samp{3} means @var{c} is the start of a two-character comment-end
|
||||
sequence.
|
||||
|
||||
@item
|
||||
@ -305,7 +305,7 @@ comment-end sequence of style ``b''.
|
||||
|
||||
The two comment-start sequences must begin with the same character; only
|
||||
the second character may differ. Mark the second character of the
|
||||
``b''-style comment start sequence with the @samp{b} flag.
|
||||
``b''-style comment-start sequence with the @samp{b} flag.
|
||||
|
||||
A comment-end sequence (one or two characters) applies to the ``b''
|
||||
style if its first character has the @samp{b} flag set; otherwise, it
|
||||
@ -322,10 +322,25 @@ The appropriate comment syntax settings for C++ are as follows:
|
||||
@samp{>b}
|
||||
@end table
|
||||
|
||||
Thus @samp{/*} is a comment-start sequence for ``a'' style, @samp{//}
|
||||
is a comment-start sequence for ``b'' style, @samp{*/} is a
|
||||
comment-end sequence for ``a'' style, and newline is a comment-end
|
||||
sequence for ``b'' style.
|
||||
This defines four comment-delimiting sequences:
|
||||
|
||||
@table @asis
|
||||
@item @samp{/*}
|
||||
This is a comment-start sequence for ``a'' style because the
|
||||
second character, @samp{*}, does not have the @samp{b} flag.
|
||||
|
||||
@item @samp{//}
|
||||
This is a comment-start sequence for ``b'' style because the second
|
||||
character, @samp{/}, does have the @samp{b} flag.
|
||||
|
||||
@item @samp{*/}
|
||||
This is a comment-end sequence for ``a'' style because the first
|
||||
character, @samp{*}, does not have the @samp{b} flag
|
||||
|
||||
@item newline
|
||||
This is a comment-end sequence for ``b'' style, because the newline
|
||||
character has the @samp{b} flag.
|
||||
@end table
|
||||
|
||||
@item
|
||||
@c Emacs 19 feature
|
||||
@ -347,7 +362,7 @@ altering syntax tables.
|
||||
|
||||
@defun make-syntax-table
|
||||
This function creates a new syntax table. Character codes 0 through
|
||||
31, and 128 through 255, are set up to inherit from the standard syntax
|
||||
31 and 128 through 255 are set up to inherit from the standard syntax
|
||||
table. The other character codes are set up by copying what the
|
||||
standard syntax table says about them.
|
||||
|
||||
@ -405,7 +420,7 @@ signaled if @var{char} is not a character.
|
||||
;; @r{the first character of a start-comment sequence,}
|
||||
;; @r{and the second character of an end-comment sequence.}
|
||||
;; @r{This is used in C mode.}
|
||||
(modify-syntax-entry ?/ ".13")
|
||||
(modify-syntax-entry ?/ ". 14")
|
||||
@result{} nil
|
||||
@end group
|
||||
@end example
|
||||
@ -421,8 +436,8 @@ An error is signaled if @var{char} is not a character.
|
||||
The following examples apply to C mode. The first example shows that
|
||||
the syntax class of space is whitespace (represented by a space). The
|
||||
second example shows that the syntax of @samp{/} is punctuation. This
|
||||
does not show the fact that it is also part of comment start and end
|
||||
sequence. The third example shows that open parenthesis is in the class
|
||||
does not show the fact that it is also part of comment-start and -end
|
||||
sequences. The third example shows that open parenthesis is in the class
|
||||
of open parentheses. This does not show the fact that it has a matching
|
||||
character, @samp{)}.
|
||||
|
||||
@ -464,7 +479,7 @@ version 18 or earlier.
|
||||
@defun skip-syntax-forward syntaxes &optional limit
|
||||
This function moves point forward across characters having syntax classes
|
||||
mentioned in @var{syntaxes}. It stops when it encounters the end of
|
||||
the buffer, or position @var{lim} (if specified), or a character it is
|
||||
the buffer, or position @var{limit} (if specified), or a character it is
|
||||
not supposed to skip.
|
||||
@ignore @c may want to change this.
|
||||
The return value is the distance traveled, which is a nonnegative
|
||||
@ -475,7 +490,7 @@ integer.
|
||||
@defun skip-syntax-backward syntaxes &optional limit
|
||||
This function moves point backward across characters whose syntax
|
||||
classes are mentioned in @var{syntaxes}. It stops when it encounters
|
||||
the beginning of the buffer, or position @var{lim} (if specified), or a
|
||||
the beginning of the buffer, or position @var{limit} (if specified), or a
|
||||
character it is not supposed to skip.
|
||||
@ignore @c may want to change this.
|
||||
The return value indicates the distance traveled. It is an integer that
|
||||
@ -501,10 +516,10 @@ higher-level functions for moving over balanced expressions.
|
||||
|
||||
@defun parse-partial-sexp start limit &optional target-depth stop-before state stop-comment
|
||||
This function parses a sexp in the current buffer starting at
|
||||
@var{start}, not scanning past @var{limit}. It stops at @var{limit} or
|
||||
when certain criteria described below are met, and sets to the location
|
||||
where parsing stops. It returns a value describing the status of the
|
||||
parse at the point where it stops.
|
||||
@var{start}, not scanning past @var{limit}. It stops at position
|
||||
@var{limit} or when certain criteria described below are met, and sets
|
||||
point to the location where parsing stops. It returns a value
|
||||
describing the status of the parse at the point where it stops.
|
||||
|
||||
If @var{state} is @code{nil}, @var{start} is assumed to be at the top
|
||||
level of parenthesis structure, such as the beginning of a function
|
||||
@ -537,8 +552,8 @@ The depth in parentheses, counting from 0.
|
||||
|
||||
@item
|
||||
@cindex innermost containing parentheses
|
||||
The character position of the start of the innermost containing
|
||||
parenthetical grouping; @code{nil} if none.
|
||||
The character position of the start of the innermost parenthetical
|
||||
grouping containing the stopping point; @code{nil} if none.
|
||||
|
||||
@item
|
||||
@cindex previous complete subexpression
|
||||
@ -552,7 +567,7 @@ character that will terminate the string.
|
||||
|
||||
@item
|
||||
@cindex inside comment
|
||||
@code{t} if inside a comment.
|
||||
@code{t} if inside a comment (of either style).
|
||||
|
||||
@item
|
||||
@cindex quote character
|
||||
@ -581,14 +596,15 @@ If @var{depth} is nonzero, parenthesis depth counting begins from that
|
||||
value. The only candidates for stopping are places where the depth in
|
||||
parentheses becomes zero; @code{scan-lists} counts @var{count} such
|
||||
places and then stops. Thus, a positive value for @var{depth} means go
|
||||
out levels of parenthesis.
|
||||
out @var{depth} levels of parenthesis.
|
||||
|
||||
Scanning ignores comments if @code{parse-sexp-ignore-comments} is
|
||||
non-@code{nil}.
|
||||
|
||||
If scan reaches the beginning or end of the buffer (or its accessible
|
||||
portion), and the depth is not zero, an error is signaled. If the depth
|
||||
is zero but the count is not used up, @code{nil} is returned.
|
||||
If the scan reaches the beginning or end of the buffer (or its
|
||||
accessible portion), and the depth is not zero, an error is signaled.
|
||||
If the depth is zero but the count is not used up, @code{nil} is
|
||||
returned.
|
||||
@end defun
|
||||
|
||||
@defun scan-sexps from count
|
||||
@ -598,7 +614,7 @@ This function scans forward @var{count} sexps from character position
|
||||
Scanning ignores comments if @code{parse-sexp-ignore-comments} is
|
||||
non-@code{nil}.
|
||||
|
||||
If scan reaches the beginning or end of (the accessible part of) the
|
||||
If the scan reaches the beginning or end of (the accessible part of) the
|
||||
buffer in the middle of a parenthetical grouping, an error is signaled.
|
||||
If it reaches the beginning or end between groupings but before count is
|
||||
used up, @code{nil} is returned.
|
||||
@ -628,7 +644,7 @@ It also stops after satisfying @var{count}.
|
||||
|
||||
To move forward over all comments and whitespace following point, use
|
||||
@code{(forward-comment (buffer-size))}. @code{(buffer-size)} is a good
|
||||
argument to use, because the number of comments to in the buffer cannot
|
||||
argument to use, because the number of comments in the buffer cannot
|
||||
exceed that many.
|
||||
|
||||
@node Standard Syntax Tables
|
||||
|
Loading…
Reference in New Issue
Block a user