Subject: bug#73746: bug#73725: Master: Wrong position for byte compiler warning message.

From: Stefan Monnier <[email-masked]>
Date: Wed, 23 Oct 2024 09:30:23 -0400

>> > I remember removing it, but can't remember exactly why.  When I byte
>> > compile the code, I don't get an undeclared variable warning for it, for
>> > some reason.
>> [ Interesting.  I'll try to remember to track down this sucker later.  ]
>
> I think I understand this, now.  It's a "use-mention" confusion.  ;-).
> When macroexp-macroexpand is getting compiled, the compiler calls (the
> loaded or compiled version of) that function.  Running the function
> `setq's macroexpanded, hence binds it.

Ah, right, yes.  That makes sense, thanks for saving me the trouble to
track it down.

> I'm not sure there's much that can be done about this "bug".  I'm even
> less sure that it's worth the trouble.  Maybe there could be a more
> rigorous check of the variable's existence than (boundp var).  But, as I
> say, it's likely not worth the trouble.  Maybe there are other free
> variables hiding in the compiler, though.

Yeah, it's possible, but I won't lose too much sleep over it.

        Stefan