]> git.eshelyaron.com Git - emacs.git/commitdiff
Document bug in `replace-regexp-in-string'
authorMattias Engdegård <mattiase@acm.org>
Wed, 26 Jun 2019 09:23:32 +0000 (11:23 +0200)
committerMattias Engdegård <mattiase@acm.org>
Wed, 26 Jun 2019 17:39:32 +0000 (19:39 +0200)
`replace-regexp-in-string' omits the first START characters of the
input string in its return value.  This is a clear bug, but fixing it
probably causes more trouble; document the behaviour instead (bug#36372).

* doc/lispref/searching.texi (Search and Replace)
* lisp/subr.el (replace-regexp-in-string):
Document current behaviour.

doc/lispref/searching.texi
lisp/subr.el

index 33455114dac77706dbd9b4531c57f5a9fb6e17fd..ef1cffc446f08e342fd11f443f2aa1ffcecafdad 100644 (file)
@@ -1790,8 +1790,10 @@ this.
 This function copies @var{string} and searches it for matches for
 @var{regexp}, and replaces them with @var{rep}.  It returns the
 modified copy.  If @var{start} is non-@code{nil}, the search for
-matches starts at that index in @var{string}, so matches starting
-before that index are not changed.
+matches starts at that index in @var{string}, and the returned value
+does not include the first @var{start} characters of @var{string}.
+To get the whole transformed string, concatenate the first
+@var{start} characters of @var{string} with the return value.
 
 This function uses @code{replace-match} to do the replacement, and it
 passes the optional arguments @var{fixedcase}, @var{literal} and
index baff1e909a165d71496921855c071d9bacaf81e4..b981af6afe6a646844dd6d2f728534de63ef194f 100644 (file)
@@ -4208,7 +4208,8 @@ Return a new string containing the replacements.
 
 Optional arguments FIXEDCASE, LITERAL and SUBEXP are like the
 arguments with the same names of function `replace-match'.  If START
-is non-nil, start replacements at that index in STRING.
+is non-nil, start replacements at that index in STRING, and omit
+the first START characters of STRING from the return value.
 
 REP is either a string used as the NEWTEXT arg of `replace-match' or a
 function.  If it is a function, it is called with the actual text of each