X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/8e0e01e42b1c846d06a0a38f5cfb38cf897e2f96..af338f4a78fec3685e39ce00bcc4cd891e7c0b60:/glib/glib.lisp diff --git a/glib/glib.lisp b/glib/glib.lisp index 6d01049..7931877 100644 --- a/glib/glib.lisp +++ b/glib/glib.lisp @@ -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: glib.lisp,v 1.37 2006-04-25 21:51:32 espen Exp $ +;; $Id: glib.lisp,v 1.39 2006-12-21 16:38:19 espen Exp $ (in-package "GLIB") @@ -36,10 +36,12 @@ (defbinding (%deallocate-memory "g_free") () nil (address pointer)) -(setf - (symbol-function 'allocate-memory) #'%allocate-memory - (symbol-function 'deallocate-memory) #'%deallocate-memory) +;; (setf +;; (symbol-function 'allocate-memory) #'%allocate-memory +;; (symbol-function 'deallocate-memory) #'%deallocate-memory) +(setf *memory-allocator* #'%allocate-memory) +(setf *memory-deallocator* #'%deallocate-memory) ;;;; User data mechanism @@ -167,6 +169,9 @@ (assert-not-inlined type inlined) (size-of 'pointer)) +(define-type-method type-alignment ((type glist) &key inlined) + (assert-not-inlined type inlined) + (type-alignment 'pointer)) (define-type-method alien-arg-wrapper ((type glist) var list style form &optional copy-in-p) (destructuring-bind (element-type) (rest (type-expand-to 'glist type)) @@ -317,6 +322,10 @@ (assert-not-inlined type inlined) (size-of 'pointer)) +(define-type-method type-alignment ((type gslist) &key inlined) + (assert-not-inlined type inlined) + (type-alignment 'pointer)) + (define-type-method alien-arg-wrapper ((type gslist) var list style form &optional copy-in-p) (destructuring-bind (element-type) (rest (type-expand-to 'gslist type)) (cond