Subject: Re: bug#40431: 27.0.90; Can't edebug cl-defuns with &aux destructuring
From: Philipp Stephani <[email-masked]>
To: [email-masked]
Date: Wed, 10 Jun 2020 15:43:03 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Am Mi., 10. Juni 2020 um 13:32 Uhr schrieb Philipp Stephani
<[email-masked]>:
>
> Am Sa., 4. Apr. 2020 um 18:19 Uhr schrieb Philipp Stephani
> <[email-masked]>:
> >
> >
> > Insert into *scratch*:
> >
> > (cl-defun foo (&aux ((a . b) '(1 . 2)))
> >   (list a b))
> >
> > Now try to edebug this function (move point into it, hit C-u C-M-x).
> > This gives an error:
> >
> > Debugger entered--Lisp error: (invalid-read-syntax "Expected one of" arg nil)
>
> My guess is that in the specification
>
> ["&aux" &rest &or (symbolp &optional def-form) symbolp]
>
> we should replace 'symbolp' with 'cl-macro-arg'. This might cause
> other issues, however, as that specification is probably no longer
> decidable.

Actually, &optional uses the same thing, which appears to work fine,
so I went ahead and implemented this with commit
73be4d1ed5b190bd93e9bad6aebe43d0dea0d7d3.