prolog: multifiles are not really system predicates (they can be redefined).

This commit is contained in:
Vitor Santos Costa 2009-11-23 10:10:47 +00:00
parent 6852a0c861
commit c6406b822b

View File

@ -2919,6 +2919,8 @@ p_new_multifile(void)
pe = RepPredProp(PredPropByFunc(Yap_MkFunctor(at, arity),mod)); pe = RepPredProp(PredPropByFunc(Yap_MkFunctor(at, arity),mod));
LOCK(pe->PELock); LOCK(pe->PELock);
pe->PredFlags |= MultiFileFlag; pe->PredFlags |= MultiFileFlag;
if (pe->ModuleOfPred == PROLOG_MODULE)
pe->ModuleOfPred = TermProlog;
if (!(pe->PredFlags & (DynamicPredFlag|LogUpdatePredFlag))) { if (!(pe->PredFlags & (DynamicPredFlag|LogUpdatePredFlag))) {
/* static */ /* static */
pe->PredFlags |= (SourcePredFlag|CompiledPredFlag); pe->PredFlags |= (SourcePredFlag|CompiledPredFlag);