unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
@ 2024-01-31 13:50 Ihor Radchenko
  2024-01-31 14:20 ` Eli Zaretskii
  2024-01-31 19:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 23+ messages in thread
From: Ihor Radchenko @ 2024-01-31 13:50 UTC (permalink / raw)
  To: 68851; +Cc: Stefan Monnier

Hello,

I just stumbled upon strange native compiler warning after defining the
following inliner:

(define-inline org-element--property-idx (property)
  "Return standard property index or nil."
  (declare (pure t))
  (inline-letevals (property)
    (plist-get
     org-element--standard-properties-idxs
     (inline-const-val property))))

⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner

This is on the latest Org mode main branch.

This looks like a bug unless I misunderstand something about inlined functions.

⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-property: Handler: org-element-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-property: Handler: org-element-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner


In GNU Emacs 30.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version
 3.24.39, cairo version 1.18.0) of 2024-01-30 built on localhost
Repository revision: 9de29fb5b0396cb3929bd5668604fda076ca5ec4
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101011
System Description: Gentoo Linux

Configured using:
 'configure JAVAC=/etc/java-config-2/current-system-vm/bin/javac'

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-01-31 13:50 bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner Ihor Radchenko
@ 2024-01-31 14:20 ` Eli Zaretskii
  2024-02-02  9:00   ` Andrea Corallo
  2024-01-31 19:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2024-01-31 14:20 UTC (permalink / raw)
  To: Ihor Radchenko, Andrea Corallo; +Cc: 68851, monnier

> Cc: Stefan Monnier <monnier@iro.umontreal.ca>
> From: Ihor Radchenko <yantar92@posteo.net>
> Date: Wed, 31 Jan 2024 13:50:42 +0000
> 
> I just stumbled upon strange native compiler warning after defining the
> following inliner:
> 
> (define-inline org-element--property-idx (property)
>   "Return standard property index or nil."
>   (declare (pure t))
>   (inline-letevals (property)
>     (plist-get
>      org-element--standard-properties-idxs
>      (inline-const-val property))))
> 
> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> 
> This is on the latest Org mode main branch.
> 
> This looks like a bug unless I misunderstand something about inlined functions.

Andrea, can you please help understand this warning?

> 
> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-property: Handler: org-element-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-property: Handler: org-element-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> 
> 
> In GNU Emacs 30.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version
>  3.24.39, cairo version 1.18.0) of 2024-01-30 built on localhost
> Repository revision: 9de29fb5b0396cb3929bd5668604fda076ca5ec4
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12101011
> System Description: Gentoo Linux
> 
> Configured using:
>  'configure JAVAC=/etc/java-config-2/current-system-vm/bin/javac'
> 
> -- 
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at <https://orgmode.org/>.
> Support Org development at <https://liberapay.com/org-mode>,
> or support my work at <https://liberapay.com/yantar92>
> 
> 
> 
> 





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-01-31 13:50 bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner Ihor Radchenko
  2024-01-31 14:20 ` Eli Zaretskii
@ 2024-01-31 19:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-31 19:47   ` Ihor Radchenko
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-31 19:13 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: 68851

> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner

This looks like the warning emitted by `macroexp--compiler-macro` when
a compiler macro (here, generated by `define-inline`) signals an error.

This said, the warning should include (on the next line) the actual
error encountered.  Not sure why you don't seem to have that.

In any case the origin might be a bug in your code or in `inline.el`.

Is `org-element--standard-properties-idxs` defined at the time of
macro-expansion?  If not, that would explain the error because the macro
expansion will try to execute:

    (plist-get
     org-element--standard-properties-idxs
     (inline-const-val property))

and that will start by getting the value of
`org-element--standard-properties-idxs`.


        Stefan






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-01-31 19:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-31 19:47   ` Ihor Radchenko
  0 siblings, 0 replies; 23+ messages in thread
