diff --git a/C/stdpreds.c b/C/stdpreds.c index 55f90cfd9..88ca4fc49 100755 --- a/C/stdpreds.c +++ b/C/stdpreds.c @@ -766,6 +766,8 @@ static Int cont_current_predicate(USES_REGS1) { PredEntry *pp; t1 = Yap_YapStripModule(t1, &t2); t3 = Yap_YapStripModule(t3, &t2); + t1 = Deref(t1); + t2 = Deref(t2); task = Deref(ARG4); pp = AddressOfTerm(EXTRA_CBACK_ARG(4, 1)); diff --git a/pl/preds.yap b/pl/preds.yap index 907cb397b..5688cb99c 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -292,7 +292,7 @@ abolish(X0) :- '$new_abolish'(V,M) :- var(V), !, '$abolish_all'(M). -'$new_abolish'(A,M) :- atom(A), !, +'$new_abolish'(A/V,M) :- atom(A), var(V), !, '$abolish_all_atoms'(A,M). '$new_abolish'(Na//Ar1, M) :- integer(Ar1),