From 95281f78ee3762c9de85e353d99c3619e1e09abc Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 19 Dec 2010 21:57:40 +0000 Subject: [PATCH] fix leap over meta-predicates. --- pl/signals.yap | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pl/signals.yap b/pl/signals.yap index 298e7bf93..cd7eb7612 100644 --- a/pl/signals.yap +++ b/pl/signals.yap @@ -191,11 +191,21 @@ Run \= off, '$zip'(-1, G, Mod), !, '$signal_creep', - '$execute_nonstop'(G,Mod). + '$execute_goal'(G, Mod). '$start_creep'([Mod|G]) :- CP is '$last_choice_pt', '$do_spy'(G, Mod, CP, no). +'$execute_goal'(G, Mod) :- + ( + '$is_metapredicate'(G, Mod) + -> + '$meta_call'(G,Mod) + ; + '$execute_nonstop'(G,Mod) + ). + + '$signal_do'(Sig, Goal) :- recorded('$signal_handler', action(Sig,Goal), _), !. '$signal_do'(Sig, Goal) :-