chiark / gitweb /
Modified to not use custom C functions to create GClosures
[clg] / glib / gtype.lisp
index 3fe9d1aa3e7b9e1232d866e69dea71b13f8c37b8..d5a4e74ae3c2038b57959d93e953d31847b5dff7 100644 (file)
@@ -20,7 +20,7 @@
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: gtype.lisp,v 1.52 2006/04/25 22:10:37 espen Exp $
+;; $Id: gtype.lisp,v 1.55 2006/08/25 10:37:33 espen Exp $
 
 (in-package "GLIB")
 
@@ -122,6 +122,9 @@ (defun type-number-from-glib-name (name &optional (error-p t))
      ((not (zerop type-number)) type-number)
      (error-p (error "Invalid gtype name: ~A" name)))))
 
+(defun type-from-glib-name (name)
+  (type-from-number (type-number-from-glib-name name) t))
+
 (defun register-type (type id)
   (cond
    ((find-type-number type))
@@ -151,7 +154,7 @@ (defun reinitialize-all-types ()
        *registered-types*)
   (mapc #'(lambda (type) 
            (apply #'register-new-type type))
-       *registered-static-types*)
+       (reverse *registered-static-types*))
   (mapc #'(lambda (type) 
            (register-type-alias (car type) (cdr type)))
        *registered-type-aliases*))
@@ -335,6 +338,7 @@                (default-alien-type-name class-name)))
                      (register-new-type class-name (class-name super) gtype))))
               (type-class-ref type-number)
               type-number))))
+      #+nil
       (when (and
             (supertype type-number) 
             (not (eq (class-name super) (supertype type-number))))
@@ -505,7 +509,8 @@ (defun find-type-dependencies (type &optional options)
 
 
 ;; The argument is a list where each elements is on the form 
-;; (type . dependencies)
+;; (type . dependencies). This function will not handle indirect
+;; dependencies and types depending on them selve.
 (defun sort-types-topologicaly (unsorted)
   (flet ((depend-p (type1)
            (find-if #'(lambda (type2)
@@ -614,7 +619,7 @@ (defmacro define-types-by-introspection (prefix &rest args)
   (expand-type-definitions prefix args))
 
 (defexport define-types-by-introspection (prefix &rest args)
-  (list-autoexported-symbols (expand-type-definitions prefix args))))
+  (list-autoexported-symbols (expand-type-definitions prefix args)))
 
 
 ;;;; Initialize all non static types in GObject