Subject: bug#58396: 29.0.50; Optimization failure for add-to-list

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 10 Oct 2022 10:34:15 +0200

Lars Ingebrigtsen <[email-masked]> writes:

>> emacs -Q
>> (setq tab-always-indent 'complete)
>> (add-to-list pac ;; without the quote. Press TAB after the 'c'
>>
>> Result:
>> Completion succeeds but I get the following in the echo area:
>> Warning: Optimization failure for add-to-list: Handler:
>> add-to-list--anon-cmacro
>> (wrong-number-of-arguments #<subr add-to-list--anon-cmacro> 2)
>>
>> With toggle-debug-on-error:
>>
>>   Debugger entered--Lisp error: (wrong-number-of-arguments #<subr
>> add-to-list--anon-cmacro> 2)
>
> This seems like it's the same problem as reported in bug#58148 (so I'm
> merging the two reports).

I don't quite understand the calling sequence how we end up here; I've
added Stefan to the CCs -- he wrote `elisp--local-variables' back in
2014:

Debugger entered--Lisp error: (wrong-number-of-arguments ((t) (form keymap key definition) (ignore keymap key definition) (keymap--compile-check key) form) 2)
  keymap-set--anon-cmacro((keymap-set elisp--witness--lisp) elisp--witness--lisp)
  apply(keymap-set--anon-cmacro (keymap-set elisp--witness--lisp) elisp--witness--lisp)
  macroexp--compiler-macro(keymap-set--anon-cmacro (keymap-set elisp--witness--lisp))
  #f(compiled-function (form func) #<bytecode -0x18f8a3887af7552>)(((keymap-set elisp--witness--lisp)) keymap-set)
  macroexp--expand-all((keymap-set elisp--witness--lisp))
  macroexpand-all((keymap-set elisp--witness--lisp))
  elisp--local-variables()