[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: org-assert-version considered harmful
From: |
Ihor Radchenko |
Subject: |
Re: org-assert-version considered harmful |
Date: |
Fri, 18 Aug 2023 14:26:10 +0000 |
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>>> But then it will not run during byte-compilation.
>>> Yeah, I was assuming that you had replaced all `require`s with
>>> `org-require-with-shadowcheck`, but that's probably not what you'd done.
>> That's exactly what I have done.
>
> Ah. The issue comes from the fact that `require` is treated specially
> by the byte compiler, so if you define `org-require-with-shadowcheck` as
> a function it indeed won't do quite the same as `require`.
>
> The way `require` is treated specially by the byte-compiler only affects
> top-level uses (making them behave as if they're wrapped inside
> `eval-and-compile`). So you want to use `eval-and-compile` only for
> those `require`s that are at top-level.
I see. Then, I can resolve the issue simply by
(put 'org-require-with-shadowcheck 'byte-hunk-handler
'byte-compile-file-form-require)
> Personally, I'd only change those `require`s that load `org-macs`, which
> should be enough to cover almost all cases (and I wouldn't just
> silently reload the file, but I'd also emit a warning explaining that
> we detected a bad situation and using a workaround since that
> workaround is not 100% reliable anyway).
I first want to try the most generous way to reveal any potential
pitfalls.
Like recursive load that is still happening when I do
1. emacs -Q
2. M-x org-version (built-in)
3. M-: (push "/path/to/git/version/of/org/lisp" load-path)
4. M-x org-mode
5. Observe recursive loading error
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
- Re: org-assert-version considered harmful, Ihor Radchenko, 2023/08/16
- Re: org-assert-version considered harmful, Stefan Monnier, 2023/08/16
- Re: org-assert-version considered harmful, Ihor Radchenko, 2023/08/16
- Re: org-assert-version considered harmful, Stefan Monnier, 2023/08/16
- Re: org-assert-version considered harmful, Ihor Radchenko, 2023/08/18
- Re: org-assert-version considered harmful, Stefan Monnier, 2023/08/18
- Re: org-assert-version considered harmful, Ihor Radchenko, 2023/08/18
- Re: org-assert-version considered harmful, Stefan Monnier, 2023/08/18
- Re: org-assert-version considered harmful,
Ihor Radchenko <=
- Re: org-assert-version considered harmful, Ihor Radchenko, 2023/08/18
Re: org-assert-version considered harmful, Max Nikulin, 2023/08/17