diff options
Diffstat (limited to 'src/machine/partial_string.rs')
-rw-r--r-- | src/machine/partial_string.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/machine/partial_string.rs b/src/machine/partial_string.rs index cdc424dd..fce47204 100644 --- a/src/machine/partial_string.rs +++ b/src/machine/partial_string.rs @@ -179,6 +179,14 @@ impl<'a> HeapPStrIter<'a> { if self.at_string_terminator() { self.focus = empty_list_as_cell!(); self.brent_st.hare = result.focus; + } else { + read_heap_cell!(self.heap[result.focus], + (HeapCellValueTag::Lis | HeapCellValueTag::Str) => { + self.focus = self.heap[self.brent_st.hare]; + } + _ => { + } + ); } } @@ -330,7 +338,7 @@ impl<'a> HeapPStrIter<'a> { }) } else { None - } + }; } (HeapCellValueTag::Str, s) => { let (name, arity) = cell_as_atom_cell!(self.heap[s]) |