From: Ihor Radchenko @ 2024-01-31 19:47 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 68851

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>
> This looks like the warning emitted by `macroexp--compiler-macro` when
> a compiler macro (here, generated by `define-inline`) signals an error.
>
> This said, the warning should include (on the next line) the actual
> error encountered.  Not sure why you don't seem to have that.

I also thought so, but the problem only appears during native
compilation. Normal compilation works just fine.

> In any case the origin might be a bug in your code or in `inline.el`.
>
> Is `org-element--standard-properties-idxs` defined at the time of
> macro-expansion?

Yup:

(eval-and-compile ; make available during inline expansion

  (defconst org-element--standard-properties
    '( :begin :post-affiliated :contents-begin :contents-end :end :post-blank
       :secondary :mode :granularity
       :cached :org-element--cache-sync-key
       :robust-begin :robust-end
       :true-level
       :buffer :deferred
       :structure :parent)
    "Standard properties stored in every syntax node structure.
These properties are stored in an array pre-allocated every time a new
object is created.  Two exceptions are `anonymous' and `plain-text'
node types.")

  (defconst org-element--standard-properties-idxs
    (let (plist)
      (seq-do-indexed
       (lambda (property idx)
         (setq plist (plist-put plist property idx)))
       org-element--standard-properties)
      plist)
    "Property list holding standard indexes for `org-element--standard-properties'."))

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-01-31 14:20 ` Eli Zaretskii
@ 2024-02-02  9:00   ` Andrea Corallo
  2024-02-02 13:35     ` Ihor Radchenko
  0 siblings, 1 reply; 23+ messages in thread
From: Andrea Corallo @ 2024-02-02  9:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Ihor Radchenko, 68851, monnier

Eli Zaretskii <eliz@gnu.org> writes:

>> Cc: Stefan Monnier <monnier@iro.umontreal.ca>
>> From: Ihor Radchenko <yantar92@posteo.net>
>> Date: Wed, 31 Jan 2024 13:50:42 +0000
>> 
>> I just stumbled upon strange native compiler warning after defining the
>> following inliner:
>> 
>> (define-inline org-element--property-idx (property)
>>   "Return standard property index or nil."
>>   (declare (pure t))
>>   (inline-letevals (property)
>>     (plist-get
>>      org-element--standard-properties-idxs
>>      (inline-const-val property))))
>> 
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>> 
>> This is on the latest Org mode main branch.
>> 
>> This looks like a bug unless I misunderstand something about inlined functions.
>
> Andrea, can you please help understand this warning?
>
>> 
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property: Handler: org-element-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property: Handler: org-element-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
>> ⛔ Warning (comp): Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner

Hi, I can't investigate this directly before next week but I was
wondering:

Ihor have you tried compiling the compilation unit from command line
(using batch-byte-compile or batch-native-compile)?  If some dependency
is broken this should highlight it.

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-02  9:00   ` Andrea Corallo
@ 2024-02-02 13:35     ` Ihor Radchenko
  2024-02-05 15:10       ` Andrea Corallo
  2024-02-08 18:49       ` Andrea Corallo
  0 siblings, 2 replies; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-02 13:35 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: Eli Zaretskii, 68851, monnier

Andrea Corallo <acorallo@gnu.org> writes:

>>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>>> 
>>> This is on the latest Org mode main branch.
>>> 
>>> This looks like a bug unless I misunderstand something about inlined functions.
> ...
>
> Ihor have you tried compiling the compilation unit from command line
> (using batch-byte-compile or batch-native-compile)?  If some dependency
> is broken this should highlight it.

batch-byte-compile does not emit any warnings.
batch-native-compile emits the same warning:

Compiling single /home/yantar92/Git/org-mode/lisp/org-element-ast.el...
Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
(void-function org-element--property-idx)
Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
(void-function org-element--property-idx)
Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
(void-function org-element--property-idx)
...

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-02 13:35     ` Ihor Radchenko
@ 2024-02-05 15:10       ` Andrea Corallo
  2024-02-08 18:49       ` Andrea Corallo
  1 sibling, 0 replies; 23+ messages in thread
