X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.package.lisp;h=92401a573613c84caf87e44d2b1ee21973b8ab90;hb=052b2e718c7c62711b383268ac69f308d0f59165;hp=55006002fb936f55f70a5e10e6a4c93db6b1eb4b;hpb=1210ea93e088328d8f6cd8d91c57427c688f11c5;p=cl-gtk2.git diff --git a/glib/gobject.package.lisp b/glib/gobject.package.lisp index 5500600..92401a5 100644 --- a/glib/gobject.package.lisp +++ b/glib/gobject.package.lisp @@ -1,5 +1,6 @@ (defpackage :gobject (:use :cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop :gobject.ffi) + #+(or clozure-common-lisp openmcl) (:shadowing-import-from :closer-mop #:defgeneric #:ensure-generic-function #:standard-generic-function) (:export #:g-type #:g-type-string #:g-type-numeric @@ -78,7 +79,6 @@ #:g-initially-unowned #:define-g-enum #:*lisp-name-package* - #:define-g-boxed-class #:define-g-flags #:fixed-array #:g-boxed-inline @@ -87,7 +87,6 @@ #:release #:using #:using* - #:define-g-boxed-ref #:g-boxed-ref #:allocate-stable-pointer #:free-stable-pointer @@ -163,7 +162,6 @@ #:get-flags-items #:stable-pointer-value #:g-value-type - #:create-g-closure #:g-object-call-constructor #:g-object-call-get-property #:g-object-call-set-property @@ -185,7 +183,15 @@ #:g-boxed-opaque #:g-boxed-opaque-pointer #:define-g-boxed-variant-cstruct - #:g-boxed-foreign) + #:g-boxed-foreign + #:boxed-related-symbols + #:define-boxed-opaque-accessor + #:glib-defcallback + #:create-signal-handler-closure + #:save-handler-to-object + #:retrieve-handler-from-object + #:delete-handler-from-object + #:disconnect-signal) (:documentation "CL-GTK2-GOBJECT is a binding to GObject type system. For information on GObject, see its @a[http://library.gnome.org/devel/gobject/stable/]{documentation}. @@ -241,6 +247,15 @@ GObject uses GValues as a generic way to pass values. It is used when calling cl (defvar *gobject-debug* nil) -(defun debugf (&rest args) - (when *gobject-debug* - (apply 'format t args))) \ No newline at end of file +(defvar *debug-gc* nil) +(defvar *debug-subclass* nil) + +(defvar *debug-stream* t) + +(defmacro log-for (categories control-string &rest args) + (let ((vars (iter (for sym in (if (listp categories) categories (list categories))) + (collect (intern (format nil "*DEBUG-~A*" (symbol-name sym)) (find-package :gobject)))))) + `(progn + (when (or ,@vars) + (format *debug-stream* ,control-string ,@args)) + nil)))