Subject: Re: bug#12622: replace-regexp-in-string

From: Andreas Röhler <[email-masked]>
Date: Fri, 12 Oct 2012 08:32:39 +0200

Am 11.10.2012 18:52, schrieb Andreas Schwab:
> Andreas Röhler <[email-masked]> writes:
>
>> (setq mystring "[.A foobar] [.B baz]")
>> (replace-regexp-in-string "\\_<\\w+\\_>" (concat "\\\\" (match-string-no-properties 0)) mystring) ==>
>>
>>   "[.A \\ext in that fi] [.B \\ext in that fi]"
>>
>> for example,
>>
>> Docstring says:
>>
>> "If it is a function, it is called with the actual text of each
>> match, and its value is used as the replacement text."
>>
>> Which is not the case AFAIS.
>
> You are not passing a function.
>
> Andreas.
>

okay.

that works:

(replace-regexp-in-string "\\_<\\w+\\_>" (lambda (x) (concat "\\\\" x)) mystring)

Nonetheless consider it a design flaw, us it requires a argument taking function, where a expression just to evaluate would suffice.

Andreas