allow easy shunting, but make sure we do not shunt chains below the current CP.
This commit is contained in:
parent
b5a5e10544
commit
4b91f13ee1
@ -24,7 +24,7 @@ static char SccsId[] = "%W% %G%";
|
|||||||
#include "attvar.h"
|
#include "attvar.h"
|
||||||
|
|
||||||
#if !defined(TABLING)
|
#if !defined(TABLING)
|
||||||
/* #define EASY_SHUNTING 1 */
|
#define EASY_SHUNTING 1
|
||||||
#endif /* !TABLING */
|
#endif /* !TABLING */
|
||||||
#define HYBRID_SCHEME 1
|
#define HYBRID_SCHEME 1
|
||||||
|
|
||||||
@ -1221,7 +1221,9 @@ mark_variable(CELL_PTR current)
|
|||||||
current = next;
|
current = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (IsVarTerm(cnext) &&
|
/* try to shorten chains if they go through the current CP */
|
||||||
|
} else if (next > HB &&
|
||||||
|
IsVarTerm(cnext) &&
|
||||||
UNMARK_CELL(cnext) != (CELL)next &&
|
UNMARK_CELL(cnext) != (CELL)next &&
|
||||||
current < LCL0) {
|
current < LCL0) {
|
||||||
/* This step is possible because we clean up the trail */
|
/* This step is possible because we clean up the trail */
|
||||||
|
Reference in New Issue
Block a user