Hi GHC people,

I think there is a bug in hslibs/hssource/HsLexer.lhs

For the following code:

    foo = 1 Prelude.: []

The lexer mistakes the qualified constructor "Prelude.:" as a variable.

The problem is due to the use of the variable 'c' instead of the
variable 'c1' on line 290 of HsLexer.lhs

Here is a contextual diff that shows the problem code, and a fix:

Cheers,
Bernie.

--- snip here ---

*** HsLexer.lhs.broken  Wed Dec 12 19:38:40 2001
--- HsLexer.lhs Wed Dec 12 19:39:25 2001
***************
*** 287,293 ****
                            -- cannot qualify a reserved operator
                            Just _  ->
                                forward l_con (ConId con) rest
!                           Nothing -> case c of
                                        ':' -> forward (l_con+l_sym)
                                                (QConSym (con, sym)) rest1
                                        _   -> forward (l_con+l_sym)
--- 287,293 ----
                            -- cannot qualify a reserved operator
                            Just _  ->
                                forward l_con (ConId con) rest
!                           Nothing -> case c1 of
                                        ':' -> forward (l_con+l_sym)
                                                (QConSym (con, sym)) rest1
                                        _   -> forward (l_con+l_sym)

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to