summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci.debugger
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2015-10-31 17:38:34 +0000
committerSimon Marlow <marlowsd@gmail.com>2015-12-21 18:51:26 +0000
commitc8c44fd91b509b9eb644c826497ed5268e89363a (patch)
tree90bc2f24a7886afb8f0036b322f839168c880057 /testsuite/tests/ghci.debugger
parentee6fba89b066fdf8408e6a18db343a4177e613f6 (diff)
downloadhaskell-c8c44fd91b509b9eb644c826497ed5268e89363a.tar.gz
Maintain cost-centre stacks in the interpreter
Summary: Breakpoints become SCCs, so we have detailed call-stack info for interpreted code. Currently this only works when GHC is compiled with -prof, but D1562 (Remote GHCi) removes this constraint so that in the future call stacks will be available without building your own GHCi. How can you get a stack trace? * programmatically: GHC.Stack.currentCallStack * I've added an experimental :where command that shows the stack when stopped at a breakpoint * `error` attaches a call stack automatically, although since calls to `error` are often lifted out to the top level, this is less useful than it might be (ImplicitParams still works though). * Later we might attach call stacks to all exceptions Other related changes in this diff: * I reduced the number of places that get ticks attached for breakpoints. In particular there was a breakpoint around the whole declaration, which was often redundant because it bound no variables. This reduces clutter in the stack traces and speeds up compilation. * I tidied up some RealSrcSpan stuff in InteractiveUI, and made a few other small cleanups Test Plan: validate Reviewers: ezyang, bgamari, austin, hvr Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1595 GHC Trac Issues: #11047
Diffstat (limited to 'testsuite/tests/ghci.debugger')
-rw-r--r--testsuite/tests/ghci.debugger/scripts/T2740.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/T2740.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break001.script2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break001.stdout12
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break003.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break005.stdout7
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break006.script2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break006.stderr8
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break006.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break008.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break009.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break010.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break011.stdout10
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break012.script7
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break012.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break013.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break013.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break014.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break017.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break018.script3
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break018.stdout13
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break020.stdout12
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break021.script5
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break021.stdout68
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break022/break022.script5
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break022/break022.stdout11
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break023/break023.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break024.stdout8
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break025.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break026.script6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break026.stdout30
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break027.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break027.stdout17
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break028.stdout7
-rw-r--r--testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout10
-rw-r--r--testsuite/tests/ghci.debugger/scripts/dynbrk008.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout10
-rw-r--r--testsuite/tests/ghci.debugger/scripts/dynbrk009.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout9
-rw-r--r--testsuite/tests/ghci.debugger/scripts/getargs.stdout2
-rw-r--r--testsuite/tests/ghci.debugger/scripts/hist001.stdout34
-rw-r--r--testsuite/tests/ghci.debugger/scripts/listCommand001.stdout1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/listCommand002.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print005.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print018.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print018.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print020.stdout33
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print022.script3
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print022.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print025.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print025.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print029.script5
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print029.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print030.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print030.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print031.script5
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print031.stdout6
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print032.script1
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print032.stdout7
-rw-r--r--testsuite/tests/ghci.debugger/scripts/result001.stdout2
61 files changed, 171 insertions, 276 deletions
diff --git a/testsuite/tests/ghci.debugger/scripts/T2740.script b/testsuite/tests/ghci.debugger/scripts/T2740.script
index a7bd833690..68554eca2e 100644
--- a/testsuite/tests/ghci.debugger/scripts/T2740.script
+++ b/testsuite/tests/ghci.debugger/scripts/T2740.script
@@ -1,7 +1,6 @@
:seti -XMonomorphismRestriction
:l T2740.hs
:step f 1 2 3
-:step
:print x
:print y
:force x
diff --git a/testsuite/tests/ghci.debugger/scripts/T2740.stdout b/testsuite/tests/ghci.debugger/scripts/T2740.stdout
index 1f3e6d9ac5..efa5b1dd1e 100644
--- a/testsuite/tests/ghci.debugger/scripts/T2740.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/T2740.stdout
@@ -1,6 +1,4 @@
-Stopped at T2740.hs:(3,1)-(4,25)
-_result :: a2 = _
-Stopped at T2740.hs:3:11-13
+Stopped in Test.f, T2740.hs:3:11-13
_result :: Bool = _
x :: Integer = 1
y :: Integer = 2
diff --git a/testsuite/tests/ghci.debugger/scripts/break001.script b/testsuite/tests/ghci.debugger/scripts/break001.script
index ec02c70dcc..a4d2634feb 100644
--- a/testsuite/tests/ghci.debugger/scripts/break001.script
+++ b/testsuite/tests/ghci.debugger/scripts/break001.script
@@ -3,8 +3,6 @@
:b 5
f (1 :: Integer)
:st
-:st
-:st
-- Test that the binding for x is now gone
:show bindings
y
diff --git a/testsuite/tests/ghci.debugger/scripts/break001.stdout b/testsuite/tests/ghci.debugger/scripts/break001.stdout
index 02ba1bbe93..99ffda067a 100644
--- a/testsuite/tests/ghci.debugger/scripts/break001.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break001.stdout
@@ -1,13 +1,9 @@
-Breakpoint 0 activated at ../Test2.hs:3:1-9
-Breakpoint 1 activated at ../Test2.hs:5:1-7
-Stopped at ../Test2.hs:3:1-9
-_result :: r = _
-Stopped at ../Test2.hs:3:7-9
+Breakpoint 0 activated at ../Test2.hs:3:7-9
+Breakpoint 1 activated at ../Test2.hs:5:7
+Stopped in Test2.f, ../Test2.hs:3:7-9
_result :: Integer = _
x :: Integer = 1
-Stopped at ../Test2.hs:5:1-7
-_result :: r = _
-Stopped at ../Test2.hs:5:7
+Stopped in Test2.g, ../Test2.hs:5:7
_result :: Integer = _
y :: Integer = 1
y :: Integer = 1
diff --git a/testsuite/tests/ghci.debugger/scripts/break003.stdout b/testsuite/tests/ghci.debugger/scripts/break003.stdout
index b1aa8ba2d2..1d0844c6cc 100644
--- a/testsuite/tests/ghci.debugger/scripts/break003.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break003.stdout
@@ -1,5 +1,5 @@
Breakpoint 0 activated at ../Test3.hs:2:18-31
-Stopped at ../Test3.hs:2:18-31
+Stopped in Main.mymap, ../Test3.hs:2:18-31
_result :: [t] = _
f :: t1 -> t = _
x :: t1 = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break005.stdout b/testsuite/tests/ghci.debugger/scripts/break005.stdout
index 65eeb56cf1..81eae63726 100644
--- a/testsuite/tests/ghci.debugger/scripts/break005.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break005.stdout
@@ -1,9 +1,10 @@
-Stopped at ../QSort.hs:(4,1)-(6,55)
-_result :: [t] = _
-Stopped at ../QSort.hs:5:16-51
+Stopped in QSort.qsort, ../QSort.hs:5:16-51
_result :: [Integer] = _
a :: Integer = 1
left :: [Integer] = _
right :: [Integer] = _
+Stopped in QSort.qsort, ../QSort.hs:5:17-26
+_result :: [t] = _
+left :: [t] = _
()
left = []
diff --git a/testsuite/tests/ghci.debugger/scripts/break006.script b/testsuite/tests/ghci.debugger/scripts/break006.script
index 38cd1e14ba..6cbc050742 100644
--- a/testsuite/tests/ghci.debugger/scripts/break006.script
+++ b/testsuite/tests/ghci.debugger/scripts/break006.script
@@ -1,6 +1,5 @@
:l ../Test3.hs
:st mymap (+1) [1::Integer,2,3]
-:st
:show bindings
f x -- should fail, unknown return type
let y = f x
@@ -11,4 +10,3 @@ y
-- we know the result is Integer now
f x
-- should work now
-
diff --git a/testsuite/tests/ghci.debugger/scripts/break006.stderr b/testsuite/tests/ghci.debugger/scripts/break006.stderr
index 58faa697c5..3b57eb3a64 100644
--- a/testsuite/tests/ghci.debugger/scripts/break006.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/break006.stderr
@@ -1,9 +1,9 @@
-<interactive>:5:1: error:
+<interactive>:4:1: error:
• No instance for (Show t) arising from a use of ‘print’
Cannot resolve unknown runtime type ‘t’
Use :print or :force to determine these types
- Relevant bindings include it :: t (bound at <interactive>:5:1)
+ Relevant bindings include it :: t (bound at <interactive>:4:1)
These potential instances exist:
instance (Show a, Show b) => Show (Either a b)
-- Defined in ‘Data.Either’
@@ -14,11 +14,11 @@
(use -fprint-potential-instances to see them all)
• In a stmt of an interactive GHCi command: print it
-<interactive>:7:1: error:
+<interactive>:6:1: error:
• No instance for (Show t) arising from a use of ‘print’
Cannot resolve unknown runtime type ‘t’
Use :print or :force to determine these types
- Relevant bindings include it :: t (bound at <interactive>:7:1)
+ Relevant bindings include it :: t (bound at <interactive>:6:1)
These potential instances exist:
instance (Show a, Show b) => Show (Either a b)
-- Defined in ‘Data.Either’
diff --git a/testsuite/tests/ghci.debugger/scripts/break006.stdout b/testsuite/tests/ghci.debugger/scripts/break006.stdout
index 374fffd29a..d8f1b65864 100644
--- a/testsuite/tests/ghci.debugger/scripts/break006.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break006.stdout
@@ -1,6 +1,4 @@
-Stopped at ../Test3.hs:(1,1)-(2,31)
-_result :: [t] = _
-Stopped at ../Test3.hs:2:18-31
+Stopped in Main.mymap, ../Test3.hs:2:18-31
_result :: [t] = _
f :: Integer -> t = _
x :: Integer = 1
diff --git a/testsuite/tests/ghci.debugger/scripts/break008.stdout b/testsuite/tests/ghci.debugger/scripts/break008.stdout
index 6961fa3cec..1a8427fa4f 100644
--- a/testsuite/tests/ghci.debugger/scripts/break008.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break008.stdout
@@ -1,3 +1,3 @@
Breakpoint 0 activated at ../Test3.hs:1:14-15
-Stopped at ../Test3.hs:1:14-15
+Stopped in Main.mymap, ../Test3.hs:1:14-15
_result :: [a] = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break009.stdout b/testsuite/tests/ghci.debugger/scripts/break009.stdout
index 9a4fa56446..49515cf98f 100644
--- a/testsuite/tests/ghci.debugger/scripts/break009.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break009.stdout
@@ -1,5 +1,5 @@
Breakpoint 0 activated at ../Test6.hs:5:8-11
-Stopped at ../Test6.hs:5:8-11
+Stopped in Main.main, ../Test6.hs:5:8-11
_result :: a2 = _
*** Exception: Prelude.head: empty list
CallStack (from ImplicitParams):
diff --git a/testsuite/tests/ghci.debugger/scripts/break010.stdout b/testsuite/tests/ghci.debugger/scripts/break010.stdout
index 682f4c3c1c..0bc0da7916 100644
--- a/testsuite/tests/ghci.debugger/scripts/break010.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break010.stdout
@@ -1,5 +1,5 @@
Breakpoint 0 activated at ../Test6.hs:5:8-11
-Stopped at ../Test6.hs:5:8-11
+Stopped in Main.main, ../Test6.hs:5:8-11
_result :: a2 = _
-Stopped at ../Test6.hs:5:8-11
+Stopped in Main.main, ../Test6.hs:5:8-11
_result :: a2 = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break011.stdout b/testsuite/tests/ghci.debugger/scripts/break011.stdout
index ec0b3e9609..5839067e8c 100644
--- a/testsuite/tests/ghci.debugger/scripts/break011.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break011.stdout
@@ -1,9 +1,9 @@
*** Exception: foo
CallStack (from ImplicitParams):
error, called at <interactive>:2:1 in interactive:Ghci1
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = _
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = _
-1 : main (../Test7.hs:2:18-28)
-2 : main (../Test7.hs:2:8-29)
@@ -15,7 +15,7 @@ _result :: IO a3
no more logged breakpoints
Logged breakpoint at ../Test7.hs:2:18-28
_result :: a3
-Stopped at <exception thrown>
+Stopped at <unknown>
_exception :: e
already at the beginning of the history
_exception = SomeException
@@ -32,13 +32,13 @@ _exception :: SomeException = SomeException
*** Exception: foo
CallStack (from ImplicitParams):
error, called at ../Test7.hs:2:18 in main:Main
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = SomeException
(ErrorCallWithLocation
"foo"
"CallStack (from ImplicitParams):
error, called at ../Test7.hs:2:18 in main:Main")
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = SomeException
(ErrorCallWithLocation
"foo"
diff --git a/testsuite/tests/ghci.debugger/scripts/break012.script b/testsuite/tests/ghci.debugger/scripts/break012.script
index 749947a4a9..acb5230051 100644
--- a/testsuite/tests/ghci.debugger/scripts/break012.script
+++ b/testsuite/tests/ghci.debugger/scripts/break012.script
@@ -1,9 +1,8 @@
-- Test polymorphic types in a breakpoint
:l break012
:st g 5 `seq` ()
-:st
-:t a
-:t b
-:t c
+:t a
+:t b
+:t c
:t d
:p a b c d
diff --git a/testsuite/tests/ghci.debugger/scripts/break012.stdout b/testsuite/tests/ghci.debugger/scripts/break012.stdout
index 6b023718dc..4eed1e61f0 100644
--- a/testsuite/tests/ghci.debugger/scripts/break012.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break012.stdout
@@ -1,6 +1,4 @@
-Stopped at break012.hs:(1,1)-(5,18)
-_result :: (r, a3 -> a3, (), a2 -> a2 -> a2) = _
-Stopped at break012.hs:5:10-18
+Stopped in Main.g, break012.hs:5:10-18
_result :: (r, a3 -> a3, (), a2 -> a2 -> a2) = _
a :: r = _
b :: a4 -> a4 = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break013.script b/testsuite/tests/ghci.debugger/scripts/break013.script
index b14e4c135f..1b0a84272d 100644
--- a/testsuite/tests/ghci.debugger/scripts/break013.script
+++ b/testsuite/tests/ghci.debugger/scripts/break013.script
@@ -1,5 +1,4 @@
-- Available bindings at where(s)
:l break013
:st g 1 `seq` ()
-:st
:show bindings
diff --git a/testsuite/tests/ghci.debugger/scripts/break013.stdout b/testsuite/tests/ghci.debugger/scripts/break013.stdout
index 13d203f0b3..52aa48ee83 100644
--- a/testsuite/tests/ghci.debugger/scripts/break013.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break013.stdout
@@ -1,6 +1,4 @@
-Stopped at break013.hs:(1,1)-(4,18)
-_result :: (Bool, Bool, ()) = _
-Stopped at break013.hs:1:7-13
+Stopped in Main.g, break013.hs:1:7-13
_result :: (Bool, Bool, ()) = _
a :: Bool = _
b :: Bool = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break014.stdout b/testsuite/tests/ghci.debugger/scripts/break014.stdout
index 3d284bf11f..9197622dc8 100644
--- a/testsuite/tests/ghci.debugger/scripts/break014.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break014.stdout
@@ -1,5 +1,5 @@
Breakpoint 0 activated at break014.hs:3:15-19
-Stopped at break014.hs:3:15-19
+Stopped in Main.g.c, break014.hs:3:15-19
_result :: (Bool, Bool) = _
a :: Bool = _
b :: Bool = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break017.stdout b/testsuite/tests/ghci.debugger/scripts/break017.stdout
index e7e1817ecf..6c8513f00b 100644
--- a/testsuite/tests/ghci.debugger/scripts/break017.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break017.stdout
@@ -1,4 +1,4 @@
-"Stopped at <exception thrown>
+"Stopped in <exception thrown>, <unknown>
_exception :: e = _
Logged breakpoint at ../QSort.hs:6:24-38
_result :: [Char]
diff --git a/testsuite/tests/ghci.debugger/scripts/break018.script b/testsuite/tests/ghci.debugger/scripts/break018.script
index 0a4c70ef5a..a30af6bfd1 100644
--- a/testsuite/tests/ghci.debugger/scripts/break018.script
+++ b/testsuite/tests/ghci.debugger/scripts/break018.script
@@ -1,9 +1,8 @@
-- Check mdo statements: availability of local bindings.
--- Maybe we should not want to put in scope the things binded in the mdo scope, to avoid silliness.
+-- Maybe we should not want to put in scope the things binded in the mdo scope, to avoid silliness.
:set -XRecursiveDo
:l ../mdo.hs
:st l2dll "hello world"
:st
:st
-:st
diff --git a/testsuite/tests/ghci.debugger/scripts/break018.stdout b/testsuite/tests/ghci.debugger/scripts/break018.stdout
index d9c6b6e06a..4ca3d6aece 100644
--- a/testsuite/tests/ghci.debugger/scripts/break018.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break018.stdout
@@ -1,13 +1,14 @@
-Stopped at ../mdo.hs:(30,1)-(32,27)
-_result :: IO (N a7) = _
-Stopped at ../mdo.hs:(30,16)-(32,27)
+Stopped in Main.l2dll, ../mdo.hs:(30,16)-(32,27)
_result :: IO (N Char) = _
x :: Char = 'h'
xs :: [Char] = _
-Stopped at ../mdo.hs:30:30-42
+Stopped in Main.l2dll, ../mdo.hs:30:30-42
_result :: IO (N Char) = _
f :: N Char = _
l :: N Char = _
x :: Char = 'h'
-Stopped at ../mdo.hs:(8,1)-(9,42)
-_result :: IO (N a7) = _
+Stopped in Main.newNode, ../mdo.hs:(8,17)-(9,42)
+_result :: IO (N Char) = _
+b :: N Char = _
+c :: Char = 'h'
+f :: N Char = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break020.stdout b/testsuite/tests/ghci.debugger/scripts/break020.stdout
index 0c7b0a4fc9..cab4e5ecde 100644
--- a/testsuite/tests/ghci.debugger/scripts/break020.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break020.stdout
@@ -1,4 +1,4 @@
-Stopped at break020.hs:(9,8)-(15,11)
+Stopped in Main.main, break020.hs:(9,8)-(15,11)
_result :: IO () = _
8
vv
@@ -10,31 +10,31 @@ _result :: IO () = _
14 line2 1
15 return ()
^^
-Stopped at break020.hs:10:3-9
+Stopped in Main.main, break020.hs:10:3-9
_result :: IO () = _
9 main = do
10 line1 0
^^^^^^^
11 line2 0
-Stopped at break020.hs:11:3-9
+Stopped in Main.main, break020.hs:11:3-9
_result :: IO () = _
10 line1 0
11 line2 0
^^^^^^^
12 in_another_decl 0
-Stopped at break020.hs:12:3-19
+Stopped in Main.main, break020.hs:12:3-19
_result :: IO () = _
11 line2 0
12 in_another_decl 0
^^^^^^^^^^^^^^^^^
13 in_another_module 0
-Stopped at break020.hs:13:3-21
+Stopped in Main.main, break020.hs:13:3-21
_result :: IO () = _
12 in_another_decl 0
13 in_another_module 0
^^^^^^^^^^^^^^^^^^^
14 line2 1
-Stopped at break020.hs:14:3-9
+Stopped in Main.main, break020.hs:14:3-9
_result :: IO () = _
13 in_another_module 0
14 line2 1
diff --git a/testsuite/tests/ghci.debugger/scripts/break021.script b/testsuite/tests/ghci.debugger/scripts/break021.script
index e9251d6613..c72831d3fd 100644
--- a/testsuite/tests/ghci.debugger/scripts/break021.script
+++ b/testsuite/tests/ghci.debugger/scripts/break021.script
@@ -16,8 +16,3 @@
:stepmodule
:stepmodule
:stepmodule
-:stepmodule
-:stepmodule
-:stepmodule
-:stepmodule
-:stepmodule \ No newline at end of file
diff --git a/testsuite/tests/ghci.debugger/scripts/break021.stdout b/testsuite/tests/ghci.debugger/scripts/break021.stdout
index 3a78eafce7..cc680a5b30 100644
--- a/testsuite/tests/ghci.debugger/scripts/break021.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break021.stdout
@@ -1,4 +1,4 @@
-Stopped at break020.hs:(9,8)-(15,11)
+Stopped in Main.main, break020.hs:(9,8)-(15,11)
_result :: IO () = _
8
vv
@@ -10,57 +10,37 @@ _result :: IO () = _
14 line2 1
15 return ()
^^
-Stopped at break020.hs:10:3-9
+Stopped in Main.main, break020.hs:10:3-9
_result :: IO () = _
9 main = do
10 line1 0
^^^^^^^
11 line2 0
-Stopped at break020.hs:3:1-19
-_result :: IO () = _
-2
-3 line1 _ = return ()
- ^^^^^^^^^^^^^^^^^^^
-4 line2 _ = return ()
-Stopped at break020.hs:3:11-19
+Stopped in Main.line1, break020.hs:3:11-19
_result :: IO () = _
2
3 line1 _ = return ()
^^^^^^^^^
4 line2 _ = return ()
-Stopped at break020.hs:11:3-9
+Stopped in Main.main, break020.hs:11:3-9
_result :: IO () = _
10 line1 0
11 line2 0
^^^^^^^
12 in_another_decl 0
-Stopped at break020.hs:4:1-19
-_result :: IO () = _
-3 line1 _ = return ()
-4 line2 _ = return ()
- ^^^^^^^^^^^^^^^^^^^
-5
-Stopped at break020.hs:4:11-19
+Stopped in Main.line2, break020.hs:4:11-19
_result :: IO () = _
3 line1 _ = return ()
4 line2 _ = return ()
^^^^^^^^^
5
-Stopped at break020.hs:12:3-19
+Stopped in Main.main, break020.hs:12:3-19
_result :: IO () = _
11 line2 0
12 in_another_decl 0
^^^^^^^^^^^^^^^^^
13 in_another_module 0
-Stopped at break020.hs:(6,1)-(7,30)
-_result :: m () = _
-5
- vv
-6 in_another_decl _ = do line1 0
-7 line2 0
- ^^
-8
-Stopped at break020.hs:(6,21)-(7,30)
+Stopped in Main.in_another_decl, break020.hs:(6,21)-(7,30)
_result :: m () = _
5
vv
@@ -68,67 +48,49 @@ _result :: m () = _
7 line2 0
^^
8
-Stopped at break020.hs:6:24-30
+Stopped in Main.in_another_decl, break020.hs:6:24-30
_result :: m () = _
5
6 in_another_decl _ = do line1 0
^^^^^^^
7 line2 0
-Stopped at break020.hs:3:1-19
-_result :: m () = _
-2
-3 line1 _ = return ()
- ^^^^^^^^^^^^^^^^^^^
-4 line2 _ = return ()
-Stopped at break020.hs:3:11-19
+Stopped in Main.line1, break020.hs:3:11-19
_result :: m () = _
2
3 line1 _ = return ()
^^^^^^^^^
4 line2 _ = return ()
-Stopped at break020.hs:7:24-30
+Stopped in Main.in_another_decl, break020.hs:7:24-30
_result :: m () = _
6 in_another_decl _ = do line1 0
7 line2 0
^^^^^^^
8
-Stopped at break020.hs:4:1-19
-_result :: m () = _
-3 line1 _ = return ()
-4 line2 _ = return ()
- ^^^^^^^^^^^^^^^^^^^
-5
-Stopped at break020.hs:4:11-19
+Stopped in Main.line2, break020.hs:4:11-19
_result :: m () = _
3 line1 _ = return ()
4 line2 _ = return ()
^^^^^^^^^
5
-Stopped at break020.hs:13:3-21
+Stopped in Main.main, break020.hs:13:3-21
_result :: IO () = _
12 in_another_decl 0
13 in_another_module 0
^^^^^^^^^^^^^^^^^^^
14 line2 1
-Stopped at break020.hs:14:3-9
+Stopped in Main.main, break020.hs:14:3-9
_result :: IO () = _
13 in_another_module 0
14 line2 1
^^^^^^^
15 return ()
-Stopped at break020.hs:4:1-19
-_result :: IO () = _
-3 line1 _ = return ()
-4 line2 _ = return ()
- ^^^^^^^^^^^^^^^^^^^
-5
-Stopped at break020.hs:4:11-19
+Stopped in Main.line2, break020.hs:4:11-19
_result :: IO () = _
3 line1 _ = return ()
4 line2 _ = return ()
^^^^^^^^^
5
-Stopped at break020.hs:15:3-11
+Stopped in Main.main, break020.hs:15:3-11
_result :: IO () = _
14 line2 1
15 return ()
diff --git a/testsuite/tests/ghci.debugger/scripts/break022/break022.script b/testsuite/tests/ghci.debugger/scripts/break022/break022.script
index 15e505ff71..33780a1408 100644
--- a/testsuite/tests/ghci.debugger/scripts/break022/break022.script
+++ b/testsuite/tests/ghci.debugger/scripts/break022/break022.script
@@ -6,7 +6,7 @@
-- B.boot (imports A)
-- C (imports A and B)
--- And we load C, to debug some function in A which enters B.
+-- And we load C, to debug some function in A which enters B.
-- But first we touch A, and reload. B.boot will be reloaded, but not B, which will end up with an empty modbreaks. When we :step into B, ghci will die with an out of bounds access in B's break array.
-- The effect we want is B.boot being reloaded while B is not.
@@ -17,5 +17,4 @@
:break a
a ()
:st
-:st
-:st -- here we step into B, and produce the exception \ No newline at end of file
+:st -- here we step into B, and produce the exception
diff --git a/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout b/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout
index f4b804296f..b74e590ccc 100644
--- a/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout
@@ -1,8 +1,7 @@
-Breakpoint 0 activated at A.hs:4:1-9
-Stopped at A.hs:4:1-9
-_result :: a3 = _
-Stopped at A.hs:4:7-9
+Breakpoint 0 activated at A.hs:4:7-9
+Stopped in A.a, A.hs:4:7-9
+_result :: () = _
+x :: () = ()
+Stopped in B.b, B.hs:5:7
_result :: () = _
x :: () = ()
-Stopped at B.hs:5:1-7
-_result :: r = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout b/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout
index 2b6c85daf4..e43c7cebaf 100644
--- a/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout
@@ -1,2 +1,2 @@
-Breakpoint 0 activated at B.hs:5:1-7
-Breakpoint 1 activated at B.hs:5:1-7
+Breakpoint 0 activated at B.hs:5:7
+Breakpoint 1 activated at B.hs:5:7
diff --git a/testsuite/tests/ghci.debugger/scripts/break024.stdout b/testsuite/tests/ghci.debugger/scripts/break024.stdout
index 548e7a4470..8c09cb5533 100644
--- a/testsuite/tests/ghci.debugger/scripts/break024.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break024.stdout
@@ -1,19 +1,19 @@
Left user error (error)
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = _
_exception = SomeException
(GHC.IO.Exception.IOError
Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing)
*** Exception: user error (error)
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = _
_exception = SomeException
(GHC.IO.Exception.IOError
Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing)
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = SomeException
(GHC.IO.Exception.IOError Nothing GHC.IO.Exception.UserError ....)
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = _
_exception = SomeException
(GHC.IO.Exception.IOError
diff --git a/testsuite/tests/ghci.debugger/scripts/break025.stdout b/testsuite/tests/ghci.debugger/scripts/break025.stdout
index e38f173aff..f3ddd73d2e 100644
--- a/testsuite/tests/ghci.debugger/scripts/break025.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break025.stdout
@@ -1,3 +1,3 @@
-Stopped at <exception thrown>
+Stopped in <exception thrown>, <unknown>
_exception :: e = _
()
diff --git a/testsuite/tests/ghci.debugger/scripts/break026.script b/testsuite/tests/ghci.debugger/scripts/break026.script
index b2dd79ef97..3d1da54f4d 100644
--- a/testsuite/tests/ghci.debugger/scripts/break026.script
+++ b/testsuite/tests/ghci.debugger/scripts/break026.script
@@ -2,9 +2,6 @@
:step foldl (+) 0 [1::Integer .. 5]
:step
:step
-:step
-:step
-:step
:force c
-- answer should be 1
@@ -12,9 +9,6 @@
:step foldl (+) 0 [1::Integer .. 5]
:step
:step
-:step
-:step
-:step
-- a diversion to single-step the evaluation of c:
:step c `seq` ()
:step
diff --git a/testsuite/tests/ghci.debugger/scripts/break026.stdout b/testsuite/tests/ghci.debugger/scripts/break026.stdout
index 9afc3f470e..90c1f2ee9e 100644
--- a/testsuite/tests/ghci.debugger/scripts/break026.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break026.stdout
@@ -1,55 +1,39 @@
-Stopped at break026.hs:(5,1)-(7,35)
-_result :: t = _
-Stopped at break026.hs:5:16-22
+Stopped in Test.foldl, break026.hs:5:16-22
_result :: Integer = _
c :: Integer = 0
go :: Integer -> [t1] -> Integer = _
xs :: [t1] = _
-Stopped at break026.hs:(6,9)-(7,35)
-_result :: t = _
-f :: t -> t1 -> t = _
-Stopped at break026.hs:7:23-35
+Stopped in Test.foldl.go, break026.hs:7:23-35
_result :: Integer = _
c :: Integer = 0
f :: Integer -> Integer -> Integer = _
x :: Integer = 1
xs :: [Integer] = _
-Stopped at break026.hs:(6,9)-(7,35)
-_result :: t = _
-f :: t -> t1 -> t = _
-Stopped at break026.hs:7:23-35
+Stopped in Test.foldl.go, break026.hs:7:23-35
_result :: t = _
c :: t = _
f :: t -> Integer -> t = _
x :: Integer = 2
xs :: [Integer] = _
c = 1
-Stopped at break026.hs:(5,1)-(7,35)
-_result :: t = _
-Stopped at break026.hs:5:16-22
+Stopped in Test.foldl, break026.hs:5:16-22
_result :: Integer = _
c :: Integer = 0
go :: Integer -> [t1] -> Integer = _
xs :: [t1] = _
-Stopped at break026.hs:(6,9)-(7,35)
-_result :: t = _
-f :: t -> t1 -> t = _
-Stopped at break026.hs:7:23-35
+Stopped in Test.foldl.go, break026.hs:7:23-35
_result :: Integer = _
c :: Integer = 0
f :: Integer -> Integer -> Integer = _
x :: Integer = 1
xs :: [Integer] = _
-Stopped at break026.hs:(6,9)-(7,35)
-_result :: t = _
-f :: t -> t1 -> t = _
-Stopped at break026.hs:7:23-35
+Stopped in Test.foldl.go, break026.hs:7:23-35
_result :: t = _
c :: t = _
f :: t -> Integer -> t = _
x :: Integer = 2
xs :: [Integer] = _
-Stopped at break026.hs:7:27-31
+Stopped in Test.foldl.go, break026.hs:7:27-31
_result :: Integer = _
c :: Integer = 0
f :: Integer -> Integer -> Integer = _
diff --git a/testsuite/tests/ghci.debugger/scripts/break027.script b/testsuite/tests/ghci.debugger/scripts/break027.script
index 5c5a5f9c65..039e18a7b5 100644
--- a/testsuite/tests/ghci.debugger/scripts/break027.script
+++ b/testsuite/tests/ghci.debugger/scripts/break027.script
@@ -1,5 +1,4 @@
:l ../QSort
:break qsort
qsort [3::Integer,2,1]
-:step
:i a
diff --git a/testsuite/tests/ghci.debugger/scripts/break027.stdout b/testsuite/tests/ghci.debugger/scripts/break027.stdout
index 903b7b772a..895ce8bcfa 100644
--- a/testsuite/tests/ghci.debugger/scripts/break027.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break027.stdout
@@ -1,9 +1,8 @@
-Breakpoint 0 activated at ..\QSort.hs:(4,1)-(6,55)
-Stopped at ..\QSort.hs:(4,1)-(6,55)
-_result :: [t] = _
-Stopped at ..\QSort.hs:5:16-51
-_result :: [Integer] = _
-a :: Integer = 3
-left :: [Integer] = _
-right :: [Integer] = _
-a :: Integer -- Defined in ‘interactive:Ghci2’
+Breakpoint 0 activated at ../QSort.hs:4:12-13
+Breakpoint 1 activated at ../QSort.hs:5:16-51
+Stopped in QSort.qsort, ../QSort.hs:5:16-51
+_result :: [Integer] = _
+a :: Integer = 3
+left :: [Integer] = _
+right :: [Integer] = _
+a :: Integer -- Defined in ‘interactive:Ghci1’
diff --git a/testsuite/tests/ghci.debugger/scripts/break028.stdout b/testsuite/tests/ghci.debugger/scripts/break028.stdout
index bbe47267b0..790795669f 100644
--- a/testsuite/tests/ghci.debugger/scripts/break028.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break028.stdout
@@ -1,5 +1,6 @@
-Stopped at break028.hs:15:1-24
-_result :: Id a4 = _
-Stopped at break028.hs:15:23-24
+Stopped in Main.g, break028.hs:15:23-24
_result :: Id a4 = _
x' :: Id a4 = _
+Stopped in Main.g.x', break028.hs:15:16-18
+_result :: Id Bool = _
+x :: Bool = False
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout
index 4eda16ea26..f4d7444aac 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout
@@ -1,5 +1,5 @@
Breakpoint 0 activated at ../QSort.hs:5:16-51
-Stopped at ../QSort.hs:5:16-51
+Stopped in QSort.qsort, ../QSort.hs:5:16-51
_result :: [Integer] = _
a :: Integer = 8
left :: [Integer] = _
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout
index 22adee0db2..f9d528151e 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout
@@ -1,11 +1,11 @@
-Stopped at dynbrk007.hs:(2,5)-(6,11)
+Stopped in Main.f, dynbrk007.hs:(2,5)-(6,11)
_result :: Maybe Int = _
-Stopped at dynbrk007.hs:3:9-16
+Stopped in Main.f, dynbrk007.hs:3:9-16
_result :: Maybe Int = _
-Stopped at dynbrk007.hs:4:9-16
+Stopped in Main.f, dynbrk007.hs:4:9-16
_result :: Maybe Integer = _
-Stopped at dynbrk007.hs:5:9-16
+Stopped in Main.f, dynbrk007.hs:5:9-16
_result :: Maybe Integer = _
-Stopped at dynbrk007.hs:6:4-11
+Stopped in Main.f, dynbrk007.hs:6:4-11
_result :: Maybe Int = _
i :: Int = 1
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk008.script b/testsuite/tests/ghci.debugger/scripts/dynbrk008.script
index e99ee6076e..e40c6d92b5 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk008.script
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk008.script
@@ -6,4 +6,3 @@
:st
:st
:st
-:st
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout
index 722f2991f3..88a7964a21 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout
@@ -1,15 +1,13 @@
-Stopped at dynbrk008.hs:2:1-41
-_result :: [Int] = _
-Stopped at dynbrk008.hs:2:7-41
+Stopped in Main.f, dynbrk008.hs:2:7-41
_result :: [Int] = _
i :: Int = 42
-Stopped at dynbrk008.hs:2:18-20
+Stopped in Main.f, dynbrk008.hs:2:18-20
_result :: [Int] = _
i :: Int = 42
-Stopped at dynbrk008.hs:2:28-30
+Stopped in Main.f, dynbrk008.hs:2:28-30
_result :: [Int] = _
j :: Int = 42
-Stopped at dynbrk008.hs:2:38-40
+Stopped in Main.f, dynbrk008.hs:2:38-40
_result :: [Int] = _
h :: Int = 42
[42]
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk009.script b/testsuite/tests/ghci.debugger/scripts/dynbrk009.script
index 7d00f193a5..c90a31c6aa 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk009.script
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk009.script
@@ -7,4 +7,3 @@
:st
:st
:st
-:st
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout
index 65ab5e6126..96a086f91f 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout
@@ -1,8 +1,7 @@
-Stopped at dynbrk009.hs:8:22
+Stopped in Main.test.(...), dynbrk009.hs:8:22
_result :: Int = _
-Stopped at dynbrk009.hs:8:27-36
+Stopped in Main.test, dynbrk009.hs:8:27-36
_result :: Int = _
-Stopped at dynbrk009.hs:8:31-35
-Stopped at dynbrk009.hs:6:1-9
-Stopped at dynbrk009.hs:6:9
+Stopped in Main.test, dynbrk009.hs:8:31-35
+Stopped in Main.f, dynbrk009.hs:6:9
3
diff --git a/testsuite/tests/ghci.debugger/scripts/getargs.stdout b/testsuite/tests/ghci.debugger/scripts/getargs.stdout
index 659308cd77..3169eb6b1f 100644
--- a/testsuite/tests/ghci.debugger/scripts/getargs.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/getargs.stdout
@@ -1,3 +1,3 @@
-Stopped at ..\getargs.hs:3:8-24
+Stopped in Main.main, ../getargs.hs:3:8-24
_result :: IO () = _
["42"]
diff --git a/testsuite/tests/ghci.debugger/scripts/hist001.stdout b/testsuite/tests/ghci.debugger/scripts/hist001.stdout
index 3a70f6aa1e..7ef5dc1e8e 100644
--- a/testsuite/tests/ghci.debugger/scripts/hist001.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/hist001.stdout
@@ -1,19 +1,13 @@
Breakpoint 0 activated at ../Test3.hs:1:14-15
-[2,3Stopped at ../Test3.hs:1:14-15
+[2,3Stopped in Main.mymap, ../Test3.hs:1:14-15
_result :: [a] = _
--1 : mymap (../Test3.hs:(1,1)-(2,31))
--2 : mymap (../Test3.hs:2:22-31)
--3 : mymap (../Test3.hs:2:18-20)
--4 : mymap (../Test3.hs:2:18-31)
--5 : mymap (../Test3.hs:(1,1)-(2,31))
--6 : mymap (../Test3.hs:2:22-31)
--7 : mymap (../Test3.hs:2:18-20)
--8 : mymap (../Test3.hs:2:18-31)
--9 : mymap (../Test3.hs:(1,1)-(2,31))
+-1 : mymap (../Test3.hs:2:22-31)
+-2 : mymap (../Test3.hs:2:18-20)
+-3 : mymap (../Test3.hs:2:18-31)
+-4 : mymap (../Test3.hs:2:22-31)
+-5 : mymap (../Test3.hs:2:18-20)
+-6 : mymap (../Test3.hs:2:18-31)
<end of history>
-Logged breakpoint at ../Test3.hs:(1,1)-(2,31)
-_result :: [t]
-_result :: [t] = _
Logged breakpoint at ../Test3.hs:2:22-31
_result :: [t]
f :: t1 -> t
@@ -21,11 +15,19 @@ xs :: [t1]
xs :: [t1] = []
f :: t1 -> t = _
_result :: [t] = _
-*** Ignoring breakpoint
-_result = []
Logged breakpoint at ../Test3.hs:2:18-20
_result :: t
f :: Integer -> t
x :: Integer
-Logged breakpoint at ../Test3.hs:2:22-31
+xs :: [t1] = []
+x :: Integer = 2
+f :: Integer -> t = _
+_result :: t = _
+_result = 3
+Logged breakpoint at ../Test3.hs:2:18-31
_result :: [t]
+f :: Integer -> t
+x :: Integer
+xs :: [Integer]
+Logged breakpoint at ../Test3.hs:2:18-20
+_result :: t
diff --git a/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout b/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout
index 26a27ac5a5..956ae6a97a 100644
--- a/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout
@@ -5,7 +5,6 @@ cannot list source code for map: module GHC.Base is not interpreted
1 mymap f [] = []
2 mymap f (x:xs) = f x:mymap f xs
3
-3
4 main = mapM_ putStrLn $ mymap ('a':) ["hello","bye"]
5
3
diff --git a/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout b/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout
index 95854884b2..574f3e341a 100644
--- a/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout
@@ -1,6 +1,6 @@
-Stopped at listCommand002.hs:(3,8)-(5,24)
+Stopped in Main.main, listCommand002.hs:(3,8)-(5,24)
_result :: IO () = _
-Stopped at listCommand002.hs:4:3-26
+Stopped in Main.main, listCommand002.hs:4:3-26
_result :: IO () = _
-Stopped at listCommand002.hs:5:3-24
+Stopped in Main.main, listCommand002.hs:5:3-24
_result :: IO () = _
diff --git a/testsuite/tests/ghci.debugger/scripts/print005.stdout b/testsuite/tests/ghci.debugger/scripts/print005.stdout
index b193d1350f..171055ade6 100644
--- a/testsuite/tests/ghci.debugger/scripts/print005.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print005.stdout
@@ -1,5 +1,5 @@
Breakpoint 0 activated at ../QSort.hs:5:16-51
-Stopped at ../QSort.hs:5:16-51
+Stopped in QSort.qsort, ../QSort.hs:5:16-51
_result :: [Integer] = _
a :: Integer = 8
left :: [Integer] = _
@@ -12,7 +12,7 @@ left = (_t2::[Integer])
left = 4 : (_t3::[Integer])
1
left = [4]
-Stopped at ../QSort.hs:5:16-51
+Stopped in QSort.qsort, ../QSort.hs:5:16-51
_result :: [Integer] = _
a :: Integer = 4
left :: [Integer] = _
diff --git a/testsuite/tests/ghci.debugger/scripts/print018.script b/testsuite/tests/ghci.debugger/scripts/print018.script
index 695dfca291..12f7cc1519 100644
--- a/testsuite/tests/ghci.debugger/scripts/print018.script
+++ b/testsuite/tests/ghci.debugger/scripts/print018.script
@@ -6,7 +6,6 @@
:break poly
poly Unary
-:step
:p x
:t x
seq x ()
diff --git a/testsuite/tests/ghci.debugger/scripts/print018.stdout b/testsuite/tests/ghci.debugger/scripts/print018.stdout
index 614b7d3657..65e4302f7c 100644
--- a/testsuite/tests/ghci.debugger/scripts/print018.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print018.stdout
@@ -1,7 +1,5 @@
-Breakpoint 0 activated at ../Test.hs:40:1-17
-Stopped at ../Test.hs:40:1-17
-_result :: () = _
-Stopped at ../Test.hs:40:10-17
+Breakpoint 0 activated at ../Test.hs:40:10-17
+Stopped in Test.Test2.poly, ../Test.hs:40:10-17
_result :: () = _
x :: a41 = _
x = (_t1::a41)
diff --git a/testsuite/tests/ghci.debugger/scripts/print020.stdout b/testsuite/tests/ghci.debugger/scripts/print020.stdout
index 80e9473911..bbeeae1223 100644
--- a/testsuite/tests/ghci.debugger/scripts/print020.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print020.stdout
@@ -1,14 +1,19 @@
-Breakpoint 0 activated at ../HappyTest.hs:(226,1)-(237,35)
-Stopped at ../HappyTest.hs:(226,1)-(237,35)
-_result :: [Token] = _
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-*** Ignoring breakpoint
-_result = [TokenInt 1,TokenPlus,TokenInt 2,TokenPlus,TokenInt 3]
+Breakpoint 0 activated at ../HappyTest.hs:226:12-13
+Breakpoint 1 activated at ../HappyTest.hs:228:11-19
+Breakpoint 2 activated at ../HappyTest.hs:228:23-30
+Breakpoint 3 activated at ../HappyTest.hs:229:11-19
+Breakpoint 4 activated at ../HappyTest.hs:229:23-35
+Breakpoint 5 activated at ../HappyTest.hs:230:11-19
+Breakpoint 6 activated at ../HappyTest.hs:230:23-35
+Breakpoint 7 activated at ../HappyTest.hs:231:18-35
+Breakpoint 8 activated at ../HappyTest.hs:232:18-37
+Breakpoint 9 activated at ../HappyTest.hs:233:18-38
+Breakpoint 10 activated at ../HappyTest.hs:234:18-38
+Breakpoint 11 activated at ../HappyTest.hs:235:18-36
+Breakpoint 12 activated at ../HappyTest.hs:236:18-35
+Breakpoint 13 activated at ../HappyTest.hs:237:18-35
+Stopped in Main.lexer, ../HappyTest.hs:228:11-19
+_result :: Bool = _
+c :: Char = '1'
+*** Ignoring breakpoint
+_result = False
diff --git a/testsuite/tests/ghci.debugger/scripts/print022.script b/testsuite/tests/ghci.debugger/scripts/print022.script
index cfed80380e..66f3ef848d 100644
--- a/testsuite/tests/ghci.debugger/scripts/print022.script
+++ b/testsuite/tests/ghci.debugger/scripts/print022.script
@@ -4,6 +4,5 @@ seq test ()
:print test
:break f
f test2
-:step
:fo x
-:t x \ No newline at end of file
+:t x
diff --git a/testsuite/tests/ghci.debugger/scripts/print022.stdout b/testsuite/tests/ghci.debugger/scripts/print022.stdout
index 85111a2c7e..47c1483fc4 100644
--- a/testsuite/tests/ghci.debugger/scripts/print022.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print022.stdout
@@ -1,9 +1,7 @@
()
test = C 1 32 1.2 1.23 'x' 1 1.2 1.23
-Breakpoint 0 activated at print022.hs:11:1-7
-Stopped at print022.hs:11:1-7
-_result :: r = _
-Stopped at print022.hs:11:7
+Breakpoint 0 activated at print022.hs:11:7
+Stopped in Main.f, print022.hs:11:7
_result :: r = _
x :: r = _
x = C2 1 (W# 32) (TwoFields 'a' 3)
diff --git a/testsuite/tests/ghci.debugger/scripts/print025.script b/testsuite/tests/ghci.debugger/scripts/print025.script
index 926890f4bc..655267332c 100644
--- a/testsuite/tests/ghci.debugger/scripts/print025.script
+++ b/testsuite/tests/ghci.debugger/scripts/print025.script
@@ -5,4 +5,3 @@ i
f i
-- RTTI happens implicitly when the bindings at f come into context
:step
-:step \ No newline at end of file
diff --git a/testsuite/tests/ghci.debugger/scripts/print025.stdout b/testsuite/tests/ghci.debugger/scripts/print025.stdout
index 3936640210..5dbd12b57f 100644
--- a/testsuite/tests/ghci.debugger/scripts/print025.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print025.stdout
@@ -1,8 +1,6 @@
T 1
-Breakpoint 0 activated at print025.hs:2:1-7
-Stopped at print025.hs:2:1-7
-_result :: r = _
-Stopped at print025.hs:2:7
+Breakpoint 0 activated at print025.hs:2:7
+Stopped in Main.f, print025.hs:2:7
_result :: T Int s = _
x :: T Int s = T 1
T 1
diff --git a/testsuite/tests/ghci.debugger/scripts/print029.script b/testsuite/tests/ghci.debugger/scripts/print029.script
index b320153d17..6e350fde04 100644
--- a/testsuite/tests/ghci.debugger/scripts/print029.script
+++ b/testsuite/tests/ghci.debugger/scripts/print029.script
@@ -3,8 +3,7 @@ let a = MkT2 [Just (1::Int)]
a
:break f
f a
-:step
-- Unsound! A false type is assigned to x
--- reconstructType decides to stop too soon because
+-- reconstructType decides to stop too soon because
-- its BFS has recovered a monomorphic type
-:p x \ No newline at end of file
+:p x
diff --git a/testsuite/tests/ghci.debugger/scripts/print029.stdout b/testsuite/tests/ghci.debugger/scripts/print029.stdout
index 366d1d480a..838570f9ce 100644
--- a/testsuite/tests/ghci.debugger/scripts/print029.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print029.stdout
@@ -1,8 +1,6 @@
MkT2 [Just 1]
-Breakpoint 0 activated at print029.hs:4:1-7
-MkT2 Stopped at print029.hs:4:1-7
-_result :: t Int = _
-Stopped at print029.hs:4:7
+Breakpoint 0 activated at print029.hs:4:7
+MkT2 Stopped in Main.f, print029.hs:4:7
_result :: t Int = _
x :: t Int = [Just 1]
x = [Just 1]
diff --git a/testsuite/tests/ghci.debugger/scripts/print030.script b/testsuite/tests/ghci.debugger/scripts/print030.script
index 9296c90163..d3042d01bd 100644
--- a/testsuite/tests/ghci.debugger/scripts/print030.script
+++ b/testsuite/tests/ghci.debugger/scripts/print030.script
@@ -3,7 +3,6 @@ let a = MkT2 (map Just [(1::Int)])
:break f
seq a ()
f a
-:step
-- Unsound! A false type is assigned to x
-- reconstructType is forced to stop too soon
-- because the elements of the list in x are not evaluated yet
diff --git a/testsuite/tests/ghci.debugger/scripts/print030.stdout b/testsuite/tests/ghci.debugger/scripts/print030.stdout
index a67d0492d2..1c7bf3c18e 100644
--- a/testsuite/tests/ghci.debugger/scripts/print030.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print030.stdout
@@ -1,7 +1,5 @@
-Breakpoint 0 activated at print029.hs:4:1-7
+Breakpoint 0 activated at print029.hs:4:7
()
-MkT2 Stopped at print029.hs:4:1-7
-_result :: t Int = _
-Stopped at print029.hs:4:7
+MkT2 Stopped in Main.f, print029.hs:4:7
_result :: t Int = _
x :: t Int = _ : _
diff --git a/testsuite/tests/ghci.debugger/scripts/print031.script b/testsuite/tests/ghci.debugger/scripts/print031.script
index fb6308ffcf..2e3223e354 100644
--- a/testsuite/tests/ghci.debugger/scripts/print031.script
+++ b/testsuite/tests/ghci.debugger/scripts/print031.script
@@ -3,8 +3,7 @@ let a = MkT2 [Just (Phantom 1)]
:break f
a
f a
-:step
--- ghc crashes now when the type for x is recovered
+-- ghc crashes now when the type for x is recovered
-- and unifyRTTI fails to compute a substitution
-:p x
+:p x
:q
diff --git a/testsuite/tests/ghci.debugger/scripts/print031.stdout b/testsuite/tests/ghci.debugger/scripts/print031.stdout
index 81a2518a31..6a326a6fae 100644
--- a/testsuite/tests/ghci.debugger/scripts/print031.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print031.stdout
@@ -1,8 +1,6 @@
-Breakpoint 0 activated at print031.hs:7:1-19
+Breakpoint 0 activated at print031.hs:7:7-19
MkT2 [Just (Phantom 1)]
-Stopped at print031.hs:7:1-19
-_result :: Bool = _
-Stopped at print031.hs:7:7-19
+Stopped in Print031.f, print031.hs:7:7-19
_result :: Bool = _
x :: t (Phantom a6) = [Just (Phantom 1)]
x = [Just (Phantom 1)]
diff --git a/testsuite/tests/ghci.debugger/scripts/print032.script b/testsuite/tests/ghci.debugger/scripts/print032.script
index fa872af5d3..25abb3718f 100644
--- a/testsuite/tests/ghci.debugger/scripts/print032.script
+++ b/testsuite/tests/ghci.debugger/scripts/print032.script
@@ -5,4 +5,3 @@ let b = MkT2 (map Just [2::Int]) -- Want to obtain a thunk
:break f2
f2 a b
:step
-
diff --git a/testsuite/tests/ghci.debugger/scripts/print032.stdout b/testsuite/tests/ghci.debugger/scripts/print032.stdout
index 766139fd67..9fe9911513 100644
--- a/testsuite/tests/ghci.debugger/scripts/print032.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print032.stdout
@@ -1,8 +1,7 @@
MkT2 [Just 1]
-Breakpoint 0 activated at print029.hs:7:1-14
-Stopped at print029.hs:7:1-14
-_result :: (t Int, t Int) = _
-Stopped at print029.hs:7:10-14
+Breakpoint 0 activated at print029.hs:7:10-14
+Stopped in Main.f2, print029.hs:7:10-14
_result :: (t Int, t Int) = _
x :: t Int = [Just 1]
y :: t Int = _
+(MkT2 [Just 1],MkT2 [Just 2])
diff --git a/testsuite/tests/ghci.debugger/scripts/result001.stdout b/testsuite/tests/ghci.debugger/scripts/result001.stdout
index 0d2173dcd8..2ff2838182 100644
--- a/testsuite/tests/ghci.debugger/scripts/result001.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/result001.stdout
@@ -1,4 +1,4 @@
Breakpoint 0 activated at result001.hs:1:13-21
-Stopped at result001.hs:1:13-21
+Stopped in Main.f, result001.hs:1:13-21
_result :: [b] = _
xs :: [b] = _