Subject: bug#56746: 29.0.50; Probable bug with native compilation

From: Andrea Corallo <[email-masked]>
Date: Tue, 26 Jul 2022 16:48:53 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Kenneth Stuart <[email-masked]>
>> Date: Sun, 24 Jul 2022 15:16:42 +0100
>> 
>> Note that I'm not using 'emacs -Q' as a later version of Org is
>> required, however the issue strongly appears to be with emacs native
>> compilation as it does not occur from a build without native
>> compilation.
>> 
>> org-mode commit: 127e7fee4959ceb33dba2e442b72189f3c25eaa1
>> 
>> Steps to reproduce:
>> 
>> 1. Create an org-mode buffer and insert a clocktable dynamic block with a
>> `tstart` option.
>> 
>> #+BEGIN: clocktable :scope file :maxlevel 2 :tstart "2020-01-01"
>> #+END:
>> 
>> 2. Evaluate the clocktable (C-c C-c on the #+BEGIN line)
>> 
>> Result: `Invalid function: org-encode-time`
>> Expected: No error, clocktable updated successfully
>> 
>> Notes:
>> 
>> References:
>> https://mail.gnu.org/archive/html/emacs-orgmode/2022-07/msg00738.html
>> https://mail.gnu.org/archive/html/emacs-orgmode/2022-07/msg00696.html
>> 
>> In early April Org introduced a new macro `org-encode-time` which is
>> used in the `let` special form of function `org-matcher-time`
>> 
>> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tree/lisp/org-macs.el#n1395
>> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tree/lisp/org-macs.el#n1463
>> 
>> Function `org-matcher-time` is used by the clocktable dynamic block
>> options, for example adding a `tstart` option and evaluation the
>> clocktable emits the error "Invalid function: org-encode-time".
>> 
>> If then going to the source for `org-matcher-time` and evaluating the
>> defun, the clocktable can then be evaluated without error.
>> 
>> As previously stated this issue does not occur when not using native
>> compilation.
>
> Andrea, could you please look into this bug report?  It sounds like
> 'defmacro' in a conditional code is mis-compiled somehow?

I'm currently on holiday so I've only time to check the mails and reply
when necessary.  I won't have time to look into this before next week
*but*... if it's a macro issue it might be some missing require in the
org code, we have seen this kind of issue is the most common.

Is this org async compiled?  If so Kenneth have we verifed the emitted
warnings?

Thanks!

  Andrea