From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Erik Anderson Newsgroups: gmane.emacs.bugs Subject: bug#15107: [PATCH] Add replace-regexp-in-string regression test Date: Tue, 30 Aug 2016 23:57:35 +0000 Message-ID: References: <87eh9uk3c6.fsf@blah.blah> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114473a04fc621053b52bf5f X-Trace: blaine.gmane.org 1472602165 3704 195.159.176.226 (31 Aug 2016 00:09:25 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 31 Aug 2016 00:09:25 +0000 (UTC) To: 15107@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 31 02:09:19 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bet5e-00008P-SY for geb-bug-gnu-emacs@m.gmane.org; Wed, 31 Aug 2016 02:09:15 +0200 Original-Received: from localhost ([::1]:51702 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bet5c-0006bm-EX for geb-bug-gnu-emacs@m.gmane.org; Tue, 30 Aug 2016 20:09:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58256) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bet5V-0006bW-Uk for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2016 20:09:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bet5S-0006YQ-OC for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2016 20:09:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:47091) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bet5S-0006YM-KZ for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2016 20:09:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bet5R-00077N-Vx for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2016 20:09:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <87eh9uk3c6.fsf@blah.blah> Resent-From: Erik Anderson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Aug 2016 00:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15107 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 15107-submit@debbugs.gnu.org id=B15107.147260209227294 (code B ref 15107); Wed, 31 Aug 2016 00:09:01 +0000 Original-Received: (at 15107) by debbugs.gnu.org; 31 Aug 2016 00:08:12 +0000 Original-Received: from localhost ([127.0.0.1]:44803 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bet4d-00076A-Tn for submit@debbugs.gnu.org; Tue, 30 Aug 2016 20:08:12 -0400 Original-Received: from mail-ua0-f178.google.com ([209.85.217.178]:36167) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1besue-0006ps-Hn for 15107@debbugs.gnu.org; Tue, 30 Aug 2016 19:57:53 -0400 Original-Received: by mail-ua0-f178.google.com with SMTP id m60so60917217uam.3 for <15107@debbugs.gnu.org>; Tue, 30 Aug 2016 16:57:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=NQIpdUmk5t7ass4NzQ0uXBbtB0IEKvfRSpNuHIykHjQ=; b=00LZA77uzpcS/9W4eUEDxxOdwKY+7aJdAMdrWkCUsc2pbX755tEW73l1Y8F7W1Vk6F CRjLM3oZ41km+LdyPmzU9w2/3SBMkEsGGtzrjYnk5KrkrIkfmYI8rkjPm+vFYjtLogQG +zBCEj5ALKSzYGcT7Q+KrRstAva6b5hunoN8M32Eqhk/E0XTpn7cQOi5ypcnMmKnPWqR wOJv8OXJ3EIFvyiL3Qz7/EOyoOfnLRfc1RvJjAV/PpR5pJXwPlxeK51/wzX2LKK7ccxA Nf43Hyxf6Aqiio6jQw6rYn46+jE1am5RsRg9QBMbz9EN7jyq5ax3Ps7cHXsdistATxK2 ah9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NQIpdUmk5t7ass4NzQ0uXBbtB0IEKvfRSpNuHIykHjQ=; b=MXGpGj79Ao0Qb3Tq9CmUr+LaSbwMCEi1f4VF6zWPXMTyVWrcqNyT57L1Lnm55cJj+5 05UU1svKt/5nDV8nd1SKrEVmL4DGUHRm3UGDHSavveLK0HHeEkq9AnQPMr5F93PDmviG VgdrJGu2j+ess5cOn/Gwcku7mzuwhfTLhORo12x3n9A+F7qOzJ4+0v45bQdxtfNaIm9s 5gireoTVyrzvErbkN7/h79zz2dp9PkSN6EBuN9PLiqNaCe+jR67LPlKDKqTB+9rStWIJ iQ3u6m00tmrJYocnH1F1TxL/YDnxE69DEUYNIvwBZedkIlVvaoeLfksCQfL/UmL0BbVA qz8g== X-Gm-Message-State: AE9vXwOVYZzPTB3fnIA7i0QdIvjl+aM5CEWWr1E5AKxTlL9bFCCbm+3fUgGBwzBDAMDTFdCjCvgy2eMbI4PeFA== X-Received: by 10.31.51.75 with SMTP id z72mr3956402vkz.75.1472601466584; Tue, 30 Aug 2016 16:57:46 -0700 (PDT) X-Mailman-Approved-At: Tue, 30 Aug 2016 20:08:11 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:122784 Archived-At: --001a114473a04fc621053b52bf5f Content-Type: text/plain; charset=UTF-8 I can confirm the buggy behavior on emacs 24.5.1 and 25.1.50.1 for Kevin's example as well as: (replace-regexp-in-string "^.\\| ." #'upcase "foo bar") > "Foo bar" (should be "Foo Bar") Some close variants which behave correctly: (replace-regexp-in-string "^F\\| ." #'upcase "foo bar") > "Foo Bar" (replace-regexp-in-string "^.K\\| ." #'upcase "ok corral") > "OK Corral" (replace-regexp-in-string "^..\\| ." #'upcase "ok corral") > "OK Corral" This was discussed here: http://emacs.stackexchange.com/questions/26590/replace-regexp-in-string-stops-replacement-with Here is a regression test for when someone has a chance to tackle this: --- test/lisp/subr-tests.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index ce21290..969d5c2 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el @@ -224,5 +224,8 @@ (error-message-string (should-error (version-to-list "beta22_8alpha3"))) "Invalid version syntax: `beta22_8alpha3' (must start with a number)")))) +(ert-deftest replace-regexp-in-string-test () + (should (equal (replace-regexp-in-string "^.\\| ." #'upcase "foo bar") "Foo Bar"))) + (provide 'subr-tests) ;;; subr-tests.el ends here -- Regards, Erik Anderson. --001a114473a04fc621053b52bf5f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I can confirm the buggy behavior on emacs 24.5.1 and= =C2=A025.1.50.1 for Kevin's example as well as:
(r=
eplace-regexp-in-string "^.\\| ." #'upcase "foo bar"=
;)
> "Foo bar"  (should be "Foo Bar")
=
Some close variants which behave correctly:
(replace-regexp-in-st=
ring "^F\\| ." #'upcase "foo bar")
> "Foo Bar"
(replace-regexp-in-string "^.K\\| ." #'upcase "ok corral=
")
> "OK Corral"
(replace-regexp-in-string "^..\\| ." #'upcase "ok corral=
")
> "OK Corral"
This was discussed here:=C2=A0http://emacs.stackexchange.com/questions/2659= 0/replace-regexp-in-string-stops-replacement-with

Here is a regression test for when someone has a chance to= tackle this:

---
=C2=A0test/lisp/subr-t= ests.el | 3 +++
=C2=A01 file changed, 3 insertions(+)
<= br>
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.e= l
index ce21290..969d5c2 100644
--- a/test/lisp/subr-te= sts.el
+++ b/test/lisp/subr-tests.el
@@ -224,5 +224,8 @= @
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(error-m= essage-string (should-error (version-to-list "beta22_8alpha3")))<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"Inva= lid version syntax: `beta22_8alpha3' (must start with a number)"))= ))
=C2=A0
+(ert-deftest replace-regexp-in-string-test (= )
+ =C2=A0(should (equal (replace-regexp-in-string "^.\\| .&= quot; #'upcase "foo bar") "Foo Bar")))
+<= /div>
=C2=A0(provide 'subr-tests)
=C2=A0;;; subr-tests.el= ends here
--=C2=A0

Regards,
E= rik Anderson.
--001a114473a04fc621053b52bf5f--