fix fixes to undefp

fix bug where clause mistook cp for ap


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1252 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2005-02-25 03:39:45 +00:00
parent abb945a228
commit fce2c52d17
2 changed files with 11 additions and 5 deletions

View File

@ -11,8 +11,11 @@
* File: cdmgr.c *
* comments: Code manager *
* *
* Last rev: $Date: 2005-02-08 18:04:57 $,$Author: vsc $ *
* Last rev: $Date: 2005-02-25 03:39:44 $,$Author: vsc $ *
* $Log: not supported by cvs2svn $
* Revision 1.152 2005/02/08 18:04:57 vsc
* library_directory may not be deterministic (usually it isn't).
*
* Revision 1.151 2005/02/08 04:05:23 vsc
* fix mess with add clause
* improves on sigsegv handling
@ -3885,7 +3888,7 @@ p_continue_log_update_clause(void)
READ_LOCK(pe->PRWLock);
PP = pe;
#endif
return fetch_next_lu_clause(pe, ipc, Deref(ARG3), ARG4, ARG5, B->cp_ap, FALSE);
return fetch_next_lu_clause(pe, ipc, Deref(ARG3), ARG4, ARG5, B->cp_cp, FALSE);
}
static Int
@ -3991,7 +3994,7 @@ p_continue_log_update_clause0(void)
READ_LOCK(pe->PRWLock);
PP = pe;
#endif
return fetch_next_lu_clause0(pe, ipc, Deref(ARG3), ARG4, B->cp_ap, FALSE);
return fetch_next_lu_clause0(pe, ipc, Deref(ARG3), ARG4, B->cp_cp, FALSE);
}
static Int

View File

@ -737,10 +737,13 @@ not(G) :- \+ '$execute'(G).
'$execute0'(NG,M).
'$do_undefp'(G,M) :-
\+ '$undefined'(unknown_predicate_handler(_,_,_), user),
( '$system_catch'(NG,user,Error,'$leave_undefp'(Error)) -> '$exit_undefp' ; '$exit_undefp', fail).
'$system_catch'(unknown_predicate_handler(G,M,NG), user, Error, '$leave_undefp'(Error)),
'$exit_undefp', !,
'$execute'(user:NG).
'$do_undefp'(G,M) :-
recorded('$unknown','$unknown'(M:G,US),_), !,
( '$system_catch'(US,user,Error,'$leave_undefp'(Error)) -> '$exit_undefp' ; '$exit_undefp', fail).
'$exit_undefp',
'$execute'(user:US).
'$do_undefp'(_,_) :-
'$exit_undefp',
fail.