Closed nanzhong closed 1 week ago
Mhmm, not quite sure why the version detection is not working in CI. It seems to be working as expected locally.
It looks like the version of emacs being used in CI makes use of org 9.6 even in the snapshot version as it's building from the github emacs mirror. So I would expect both the 26.3 and snapshot tests to be calling the old branch, which it doesn't seem to be doing 🤔.
Ah, I think the reason it's failing is because org-element-property
is defined using defsubst
in 9.6 and define-inline
in 9.7. The inlining that happens during byte compilation seems to be what's tripping this up since in 9.6, org-element-property
only allows for 2 arguments.
I'm not that familiar with emacs lisp, so I don't have a clear idea of how to fix this, but I'll dig a little deeper and see.
I've reworked this to make use of org-element-propertise-resolve
to conditionally resolve deferred element properties on org 9.7+ sidestepping changing inlined function.
Now that org-mode 9.7.2 is the actual release, we need this to address #78
The unreleased 9.7 version of org-mode introduced a change that breaks the current
weblorg-slugify
implementation. The change results in some org nodes being deferred and requiring the org buffer to be live when lazily evaluated. (See https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tree/etc/ORG-NEWS#n148).This change in behaviour results in errors such as:
This PR makes use of the updated support in
org-element-property
to forced undeferring. Once 9.7 is released, this would be good to revisit (whether that means bumping the required org version or keeping this conditional).