+(export 'within-main-loop)
+
+#+thread-support
+(defmacro with-main-loop (&body body)
+ `(progn
+ (ensure-gtk-main)
+ (within-main-loop ,@body)))
+
+#-thread-support
+(defmacro with-main-loop (&body body)
+ `(progn
+ ,@body
+ (gtk-main)))
+
+(export 'with-main-loop)
\ No newline at end of file