From: Andrea Corallo @ 2024-02-05 15:10 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, 68851, monnier

Ihor Radchenko <yantar92@posteo.net> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>>>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>>>> 
>>>> This is on the latest Org mode main branch.
>>>> 
>>>> This looks like a bug unless I misunderstand something about inlined functions.
>> ...
>>
>> Ihor have you tried compiling the compilation unit from command line
>> (using batch-byte-compile or batch-native-compile)?  If some dependency
>> is broken this should highlight it.
>
> batch-byte-compile does not emit any warnings.
> batch-native-compile emits the same warning:
>
> Compiling single /home/yantar92/Git/org-mode/lisp/org-element-ast.el...
> Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> (void-function org-element--property-idx)
> Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> (void-function org-element--property-idx)
> Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> (void-function org-element--property-idx)
> ...

Okay I'll try to look at it this week.

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-02 13:35     ` Ihor Radchenko
  2024-02-05 15:10       ` Andrea Corallo
@ 2024-02-08 18:49       ` Andrea Corallo
  2024-02-08 19:21         ` Ihor Radchenko
  1 sibling, 1 reply; 23+ messages in thread
From: Andrea Corallo @ 2024-02-08 18:49 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, 68851, monnier

Ihor Radchenko <yantar92@posteo.net> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>>>> ⛔ Warning (comp): Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>>>> 
>>>> This is on the latest Org mode main branch.
>>>> 
>>>> This looks like a bug unless I misunderstand something about inlined functions.
>> ...
>>
>> Ihor have you tried compiling the compilation unit from command line
>> (using batch-byte-compile or batch-native-compile)?  If some dependency
>> is broken this should highlight it.
>
> batch-byte-compile does not emit any warnings.
> batch-native-compile emits the same warning:
>
> Compiling single /home/yantar92/Git/org-mode/lisp/org-element-ast.el...
> Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> (void-function org-element--property-idx)
> Warning: Optimization failure for org-element-put-property: Handler: org-element-put-property--inliner
> (void-function org-element--property-idx)
> Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
> (void-function org-element--property-idx)
> ...

Hi Ihor,

could you specify the reproducer for this?

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 18:49       ` Andrea Corallo
@ 2024-02-08 19:21         ` Ihor Radchenko
  2024-02-08 21:43           ` Andrea Corallo
  0 siblings, 1 reply; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-08 19:21 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: Eli Zaretskii, 68851, monnier

Andrea Corallo <acorallo@gnu.org> writes:

>> Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>> (void-function org-element--property-idx)
>> ...
> ...
> could you specify the reproducer for this?

git clone --depth 1 git://git.savannah.gnu.org/emacs/org-mode.git
cd org-mode
make native

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 19:21         ` Ihor Radchenko
@ 2024-02-08 21:43           ` Andrea Corallo
  2024-02-08 21:51             ` Ihor Radchenko
  0 siblings, 1 reply; 23+ messages in thread
From: Andrea Corallo @ 2024-02-08 21:43 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, 68851, monnier

Ihor Radchenko <yantar92@posteo.net> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>>> Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
>>> (void-function org-element--property-idx)
>>> ...
>> ...
>> could you specify the reproducer for this?
>
> git clone --depth 1 git://git.savannah.gnu.org/emacs/org-mode.git
> cd org-mode
> make native

Thanks,

how can I ask this makefile to dump Emacs the command line invocation?

  Andrea





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 21:43           ` Andrea Corallo
@ 2024-02-08 21:51             ` Ihor Radchenko
  2024-02-08 21:57               ` Andrea Corallo
  0 siblings, 1 reply; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-08 21:51 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: Eli Zaretskii, 68851, monnier

Andrea Corallo <acorallo@gnu.org> writes:

>> git clone --depth 1 git://git.savannah.gnu.org/emacs/org-mode.git
>> cd org-mode
>> make native
>
> Thanks,
>
> how can I ask this makefile to dump Emacs the command line invocation?

make -n native

or
cd lisp
emacs  -Q -batch --eval '(setq vc-handled-backends nil org-startup-folded nil org-element-cache-persistent nil)' --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-native-compile)' org-element-ast.el

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 21:51             ` Ihor Radchenko
@ 2024-02-08 21:57               ` Andrea Corallo
  2024-02-08 22:13                 ` Ihor Radchenko
  0 siblings, 1 reply; 23+ messages in thread
