[Places] copy pair flags
This commit is contained in:
parent
7134b95ff1
commit
d3b014ba42
|
@ -968,6 +968,7 @@ Scheme_Object *scheme_places_deep_copy_worker(Scheme_Object *so, Scheme_Hash_Tab
|
||||||
if (copy) {
|
if (copy) {
|
||||||
SCHEME_CAR(pair) = car;
|
SCHEME_CAR(pair) = car;
|
||||||
SCHEME_CDR(pair) = cdr;
|
SCHEME_CDR(pair) = cdr;
|
||||||
|
SCHEME_PAIR_COPY_FLAGS(pair, so);
|
||||||
new_so = pair;
|
new_so = pair;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,6 +165,9 @@ void scheme_clear_ephemerons(void);
|
||||||
#define PAIR_IS_NON_LIST 0x2
|
#define PAIR_IS_NON_LIST 0x2
|
||||||
#define PAIR_FLAG_MASK 0x3
|
#define PAIR_FLAG_MASK 0x3
|
||||||
|
|
||||||
|
#define SCHEME_PAIR_COPY_FLAGS(dest, src) (SCHEME_PAIR_FLAGS((dest)) |= (SCHEME_PAIR_FLAGS((src)) & PAIR_FLAG_MASK))
|
||||||
|
|
||||||
|
|
||||||
/*========================================================================*/
|
/*========================================================================*/
|
||||||
/* initialization */
|
/* initialization */
|
||||||
/*========================================================================*/
|
/*========================================================================*/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user