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

From: Protesilaos Stavrou <[email-masked]>
Date: Wed, 25 May 2022 06:24:46 +0300

> From: Eli Zaretskii <[email-masked]>
> Date: Tue, 24 May 2022 14:09:28 +0300
>
>> From: Protesilaos Stavrou <[email-masked]>
>> Cc: [email-masked], [email-masked], [email-masked]
>> Date: Tue, 24 May 2022 07:37:02 +0300
>> 
>> > But if you can use local values, that'd be fine with me.
>> 
>> I tried setting local values, both by writing them to the files and
>> adding them to .dir-locals.el, but they are ignored.  They are also
>> ignored when I visit the files, as I keep getting a warning about risky
>> local variables even after adding those to safe-local-variable-values
>> and ensuring that ignored-local-variable-values is nil.
>
> Not sure I understand how you tried that.  You should bind those
> variables to larger values while byte- and native-compiling.  If you
> use a Makefile to do that, do it there; see lisp/Makefile.in for some
> examples.

The first approach was to add the following at the end of the relevant
files:

    ;; Local Variables:
    ;; max-lisp-eval-depth: 3000
    ;; max-specpdl-size: 3000
    ;; End:

Then M-x byte-compile-file with modus-operandi-theme.el: the local
variables were ignored.  Same for:

    (package-install-file "/preferred/path/to/modus-themes")

The second approach I tried was to add those variables in a
.dir-locals.el file which was located in the same directory as the
modus-themes.  The contents of that file looked like this:

    ((emacs-lisp-mode . ((max-lisp-eval-depth . 3000)
                         (max-specpdl-size . 3000))))

Again, the values were ignored.

These methods work for other variables but not those two.  Perhaps
because they are considered "risky" as file-local?

> If the above misses the point, please tell more how you compile the
> package and how you tried to enlarge the values of those variables.

I don't use a Makefile.  The recipe I shared in the first message to
this bug report affects installation via package.el and, by extension,
GNU ELPA.

-- 
Protesilaos Stavrou
https://protesilaos.com