Hello community, here is the log from the commit of package ghc-megaparsec for openSUSE:Factory checked in at 2018-10-25 08:17:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-megaparsec (Old) and /work/SRC/openSUSE:Factory/.ghc-megaparsec.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-megaparsec" Thu Oct 25 08:17:25 2018 rev:3 rq:642879 version:7.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-megaparsec/ghc-megaparsec.changes 2018-08-20 16:20:31.656916255 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-megaparsec.new/ghc-megaparsec.changes 2018-10-25 08:17:50.248031500 +0200 @@ -1,0 +2,153 @@ +Wed Oct 10 19:24:09 UTC 2018 - psim...@suse.com + +- Update megaparsec to version 7.0.1. + ## Megaparsec 7.0.1 + + * Fixed a bug in `errorBundlePretty`. Previously the question sign `?` was + erroneously inserted before offending line in 2nd and later parse errors. + + ## Megaparsec 7.0.0 + + ### General + + * Dropped the `Text.Megaparsec.Perm` module. Use + `Control.Applicative.Permutations` from `parser-combinators` instead. + + * Dropped the `Text.Megaparsec.Expr` module. Use + `Control.Monad.Combinators.Expr` from `parser-combinators` instead. + + * The debugging function `dbg` has been moved from `Text.Megaparsec` to its + own module `Text.Megaparsec.Debug`. + + * Dropped support for GHC 7.8. + + ### Combinators + + * Moved some general combinators from `Text.Megaparsec.Char` and + `Text.Megaparsec.Byte` to `Text.Megaparsec`, renaming some of them for + clarity. + + Practical consequences: + + * Now there is the `single` combinator that is a generalization of `char` + for arbitrary streams. `Text.Megaparsec.Char` and `Text.Megaparsec.Byte` + still contain `char` as type-constrained versions of `single`. + + * Similarly, now there is the `chunk` combinator that is a generalization + of `string` for arbitrary streams. The `string` combinator is still + re-exported from `Text.Megaparsec.Char` and `Text.Megaparsec.Byte` for + compatibility. + + * `satisfy` does not depend on type of token, and so it now lives in + `Text.Megaparsec`. + + * `anyChar` was renamed to `anySingle` and moved to `Text.Megaparsec`. + + * `notChar` was renamed to `anySingleBut` and moved to `Text.Megaparsec`. + + * `oneOf` and `noneOf` were moved to `Text.Megaparsec`. + + * Simplified the type of the `token` primitive. It now takes just a matching + function `Token s -> Maybe a` as the first argument and the collection of + expected items `Set (ErrorItem (Token s))` as the second argument. This + makes sense because the collection of expected items cannot depend on what + we see in the input stream. + + * The `label` primitive now doesn't prepend the phrase “the rest of” to the + label when its inner parser produces hints after consuming input. In that + case `label` has no effect. + + * Fixed the `Text.Megaparsec.Char.Lexer.charLiteral` so it can accept longer + escape sequences (max length is now 10). + + * Added the `binDigitChar` functions in `Text.Megaparsec.Byte` and + `Text.Megaparsec.Char`. + + * Added the `binary` functions in `Text.Megaparsec.Byte.Lexer` and + `Text.Megaparsec.Char.Lexer`. + + * Improved case-insensitive character matching in the cases when e.g. + `isLower` and `isUpper` both return `False`. Functions affected: + `Text.Megaparsec.Char.char'`. + + * Renamed `getPosition` to `getSourcePos`. + + * Renamed `getTokensProcessed` to `getOffset`, `setTokensProcessed` to + `setOffset`. + + * Dropped `getTabWidth` and `setTabWidth` because tab width is irrelevant to + parsing process now, it's only relevant for pretty-printing of parse + errors, which is handled separately. + + * Added and `withParsecT` in `Text.Megaparsec.Internal` to allow changing + the type of the custom data component in parse errors. + + ### Parser state and input stream + + * Dropped stacks of source positions. Accordingly, the functions + `pushPosition` and `popPosition` from `Text.Megaparsec` and + `sourcePosStackPretty` from `Text.Megaparsec.Error` were removed. The + reason for this simplification is that I could not find any code that uses + the feature and it makes manipulation of source positions hairy. + + * Introduced `PosState` for calculating `SourcePos` from offsets and getting + offending line for displaying on pretty-printing of parse errors. It's now + contained in both `State` and `ParseErrorBundle`. + + * Dropped `positionAt1`, `positionAtN`, `advance1`, and `advanceN` methods + from `Stream`. They are no longer necessary because `reachOffset` (and its + specialized version `reachOffsetNoLine`) takes care of `SourcePos` + calculation. + + ### Parse errors + + * `ParseError` now contains raw offset in input stream instead of + `SourcePos`. `errorPos` was dropped from `Text.Megaparsec.Error`. + + * `ParseError` is now parametrized over stream type `s` instead of token + type `t`. + + * Introduced `ParseErrorBundle` which contains one or more `ParseError` + equipped with all information that is necessary to pretty-print them + together with offending lines from the input stream. Functions like + `runParser` now return `ParseErrorBundle` instead of plain `ParseError`. + + By default there will be only one `ParseError` in such a bundle, but it's + possible to add more parse errors to a bundle manually. During + pretty-printing, the input stream will be traversed only once. + + * The primary function for pretty-printing of parse + errors—`errorBundlePretty` always prints offending lines now. + `parseErrorPretty` is still there, but it probably won't see a lot of use + from now on. `parseErrorPretty'` and `parseErrorPretty_` were removed. + `parseTest'` was removed because `parseTest` always prints offending lines + now. + + * Added `attachSourcePos` function in `Text.Megaparsec.Error`. + + * The `ShowToken` type class has been removed and its method `showTokens` + now lives in the `Stream` type class. + + * The `LineToken` type class is no longer necessary because the new method + `reachOffset` of the type class `Stream` does its job. + + * In `Text.Megaparsec.Error` the following functions were added: + `mapParseError`, `errorOffset`. + + * Implemented continuous highlighting in parse errors. For this we added the + `errorComponentLen` method to the `ShowErrorComponent` type class. + + ### Parse error builder + + * The functions `err` and `errFancy` now accept offsets at which the parse + errors are expected to have happened, i.e. `Int`s. Thus `posI` and `posN` + are no longer necessary and were removed. + + * `ET` is now parametrized over the type of stream `s` instead of token type + `t`. + + * Combinators like `utoks` and `etoks` now accept chunks of input stream + directly, i.e. `Tokens s` instead of `[Token s]` which should be more + natural and convenient. + +------------------------------------------------------------------- Old: ---- megaparsec-6.5.0.tar.gz megaparsec.cabal New: ---- megaparsec-7.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-megaparsec.spec ++++++ --- /var/tmp/diff_new_pack.S6JLwG/_old 2018-10-25 08:17:51.220031073 +0200 +++ /var/tmp/diff_new_pack.S6JLwG/_new 2018-10-25 08:17:51.224031072 +0200 @@ -12,21 +12,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global pkg_name megaparsec %bcond_with tests Name: ghc-%{pkg_name} -Version: 6.5.0 +Version: 7.0.1 Release: 0 Summary: Monadic parser combinators License: BSD-2-Clause Group: Development/Libraries/Haskell URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-case-insensitive-devel @@ -62,7 +61,6 @@ %prep %setup -q -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ megaparsec-6.5.0.tar.gz -> megaparsec-7.0.1.tar.gz ++++++ ++++ 10242 lines of diff (skipped)