Closure are anonymous functions that capture their lexical environment.
GObject supports using closures (as instances of type GClosure) as signal handlers and in some other places where a function is expected. Function
create-signal-handler-closure create closure from lisp function that can be used a signal handler. The GClosure is finalized automatically when GObject no longer needs it (e.g., when GClosure is disconnected from signal).
(TODO: GObject defines finer closure API: g_closure_ref, g_closure_unref, g_closure_invoke. It should be bound.)