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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 18 Aug 2019 20:19:26 +0300

> From: Stefan Kangas <[email-masked]>
> Date: Sun, 18 Aug 2019 19:08:18 +0200
> Cc: Eli Zaretskii <[email-masked]>, [email-masked], [email-masked], 
> 	[email-masked]
> 
> > I had a look at that function now and, er, no.  :-)  Perhaps it should
> > be rewritten in Emacs Lisp?  Then it'd be pretty trivial to fix this
> > stuff.
> 
> The Fsubstitute_command_keys function is indeed a bit hairy, and I
> agree that a conversion to Lisp is the most reasonable next step.
> 
> I've actually been working a patch to convert it to Lisp for Bug#8951,
> but it's not finished yet.  The difficulty is that it has a couple of
> helper functions that also needs to be lifted, which makes the job
> bigger than just the function Fsubstitute_command_keys.
> 
> My goal is to get the Lisp version to produce the same output as the C
> version, which currently seems to be a feasible goal.  Once it's in
> Lisp it should be easier to make further improvements, fix bugs, etc.

Maybe we should first talk a bit about why Lars you think it would be
"pretty trivial" to keep properties in Lisp, but not in C.  I'm
probably missing something very basic here, because I don't see why
it would be easier in Lisp.