Merge /home/vsc/github/yap-6.3
This commit is contained in:
@@ -2390,9 +2390,9 @@ X_API YAP_file_type_t YAP_Init(YAP_init_args *yap_init) {
|
||||
#if defined(YAPOR_COPY) || defined(YAPOR_COW) || defined(YAPOR_SBA)
|
||||
Yap_init_yapor_global_local_memory();
|
||||
#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA */
|
||||
// GLOBAL_PrologShouldHandleInterrupts =
|
||||
// yap_init->PrologShouldHandleInterrupts &&
|
||||
if (!yap_init->Embedded) {
|
||||
GLOBAL_PrologShouldHandleInterrupts =
|
||||
~yap_init->PrologCannotHandleInterrupts;
|
||||
Yap_InitSysbits(0); /* init signal handling and time, required by later
|
||||
functions */
|
||||
GLOBAL_argv = yap_init->Argv;
|
||||
|
14
C/cmppreds.c
14
C/cmppreds.c
@@ -540,7 +540,7 @@ Int p_compare(USES_REGS1) { /* compare(?Op,?T1,?T2) */
|
||||
return Yap_unify_constant(ARG1, MkAtomTerm(p));
|
||||
}
|
||||
|
||||
/** @pred _X_ \== _Y_ is iso
|
||||
/** @pred X \== Y is iso
|
||||
|
||||
Terms _X_ and _Y_ are not strictly identical.
|
||||
*/
|
||||
@@ -548,7 +548,7 @@ static Int a_noteq(Term t1, Term t2) { return (compare(t1, t2) != 0); }
|
||||
|
||||
static Int a_gen_lt(Term t1, Term t2) { return (compare(t1, t2) < 0); }
|
||||
|
||||
/** @pred _X_ @=< _Y_ is iso
|
||||
/** @pred X @=< Y is iso
|
||||
|
||||
|
||||
Term _X_ does not follow term _Y_ in the standard order.
|
||||
@@ -556,14 +556,14 @@ Term _X_ does not follow term _Y_ in the standard order.
|
||||
*/
|
||||
static Int a_gen_le(Term t1, Term t2) { return (compare(t1, t2) <= 0); }
|
||||
|
||||
/** @pred _X_ @> _Y_ is iso
|
||||
/** @pred X @> Y is iso
|
||||
|
||||
|
||||
Term _X_ does not follow term _Y_ in the standard order
|
||||
*/
|
||||
static Int a_gen_gt(Term t1, Term t2) { return compare(t1, t2) > 0; }
|
||||
|
||||
/** @pred _X_ @>= _Y_ is iso
|
||||
/** @pred X @>= Y is iso
|
||||
|
||||
Term _X_ does not precede term _Y_ in the standard order.
|
||||
*/
|
||||
@@ -778,7 +778,7 @@ static Int a_gt(Term t1, Term t2) { /* A > B */
|
||||
}
|
||||
|
||||
/**
|
||||
@pred +_X_ >= +_Y_ is iso
|
||||
@pred +X >= +Y is iso
|
||||
Greater than or equal to arithmetic expressions
|
||||
|
||||
The value of the expression _X_ is greater than or equal to the
|
||||
@@ -791,7 +791,7 @@ static Int a_ge(Term t1, Term t2) { /* A >= B */
|
||||
}
|
||||
|
||||
/**
|
||||
@pred +_X_ \< +_Y_ is iso
|
||||
@pred +X < +Y is iso
|
||||
Lesser than arithmetic expressions
|
||||
|
||||
The value of the expression _X_ is less than the value of expression
|
||||
@@ -806,7 +806,7 @@ static Int a_lt(Term t1, Term t2) { /* A < B */
|
||||
|
||||
/**
|
||||
*
|
||||
@pred _X_ =< + _Y_
|
||||
@pred +X =< +Y
|
||||
Lesser than or equal to arithmetic expressions
|
||||
|
||||
|
||||
|
@@ -1658,7 +1658,7 @@ mark_environments(CELL_PTR gc_ENV, size_t size, CELL *pvbmap USES_REGS)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
mark_external_reference(saved_var PASS_REGS);
|
||||
mark_external_reference(saved_var PASS_REGS);
|
||||
}
|
||||
bmap <<= 1;
|
||||
currv++;
|
||||
|
14
C/signals.c
14
C/signals.c
@@ -28,9 +28,9 @@ static char SccsId[] = "%W% %G%";
|
||||
#include <io.h>
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#include "YapEval.h"
|
||||
#include "YapHeap.h"
|
||||
#include "Yatom.h"
|
||||
#include "YapEval.h"
|
||||
#include "yapio.h"
|
||||
#ifdef TABLING
|
||||
#include "tab.macros.h"
|
||||
@@ -65,10 +65,8 @@ static yap_signals InteractSIGINT(int ch) {
|
||||
case 'a':
|
||||
/* abort computation */
|
||||
#if PUSH_REGS
|
||||
// restore_absmi_regs(&Yap_standard_regs);
|
||||
// restore_absmi_regs(&Yap_standard_regs);
|
||||
#endif
|
||||
LOCAL_RestartEnv = malloc( sizeof(sigjmp_buf) );
|
||||
siglongjmp(*LOCAL_RestartEnv, 4);
|
||||
return YAP_ABORT_SIGNAL;
|
||||
case 'b':
|
||||
/* continue */
|
||||
@@ -112,9 +110,11 @@ static yap_signals InteractSIGINT(int ch) {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
This function talks to the user about a signal. We assume we are in
|
||||
the context of the main Prolog thread (trivial in Unix, but hard in WIN32)
|
||||
/**
|
||||
This function interacts with the user about a signal. We assume we are in
|
||||
the context of the main Prolog thread (trivial in Unix, but hard in WIN32).
|
||||
|
||||
|
||||
*/
|
||||
static yap_signals ProcessSIGINT(void) {
|
||||
CACHE_REGS
|
||||
|
@@ -1155,9 +1155,12 @@ bool Yap_find_prolog_culprit(USES_REGS1) {
|
||||
|
||||
while (curCP != YESCODE) {
|
||||
curENV = (CELL *)(curENV[E_E]);
|
||||
if (curENV == NULL)
|
||||
if (curENV < ASP || curENV >= LCL0)
|
||||
break;
|
||||
pe = EnvPreg(curCP);
|
||||
if (pe==NULL) {
|
||||
pe = PredMetaCall;
|
||||
}
|
||||
if (pe->ModuleOfPred)
|
||||
return set_clause_info(curCP, pe);
|
||||
curCP = (yamop *)(curENV[E_CP]);
|
||||
|
Reference in New Issue
Block a user