Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-repline for openSUSE:Factory checked in at 2022-08-01 21:30:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-repline (Old) and /work/SRC/openSUSE:Factory/.ghc-repline.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-repline" Mon Aug 1 21:30:23 2022 rev:4 rq:987082 version:0.4.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-repline/ghc-repline.changes 2020-12-22 11:45:26.925813725 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-repline.new.1533/ghc-repline.changes 2022-08-01 21:30:43.873713661 +0200 @@ -1,0 +2,16 @@ +Fri May 20 03:16:42 UTC 2022 - Peter Simons <[email protected]> + +- Update repline to version 0.4.2.0. + 0.4.2.0 + ======= + + - Add support for ghc 9.0, 9.2 + - CI: Drop Travis and use Github Actions instead + + 0.4.1.0 + ======= + + - Fix up documentation. + - Export `MonadHaskeline` from System.Control.Repline. + +------------------------------------------------------------------- Old: ---- repline-0.4.0.0.tar.gz New: ---- repline-0.4.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-repline.spec ++++++ --- /var/tmp/diff_new_pack.yPaQiw/_old 2022-08-01 21:30:44.389715142 +0200 +++ /var/tmp/diff_new_pack.yPaQiw/_new 2022-08-01 21:30:44.393715153 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-repline # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global pkg_name repline %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.4.0.0 +Version: 0.4.2.0 Release: 0 Summary: Haskeline wrapper for GHCi-like REPL interfaces License: MIT ++++++ repline-0.4.0.0.tar.gz -> repline-0.4.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/ChangeLog.md new/repline-0.4.2.0/ChangeLog.md --- old/repline-0.4.0.0/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,18 @@ HEAD ==== +0.4.2.0 +======= + +- Add support for ghc 9.0, 9.2 +- CI: Drop Travis and use Github Actions instead + +0.4.1.0 +======= + +- Fix up documentation. +- Export `MonadHaskeline` from System.Control.Repline. + 0.4.0.0 ======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/README.md new/repline-0.4.2.0/README.md --- old/repline-0.4.0.0/README.md 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/README.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,7 +1,7 @@ Repline ------- -[](https://travis-ci.org/sdiehl/repline) +[](https://travis-ci.org/sdiehl/repline) [](https://hackage.haskell.org/package/repline) Slightly higher level wrapper for creating GHCi-like REPL monads that are composable with normal MTL @@ -9,7 +9,7 @@ over and decided to canonize the giant pile of hacks that I use to make Haskeline work. See -[Documentation](https://hackage.haskell.org/package/repline-0.2.2.0/docs/System-Console-Repline.html) +[Documentation](https://hackage.haskell.org/package/repline-0.4.0.0/docs/System-Console-Repline.html) for more detailed usage. Examples @@ -18,7 +18,7 @@ * [Simple](examples/Simple.hs) * [Prefix](examples/Prefix.hs) * [Stateful](examples/Stateful.hs) -* [Multiline](examples/MultiLine.hs) +* [Multiline](examples/Multiline.hs) Migration from 0.3.x -------------------- @@ -57,7 +57,7 @@ customBanner MultiLine = pure "| " ``` -See [Multiline](examples/MultiLine.hs) for a complete example. +See [Multiline](examples/Multiline.hs) for a complete example. Migration from 0.2.x -------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/examples/Multiline.hs new/repline-0.4.2.0/examples/Multiline.hs --- old/repline-0.4.0.0/examples/Multiline.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/examples/Multiline.hs 2001-09-09 03:46:40.000000000 +0200 @@ -2,6 +2,7 @@ import Control.Monad.Trans import Data.List (isPrefixOf) +import Data.Monoid import System.Console.Repline import System.Process (callCommand) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/examples/Prefix.hs new/repline-0.4.2.0/examples/Prefix.hs --- old/repline-0.4.0.0/examples/Prefix.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/examples/Prefix.hs 2001-09-09 03:46:40.000000000 +0200 @@ -4,6 +4,7 @@ module Main (main, repl) where +import Control.Monad.IO.Class (MonadIO(..)) import Control.Monad.State.Strict import Data.List (isPrefixOf) import qualified Data.Set as Set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/examples/Stateful.hs new/repline-0.4.2.0/examples/Stateful.hs --- old/repline-0.4.0.0/examples/Stateful.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/examples/Stateful.hs 2001-09-09 03:46:40.000000000 +0200 @@ -4,6 +4,7 @@ module Main (main, repl) where +import Control.Monad.IO.Class (liftIO) import Control.Monad.State.Strict import Data.List (isPrefixOf) import Data.Monoid diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/repline.cabal new/repline-0.4.2.0/repline.cabal --- old/repline-0.4.0.0/repline.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/repline.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,32 +1,27 @@ name: repline -version: 0.4.0.0 +version: 0.4.2.0 synopsis: Haskeline wrapper for GHCi-like REPL interfaces. license: MIT license-file: LICENSE author: Stephen Diehl maintainer: [email protected] -copyright: 2014-2020 Stephen Diehl +copyright: 2014-2022 Stephen Diehl category: User Interfaces build-type: Simple extra-source-files: README.md cabal-version: >=1.10 tested-with: - GHC ==7.6.1 - || ==7.6.2 - || ==7.6.3 - || ==7.8.1 - || ==7.8.2 - || ==7.8.3 - || ==7.8.4 - || ==7.10.1 - || ==7.10.2 - || ==7.10.3 - || ==8.0.1 - || ==8.2.1 - || ==8.4.1 - || ==8.6.1 + GHC ==8.2.2 + || ==8.4.4 + || ==8.6.2 + || ==8.6.3 + || ==8.6.4 + || ==8.6.5 || ==8.8.1 || ==8.10.1 + || ==8.10.7 + || ==9.0.1 + || ==9.2 homepage: https://github.com/sdiehl/repline bug-reports: https://github.com/sdiehl/repline/issues @@ -50,7 +45,7 @@ , containers >=0.5 && <0.7 , exceptions >=0.10 && <0.11 , haskeline >=0.8 && <0.9 - , mtl >=2.2 && <2.3 + , mtl >=2.2 && <2.4 , process >=1.2 && <2.0 if !impl(ghc >=8.0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/repline-0.4.0.0/src/System/Console/Repline.hs new/repline-0.4.2.0/src/System/Console/Repline.hs --- old/repline-0.4.0.0/src/System/Console/Repline.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/repline-0.4.2.0/src/System/Console/Repline.hs 2001-09-09 03:46:40.000000000 +0200 @@ -58,17 +58,21 @@ -- > help :: [String] -> Repl () -- > help args = liftIO $ print $ "Help: " ++ show args -- > --- > say :: [String] -> Repl () --- > say args = do --- > _ <- liftIO $ system $ "cowsay" ++ " " ++ (unwords args) +-- > say :: String -> Repl () +-- > say arg = do +-- > _ <- liftIO $ callCommand $ "cowsay" ++ " " ++ arg -- > return () -- +-- (You may need the following import in pull `callCommand` into scope) +-- +-- > import System.Process (callCommand) +-- -- Now we need only map these functions to their commands. -- --- > options :: [(String, [String] -> Repl ())] +-- > options :: Options (HaskelineT IO) -- > options = [ --- > ("help", help) -- :help --- > , ("say", say) -- :say +-- > ("help", help . words) -- :help +-- > , ("say", say) -- :say -- > ] -- -- The initialiser function is simply an IO action that is called at the start of the shell. @@ -78,15 +82,16 @@ -- -- The finaliser function is an IO action that is called at the end of the shell. -- --- final :: Repl ExitDecision --- final = do --- liftIO $ putStrLn "Goodbye!" --- return Exit +-- > final :: Repl ExitDecision +-- > final = do +-- > liftIO $ putStrLn "Goodbye!" +-- > return Exit -- -- Putting it all together we have a little shell. -- -- > main :: IO () --- > main = evalRepl (pure ">>> ") cmd options (Just ':') (Word completer) ini +-- > main = evalRepl (const . pure $ ">>> ") cmd options (Just ':') (Just "paste") (Word completer) ini final + -- -- Alternatively instead of initialising the repl from position arguments you -- can pass the 'ReplOpts' record with explicitly named arguments. @@ -131,6 +136,7 @@ ( -- * Repline Monad HaskelineT, runHaskelineT, + MonadHaskeline, -- * Toplevel evalRepl, @@ -166,6 +172,8 @@ import Control.Monad.Catch import Control.Monad.Fail as Fail +import Control.Monad.Fix (MonadFix) +import Control.Monad.IO.Class (MonadIO(..)) import Control.Monad.Reader import Control.Monad.State.Strict import Data.List (isPrefixOf) @@ -270,20 +278,14 @@ -- | Completion loop. replLoop :: - (Functor m, MonadMask m, MonadIO m) => - -- | Banner function - (MultiLine -> HaskelineT m String) -> - -- | Command function - Command (HaskelineT m) -> - -- | options function - Options (HaskelineT m) -> - -- | options prefix - Maybe Char -> - -- | multi-line command - Maybe String -> - -- | Finaliser ( runs on <Ctrl-D> ) - HaskelineT m ExitDecision -> - HaskelineT m () + (Functor m, MonadMask m, MonadIO m) + => (MultiLine -> HaskelineT m String) -- ^ Banner function + -> Command (HaskelineT m) -- ^ Command function + -> Options (HaskelineT m) -- ^ options function + -> Maybe Char -- ^ options prefix + -> Maybe String -- ^ multi-line command + -> HaskelineT m ExitDecision -- ^ Finaliser ( runs on <Ctrl-D> ) + -> HaskelineT m () replLoop banner cmdM opts optsPrefix multiCommand finalz = loop where loop = do @@ -382,24 +384,16 @@ -- | Evaluate the REPL logic into a MonadCatch context. evalRepl :: - (MonadMask m, MonadIO m) => - -- | Banner - (MultiLine -> HaskelineT m String) -> - -- | Command function - Command (HaskelineT m) -> - -- | Options list and commands - Options (HaskelineT m) -> - -- | Optional command prefix ( passing Nothing ignores the Options argument ) - Maybe Char -> - -- | Optional multi-line command ( passing Nothing disables multi-line support ) - Maybe String -> - -- | Tab completion function - CompleterStyle m -> - -- | Initialiser - HaskelineT m a -> - -- | Finaliser ( runs on Ctrl-D ) - HaskelineT m ExitDecision -> - m () + (MonadMask m, MonadIO m) + => (MultiLine -> HaskelineT m String) -- ^ Banner + -> Command (HaskelineT m) -- ^ Command function + -> Options (HaskelineT m) -- ^ Options list and commands + -> Maybe Char -- ^ Optional command prefix ( passing Nothing ignores the Options argument ) + -> Maybe String -- ^ Optional multi-line command ( passing Nothing disables multi-line support ) + -> CompleterStyle m -- ^ Tab completion function + -> HaskelineT m a -- ^ Initialiser + -> HaskelineT m ExitDecision -- ^ Finaliser ( runs on Ctrl-D ) + -> m () evalRepl banner cmd opts optsPrefix multiCommand comp initz finalz = runHaskelineT _readline (initz >> monad) where monad = replLoop banner cmd opts optsPrefix multiCommand finalz
