Subject: bug#54486: 29.0.50; Eshell `escaped' string property can "leak" into output

From: Jim Porter <[email-masked]>
Date: Mon, 21 Mar 2022 12:24:09 -0700

On 3/21/2022 5:19 AM, Eli Zaretskii wrote:
> Why exactly do you think this should be fixed?  I don't think I
> understand that from your description.  We have many features that add
> text properties to strings, so why is this one different?  About the
> only thing I can think of is to add this property to the default value
> of yank-excluded-properties, but that's all.

I didn't know `yank-excluded-properties' existed. I think that would be 
a good thing to use for this.

Besides that, I think it would be best if Eshell didn't show the 
`escaped' property when printing things under normal circumstances. It's 
really just for internal bookkeeping in Eshell, so I think users are 
unlikely to want to see it in most cases. The best way to fix this might 
be to rethink how Eshell (specifically `eshell-stringify') prints lists 
by default. This is mentioned in bug#12689 (though that bug additionally 
describes an unrelated issue with Eshell subcommands that I've since fixed).

Finally, maybe it would be good to change the name of the `escaped' 
property to something like `eshell-escaped'. It took me quite a while to 
figure out where that property was even coming from when I first noticed 
it. Technically, that would be an incompatible change, but since this 
property is for internal bookkeeping in Eshell, I'd be very surprised if 
anyone else was relying on it.