update the parser with the number of lines already read by the underlying stream (#836)

This commit is contained in:
Mark Thom
2021-02-27 23:56:58 -07:00
parent 064d261357
commit 590a0b8077
3 changed files with 15 additions and 3 deletions

View File

@@ -185,7 +185,6 @@ impl MachineState {
let mut parser = Parser::new(&mut stream, atom_tbl, self.flags);
parser.devour_whitespace()?;
inner.add_lines_read(parser.num_lines_read());
let result = parser.eof();
let buf = stream.take_buf();
@@ -203,10 +202,13 @@ impl MachineState {
let mut stream = parsing_stream(inner.clone())?;
let (term, num_lines_read) = {
let prior_num_lines_read = inner.lines_read();
let mut parser = Parser::new(&mut stream, atom_tbl, self.flags);
let term = parser.read_term(&CompositeOpDir::new(op_dir, None))?;
(term, parser.num_lines_read())
parser.add_lines_read(prior_num_lines_read);
let term = parser.read_term(&CompositeOpDir::new(op_dir, None))?;
(term, parser.num_lines_read() - prior_num_lines_read)
};
inner.add_lines_read(num_lines_read);