From: Andrea Corallo @ 2024-02-08 21:57 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, 68851, monnier

Ihor Radchenko <yantar92@posteo.net> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>>> git clone --depth 1 git://git.savannah.gnu.org/emacs/org-mode.git
>>> cd org-mode
>>> make native
>>
>> Thanks,
>>
>> how can I ask this makefile to dump Emacs the command line invocation?
>
> make -n native

-n works for native compilation but not for the byte compilation (make
 -n).

Sorry I'm not too excited about reverse engineering org makefile :)

Thanks

  Andrea






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 21:57               ` Andrea Corallo
@ 2024-02-08 22:13                 ` Ihor Radchenko
  2024-02-08 22:33                   ` Andrea Corallo
  0 siblings, 1 reply; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-08 22:13 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: Eli Zaretskii, 68851, monnier

Andrea Corallo <acorallo@gnu.org> writes:

> Sorry I'm not too excited about reverse engineering org makefile :)

You can simply

cd org-mode/lisp
emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-native-compile)' org-element-ast.el


-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 22:13                 ` Ihor Radchenko
@ 2024-02-08 22:33                   ` Andrea Corallo
  2024-02-08 23:06                     ` Ihor Radchenko
  0 siblings, 1 reply; 23+ messages in thread
From: Andrea Corallo @ 2024-02-08 22:33 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, 68851, monnier

Ihor Radchenko <yantar92@posteo.net> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>> Sorry I'm not too excited about reverse engineering org makefile :)
>
> You can simply
>
> cd org-mode/lisp
> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-native-compile)' org-element-ast.el

Negative, I've already the invocation for the native compilation, what I
want is the one for byte compilation.

Reason for that is that my crystal ball suggests compilers are invoked
in different ways.  Actually

emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-byte-compile)' org-element-ast.el

gives here the same exact error the native compiler gives.

That BTW is in disagreement with:

>> Ihor have you tried compiling the compilation unit from command line
>> (using batch-byte-compile or batch-native-compile)?  If some dependency
>> is broken this should highlight it.
>
> batch-byte-compile does not emit any warnings.
> batch-native-compile emits the same warning:

So I suspect that (if this is really a bug) is not native compiler
related, but I need the second invocation to confirm.

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 22:33                   ` Andrea Corallo
@ 2024-02-08 23:06                     ` Ihor Radchenko
  2024-02-08 23:30                       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-09 11:41                       ` Andrea Corallo
  0 siblings, 2 replies; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-08 23:06 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: Eli Zaretskii, 68851, monnier

Andrea Corallo <acorallo@gnu.org> writes:

>> cd org-mode/lisp
>> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-native-compile)' org-element-ast.el
>
> Negative, I've already the invocation for the native compilation, what I
> want is the one for byte compilation.
>
> Reason for that is that my crystal ball suggests compilers are invoked
> in different ways.  Actually
>
> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-byte-compile)' org-element-ast.el
>
> gives here the same exact error the native compiler gives.

I confirm.

> That BTW is in disagreement with:
>
>>> Ihor have you tried compiling the compilation unit from command line
>>> (using batch-byte-compile or batch-native-compile)?  If some dependency
>>> is broken this should highlight it.
>>
>> batch-byte-compile does not emit any warnings.
>> batch-native-compile emits the same warning:

Hmm. I think what I tried was a bit different. I did make compile, which
is using batch-byte-recompile-directory:

emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-byte-recompile-directory 0)'

> So I suspect that (if this is really a bug) is not native compiler
> related, but I need the second invocation to confirm.

Looks like it is really not native compiler related.
Still, I am puzzled what is going wrong there. The error is

Warning: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
(void-function org-element--property-idx)

but both org-element--property-idx and org-element-property-raw are
inline functions defined in the same file.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 23:06                     ` Ihor Radchenko
@ 2024-02-08 23:30                       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-08 23:42                         ` Ihor Radchenko
  2024-02-09 11:41                       ` Andrea Corallo
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-08 23:30 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, Andrea Corallo, 68851

