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.

Reply via email to