Change all but 1 last use of PARSE-DEFMACRO to MAKE-MACRO-LAMBDA.
[sbcl.git] / src / code / destructuring-bind.lisp
blobd6cbbb03d733994bfdce30d462bff3be6ddc66c5
1 ;;;; This software is part of the SBCL system. See the README file for
2 ;;;; more information.
3 ;;;;
4 ;;;; This software is derived from the CMU CL system, which was
5 ;;;; written at Carnegie Mellon University and released into the
6 ;;;; public domain. The software is in the public domain and is
7 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
8 ;;;; files for more information.
10 (in-package "SB!IMPL")
12 (defmacro-mundanely destructuring-bind (lambda-list expression &body body)
13 #!+sb-doc
14 "Bind the variables in LAMBDA-LIST to the corresponding values in the
15 tree structure resulting from the evaluation of EXPRESSION."
16 ;; (THE LIST ...) is not really right, because it means that
17 ;; the descriptive message about the lambda list won't be shown.
18 ;; It'll just be type-error.
19 `(binding* ,(sb!c::expand-ds-bind lambda-list
20 `(the list ,expression)
21 t nil)
22 ,@body))