From: Andras S. <an...@re...> - 2005-01-01 12:30:32
|
Can someone explain to me why the following works? (with-c-var (struct '(c-struct list (:string c-pointer) (:icon c-pointer) (:boolean boolean) (:int int) (:long long) (:date single-float) (:float single-float) (:double double-float)) (list nil nil nil 0 0 (coerce 0 'single-float) (coerce 0 'single-float) (coerce 0 'double-float))) (gtk-tree-model-get model iter col (c-var-address (slot struct col-type)) -1) ...) What I'm confused about is that (slot struct col-type) is not necessarily a pointer (ie. a 'c-place') and yet c-var-address doesn't complain about it. (I see that c-var-address and slot are macros, but macroexpanding them results in a SIMPLE-SOURCE-PROGRAM-ERROR.) Andras |