Subject: bug#40126: Acknowledgement (28.0.50; [feature/native-comp] + Org 9.3.6 org-with-wide-buffer macro is wrongly treated as function)

From: Ihor Radchenko <[email-masked]>
Date: Tue, 07 Apr 2020 18:54:26 +0800

Hi Andrea,

> yes but in org-refile.el there are no requires at all :O

That looks strange for me too. Though org-mode somehow manages to
be compiled with normal byte-compilation...

I suspect that it relies on compiling org.el first with
(eval-and-compile (require 'org-macs)) forcing Emacs to have all the
macros defined there to be available (dynamically) during compilation of
all other org-mode source files.

I have reported this as a bug to org-mode mail-list [1]. Lets see what they
say.

On the native-compile branch side, it would probably be a good idea to
throw an error in similar scenarios instead of generating erroneous .eln
file.

Best,
Ihor

[1] https://www.mail-archive.com/[email-masked]/msg127457.html

Andrea Corallo <[email-masked]> writes:

> Ihor Radchenko <[email-masked]> writes:
>
>> Hi Andrea,
>>
>> I am not really familiar with compilation in Emacs, so correct me if I
>> misunderstand something.
>>
>> I have looked through org package files and fount the following line in
>> org.el:
>>
>> (eval-and-compile (require 'org-macs))
>>
>> I suspect that it supposed to be responsible for loading the macro
>> definitions (including org-with-wide-buffer) during byte-compilation.
>
> Hi Ihor,
>
> yes but in org-refile.el there are no requires at all :O
>
> org-refile is always required in other files after org but it can't be
> compiled alone correctly if it has no appropriate require in its code.
> This applies to byte compilation too.
>
> Andrea
>
> -- 
> [email-masked]

-- 
Ihor Radchenko,
PhD,
Center for Advancing Materials Performance from the Nanoscale (CAMP-nano)
State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong University, Xi'an, China
Email: [email-masked], [email-masked]