X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.package.lisp;h=e185819ee33e309308e3b1dcc0045b8a328e9c24;hb=e6ec5def79916d6ecf3b1ea9aaecbbc295fdad95;hp=df3c2cfa22ad4449450bd5b5b076f8eb8f61956e;hpb=e51007b28b495d35ed2a67b2d35dcf70d2c2395e;p=cl-gtk2.git diff --git a/glib/gobject.package.lisp b/glib/gobject.package.lisp index df3c2cf..e185819 100644 --- a/glib/gobject.package.lisp +++ b/glib/gobject.package.lisp @@ -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)))