[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56746: 29.0.50; Probable bug with native compilation
From: |
Andrea Corallo |
Subject: |
bug#56746: 29.0.50; Probable bug with native compilation |
Date: |
Wed, 07 Jun 2023 17:20:46 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Andrea Corallo <akrl@sdf.org> writes:
> Kenneth Stuart <kstuart@hotmail.co.uk> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Eli Zaretskii <eliz@gnu.org> writes:
>>>
>>>>> From: Kenneth Stuart <kstuart@hotmail.co.uk>
>>>>> 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
>>
>> During async compile there are a couple of warnings emitted:
>>
>> In end of data:
>> org-macs.el:1463:29: Warning: the function ‘org-encode-time’ is not known to
>> be defined.
>> org-macs.el:1361:10: Warning: the function ‘org-time-string-to-seconds’ is
>> not known to be defined.
>
> Nice, those are clear markers of this issue.
>
>> However org-encode-time is earlier defined in org-macs.el (within 'if'
>> statement).
>
> Okay, I can't read the code now but I guess should be easy to
> investigate why during async compilation this 'if' is not triggered.
>
>> Also interesting, if I touch org-macs.el and synchronously compile, I see no
>> issue:
>
> This is because compiling synchronously the definition of those macros
> is most likely loaded and already present in the environment.
>
> Andrea
Hello all,
closing this as I believe was a (I guess solved) org bug.
Happy to reopen if necessary.
Best Regards
Andrea
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#56746: 29.0.50; Probable bug with native compilation,
Andrea Corallo <=