Per the replace-regexp-in-string docstring: "Replace all matches for REGEXP with REP in STRING." My email was a comment to an existing open bug from 2013-08-15: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15107 On Wed, Aug 31, 2016 at 9:25 AM Eli Zaretskii wrote: > > From: Erik Anderson > > Date: Tue, 30 Aug 2016 23:57:35 +0000 > > > > 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") > > Maybe I'm missing something, but I don't see why this is a bug. The > input string "foo bar" matches the "^." alternative in its entirety, > so there's no reason to expect Emacs to apply 'upcase' twice. >