Subject: Re: bug#79035: Remove micro-optimization for Funintern for performance

From: Lynn Winebarger <[email-masked]>
Date: Thu, 17 Jul 2025 18:12:05 -0400

On Thu, Jul 17, 2025, 2:51 PM Mattias Engdegård <[email-masked]>
wrote:

> 17 juli 2025 kl. 17.09 skrev Stefan Monnier <[email-masked]>:
>
> > Yeah, this static var is ugly, I'm in favor of removing it.
>
> Same here. I don't think it was ever meant as an optimisation, just a
> quick and lazy way to implement Funintern.
>
> > BTW, looking at the code of `Funintern` I get the impression that
> > `oblookup_considering_shorthand` is wrong when the argument is a symbol:
> > we should take shorthand into account only when passed a string.
>
> Right. Funintern isn't often used but we could do a better job here.
>

Well, I certainly have no opinion on the finer points of the semantics. I
only tried to eliminate the unnecessary global state without altering the
behavior.
Since I've worked out (with Pip Cet's help) the undocumented contracts with
debug and elisp-mode, I'm going to be going through the rest of my patch to
rebase it on your recent commits in a more incremental series of changes.
There are some other random bits of detritus in lread that I plan to submit
separately from the main patch, just to simplify the larger task a bit.
Would you (Mattias and Stefan) prefer I submit these bits as a single bug
or one bug per change?