X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fglib.lisp;h=9507fefb253fdb4fa7ac37907539a9c778eebabf;hb=b1f828da8293207e141311c3ce04321ff4fe9573;hp=1ee33f64a11df86a9af755334eee18af8e95df14;hpb=1627a51bca650be055905e0c94364f30a549ffc7;p=cl-gtk2.git diff --git a/glib/glib.lisp b/glib/glib.lisp index 1ee33f6..9507fef 100755 --- a/glib/glib.lisp +++ b/glib/glib.lisp @@ -26,7 +26,14 @@ #: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}.")) @@ -56,9 +63,13 @@ #+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