unset var
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1955 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
07b18afdf0
commit
3e4e75dbdf
@ -10,8 +10,11 @@
|
||||
* File: c_interface.c *
|
||||
* comments: c_interface primitives definition *
|
||||
* *
|
||||
* Last rev: $Date: 2007-10-05 18:24:30 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2007-10-15 23:48:46 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.97 2007/10/05 18:24:30 vsc
|
||||
* fix garbage collector and fix LeaveGoal
|
||||
*
|
||||
* Revision 1.96 2007/09/04 10:34:54 vsc
|
||||
* Improve SWI interface emulation.
|
||||
*
|
||||
@ -1220,6 +1223,7 @@ YAP_EnterGoal(PredEntry *pe, Term *ptr, YAP_dogoalinfo *dgi)
|
||||
{
|
||||
UInt i;
|
||||
choiceptr myB;
|
||||
int out;
|
||||
|
||||
BACKUP_MACHINE_REGS();
|
||||
dgi->p = P;
|
||||
@ -1249,9 +1253,12 @@ YAP_EnterGoal(PredEntry *pe, Term *ptr, YAP_dogoalinfo *dgi)
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
WPP = NULL;
|
||||
#endif
|
||||
YENV[E_CB] = Unsigned (B);
|
||||
ASP = YENV = (CELL *)B;
|
||||
return run_emulator(dgi);
|
||||
YENV[E_CB] = Unsigned (B);
|
||||
fprintf(stderr,"%p--%p\n",B,myB);
|
||||
out = run_emulator(dgi);
|
||||
RECOVER_MACHINE_REGS();
|
||||
return out;
|
||||
}
|
||||
|
||||
X_API int
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
<h2>Yap-5.1.3:</h2>
|
||||
<ul>
|
||||
<li> FIXED: YAP_EnterGoal would set YENV[E_CB] before setting YENV
|
||||
(obs from Trevor Walker).</li>
|
||||
<li> FIXED: setarg/3 should always set a global variable.</li>
|
||||
<li> NEW: define dialect and version_data flags.</li>
|
||||
<li> NEW: define __YAP_PROLOG__.</li>
|
||||
|
@ -13843,7 +13843,8 @@ be be found.
|
||||
@findex YAP_LeaveGoal/2
|
||||
Exit a query query created by @code{YAP_EnterGoal}. If
|
||||
@code{backtrack} is @code{TRUE}, variable bindings are undone and Heap
|
||||
space is recovered. Otherwise, stack space is recovered.
|
||||
space is recovered. Otherwise, only stack space is recovered, ie,
|
||||
@code{LeaveGoal} executes a cut.
|
||||
|
||||
Next, follows an example of how to use @code{YAP_EnterGoal}:
|
||||
@example
|
||||
|
Reference in New Issue
Block a user