]> Repositorios git - scryer-prolog.git/commitdiff
fix misuse of TypeError trait while fixing #2345
authorMark <[email protected]>
Thu, 29 Feb 2024 03:47:36 +0000 (20:47 -0700)
committerMark <[email protected]>
Thu, 29 Feb 2024 03:47:36 +0000 (20:47 -0700)
src/machine/system_calls.rs

index 7efcc2df741acd7e57548c063b9a38666cce7b68..86d7944a59f9f46d2cb6ec8cb6f4a8b7063b3bbf 100644 (file)
@@ -1693,9 +1693,12 @@ impl Machine {
                 }
             }
             _ => {
+                let h = self.machine_st.heap.len();
                 let call_form = functor!(atom!(":"), [cell(module_name), cell(self.machine_st.registers[2])]);
+                self.machine_st.heap.extend(call_form);
+
                 let stub = functor_stub(atom!("call"), narity + 1);
-                let err = self.machine_st.type_error(ValidType::Callable, call_form);
+                let err = self.machine_st.type_error(ValidType::Callable, str_loc_as_cell!(h));
                 return Err(self.machine_st.error_form(err, stub));
             }
         );