Subject: bug#46958: 28.0.50; invalid-function error for macros that have function bindings

From: Robert Irelan <[email-masked]>
Date: Sat, 6 Mar 2021 10:28:28 -0800

On Sat, Mar 6, 2021 at 6:24 AM Basil L. Contovounesios <[email-masked]> wrote:

> Just to add: macros are fboundp but not functionp, which is the property
> that funcall requires.
>
> The funcall is here:
>
>   https://git.sr.ht/~l3kn/org-fc/tree/main/item/org-fc.el#L1284
>
> Looks like something put something in org-fc-types (e.g. using
> org-fc-register-type) that shouldn't be there.
>
> So, this doesn't seem related to Emacs, unless there's been a recent
> nativecomp regression that gave rise to this?

The call that's actually failing is located here:
https://git.sr.ht/~l3kn/org-fc/tree/711511192c62f6dccc96644dcf0705fda99e753a/item/org-fc-type-normal.el#L41.
As you can see, we're not trying to funcall a macro here, but it fails
anyway. Moreover, the macro is actually defined in my environment, and
if I run the code that's failing directly in the buffer using M-:, I
get no errors, `invalid-function` or otherwise. Is there a way a macro
might be defined in my "main" environment, so to speak, but not be
defined when being called from another function? As far as I can tell,
there are no weird `letf` shenanigans going on.

-- 
Robert Irelan
[email-masked]