Ihor Radchenko [2024-02-08 23:06:52] wrote:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>>> cd org-mode/lisp
>>> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval
>>> '(batch-native-compile)' org-element-ast.el
>>
>> Negative, I've already the invocation for the native compilation, what I
>> want is the one for byte compilation.
>>
>> Reason for that is that my crystal ball suggests compilers are invoked
>> in different ways.  Actually
>>
>> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval
>> '(batch-byte-compile)' org-element-ast.el
>>
>> gives here the same exact error the native compiler gives.
>
> I confirm.
>
>> That BTW is in disagreement with:
>>
>>>> Ihor have you tried compiling the compilation unit from command line
>>>> (using batch-byte-compile or batch-native-compile)?  If some dependency
>>>> is broken this should highlight it.
>>>
>>> batch-byte-compile does not emit any warnings.
>>> batch-native-compile emits the same warning:
>
> Hmm. I think what I tried was a bit different. I did make compile, which
> is using batch-byte-recompile-directory:
>
> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval
> '(batch-byte-recompile-directory 0)'

I like to use ` to avoid that quotation gymnastics:

    emacs  -Q -batch --eval '(add-to-list `load-path ".")' ...

> Looks like it is really not native compiler related.
> Still, I am puzzled what is going wrong there. The error is
>
> Warning: Optimization failure for org-element-property-raw: Handler:
> org-element-property-raw--inliner
> (void-function org-element--property-idx)
>
> but both org-element--property-idx and org-element-property-raw are
> inline functions defined in the same file.

`org-element--property-idx` is defined in that same file, indeed, but
contrary to `defmacro`, `define-inline` does not make the function
usable during that same file's compilation.

IOW, you can work around that problem with `eval-and-compile`, for example.


        Stefan


diff --git a/lisp/org-element-ast.el b/lisp/org-element-ast.el
index b624fd1c87..0079334bca 100644
--- a/lisp/org-element-ast.el
+++ b/lisp/org-element-ast.el
@@ -350,13 +350,14 @@ node types.")
       plist)
     "Property list holding standard indexes for `org-element--standard-properties'."))
 
