Subject: Re: bug#54079: 29.0.50; Method dispatching eratically fails

From: Stefan Monnier <[email-masked]>
Date: Mon, 14 Mar 2022 08:10:04 -0400

>> If it does, then it must be because the caller explicitly arranged for
>> it to happen and so the caller could be in charge of binding
>> that variable.
> The caller could be any lisp function.

Yes, but if there are symposes, it can only be because somewhere up the
call chain, someone decided to use sympos, and that someone should be
the one responsible to bind `symbols-with-pos-enabled`, I think.

> It's just that binding symbols-with-pos-enabled in byte-compile is
> cheap and harmless,

Agreed.

> and there might well be legitimate cases that need it.  I can't think
> of any at the moment, though.

Fair enough.

>> That's right: the only cases where not stripping the arg of `eval` is OK
>> is when we know that stripping would do nothing.
>> IOW it's an optimization.
> It's NOT an optimisation.  It's a straightforward implementation of the
> design.  To add unnecessary stripping of non-existent symbol positions
> would be a pessimisation, a possibly measurable slowing down of Emacs.

We violently agree.

        Stefan