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)
|
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