* lisp/emacs-lisp/pp.el (pp--format-definition): Ensure that what we try
to print as a list of bindings has an appropriate format. This avoids
raising an error for SEXPs like (let X Y) inside `pcase' forms where our
heuristic expects a binding list in the X position.
(cherry picked from commit
3580dc155c3c9f48fb1b7855b4d858eec3948dfb)
(unless (consp edebug)
(setq edebug nil))
(if (and (consp (car edebug))
- (eq (caar edebug) '&rest))
+ (eq (caar edebug) '&rest)
+ (proper-list-p (car sexp)))
(pp--insert-binding (pop sexp))
(if (null (car sexp))
(insert "()")