From: Mark Thom Date: Thu, 17 Jan 2019 03:03:59 +0000 (-0700) Subject: fix setup_hook X-Git-Tag: v0.8.110~295 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=18f0263d23c6e1a8be4e3c1c9f3247e1b412b3e2;p=scryer-prolog.git fix setup_hook --- 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)?;