more gdk d'n'd functions
[cl-gtk2.git] / glib / glib.lisp
index 1ee33f6..9507fef 100755 (executable)
            #:g-idle-add
            #:g-timeout-add-full
            #:g-source-remove
-           #:at-finalize)
+           #:at-finalize
+           #:with-g-error
+           #:with-catching-to-g-error
+           #:g-error-condition
+           #:g-error-condition-domain
+           #:g-error-condition-code
+           #:g-error-condition-message
+           #:g-spawn-flags)
   (:documentation
    "Cl-gtk2-glib is wrapper for @a[http://library.gnome.org/devel/glib/]{GLib}."))
 
 
 #+sbcl
 (pushnew 'run-initializers sb-ext:*init-hooks*)
+#+openmcl
+(pushnew 'run-initializers ccl:*restore-lisp-functions*)
 
 #+sbcl
 (pushnew 'run-finalizers sb-ext:*save-hooks*)
+#+openmcl
+(pushnew 'run-finalizers ccl:*save-exit-functions*)
 
 (defmacro at-init ((&rest keys) &body body)
   "
@@ -84,21 +95,20 @@ In this example, for every @code{class}, @code{(initialize-gobject-class-g-type
 (defmacro at-finalize ((&rest keys) &body body)
   `(register-finalizer (list ,@keys ',body) (lambda () ,@body)))
 
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (define-foreign-library glib
-    (:unix (:or "libglib-2.0.so.0" "libglib-2.0.so"))
-    (:windows "libglib-2.0-0.dll")
-    (t (:default "libglib-2.0"))))
-
-(use-foreign-library glib)
-
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (define-foreign-library gthread
-    (:unix (:or "libgthread-2.0.so.0"  "libgthread-2.0.so"))
-    (:windows "libgthread-2.0-0.dll")
-    (t "libgthread-2.0")))
-
-(use-foreign-library gthread)
+(at-init ()
+  (eval-when (:compile-toplevel :load-toplevel :execute)
+    (define-foreign-library glib
+      (:unix (:or "libglib-2.0.so.0" "libglib-2.0.so"))
+      (:windows "libglib-2.0-0.dll")
+      (t (:default "libglib-2.0"))))
+  (eval-when (:compile-toplevel :load-toplevel :execute)
+    (define-foreign-library gthread
+      (:unix (:or "libgthread-2.0.so.0"  "libgthread-2.0.so"))
+      (:windows "libgthread-2.0-0.dll")
+      (t "libgthread-2.0")))
+
+  (use-foreign-library glib)
+  (use-foreign-library gthread))
 
 ;;
 ;; Glib Fundamentals
@@ -503,5 +513,9 @@ Allocates a new string that is equal to @code{str}. Use @fun{g-free} to free it.
   (str (:string :free-to-foreign t)))
 
 ;omitted all GLib Utilites
-;TODO: omitted Date and Time Functions
 
+(defbitfield g-spawn-flags
+  :leave-descriptors-open :do-not-reap-child :search-path :stdout-to-dev-null :stderr-to-dev-null
+  :child-inherits-stdin :file-and-argv-zero)
+
+;TODO: omitted Date and Time Functions