From 6b607427006a674b77c6700369ab40c94127eec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 12 Jan 2016 17:03:57 +0000 Subject: [PATCH] system predicates should not belong to a file. --- C/ *Minibuf-7* | 1 + C/cdmgr.c | 4 ++++ H/Yatom.h | 1 + 3 files changed, 6 insertions(+) create mode 100644 C/ *Minibuf-7* diff --git a/C/ *Minibuf-7* b/C/ *Minibuf-7* new file mode 100644 index 000000000..d8eacd145 --- /dev/null +++ b/C/ *Minibuf-7* @@ -0,0 +1 @@ +M-x \ No newline at end of file diff --git a/C/cdmgr.c b/C/cdmgr.c index 8e50c251a..9f62b5f31 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -2524,6 +2524,10 @@ static Int p_owner_file(USES_REGS1) { /* '$owner_file'(+P,M,F) */ UNLOCKPE(48, pe); return FALSE; } + if (is_system(pe) || is_foreign(pe) ) { + UNLOCKPE(48, pe); + return FALSE; + } owner = pe->src.OwnerFile; UNLOCKPE(49, pe); if (owner == AtomNil) diff --git a/H/Yatom.h b/H/Yatom.h index 3cdffe2eb..e0b055073 100755 --- a/H/Yatom.h +++ b/H/Yatom.h @@ -554,6 +554,7 @@ typedef uint64_t pred_flags_t; #define StatePredFlags (InUsePredFlag|CountPredFlag|SpiedPredFlag|IndexedPredFlag ) #define is_system(pe) (pe->PredFlags & SystemPredFlags) #define is_dynamic(pe) (pe->PredFlags & DynamicPredFlag) +#define is_foreign(pe) (pe->PredFlags & ForeignPredFlags) #define is_static(pe) (pe->PredFlags & CompiledPredFlag) #define is_logupd(pe) (pe->PredFlags & LogUpdatePredFlag) #ifdef TABLING