Subject: Re: bug#17052: substitute-command-keys strips text properties

From: Stefan Kangas <[email-masked]>
Date: Mon, 16 Nov 2020 17:24:03 -0800

close 17052 28.1
thanks

Glenn Morris <[email-masked]> writes:

>> Looks like this has been fixed sometime in the intervening years?
>>
>> (substitute-command-keys (propertize "foo" 'face 'bold))
>> => #("foo" 0 3 (face bold))
>
> Nope, you need to use an example which does a substitution, eg
>
> (substitute-command-keys (propertize "foo \\[find-file]" 'face 'bold))

This was fixed by the recent rewrite of substitute-command-keys in Lisp.
I've added a test for this in commit 27655f9f38, and am therefore
closing this bug.

(For posterity, the root cause for this was that `princ' does not
preserve text properties.  The code now uses `insert' instead.)