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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 22 May 2022 16:25:23 +0300

> Date: Sun, 22 May 2022 13:10:20 +0000
> Cc: Protesilaos Stavrou <[email-masked]>, [email-masked],
>   [email-masked]
> From: Alan Mackenzie <[email-masked]>
> 
> There are actually two (or maybe several) pairs of default values for
> max-lisp-eval-depth and max-specpdl-size.  They are set in src/eval.c in
> init_eval_once.  For when native compilation is enabled the defaults are
> 1600/2500.  When it's not, they're 800/1800.
> 
> modus-themes needs just short of 3000/3000, presumably when native
> compilation is enabled.
> 
> How about setting both pairs of defaults to 3000/3000 (i.e. no longer
> distinguishing between native compilation being set or not), and closing
> the bug?

That's too much an increase for the non-native compilation, IMO.

> It is, in any case, our medium term goal to have native
> compilation enabled by default.

How does the default value affect this?  I don't want to make the
values too large for the reasons I've explained up-thread (and you
agreed, AFAIU).

Do we know what value is necessary for modus-themes to successfully
byte-compile?  If so, let's increase the value separately for each
case: byte compilation and native-compilation.

> I'm still not very clear on the disadvantages of increasing
> max-lisp-eval-depth and max-specpdl-size substantially (say by 50% or
> 100%, not by a factor of 10 or so).  There are quite a lot of libraries
> (maybe the order of 10) which have their own (increased) values for one
> or both of these limit variables.  I don't see why it wouldn't be
> beneficial to use larger defaults, and purge these "private" settings.

Once again, the benefit was explained up-thread: we get to detect
infinite recursion sooner, faster, and more reliably.  With that in
mind, I cannot understand why you are lobbying for significant
increase in these values.