From 02d1ed237fbd2d7c64dc10efac92387fc572780c Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 2 Oct 2019 22:30:00 -0600 Subject: [PATCH] don't add default index for dynamic predicates unless defined at toplevel --- src/prolog/machine/compile.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/prolog/machine/compile.rs b/src/prolog/machine/compile.rs index 58cbcfc5..2554e256 100644 --- a/src/prolog/machine/compile.rs +++ b/src/prolog/machine/compile.rs @@ -407,8 +407,11 @@ impl ClauseCodeGenerator { for ((name, arity), _) in dynamic_code_dir { wam.indices.dynamic_code_dir.insert((name.owning_module(), name.clone(), arity), DynamicPredicateInfo::default()); - wam.indices.code_dir.entry((name, arity)) - .or_insert(CodeIndex::dynamic_undefined(self.module_name.clone())); + + if self.module_name.as_str() == "user" { + wam.indices.code_dir.entry((name, arity)) + .or_insert(CodeIndex::dynamic_undefined(self.module_name.clone())); + } } for ((name, arity), p) in self.pi_to_loc { -- 2.54.0