handle correctly next element after operator property.

This commit is contained in:
U-Xato7\Vsc 2009-11-23 16:02:05 +00:00
parent 691abd8243
commit 25b5464fe8
1 changed files with 7 additions and 2 deletions

9
H/rheap.h Normal file → Executable file
View File

@ -1523,6 +1523,10 @@ RestoreEntries(PropEntry *pp, int int_key)
case OpProperty:
{
OpEntry *opp = (OpEntry *)pp;
if (opp->NextOfPE) {
opp->NextOfPE =
PropAdjust(opp->NextOfPE);
}
if (opp->OpModule) {
opp->OpModule = AtomTermAdjust(opp->OpModule);
}
@ -1569,13 +1573,14 @@ RestoreAtom(AtomEntry *at)
{
AtomEntry *nat;
#ifdef DEBUG_RESTORE2 /* useful during debug */
/* this should be done before testing for wide atoms */
at->PropsOfAE = PropAdjust(at->PropsOfAE);
#if DEBUG_RESTORE2 /* useful during debug */
if (IsWideAtom(AbsAtom(at)))
fprintf(errout, "Restoring %S\n", at->WStrOfAE);
else
fprintf(errout, "Restoring %s\n", at->StrOfAE);
#endif
at->PropsOfAE = PropAdjust(at->PropsOfAE);
RestoreEntries(RepProp(at->PropsOfAE), FALSE);
/* cannot use AtomAdjust without breaking agc */
nat = RepAtom(at->NextOfAE);