From: Mark Thom Date: Mon, 1 Mar 2021 02:12:35 +0000 (-0700) Subject: use plain ! while interpreting control functors in metacalls (#724) X-Git-Tag: v0.9.0~147 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=498c4660d0b11b85b967bd778217e76c889329b3;p=scryer-prolog.git use plain ! while interpreting control functors in metacalls (#724) --- diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index ae727d4b..2b42f3c7 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -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) :-