expand meta-predicates before trying to debug them.

This commit is contained in:
Vitor Santos Costa 2009-11-17 00:09:23 +00:00
parent 0d23db6b6d
commit 3f30a2bf18
1 changed files with 11 additions and 4 deletions

View File

@ -384,11 +384,18 @@ debugging :-
fail. fail.
% if we are in % if we are in
'$loop_spy2'(GoalNumber, G, Module, CalledFromDebugger, CP) :- '$loop_spy2'(GoalNumber, G0, Module, CalledFromDebugger, CP) :-
/* the following choice point is where the predicate is called */ /* the following choice point is where the predicate is called */
b_getval('$spy_glist',[info(_,_,_,Retry,Det)|_]), /* get goal list */ (
( '$is_metapredicate'(G0, Module)
/* call port */ ->
'$meta_expansion'(G0,Module,Module,Module,G,[])
;
G = G0
),
b_getval('$spy_glist',[info(_,_,_,Retry,Det)|_]), /* get goal list */
(
/* call port */
'$enter_goal'(GoalNumber, G, Module), '$enter_goal'(GoalNumber, G, Module),
'$spycall'(G, Module, CalledFromDebugger, Retry), '$spycall'(G, Module, CalledFromDebugger, Retry),
'$disable_docreep', '$disable_docreep',