call write_read_term_options if read_term_from_chars/3 succeeds by unifying Term to end_of_file (#1892)
This commit is contained in:
@@ -510,7 +510,7 @@ impl MachineState {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn write_read_term_options(
|
pub fn write_read_term_options(
|
||||||
&mut self,
|
&mut self,
|
||||||
mut var_list: Vec<(VarKey, HeapCellValue, usize)>,
|
mut var_list: Vec<(VarKey, HeapCellValue, usize)>,
|
||||||
singleton_var_list: Vec<HeapCellValue>,
|
singleton_var_list: Vec<HeapCellValue>,
|
||||||
|
|||||||
@@ -5863,6 +5863,11 @@ impl Machine {
|
|||||||
if let Some(term_write_result) = self.read_term_and_write_to_heap(atom_or_string)? {
|
if let Some(term_write_result) = self.read_term_and_write_to_heap(atom_or_string)? {
|
||||||
self.machine_st.read_term_body(term_write_result)
|
self.machine_st.read_term_body(term_write_result)
|
||||||
} else {
|
} else {
|
||||||
|
if !self.machine_st.fail {
|
||||||
|
// wrote end_of_file term in this case.
|
||||||
|
self.machine_st.write_read_term_options(vec![], vec![])?;
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user