From b3cff6555f12a71dc70b7c85c5b125aa216f1153 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sat, 16 May 2020 23:10:38 -0600 Subject: [PATCH] propagate syntax errors from read_term when they're not UnexpectedEOF (#507) --- src/prolog/machine/machine_state.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/prolog/machine/machine_state.rs b/src/prolog/machine/machine_state.rs index 6f6c5365..ad2dce34 100644 --- a/src/prolog/machine/machine_state.rs +++ b/src/prolog/machine/machine_state.rs @@ -730,13 +730,16 @@ impl MachineState { if orig_stream.options.eof_action == EOFAction::Reset { if self.fail == false { continue; - } else { - return Ok(()); } } + + return Ok(()); } - return Ok(()); + let stub = MachineError::functor_stub(clause_name!("read_term"), 3); + let err = MachineError::syntax_error(self.heap.h(), err); + + return Err(self.error_form(err, stub)); } } } -- 2.54.0