X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.boxed.lisp;h=218112aca071fbcb4bc8b24e274201fce6235486;hb=e68dcc0ab32348de5d495bb357d147439654ec00;hp=fc60d4fe5de4e2d518674f4246030cf89dfa914d;hpb=de5591a64397d712656ecee79531e4bee93c310c;p=cl-gtk2.git diff --git a/glib/gobject.boxed.lisp b/glib/gobject.boxed.lisp index fc60d4f..218112a 100644 --- a/glib/gobject.boxed.lisp +++ b/glib/gobject.boxed.lisp @@ -168,6 +168,7 @@ (mem-aref ptr (cstruct-slot-description-type slot) i)))) ((cstruct-slot-description-inline-p slot) (let ((info (get-g-boxed-foreign-info (cstruct-inline-slot-description-boxed-type-name slot)))) + (setf (slot-value proxy slot-name) (make-instance (cstruct-inline-slot-description-boxed-type-name slot))) (copy-slots-to-proxy (slot-value proxy slot-name) (foreign-slot-pointer native cstruct-type slot-name) (g-boxed-cstruct-wrapper-info-cstruct-description info)))) @@ -335,19 +336,11 @@ :structure (parse-variant-structure-definition variant-name slots parent))) (collect variant))) -(defpackage :gobject.boxed.generated-names) - (defun generated-cstruct-name (symbol) - (or (get symbol 'generated-cstruct-name) - (setf (get symbol 'generated-cstruct-name) (gentemp (format nil "CSTRUCT-~A" (symbol-name symbol)) (find-package :gobject.boxed.generated-names))))) + (intern (format nil "~A-CSTRUCT-GENERATED-BY-GOBJECT-BOXED" (symbol-name symbol)) (symbol-package symbol))) (defun generated-cunion-name (symbol) - (or (get symbol 'generated-cunion-name) - (setf (get symbol 'generated-cunion-name) (gentemp (format nil "CUNION-~A" (symbol-name symbol)) (find-package :gobject.boxed.generated-names))))) - -(defun generated-fn-name (symbol) - (or (get symbol 'generated-fn-name) - (setf (get symbol 'generated-fn-name) (gentemp (format nil "FN~A" (symbol-name symbol)) (find-package :gobject.boxed.generated-names))))) + (intern (format nil "~A-CUNION-GENERATED-BY-GOBJECT-BOXED" (symbol-name symbol)) (symbol-package symbol))) (defun generate-cstruct-1 (struct) `(defcstruct ,(generated-cstruct-name (cstruct-description-name struct)) @@ -569,7 +562,8 @@ (iter (for var-struct in (all-structures (g-boxed-variant-cstruct-info-root info))) (for s-name = (var-structure-name var-struct)) (for cstruct-description = (var-structure-resulting-cstruct-description var-struct)) - (appending (append (list (intern (format nil "MAKE-~A" (symbol-name s-name))) + (appending (append (list s-name) + (list (intern (format nil "MAKE-~A" (symbol-name s-name))) (intern (format nil "COPY-~A" (symbol-name s-name)))) (iter (for slot in (cstruct-description-slots cstruct-description)) (for slot-name = (cstruct-slot-description-name slot))