patch for review: show ghci-related flags in ghci :set, :show packages, :show languages

Simon Marlow simonmarhaskell at gmail.com
Tue Oct 9 03:46:23 EDT 2007


Claus Reinke wrote:

>  this patch collects three additions to GHCi:
>  
>   - :browse!
>    a variant of :browse that lists children separately,
>    not in context, and gives import qualifiers in comments
> 
>   - :{ ..lines.. :} (multiline commands)
>    allow existing commands to be spread over multiple lines
>    to improve readability, both interactively and in .ghci
>    (includes a refactoring that unifies the previous three
>    command loops into one, runCommands, fed from cmdqueue,
>    file, or readline)
> 
>   - :set
>    now shows GHCi-specific flag settings (printing/debugger)
>   as well as non-language dynamic flag settings
>     :show languages
>    show active language flags
>     :show packages
>    show active package flags as well as implicitly loaded
>    packages

Hi Claus,

I've tested your patches - unfortunately they fail the tests for me. 
Multi-line commands apparently work via readline, but not when piped into 
stdin.  I've attached amend-recorded patches that compile with the current 
HEAD.

BTW, we also need docs for the new commands.

Cheers,
	Simon
-------------- next part --------------

New patches:

[tests for :browse!, :{:}, :set, :show languages/packages
claus.reinke at talk21.com**20071008145902] {
hunk ./tests/ghc-regress/ghci/scripts/all.T 32
-test('ghci022', normal, ghci_script, ['ghci022.script'])
+test('ghci022', normal, ghci_script, ['ghci022.script'])
+test('ghci023', normal, ghci_script, ['ghci023.script'])
+test('ghci024', normal, ghci_script, ['ghci024.script'])
+test('ghci025', normal, ghci_script, ['ghci025.script'])
+
addfile ./tests/ghc-regress/ghci/scripts/ghci023.ghci
hunk ./tests/ghc-regress/ghci/scripts/ghci023.ghci 1
+:{
+  let { a = True
+      ; b = False
+      }
+:}
+print (a,b)
+:{
+:type
+  id
+:}
addfile ./tests/ghc-regress/ghci/scripts/ghci023.script
hunk ./tests/ghc-regress/ghci/scripts/ghci023.script 1
+putStrLn "-- testing ghci multiline commands :{ .. :}"
+putStrLn "-- via stdin"
+:{
+  let 
+  { f 0 = 1
+  ; f 1 = w
+    where { w = 2 } 
+  ; y = 3
+  }
+:}
+print (f 0,f 1,y)
+:{
+:browse
+  Data.Maybe
+:}
+putStrLn "-- via readFile"
+:cmd readFile "ghci023.ghci"
addfile ./tests/ghc-regress/ghci/scripts/ghci023.stdout
hunk ./tests/ghc-regress/ghci/scripts/ghci023.stdout 1
+-- testing ghci multiline commands :{ .. :}
+-- via stdin
+(1,2,3)
+data Maybe a = Nothing | Just a
+maybe :: b -> (a -> b) -> Maybe a -> b
+isJust :: Maybe a -> Bool
+isNothing :: Maybe a -> Bool
+fromJust :: Maybe a -> a
+fromMaybe :: a -> Maybe a -> a
+maybeToList :: Maybe a -> [a]
+listToMaybe :: [a] -> Maybe a
+catMaybes :: [Maybe a] -> [a]
+mapMaybe :: (a -> Maybe b) -> [a] -> [b]
+-- via readFile
+(True,False)
+id :: a -> a
addfile ./tests/ghc-regress/ghci/scripts/ghci024.script
hunk ./tests/ghc-regress/ghci/scripts/ghci024.script 1
+:set
+:show languages
+putStrLn "-- :set -fglasgow-exts"
+:set -fglasgow-exts
+:show languages
+:show packages
+putStrLn "-- :set -package ghc"
+:set -package ghc
+:show packages
addfile ./tests/ghc-regress/ghci/scripts/ghci024.stderr
hunk ./tests/ghc-regress/ghci/scripts/ghci024.stderr 1
+package flags have changed, ressetting and loading new packages...
addfile ./tests/ghc-regress/ghci/scripts/ghci024.stdout
hunk ./tests/ghc-regress/ghci/scripts/ghci024.stdout 1
+options currently set: none.
+GHCi-specific dynamic flag settings:
+  -fno-print-explicit-foralls
+  -fprint-bind-result
+  -fno-break-on-exception
+  -fno-break-on-error
+  -fno-print-evld-with-show
+other dynamic, non-language, flag settings:
+  -fno-warn-dodgy-imports
+  -fwarn-duplicate-exports
+  -fno-warn-hi-shadowing
+  -fno-warn-implicit-prelude
+  -fno-warn-incomplete-patterns
+  -fno-warn-incomplete-record-updates
+  -fwarn-missing-fields
+  -fwarn-missing-methods
+  -fno-warn-missing-signatures
+  -fno-warn-name-shadowing
+  -fwarn-overlapping-patterns
+  -fno-warn-simple-patterns
+  -fno-warn-type-defaults
+  -fno-warn-monomorphism-restriction
+  -fno-warn-unused-binds
+  -fno-warn-unused-imports
+  -fno-warn-unused-matches
+  -fwarn-deprecations
+  -fno-warn-orphans
+  -fno-warn-tabs
+  -fno-strictness
+  -fno-full-laziness
+  -fno-liberate-case
+  -fno-spec-constr
+  -fno-cse
+  -fignore-interface-pragmas
+  -fomit-interface-pragmas
+  -fdo-lambda-eta-expansion
+  -fno-ignore-asserts
+  -fno-ignore-breakpoints
+  -fno-do-eta-reduction
+  -fno-case-merge
+  -fno-unbox-strict-fields
+  -fno-dicts-cheap
+  -fno-excess-precision
+  -fasm-mangling
+  -fno-force-recomp
+  -fno-hpc-no-auto
+  -fno-rewrite-rules
+  -fno-run-cps
+  -fno-convert-to-zipper-and-back
+  -fno-vectorise
+  -fno-regs-graph
+  -fno-regs-iterative
+  -fgen-manifest
+  -fembed-manifest
+active language flags:
+  -XImplicitPrelude
+  -XMonomorphismRestriction
+  -XMonoPatBinds
+-- :set -fglasgow-exts
+active language flags:
+  -XPatternGuards
+  -XUnicodeSyntax
+  -XMagicHash
+  -XPolymorphicComponents
+  -XExistentialQuantification
+  -XKindSignatures
+  -XPatternSignatures
+  -XEmptyDataDecls
+  -XParallelListComp
+  -XForeignFunctionInterface
+  -XUnliftedFFITypes
+  -XPartiallyAppliedClosedTypeSynonyms
+  -XRankNTypes
+  -XTypeOperators
+  -XRecursiveDo
+  -XImplicitPrelude
+  -XGADTs
+  -XTypeFamilies
+  -XMonomorphismRestriction
+  -XMonoPatBinds
+  -XRelaxedPolyRec
+  -XImplicitParams
+  -XScopedTypeVariables
+  -XUnboxedTuples
+  -XStandaloneDeriving
+  -XDeriveDataTypeable
+  -XTypeSynonymInstances
+  -XFlexibleContexts
+  -XFlexibleInstances
+  -XConstrainedClassMethods
+  -XMultiParamTypeClasses
+  -XFunctionalDependencies
+  -XGeneralizedNewtypeDeriving
+active package flags: none
+packages currently loaded:
+  base
+  rts
+-- :set -package ghc
+active package flags:
+  -package ghc
+packages currently loaded:
+  ghc-6.9.20070917
+  haskell98
+  random-1.0
+  Cabal-1.2.0
+  process-1.0
+  Win32-2.1
+  template-haskell
+  packedstring-0.1
+  pretty-1.0
+  bytestring-0.9
+  hpc-0.5
+  containers-0.1
+  array-0.1
+  directory-1.0
+  filepath-1.0
+  old-time-1.0
+  old-locale-1.0
+  base
+  rts
addfile ./tests/ghc-regress/ghci/scripts/ghci025.hs
hunk ./tests/ghc-regress/ghci/scripts/ghci025.hs 1
+
+{-# OPTIONS_GHC -fglasgow-exts #-}
+{-# OPTIONS_GHC -fglasgow-exts #-}
+
+module T where
+
+import qualified Prelude as T(length,Monad)
+import qualified Data.ByteString as T(length)
+import Prelude(length,(+),(=<<),Monad(..),Maybe(..),Eq)
+import Data.Maybe
+import Control.Monad(Monad(..),MonadPlus(..))
+
+length = 0
+
+class N a
+class S a
+
+class C a b where
+  c1 :: N b => a -> b
+  c2 :: (N b,S b) => a -> b
+  c3 :: forall a. a -> b
+  c4 :: a1 -> b
+
addfile ./tests/ghc-regress/ghci/scripts/ghci025.script
hunk ./tests/ghc-regress/ghci/scripts/ghci025.script 1
+:l ghci025
+-- test :browse! functionality
+:browse! *T
+:browse! T
+:set -fglasgow-exts
+:browse! T
+
addfile ./tests/ghc-regress/ghci/scripts/ghci025.stdout
hunk ./tests/ghc-regress/ghci/scripts/ghci025.stdout 1
+-- imported from Data.Maybe, Prelude
+Nothing :: Maybe a
+Just :: a -> Maybe a
+-- imported from Control.Monad, Prelude
+fail :: (Monad m) => GHC.Base.String -> m a
+(>>=) :: (Monad m) => m a -> (a -> m b) -> m b
+(>>) :: (Monad m) => m a -> m b -> m b
+return :: (Monad m) => a -> m a
+-- imported from Prelude
+(=<<) :: (Monad m) => (a -> m b) -> m a -> m b
+-- imported from Data.Maybe
+maybe :: b -> (a -> b) -> Maybe a -> b
+-- defined locally
+T.length :: GHC.Num.Integer
+-- imported from Prelude, T
+Prelude.length :: [a] -> GHC.Base.Int
+-- imported from T
+T.length :: Data.ByteString.Internal.ByteString -> GHC.Base.Int
+-- imported from Prelude
+(+) :: (GHC.Num.Num a) => a -> a -> a
+-- defined locally
+c1 :: (C a b, N b) => a -> b
+c2 :: (C a b, N b, S b) => a -> b
+c3 :: (C a b) => a1 -> b
+c4 :: (C a b) => a1 -> b
+-- imported from Data.Maybe
+catMaybes :: [Maybe a] -> [a]
+fromJust :: Maybe a -> a
+fromMaybe :: a -> Maybe a -> a
+isJust :: Maybe a -> GHC.Base.Bool
+isNothing :: Maybe a -> GHC.Base.Bool
+listToMaybe :: [a] -> Maybe a
+mapMaybe :: (a -> Maybe b) -> [a] -> [b]
+maybeToList :: Maybe a -> [a]
+-- imported from Control.Monad
+mzero :: (MonadPlus m) => m a
+mplus :: (MonadPlus m) => m a -> m a -> m a
+-- imported from Data.Maybe, Prelude
+data Maybe a = Nothing | Just a
+-- imported from Control.Monad, Prelude, T
+class Monad m where
+  (>>=) :: m a -> (a -> m b) -> m b
+  (>>) :: m a -> m b -> m b
+  return :: a -> m a
+  fail :: GHC.Base.String -> m a
+-- imported from Prelude
+class Eq a where
+  (GHC.Base.==) :: a -> a -> GHC.Base.Bool
+  (GHC.Base./=) :: a -> a -> GHC.Base.Bool
+-- imported from Control.Monad
+class (Monad m) => MonadPlus m where
+  mzero :: m a
+  mplus :: m a -> m a -> m a
+-- defined locally
+class N a
+class S a
+class C a b where
+  c1 :: (N b) => a -> b
+  c2 :: (N b, S b) => a -> b
+  c3 :: a1 -> b
+  c4 :: a1 -> b
+-- defined locally
+T.length :: Integer
+class C a b where
+  c1 :: (N b) => a -> b
+  c2 :: (N b, S b) => a -> b
+  c3 :: a1 -> b
+  c4 :: a1 -> b
+c1 :: (C a b, N b) => a -> b
+c2 :: (C a b, N b, S b) => a -> b
+c3 :: (C a b) => a1 -> b
+c4 :: (C a b) => a1 -> b
+class S a
+class N a
+-- defined locally
+T.length :: Integer
+class C a b where
+  c1 :: (N b) => a -> b
+  c2 :: (N b, S b) => a -> b
+  c3 :: forall a1. a1 -> b
+  c4 :: forall a1. a1 -> b
+c1 :: forall a b. (C a b, N b) => a -> b
+c2 :: forall a b. (C a b, N b, S b) => a -> b
+c3 :: forall a b. (C a b) => forall a1. a1 -> b
+c4 :: forall a b. (C a b) => forall a1. a1 -> b
+class S a
+class N a
}

Context:

[add test for #1734
Simon Marlow <simonmar at microsoft.com>**20070926100425] 
[add tests for #1748
Simon Marlow <simonmar at microsoft.com>**20071008131420] 
[TypeFamilies: should_compile/GADT3 fixed
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20071001154709] 
[TypeFamilies: should_compile/Simple20
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070929140208] 
[TypeFamilies: should_compile/Simple19 (from #1729)
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070929122457] 
[Test for Trac #1746
simonpj at microsoft.com**20070929102000] 
[TypeFamilies: test boxy splitters
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070928225409] 
[test case for #1743
Simon Marlow <simonmar at microsoft.com>**20070927145830] 
[updates to hReady001 (see comments in all.T)
Simon Marlow <simonmar at microsoft.com>**20070926161540] 
[driver027/driver028 need to use -fvia-C to expose a bug in -stubdir
Simon Marlow <simonmar at microsoft.com>**20070926134607] 
[Pass -ignore-dot-ghci to GHCi
Simon Marlow <simonmar at microsoft.com>**20070926115751] 
[GADT3: expect failure on the HEAD too (and add a ticket)
Simon Marlow <simonmar at microsoft.com>**20070926115138] 
[getTestDir() is slightly better than in_testdir('')
Simon Marlow <simonmar at microsoft.com>**20070926110920] 
[Add a test (pragma001) for #1736
Ian Lynagh <igloo at earth.li>**20070925224226] 
[Fix ffi018(ghci) when running from a different directory to the test
Ian Lynagh <igloo at earth.li>**20070923122027] 
[add expect_fail_ways_if_compiler_lt()
Simon Marlow <simonmar at microsoft.com>**20070926105327
 somehow I forgot to add this yesterday, I'm mystified about where it went..
] 
[fix framework failures
Simon Marlow <simonmar at microsoft.com>**20070926104206] 
[expect failure when using the NCG on x86 due to floating point differences
Simon Marlow <simonmar at microsoft.com>**20070926093642] 
[ind2: expect fail for profc/profasm on the 6.8 branch
Simon Marlow <simonmar at microsoft.com>**20070925140351] 
[Simple12: expect failure on the 6.8 branch
Simon Marlow <simonmar at microsoft.com>**20070925140241] 
[GADT3: expect success for profc/profasm on the 6.8 branch
Simon Marlow <simonmar at microsoft.com>**20070925140111] 
[GMapAssoc, GMapTop: expect failures on the 6.8 branch
Simon Marlow <simonmar at microsoft.com>**20070925135758] 
[FIX #1254: avoid calling truncate when the result does not fit in the target type
Simon Marlow <simonmar at microsoft.com>**20070925123540] 
[expect success for arith008(profasm) on x86
Simon Marlow <simonmar at microsoft.com>**20070925120429] 
[Add a test for changes to C files causing relinking
Ian Lynagh <igloo at earth.li>**20070923181558] 
[tc236 fails for 6.8
Ian Lynagh <igloo at earth.li>**20070923162522] 
[Various testsuite helper functions like expect_broken_if_compiler_ge
Ian Lynagh <igloo at earth.li>**20070921005354] 
[Failing tyfam test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070921041204
 
 This one actually generates completely bogus Core which doesn't pass CoreLint.
] 
[Tests for Trac #1627 and #1718
simonpj at microsoft.com**20070920122829] 
[Add comment
simonpj at microsoft.com**20070920065617] 
[Add test for exponential behaviour of type synonyms
simonpj at microsoft.com**20070920065553] 
[Rename flag
simonpj at microsoft.com**20070919171423] 
[Enhance tc236 slightly
simonpj at microsoft.com**20070919143759] 
[Typechecker: tc237 (#1688)
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070919150347] 
[TyepFamilies: should_compile/Simple16 (#1713)
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070919121905] 
[Yet another failing TypeFamilies test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070919050412
 
 This is actually a regression introduced by one of the recent patches. It used
 to work!
] 
[some expected outputs on openbsd
Don Stewart <dons at galois.com>**20070917002956] 
[Different output expected for this test on x86_64-unknown-openbsd
Don Stewart <dons at galois.com>**20070916233735] 
[TypeFamilies: fixed Simple12
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070916130308] 
[Changed error message
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070915132236] 
[InstEqContext2 fails now
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070915075117
 - This test fails with the overhauled rewrite rules.  This is (judging from
   -ddump-tc-trace) not because the new rules implementation goes wrong, but
   because the old implementation left out some improvement and hence passed
   this test by accident.
] 
[Test nested forall types (thanks to Claus)
simonpj at microsoft.com**20070914120121] 
[Test display of types in GHCi
simonpj at microsoft.com**20070914092550] 
[Add failing TypeFamilies test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070914001844] 
[Accept output due to :print not using Show instances anymore
Pepe Iborra <mnislaih at gmail.com>**20070913104048] 
[GHCi debugger: add a test exercising -fprint-evld-with-show
Pepe Iborra <mnislaih at gmail.com>**20070913104044] 
[in test case for #1689, close files, just in case
Tim Chevalier <chevalier at alum.wellesley.edu>**20070913070713] 
[Test case for #1689 (openTempFile naming)
Tim Chevalier <chevalier at alum.wellesley.edu>**20070913065837] 
[eliminate ordering constraints
Simon Marlow <simonmar at microsoft.com>**20070913102520] 
[remove one more ordering dependency
Simon Marlow <simonmar at microsoft.com>**20070913095146] 
[remove ordering dependencies (see bug #158)
Simon Marlow <simonmar at microsoft.com>**20070913092236] 
[Allow files-to-cleanup to be attached to a test using extra_clean(files)
Simon Marlow <simonmar at microsoft.com>**20070913090215
 This is better than a top-level clean() when using threads
] 
[remove ordering dependency
Simon Marlow <simonmar at microsoft.com>**20070913090120] 
[remove read001 -fglasgow-extss, it messed up THREADS=N and -fglasgow-exts is deprecated anyway
Simon Marlow <simonmar at microsoft.com>**20070913083621] 
[remove ordering dependency for ffi018
Simon Marlow <simonmar at microsoft.com>**20070913082740] 
[i386/Linux output
Simon Marlow <simonmar at microsoft.com>**20070913080642] 
[a test to show that multiple calls correctly share a return address
Norman Ramsey <nr at eecs.harvard.edu>**20070911214518
 to see the optimization at work, compile cps027.cmm with
   -fconvert-to-zipper-and-back -frun-cps
] 
[Avoid Dyn exceptions in break024
Pepe Iborra <mnislaih at gmail.com>**20070912094254
 
 This ensures predictable output (when using :print) in any case
 
] 
[TypeFamilies: added test exercising skolemOccurs
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070911024751] 
[Accept output for break024
Pepe Iborra <mnislaih at gmail.com>**20070911151531
 
 :print no longer shows the contents of TypeRep values
 
] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070911103139] 
[Simplified break025 to better illustrate the problem,
Pepe Iborra <mnislaih at gmail.com>**20070911103039
 and marked it as failing under ticket #1681
 
] 
[Added tests break024 and break025 
Pepe Iborra <mnislaih at gmail.com>**20070907103330
 for -fbreak-on-error and -fbreak-on-exception
] 
[comments
Simon Marlow <simonmar at microsoft.com>**20070911115943] 
[TypeFamilies: change of error messages due to changed traversal order
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070910105621
 - Just the usual indeterminism in HM.  The messages are neither better nor
   worse.
] 
[add test for #1677
Simon Marlow <simonmar at microsoft.com>**20070911090101] 
[#1669, these tests work now
Pepe Iborra <mnislaih at gmail.com>**20070910145827] 
[Only run the tests from libraries that we have built
Ian Lynagh <igloo at earth.li>**20070907182043
 Fixes failures when you have unbuilt libraries in your validate tree.
] 
[And another failing tyfam test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070910064951] 
[Yet another failing type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070910054249
 
 Can't let Tom and Manuel catch up!
] 
[Two more failing type families tests
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070907170232] 
[Accept improved error messages for some tcfail tests
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070907125223] 
[Simple9 is fixed
Tom Schrijvers <tom.schrijvers at cs.kuleuven.be>**20070906171931] 
[TypeFamilies: fixed Simple14 and added Simple15
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070907101616] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070910124502] 
[this test should unregister the test packages afterward (fixes driver063)
Simon Marlow <simonmar at microsoft.com>**20070907151611] 
[break020 and break021 underline things in the wrong place; trac #1669
Ian Lynagh <igloo at earth.li>**20070906183806] 
[Accept some output
Ian Lynagh <igloo at earth.li>**20070906180831] 
[Fixup bytestring tests to work with current QuickCheck and bytestring
Duncan Coutts <duncan at haskell.org>**20070906224533
 Sadly requires that the internal Fusion module be exported from the
 bytestring package which is bad because that's not supposed to be part
 of the public api as we're just about to replace all the fusion internals.
] 
[Set os.environ['TERM'] = 'vt100' before running tests
Ian Lynagh <igloo at earth.li>**20070906111420
 Readline sometimes spews out ANSI escapes for some values of TERM,
 which result in test failures.
] 
[TypeFamilies: GADT8 is fixed
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070906115917] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070906104635] 
[Adapt test to new restrictions on type families
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070906031023] 
[Track changes in deriving
simonpj at microsoft.com**20070905170000] 
[A further failing type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070905140657] 
[test for bug #1465 (12 files, phew)
Simon Marlow <simonmar at microsoft.com>**20070906093345] 
[add test for qualified name printing
Simon Marlow <simonmar at microsoft.com>**20070906092814] 
[And another failing type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070905094548] 
[this test works now
Simon Marlow <simonmar at microsoft.com>**20070905102055] 
[Test now works
Simon Marlow <simonmar at microsoft.com>**20070905095825] 
[Yet another failing type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070905072057] 
[Another failing type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070905053953] 
[Add dummy stderr file for panic test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070905014627] 
[tests for type family completion algorithm and higher order types
Tom Schrijvers <tom.schrijvers at cs.kuleuven.be>**20070904123638] 
[recursive equational class context
Tom Schrijvers <tom.schrijvers at cs.kuleuven.be>**20070904082041] 
[equational class context
Tom Schrijvers <tom.schrijvers at cs.kuleuven.be>**20070904075739
 expect_fail is now normal because of bug fix
] 
[Add a test num014 for #1658: CSE [of Doubles] changes semantics
Ian Lynagh <igloo at earth.li>**20070904134026] 
[conc057 and conc068 have moved to the parallel package
Simon Marlow <simonmar at microsoft.com>**20070904112622] 
[omit tcrun022(ghci), since it relies on optimisation
Simon Marlow <simonmar at microsoft.com>**20070904111350] 
[make config.top an absolute path
Simon Marlow <simonmar at microsoft.com>**20070904111018] 
[equality constraint encoding of functional dependency
Tom Schrijvers <tom.schrijvers at cs.kuleuven.be>**20070903100053
 where the FD's LHS is empty:
 
 	class C a | -> a
 
 The direct solution InstEqContext does not compile, but it probably should.
 There's an indirect solution InstEqContext2 which does work.
 
] 
[arrowcase1 is now fixed
Ian Lynagh <igloo at earth.li>**20070903202148
 By:
 Mon Sep  3 07:10:44 PDT 2007  Ross Paterson <ross at soi.city.ac.uk>
   * FIX for #1080
 
   Arrow desugaring now uses a private version of collectPatBinders and
   friends, in order to include dictionary bindings from ConPatOut.
] 
[add missing file
Simon Marlow <simonmar at microsoft.com>**20070904081814] 
[add test for #1648
Simon Marlow <simonmar at microsoft.com>**20070903143046] 
[don't try to run hp2ps if the program failed with exit(>127)
Simon Marlow <simonmar at microsoft.com>**20070903135513] 
[add 64-bit output
Simon Marlow <simonmar at microsoft.com>**20070903115437] 
[Test for type families related panic
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070903054450
 
 The test program should be rejected but not with a panic. I haven't added a
 .stderr file because I don't know what the error message should be.
] 
[Failing type families/GADT test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070903053249] 
[Add a failing type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070903052641] 
[Tom Schrijvers' type family tests
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070831120431] 
[TypeFamilies: Numerals test
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070831065628] 
[Fix outofmem on MacOS
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070903030211
 
 The error message is different
] 
[add test for out-of-memory
Simon Marlow <simonmar at microsoft.com>**20070831084445] 
[skip readwrite002 on Windows, it now hangs following fix to inputReady.c
Simon Marlow <simonmar at microsoft.com>**20070830131300] 
[TypeFamilies: accept some slightly improved error messages
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070830223035] 
[TypeFamilies: test for decidable tyfam instances
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070830144724] 
[Add a new RTTI test
Pepe Iborra <mnislaih at gmail.com>**20070829182100] 
[Marked as expected failures for now
Pepe Iborra <mnislaih at gmail.com>**20070830102439] 
[Add two new tests for the debuggger involving .boot modules
Pepe Iborra <mnislaih at gmail.com>**20070830093423] 
[Adapting some breakXYZ tests to sorted output
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070830011021] 
[Add a test for #1375 (ByteString’s “lines” eats empty lines)
Ian Lynagh <igloo at earth.li>**20070829174618] 
[Accept slightly different output in some breakXYZ tests
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070829072143] 
[adjust some tests
Pepe Iborra <mnislaih at gmail.com>**20070829085735] 
[Remove an old readme-like file
Pepe Iborra <mnislaih at gmail.com>**20070829085712] 
[fix this test on Windows
Simon Marlow <simonmar at microsoft.com>**20070829090202] 
[Added tests for :steplocal and :stepmodule
Pepe Iborra <mnislaih at gmail.com>**20070828115403] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070828103240] 
[Aad test break020 for :stepover
Pepe Iborra <mnislaih at gmail.com>*-20070814164406] 
[add test for #1593
Simon Marlow <simonmar at microsoft.com>**20070828102508] 
[cc013 works now
Simon Marlow <simonmar at microsoft.com>**20070828102433] 
[TypeFamilies: check arity of type instances
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070828065551] 
[Changes necessary for type family patch
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070828055140
 - Mostly changed error messages
 - 'while' needs another type annotation due to changed rules as to what
   annotations are required for GADTs.
] 
[Revert a hack now that the buildds will make a gcc-lib directory on Windows
Ian Lynagh <igloo at earth.li>**20070826133900] 
[tcrun021 needs -package containers
Ian Lynagh <igloo at earth.li>**20070826125805] 
[dynamic002 needs -package packedstring now
Ian Lynagh <igloo at earth.li>**20070826124918] 
[conc068 needs parallel
Ian Lynagh <igloo at earth.li>**20070826123041] 
[conc057 needs the parallel library
Ian Lynagh <igloo at earth.li>**20070826122117] 
[Update array test output
Ian Lynagh <igloo at earth.li>**20070826120644
 Unfortunately safeIndex is too polymorphic to be able to show the index
 or the bounds when we have a bad index.
] 
[Update tests now that #1384 is fixed
Ian Lynagh <igloo at earth.li>**20070826013926
 #1384 = Exporting a module that isn't imported doesn't fail
] 
[Fix the expected output for derefnull and divbyzero on Windows
Ian Lynagh <igloo at earth.li>**20070824215351] 
[fix syntax errors
Simon Marlow <simonmar at microsoft.com>**20070823143236] 
[count a syntax error in a .T file as a framework failure
Simon Marlow <simonmar at microsoft.com>**20070823142714] 
[Windows-specific output no longer required
Simon Marlow <simonmar at microsoft.com>**20070823111653] 
[getDirContents001 needs -fno-gen-manifest
Simon Marlow <simonmar at microsoft.com>**20070822075924] 
[Stop the timeout calibration ever returning 0
Ian Lynagh <igloo at earth.li>**20070821135055] 
[A couple more GADT/type families tests
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070821020029] 
[Another type families/gadt test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070820034301] 
[Type families: adapt to improved error messages
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070820022251] 
[Type families: Infix works now
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070819114220] 
[Another type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070820020658] 
[Type families: "Kind" is now working
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070819072814] 
[Add a test ghci021 for trac #1565
Ian Lynagh <igloo at earth.li>**20070818152229] 
[Add a test ghci020 for trac #1587
Ian Lynagh <igloo at earth.li>**20070818151943] 
[Two more indexed types tests
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070817070131] 
[Types families: Refl suceeds without tyfam patch
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070816102443] 
[Synonym family problem with higher-kinded families
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070816101137] 
[Accept output due to changes in :history
Pepe Iborra <mnislaih at gmail.com>**20070814164438] 
[Aad test break020 for :stepover
Pepe Iborra <mnislaih at gmail.com>**20070814164406] 
[Added a new :print test
Pepe Iborra <mnislaih at gmail.com>**20070712135224] 
[Another indexed types testcase
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070814025630
 
 It exhibits a regression in the type functions patch.
] 
[Document and fix expected failure code for derefnull and divbyzero
Ian Lynagh <igloo at earth.li>**20070812133550] 
[Follow the base split
Ian Lynagh <igloo at earth.li>**20070803180545] 
[Update the bytestring tests for the bytestring package
Ian Lynagh <igloo at earth.li>**20070728221246] 
[Update standalone deriving test, and add a failure test
Ian Lynagh <igloo at earth.li>**20070810223439] 
[Accept changes (mostly paren removal)
Ian Lynagh <igloo at earth.li>**20070810194402] 
[Test Trac #1606
simonpj at microsoft.com**20070810090346] 
[Another indexed type families test
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070810042859
 
 As before, this is against a patch which isn't in the HEAD yet.
] 
[Tests for indexed type synonyms
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070810034436
 
 The tests expose bugs in an implementation of indexed type families which
 hasn't been pushed to the HEAD yet. They are all marked as expect_fail.
] 
[FIX ghci019
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070810014947
 
 Wrong line numbers in expected output
] 
[Trac #736 is fixed
simonpj at microsoft.com**20070809115038] 
[Test for Trac #1037
simonpj at microsoft.com**20070804174231
 
] 
[Test for Trac #1581
simonpj at microsoft.com**20070804173506] 
[Use -XGADTs rather than -X=GADTs
Ian Lynagh <igloo at earth.li>**20070804211442] 
[Follow flag changes
Ian Lynagh <igloo at earth.li>**20070804202839] 
[Add tests for catching exceptions on Windows
Ian Lynagh <igloo at earth.li>**20070803183530] 
[Add exit_code_if_platform functions to the testlib
Ian Lynagh <igloo at earth.li>**20070803183449] 
[Docs have moved to the wiki
Ian Lynagh <igloo at earth.li>**20070803123118] 
[cabal01: we need --with-ld=$(LD) for Windows
Simon Marlow <simonmar at microsoft.com>**20070803075231] 
[Define and use rawSystem in the testsuite driver and the driver tests
Ian Lynagh <igloo at earth.li>**20070802223037
 spawnlp doesn't exist in Windows, so this avoids using it.
] 
[Add "composes" to the driver docs
Ian Lynagh <igloo at earth.li>**20070802170508] 
[Testsuite driver doc updates
Ian Lynagh <igloo at earth.li>**20070802170343] 
[Add test for record wildcards
simonpj at microsoft.com**20070802112227] 
[Update (previously buggy) output
simonpj at microsoft.com**20070802111053] 
[Update expected output
simonpj at microsoft.com**20070802102954] 
[add test for part of #1372
Simon Marlow <simonmar at microsoft.com>**20070801153944] 
[Add test for Trac #1564
simonpj at microsoft.com**20070801132235] 
[The galois_raytrace test requires the parsec package
Ian Lynagh <igloo at earth.li>**20070727145721] 
[skip read023 (see #1215 and comment in all.T)
Simon Marlow <simonmar at microsoft.com>**20070724130810] 
[Add a test for copyFile
Ian Lynagh <igloo at earth.li>**20070722133715] 
[Tell the testsuite what exeext is
Ian Lynagh <igloo at earth.li>**20070721224708] 
[Fix cabal01 to work on Windows
Ian Lynagh <igloo at earth.li>**20070721215854] 
[Share the pwd program between tests
Ian Lynagh <igloo at earth.li>**20070721215816] 
[Make a non-profiling version of test cabal01
Ian Lynagh <igloo at earth.li>**20070721133457] 
[Really remove an obsolete test (print015)
Pepe Iborra <mnislaih at gmail.com>**20070720070312] 
[Add a test for trac #1322 (ghc --make recompiles hs-boot files unnecessarily)
Ian Lynagh <igloo at earth.li>**20070719112628] 
[Fix the haddock tests when going via C
Ian Lynagh <igloo at earth.li>**20070719000840
 We need to have a header which claims the foreign imports we do are
 for entities that actually exist. Otherwise the C compiler complains.
] 
[maessen_hashtab is broken (trac #1546)
Ian Lynagh <igloo at earth.li>**20070718125422] 
[Skip the GHCi debugger tests when unregisterised (trac #1545)
Ian Lynagh <igloo at earth.li>**20070718122042] 
[Adding compile_and_run_with_prefix and multimod_compile_and_run_with_prefix as test-fns.
andy at galois.com**20070718045107] 
[Update drvfail008 output (flag name change)
Ian Lynagh <igloo at earth.li>**20070717014132] 
[Skip the concio tests when fast, as we don't really want to hang around for 2s
Ian Lynagh <igloo at earth.li>**20070717013425] 
[Bump the delay for concio from 0.45 to 1s
Ian Lynagh <igloo at earth.li>**20070717013241
 It wasn't long enough on thorkil's Mac. Should really do something based
 on the calibration value or something, I guess.
] 
[Skip break017 if fast (bit of a hack; just to make the validate script work)
Ian Lynagh <igloo at earth.li>**20070714224728] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070714155344] 
[Add a test for bug 1533 (currently broken)
Ian Lynagh <igloo at earth.li>**20070713131013] 
[dynbrk005: update with expected output
Pepe Iborra <mnislaih at gmail.com>**20070713110121
 
 The test is still expected to fail, as there is some 
 implementation work to be done here
 
] 
[break014: accept output and unfail
Pepe Iborra <mnislaih at gmail.com>**20070713103724] 
[remove an obsolete test
Pepe Iborra <mnislaih at gmail.com>**20070712100713
 
 The script was using Data.Set to test handling of unboxed fields by :print,
 but some change in Data.Set or in ghc has made fromList more strict and 
 the :print pprinter never gets to show the unboxed fields itself.
 Moreover, print022 is a much better test for unboxed fields than this one
 
] 
[concio001: give the process a tiny little bit more time in the Makefile
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070713042705
 - Although the test passed when run by itself, it did sometimes fail
   with validate as the timing just didn't work out on a loaded machine.
] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070712085231] 
[Unfail some :print tests
Pepe Iborra <mnislaih at gmail.com>**20070711102423] 
[ffi012: stdcall doesn't work on MacOS #1524
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070711101641] 
[concio001: account for constant overhead of threadDelay on MacOS
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070711092149
 - See also #1523
] 
[Follow error message changes
Ian Lynagh <igloo at earth.li>**20070710152155] 
[Remove tcfail111; duplicate of tcfail098
Ian Lynagh <igloo at earth.li>**20070709215509] 
[Tweak tcfail098; we aren't interested in the undecidability error
Ian Lynagh <igloo at earth.li>**20070709215427] 
[Add a test for -XPartiallyAppliedClosedTypeSynonyms
Ian Lynagh <igloo at earth.li>**20070709181508] 
[add test for #1505
Simon Marlow <simonmar at microsoft.com>**20070709210632] 
[Fix this test to work with shells that don't have {..} globbing
Simon Marlow <simonmar at microsoft.com>**20070709200946
 e.g. the /bin/sh on my Ubuntu 7.04 system
] 
[Accept output (more flag name changes)
Ian Lynagh <igloo at earth.li>**20070709165029] 
[Add tests for -XPolymorphicComponents
Ian Lynagh <igloo at earth.li>**20070709120331] 
[readwrite002 is expect_broken_if_platform(1198,'i386-unknown-mingw32')
Simon Marlow <simonmar at microsoft.com>**20070709113801] 
[reqlib now uses subprocess (when it's available)
Ian Lynagh <igloo at earth.li>**20070709105014
 Fixes a problem where /dev/null doesn't exist on mingw.
] 
[Accept output (following error message changes)
Ian Lynagh <igloo at earth.li>**20070708193947] 
[Tests for -XFunctionalDependencies
Ian Lynagh <igloo at earth.li>**20070708153251] 
[Add tests for -XRecursiveDo
Ian Lynagh <igloo at earth.li>**20070708150546] 
[Tests for -XGeneralizedNewtypeDeriving
Ian Lynagh <igloo at earth.li>**20070708144456] 
[Add tests for -XParallelListComp
Ian Lynagh <igloo at earth.li>**20070708134210] 
[Add tests for -XMultiParamTypeClasses
Ian Lynagh <igloo at earth.li>**20070708122732] 
[Tests for KindSignatures
Ian Lynagh <igloo at earth.li>**20070708120837] 
[Tests for EmptyDataDecls extension
Ian Lynagh <igloo at earth.li>**20070708112938] 
[Add tests for magic hashes (trac #1297)
Ian Lynagh <igloo at earth.li>**20070708110956] 
[Fix calibrate python script for non-UNIX machines
Ian Lynagh <igloo at earth.li>**20070707213542] 
[Fall back to os.spawnv is we don't have the subprocess module
Ian Lynagh <igloo at earth.li>**20070707212648] 
[Add a test for -fdisambiguate-record-fields (trac #1401)
Ian Lynagh <igloo at earth.li>**20070707183413] 
[tcfail093 now succeeds, so has no stderr
Ian Lynagh <igloo at earth.li>**20070707102012] 
[tc232 requires mtl
Ian Lynagh <igloo at earth.li>**20070707101215] 
[make prof001 and prof002 into compile_and_run tests, to test #1472
Simon Marlow <simonmar at microsoft.com>**20070707191638] 
[Use subprocess.call rather than os.spawnv in the testsuite driver
Ian Lynagh <igloo at earth.li>**20070706121450
 os.spawnv is broken on non-cygwin Windows (looks like it goes via a shell).
] 
[drv015 should fial
simonpj at microsoft.com**20070706095331] 
[tcfail093 should succeed
simonpj at microsoft.com**20070706094731] 
[Added tests for Cmm and CPS (they are currently skipped)
Michael D. Adams <t-madams at microsoft.com>**20070706092548
 Also the test driver doesn't understand 'cmm' files
 so something will have to be written before these tests
 can even run.
] 
[tcfail140 is expect_broken(451)
Simon Marlow <simonmar at microsoft.com>**20070706081157] 
[ffi-deriv1 is broken(736)
Simon Marlow <simonmar at microsoft.com>**20070705140311] 
[Add test for Trac #1494
simonpj at microsoft.com**20070704215436] 
[fix testblockalloc for THREADS=2
Simon Marlow <simonmar at microsoft.com>**20070704154139] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070704135029] 
[gadt23: $MAKE needs --no-print-directory
Simon Marlow <simonmar at microsoft.com>**20070704134516] 
[add test for #1131
Simon Marlow <simonmar at microsoft.com>**20070704104931] 
[Test for Trac #1456
simonpj at microsoft.com**20070703161621] 
[don't reset MAKEFLAGS in recursive make in 'make fast'
Simon Marlow <simonmar at microsoft.com>**20070703123426
 It breaks some tests on Windows, because the stage=2 setting is lost
 in the recursive call.  I don't understand why these variables are
 passed in MAKEFLAGS on Windows (cygwin) but not on Unix, something to
 do with environment variables presumably.
] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070703105758] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070703103912] 
[Update output
simonpj at microsoft.com**20070629161308] 
[Add test for Trac #1465
simonpj at microsoft.com**20070629115325] 
[Type families: more overlap checks
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070629071438] 
[Type families: test type family with higher kinded parameters
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070629065523] 
[Type families: tests excluding type families in left hand sides
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070629064019] 
[Type families: test for tau typeness of rhs of type instances
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070629052042] 
[Type families: tests for overlap check of type families
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070629043820] 
[Add test for Trac #1445
simonpj at microsoft.com**20070628083059] 
[Types families: test that the right coercion names go into ifaces
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070627104656] 
[Type families: add test case for deriving of assoc data families
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070627055147] 
[add prof_hb way
Simon Marlow <simonmar at microsoft.com>**20070627090524] 
[clean up the extra_ways machinery
Simon Marlow <simonmar at microsoft.com>**20070627090515] 
[add the profiling ways to config.other_ways
Simon Marlow <simonmar at microsoft.com>**20070627084700] 
[make this test a bit more robust (hopefully)
Simon Marlow <simonmar at microsoft.com>**20070626092843] 
[Add a test (tc229) for trac #1406
Ian Lynagh <igloo at earth.li>**20070624191431] 
[Add a test for trac #1287: SPECIALIZE causes panic
Ian Lynagh <igloo at earth.li>**20070624172733] 
[Allow the "< /dev/null" when running tests to be disabled
Ian Lynagh <igloo at earth.li>**20070623205213
 The user001 test in the unix package can fail when stdin comes from a
 file.
] 
[Accept output (tcfail145)
Ian Lynagh <igloo at earth.li>**20070623195449] 
[Accept output (read008)
Ian Lynagh <igloo at earth.li>**20070623194707] 
[getC now works (trac 1430 is fixed)
Ian Lynagh <igloo at earth.li>**20070623192346] 
[Mark ghci debugger tests broken
Ian Lynagh <igloo at earth.li>**20070623175217] 
[Test for Trac #1402
simonpj at microsoft.com**20070621165221] 
[Fix flaggery
simonpj at microsoft.com**20070621163321] 
[Test for Trac #1386
simonpj at microsoft.com**20070621163308] 
[Update expected output (mostly concerning deriving)
simonpj at microsoft.com**20070620102719] 
[tcrun032 was using an un-documented (and now not implemented) feature of 'deriving'
simonpj at microsoft.com**20070620102522] 
[Remove tcfail105.stderr; tcfail105 is now an expected pass!
simonpj at microsoft.com**20070620102303] 
[no .bat scripts any more
Simon Marlow <simonmar at microsoft.com>**20070621102024] 
[Test for Trac #1430
simonpj at microsoft.com**20070619163127] 
[Output reordering in debugger tests
Ian Lynagh <igloo at earth.li>**20070618103251] 
[Two tests for newtypes & :print added
Pepe Iborra <mnislaih at gmail.com>**20070618080252] 
[Update ghci debugger output order
Ian Lynagh <igloo at earth.li>**20070617215040] 
[tcfail046,tcfail169,tcfail118 are broken; trac #1432
Ian Lynagh <igloo at earth.li>**20070617001116] 
[rnfail028 is currently broken; trac #1384
Ian Lynagh <igloo at earth.li>**20070616223140] 
[We expect getC to be broken: trac #1430
Ian Lynagh <igloo at earth.li>**20070616221450] 
[tcfail177 is expected to fail; trac #1176
Ian Lynagh <igloo at earth.li>**20070616211731] 
[Accept prog003 output
Ian Lynagh <igloo at earth.li>**20070616204139
 Also added some extra prints to make it clearer what's happening
] 
[ghci debugger output reordering
Ian Lynagh <igloo at earth.li>**20070616200222] 
[Accept output reorderings in ghci debugger tests
Ian Lynagh <igloo at earth.li>**20070616195730] 
[Accept output for TH_exn2
Ian Lynagh <igloo at earth.li>**20070616194758] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070614111147] 
[move par tests to the parallel package
Simon Marlow <simonmar at microsoft.com>**20070614092328] 
[add 32-bit output for num012
Simon Marlow <simonmar at microsoft.com>**20070614091546] 
[Test 11 double arguments instead of 6 (see #1424)
Simon Marlow <simonmar at microsoft.com>**20070613144542] 
[test various kinds of heap profile
Simon Marlow <simonmar at microsoft.com>**20070613124435] 
[add extra_ways, for adding running a test in more ways
Simon Marlow <simonmar at microsoft.com>**20070613124318] 
[add more profiling ways, to test different kinds of heap profile
Simon Marlow <simonmar at microsoft.com>**20070613121954] 
[fix this test
Simon Marlow <simonmar at microsoft.com>**20070608104457] 
[expect more failures for ffi009 on x86
Simon Marlow <simonmar at microsoft.com>**20070608104150] 
[Split newtype deriving test from other deriving tests
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070608044250] 
[fix this test
Simon Marlow <simonmar at microsoft.com>**20070607095334] 
[more expected failures for arith012
Simon Marlow <simonmar at microsoft.com>**20070607094022] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070607093924] 
[arith008 fails for some more ways now that the NCG is used by default
Simon Marlow <simonmar at microsoft.com>**20070607093505] 
[Add test for #1385
simonpj at microsoft.com**20070606131053] 
[Add comments about runCmd
simonpj at microsoft.com**20070606094820] 
[Test for Trac #1396
Michael D. Adams <t-madams at microsoft.com>**20070531154432] 
[Test for Trac #1382
simonpj at microsoft.com**20070530082341] 
[add negative-prim-literal tests
Isaac Dupree <id at isaac.cedarswampstudios.org>**20070526224405
 the first for behavior common between their new and old parsings (passes both),
 the second to test the new behavior (fails before, passes after)
] 
[#1318: pre-emptively add test for Haskell98 treatment of operator "-"
Isaac Dupree <id at isaac.cedarswampstudios.org>**20070526143814] 
[Add parser/should_run
Isaac Dupree <id at isaac.cedarswampstudios.org>**20070526143151] 
[Update (incorrect) test output with '....'s
Ian Lynagh <igloo at earth.li>**20070527213056] 
[Accept output (missing-main error changed)
Ian Lynagh <igloo at earth.li>**20070527212624] 
[1332 is now fixed, so tc224 is passing again
Ian Lynagh <igloo at earth.li>**20070527211601] 
[Use -v0 in TH tests to avoid package versions getting into stderr
Ian Lynagh <igloo at earth.li>**20070527210126] 
[Use -v0 when doing test rnfail043
Ian Lynagh <igloo at earth.li>**20070527203004
 This avoids version numbers of packages being in the output.
] 
[Accept output (missing-main error has changed)
Ian Lynagh <igloo at earth.li>**20070527202508] 
[Accept output (missing-main error has changed)
Ian Lynagh <igloo at earth.li>**20070527202333] 
[par001 requires the parallel library
Ian Lynagh <igloo at earth.li>**20070527200931] 
[Accept output (source spans)
Ian Lynagh <igloo at earth.li>**20070527184303] 
[remove unreg "way"; unreg is now all-or-nothing
Simon Marlow <simonmar at microsoft.com>**20070525081742] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070519215040] 
[ignore the .ghci file if present in the ghci debugger tests
Pepe Iborra <mnislaih at gmail.com>**20070519211700] 
[Accept output (source spans)
Ian Lynagh <igloo at earth.li>**20070519104909] 
[Accept output (... doesn't replace a constructor any more)
Ian Lynagh <igloo at earth.li>**20070519103641] 
[add a test for printing unboxed fields
Simon Marlow <simonmar at microsoft.com>**20070518141526] 
[arith011 is no longer broken on x86-64 Linux
Simon Marlow <simonmar at microsoft.com>**20070518115502] 
[Accept output (src span)
Ian Lynagh <igloo at earth.li>**20070517164019] 
[bio001 needs profiling
Ian Lynagh <igloo at earth.li>**20070517163214] 
[Accept output (source spans)
Ian Lynagh <igloo at earth.li>**20070517162651] 
[move dynbk tests into scripts/ and update them
Simon Marlow <simonmar at microsoft.com>**20070517092220] 
[move STM-specific tests to the stm package
Simon Marlow <simonmar at microsoft.com>**20070517085909] 
[make this test work a bit more reliably
Simon Marlow <simonmar at microsoft.com>**20070517085853] 
[add missing files
Simon Marlow <simonmar at microsoft.com>**20070517082938] 
[add another exception test
Simon Marlow <simonmar at microsoft.com>**20070516133922] 
[move the break* tests into scripts/, and update as necessary
Simon Marlow <simonmar at microsoft.com>**20070516095924] 
[move break1 to scripts/break012
Simon Marlow <simonmar at microsoft.com>**20070516090710] 
[add missing source file
Simon Marlow <simonmar at microsoft.com>**20070516083636] 
[add missing source files for tests
Simon Marlow <simonmar at microsoft.com>**20070516082958] 
[accept output and add a few more tests
Simon Marlow <simonmar at microsoft.com>**20070515132532] 
[-findexed-types -> -ftype-families
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070514115132] 
[add test for #1277
Simon Marlow <simonmar at microsoft.com>**20070511145720] 
[Adapt indexed type tests to removal of newtype families
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070511113521] 
[Various indexed types tests fail due to trac #1331
Ian Lynagh <igloo at earth.li>*-20070505155605] 
[Add tests for -fwarn-implicit-prelude (and -fwarn-unused-imports along with it) (trac #1317)
Isaac Dupree <id at isaac.cedarswampstudios.org>**20070508221238] 
[add a couple more tests
Simon Marlow <simonmar at microsoft.com>**20070509133022] 
[add test for unicode constructor names in :print
Simon Marlow <simonmar at microsoft.com>**20070509104517] 
[Add test for full laziness
simonpj at microsoft.com**20070509113038] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070508144310] 
[FIX #1159: This test needs to run in a subthread (see comments)
Simon Marlow <simonmar at microsoft.com>**20070508130950] 
[add test for #1227
Simon Marlow <simonmar at microsoft.com>**20070508105325] 
[add test for #1253
Simon Marlow <simonmar at microsoft.com>**20070507132429] 
[add test for #1091
Simon Marlow <simonmar at microsoft.com>**20070507113903] 
[add basic concurrency/IO test: tests that stdin is non-blocking
Simon Marlow <simonmar at microsoft.com>**20070507124521] 
[platform-specific output no longer required
Simon Marlow <simonmar at microsoft.com>**20070417080859] 
[Add a test that 'ghc -e "return ()"' returns successfully
Ian Lynagh <igloo at earth.li>**20070506113229] 
[Arrow tests are failing core lint; trac #1333
Ian Lynagh <igloo at earth.li>**20070505190414] 
[sed-o in the testsuite driver
Ian Lynagh <igloo at earth.li>**20070505190353] 
[dsrun014 is broken (trac #1257, Bytecode generator can't handle unboxed tuples)
Ian Lynagh <igloo at earth.li>**20070505172037] 
[tc224 (overloaded strings) is broken; trac #1332
Ian Lynagh <igloo at earth.li>**20070505161813] 
[Various indexed types tests fail due to trac #1331
Ian Lynagh <igloo at earth.li>**20070505155605] 
[Accept output (mdofail004)
Ian Lynagh <igloo at earth.li>**20070505153527] 
[Church2 is broken; trac #1330
Ian Lynagh <igloo at earth.li>**20070505152441] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070505150128] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070505123344] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070505120131] 
[Add output
Ian Lynagh <igloo at earth.li>**20070505115657] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070505114604] 
[Partially accept output
Ian Lynagh <igloo at earth.li>**20070505113746] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070505113048] 
[Accept output for tcfail004
Ian Lynagh <igloo at earth.li>**20070505105852] 
[Track ... pretty-printer changes
Ian Lynagh <igloo at earth.li>**20070505105355] 
[stm is no longer a corelib, so needs to be reqlib'ed now
Ian Lynagh <igloo at earth.li>**20070505004835] 
[Don't dump stderr/stdout before we've split the ghci output
Ian Lynagh <igloo at earth.li>**20070505004802
 Fixes some framework failures.
] 
[Fix spec001 test
Ian Lynagh <igloo at earth.li>**20070505001103] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070505000818] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070504235810] 
[maessen_hashtab needs QuickCheck
Ian Lynagh <igloo at earth.li>**20070504235518] 
[regex tests need regex-posix, which is no longer a corelib
Ian Lynagh <igloo at earth.li>**20070504232505] 
[Fix comment
Ian Lynagh <igloo at earth.li>**20070504230405] 
[skip cabal02 (cabal-setup isn't in the GHC tree any more)
Ian Lynagh <igloo at earth.li>**20070504220048] 
[Don't hardcode the version of base in the tests
Ian Lynagh <igloo at earth.li>**20070504215708] 
[Accept output for tcfail005
Ian Lynagh <igloo at earth.li>**20070504092957] 
[cg025 requires regex-compat, which is now an extralib
Ian Lynagh <igloo at earth.li>**20070503225622] 
[Test for Trac #1251
simonpj at microsoft.com**20070504111134] 
[Add test for Trac #1323
simonpj at microsoft.com**20070504075616] 
[Revert mistaken change to all.T
simonpj at microsoft.com**20070504073843] 
[Use letters to allow output to be matched up with the code more easily
Ian Lynagh <igloo at earth.li>**20070503192604] 
[Remove redundant arch-specific test files
Ian Lynagh <igloo at earth.li>**20070503192139] 
[Accept output
Ian Lynagh <igloo at earth.li>**20070503191615] 
[update: we give a diagnostic for an incorrect number in :delete now
Simon Marlow <simonmar at microsoft.com>**20070503151724] 
[add a history test
Simon Marlow <simonmar at microsoft.com>**20070503151700] 
[add a :list test
Simon Marlow <simonmar at microsoft.com>**20070503150446] 
[add a test to demonstrate a new bug
Simon Marlow <simonmar at microsoft.com>**20070503131223] 
[accept output
Simon Marlow <simonmar at microsoft.com>**20070503094206] 
[add correct output now this test is fixed
Simon Marlow <simonmar at microsoft.com>**20070430110058] 
[Add test for Trac #1255
simonpj at microsoft.com**20070503075022] 
[Add test for records and type families
simonpj at microsoft.com**20070503073838] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070430171655] 
[Adapt some breakpoint tests to the new command syntax
Pepe Iborra <mnislaih at gmail.com>**20070430171643] 
[add test for a new assertion failure
Simon Marlow <simonmar at microsoft.com>**20070427144739] 
[modify test to reproduce a new bug
Simon Marlow <simonmar at microsoft.com>**20070426153744] 
[add another test, and accept some output
Simon Marlow <simonmar at microsoft.com>**20070426152639] 
[Fix the test I just added
Pepe Iborra <mnislaih at gmail.com>**20070426101615
 
 :break qsort sets a breakpoint in the outer expression, before any variable
 has been bound. Once you :step the things are bound
 
] 
[Added a :break test
Pepe Iborra <mnislaih at gmail.com>**20070426085538] 
[Disable the monomorphism restriction warnings in all tests
Pepe Iborra <mnislaih at gmail.com>**20070426084918] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070425175248] 
[add some :show bindings
Simon Marlow <simonmar at microsoft.com>**20070425130058] 
[add test for a new bug
Simon Marlow <simonmar at microsoft.com>**20070425130031] 
[this test requires an extra :step now
Simon Marlow <simonmar at microsoft.com>**20070425125920] 
[New test covering bug discovered by Nicolas Frisby in TcUnify.boxySplitTyConApp
simonpj at microsoft.com**20070424124702] 
[move some dynbrk tests into the scripts/ directory
Simon Marlow <simonmar at microsoft.com>**20070423152829] 
[add dynbrk tests, and a few more breakpoint tests
Simon Marlow <simonmar at microsoft.com>**20070423152031] 
[Adapt commands to the new ghci debugger command-set
Pepe Iborra <mnislaih at gmail.com>**20070420170414] 
[Accept output
Pepe Iborra <mnislaih at gmail.com>**20070420170311] 
[Add test suggested by Doaitse Swierestra
simonpj at microsoft.com**20070418145918] 
[Update output
Ian Lynagh <igloo at earth.li>**20070417151616] 
[Add a test for use of fail for trac #1265
Tyson Whitehead <twhitehe at uwo.ca>**20070410140653] 
[Differentiate between use of fail and failure of code (i.e., an exception is thrown)
Tyson Whitehead <twhitehe at uwo.ca>**20070410140308] 
[Use $(PYTHON) rather than assuming python will find it
Ian Lynagh <igloo at earth.li>**20070417130516] 
[Generate conc068 input in a more portable manner
Thorkil Naur <naur at post11.tele.dk>**20070417063754
 The earlier method with 'yes .. | head ..' does not work on PPC Mac OS X.
] 
[TAG 2007-04-17
Ian Lynagh <igloo at earth.li>**20070417125057] 
Patch bundle hash:
ecc6d8b2a9e75f35c0c8cf287e49af10a0e22775
-------------- next part --------------

