* 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 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-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 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
* 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-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-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
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).