On Thu, 20 Feb 2020 at 15:09, Madhu <enom...@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? -- Luís Oliveira http://kerno.org/~luis/