id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
3050	parsec: bug in caret escape parsing	sof		"The parsing of escape carets in character literals isn't quite right:
 * off-by-one (i.e., \^A == \NUL; ought to be \^A=\001)
 * only A-Z carets are supported.

The following minor mod takes care of the problem:

{{{
--- Text/ParserCombinators/Parsec/Token.hs	2009-02-20 10:49:32.115500000 -0800
+++ Text/ParserCombinators/Parsec/Token.hs.~1~	2009-02-20 10:02:45.896750000 -0800
@@ -193,8 +193,8 @@
 
     -- charControl :: CharParser st Char
     charControl     = do{ char '^'
-                        ; code <- (oneOf ['@'..'_']) <|> char '?'
-                        ; return (if code == '?' then '\DEL' else toEnum (fromEnum code - fromEnum '@'))
+                        ; code <- upper
+                        ; return (toEnum (fromEnum code - fromEnum 'A'))
                         }
}}}
"	bug	closed	normal	Not GHC	libraries (other)	6.10.1	invalid		sof michal.terepeta@…	Unknown/Multiple	Unknown/Multiple	None/Unknown	Unknown				
