From e8bac464d04c87cf328067f4e41616a70d546cbc Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sun, 29 Sep 2019 10:05:40 -0600 Subject: [PATCH] devour dangling whitespace before checking for EOF --- Cargo.toml | 4 ++-- src/prolog/machine/term_expansion.rs | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4f3145fe..7546f162 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scryer-prolog" -version = "0.8.95" +version = "0.8.96" authors = ["Mark Thom "] build = "build.rs" repository = "https://github.com/mthom/scryer-prolog" @@ -16,7 +16,7 @@ dirs = "2.0.2" downcast = "0.10.0" indexmap = "1.0.2" ordered-float = "0.5.0" -prolog_parser = "0.8.29" +prolog_parser = "0.8.30" ref_thread_local = "0.0.0" rug = "1.4.0" rustyline = "5.0.3" diff --git a/src/prolog/machine/term_expansion.rs b/src/prolog/machine/term_expansion.rs index c90d239c..eaa4d23e 100644 --- a/src/prolog/machine/term_expansion.rs +++ b/src/prolog/machine/term_expansion.rs @@ -173,6 +173,7 @@ impl<'a, R: Read> TermStream<'a, R> { #[inline] pub fn eof(&mut self) -> Result { + self.parser.devour_whitespace()?; // eliminate dangling comments before checking for EOF. Ok(self.stack.is_empty() && self.parser.eof()?) } @@ -251,11 +252,13 @@ impl<'a, R: Read> TermStream<'a, R> { } self.parser.reset(); + let term = self.parser.read_term(composite_op!( self.in_module, &self.wam.indices.op_dir, op_dir ))?; + self.stack.push(term); } } -- 2.54.0