3 (defgeneric release
(object)
4 (:documentation
"Manually frees the Lisp reference to the @code{object}. Probably should not be called.
6 @arg[object]{an instance of @class{g-object}}"))
8 (defmethod release ((object null
)))
10 (defun release* (&rest objects
)
11 "Calls @fun{release} on all objects in @code{objects}
13 @arg[objects]{a list of instances of @class{g-object}}"
14 (declare (dynamic-extent objects
))
19 (defmacro using
((var &optional
(expr var
)) &body body
)
25 (defun using-expand (bindings body
)
27 (destructuring-bind (var &optional
(expr var
)) (ensure-list (first bindings
))
30 ,(using-expand (rest bindings
) body
)
34 (defmacro using
* ((&rest bindings
) &body body
)
35 (using-expand bindings body
))