From af0005324ddc64daf717f5bdaa953ec26a9a2346 Mon Sep 17 00:00:00 2001
From: Moritz Schuler <moschule@rhrk.uni-kl.de>
Date: Sat, 27 Apr 2024 22:20:30 +0000
Subject: [PATCH] Fix parsing of module names in CLI arguments   closes issue
 #24732

---
 compiler/Language/Haskell/Syntax/Module/Name.hs     | 2 +-
 testsuite/tests/rename/should_compile/T24732.hs     | 4 ++++
 testsuite/tests/rename/should_compile/T24732.stdout | 1 +
 testsuite/tests/rename/should_compile/all.T         | 1 +
 4 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 testsuite/tests/rename/should_compile/T24732.hs
 create mode 100644 testsuite/tests/rename/should_compile/T24732.stdout

diff --git a/compiler/Language/Haskell/Syntax/Module/Name.hs b/compiler/Language/Haskell/Syntax/Module/Name.hs
index 65e64d8700fb..89ea910b29d1 100644
--- a/compiler/Language/Haskell/Syntax/Module/Name.hs
+++ b/compiler/Language/Haskell/Syntax/Module/Name.hs
@@ -56,5 +56,5 @@ moduleNameColons = dots_to_colons . moduleNameString
 
 parseModuleName :: Parse.ReadP ModuleName
 parseModuleName = fmap mkModuleName
-                $ Parse.munch1 (\c -> isAlphaNum c || c `elem` "_.")
+                $ Parse.munch1 (\c -> isAlphaNum c || c `elem` "_.'")
 
diff --git a/testsuite/tests/rename/should_compile/T24732.hs b/testsuite/tests/rename/should_compile/T24732.hs
new file mode 100644
index 000000000000..0cf7e6d73d86
--- /dev/null
+++ b/testsuite/tests/rename/should_compile/T24732.hs
@@ -0,0 +1,4 @@
+import P'
+
+main :: IO ()
+main = printf "Hello World\n"
\ No newline at end of file
diff --git a/testsuite/tests/rename/should_compile/T24732.stdout b/testsuite/tests/rename/should_compile/T24732.stdout
new file mode 100644
index 000000000000..557db03de997
--- /dev/null
+++ b/testsuite/tests/rename/should_compile/T24732.stdout
@@ -0,0 +1 @@
+Hello World
diff --git a/testsuite/tests/rename/should_compile/all.T b/testsuite/tests/rename/should_compile/all.T
index f5d7fe904790..745335949bb2 100644
--- a/testsuite/tests/rename/should_compile/all.T
+++ b/testsuite/tests/rename/should_compile/all.T
@@ -223,3 +223,4 @@ test('T22478a', req_th, compile, [''])
 test('RecordWildCardDeprecation', normal, multimod_compile, ['RecordWildCardDeprecation', '-Wno-duplicate-exports'])
 test('T14032b', normal, compile_and_run, [''])
 test('T14032d', normal, compile, [''])
+test('T24732', normal, compile_and_run, ['-package "base(Prelude, Text.Printf as P\')"'])
-- 
GitLab