l...@gnu.org (Ludovic Courtès) writes: > Hello, > > Neil Jerram <n...@ossau.uklinux.net> writes: >> >> Here I'm confused again. I thought we now had no choice about the >> pointer-to-reclaimed-object value, because BDW-GC always uses NULL. > > True. So, what I meant is that ((SCM) NULL) must be distinguishable > from valid Scheme values.
OK. >>> SCM_UNDEFINED == 0 would work fine because SCM_UNDEFINED is not a valid >>> Scheme value, but it wouldn't change the implementation. >> >> I'm afraid I don't understand "but it wouldn't change the >> implementation". > > Ugly stuff like ‘scm_fixup_weak_alist ()’ would still be needed. Thanks, I understand now. scm_fixup_weak_alist looks OK to me. Surely we must have had something like that with Guile GC too? (Except that it was probably mixed up with the GC'ing code, and so was even uglier!) >> SCM_UNDEFINED == 0 is sounding promising... > > Yeah. Sorry for the false hope about SCM_BOOL_F == 0. So are you going to try out SCM_UNDEFINED == 0 ? Neil