From 074f1b8b8f3a9249a35254ce82dad8ab8a3b05c6 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 24 Jul 2004 21:44:45 +0000 Subject: [PATCH] (Regexp Replace): Further update text for new replacement operators. --- man/search.texi | 35 ++++++++++++++++++----------------- 1 file 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} -- 2.11.4.GIT