From 18f0263d23c6e1a8be4e3c1c9f3247e1b412b3e2 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 16 Jan 2019 20:03:59 -0700 Subject: [PATCH] fix setup_hook --- src/prolog/compile.rs | 1 + src/prolog/toplevel.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/prolog/compile.rs b/src/prolog/compile.rs index 4a04e029..89976ffe 100644 --- a/src/prolog/compile.rs +++ b/src/prolog/compile.rs @@ -490,5 +490,6 @@ fn setup_indices(wam: &mut Machine, indices: &mut IndexStore) -> Result<(), Sess pub fn compile_user_module(wam: &mut Machine, src: R) -> EvalSession { let mut indices = default_index_store!(wam.indices.atom_tbl.clone()); try_eval_session!(setup_indices(wam, &mut indices)); + compile_listing(wam, src, indices) } diff --git a/src/prolog/toplevel.rs b/src/prolog/toplevel.rs index 55d8f82a..eed2c01a 100644 --- a/src/prolog/toplevel.rs +++ b/src/prolog/toplevel.rs @@ -625,7 +625,7 @@ impl RelationWorker { if name == hook.name() && terms.len() == hook.arity() { let term = setup_fact(Term::Clause(r, name, terms, None))?; Ok((hook, PredicateClause::Fact(term), VecDeque::from(vec![]))) - } else if name.as_str() == ":-" { + } else if name.as_str() == ":-" && terms.len() == 2 { let rule = self.setup_rule(indices, terms, true)?; let results_queue = self.parse_queue(indices)?; -- 2.54.0