diff options
-rw-r--r-- | compiler/prelude/PrelInfo.hs | 3 | ||||
-rw-r--r-- | ghc/GHCi/UI.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci.debugger/scripts/T16700.hs | 6 | ||||
-rw-r--r-- | testsuite/tests/ghci.debugger/scripts/T16700.script | 4 | ||||
-rw-r--r-- | testsuite/tests/ghci.debugger/scripts/T16700.stdout | 7 | ||||
-rw-r--r-- | testsuite/tests/ghci.debugger/scripts/all.T | 1 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/ghci059.stdout | 3 |
7 files changed, 23 insertions, 3 deletions
diff --git a/compiler/prelude/PrelInfo.hs b/compiler/prelude/PrelInfo.hs index aab23de20f..8ff9b19b45 100644 --- a/compiler/prelude/PrelInfo.hs +++ b/compiler/prelude/PrelInfo.hs @@ -214,7 +214,8 @@ knownNamesInfo :: NameEnv SDoc knownNamesInfo = unitNameEnv coercibleTyConName $ vcat [ text "Coercible is a special constraint with custom solving rules." , text "It is not a class." - , text "Please see section 9.14.4 of the user's guide for details." ] + , text "Please see section `The Coercible constraint`" + , text "of the user's guide for details." ] {- We let a lot of "non-standard" values be visible, so that we can make diff --git a/ghc/GHCi/UI.hs b/ghc/GHCi/UI.hs index 6929ee8a32..7b64644526 100644 --- a/ghc/GHCi/UI.hs +++ b/ghc/GHCi/UI.hs @@ -3570,7 +3570,7 @@ forwardCmd :: GhciMonad m => String -> m () forwardCmd arg | null arg = forward 1 | all isDigit arg = forward (read arg) - | otherwise = liftIO $ putStrLn "Syntax: :back [num]" + | otherwise = liftIO $ putStrLn "Syntax: :forward [num]" where forward num = withSandboxOnly ":forward" $ do (names, ix, pan, _) <- GHC.forward num diff --git a/testsuite/tests/ghci.debugger/scripts/T16700.hs b/testsuite/tests/ghci.debugger/scripts/T16700.hs new file mode 100644 index 0000000000..1a2ceb029f --- /dev/null +++ b/testsuite/tests/ghci.debugger/scripts/T16700.hs @@ -0,0 +1,6 @@ +qsort :: [Int] -> [Int] +qsort [] = [] +qsort (a:as) = qsort left ++ [a] ++ qsort right + where (left,right) = (filter (<=a) as, filter (>a) as) + +main = print $ qsort [4, 1, 7, 10, 3] diff --git a/testsuite/tests/ghci.debugger/scripts/T16700.script b/testsuite/tests/ghci.debugger/scripts/T16700.script new file mode 100644 index 0000000000..7328cb4b4d --- /dev/null +++ b/testsuite/tests/ghci.debugger/scripts/T16700.script @@ -0,0 +1,4 @@ +:l T16700.hs +:break 3 +:main +:forward x diff --git a/testsuite/tests/ghci.debugger/scripts/T16700.stdout b/testsuite/tests/ghci.debugger/scripts/T16700.stdout new file mode 100644 index 0000000000..d9fd775230 --- /dev/null +++ b/testsuite/tests/ghci.debugger/scripts/T16700.stdout @@ -0,0 +1,7 @@ +Breakpoint 0 activated at T16700.hs:3:16-47 +Stopped in Main.qsort, T16700.hs:3:16-47 +_result :: [Int] = _ +a :: Int = 4 +left :: [Int] = _ +right :: [Int] = _ +Syntax: :forward [num] diff --git a/testsuite/tests/ghci.debugger/scripts/all.T b/testsuite/tests/ghci.debugger/scripts/all.T index 7240594823..5708b631fb 100644 --- a/testsuite/tests/ghci.debugger/scripts/all.T +++ b/testsuite/tests/ghci.debugger/scripts/all.T @@ -108,5 +108,6 @@ test('T8557', normal, ghci_script, ['T8557.script']) test('T12458', normal, ghci_script, ['T12458.script']) test('T13825-debugger', when(arch('powerpc64'), expect_broken(14455)), ghci_script, ['T13825-debugger.script']) +test('T16700', normal, ghci_script, ['T16700.script']) test('break029', extra_files(['break029.hs']), ghci_script, ['break029.script']) diff --git a/testsuite/tests/ghci/scripts/ghci059.stdout b/testsuite/tests/ghci/scripts/ghci059.stdout index 7e734f1ccc..2fc93e6de5 100644 --- a/testsuite/tests/ghci/scripts/ghci059.stdout +++ b/testsuite/tests/ghci/scripts/ghci059.stdout @@ -1,7 +1,8 @@ {- Coercible is a special constraint with custom solving rules. It is not a class. -Please see section 9.14.4 of the user's guide for details. +Please see section `The Coercible constraint` +of the user's guide for details. -} type role Coercible representational representational class Coercible a b => Coercible (a :: k) (b :: k) |