On Thu, Jul 17, 2025, 2:51 PM Mattias Engdegård <mattias.engdegard@gmail.com> wrote:
17 juli 2025 kl. 17.09 skrev Stefan Monnier <monnier@iro.umontreal.ca>:

> 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?