From cc6dc5a28bd6234a39fe19c2be5f3c80d7b08b99 Mon Sep 17 00:00:00 2001 From: vsc Date: Tue, 26 Feb 2002 22:15:36 +0000 Subject: [PATCH] more debugger fixes: use $leave_creep to avoid creeping all over the place. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@387 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- pl/debug.yap | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/pl/debug.yap b/pl/debug.yap index 124f7c849..946213701 100644 --- a/pl/debug.yap +++ b/pl/debug.yap @@ -267,9 +267,15 @@ debugging :- '$direct_spy'([M|G]) :- '$hidden'(G), !, - /* called from prolog module */ - '$execute0'(G,M), - '$creep'. + ( + G = '$leave_creep' + -> + true + ; + /* called from prolog module */ + '$execute0'(G,M), + '$creep' + ). '$direct_spy'([Mod|G]) :- '$do_spy'(G, Mod). @@ -449,7 +455,8 @@ debugging :- '$do_execute_clause'(G,M,Cl). '$spycall'(G,M,Cl) :- '$setflop'(0), - '$do_creep_execute'(G,M,Cl). + '$do_creep_execute'(G,M,Cl), + '$leave_creep'. '$log_upd_spycall'(G,M,Cl,Index) :- '$access_yap_flags'(10,0), @@ -468,7 +475,8 @@ debugging :- '$do_execute_dynamic_clause'(G,M,Cl). '$spycall_dynamic'(G,M,Cl) :- '$setflop'(0), - '$do_creep_execute_dynamic'(G,M,Cl). + '$do_creep_execute_dynamic'(G,M,Cl), + '$leave_creep'. '$spycall_stdpred'(G,M) :- CP is '$last_choice_pt', @@ -556,8 +564,8 @@ debugging :- Next is Cl+1, '$set_value'(spy_cl,Next), fail ). '$do_creep_execute'(G,M,Cl) :- - '$creep_execute'(G,M,Cl) ; - Next is Cl+1, '$set_value'(spy_cl,Next), fail. + '$creep_execute'(G,M,Cl), '$leave_creep' ; + '$leave_creep', Next is Cl+1, '$set_value'(spy_cl,Next), fail. '$do_creep_log_upd_execute'(G,M,Cl,Index) :- '$check_depth_for_interpreter'(D),