[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47025: 28.0.50; [feature/native-comp] pcase is preloaded, but not el
From: |
Eli Zaretskii |
Subject: |
bug#47025: 28.0.50; [feature/native-comp] pcase is preloaded, but not eln-compiled |
Date: |
Wed, 10 Mar 2021 15:10:02 +0200 |
> From: Andrea Corallo <akrl@sdf.org>
> Cc: 47025@debbugs.gnu.org
> Date: Tue, 09 Mar 2021 20:21:21 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I've noticed that the native-comp branch preloads pcase:
> >
> > Loading files (native compiled elisp)...
> > Loading emacs-lisp/macroexp (native compiled elisp)...
> > Loading emacs-lisp/pcase...
> > Loading emacs-lisp/macroexp (native compiled elisp)...
> >
> > whereas on master this doesn't happen. Why is that?
>
> Mmhh, I think is because of this from loadup.el:
>
> ====
> (load "emacs-lisp/macroexp")
> (if (byte-code-function-p (symbol-function 'macroexpand-all))
> nil
> ;; Since loaddefs is not yet loaded, macroexp's uses of pcase will simply
> ;; fail until pcase is explicitly loaded. This also means that we have to
> ;; disable eager macro-expansion while loading pcase.
> (let ((macroexp--pending-eager-loads '(skip))) (load "emacs-lisp/pcase"))
> ;; Re-load macroexp so as to eagerly macro-expand its uses of pcase.
> (let ((max-lisp-eval-depth (* 2 max-lisp-eval-depth)))
> (load "emacs-lisp/macroexp")))
> ====
>
> > need to preload pcase?
>
> I fear I don't have an answer as ATM I don't uderstand why it should be
> different compared to master.
Stefan, any ideas why this happens on the native-comp branch but not
on master?