X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.package.lisp;h=e185819ee33e309308e3b1dcc0045b8a328e9c24;hb=e6ec5def79916d6ecf3b1ea9aaecbbc295fdad95;hp=a40fb0384d4234e2e57f1aa503e646959ae46673;hpb=8029bbfd996d828bc2638b78ee941f113c43af78;p=cl-gtk2.git diff --git a/glib/gobject.package.lisp b/glib/gobject.package.lisp index a40fb03..e185819 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 @@ -187,7 +186,8 @@ #:define-g-boxed-variant-cstruct #:g-boxed-foreign #:boxed-related-symbols - #:define-boxed-opaque-accessor) + #:define-boxed-opaque-accessor + #:glib-defcallback) (: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 +243,15 @@ GObject uses GValues as a generic way to pass values. It is used when calling cl (defvar *gobject-debug* nil) -(defmacro 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)))