diff --git a/pl/debug.yap b/pl/debug.yap index 03d0a82e1..d6247c5e4 100644 --- a/pl/debug.yap +++ b/pl/debug.yap @@ -802,7 +802,7 @@ debugging :- nl(user_error) ; write(user_error,' ? '), get0(user_input,C), - '$action'(C,P,L,G,NC), + '$action'(C,P,L,G,Module,NC), '$skipeol'(C) ), !. @@ -847,10 +847,10 @@ debugging :- '$skipeol'(10) :- !. '$skipeol'(_) :- get0(user,C), '$skipeol'(C). -'$action'(10,call,_,_,continue) :- !, % newline creep +'$action'(10,call,_,_,_,continue) :- !, % newline creep '$set_yap_flags'(10,1). -'$action'(10,_,_,_,continue) :- !. % newline creep -'$action'(33,_,_,_,_) :- !, % ! g execute +'$action'(10,_,_,_,_,continue) :- !. % newline creep +'$action'(33,_,_,_,_,_) :- !, % ! g execute read(user,G), % don't allow yourself to be caught by creep. '$access_yap_flags'(10, CL), @@ -858,63 +858,71 @@ debugging :- ( '$execute'(G) -> true ; true), '$set_yap_flags'(10, CL), !, fail. -'$action'(60,_,_,_,_) :- !, % + print(user_error,G), nl(user_error) + ; + print(user_error,Module:G), nl(user_error) + ), '$skipeol'(112), fail. -'$action'(100,_,_,G,_) :- !, % d display - display(user_error,G), nl(user_error), +'$action'(0'd,_,_,G,Module,_) :- !, % d display + ((Module = prolog ; Module = user) -> + display(user_error,G), nl(user_error) + ; + display(user_error,Module:G), nl(user_error) + ), '$skipeol'(100), fail. -'$action'(113,_,L,_,_) :- !, % k quasi skip +'$action'(0'k,_,L,_,_,_) :- !, % k quasi skip '$set_value'(spy_leap,L). -'$action'(108,_,_,_,_) :- !, % l leap +'$action'(0'l,_,_,_,_,_) :- !, % l leap '$set_value'(spy_leap,1). -'$action'(110,_,_,_,_) :- !, % n nodebug +'$action'(0'n,_,_,_,_._) :- !, % n nodebug nodebug. -'$action'(107,_,_,_,_) :- !, % k quasi leap +'$action'(0'k,_,_,_,_._) :- !, % k quasi leap '$set_yap_flags'(10,0). -'$action'(114,P,L,_,_) :- !, % r retry +'$action'(0'r,P,L,_,_,_) :- !, % r retry ( P=call, !, '$ilgl'(114); true), '$set_value'(spy_sp,call), '$set_value'(spy_sl,L), write(user_error,'[ retry ]'), nl(user_error). -'$action'(115,P,L,_,_) :- !, % s skip +'$action'(0's,P,L,_,_,_) :- !, % s skip ( P=call; P=redo; '$ilgl'(115) ), !, '$set_value'(spy_sl,L). -'$action'(116,P,L,_,_) :- !, % t fast skip +'$action'(0't,P,L,_,_,_) :- !, % t fast skip ( P=call; P=redo; '$ilgl'(116) ), !, '$set_value'(spy_sl,L), '$set_value'(spy_fs,1). -'$action'(43,_,_,G,_) :- !, % + spy this - functor(G,F,N), spy(F/N), +'$action'(0'+,_,_,G,M,_) :- !, % + spy this + functor(G,F,N), spy(M:(F/N)), '$skipeol'(43), fail. -'$action'(45,_,_,G,_) :- !, % - nospy this - functor(G,F,N), nospy(F/N), +'$action'(0'-,_,_,G,M,_) :- !, % - nospy this + functor(G,F,N), nospy(M:(F/N)), '$skipeol'(45), fail. -'$action'(C,_,_,_,_) :- '$ilgl'(C). +'$action'(C,_,_,_,_,_) :- '$ilgl'(C). '$action_help' :-