diff --git a/src/prolog/lib/builtins.pl b/src/prolog/lib/builtins.pl index 2f939ef0..feb04e44 100644 --- a/src/prolog/lib/builtins.pl +++ b/src/prolog/lib/builtins.pl @@ -128,8 +128,9 @@ comma_errors(G1, G2, B) :- var(G1), throw(error(instantiation_error, (,)/2)). comma_errors(G1, G2, B) :- '$call_with_default_policy'(','(G1, G2, B)). :- non_counted_backtracking (,)/3. -','(!, CF, B) :- '$set_cp'(B), compound(CF), +','(!, CF, B) :- compound(CF), '$call_with_default_policy'(CF =.. [',', G1, G2]), + '$set_cp'(B), '$call_with_default_policy'(comma_errors(G1, G2, B)). ','(!, Atom, B) :- Atom == !, '$set_cp'(B). ','(!, G, B) :- '$set_cp'(B), G.