diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y index 6ad6c6a12aecb507f59420df94c982ba81f0c147..ec3fbc5e3ff090a1205828429b94af7de0f319d5 100644 --- a/compiler/GHC/Parser.y +++ b/compiler/GHC/Parser.y @@ -4559,7 +4559,8 @@ addTrailingCommaN (L anns a) span = do return (L anns' a) addTrailingCommaS :: Located StringLiteral -> EpaLocation -> Located StringLiteral -addTrailingCommaS (L l sl) span = L l (sl { sl_tc = Just (epaLocationRealSrcSpan span) }) +addTrailingCommaS (L l sl) span + = L (widenSpan l [AddEpAnn AnnComma span]) (sl { sl_tc = Just (epaLocationRealSrcSpan span) }) -- ------------------------------------- diff --git a/utils/check-exact/ExactPrint.hs b/utils/check-exact/ExactPrint.hs index d4dc762696843982700fd55844fb63d6ad2fa05e..c96c5dfba721c6dc6b85f3da933d589642c3103f 100644 --- a/utils/check-exact/ExactPrint.hs +++ b/utils/check-exact/ExactPrint.hs @@ -652,6 +652,10 @@ printSourceText :: (Monad m, Monoid w) => SourceText -> String -> EP w m () printSourceText (NoSourceText) txt = printStringAdvance txt >> return () printSourceText (SourceText txt) _ = printStringAdvance (unpackFS txt) >> return () +printSourceTextAA :: (Monad m, Monoid w) => SourceText -> String -> EP w m () +printSourceTextAA (NoSourceText) txt = printStringAtAA (EpaDelta (SameLine 0) []) txt >> return () +printSourceTextAA (SourceText txt) _ = printStringAtAA (EpaDelta (SameLine 0) []) (unpackFS txt) >> return () + -- --------------------------------------------------------------------- printStringAtSs :: (Monad m, Monoid w) => SrcSpan -> String -> EP w m () @@ -2099,7 +2103,7 @@ instance ExactPrint StringLiteral where setAnnotationAnchor a _ _ _ = a exact l@(StringLiteral src fs mcomma) = do - printSourceText src (show (unpackFS fs)) + printSourceTextAA src (show (unpackFS fs)) mapM_ (\r -> printStringAtRs r ",") mcomma return l