]> git.eshelyaron.com Git - emacs.git/commitdiff
(Search and Replace): Document `replace-search-function' and
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 Oct 2008 14:07:36 +0000 (14:07 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 Oct 2008 14:07:36 +0000 (14:07 +0000)
`replace-re-search-function'.

doc/lispref/ChangeLog
doc/lispref/searching.texi
etc/NEWS

index 7e1ba05893b76c9766ccab4ea2fa7ff9ef7cc7b9..9dd3a77636a0b7c5d8a7920fc324cec4b51a54af 100644 (file)
@@ -1,5 +1,8 @@
 2008-10-18  Eli Zaretskii  <eliz@gnu.org>
 
+       * searching.texi (Search and Replace): Document
+       `replace-search-function' and `replace-re-search-function'.
+
        * minibuf.texi (Text from Minibuffer): Document `read-regexp'.
        (Completion Commands, Reading File Names): Rename
        `minibuffer-local-must-match-filename-map' to
index 9b54aa18b088a5f85cb4b419c0d73d3188def404..6bca6c79f2722476b1c2326d2dfc543842808cd7 100644 (file)
@@ -1625,8 +1625,8 @@ The argument @var{replacements} specifies what to replace occurrences
 with.  If it is a string, that string is used.  It can also be a list of
 strings, to be used in cyclic order.
 
-If @var{replacements} is a cons cell, @code{(@var{function}
-. @var{data})}, this means to call @var{function} after each match to
+If @var{replacements} is a cons cell, @w{@code{(@var{function}
+. @var{data})}}, this means to call @var{function} after each match to
 get the replacement text.  This function is called with two arguments:
 @var{data}, and the number of replacements already made.
 
@@ -1642,6 +1642,13 @@ Normally, the keymap @code{query-replace-map} defines the possible
 user responses for queries.  The argument @var{map}, if
 non-@code{nil}, specifies a keymap to use instead of
 @code{query-replace-map}.
+
+This function uses one of two functions to search for the next
+occurrence of @var{from-string}.  These functions are specified by the
+values of two variables: @code{replace-re-search-function} and
+@code{replace-search-function}.  The former is called when the
+argument @var{regexp-flag} is non-@code{nil}, the latter when it is
+@code{nil}.
 @end defun
 
 @defvar query-replace-map
@@ -1712,6 +1719,22 @@ use this answer.
 Display some help, then ask again.
 @end table
 
+@defvar replace-search-function
+This variable specifies a function that @code{perform-replace} calls
+to search for the next string to replace.  Its default value is
+@code{search-forward}.  Any other value should name a function of 3
+arguments: the first 3 arguments of @code{search-forward}
+(@pxref{String Search}).
+@end defvar
+
+@defvar replace-re-search-function
+This variable specifies a function that @code{perform-replace} calls
+to search for the next regexp to replace.  Its default value is
+@code{re-search-forward}.  Any other value should name a function of 3
+arguments: the first 3 arguments of @code{re-search-forward}
+(@pxref{Regexp Search}).
+@end defvar
+
 @node Standard Regexps
 @section Standard Regular Expressions Used in Editing
 @cindex regexps used standardly in editing
index 48e430f902b9de3f8d6fbdd0cf2113058b672c21..de994736a2c825dbbc7c53f5bcf62d4172e84b3a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1272,13 +1272,18 @@ completion-all-completions-with-base-size.
 *** New function `match-substitute-replacement' returns the result of
 `replace-match' without actually using it in the buffer.
 
++++
 *** The new variable `replace-search-function' determines the function
-to use for searching in query-replace and replace-string.
+to use for searching in query-replace and replace-string.  The
+function it specifies is called by `perform-replace' when its 4th
+argument is nil.
 
++++
 *** The new variable `replace-re-search-function' determines the
 function to use for searching in `query-replace-regexp',
 `replace-regexp', `query-replace-regexp-eval', and
-`map-query-replace-regexp'.
+`map-query-replace-regexp'.  The function it specifies is called by
+`perform-replace' when its 4th argument is non-nil.
 
 *** New keymap `search-map' bound to `M-s' provides global bindings
 for search related commands.