-(define-inline org-element--property-idx (property)
+(eval-and-compile
+  (define-inline org-element--property-idx (property)
   "Return standard property index or nil."
   (declare (pure t))
   (inline-letevals (property)
     (plist-get
      org-element--standard-properties-idxs
-     (inline-const-val property))))
+     (inline-const-val property)))))
 
 (define-inline org-element--parray (node)
   "Return standard property array for NODE."






^ permalink raw reply related	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 23:30                       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-08 23:42                         ` Ihor Radchenko
  2024-02-09  0:47                           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-08 23:42 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, Andrea Corallo, 68851

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval
>> '(batch-byte-recompile-directory 0)'
>
> I like to use ` to avoid that quotation gymnastics:
>
>     emacs  -Q -batch --eval '(add-to-list `load-path ".")' ...

Interesting. Thanks for sharing the trick.

>> Looks like it is really not native compiler related.
>> Still, I am puzzled what is going wrong there. The error is
>>
>> Warning: Optimization failure for org-element-property-raw: Handler:
>> org-element-property-raw--inliner
>> (void-function org-element--property-idx)
>>
>> but both org-element--property-idx and org-element-property-raw are
>> inline functions defined in the same file.
>
> `org-element--property-idx` is defined in that same file, indeed, but
> contrary to `defmacro`, `define-inline` does not make the function
> usable during that same file's compilation.

This is surprising. I would not mind compiler indicating this fact in
less cryptic way or, better, making `define-inline' usable during file's
compilation.

Also, I am very confused because the previous version worked:

(define-inline org-element--property-idx (property)
  "Return standard property index or nil."
  (declare (pure t))
  (if (inline-const-p property)
      (plist-get
       org-element--standard-properties-idxs
       (inline-const-val property))
    (inline-quote (plist-get
                   org-element--standard-properties-idxs
                   ,property))))

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 23:42                         ` Ihor Radchenko
@ 2024-02-09  0:47                           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-09 12:02                             ` Ihor Radchenko
  2024-02-09 16:19                             ` Ihor Radchenko
  0 siblings, 2 replies; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-09  0:47 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, Andrea Corallo, 68851

>> `org-element--property-idx` is defined in that same file, indeed, but
>> contrary to `defmacro`, `define-inline` does not make the function
>> usable during that same file's compilation.
> This is surprising. I would not mind compiler indicating this fact in
> less cryptic way or, better, making `define-inline' usable during file's
> compilation.

The same error would be signaled if `org-element--property-idx` were
defined with `defun`, and `define-inline` is another way to define
a function, so I thought it would make sense to make them
behave similarly.

> Also, I am very confused because the previous version worked:
>
> (define-inline org-element--property-idx (property)
>   "Return standard property index or nil."
>   (declare (pure t))
>   (if (inline-const-p property)
>       (plist-get
>        org-element--standard-properties-idxs
>        (inline-const-val property))
>     (inline-quote (plist-get
>                    org-element--standard-properties-idxs
>                    ,property))))

I can't see why it would behave differently with the above
definition, sorry.
BTW, improved patch below.


        Stefan


diff --git a/lisp/org-element-ast.el b/lisp/org-element-ast.el
index b624fd1c87..9a12299b60 100644
--- a/lisp/org-element-ast.el
+++ b/lisp/org-element-ast.el
@@ -348,7 +348,7 @@ node types.")
          (setq plist (plist-put plist property idx)))
        org-element--standard-properties)
       plist)
-    "Property list holding standard indexes for `org-element--standard-properties'."))
+    "Property list holding standard indexes for `org-element--standard-properties'.")
 
 (define-inline org-element--property-idx (property)
   "Return standard property index or nil."
@@ -356,7 +356,7 @@ node types.")
   (inline-letevals (property)
     (plist-get
      org-element--standard-properties-idxs
-     (inline-const-val property))))
+     (inline-const-val property)))))
 
 (define-inline org-element--parray (node)
   "Return standard property array for NODE."
@@ -405,26 +405,15 @@ Ignore standard property array."
 Do not resolve deferred values.
 If PROPERTY is not present, return DFLT."
   (declare (pure t))
-  (let ((idx (and (inline-const-p property)
-                  (org-element--property-idx property))))
-    (if idx
-        (inline-letevals (node)
-          (inline-quote
-           (if-let ((parray (org-element--parray ,node)))
-               (pcase (aref parray ,idx)
-                 (`org-element-ast--nil ,dflt)
-                 (val val))
-             ;; No property array exists.  Fall back to `plist-get'.
-             (org-element--plist-property ,property ,node ,dflt))))
-      (inline-letevals (node property)
-        (inline-quote
-         (let ((idx (org-element--property-idx ,property)))
-           (if-let ((parray (and idx (org-element--parray ,node))))
-               (pcase (aref parray idx)
-                 (`org-element-ast--nil ,dflt)
-                 (val val))
-             ;; No property array exists.  Fall back to `plist-get'.
-             (org-element--plist-property ,property ,node ,dflt))))))))
+  (let ((idx (org-element--property-idx (inline-const-val property))))
+    (inline-letevals (node)
+      (inline-quote
+       (if-let ((parray (org-element--parray ,node)))
+           (pcase (aref parray ,idx)
+             (`org-element-ast--nil ,dflt)
+             (val val))
+         ;; No property array exists.  Fall back to `plist-get'.
+         (org-element--plist-property ,property ,node ,dflt))))))
 
 (define-inline org-element--put-parray (node &optional parray)
   "Initialize standard property array in NODE.






^ permalink raw reply related	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-08 23:06                     ` Ihor Radchenko
  2024-02-08 23:30                       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-09 11:41                       ` Andrea Corallo
  1 sibling, 0 replies; 23+ messages in thread
From: Andrea Corallo @ 2024-02-09 11:41 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, 68851, monnier

Ihor Radchenko <yantar92@posteo.net> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>>> cd org-mode/lisp
>>> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-native-compile)' org-element-ast.el
>>
>> Negative, I've already the invocation for the native compilation, what I
>> want is the one for byte compilation.
>>
>> Reason for that is that my crystal ball suggests compilers are invoked
>> in different ways.  Actually
>>
>> emacs  -Q -batch --eval '(add-to-list '"'"'load-path ".")' --eval '(batch-byte-compile)' org-element-ast.el
>>
>> gives here the same exact error the native compiler gives.
>
> I confirm.
>
>> That BTW is in disagreement with:
>>
>>>> Ihor have you tried compiling the compilation unit from command line
>>>> (using batch-byte-compile or batch-native-compile)?  If some dependency
>>>> is broken this should highlight it.
>>>
>>> batch-byte-compile does not emit any warnings.
>>> batch-native-compile emits the same warning:
>
> Hmm. I think what I tried was a bit different. I did make compile, which
> is using batch-byte-recompile-directory:

Please verify and compare your real compiler invocation next time,
that's essential to reporting and triaging a bug.

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-09  0:47                           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-09 12:02                             ` Ihor Radchenko
  2024-02-09 12:42                               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-09 16:19                             ` Ihor Radchenko
  1 sibling, 1 reply; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-09 12:02 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, Andrea Corallo, 68851

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> `org-element--property-idx` is defined in that same file, indeed, but
>>> contrary to `defmacro`, `define-inline` does not make the function
>>> usable during that same file's compilation.
>> This is surprising. I would not mind compiler indicating this fact in
>> less cryptic way or, better, making `define-inline' usable during file's
>> compilation.
>
> The same error would be signaled if `org-element--property-idx` were
> defined with `defun`, and `define-inline` is another way to define
> a function, so I thought it would make sense to make them
> behave similarly.

I see the logic.
Although, I am very surprised that `batch-byte-recompile-directory' does
not trigger the error. So, something is off somewhere in the
compilation. If not in `batch-byte-compile' then in
`batch-byte-recompile-directory'.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-09 12:02                             ` Ihor Radchenko
@ 2024-02-09 12:42                               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-09 16:21                                 ` Ihor Radchenko
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-09 12:42 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Eli Zaretskii, Andrea Corallo, 68851

> Although, I am very surprised that `batch-byte-recompile-directory' does
> not trigger the error. So, something is off somewhere in the
> compilation. If not in `batch-byte-compile' then in
> `batch-byte-recompile-directory'.

`batch-byte-recompile-directory` runs a single Emacs session that
compiles all the files.  Some of those files probably (require
'org-element-ast) and presumably this happens in one of the files
compiled *before* `org-element-ast.el`, hence the problem disappears.

FWIW, I have a local hack which saves&restores the global `obarray`
around each `byte-compile-file` which should make
`batch-byte-recompile-directory` shows the same errors as compiling each
file individually.  Not sure it's worth the trouble, tho.


        Stefan






^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-09  0:47                           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-09 12:02                             ` Ihor Radchenko
@ 2024-02-09 16:19                             ` Ihor Radchenko
  1 sibling, 0 replies; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-09 16:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, Andrea Corallo, 68851

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> BTW, improved patch below.

Thanks!

> diff --git a/lisp/org-element-ast.el b/lisp/org-element-ast.el
> index b624fd1c87..9a12299b60 100644
> --- a/lisp/org-element-ast.el
> +++ b/lisp/org-element-ast.el
> @@ -348,7 +348,7 @@ node types.")
>           (setq plist (plist-put plist property idx)))
>         org-element--standard-properties)
>        plist)
> -    "Property list holding standard indexes for `org-element--standard-properties'."))
> +    "Property list holding standard indexes for `org-element--standard-properties'.")
>  
>  (define-inline org-element--property-idx (property)
>    "Return standard property index or nil."
> @@ -356,7 +356,7 @@ node types.")
>    (inline-letevals (property)
>      (plist-get
>       org-element--standard-properties-idxs
> -     (inline-const-val property))))
> +     (inline-const-val property)))))

