fix bug that affects `free-identifier=?'
This bug is in the "amazing that it lurked for years" category, as well as the "stupid use of C preprocessor" category.
This commit is contained in:
parent
d05f138ed2
commit
311d55b5cf
|
@ -365,7 +365,7 @@ XFORM_NONGCING static MZ_INLINE void DO_WRAP_POS_INC(Wrap_Pos *w)
|
|||
#define WRAP_POS_INIT_END(w) (w.l = scheme_null, w.a = NULL, w.is_limb = 0, w.pos = 0)
|
||||
#define WRAP_POS_END_P(w) SCHEME_NULLP(w.l)
|
||||
#define WRAP_POS_FIRST(w) w.a
|
||||
#define WRAP_POS_COPY(w, w2) w.l = (w2).l; w.a = (w2).a; w.is_limb= (w2).is_limb; w.pos = (w2).pos
|
||||
#define WRAP_POS_COPY(w, w2) w.l = (w2).l; w.a = (w2).a; w.is_limb = (w2).is_limb; w.pos = (w2).pos
|
||||
|
||||
/* Walking backwards through one chunk: */
|
||||
|
||||
|
@ -3618,8 +3618,9 @@ static Scheme_Object *resolve_env(WRAP_POS *_wraps,
|
|||
if (_wraps) {
|
||||
WRAP_POS_COPY(wraps, *_wraps);
|
||||
WRAP_POS_INC(wraps);
|
||||
} else
|
||||
} else {
|
||||
WRAP_POS_INIT(wraps, ((Scheme_Stx *)a)->wraps);
|
||||
}
|
||||
|
||||
while (1) {
|
||||
if (WRAP_POS_END_P(wraps)) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user