From f0781c97364ca1c86b94be77229d3d062495ec55 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Mon, 17 Jan 2022 23:15:51 +0800 Subject: [PATCH] Properly handle \r\n pairs in doc-comments. --- CHANGELOG.md | 1 + src/tokenizer.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d2733a8..c03a5106 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Bug fixes * `remove` for arrays and BLOB's now treat negative index correctly. * `parse_int` now works properly for negative numbers. * `Engine::gen_fn_signatures` now generates signatures for external packages registered via `Engine::register_global_module`. +* `\r\n` pairs are now recognized correctly for doc-comments. Enhancements ------------ diff --git a/src/tokenizer.rs b/src/tokenizer.rs index df7508da..e82997ac 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -1594,7 +1594,7 @@ fn get_next_token_inner( eat_next(stream, pos); pos.new_line(); // `\r\n - if stream.peek_next().map(|ch| ch == '\n').unwrap_or(false) { + if let Some('\n') = stream.peek_next() { eat_next(stream, pos); } } @@ -1761,6 +1761,14 @@ fn get_next_token_inner( }; while let Some(c) = stream.get_next() { + if c == '\r' { + pos.new_line(); + // \r\n + if let Some('\n') = stream.peek_next() { + eat_next(stream, pos); + } + break; + } if c == '\n' { pos.new_line(); break;