Subject: Re: bug#54816: 29.0.50; Silent "Compiler-macro error for cl-member" when building from scratch

From: Kévin Le Gouguec <[email-masked]>
Date: Sun, 10 Apr 2022 11:20:26 +0200

tags 54816 patch
thanks

Kévin Le Gouguec <[email-masked]> writes:

>> Compiler-macro error for cl-member: Handler: cl--compiler-macro-member
>> (excessive-variable-binding)
>> Eager macro-expansion failure: (excessive-variable-binding)

That bit about excessive-variable-binding rang a bell; I dimly
remembered seeing a couple of commits increasing max-specpdl-size "not
too long ago".  git-log turned these up:

* 2022-01-31 "Enlarge max-specpdl-size for generation of files in
  .../admin/grammars" (be2566eeab)
* 2022-01-30 "Enlarge max-specpdl-size for generation of leim-list.el in
  bootstrap" (46611aa468)

So here's a "monkey see; monkey do" patch that causes this error to go
away; no idea if it's The Right Thing™ though?

diff --git a/leim/Makefile.in b/leim/Makefile.in
index 6cf0abb40c..4e70e8b7e9 100644
--- a/leim/Makefile.in
+++ b/leim/Makefile.in
@@ -131,6 +131,7 @@ ${leimdir}/ja-dic/ja-dic.el:
 
 ${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L
 	$(AM_V_GEN)$(RUN_EMACS) -batch -l ja-dic-cnv \
+	  --eval "(setq max-specpdl-size 5000)" \
 	  -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" "$<"
 
 ${srcdir}/../lisp/language/pinyin.el: ${srcdir}/MISC-DIC/pinyin.map