]> Repositorios git - scryer-prolog.git/commitdiff
make clause/2 global in scope
authorMark Thom <[email protected]>
Fri, 8 Mar 2019 06:32:41 +0000 (23:32 -0700)
committerMark Thom <[email protected]>
Fri, 8 Mar 2019 06:32:41 +0000 (23:32 -0700)
src/prolog/machine/system_calls.rs

index 5299c0f6e67bb943be29c6dc0d94775b40c77ceb..91fef9ccebc21a8bf28b7b160d2134acbc0c523d 100644 (file)
@@ -873,25 +873,20 @@ impl MachineState {
             &SystemClauseType::GetClause => {
                 let head = self[temp_v!(1)].clone();
 
-                let (module, subsection) = match self.store(self.deref(head)) {
+                let subsection = match self.store(self.deref(head)) {
                     Addr::Str(s) =>
                         match self.heap[s].clone() {
                             HeapCellValue::NamedStr(arity, name, ..) =>
-                                (name.owning_module(), indices.get_clause_subsection(name, arity)),
+                                indices.get_clause_subsection(name, arity),
                             _ => unreachable!()
                         },
                     Addr::Con(Constant::Atom(name, _)) =>
-                        (name.owning_module(), indices.get_clause_subsection(name, 0)),
+                        indices.get_clause_subsection(name, 0),
                     _ => unreachable!()
                 };
 
                 match subsection {
                     Some(dynamic_predicate_info) => {
-                        if dynamic_predicate_info.module_src != module {
-                            self.fail = true;
-                            return Ok(());
-                        }
-                        
                         self.execute_at_index(2, dynamic_predicate_info.clauses_subsection_p);
                         return Ok(());
                     },