]> Repositorios git - scryer-prolog.git/commitdiff
cut properly in first (,)/3 clause
authorMark Thom <[email protected]>
Thu, 6 Sep 2018 12:16:44 +0000 (09:16 -0300)
committerMark Thom <[email protected]>
Thu, 6 Sep 2018 12:16:44 +0000 (09:16 -0300)
src/prolog/lib/builtins.pl

index 2f939ef06c52588516ce484c4732e289848862a2..feb04e4406beded7a93f96155abe53eb80c2b62b 100644 (file)
@@ -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.