[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug? org-assert-version does not prevent mixed install
From: |
Max Nikulin |
Subject: |
Bug? org-assert-version does not prevent mixed install |
Date: |
Sun, 18 Dec 2022 12:20:17 +0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 |
Hi,
It seems `org-assert-version' guard is not enough to protect against
mixed install. Some code is required to generate a *fatal* error during
compilation and a more descriptive error during loading.
I decided to look closer at
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59882
"30.0.50; Compilation of ELPA packages during version upgrade (Org 9.6
ELPA upgrade from older ELPA version)"
since the bug lacks explicit and clear steps to reproduce.
Let's leave that bug for emacs' stuff and concentrate on Org code here.
I have tried the following:
- Emacs-27.1 from Ubuntu-22.04 LTS jammy (elpa-org-9.5.2 is not
important). I suppose emacs version should be less than 29.0 to avoid
built-in Org version having `org-assert-version'.
- Since emacs does not allow to specify just `user-emacs-directory' from
command line I had to create a new user, so default configuration maybe
slightly modified by debian-specific stuff.
- "emacs -l org" to ensure that Org is loaded. "-q" or "-Q" are
intentionally avoided to allow initialization and saving of modification
as for normal emacs session.
- M-x list-packages, click org, click install
- I get some warnings
Compiling file /home/emcs/.emacs.d/elpa/org-9.6/ob-C.el at Sun Dec 18 04:30:49
2022
Entering directory ‘/home/emcs/.emacs.d/elpa/org-9.6/’
In end of data:
ob-C.el:509:1:Warning: the function ‘org-assert-version’ is not known to be
defined.
and even errors. I have not idea why severity is different
Compiling file /home/emcs/.emacs.d/elpa/org-9.6/ob-matlab.el at Sun Dec 18
04:30:50 2022
ob-matlab.el:43:1:Error: Symbol’s function definition is void:
org-assert-version
- org.elc is not created as well.
- Despite of warnings and errors the following added to ~/.emacs
(custom-set-variables
'(package-selected-packages '(org htmlize)))
- next attempt to run "emacs -l org" causes the famous message
byte-code: Invalid function: org-assert-version
Is it possible to signal a fatal error during installing using emacs
machinery to prevent broken user configuration? My expectation that
result of failed compilation is ignored by emacs.
It is possible to convert the error to a better one by checking if
`org-assert-version' is bound in org.el.
I think, the following topics are more suitable for emacs bug tracker or
devel mail list:
- how to compile packages to avoid issues with already loaded older
packages,
- what changes are required in package management to roll back failed
attempt of installing.
- Bug? org-assert-version does not prevent mixed install,
Max Nikulin <=