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 12:50:45 +0000

Po Lu <luangruo@yahoo.com> writes:

> Ihor Radchenko <yantar92@posteo.net> writes:
>
>> I now converted that error into warning, so that it is no longer
>> blocking.
>
> Thanks, but ideally Emacs should not display warnings loading built-in
> files, however they were built, unless a definite problem exists that
> requires they be compiled afresh.  Org cannot change so dramatically
> from one moment to the next, as the frequency of these warnings would
> suggest, that each warning or error it signals is justified.

Yes, Org cannot change so dramatically. However, when Org does change
its macros in breaking ways (for example, to fix a bug), it is very hard
to figure out what goes wrong in the case when we get a mix of old and
new .elc files. That's why `org-assert-version' was written in the first
place.

> What do you say to disabling the mechanism for version checks in Org as
> distributed with Emacs?  Nothing will be lost, since AFAIU the check
> exists for the sake of conflicting Org installations set in place by
> package managers rather than Emacs itself.

Considering the existing stance that it is ok to break things
occasionally due to stale macros when running make on Emacs git
repository, I see no problem disabling these checks for built-in Org
mode.

Tentatively, it may even be done without affecting version check for
out-of-tree builds. See the attached patch.

>From eadeaa85336e01a5c3d5ac3d5088a83d627d1fc7 Mon Sep 17 00:00:00 2001
Message-ID: 
<eadeaa85336e01a5c3d5ac3d5088a83d627d1fc7.1703422144.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Sun, 24 Dec 2023 13:47:04 +0100
Subject: [PATCH] org-assert-version: Disable version check in .elc files for
 built-in Org mode

* lisp/org-macs.el (org-assert-version): Record
`org--inhibit-version-check' during compile time inside
`org-assert-version'.  This way, .elc files generated when compiling
built-in Org mode in Emacs git tree never trigger version mismatch
warning.

Link: 87zfxzdbna.fsf@yahoo.com">https://yhetil.org/emacs-devel/87zfxzdbna.fsf@yahoo.com
---
 lisp/org-macs.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index 10ef9d06b..fd083ca62 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -56,7 +56,7 @@ (defmacro org-assert-version ()
   ;; `org-assert-version' calls would fail using strict
   ;; `org-git-version' check because the generated Org version strings
   ;; will not match.
-  `(unless (or org--inhibit-version-check (equal (org-release) ,(org-release)))
+  `(unless (or ,org--inhibit-version-check (equal (org-release) 
,(org-release)))
      (warn "Org version mismatch.
 This warning usually appears when a built-in Org version is loaded
 prior to the more recent Org version.
-- 
2.42.0

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