On Thu, 20 Feb 2020 at 15:09, Madhu enometh@meer.net wrote:
defcvar would no longer define a variable that reflects access to the object on the C side.
so instead of (setf (foreign-slot-value *s-s-ch* 's-s-ch 'another-char) #\a) one would have to do (setf (foreign-slot-value (foreign-symbol-pointer "the_s_s_ch") 's-s-ch 'another-char) #\a)
This pretty painful when the nesting gets deep. I started trying to convert the tests and I stopped around struct.alignment.4
There's (get-var-pointer '*s-s-ch*) but it's not much better, I agree. We could have DEFCVAR define a symbol macro for &*S-S-CH* that would get the pointer, maybe?
For nesting, one can use FOREIGN-SLOT-POINTER explicitly or the (:pointer foo) for WITH-FOREIGN-SLOTS.
What do you think?