- `(let ((,place (scanner-capture-place ,scanner)))
- (unwind-protect (progn ,@body)
- (scanner-release-place ,scanner ,place)))))
+ (multiple-value-bind (docs decls body) (parse-body body :docp nil)
+ (declare (ignore docs))
+ `(let ((,place (scanner-capture-place ,scanner)))
+ ,@decls
+ (unwind-protect (progn ,@body)
+ (when ,place (scanner-release-place ,scanner ,place)))))))