diff options
| -rw-r--r-- | src/HsLexer.lhs | 19 | 
1 files changed, 9 insertions, 10 deletions
| diff --git a/src/HsLexer.lhs b/src/HsLexer.lhs index fb4447d3..dcf3ebbc 100644 --- a/src/HsLexer.lhs +++ b/src/HsLexer.lhs @@ -1,5 +1,5 @@  ----------------------------------------------------------------------------- --- $Id: HsLexer.lhs,v 1.10 2002/05/15 13:28:46 simonmar Exp $ +-- $Id: HsLexer.lhs,v 1.11 2002/05/17 10:51:57 simonmar Exp $  --  -- (c) The GHC Team, 1997-2000  -- @@ -425,6 +425,9 @@ lexCon qual cont s loc y x =      just_a_conid   	| null qual = forward l_con (ConId con) rest  	| otherwise = forward l_con (QConId (qual,con)) rest + +    qual' | null qual = con +	  | otherwise = qual ++ '.':con    in    case rest of      '.':c1:s1  @@ -437,12 +440,9 @@ lexCon qual cont s loc y x =  	case lookup id reserved_ids of  	   -- cannot qualify a reserved word  	   Just keyword -> just_a_conid -	   Nothing -> forward (l_con+1+l_id) (QVarId (con, id)) rest1 +	   Nothing -> forward (l_con+1+l_id) (QVarId (qual',id)) rest1       | isUpper c1 ->	-- qualified conid? -        let qual' | null qual = con -		  | otherwise = qual ++ '.':con -	in  	lexCon qual' cont (c1:s1) loc y (x+l_con+1)       | isSymbol c1 ->	-- qualified symbol? @@ -454,11 +454,10 @@ lexCon qual cont s loc y x =  	case lookup sym reserved_ops of  	    -- cannot qualify a reserved operator  	    Just _  -> just_a_conid -	    Nothing -> case c1 of -			':' -> forward (l_con+1+l_sym)  -				(QConSym (con, sym)) rest1 -			_   -> forward (l_con+1+l_sym) -				(QVarSym (con, sym)) rest1 +	    Nothing ->  +		case c1 of +		  ':' -> forward (l_con+1+l_sym) (QConSym (qual', sym)) rest1 +		  _   -> forward (l_con+1+l_sym) (QVarSym (qual', sym)) rest1      _ -> just_a_conid -- not a qualified thing | 
