]> Repositorios git - scryer-prolog.git/commitdiff
follow EOF action after open_parsing_stream in get_char if stream at EOF
authorMark <[email protected]>
Sun, 9 Jul 2023 01:27:32 +0000 (19:27 -0600)
committerMark <[email protected]>
Sun, 9 Jul 2023 01:27:32 +0000 (19:27 -0600)
src/machine/system_calls.rs

index da2314d366866954b0879587df2b7430108429dc..11a724cc3eb00a3425fd101b128170035f9b28ce 100644 (file)
@@ -3400,8 +3400,12 @@ impl Machine {
             Ok(iter) => iter,
             Err(e) => {
                 if e.is_unexpected_eof() {
-                    self.machine_st.unify_atom(atom!("end_of_file"), addr);
-                    return Ok(());
+                    return self.machine_st.eof_action(
+                        self.machine_st.registers[2],
+                        stream,
+                        atom!("get_char"),
+                        2,
+                    );
                 } else {
                     let err = self.machine_st.session_error(SessionError::from(e));
                     return Err(self.machine_st.error_form(err, stub_gen()));