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
This commit is contained in:
vsc 2002-02-26 22:15:36 +00:00
parent 92eb12d4b5
commit cc6dc5a28b
1 changed files with 15 additions and 7 deletions

View File

@ -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),