From ce0be73841df3b4c1d280e8a0e3253cde6de64b1 Mon Sep 17 00:00:00 2001 From: yt2b Date: Sun, 25 Dec 2022 11:15:29 +0900 Subject: [PATCH 1/2] Add BOM check --- parser/src/lexer.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/parser/src/lexer.rs b/parser/src/lexer.rs index 04140aa..a819b4a 100644 --- a/parser/src/lexer.rs +++ b/parser/src/lexer.rs @@ -236,6 +236,10 @@ where lxr.window.slide(); lxr.window.slide(); lxr.window.slide(); + // Check if BOM exists + if let Some('\u{feff}') = lxr.window[0] { + lxr.window.slide(); + } // Start at top row (=1) left column (=1) lxr.location.reset(); lxr From bd0c15d34ec963b6e21c1211069c9a9043758ac2 Mon Sep 17 00:00:00 2001 From: yt2b Date: Mon, 26 Dec 2022 09:30:12 +0900 Subject: [PATCH 2/2] Fix comment --- parser/src/lexer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parser/src/lexer.rs b/parser/src/lexer.rs index a819b4a..cb078a2 100644 --- a/parser/src/lexer.rs +++ b/parser/src/lexer.rs @@ -236,7 +236,7 @@ where lxr.window.slide(); lxr.window.slide(); lxr.window.slide(); - // Check if BOM exists + // TODO: Handle possible mismatch between BOM and explicit encoding declaration. if let Some('\u{feff}') = lxr.window[0] { lxr.window.slide(); }