Subject: Re: bug#55414: 29.0.50; Byte compilation error for the modus-themes

From: Alan Mackenzie <[email-masked]>
Date: Mon, 16 May 2022 07:58:02 +0000

Hello, Lars and Prot.

On Sun, May 15, 2022 at 17:16:07 +0200, Lars Ingebrigtsen wrote:
> Protesilaos Stavrou <[email-masked]> writes:

> > Thank you!  I attach the backtrace with commit 850074636e and also with
> > the current master (4aa8115855).

> Looks like it's `byte-compile--first-symbol-with-pos' that's very
> recursive.  Perhaps it should be rewritten to not recurse (i.e., use a
> stack)?

Looking a bit more carefully at the backtrace, it's evident there were
two lisp eval depth overflows.  The first was in the compilation of the
library, where a condition-case was used to discard the diagnostic data
(I hate it when this is done).  This was in the macro
displaying-byte-compile-warnings in .../lisp/emacs-lisp/bytecomp.el.
This failure then called the byte compiler error routines, which caused
the second overflow, in byte-compile--first-symbol-with-pos.

This second overflow is "only just" happening - another few spare slots,
and it would have succeeded; at least on this particular part of the
program structure.

My feeling is that the first overflow is a real overflow, not an
infinite recursion, and could you (Prot) please test this by compiling
with a larger max-lisp-eval-depth, something like

   M-: (let ((max-lisp-eval-depth (* 2 max-lisp-eval-depth)))
   (byte-compile-file
   "~/Git/Projects/modus-themes/modus-operandi-theme.e..."))

If this compilation succeeds, then perhaps we need to increase our
default max-lisp-eval-depth.

Thanks!

> -- 
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no

-- 
Alan Mackenzie (Nuremberg, Germany).