Subject: bug#68568: transient.el interns potentially enormous symbols as commands

From: João Távora <[email-masked]>
Date: Sun, 21 Jan 2024 07:15:50 +0000

On Sun, Jan 21, 2024 at 4:27 AM Psionic K <[email-masked]> wrote:
>
> There's an option mentioned in the Transient change log:
>
> https://github.com/magit/transient/blob/main/CHANGELOG#v042----2023-08-25

Thanks, but user options to get out of common bugs isn't what's wanted.
Setting this "recommended option" has other effects I don't want to
incur in (which is why, for good reason, it isn't the default)

Either there is a good reason for those transient symbols to be interned
in the obarray or there isn't.

Right now, it seems there isn't.  transient.el works just fine with
make-symbol instead of intern.  Intern is for persisting a symbol
long-term and referencing back to it by name, which is what M-x
execute-extended-command and the Lisp reader do, to name two examples.

transient.el doesn't need that, it seems.  Or do you have reasons to
believe it does?

> Enormous is not quite what I would call these symbols since they are
> on the same order of magnitude as regular symbol lengths.

GPTel, which I am planning on using, uses long descriptions of infix
commands (pretty reasonably). I have a number of symbols nearing 200
characters, all transient's.  The mean length is 17.  That's above one
full decimal order of magnitude above.  So yes, "enormous" in my book.

João