correct call_residue_vars/3 using new copy_term_3 (#1239)

This commit is contained in:
Mark Thom
2023-03-12 14:14:29 -06:00
parent 3a522f3c98
commit 9b35a316c9
5 changed files with 42 additions and 11 deletions

View File

@@ -4392,11 +4392,11 @@ impl Machine {
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
}
&Instruction::CallTermVariables(_) => {
self.term_variables();
self.term_variables(|value| value.is_var());
step_or_fail!(self, self.machine_st.p += 1);
}
&Instruction::ExecuteTermVariables(_) => {
self.term_variables();
self.term_variables(|value| value.is_var());
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
}
&Instruction::CallTermVariablesUnderMaxDepth(_) => {
@@ -5239,6 +5239,14 @@ impl Machine {
self.delete_all_attributes_from_var();
self.machine_st.p = self.machine_st.cp;
}
&Instruction::CallTermAttributedVariablesWithoutAttrs(_) => {
self.term_variables(|value| value.is_attr_var());
step_or_fail!(self, self.machine_st.p += 1);
}
&Instruction::ExecuteTermAttributedVariablesWithoutAttrs(_) => {
self.term_variables(|value| value.is_attr_var());
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
}
}
}