[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs:Native-Comp Backtrace
From: |
Andrea Corallo |
Subject: |
Re: Emacs:Native-Comp Backtrace |
Date: |
Wed, 26 Aug 2020 19:09:01 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
"T.V Raman" <raman@google.com> writes:
> "T.V Raman" <raman@google.com> writes:
>
> Here is some more info based on a work-around:
>
> Conjecture: native-comp has issues with with-eval-after-load and
> friends:
>
> The following setup produced the afore-mentioned error:
>
> 1. In the emacs startup, load dired-x when dired is loaded:
> (with-eval-after-load "dired" (require 'dired-x))
> 2. dired-mode-hook contains dired-omit-mode defined in dired-x
> 3. During startup, a dired buffer is opened -- either via psession,
> desktop or some other means
>
> With the above, you get the error (symbol's function definition is
> void: dired-omit-mode)
>
> Fix: If in the startup file, you remove the with-eval-after-load and
> simply require dired-x, then it works.
>
> Additional info which lends credence to the conjecture:
>
> Emacspeak loads module-specific code using eval-after-load e.g. when
> "ido" is loaded, it loads emacspeak-ido after ido is done loading. In
> native-comp emacs, I find that (featurep 'emacspeak-ido) is nil after
> ido is loaded.
>
> I suspect use-package may also be affected in a similar way.
Hi Raman
thanks for having a look.
This issue sounds strange but before looking into it I'd like to rework
the advicing primitive mechanism for the native code.
This is a source of incompatibility that may cause a number of the small
strange behaviours we still see today. As a matter of fact today any
primitive that gets advised if is not listed in
`comp-never-optimize-functions' will misbehave with respect to the
vanilla implementation.
This should be the last non small area that need intervention and I'll
be on this very soon.
Andrea
--
akrl@sdf.org