I applied this part, as
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=ecb5b605d
  
>  (define-inline org-element--parray (node)
>    "Return standard property array for NODE."
> @@ -405,26 +405,15 @@ Ignore standard property array."
>  Do not resolve deferred values.
>  If PROPERTY is not present, return DFLT."
>    (declare (pure t))
> -  (let ((idx (and (inline-const-p property)
> ...
> +  (let ((idx (org-element--property-idx (inline-const-val property))))
> +    (inline-letevals (node)
> +      (inline-quote
> +       (if-let ((parray (org-element--parray ,node)))
> +           (pcase (aref parray ,idx)
> +             (`org-element-ast--nil ,dflt)
> +             (val val))
> +         ;; No property array exists.  Fall back to `plist-get'.
> +         (org-element--plist-property ,property ,node ,dflt))))))

This one causes failing tests. So, something is off.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner
  2024-02-09 12:42                               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-09 16:21                                 ` Ihor Radchenko
  0 siblings, 0 replies; 23+ messages in thread
From: Ihor Radchenko @ 2024-02-09 16:21 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, Andrea Corallo, 68851

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Although, I am very surprised that `batch-byte-recompile-directory' does
>> not trigger the error. So, something is off somewhere in the
>> compilation. If not in `batch-byte-compile' then in
>> `batch-byte-recompile-directory'.
>
> `batch-byte-recompile-directory` runs a single Emacs session that
> compiles all the files.  Some of those files probably (require
> 'org-element-ast) and presumably this happens in one of the files
> compiled *before* `org-element-ast.el`, hence the problem disappears.

Makes sense. Then, this bug can be closed I think. The problem is not on
Emacs side.

> FWIW, I have a local hack which saves&restores the global `obarray`
> around each `byte-compile-file` which should make
> `batch-byte-recompile-directory` shows the same errors as compiling each
> file individually.  Not sure it's worth the trouble, tho.

I prefer to be explicit.
I changed Org mode build system to use "single" target by default, so
that .el files are compiled individually.
This also allowed parallel execution of make.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=71fbe92c2
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=c76d498f4

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-02-09 16:21 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-31 13:50 bug#68851: 30.0.50; Native comp: Optimization failure for org-element-property-raw: Handler: org-element-property-raw--inliner Ihor Radchenko
2024-01-31 14:20 ` Eli Zaretskii
2024-02-02  9:00   ` Andrea Corallo
2024-02-02 13:35     ` Ihor Radchenko
2024-02-05 15:10       ` Andrea Corallo
2024-02-08 18:49       ` Andrea Corallo
2024-02-08 19:21         ` Ihor Radchenko
2024-02-08 21:43           ` Andrea Corallo
2024-02-08 21:51             ` Ihor Radchenko
2024-02-08 21:57               ` Andrea Corallo
2024-02-08 22:13                 ` Ihor Radchenko
2024-02-08 22:33                   ` Andrea Corallo
2024-02-08 23:06                     ` Ihor Radchenko
2024-02-08 23:30                       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-08 23:42                         ` Ihor Radchenko
2024-02-09  0:47                           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-09 12:02                             ` Ihor Radchenko
2024-02-09 12:42                               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-09 16:21                                 ` Ihor Radchenko
2024-02-09 16:19                             ` Ihor Radchenko
2024-02-09 11:41                       ` Andrea Corallo
2024-01-31 19:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-31 19:47   ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).