From: Mark Date: Sun, 16 Jul 2023 01:29:06 +0000 (-0600) Subject: generalize simple goal detection to fix call/N test failures in logtalk test suite X-Git-Tag: v0.9.2~50 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=65a8ce8e220e3002897c3fd43b346a4298418f8f;p=scryer-prolog.git generalize simple goal detection to fix call/N test failures in logtalk test suite --- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 35e019ff..926557d7 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -1433,10 +1433,15 @@ impl Machine { post_supp_args .zip(supp_vars.iter()) .all(|(arg_term, supp_var)| { - let arg_term = self.machine_st.store(self.machine_st.deref(arg_term)); + let (module_loc, arg_term) = self.machine_st.strip_module( + arg_term, + heap_loc_as_cell!(0), + ); - if arg_term.is_var() && supp_var.is_var() { - return arg_term == *supp_var; + if module_loc.is_var() || module_loc == atom_as_cell!(atom!("user")) { + if arg_term.is_var() && supp_var.is_var() { + return arg_term == *supp_var; + } } false