From: Clinton Ebadi Date: Fri, 24 Dec 2010 20:02:14 +0000 (-0500) Subject: Fix multiple evaluation of `object' form in `with-described-object' X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/commitdiff_plain/8f1d4c143865f1cc00be511b864315f40828dddc Fix multiple evaluation of `object' form in `with-described-object' --- diff --git a/src/mao/description.lisp b/src/mao/description.lisp index 8f7348d..37c3e4e 100644 --- a/src/mao/description.lisp +++ b/src/mao/description.lisp @@ -106,9 +106,11 @@ (without-special-symbol-access (funcall function)))))))))))) -(defmacro with-described-object ((object &optional (description `(description-of ,object))) +(defmacro with-described-object ((object &optional description) &body body) - `(funcall-with-described-object (lambda (),@body) ,object ,description)) + (once-only (object) + `(funcall-with-described-object (lambda (),@body) ,object ,(or description + `(description-of ,object)))))