From 975c1ca62cecd82ec1b115bb5f464b95719edde9 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Fri, 26 Nov 2021 22:13:52 -0700 Subject: [PATCH] fix stream errors --- src/clause_types.rs | 2 +- src/machine/machine_state.rs | 3 +-- src/machine/streams.rs | 4 +--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/clause_types.rs b/src/clause_types.rs index 540bf779..2e298dff 100644 --- a/src/clause_types.rs +++ b/src/clause_types.rs @@ -157,7 +157,7 @@ pub fn clause_type_form(name: Atom, arity: usize) -> Option { ))), (atom!("keysort"), 2) => Some(ClauseType::BuiltIn(BuiltInClauseType::KeySort)), (atom!("\\=="), 2) => Some(ClauseType::BuiltIn(BuiltInClauseType::NotEq)), - (atom!("read"), 1) => Some(ClauseType::BuiltIn(BuiltInClauseType::Read)), + (atom!("read"), 2) => Some(ClauseType::BuiltIn(BuiltInClauseType::Read)), (atom!("sort"), 2) => Some(ClauseType::BuiltIn(BuiltInClauseType::Sort)), _ => None, } diff --git a/src/machine/machine_state.rs b/src/machine/machine_state.rs index 8d39edcd..32665ad7 100644 --- a/src/machine/machine_state.rs +++ b/src/machine/machine_state.rs @@ -1,7 +1,6 @@ use crate::arena::*; use crate::atom_table::*; use crate::parser::ast::*; -use crate::temp_v; use crate::clause_types::*; use crate::forms::*; @@ -490,7 +489,7 @@ pub trait CallPolicy: Any + fmt::Debug { } &BuiltInClauseType::Read => { let stream = machine_st.get_stream_or_alias( - machine_st[temp_v!(1)], + machine_st.registers[1], stream_aliases, atom!("read"), 2, diff --git a/src/machine/streams.rs b/src/machine/streams.rs index 064d9fa8..4aeba63e 100644 --- a/src/machine/streams.rs +++ b/src/machine/streams.rs @@ -1369,9 +1369,7 @@ impl MachineState { arity: usize, ) -> MachineStub { let stub = functor_stub(caller, arity); - let payload = vec![stream_as_cell!(stream)]; - - let err = self.permission_error(perm, err_atom, payload); + let err = self.permission_error(perm, err_atom, stream_as_cell!(stream)); return self.error_form(err, stub); } -- 2.54.0