On 18/12/2022 22:40, Stefan Monnier via Bug reports for GNU Emacs, the
Swiss army knife of text editors wrote:
- "emacs -l org" to simulate a regular user session with some opened files.
- Update to Org-9.6 from ELPA.
- Close emacs and start it again "emacs -l org"
Result:
byte-code: Invalid function: org-assert-version
Hmm... there's code in `package.el` intended to avoid that problem, but
clearly it's failing here. Could Someone⢠investigate why that code
doesn't do its job.
The code in question is in `package--reload-previously-loaded`
Since I managed to reproduce the issue with emacs-28.2 built from source
tree, I tried current master (30.0.50) as well. I used the following
trick to shadow org-assert-version:
sed -i -e 's/org-assert-version/org-assert-version-old/g' lisp/org/*.el
I am unable to reproduce the "Invalid function: org-assert-version"
issue. Org compilation finishes without warnings.
I have noticed that neither `package--reload-previously-loaded` nor code
loading already compiled package unload the loaddefs file. E.g. I added
org-stale-function marked as autoload. It is possible to get help for
this function, but attempts to call this function causes "Autoloading
file" error. Ideally emacs should completely forget about such functions
when newer elpa package is installed.