Well yeah, just build the macro you need on top of unwind-protect, that's pretty standard common lisp fare.