[racket-dev] scheme_is_list?
I'm looking at scheme_is_list in src/list.c, and it looks like there's
code that's unreachable, unless I'm reading it wrong?! The body is:
int scheme_is_list(Scheme_Object *obj1)
{
Scheme_Object *obj2;
int flags;
if (SCHEME_PAIRP(obj1)) {
flags = SCHEME_PAIR_FLAGS(obj1);
if (flags & PAIR_FLAG_MASK) {
if (flags & PAIR_IS_LIST)
return 1;
else
return 0;
}
} else if (SCHEME_NULLP(obj1))
return 1;
else
return 0;
obj2 = obj1;
/** more code here */
}
Isn't all the code starting from 'obj2 = obj1' unreachable?