summaryrefslogtreecommitdiff
path: root/man/search.texi
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2004-07-24 21:44:45 +0000
committerRichard M. Stallman <rms@gnu.org>2004-07-24 21:44:45 +0000
commit33fe4378a15fb938646ff4977004ec664afd03bc (patch)
treece42cc56a4dc369efd518b3fa8623f9f45eaee91 /man/search.texi
parent9e6863568ada78d7c3f36d94b40d88601a3ca68a (diff)
downloademacs-33fe4378a15fb938646ff4977004ec664afd03bc.tar.gz
(Regexp Replace): Further update text for new replacement operators.
Diffstat (limited to 'man/search.texi')
-rw-r--r--man/search.texi35
1 files changed, 18 insertions, 17 deletions
diff --git a/man/search.texi b/man/search.texi
index 5fa130a2e50..c31bc60af62 100644
--- a/man/search.texi
+++ b/man/search.texi
@@ -1038,20 +1038,21 @@ text to replace with, you must enter @samp{\\}.
You can also use Lisp expressions to calculate parts of the
replacement string. To do this, write @samp{\,} followed by the
expression in the replacement string. Each replacement calculates the
-value of the expression, which ought to be a string, and uses it in
+value of the expression and converts it to text without quoting (if
+it's a string, this means using the string's contents), and uses it in
the replacement string in place of the expression itself. If the
expression is a symbol, one space in the replacement string after the
-symbol name counts as part of the symbol name, so the value replaces
-them both.
-
- Inside such an expression, @samp{\&} and @samp{\@var{n}} used as
-subexpressions refer respectively to the entire match as a string, and
-to a submatch as a string. @var{n} may exceed 9 here, and the value
-of @samp{\@var{n}} is @code{nil} if subexpression @var{n} did not
-match. You can also use @samp{\#&} and @samp{\#@var{n}} refer to
-those matches converted to numbers (this is valid when the match or
-submatch has the form of a number). @samp{\#} stands for the number
-of already-completed replacements.
+symbol name goes with the symbol name, so the value replaces them
+both.
+
+ Inside such an expression, you can use some special sequences.
+@samp{\&} and @samp{\@var{n}} refer here, as usual, to the entire
+match as a string, and to a submatch as a string. @var{n} may be
+multiple digits, and the value of @samp{\@var{n}} is @code{nil} if
+subexpression @var{n} did not match. You can also use @samp{\#&} and
+@samp{\#@var{n}} to refer to those matches as numbers (this is valid
+when the match or submatch has the form of a numeral). @samp{\#} here
+too stands for the number of already-completed replacements.
Repeating our example to exchange @samp{x} and @samp{y}, we can thus
do it also this way:
@@ -1061,9 +1062,9 @@ M-x replace-regexp @key{RET} \(x\)\|y @key{RET}
\,(if \1 "y" "x") @key{RET}
@end example
- The @code{format} function (@pxref{Formatting Strings,,,elisp, GNU
-Emacs Lisp Reference Manual}) comes in handy for computing replacement
-strings for @samp{\,}. For example, to add consecutively numbered
+ For computing replacement strings for @samp{\,}, the @code{format}
+function is often useful (@pxref{Formatting Strings,,,elisp, GNU Emacs
+Lisp Reference Manual}). For example, to add consecutively numbered
strings like @samp{ABC00042} to columns 73 @w{to 80} (unless they are
already occupied), you can use
@@ -1074,8 +1075,8 @@ M-x replace-regexp @key{RET} ^.\@{0,72\@}$ @key{RET}
If you want to enter part of the replacement string by hand each
time, use @samp{\?} in the replacement string. Each replacement will
-enter a recursive edit, with point at the position where the @samp{\?}
-was. For example,
+ask you to edit the replacement string in the minibuffer, putting
+point where the @samp{\?} was. For example,
@example
M-x replace-regexp @key{RET} \footnote@{ @key{RET}