emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Permanently fix org versioning breakage during builds?


From: Ihor Radchenko
Subject: Re: Permanently fix org versioning breakage during builds?
Date: Sun, 24 Dec 2023 14:48:43 +0000

João Távora <joaotavora@gmail.com> writes:

>> I do not think that your idea will work.
>> What you propose is compiling `org-assert-version' once.
>>
>
> Hmm? How can that be what I'm proposing if I didn't even know about this
> definition. Is it a form, a macro?

> What ultimate problem is it solving? What condition do you need to assert
> at Emacs master build-time, failing which something else will go wrong?

`org-assert-version' is a macro.
It is solving a very common problem when some files from Org mode are
loaded from Emacs distribution and some are loaded from a newer Org mode
version typically installed from ELPA. This causes various unexpected
breakages.

Or, similarly, when built-in Org mode is updated, some macros are
changed, but their users are not re-compiled, leaving stale macro
expansions inside .elc files. Again, this causes various breakages.

`org-assert-version' macro makes sure that no mixing like the above is
happening.

> I just provided ideas on how to solve a very common build-time pitfall in
> Lisp. A pitfall that can be solved by requiring a recompilation of
> everything, as seems to be the current way, or in other less brutal ways.

> Keep in mind something in the build system is causing builds to fail with
> cryptic messages even for people who don't use Org or rarely ever do. I've
> never touched any Org related files in my life, why should it blow up in my
> face? Of course happens to all package maintainers but usually there is a
> fix. There should be one here, too.

Nothing is blown up in your face. The version breakage we are discussing
in this thread is at runtime, when Org mode is loaded and detects that
some of .elc files for Org libraries are stale (compiled using older Org
mode version).

>> May you please try to explain what you mean in other words? I am not
>> sure what you are trying to convey in this paragraph.
>>
>
> Give me (us) an example of a defmacro form whose body is frequently changed
> and which requires the expanders of such a macro, which presumably live in
> other files, to be recompiled, even if said files haven't changed.

I hope that the above clarified the situation.

-- 
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>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]