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

From: "Basil L. Contovounesios" <[email-masked]>
Date: Sat, 06 Mar 2021 14:24:14 +0000

Lars Ingebrigtsen <[email-masked]> writes:

> Robert Irelan <[email-masked]> writes:
>
>> Lately I have been getting errors where occasionally `invalid-function`
>> errors will be raised when calling some macros, even when those macros
>> have function bindings (checked with `fboundp`). Here is an example of a
>> stack trace I got when using the `org-fc` package:
>>
>> ```
>> Debugger entered--Lisp error: (invalid-function
>> org-fc-with-point-at-back-heading)
>>   signal(invalid-function (org-fc-with-point-at-back-heading))
>
> I'm not quite sure I understand this bug report.  First of all,
> `org-fc-with-point-at-back-heading' doesn't seem to exist in the Emacs
> tree, so is this from an external package?

Yes:

  https://sr.ht/~l3kn/org-fc/
  https://github.com/l3kn/org-fc

See also: https://todo.sr.ht/~l3kn/org-fc/23

> The other issue is that I think there's a misunderstanding here: You can
> never funcall a macro.
>
> (macrop 'when)
> => t
> (fboundp 'when)
> => t
> (funcall 'when)
> => Debugger entered--Lisp error: (invalid-function when)
>     when()
>
> Macros are foundp, but that doesn't mean you can funcall them.

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?

HTH,

-- 
Basil