From 77d00963933424f84780b6261096ef8dd99d456b Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Wed, 17 Jul 2024 11:13:32 -0700 Subject: [PATCH] replace \r\n earlier, alexGetByte is too late --- src/Cryptol/ModuleSystem/Base.hs | 3 ++- src/Cryptol/Parser/LexerUtils.hs | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Cryptol/ModuleSystem/Base.hs b/src/Cryptol/ModuleSystem/Base.hs index 6f050d9b0..63c91bb39 100644 --- a/src/Cryptol/ModuleSystem/Base.hs +++ b/src/Cryptol/ModuleSystem/Base.hs @@ -28,6 +28,7 @@ import qualified Data.List.NonEmpty as NE import Data.List.NonEmpty (NonEmpty(..)) import Data.Function(on) import Data.Monoid ((<>),Endo(..), Any(..)) +import qualified Data.Text as T import Data.Text.Encoding (decodeUtf8') import System.Directory (doesFileExist, canonicalizePath) import System.FilePath ( addExtension @@ -179,7 +180,7 @@ parseModule path = do , "Exception: " ++ show exn ] txt <- case decodeUtf8' bytes of - Right txt -> return txt + Right txt -> return $! (T.replace "\r\n" "\n" txt) Left e -> badUtf8 path e let cfg = P.defaultConfig diff --git a/src/Cryptol/Parser/LexerUtils.hs b/src/Cryptol/Parser/LexerUtils.hs index 000ae8be6..aa426daa9 100644 --- a/src/Cryptol/Parser/LexerUtils.hs +++ b/src/Cryptol/Parser/LexerUtils.hs @@ -342,10 +342,7 @@ alexGetByte i = do (c,rest) <- T.uncons (input i) let i' = i { alexPos = move (alexPos i) c, input = rest } b = byteForChar c - -- treat \r\n as \n - case (b, alexGetByte i') of - (13, skip@(Just (10, _))) -> skip - _ -> pure (b, i') + pure (b, i') data Layout = Layout | NoLayout