add stream alias check to atom/1 (#1855)

This commit is contained in:
Mark
2023-07-06 11:38:12 -06:00
parent 483e4568a2
commit b746a8f9ab

View File

@@ -2376,6 +2376,20 @@ impl Machine {
(HeapCellValueTag::Char) => {
self.machine_st.p += 1;
}
(HeapCellValueTag::Cons, c) => {
match_untyped_arena_ptr!(c,
(ArenaHeaderTag::Stream, stream) => {
if stream.options().get_alias().is_none() {
self.machine_st.backtrack();
} else {
self.machine_st.p += 1;
}
}
_ => {
self.machine_st.backtrack();
}
);
}
_ => {
self.machine_st.backtrack();
}
@@ -2405,6 +2419,20 @@ impl Machine {
(HeapCellValueTag::Char) => {
self.machine_st.p = self.machine_st.cp;
}
(HeapCellValueTag::Cons, c) => {
match_untyped_arena_ptr!(c,
(ArenaHeaderTag::Stream, stream) => {
if stream.options().get_alias().is_none() {
self.machine_st.backtrack();
} else {
self.machine_st.p = self.machine_st.cp;
}
}
_ => {
self.machine_st.backtrack();
}
);
}
_ => {
self.machine_st.backtrack();
}