From: drewc Date: Mon, 20 Jun 2005 18:20:27 +0000 (-0700) Subject: multiple-value-bindf is a macro like m-v-b, only it works in CPS's code. X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/commitdiff_plain/19a82bd5717d56ea49c554bf63b2de422563db7b?hp=bbf64329ccabd5630c034bdb793fb3531522f3d7 multiple-value-bindf is a macro like m-v-b, only it works in CPS's code. darcs-hash:20050620182027-39164-3611bc11da406a8c6a1dcf4de4efa89d9815cd1c.gz --- diff --git a/src/mewa/slot-presentations.lisp b/src/mewa/slot-presentations.lisp index 131d01c..7a6671e 100644 --- a/src/mewa/slot-presentations.lisp +++ b/src/mewa/slot-presentations.lisp @@ -1,5 +1,12 @@ (in-package :it.bese.ucw) +(defun multiple-value-funcall->list (function &rest args) + (multiple-value-call #'list (apply function args))) + +(defmacro multiple-value-bindf (vars form &body body) + `(destructuring-bind ,vars + (multiple-value-funcall->list #',(car form) ,@(cdr form)) + ,@body)) (defslot-presentation clsql-wall-time-slot-presentation (mewa-relation-slot-presentation) ()