This was fixed in Bug#24748, but now looking more closely, using gate in
the spec seems correct. See (info "(elisp) Backtracking").
* lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
VARLIST can just be a plain tuple.
\n(fn VARLIST THEN ELSE...)"
(declare (indent 2)
- (debug ([&or (&rest [&or symbolp (symbolp form)]) (symbolp form)]
+ (debug ([&or (&rest &or symbolp (gate symbolp &optional form))
+ (symbolp form)]
form body)))
(when (and (<= (length bindings) 2)
(not (listp (car bindings))))