properly detect cancelling marks for context check on fully-expanded expressions
svn: r5645
This commit is contained in:
parent
53987c5ee8
commit
f8f8921a74
|
@ -2499,7 +2499,22 @@ Scheme_Object *scheme_stx_activate_certs(Scheme_Object *o)
|
|||
|
||||
int scheme_stx_has_empty_wraps(Scheme_Object *o)
|
||||
{
|
||||
return SCHEME_NULLP(((Scheme_Stx *)o)->wraps);
|
||||
WRAP_POS awl;
|
||||
Scheme_Object *mark = NULL, *v;
|
||||
|
||||
WRAP_POS_INIT(awl, ((Scheme_Stx *)o)->wraps);
|
||||
while (!WRAP_POS_END_P(awl)) {
|
||||
v = WRAP_POS_FIRST(awl);
|
||||
if (mark) {
|
||||
if (!SAME_OBJ(mark, v))
|
||||
return 0;
|
||||
mark = NULL;
|
||||
} else
|
||||
mark = v;
|
||||
WRAP_POS_INC(awl);
|
||||
}
|
||||
|
||||
return !mark;
|
||||
}
|
||||
|
||||
/*========================================================================*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user