Skip to content

Commit 6691f10

Browse files
snoybergborsboom
authored andcommitted
stack new always uses UTF-8 encoding
1 parent 735292a commit 6691f10

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

ChangeLog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ Bug fixes:
1616
really only wanted to disable their test suites, which was already
1717
handled by a later
1818
patch. [#2849](https://github.com/commercialhaskell/stack/issues/2849)
19+
* `stack new` always treats templates as being UTF-8 encoding,
20+
ignoring locale settings on a local machine. See
21+
[Yesod mailing list discussion](https://groups.google.com/d/msg/yesodweb/ZyWLsJOtY0c/aejf9E7rCAAJ)
1922

2023
## 1.3.0
2124

src/Stack/New.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import Control.Monad.Reader
2626
import Control.Monad.Trans.Writer.Strict
2727
import Data.Aeson
2828
import Data.Aeson.Types
29+
import qualified Data.ByteString as SB
2930
import qualified Data.ByteString.Lazy as LB
3031
import Data.Conduit
3132
import Data.Foldable (asum)
@@ -41,6 +42,7 @@ import qualified Data.Set as S
4142
import Data.Text (Text)
4243
import qualified Data.Text as T
4344
import qualified Data.Text.Encoding as T
45+
import qualified Data.Text.Encoding.Error as T (lenientDecode)
4446
import qualified Data.Text.IO as T
4547
import qualified Data.Text.Lazy as LT
4648
import Data.Time.Calendar
@@ -157,7 +159,7 @@ loadTemplate name logIt = do
157159
<> "\"")
158160
exists <- doesFileExist path
159161
if exists
160-
then liftIO (T.readFile (toFilePath path))
162+
then liftIO (fmap (T.decodeUtf8With T.lenientDecode) (SB.readFile (toFilePath path)))
161163
else throwM (FailedToLoadTemplate name (toFilePath path))
162164
relRequest :: MonadThrow n => Path Rel File -> n Request
163165
relRequest rel = parseRequest (defaultTemplateUrl <> "/" <> toFilePath rel)

0 commit comments

Comments
 (0)