chiark / gitweb /
Ignoring internal symbols when scanning libraries for type initializers
[clg] / glib / glib.lisp
index 2ab6fa4e6f5104d6edfaaf45512d3ca48c8012ef..30d82fce0954c7ed84bd785ef050c3d17a73cdd2 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: 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 (%allocate-memory "g_malloc0") () pointer
 (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 @@ (define-type-method size-of ((type glist) &key inlined)
   (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 @@ (define-type-method size-of ((type gslist) &key inlined)
   (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