summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-03 13:21:02 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-03 13:21:02 +0200
commit59cb2fc72f27a81e8d40f70e36bf3795caaf0e6d (patch)
tree470c2a8c24e51bf7225fd923a176a732985726fb
parentf5320e4d20a520bc5b9352f92efcb79b1cd2195b (diff)
Add MULTIPLE-VALUE-BIND and MULTIPLE-VALUE-LIST.
-rw-r--r--control-flow.lisp9
1 files changed, 9 insertions, 0 deletions
diff --git a/control-flow.lisp b/control-flow.lisp
index a52b691..f676c08 100644
--- a/control-flow.lisp
+++ b/control-flow.lisp
@@ -212,3 +212,12 @@
(cddr binding))))
bindings)
,@body))
+
+
+(defmacro multiple-value-list (expression)
+ `(multiple-value-call #'list ,expression))
+
+
+(defmacro multiple-value-bind ((&rest vars) expression &body forms)
+ `(destructuring-bind ,vars (multiple-value-list ,expression)
+ ,@forms))