emacs-orgmode
[Top][All Lists]
Advanced

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




reply via email to

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