From fce2c52d17de5fe3dd32c0a785abd57e6bbaff43 Mon Sep 17 00:00:00 2001 From: vsc Date: Fri, 25 Feb 2005 03:39:45 +0000 Subject: [PATCH] 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 --- C/cdmgr.c | 9 ++++++--- pl/boot.yap | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/C/cdmgr.c b/C/cdmgr.c index cffd8fb93..66328be50 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -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 diff --git a/pl/boot.yap b/pl/boot.yap index 9edd8fe8a..84e455b79 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -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.