Subject: Re: bug#77656: [PATCH] Don't escape "." in `prin1' unless followed by "?" or nothing

From: Stefan Monnier <[email-masked]>
Date: Sat, 12 Apr 2025 11:33:54 -0400

>>> This is a followup to 637dde4aba921435f78d0de769ad74c4f3230aa6, which
>>> removed some unnecessary escaping of "." and "?" when printing symbols
>>> in prin1.
>>>
>>> This change removes more unnecessary escaping of "."; "." only
>>> needs to be escaped when it's the entire symbol or if it's
>>> followed by a "?".
>>>
>>> (Actually, if we always escaped "?" (which was the case before
>>> 637dde4aba92) then "." only ever needs to be escaped when
>>> string_to_number returns non-nil.  So 637dde4aba92 could have
>>> just dropped the escaping of "." with no other changes, if it
>>> didn't also remove escaping of "?")
>>
>> Any objections or comments, anyone?

No real objection, but I'm a bit worried that it seems this is designed
based on the idea that `prin1` should be `read`able by the same Emacs
that printed it, whereas I think it should aim to generate output
that's `read`able also by past and future Emacsen and that it shouldn't
unduly restrict future changes to our lexical rules.

I *think* the proposed change is OK in this respect, but at the same
time I wonder if the gain is really worth the risk.

        Stefan