![](https://secure.gravatar.com/avatar/e30bc676ee7d74ff2b67b431353a8ab8.jpg?s=120&d=mm&r=g)
"Attila Lendvai" <attila.lendvai@gmail.com> writes:
dear list,
i've got this patch pending:
(defmacro ensure-functionf (&rest places) "Call ENSURE-FUNCTION for each place in PLACES and store back the results." `(progn ,@(mapcar (lambda (place) `(setf ,place (ensure-function ,place))) places)))
it might be controversial, so i'll first send it here. if noone complains for a week or two, then i'll push it eventually.
It's leaky. Better consider adopting CALLF &c http://common-lisp.net/pipermail/alexandria-devel/2007-September/000259.html You'd then write ENSURE-FUNCTIONF as (defmacro ensure-functionf (&rest places) (loop for place in places collect `(CALLF #'ENSURE-FUNCTION ,place))) -T. PS: Available in my alexandria branch.