diff --git a/src/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs index ed235673..a2940ece 100644 --- a/src/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -532,8 +532,8 @@ impl MachineState { chars_iter.iter.next(); - self.pdl.push(chars_iter.iter.focus); self.pdl.push(focus); + self.pdl.push(chars_iter.iter.focus); break; } diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index e34b6ccb..6272bcee 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -1460,7 +1460,8 @@ impl Machine { unify!(self.machine_st, self.machine_st.registers[2], pstr_loc_as_cell!(pstr_h)); if !self.machine_st.fail { - self.machine_st.bind(Ref::heap_cell(pstr_h+1), self.machine_st.registers[3]); + let tail = self.machine_st.registers[3]; + unify!(self.machine_st, tail, heap_loc_as_cell!(pstr_h+1)); } }