Fix the behaviour of :history for ticks surrounding top level functions
authorpepeiborra@gmail.com <unknown>
Fri, 3 Dec 2010 20:23:46 +0000 (20:23 +0000)
committerpepeiborra@gmail.com <unknown>
Fri, 3 Dec 2010 20:23:46 +0000 (20:23 +0000)
compiler/deSugar/Coverage.lhs

index 2d8afbd..72c9e66 100644 (file)
@@ -691,7 +691,10 @@ allocATickBox :: BoxLabel -> SrcSpan -> FreeVars -> TM (Maybe (Int,[Id]))
 allocATickBox boxLabel pos fvs | isGoodSrcSpan' pos = 
   sameFileName pos 
     (return Nothing) $ TM $ \ env st ->
-  let me = (pos, declPath env, map (nameOccName.idName) ids, boxLabel)
+  let mydecl_path
+        | null (declPath env), TopLevelBox x <- boxLabel = x
+        | otherwise = declPath env
+      me = (pos, mydecl_path, map (nameOccName.idName) ids, boxLabel)
       c = tickBoxCount st
       mes = mixEntries st
       ids = occEnvElts fvs