fix case where you may bind variable (eg, freeze(X,Y)), obs from Ulrich Neumerkel.
This commit is contained in:
parent
e4fdf5a1ff
commit
d3632dd48c
@ -524,7 +524,8 @@ frozen(V, LG) :-
|
|||||||
'$purge_done_goals'(G0, GF).
|
'$purge_done_goals'(G0, GF).
|
||||||
'$purge_done_goals'(['$redo_freeze'(_Done, _, CallCleanup)|G0], GF) :-
|
'$purge_done_goals'(['$redo_freeze'(_Done, _, CallCleanup)|G0], GF) :-
|
||||||
nonvar(CallCleanup),
|
nonvar(CallCleanup),
|
||||||
CallCleanup = _:'$clean_call'(_), !,
|
% be careful about possibly adding extra binding at this point.
|
||||||
|
CallCleanup = _:T, nonvar(T), T = '$clean_call'(_), !,
|
||||||
'$purge_done_goals'(G0, GF).
|
'$purge_done_goals'(G0, GF).
|
||||||
'$purge_done_goals'(['$redo_eq'(Done, _, _, _)|G0], GF) :- nonvar(Done), !,
|
'$purge_done_goals'(['$redo_eq'(Done, _, _, _)|G0], GF) :- nonvar(Done), !,
|
||||||
'$purge_done_goals'(G0, GF).
|
'$purge_done_goals'(G0, GF).
|
||||||
|
Reference in New Issue
Block a user