]> Repositorios git - scryer-prolog.git/commitdiff
use plain ! while interpreting control functors in metacalls (#724)
authorMark Thom <[email protected]>
Mon, 1 Mar 2021 02:12:35 +0000 (19:12 -0700)
committerMark Thom <[email protected]>
Mon, 1 Mar 2021 02:12:35 +0000 (19:12 -0700)
src/lib/builtins.pl

index ae727d4b427c954fb59cdefd44f3cfdc95b13d9c..2b42f3c74c573643e3f04dc66f35a9c3f286e4f5 100644 (file)
@@ -255,6 +255,7 @@ call_or_cut(G, B, ErrorPI) :-
 
 :- non_counted_backtracking control_functor/1.
 
+control_functor(call(_:!)).
 control_functor(!).
 control_functor((_,_)).
 control_functor((_;_)).
@@ -280,6 +281,8 @@ call_or_cut(G, B) :-
 
 :- non_counted_backtracking call_or_cut_interp/2.
 
+call_or_cut_interp(call(_:!), B) :-
+    !. % '$set_cp_by_default'(B).
 call_or_cut_interp(!, B) :-
     '$set_cp_by_default'(B).
 call_or_cut_interp((G1, G2), B) :-