From be18eda696a3f6205f0b5d15f1f8121f0ea32bc5 Mon Sep 17 00:00:00 2001 From: Thierry Marianne Date: Sun, 14 Sep 2025 16:42:12 +0200 Subject: [PATCH] do not reset user input `Stream` of kind different from `Readline(_)`, `Byte(_)` Signed-off-by: Thierry Marianne --- src/machine/system_calls.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 5eb9a6d2..01f2b2ec 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -6739,7 +6739,10 @@ impl Machine { #[inline(always)] 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); // let result = self.machine_st.read_term(self.user_input, &mut self.indices); @@ -6751,7 +6754,10 @@ impl Machine { match result { Ok(()) => Ok(()), Err(e) => { - self.user_input.reset(); + match self.user_input { + Stream::Byte(_) | Stream::Readline(_) => self.user_input.reset(), + _ => true + }; Err(e) } } -- 2.54.0