Function: pcase--let*
pcase--let* is a byte-compiled function defined in pcase.el.gz.
Signature
(pcase--let* BINDINGS BODY)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/pcase.el.gz
(defun pcase--let* (bindings body)
(cond
((null bindings) (macroexp-progn body))
((pcase--trivial-upat-p (caar bindings))
(macroexp-let* `(,(car bindings)) (pcase--let* (cdr bindings) body)))
(t
(let ((binding (pop bindings)))
(pcase--expand
(cadr binding)
`((,(car binding) ,(pcase--let* bindings body))
;; We can either signal an error here, or just use `pcase--dontcare'
;; which generates more efficient code. In practice, if we use
;; `pcase--dontcare' we will still often get an error and the few
;; cases where we don't do not matter that much, so
;; it's a better choice.
(pcase--dontcare nil)))))))