Function: cl-destructuring-bind

cl-destructuring-bind is an autoloaded macro defined in cl-macs.el.gz.

Signature

(cl-destructuring-bind ARGS EXPR &rest BODY)

Documentation

Bind the variables in ARGS to the result of EXPR and execute BODY.

View in manual

Aliases

destructuring-bind (obsolete since 27.1)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;;;###autoload
(defmacro cl-destructuring-bind (args expr &rest body)
  "Bind the variables in ARGS to the result of EXPR and execute BODY."
  (declare (indent 2)
           (debug (&define cl-macro-list def-form cl-declarations def-body)))
  (let* ((cl--bind-lets nil)
         (cl--bind-forms nil)
	 (cl--bind-defs nil)
         (cl--bind-block args)
         (cl--bind-enquote nil))
    (cl--do-arglist (or args '(&aux)) expr)
    (macroexp-let* (nreverse cl--bind-lets)
                   (macroexp-progn (append (nreverse cl--bind-forms) body)))))