New patches:

[ghci :browse! :{:} :set :show languages/packages
claus.reinke at talk21.com**20071009074210
 
  this patch collects three additions to GHCi:
  
  	- :browse!
  		a variant of :browse that lists children separately,
  		not in context, and gives import qualifiers in comments
 
  	- :{ ..lines.. :} (multiline commands)
  		allow existing commands to be spread over multiple lines
  		to improve readability, both interactively and in .ghci
  		(includes a refactoring that unifies the previous three
  		command loops into one, runCommands, fed from cmdqueue,
  		file, or readline)
 
  	- :set
  		now shows GHCi-specific flag settings (printing/debugger)
 		as well as non-language dynamic flag settings
  	  :show languages
  		show active language flags
  	  :show packages
  		show active package flags as well as implicitly loaded
  		packages
  
 
] {
hunk ./compiler/basicTypes/RdrName.lhs 38
-	lookupGRE_RdrName, lookupGRE_Name, hideSomeUnquals,
+	lookupGRE_RdrName, lookupGRE_Name, getGRE_NameQualifier_maybes, hideSomeUnquals,
hunk ./compiler/basicTypes/RdrName.lhs 377
+getGRE_NameQualifier_maybes :: GlobalRdrEnv -> Name -> [Maybe [ModuleName]]
+getGRE_NameQualifier_maybes env
+  = map qualifier_maybe . map gre_prov . lookupGRE_Name env
+  where qualifier_maybe LocalDef       = Nothing
+        qualifier_maybe (Imported iss) = Just $ map (is_as . is_decl) iss 
hunk ./compiler/ghci/InteractiveUI.hs 35
+import qualified RdrName ( getGRE_NameQualifier_maybes ) -- should this come via GHC?
hunk ./compiler/ghci/InteractiveUI.hs 114
-  ("browse",    keepGoing browseCmd,		False, completeModule),
+--  :b used to be :browse, and shouldn't be taken over by debugger..
+--  ("b",    keepGoing (browseCmd False),		False, completeModule),
+--  ("b!",    keepGoing (browseCmd True),		False, completeModule),
+  ("browse",    keepGoing (browseCmd False),		False, completeModule),
+  ("browse!",   keepGoing (browseCmd True),		False, completeModule),
hunk ./compiler/ghci/InteractiveUI.hs 166
+ "   :{\\n ..lines.. \\n:}\\n       multiline command\n" ++
hunk ./compiler/ghci/InteractiveUI.hs 168
- "   :browse [*]<module>         display the names defined by <module>\n" ++
+ "   :browse[!] [*]<module>      display the names defined by <module>\n" ++
hunk ./compiler/ghci/InteractiveUI.hs 227
+ "                    for GHCi-specific flags, see User's Guide,\n"++
+ "                    Flag reference, Interactive-mode options\n" ++
hunk ./compiler/ghci/InteractiveUI.hs 236
+ "   :show packages              show the currently active package flags\n" ++
+ "   :show languages             show the currently active language flags\n" ++
hunk ./compiler/ghci/InteractiveUI.hs 338
-  	     Right hdl -> fileLoop hdl False
+  	     Right hdl -> runCommands (fileLoop hdl False)
hunk ./compiler/ghci/InteractiveUI.hs 354
-  		  Right hdl -> fileLoop hdl False
+  		  Right hdl -> runCommands (fileLoop hdl False)
hunk ./compiler/ghci/InteractiveUI.hs 415
-	then readlineLoop
-	else fileLoop stdin show_prompt
+	then runCommands readlineLoop
+	else runCommands (fileLoop stdin show_prompt)
hunk ./compiler/ghci/InteractiveUI.hs 418
-  fileLoop stdin show_prompt
+  runCommands (fileLoop stdin show_prompt)
hunk ./compiler/ghci/InteractiveUI.hs 453
-fileLoop :: Handle -> Bool -> GHCi ()
+fileLoop :: Handle -> Bool -> GHCi (Maybe String)
hunk ./compiler/ghci/InteractiveUI.hs 460
-	Left e | isEOFError e		   -> return ()
-	       | InvalidArgument <- etype  -> return ()
-	       | otherwise		   -> io (ioError e)
-		where etype = ioeGetErrorType e
-		-- treat InvalidArgument in the same way as EOF:
-		-- this can happen if the user closed stdin, or
-		-- perhaps did getContents which closes stdin at
-		-- EOF.
-	Right l -> 
-	  case removeSpaces l of
-            "" -> fileLoop hdl show_prompt
-	    l  -> do quit <- runCommands l
-                     if quit then return () else fileLoop hdl show_prompt
+        Left e | isEOFError e              -> return Nothing
+               | InvalidArgument <- etype  -> return Nothing
+               | otherwise                 -> io (ioError e)
+                where etype = ioeGetErrorType e
+                -- treat InvalidArgument in the same way as EOF:
+                -- this can happen if the user closed stdin, or
+                -- perhaps did getContents which closes stdin at
+                -- EOF.
+        Right l -> return (Just l)
hunk ./compiler/ghci/InteractiveUI.hs 507
-readlineLoop :: GHCi ()
+readlineLoop :: GHCi (Maybe String)
hunk ./compiler/ghci/InteractiveUI.hs 517
-		-- readline sometimes puts stdin into blocking mode,
-		-- so we need to put it back for the IO library
+                -- readline sometimes puts stdin into blocking mode,
+                -- so we need to put it back for the IO library
hunk ./compiler/ghci/InteractiveUI.hs 521
-	Nothing -> return ()
-	Just l  ->
-	  case removeSpaces l of
-	    "" -> readlineLoop
-	    l  -> do
-        	  io (addHistory l)
-  	  	  quit <- runCommands l
-          	  if quit then return () else readlineLoop
+        Nothing -> return Nothing
+        Just l  -> do
+                   io (addHistory l)
+                   return (Just l)
hunk ./compiler/ghci/InteractiveUI.hs 527
-runCommands :: String -> GHCi Bool
-runCommands cmd = do
-        q <- ghciHandle handler (doCommand cmd)
-        if q then return True else runNext
-  where
-       runNext = do
-          st <- getGHCiState
-          case cmdqueue st of
-            []   -> return False
-            c:cs -> do setGHCiState st{ cmdqueue = cs }
-                       runCommands c
+queryQueue :: GHCi (Maybe String)
+queryQueue = do
+  st <- getGHCiState
+  case cmdqueue st of
+    []   -> return Nothing
+    c:cs -> do setGHCiState st{ cmdqueue = cs }
+               return (Just c)
hunk ./compiler/ghci/InteractiveUI.hs 535
-       doCommand (':' : cmd) = specialCommand cmd
-       doCommand stmt        = do timeIt $ runStmt stmt GHC.RunToCompletion
-                                  return False
+runCommands :: GHCi (Maybe String) -> GHCi ()
+runCommands getCmd = do
+  mb_cmd <- noSpace queryQueue
+  mb_cmd <- maybe (noSpace getCmd) (return . Just) mb_cmd
+  case mb_cmd of 
+    Nothing -> return ()
+    Just c  -> do
+      b <- ghciHandle handler (doCommand c)
+      if b then return () else runCommands getCmd
+  where
+    noSpace q = q >>= maybe (return Nothing)
+                            (\c->case removeSpaces c of 
+                                   ""   -> noSpace q
+                                   ":{" -> multiLineCmd q
+                                   c    -> return (Just c) )
+    multiLineCmd q = do
+      st <- getGHCiState
+      let p = prompt st
+      setGHCiState st{ prompt = "%s| " }
+      mb_cmd <- collectCommand q ""
+      getGHCiState >>= \st->setGHCiState st{ prompt = p }
+      return mb_cmd
+    collectCommand q c = q >>= maybe (return Nothing)
+                                     (\l->if l==":}" 
+                                          then return (Just c) 
+                                          else collectCommand q (c++l))
+    doCommand (':' : cmd) = specialCommand cmd
+    doCommand stmt        = do timeIt $ runStmt stmt GHC.RunToCompletion
+                               return False
hunk ./compiler/ghci/InteractiveUI.hs 1040
-browseCmd :: String -> GHCi ()
-browseCmd m = 
+browseCmd :: Bool -> String -> GHCi ()
+browseCmd bang m = 
hunk ./compiler/ghci/InteractiveUI.hs 1043
-    ['*':m] | looksLikeModuleName m -> browseModule m False
-    [m]     | looksLikeModuleName m -> browseModule m True
+    ['*':m] | looksLikeModuleName m -> browseModule bang m False
+    [m]     | looksLikeModuleName m -> browseModule bang m True
hunk ./compiler/ghci/InteractiveUI.hs 1047
-browseModule m exports_only = do
+-- without bang, show items in context of their parents and omit children
+-- with bang, show class methods and data constructors separately, and
+--            indicate import modules, to aid qualifying unqualified names
+browseModule bang m exports_only = do
hunk ./compiler/ghci/InteractiveUI.hs 1060
-		      else GHC.setContext s [modl] [])
+                      else GHC.setContext s [modl] [])
hunk ./compiler/ghci/InteractiveUI.hs 1069
-	       | exports_only = GHC.modInfoExports mod_info
-	       | otherwise    = GHC.modInfoTopLevelScope mod_info
-				`orElse` []
+               | exports_only = GHC.modInfoExports mod_info
+               | otherwise    = GHC.modInfoTopLevelScope mod_info
+                                `orElse` []
hunk ./compiler/ghci/InteractiveUI.hs 1074
- 	let filtered_things = filterOutChildren (\t -> t) (catMaybes mb_things)
+        let filtered_things = filterOutChildren (\t -> t) (catMaybes mb_things)
+
+        rdr_env <- io $ GHC.getGRE s
hunk ./compiler/ghci/InteractiveUI.hs 1079
-	let pefas = dopt Opt_PrintExplicitForalls dflags
-	io (putStrLn (showSDocForUser unqual (
-		vcat (map (pprTyThingInContext pefas) filtered_things)
-	   )))
-	-- ToDo: modInfoInstances currently throws an exception for
-	-- package modules.  When it works, we can do this:
-	--	$$ vcat (map GHC.pprInstance (GHC.modInfoInstances mod_info))
+        let pefas              = dopt Opt_PrintExplicitForalls dflags
+            things | bang      = catMaybes mb_things
+                   | otherwise = filtered_things
+            pretty | bang      = pprTyThing
+                   | otherwise = pprTyThingInContext
+
+            labels     = text . intercalate "\n" . map qualifier 
+            qualifier  = maybe "-- defined locally" 
+                             (("-- imported from "++) . intercalate ", " 
+                               . map GHC.moduleNameString)
+            importInfo = RdrName.getGRE_NameQualifier_maybes rdr_env
+            modNames   = map (importInfo . GHC.getName) things
+                                        
+            -- annotate groups of imports with their import modules
+            -- the default grouping is somewhat arbitrary, perhaps
+            -- we should sort by group header? leave as is for now.
+            annotate mg []          = []
+            annotate mg ((m,t):mts) 
+                        | mg==m     = t:(annotate m mts)
+                        | otherwise = (labels m):t:(annotate m mts)
+
+        let prettyThings = map (pretty pefas) things
+            prettyThings' | bang      = annotate [Just []]
+                                          (zip modNames prettyThings)
+                          | otherwise = prettyThings
+        io (putStrLn $ showSDocForUser unqual (vcat prettyThings'))
+        -- ToDo: modInfoInstances currently throws an exception for
+        -- package modules.  When it works, we can do this:
+        --        $$ vcat (map GHC.pprInstance (GHC.modInfoInstances mod_info))
hunk ./compiler/ghci/InteractiveUI.hs 1192
+       dflags <- getDynFlags
+       io $ putStrLn (showSDoc (
+          vcat (text "GHCi-specific dynamic flag settings:" 
+               :map (flagSetting dflags) ghciFlags)
+          ))
+       io $ putStrLn (showSDoc (
+          vcat (text "other dynamic, non-language, flag settings:" 
+               :map (flagSetting dflags) nonLanguageDynFlags)
+          ))
+  where flagSetting dflags (str,f)
+          | dopt f dflags = text "  " <> text "-f"    <> text str
+          | otherwise     = text "  " <> text "-fno-" <> text str
+        (ghciFlags,others)  = partition (\(_,f)->f `elem` flags) 
+                                        DynFlags.fFlags
+        nonLanguageDynFlags = filter (\(_,f)->not $ f `elem` map snd xFlags) 
+                                     others
+        flags = [Opt_PrintExplicitForalls
+                ,Opt_PrintBindResult
+                ,Opt_BreakOnException
+                ,Opt_BreakOnError
+                ,Opt_PrintEvldWithShow
+                ] 
hunk ./compiler/ghci/InteractiveUI.hs 1358
+        ["packages"]  -> showPackages
+        ["languages"]  -> showLanguages
hunk ./compiler/ghci/InteractiveUI.hs 1404
+showPackages :: GHCi ()
+showPackages = do
+  pkg_flags <- fmap packageFlags getDynFlags
+  io $ putStrLn $ showSDoc $ vcat $
+    text ("active package flags:"++if null pkg_flags then " none" else "")
+    : map showFlag pkg_flags
+  pkg_ids <- fmap (preloadPackages . pkgState) getDynFlags
+  io $ putStrLn $ showSDoc $ vcat $
+    text "packages currently loaded:" 
+    : map (nest 2 . text . packageIdString) pkg_ids
+  where showFlag (ExposePackage p) = text $ "  -package " ++ p
+        showFlag (HidePackage p)   = text $ "  -hide-package " ++ p
+        showFlag (IgnorePackage p) = text $ "  -ignore-package " ++ p
+
+showLanguages :: GHCi ()
+showLanguages = do
+   dflags <- getDynFlags
+   io $ putStrLn $ showSDoc $ vcat $
+      text "active language flags:" :
+      [text ("  -X" ++ str) | (str,f) <- DynFlags.xFlags, dopt f dflags]
hunk ./compiler/main/DynFlags.hs 32
+  fFlags, xFlags,
hunk ./compiler/main/GHC.hs 77
+  getGRE,
hunk ./compiler/main/GHC.hs 1997
+#ifdef GHCI
+-- | get the GlobalRdrEnv for a session
+getGRE :: Session -> IO GlobalRdrEnv
+getGRE s = withSession s $ \hsc_env-> return $ ic_rn_gbl_env (hsc_IC hsc_env)
+#endif
+
hunk ./docs/users_guide/ghci.xml 1683
-          <literal>:browse</literal> <optional><literal>*</literal></optional><replaceable>module</replaceable> ...
+          <literal>:browse</literal><optional><literal>!</literal></optional> <optional><literal>*</literal></optional><replaceable>module</replaceable> ...
hunk ./docs/users_guide/ghci.xml 1698
-	  form of <literal>:browse</literal> is available.</para>
+    form of <literal>:browse</literal> is available.
+    If the <literal>!</literal> symbol is appended to the
+    command, data constructors and class methods will be 
+    listed individually, otherwise, they will only be listed
+    in the context of their data type or class declaration. 
+    The <literal>!</literal>-form also annotates the listing 
+    with comments giving possible imports for each group of 
+    entries.</para>
}

Context:

[FIX validate for PPC Mac OS X - RegAllocStats.hs
Thorkil Naur <naur at post11.tele.dk>**20071005144105] 
[FIX validate for PPC Mac OS X - RegAllocLinear.hs
Thorkil Naur <naur at post11.tele.dk>**20071005143607] 
[FIX validate for PPC Mac OS X - Linker.c
Thorkil Naur <naur at post11.tele.dk>**20071005144908] 
[FIX validate for PPC Mac OS X - Evac.h
Thorkil Naur <naur at post11.tele.dk>**20071005144454] 
[FIX #1748: -main-is wasn't handling the case of a single hierarchical module
Simon Marlow <simonmar at microsoft.com>**20071008131305
 test case is driver062.5
] 
[FIX BUILD FD_SETSIZE signed
jochemberndsen at dse.nl**20070927132649
 On FreeBSD FD_SETSIZE is unsigned. Cast it to a signed int
 for portability.
] 
[FIX BUILD addDLL returns const char*
jochemberndsen at dse.nl**20070927132619
 addDLL returns const char*, not just a char*.
 Fix compiler warning
] 
[FIX BUILD `set -o igncr'-issue on FreeBSD
jochemberndsen at dse.nl**20070926203750
 `set -o igncr' does not work on non-cygwin-systems.
 Fail silently if this command does not work, instead
 of aborting the build.
 
] 
[Change DOCOPTIONS pragma to DOC_OPTIONS
David Waern <davve at dtek.chalmers.se>**20071002143849
 
 MERGE TO STABLE
] 
[FIX: parsing of doc options
David Waern <davve at dtek.chalmers.se>**20071002143713
 
 Lexing of the doc options pragma was changed, but but no change was 
 made to the parser to reflect that. This patch fixes this problem.
 
 MERGE TO STABLE
] 
[FIX: add missing case to OccName.isSymOcc
David Waern <davve at dtek.chalmers.se>**20071002143459] 
[Remove warnings from WwLib
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20071002130736] 
[FIX: mkWWcpr takes open alg types into account
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20071002130407
 - This fixed the failures of GMapAssoc and GMapTop for optmising ways
 
 MERGE TO STABLE
] 
[FIX #1738: KPush rule of FC must take dataConEqTheta into account
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20071001154343
 
 MERGE TO STABLE
] 
[FIX #1729: Don't try to expand syn families with -XLiberalTypeSynonyms
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070929122624
 
 MERGE TO STABLE
] 
[Some more traceTcs
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070929121941] 
[FIX: Make boxy splitters aware of type families
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070928225541
 
 MERGE TO STABLE
] 
[Finally, I managed to squash an infamous bug in :print
Pepe Iborra <mnislaih at gmail.com>**20070927151300
   
   It turns out the newtype handling code in :print
   was slipping non mutable Tyvars in the types reconstructed.
   The error message eventually produced was rather obscure:
   
   [src/Tp.hs:75:28-64] *MainTp> :p x
   *** Exception: No match in record selector Var.tcTyVarDetails
   [src/Tp.hs:75:28-64] *MainTp>
   
   Due to non mutable tyvars, unifyType was failing.
   A well placed assertion in the unifyType code would have made
    my life much easier.
   Which reminds me I should install a -ddump-* system in the 
   RTTI subsystem, or future hackers will run away in swearing.
 
 
 MERGE TO STABLE
 
] 
[Be a bit more flexible in terminal identification for do_bold
Pepe Iborra <mnislaih at gmail.com>**20070927141549
   
   In Os X for instance, by default we have TERM=xterm-color 
 
 MERGE TO STABLE
 
] 
[html_installed_root shouldn't contain $$pkgid
Ian Lynagh <igloo at earth.li>**20070927130427
 This actually didn't break anything, as the shell expanded $pkgid to the
 empty string, but it was still wrong.
] 
[Comments and debug output only
simonpj at microsoft.com**20070927110842] 
[comment-out "use vars" in 3 places (see #1739)
Simon Marlow <simonmar at microsoft.com>**20071008115740] 
[further stub filename fix: I managed to break non-stubdir -fvia-C compilation
Simon Marlow <simonmar at microsoft.com>**20070927102539] 
[also acquire/release task->lock across fork()
Simon Marlow <simonmar at microsoft.com>**20070927091331
 further attempt to fix #1391 on MacOS
] 
[Add STANDARD_OPTS to SRC_HC_OPTS in rts/Makefile so we get -I../includes for .cmm files
Ian Lynagh <igloo at earth.li>**20070926122637
 Patch from Clemens Fruhwirth
] 
[Remove current package from preloaded package set
Clemens Fruhwirth <clemens at endorphin.org>**20070926084802] 
[Fixing #1340, adding HPC Documentation
andy at galois.com**20070926055331] 
[TAG 2007-09-25
Ian Lynagh <igloo at earth.li>**20070925164536] 
[FIX -stubdir bug: the .hc file was #including the wrong _stub.h filename
Simon Marlow <simonmar at microsoft.com>**20070926134539
 Using -stubdir together with hierarchical modules, -fvia-C, and --make
 is essentially broken in 6.6.x.  Recently discovered by Cabal's use of
 -stubdir.
 
 Test cases: driver027/driver028 (I've updated them to use -fvia-C, in
 order to test for this bug).
] 
[fix #1734, panic in :show modules after load failure
Simon Marlow <simonmar at microsoft.com>**20070926100732] 
[fix to previous fix to THUNK_SELECTOR machinery
Simon Marlow <simonmar at microsoft.com>**20070925132600
 It turns out I didn't get it quite right in the case of compacting
 collection.  This should make it work again.
] 
[Be more specific about file-header pragmas
simonpj at microsoft.com**20070924162847
 
 Document the rules for pragmas that must occur at the top of a file.
 
 Please merge this patch
 
] 
[Put packages in ../$$pkgid not ../$$pkg
Ian Lynagh <igloo at earth.li>**20070923204940] 
[Notice when C modules have changed when deciding whether or not to link
Ian Lynagh <igloo at earth.li>**20070923181620
 Based on a patch from Lemmih
] 
[Whitespace changes only
Ian Lynagh <igloo at earth.li>**20070923174242] 
[Remove remaining bits of bindist "make in-place"
Ian Lynagh <igloo at earth.li>**20070923163640] 
[Add an entry for strings treated as ISO-8859-1 to the users guide bug list
Ian Lynagh <igloo at earth.li>**20070923131845] 
[Fix bug #1725 (Haddock links between packages)
sven.panne at aedion.de**20070923120636
 Resolving this bug is a bit tricky, it boils down to the question: Should the
 Haddock links between packages include the package version or not?
 
 Pro: We can differentiate between various versions of the same package,
 installed all at once. (How often does this really happen in practice?)
 
 Cons: When package A refers to a package B, and B is later upgraded, links
 in A's documentation will break. Furthermore, if an *additional* version of
 B is installed, which version should A refer to?
 
 Because IMHO it is not clear what to do when version numbers are included,
 let's leave them out. If somebody has a better idea, feel free to submit a
 better patch.
 
 MERGE TO STABLE
] 
[Unbreak "dist" target for fresh trees
sven.panne at aedion.de**20070923094358
 The previous hack to include Parser.hs in source distros broke the possibility
 of doing a "make dist" in a fresh tree, i.e. one which has just been checked
 out and configured, but *not* built. Of course you will need Happy for such a
 source distro later, but at least the freedom to do this is important.
 
 The ultimate goal should be that something like "make dist" will work in a
 freshly checked out tree, with no prerequisite steps (this is very common in
 most projects). We should move towards that goal, not away from it...
 
 
 MERGE TO STABLE
] 
[make stamp.inplace-gcc-lib copy $(LD) instead of $(GccDir)ld.exe to avoid building problem
shelarcy <shelarcy at gmail.com>**20070920130159] 
[Removed duplicate entry for derbugging flag -ddump-tc from the user guide
v.dijk.bas at gmail.com**20070920121306] 
[Fix building with compilers which don't have an integer for a patch level
Ian Lynagh <igloo at earth.li>**20070921165316] 
[Move OPTIONS pragmas above comments
Ian Lynagh <igloo at earth.li>**20070921163552
 Fixes building with -Werror (i.e. validate) and GHC < 6.6
] 
[massive convulsion in ZipDataflow
Norman Ramsey <nr at eecs.harvard.edu>**20070921134124
 
 After my talk, I got the idea of 'shallow rewriting' for the
 dataflow framework.  Here it is implemented, along with
 some related ideas late making Graph and not LGraph primary.
 
 The only bad thing is that the whole bit is stitched together
 out of ill-fitting pieces, kind of like Frankenstein's monster.
 A new ZipDataflow will rise out of the ashes.
] 
[incomplete start on set of intervals for stack model
Norman Ramsey <nr at eecs.harvard.edu>**20070921134035] 
[Small changes to mk-ing flow graphs
simonpj at microsoft.com**20070919150544
 
 - ZipCfg: add mkBlockId :: Unique -> BlockId
 - MkZipCfg: change sequence --> catAGrpahs
 - MkZipCfgCmm: add mkCmmIfThen
 
 Not fully validated, but I don't think anything will break
 
 
] 
[Mostly comments, following NR/SPJ meeting
simonpj at microsoft.com**20070919150345] 
[Remove a redundant part of distrib/Makefile's "make install"
Ian Lynagh <igloo at earth.li>**20070920183903] 
[Fix Trac #1718: interaction of error, unlifted tuples, and casts
simonpj at microsoft.com**20070920120049
 
 See Note [Float coercions (unlifted)] in Simplify
 
 Test is simpl018
 
] 
[Hack to get haskell-src's Parser.hs into source distributions
Ian Lynagh <igloo at earth.li>**20070919194222] 
[Fix --print-docdir for relocatable builds; fixes #1226
Ian Lynagh <igloo at earth.li>**20070919140100] 
[Use $(RelocatableBuild) rather than $(Windows)
Ian Lynagh <igloo at earth.li>**20070919140037] 
[Fix exponential-time behaviour with type synonyms; rename -XPartiallyAppliedTypeSynonyms to -XLiberalTypeSynonyms
simonpj at microsoft.com**20070919171207
 
 Fixes exponential behaviour present in GHC 6.6!
 
 I renamed the flag because the old (not very old) name wasn't
 describing what it does.
 
] 
[FIX #1688: Givens in checkLoop are not that rigid after all
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070919150738
 - This patch re-instates the policy of 6.6.1 to zonk the given constraints
   in the simplifier loop.
 
 MERGE TO STABLE
] 
[FIX #1713: watch out for type families in splitAppTy functions
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070919122011
 
   MERGE TO STABLE
] 
[Catch any exceptions thrown by getEnv; fixes #1704
Ian Lynagh <igloo at earth.li>**20070918215752] 
[Make the error message mentioning -XPatternSignatures spell the flag correctly
simonpj at microsoft.com**20070919142821] 
[comments only: point to relevant bug reports
Simon Marlow <simonmar at microsoft.com>**20070924103323] 
[Give Windows its own definitions of docdir (and htmldir etc)
Ian Lynagh <igloo at earth.li>**20070918201249] 
[Include build.mk or validate{,-settings}.mk through custom-settings.mk
Ian Lynagh <igloo at earth.li>**20070918200637] 
[Install extra-gcc-opts in bindists
Ian Lynagh <igloo at earth.li>**20070918194839] 
[Add validate.mk to .darcs-boring
Ian Lynagh <igloo at earth.li>**20070918184509] 
[add support for EM_AMD64 elf machine type, openbsd/amd64 ghci works
Don Stewart <dons at galois.com>**20070916034845] 
[patch Linker.c for amd64/openbsd
Don Stewart <dons at galois.com>**20070916012728] 
[MERGED: Another attempt at getting bindists working everywhere
Ian Lynagh <igloo at earth.li>**20070918163331
 Ian Lynagh <igloo at earth.li>**20070916005328] {
] 
[Tune coalescing in non-iterative register allocator
Ben.Lippmeier at anu.edu.au**20070917132614
 
 If iterative coalescing isn't turned on, then do a single aggressive
 coalescing pass for the first build/color cycle and then back off to 
 conservative coalescing for subseqent passes.
 
 Aggressive coalescing is a cheap way to eliminate lots of the reg-reg
 moves, but it can make the graph less colorable - if we turn it on 
 for every pass then allocation for code with a large amount of register
 pressure (ie SHA1) doesn't converge in a sensible number of cycles.
] 
[Bugfix to iterative coalescer
Ben.Lippmeier at anu.edu.au**20070917124241
 
 Coalescences must be applied to the unsimplified graph in the same order 
 they were found by the iterative coalescing algorithm - otherwise
 the vreg rewrite mapping will be wrong and badness will ensue.
] 
[Add -dasm-lint
Ben.Lippmeier at anu.edu.au**20070917113024
 
 When -dasm-lint is turned on the register conflict graph is checked for 
 internal consistency after each build/color pass. Make sure that all 
 edges point to valid nodes, that nodes are colored differently to their
 neighbours, and if the graph is supposed to be colored, that all nodes
 actually have a color.
] 
[Count CmmTops processed so far in the native code generator
Ben.Lippmeier at anu.edu.au**20070914164234
 To help with debugging / nicer -ddump-asm-regalloc-stages
] 
[Change spill cost function back to inverse length of live range.
Ben.Lippmeier at anu.edu.au**20070914161408
 
 On further testing it turns out that using Chaitin's spill cost formula
 of counting the number of uses of a var and then dividing by the degree
 of the node isn't actually a win. Perhaps because this isn't counting 
 the number of actual spills inserted in the output code.
 
 This would be worth revisiting if other work manages to increase the 
 register pressure in the native code.
] 
[Replace missing '#' on options pragma
Ben.Lippmeier at anu.edu.au**20070914094320] 
[Better cleaning of spills in spill cleaner
Ben.Lippmeier at anu.edu.au**20070914093907
 
 Track what slots each basic block reloads from. When cleaning spill 
 instructions we can use this information to decide whether the slot 
 spilled to will ever be read from on this path.
] 
[added node to push a closure onto the current call context
Norman Ramsey <nr at eecs.harvard.edu>**20070917172939] 
[tightened some dataflow code as part of preparing a talk
Norman Ramsey <nr at eecs.harvard.edu>**20070917161715] 
[added 'filterRegsUsed' to CmmExpr
Norman Ramsey <nr at eecs.harvard.edu>**20070917161634] 
[Writing out .tix file only if you are the original process, not a child.
andy at galois.com**20070917230641
 This lets us gain coverage on programs that use fork, like xmonad.
 
 * To be merged to STABLE *
 
] 
[removing the functions hs_hpc_read and hs_hpc_write inside Hpc.c, they are dead code.
andy at galois.com**20070917230201
 
 * To be merged to STABLE. *
 
] 
[Clean stage<n>/ghc-inplace.c
Ian Lynagh <igloo at earth.li>**20070917094300] 
[Comments only
simonpj at microsoft.com**20070917161133] 
[Loosen the syntax of types slightly
simonpj at microsoft.com**20070917160708
 
 This change allows you to write
 	f :: (Eq a) => (Ord b) => a -> b -> b
 Previously you could only have a forall and context after '->'
 but not after '=>' which is strange and inconsistent.
 
 Making the parser a bit more generous didn't change the number
 of shift/reduce conflicts.
 
 tc236 tests.
 
 
] 
[FIX #1038: failure of selector-thunk machinery to do its job
Simon Marlow <simonmar at microsoft.com>**20070917151834
 After a couple of abortive attempts, I think I've got this right.
 When the GC sees a chain of the form 
 
    snd (_, snd (_, snd (_, ...)))
 
 it can now deal with an arbitrary nesting depth, whereas previously it
 had a depth limit which was necessitated by the use of recursion.  Now
 we chain all the selector thunks together in the heap, and go back and
 update them all when we find the value at the end of the chain.
 
 While I was here I removed some old cruft in eval_thunk_selector()
 which was carefully manintaing invariants that aren't necessary any
 more, the main one being that evacuate() can safely be passed a
 to-space pointer now.
 
 In addition to validate I've tested building a stage3 compiler with
 and without +RTS -c, so I'm reasonably sure this is safe.
 
] 
[FIX: TypeFamilies: should_compile/Simple12
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070916130419
 - checkTauTvUpdate now distinguishes between whether
   (1) a type variables occurs only in type family parameters
       (in which case unification is to be deferred)
   (2) other variable occurences
       (which case we fail with a cannot create infinite type message, as before)
] 
[Keep valgrind happy when calling timer_create
sven.panne at aedion.de**20070916111927
 Fill all of the sigevent structure with zeroes before individual fields are
 set. Although not strictly necessary, this keeps tools like valgrind from
 complaining about passing uninitialized data, which is a good thing.
 
 MERGE TO STABLE
] 
[reloads are now sunk as deep as possible
Norman Ramsey <nr at eecs.harvard.edu>**20070915215414] 
[added instance declarations so we can fold over local registers used in Middle and Last nodes
Norman Ramsey <nr at eecs.harvard.edu>**20070915215337] 
[added monadic mapM_blocks.  the fear, the fear...
Norman Ramsey <nr at eecs.harvard.edu>**20070915215303] 
[fix misspelled constructor
Norman Ramsey <nr at eecs.harvard.edu>**20070915215238] 
[add another way to run in the fuel monad (this is a mess right now)
Norman Ramsey <nr at eecs.harvard.edu>**20070915215138] 
[lay ground for more readable dumping of CmmGraph
Norman Ramsey <nr at eecs.harvard.edu>**20070915201849] 
[add a function to help identify unique predecessors
Norman Ramsey <nr at eecs.harvard.edu>**20070915201746] 
[scrub away remaining MidNop
Norman Ramsey <nr at eecs.harvard.edu>**20070915201719] 
[changes needed to get map_blocks to actually compile :-(
Norman Ramsey <nr at eecs.harvard.edu>**20070915201651] 
[remove an unwanted language extension
Norman Ramsey <nr at eecs.harvard.edu>**20070915201525] 
[drop the old, redundant implementation of postorder_dfs
Norman Ramsey <nr at eecs.harvard.edu>**20070915201448] 
[eliminate the last vestige of UniqSM from ZipCfg
Norman Ramsey <nr at eecs.harvard.edu>**20070915201414] 
[add map_blocks to ZipCfg
Norman Ramsey <nr at eecs.harvard.edu>**20070915201355] 
[get rid of MidNop
Norman Ramsey <nr at eecs.harvard.edu>**20070915201243] 
[get freshBlockId out of ZipCfg and bury it in MkZipCfg where it belongs
Norman Ramsey <nr at eecs.harvard.edu>**20070915201030] 
[Make DESTDIR work again
sven.panne at aedion.de**20070916084339
 installPackage is a horror, using --force is probably not the perfect way
 to make DESTDIR functionality work again, but given the current state of
 affairs, I can't find a quick and clean solution.
 
 MERGE TO STABLE
] 
[Resurrect the "lib" subdirectory in the installation tree, it was somehow lost
sven.panne at aedion.de**20070916084122
 Having all package directory directly in the toplevel installation directory
 would be a bad thing because of potential name clashes, and it wasn't done this
 way earlier, so reinstantiate the old layout.
 
 MERGE TO STABLE
] 
[Overhaul of the rewrite rules
Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070915074119
 - Cleaned up and simplified rules
 - Added many missing cases
 - The rules OccursCheck and swap have been eliminated and integrate with
   the other rules; ie, Subst and Unify perform the occurs check themselves
   and they can deal with left-to-right and right-to-left oriented rewrites.
   This makes the code simpler and more efficient.
 - Also added comments.
] 
[added foldUFM_Directly, used where appropriate, killed all warnings
Norman Ramsey <nr at eecs.harvard.edu>**20070915190617] 
[(temporarily) check consistency of new postorder DFS no matter what DEBUG is
Norman Ramsey <nr at eecs.harvard.edu>**20070915133904] 
[Wibbles to MkZipCfgCmm stuff
simonpj at microsoft.com**20070914170119
 
 Watch out: I've added MkZipCfg.sequence, which clashes with the
 Prelude (like some other names in MkZipCfg.  Maybe you can think
 of a better name for it.
 
] 
[make remove_entry_label actually work inside ZipDataflow
Norman Ramsey <nr at eecs.harvard.edu>**20070914145435] 
[export 'entry' from ZipCfg, at least for now
Norman Ramsey <nr at eecs.harvard.edu>**20070914145417] 
[Remove export of remove_entry_label
simonpj at microsoft.com**20070914135211] 
[replace #ifdef DEBUG with debugIsOn in cmm/MkZipCfg
Norman Ramsey <nr at eecs.harvard.edu>**20070914134202] 
[new signatures for splicing functions, new postorder_dfs
Norman Ramsey <nr at eecs.harvard.edu>**20070913173653] 
[tidying cmm/CmmSpillReload.hs
Norman Ramsey <nr at eecs.harvard.edu>**20070913173512] 
[tidying cmm/CmmLiveZ.hs
Norman Ramsey <nr at eecs.harvard.edu>**20070913173446] 
[Unbreak "clean" and "distclean" targets when there is no testsuite
sven.panne at aedion.de**20070915085845] 
[Use sed to make stage-specific ghc-inplace.c's
Ian Lynagh <igloo at earth.li>**20070914233446
 When trying to do it with -D we were having trouble getting the double
 quotes through in all Windows configurations.
] 
[Fix copy+paste-o, spotted by Simon Marlow
Ian Lynagh <igloo at earth.li>**20070914142650] 
[Add documentation about -shared, shared library name mangling, and a xrefs
Clemens Fruhwirth <clemens at endorphin.org>**20070914204538] 
[Refer to "boot" libs, not "core" libs
Ian Lynagh <igloo at earth.li>**20070914132658] 
[Give darcs-all a -s (silent) flag
Ian Lynagh <igloo at earth.li>**20070913202330] 
[avoid platform dependencies: my_uintptr_t ==> StgWord
Simon Marlow <simonmar at microsoft.com>**20070917120156] 
[attempt to fix #1391, hold locks across fork() and initialize them in the child
Simon Marlow <simonmar at microsoft.com>**20070914145519] 
[distclean: ghcprof-inplace
Simon Marlow <simonmar at microsoft.com>**20070914125542] 
[distclean: <lib>/.depend[.bak]
Simon Marlow <simonmar at microsoft.com>**20070914125532] 
[distclean: extra-gcc-opts, testsuite
Simon Marlow <simonmar at microsoft.com>**20070914125444] 
[warning police
Ben.Lippmeier at anu.edu.au**20070913161443] 
[Better calculation of spill costs / selection of spill candidates.