diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-10-04 00:57:35 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-10-04 00:57:35 +0200 |
commit | 5b13591caa3b79c922487a6b21d5240afdb00f86 (patch) | |
tree | 095b556c4d2a8c11f4a779ac17018be4e25ef226 /control-flow.lisp | |
parent | afaaec406bc86bf52ef976634b458dbc7e01fdc9 (diff) | |
parent | a4a3054ddeeecbf7ec3b087b2db69bea192ebc8a (diff) |
Merge /home/mulk/Dropbox/Projekte/Toilet Lisp
Diffstat (limited to 'control-flow.lisp')
-rw-r--r-- | control-flow.lisp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/control-flow.lisp b/control-flow.lisp index bcd8e23..f429a1a 100644 --- a/control-flow.lisp +++ b/control-flow.lisp @@ -215,8 +215,12 @@ ,@body)) -(defmacro multiple-value-list (expression) - `(multiple-value-call #'list ,expression)) +(defmacro multiple-value-call (function-form &rest forms) + (let ((args `(mapcan 'identity (list ,@(mapcar (lambda (form) `(multiple-value-list ,form))))))) + `(apply ,function-form ,args))) + +;;(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) |