From cc3e39d1870e93924325f93a9e6cfb701f50b3d9 Mon Sep 17 00:00:00 2001 From: sewardj Date: Fri, 20 Apr 2001 10:42:46 +0000 Subject: [PATCH] [project @ 2001-04-20 10:42:46 by sewardj] merge rev 1.4.2.1 --- ghc/compiler/main/GetImports.hs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ghc/compiler/main/GetImports.hs b/ghc/compiler/main/GetImports.hs index 74dd951..28ccda8 100644 --- a/ghc/compiler/main/GetImports.hs +++ b/ghc/compiler/main/GetImports.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: GetImports.hs,v 1.4 2000/11/20 15:54:27 sewardj Exp $ +-- $Id: GetImports.hs,v 1.5 2001/04/20 10:42:46 sewardj Exp $ -- -- GHC Driver program -- @@ -34,6 +34,11 @@ getImports s = f ((mkMN m):si) ni me ws f si ni me ("tropmi" : "#-{" : "ECRUOS" : "}-#" : m : ws) = f ((mkMN m):si) ni me ws + + -- skip other contents of pragma comments + f si ni me ("#-{" : ws) + = f si ni me (drop 1 (dropWhile (/= "}-#") ws)) + f si ni me ("tropmi" : "deifilauq" : m : ws) = f si ((mkMN m):ni) me ws f si ni me ("tropmi" : m : ws) @@ -53,15 +58,13 @@ clean s where -- running through text we want to keep keep acc [] = cons acc [] - keep acc (c:cs) | isSpace c - = cons acc (keep "" cs) + keep acc (c:cs) | isSpace c = cons acc (keep "" cs) keep acc ('"':cs) = cons acc (dquote cs) -- " - -- try to eliminate single quotes when they're part of - -- an identifier... + -- don't be fooled by single quotes which are part of an identifier keep acc (c:'\'':cs) - | isAlphaNum c || c == '_' = keep acc (c:cs) + | isAlphaNum c || c == '_' = keep ('\'':c:acc) (c:cs) keep acc ('\'':cs) = cons acc (squote cs) keep acc ('-':'-':cs) = cons acc (linecomment cs) -- 1.7.10.4