From: "Mattias Engdegård" <mattiase@acm.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 36372@debbugs.gnu.org
Subject: bug#36372: 27.0.50; replace-regexp-in-string skips START first chars in return value [PATCH]
Date: Wed, 26 Jun 2019 11:31:01 +0200 [thread overview]
Message-ID: <B10BBB52-AAAA-46C8-A5F1-BEDA04011E95@acm.org> (raw)
In-Reply-To: <83tvcdlm8x.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 312 bytes --]
25 juni 2019 kl. 17.26 skrev Eli Zaretskii <eliz@gnu.org>:
>
>> The question is whether it is too late to fix the bug, or if it needs to be documented.
>
> Both, I think ;-)
Documenting a bug rather than fixing it never feels very satisfactory, but it may be the lesser evil.
What about this patch?
[-- Attachment #2: 0001-Document-bug-in-replace-regexp-in-string.patch --]
[-- Type: application/octet-stream, Size: 2184 bytes --]
From d5419cbf491cccb91843b8e3d6270df1c40a9004 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mattias=20Engdeg=C3=A5rd?= <mattiase@acm.org>
Date: Wed, 26 Jun 2019 11:23:32 +0200
Subject: [PATCH] Document bug in `replace-regexp-in-string'
`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 | 4 ++--
lisp/subr.el | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 33455114da..86a907021c 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1790,8 +1790,8 @@ Search and Replace
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 first @var{start} characters of @var{string}.
This function uses @code{replace-match} to do the replacement, and it
passes the optional arguments @var{fixedcase}, @var{literal} and
diff --git a/lisp/subr.el b/lisp/subr.el
index baff1e909a..ba388b3721 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4208,7 +4208,8 @@ replace-regexp-in-string
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. The return
+value then omits the first START characters of STRING.
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
--
2.20.1 (Apple Git-117)
next prev parent reply other threads:[~2019-06-26 9:31 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-25 12:01 bug#36372: 27.0.50; replace-regexp-in-string skips START first chars in return value Mattias Engdegård
2019-06-25 15:26 ` Eli Zaretskii
2019-06-26 9:31 ` Mattias Engdegård [this message]
2019-06-26 9:38 ` bug#36372: 27.0.50; replace-regexp-in-string skips START first chars in return value [PATCH] Robert Pluim
2019-06-26 10:01 ` Mattias Engdegård
2019-06-26 11:11 ` Robert Pluim
2019-06-26 10:22 ` Lars Ingebrigtsen
2019-06-26 12:32 ` Robert Pluim
2019-06-26 13:51 ` Lars Ingebrigtsen
2019-06-26 14:01 ` Drew Adams
2019-06-26 14:51 ` Eli Zaretskii
2019-06-26 15:20 ` Mattias Engdegård
2019-06-26 15:59 ` Clément Pit-Claudel
2019-06-26 17:03 ` Mattias Engdegård
2019-06-26 17:09 ` Eli Zaretskii
2019-06-26 17:41 ` Mattias Engdegård
2019-06-26 15:17 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=B10BBB52-AAAA-46C8-A5F1-BEDA04011E95@acm.org \
--to=mattiase@acm.org \
--cc=36372@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.