do not reset user input Stream of kind different from Readline(_), Byte(_)

Signed-off-by: Thierry Marianne <thierry@marianne.io>
This commit is contained in:
Thierry Marianne
2025-09-14 16:42:12 +02:00
parent fdbaf6ac9d
commit be18eda696

View File

@@ -6739,7 +6739,10 @@ impl Machine {
#[inline(always)] #[inline(always)]
pub(crate) fn read_query_term(&mut self) -> CallResult { pub(crate) fn read_query_term(&mut self) -> CallResult {
self.user_input.reset(); match self.user_input {
Stream::Byte(_) | Stream::Readline(_) => self.user_input.reset(),
_ => true,
};
set_prompt(true); set_prompt(true);
// let result = self.machine_st.read_term(self.user_input, &mut self.indices); // let result = self.machine_st.read_term(self.user_input, &mut self.indices);
@@ -6751,7 +6754,10 @@ impl Machine {
match result { match result {
Ok(()) => Ok(()), Ok(()) => Ok(()),
Err(e) => { Err(e) => {
self.user_input.reset(); match self.user_input {
Stream::Byte(_) | Stream::Readline(_) => self.user_input.reset(),
_ => true
};
Err(e) Err(e)
} }
} }