[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: org-assert-version considered harmful
From: |
Stefan Monnier |
Subject: |
Re: org-assert-version considered harmful |
Date: |
Tue, 13 Sep 2022 12:13:33 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
>> Yup. But there's no option to automatically find those dependencies in
>> ELisp, and (IIRC from last time I looked at it, in many packages obeying
>> such dependencies would end up introducing circular dependencies in
>> the Makefile), so we'd have to depend on the package's author to provide
>> a working set of file dependencies.
>
> It would be nice to have such an option.
Agreed. The "last time" mentioned above, I looked at changing the
byte-compiler to keep track of the macros that were expanded so we can
auto-generate the dependencies.
> At least, for the most critical macros. Something similar to
> declare statements.
But that also requires manual intervention :-(
>> Hmm... after new-org-autoloads.el is loaded, the old-Org files will be
>> relegated to "late in the `load-path`" (i.e. after the directory that
>> holds the new-Org file) and should hence not be loaded any more (unless
>> someone goes through the trouble to explicitly load an old-Org files
>> with an absolute file name).
>
> I admit that I do not have sufficient knowledge about the autoload magic
> Emacs uses when loading packages.
>
> For reference, one simple way to trigger "mixed" state of Org is doing
> something like:
>
> 1. emacs -Q
> 2. (require 'org)
> 3. Add the newer Org version to load-path
> 4. (require 'ob-python)
>
> When and which version of org-autoloads.el will be loaded in
> such scenario?
None :-(
In my book step 3 above is a mistake (even if moved to step 2).
The `org-autoloads.el` is the file that adds the dir to `load-path`
(and in a normal ELPA install, that's the file that `package.el` loads
for you at startup).
So step 3 above is replaced by (load ".../org-autoloads"), and that's
where the problem would be detected.
But admittedly, that won't help users who made the mistake of
manually adding to `load-path` :-(
Stefan
- org-assert-version considered harmful, Stefan Monnier, 2022/09/12
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/12
- Re: org-assert-version considered harmful, Timothy, 2022/09/12
- Re: org-assert-version considered harmful, Stefan Monnier, 2022/09/12
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/12
- Re: org-assert-version considered harmful, Stefan Monnier, 2022/09/13
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/13
- Re: org-assert-version considered harmful,
Stefan Monnier <=
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/13
- Re: org-assert-version considered harmful, Stefan Monnier, 2022/09/14
- Re: org-assert-version considered harmful, Tim Cross, 2022/09/14
- Re: org-assert-version considered harmful, Bastien, 2022/09/24
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/24
- Re: org-assert-version considered harmful, Timothy, 2022/09/25
- Re: org-assert-version considered harmful, Bastien, 2022/09/25
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/25
- Re: org-assert-version considered harmful, Bastien, 2022/09/25
- Re: org-assert-version considered harmful, Ihor Radchenko, 2022/09/25