@@ -37,11 +37,13 @@ normalizeDescription :: String -> String
3737normalizeDescription desc
3838 | null desc = []
3939 | last desc == '.' && length (filter ('.'==) desc) == 1 = normalizeDescription (reverse (tail (reverse desc)))
40− | otherwise = unwords (words desc) >>= quote
40+ | otherwise = quote (unwords (words desc))
4141
42−quote :: Char -> [Char]
43−quote '"' = "\\\""
44−quote c = [c]
42+quote :: String -> String
43+quote ('\\':c:cs) = '\\' : c : quote cs
44+quote ('"':cs) = '\\' : '"' : quote cs
45+quote (c:cs) = c : quote cs
46+quote [] = []
4547
4648normalizeList :: [String] -> [String]
4749normalizeList = nub . sortBy (\x y -> compare (map toLower x) (map toLower y))