more bug fixes for CLP(BN)

Allow debugging of system procedures if written in Prolog.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1174 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2004-11-16 16:38:09 +00:00
parent 6edf6f1dd3
commit 11ba3273da
4 changed files with 31 additions and 29 deletions

View File

@@ -83,11 +83,20 @@
).
'$do_suspy'(S, F, N, T, M) :-
'$system_predicate'(T,M),
'$flags'(T,Mod,F,F),
F /\ 0x118dd080 =\= 0,
( S = spy ->
'$do_error'(permission_error(access,private_procedure,T),spy(M:F/N))
;
'$do_error'(permission_error(access,private_procedure,T),nospy(M:F/N))
).
'$do_suspy'(S, F, N, T, M) :-
'$undefined'(T,M), !,
( S = spy ->
'$print_message'(warning,no_match(spy(M:F/N)))
;
'$print_message'(warning,no_match(nospy(M:F/N)))
).
'$do_suspy'(S,F,N,T,M) :-
'$suspy2'(S,F,N,T,M).
@@ -391,7 +400,9 @@ debugging :-
%
'$spycall'(G, M, _) :-
'$access_yap_flags'(10,0), !,
( '$access_yap_flags'(10,0);
'$system_predicate'(G,M), \+ '$meta_predicate'(G,M)
), !,
'$execute_nonstop'(G, M).
'$spycall'(G, M, InControl) :-
'$flags'(G,M,F,F),