Tue Nov 2 06:13:46 2021 UTC ()
py-pyparsing: updated to 3.0.4
Version 3.0.4 -
---------------
- Fixed bug in which `Dict` classes did not correctly return tokens as nested
`ParseResults`, reported by and fix identified by Bu Sun Kim, many thanks!!!
- Documented API-changing side-effect of converting `ParseResults` to use `__slots__`
to pre-define instance attributes. This means that code written like this (which
was allowed in pyparsing 2.4.7):
result = Word(alphas).parseString("abc")
result.xyz = 100
now raises this Python exception:
AttributeError: 'ParseResults' object has no attribute 'xyz'
To add new attribute values to ParseResults object in 3.0.0 and later, you must
assign them using indexed notation:
result["xyz"] = 100
You will still be able to access this new value as an attribute or as an
indexed item.
- Fixed bug in railroad diagramming where the vertical limit would count all
expressions in a group, not just those that would create visible railroad
elements.
Version 3.0.3 -
---------------
- Fixed regex typo in `one_of` fix for `as_keyword=True`.
- Fixed a whitespace-skipping bug, Issue 319, introduced as part of the revert
of the `LineStart` changes. Reported by Marc-Alexandre C担t辿,
thanks!
- Added header column labeling > 100 in `with_line_numbers` - some input lines
are longer than others.
Version 3.0.2 -
---------------
- Reverted change in behavior with `LineStart` and `StringStart`, which changed the
interpretation of when and how `LineStart` and `StringStart` should match when
a line starts with spaces. In 3.0.0, the `xxxStart` expressions were not
really treated like expressions in their own right, but as modifiers to the
following expression when used like `LineStart() + expr`, so that if there
were whitespace on the line before `expr` (which would match in versions prior
to 3.0.0), the match would fail.
3.0.0 implemented this by automatically promoting `LineStart() + expr` to
`AtLineStart(expr)`, which broke existing parsers that did not expect `expr` to
necessarily be right at the start of the line, but only be the first token
found on the line. This was reported as a regression in Issue 317.
In 3.0.2, pyparsing reverts to the previous behavior, but will retain the new
`AtLineStart` and `AtStringStart` expression classes, so that parsers can chose
whichever behavior applies in their specific instance. Specifically:
# matches expr if it is the first token on the line
# (allows for leading whitespace)
LineStart() + expr
# matches only if expr is found in column 1
AtLineStart(expr)
- Performance enhancement to `one_of` to always generate an internal `Regex`,
even if `caseless` or `as_keyword` args are given as `True` (unless explicitly
disabled by passing `use_regex=False`).
- `IndentedBlock` class now works with `recursive` flag. By default, the
results parsed by an `IndentedBlock` are grouped. This can be disabled by constructing
the `IndentedBlock` with `grouped=False`.
Version 3.0.1 -
---------------
- Fixed bug where `Word(max=n)` did not match word groups less than length 'n'.
Thanks to Joachim Metz for catching this!
- Fixed bug where `ParseResults` accidentally created recursive contents.
Joachim Metz on this one also!
- Fixed bug where `warn_on_multiple_string_args_to_oneof` warning is raised
even when not enabled.
(adam)
diff -r1.21 -r1.22 pkgsrc/devel/py-pyparsing/Makefile
diff -r1.22 -r1.23 pkgsrc/devel/py-pyparsing/distinfo
--- pkgsrc/devel/py-pyparsing/Makefile 2021/11/01 18:58:56 1.21
+++ pkgsrc/devel/py-pyparsing/Makefile 2021/11/02 06:13:46 1.22
| @@ -1,16 +1,16 @@ | | | @@ -1,16 +1,16 @@ |
1 | # $NetBSD: Makefile,v 1.21 2021/11/01 18:58:56 wiz Exp $ | | 1 | # $NetBSD: Makefile,v 1.22 2021/11/02 06:13:46 adam Exp $ |
2 | | | 2 | |
3 | DISTNAME= pyparsing-3.0.0 | | 3 | DISTNAME= pyparsing-3.0.4 |
4 | PKGNAME= ${PYPKGPREFIX}-${DISTNAME} | | 4 | PKGNAME= ${PYPKGPREFIX}-${DISTNAME} |
5 | CATEGORIES= devel python | | 5 | CATEGORIES= devel python |
6 | MASTER_SITES= ${MASTER_SITE_PYPI:=p/pyparsing/} | | 6 | MASTER_SITES= ${MASTER_SITE_PYPI:=p/pyparsing/} |
7 | | | 7 | |
8 | MAINTAINER= pkgsrc-users@NetBSD.org | | 8 | MAINTAINER= pkgsrc-users@NetBSD.org |
9 | HOMEPAGE= https://github.com/pyparsing/pyparsing | | 9 | HOMEPAGE= https://github.com/pyparsing/pyparsing |
10 | COMMENT= Parsing module for Python | | 10 | COMMENT= Parsing module for Python |
11 | LICENSE= mit | | 11 | LICENSE= mit |
12 | | | 12 | |
13 | USE_LANGUAGES= # none | | 13 | USE_LANGUAGES= # none |
14 | | | 14 | |
15 | PYTHON_VERSIONS_INCOMPATIBLE= 27 | | 15 | PYTHON_VERSIONS_INCOMPATIBLE= 27 |
16 | | | 16 | |
--- pkgsrc/devel/py-pyparsing/distinfo 2021/11/01 18:58:56 1.22
+++ pkgsrc/devel/py-pyparsing/distinfo 2021/11/02 06:13:46 1.23
| @@ -1,5 +1,5 @@ | | | @@ -1,5 +1,5 @@ |
1 | $NetBSD: distinfo,v 1.22 2021/11/01 18:58:56 wiz Exp $ | | 1 | $NetBSD: distinfo,v 1.23 2021/11/02 06:13:46 adam Exp $ |
2 | | | 2 | |
3 | BLAKE2s (pyparsing-3.0.0.tar.gz) = c4bf931eacef276d0c04776e027d9ae97989327298a7d6dce50f07b17ef62dd4 | | 3 | BLAKE2s (pyparsing-3.0.4.tar.gz) = e03172614d725f9899c71298be0151f2286c969cf029768e177bdc1739ea8443 |
4 | SHA512 (pyparsing-3.0.0.tar.gz) = ff726bd33549b419909fc2f1398e92b6acc7d72ab112b2e850db68fce218f602cc31e6736e3e692f5c51ad089168e4b84476a9a2527aed5d86b064557f83fc72 | | 4 | SHA512 (pyparsing-3.0.4.tar.gz) = 5dd7f36f90b3d54e744fc214e702fd23c21b1c6910e1e93aeea87e9e9293b5c8b7a6946aa21d7a6d60b2b25e28d782b847ab36a22ca04ec4ef60c03a1eecedb2 |
5 | Size (pyparsing-3.0.0.tar.gz) = 875599 bytes | | 5 | Size (pyparsing-3.0.4.tar.gz) = 879722 bytes |