@@ -142,6 +142,8 @@ literals = mkPattern' match
142 match _ = mzero
142 match _ = mzero
144 encodeChar :: Char -> String
144 encodeChar :: Char -> String
145+ encodeChar '"' = "\\\""
146+ encodeChar '\\' = "\\\\"
145 encodeChar '\r' = "\\r"
147 encodeChar '\r' = "\\r"
146 encodeChar '\n' = "\\n"
148 encodeChar '\n' = "\\n"
147 encodeChar c | fromEnum c > 0xFFF = "\\u" ++ showHex (fromEnum c) ""
149 encodeChar c | fromEnum c > 0xFFF = "\\u" ++ showHex (fromEnum c) ""