Commit d1dc0ed7 authored by Roland Senn's avatar Roland Senn Committed by Marge Bot

Fix #16700: Tiny errors in output of GHCi commands :forward and :info

`:info Coercible` now outputs the correct section number of the GHCi User's guide together with the secion title.

`:forward x` gives the correct syntax hint.
parent 0b7372f6
Pipeline #6557 passed with stages
in 452 minutes and 41 seconds
......@@ -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
......
......@@ -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
......
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]
:l T16700.hs
:break 3
:main
:forward x
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]
......@@ -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'])
{-
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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment