diff --git a/Cabal-syntax/src/Language/Haskell/Extension.hs b/Cabal-syntax/src/Language/Haskell/Extension.hs index 3eecbe9a4c85af2290b6de8d5f0c7f699c07625f..4f7601a39d9062abba28a4bad42bec83a4709bc2 100644 --- a/Cabal-syntax/src/Language/Haskell/Extension.hs +++ b/Cabal-syntax/src/Language/Haskell/Extension.hs @@ -77,7 +77,7 @@ instance Pretty Language where pretty other = Disp.text (show other) instance Parsec Language where - parsec = classifyLanguage <$> P.some P.anyChar + parsec = classifyLanguage <$> P.munch1 isAlphaNum classifyLanguage :: String -> Language classifyLanguage = \str -> case lookup str langTable of diff --git a/cabal-testsuite/PackageTests/Regression/T8507/Foo.hs b/cabal-testsuite/PackageTests/Regression/T8507/Foo.hs new file mode 100644 index 0000000000000000000000000000000000000000..614d2790c839bf2e048440d634069791ebcb123c --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T8507/Foo.hs @@ -0,0 +1,4 @@ +module Foo where + +foo :: a +foo = undefined diff --git a/cabal-testsuite/PackageTests/Regression/T8507/cabal.out b/cabal-testsuite/PackageTests/Regression/T8507/cabal.out new file mode 100644 index 0000000000000000000000000000000000000000..0c53c8b3d30b8188da375d2b6ee5f0bde0d1f510 --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T8507/cabal.out @@ -0,0 +1,8 @@ +# cabal v2-build +Resolving dependencies... +Build profile: -w ghc-<GHCVER> -O1 +In order, the following will be built: + - pkg-0 (lib) (first run) +Configuring library for pkg-0.. +Preprocessing library for pkg-0.. +Building library for pkg-0.. diff --git a/cabal-testsuite/PackageTests/Regression/T8507/cabal.project b/cabal-testsuite/PackageTests/Regression/T8507/cabal.project new file mode 100644 index 0000000000000000000000000000000000000000..8834d04402a2a77a2fa0c4f718102dc0b450cbce --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T8507/cabal.project @@ -0,0 +1,2 @@ +packages: + ./ diff --git a/cabal-testsuite/PackageTests/Regression/T8507/cabal.test.hs b/cabal-testsuite/PackageTests/Regression/T8507/cabal.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..58266256b471e7e002bdec13430571828cadf2cd --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T8507/cabal.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- Issue #8507: trailing space in `default-language` should not make +-- `cabal build` complain. +main = cabalTest $ cabal "v2-build" ["all"] + diff --git a/cabal-testsuite/PackageTests/Regression/T8507/pkg.cabal b/cabal-testsuite/PackageTests/Regression/T8507/pkg.cabal new file mode 100644 index 0000000000000000000000000000000000000000..80fb8e284aee035fffe207e6cb6ac69a3b7f6628 --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T8507/pkg.cabal @@ -0,0 +1,14 @@ +cabal-version: 3.0 +name: pkg +synopsis: synopsis +description: description +version: 0 +category: example +maintainer: none@example.com +license: GPL-3.0-or-later + +library + exposed-modules: Foo, + build-depends: base == 4.* + default-language: Haskell2010 + -- Note whitespace after “Haskell 2010â€. diff --git a/fix-whitespace.yaml b/fix-whitespace.yaml index bbec61f156f21812ed0c1d292c2b9d1e72350b82..d96e84188b16535ada900573e6602f638daecec4 100644 --- a/fix-whitespace.yaml +++ b/fix-whitespace.yaml @@ -92,6 +92,7 @@ excluded-files: - Cabal-syntax/src/Distribution/Fields/Lexer.hs - Cabal-tests/tests/ParserTests/warnings/tab.cabal - Cabal-tests/tests/ParserTests/warnings/utf8.cabal + - cabal-testsuite/PackageTests/Regression/T8507/pkg.cabal # These also contain tabs that affect the golden value: # Could be removed from exceptions, but then the tab warning