GNU bug report logs -
#15107
24.3; replace-regexp-in-string wrong on \`
Previous Next
Reported by: Kevin Ryde <user42 <at> zip.com.au>
Date: Thu, 15 Aug 2013 22:17:02 UTC
Severity: normal
Tags: confirmed, patch
Merged with 44861
Found in versions 24.3, 25.1, 27.1
Done: Mattias EngdegÄrd <mattiase <at> acm.org>
Bug is archived. No further changes may be made.
Full log
Message #15 received at 15107 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
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.
[Message part 2 (text/html, inline)]
This bug report was last modified 4 years and 170 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.