X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=glib%2Fgobject.package.lisp;h=5649e74936f07480efa722213e713eceee232586;hb=b7d91ee8fe18086134b55f3ec1423d97cb42a050;hp=de86f88a75da2be04d688b9ece1d8b10871673ff;hpb=de5591a64397d712656ecee79531e4bee93c310c;p=cl-gtk2.git diff --git a/glib/gobject.package.lisp b/glib/gobject.package.lisp index de86f88..5649e74 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 @@ -187,7 +185,12 @@ #:define-g-boxed-variant-cstruct #:g-boxed-foreign #:boxed-related-symbols - #:define-boxed-opaque-accessor) + #:define-boxed-opaque-accessor + #:glib-defcallback + #:create-signal-handler-closure + #:save-handler-to-object + #:retrieve-handler-from-object + #:delete-handler-from-object) (: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}. @@ -243,6 +246,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)))