You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Get ready for release 2.9.11
This commit is contained in:
399
ChangeLog
399
ChangeLog
@@ -1,6 +1,402 @@
|
||||
2017-05-06 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/version.py: Get ready for release 2.9.11
|
||||
|
||||
2017-05-06 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/Makefile: fix PYTHON variable setting in test/Makefile
|
||||
|
||||
2017-05-06 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug32/01_try_except_raise.py,
|
||||
test/simple_source/bug32/03_if.py, uncompyle6/parsers/parse32.py,
|
||||
uncompyle6/parsers/parse33.py: Fix more Python3.2 parser errors
|
||||
|
||||
2017-05-05 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse32.py, uncompyle6/scanners/scanner3.py:
|
||||
Improve Python 3.2 decompilation ... by removing a lot of the control-flow labels of 3.3+
|
||||
|
||||
2017-05-05 rocky <rb@dustyfeet.com>
|
||||
|
||||
* .travis.yml: Try CI testing on Python 3.6
|
||||
|
||||
2017-05-02 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/01_map_unpack.py, uncompyle6/parser.py,
|
||||
uncompyle6/parsers/parse3.py, uncompyle6/parsers/parse35.py,
|
||||
uncompyle6/semantics/pysource.py: Bang more on BUIlD_MAP_UNPACK there are still bugs. Note: {**{'x': 1}, **{'y': 2}} and {{'x': 1}, **{'y': 2}} generate the same Python 3.5+ bytecode.
|
||||
|
||||
2017-05-02 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/01_map_unpack.py, uncompyle6/parser.py,
|
||||
uncompyle6/parsers/parse3.py, uncompyle6/parsers/parse35.py:
|
||||
BUILD_MAP_UNPACK'ing of dictionaries in 3.5
|
||||
|
||||
2017-05-01 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/semantics/pysource.py: Remove extra unpack *. Issue #98
|
||||
|
||||
2017-04-29 R. Bernstein <rocky@users.noreply.github.com>
|
||||
|
||||
* HISTORY.md: Update HISTORY.md
|
||||
|
||||
2017-04-29 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/01_map_unpack.py,
|
||||
uncompyle6/parsers/parse35.py, uncompyle6/semantics/pysource.py:
|
||||
Handle BUILD_MAP_UNPACK in a build_list
|
||||
|
||||
2017-04-27 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/semantics/pysource.py: A hacky way to get
|
||||
CALL_FUNCTION_EX_KW to work.
|
||||
|
||||
2017-04-26 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/semantics/pysource.py: remove debug code
|
||||
|
||||
2017-04-25 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug36/01_call_function.py,
|
||||
uncompyle6/parsers/parse36.py, uncompyle6/scanners/scanner36.py,
|
||||
uncompyle6/semantics/pysource.py: Python 3.6 CALL_FUNCTION_EX first
|
||||
attempt
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parser.py, uncompyle6/parsers/parse34.py: Reduse scope
|
||||
of LOAD_ASSERT as expr to 3.4+
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parser.py, uncompyle6/verify.py: LOAD_ASSERT can also
|
||||
be an expr This may have the undesirable property that assert statements might
|
||||
get tagged with equivalant low-level Python code that uses "raise
|
||||
AssertionError", but so be it. Fixes #103
|
||||
|
||||
2017-04-22 R. Bernstein <rocky@users.noreply.github.com>
|
||||
|
||||
* HISTORY.md: Update HISTORY.md
|
||||
|
||||
2017-04-22 R. Bernstein <rocky@users.noreply.github.com>
|
||||
|
||||
* HISTORY.md: Update HISTORY.md
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* history.md: history keeps gettting amended
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* readme.rst: document python 3.x status
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/03_async_await.py,
|
||||
uncompyle6/parsers/parse35.py, uncompyle6/semantics/pysource.py: add
|
||||
await expr fixes #111
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : update test
|
||||
|
||||
2017-04-22 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug33/02_pos_args.py,
|
||||
uncompyle6/parsers/parse3.py, uncompyle6/semantics/make_function.py:
|
||||
3.3+ bug in handling single kwarg after * towards fixing issue #110
|
||||
|
||||
2017-04-20 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/02_async_for.py,
|
||||
uncompyle6/parsers/parse35.py: add async for with pass statement fixes #109
|
||||
|
||||
2017-04-19 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/03_while-if-break.py,
|
||||
uncompyle6/parsers/parse3.py: 3.5 ifelsestmtl grammar bug. fixes #108
|
||||
|
||||
2017-04-18 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/03_async_await.py,
|
||||
uncompyle6/parsers/parse35.py: expand await stmt handling fixes #107
|
||||
|
||||
2017-04-18 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug33/01_delete_deref.py,
|
||||
uncompyle6/parsers/parse32.py, uncompyle6/semantics/pysource.py: add
|
||||
delete_deref grammar rule fixes issue #106
|
||||
|
||||
2017-04-17 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug36/01_extended_arg.py,
|
||||
test/simple_source/bug36/01_if_file.py: rename test case to
|
||||
something more appropriate
|
||||
|
||||
2017-04-17 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug36/01_if_file.py: fix botched test case thanks to zm908 for pointing this out
|
||||
|
||||
2017-04-16 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse3.py: comment on what's up with last
|
||||
change
|
||||
|
||||
2017-04-16 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug22/03_if1.py,
|
||||
test/simple_source/bug31/02_ifelse_comprehension.py,
|
||||
uncompyle6/parsers/parse3.py: python 3.x ifelse in comprehension fixes issue #91
|
||||
|
||||
2017-04-16 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : add 2.7 complex test
|
||||
|
||||
2017-04-15 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/01_map_unpack.py,
|
||||
uncompyle6/semantics/pysource.py: correct bug in 3.5+ build_list
|
||||
with unpack
|
||||
|
||||
2017-04-15 r. bernstein <rocky@users.noreply.github.com>
|
||||
|
||||
* how-to-report-a-bug.md: update how-to-report-a-bug.md
|
||||
|
||||
2017-04-15 r. bernstein <rocky@users.noreply.github.com>
|
||||
|
||||
* how-to-report-a-bug.md: update how-to-report-a-bug.md
|
||||
|
||||
2017-04-15 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug36/01_if_file.py,
|
||||
uncompyle6/parsers/parse36.py: 3.6 generates wonky extended_arg in
|
||||
expression fixes issue #102
|
||||
|
||||
2017-04-15 rocky <rb@dustyfeet.com>
|
||||
|
||||
* how-to-report-a-bug.md, manifest.in: add how to report a bug add test case for ... if 1 else ...
|
||||
|
||||
2017-04-14 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug35/01_map_unpack.py,
|
||||
uncompyle6/parsers/parse3.py, uncompyle6/parsers/parse35.py,
|
||||
uncompyle6/semantics/pysource.py: python 3.5+ build_unmap_pack rules towards addressing issue #98
|
||||
|
||||
2017-04-14 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/scanners/scanner3.py: reduce adding return_end_if in
|
||||
3.5+ the whole control flow determination has to be redone in a less
|
||||
haphazard way using real flow-control analysis. hopefully that's on
|
||||
the way. in the meantime we have this hack.
|
||||
|
||||
2017-04-14 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug27+/03_if_1_else.py,
|
||||
test/simple_source/bug27+/03_if_true_else.py: better names for a
|
||||
test
|
||||
|
||||
2017-04-13 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug27+/03_if_true_else.py,
|
||||
uncompyle6/parser.py, uncompyle6/parsers/parse3.py,
|
||||
uncompyle6/semantics/consts.py: add if1else. fixes #101
|
||||
|
||||
2017-04-13 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse3.py: in 3.x come_from should include
|
||||
come_from_except
|
||||
|
||||
2017-04-13 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse35.py: towards fixing issue #92
|
||||
|
||||
2017-04-13 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse23.py, uncompyle6/semantics/pysource.py:
|
||||
add python 2.3 rule for "if 1: ..." fully fixes #97 for python 2.3. python 2.4 was fixed in a previous
|
||||
commit.
|
||||
|
||||
2017-04-12 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse3.py,
|
||||
uncompyle6/semantics/make_function.py: annotate args type need to be
|
||||
expr's not constants
|
||||
|
||||
2017-04-12 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse24.py: handle python 2.4 "if 1...."
|
||||
|
||||
2017-04-11 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug31/04_def_annotate.py,
|
||||
uncompyle6/semantics/fragments.py,
|
||||
uncompyle6/semantics/make_function.py: bang on 3.x annotations
|
||||
|
||||
2017-04-11 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug31/04_def_annotate.py,
|
||||
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py:
|
||||
towards fixing annotated decorator functions... and annotate functions
|
||||
|
||||
2017-04-10 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parsers/parse2.py, uncompyle6/scanners/scanner27.py,
|
||||
uncompyle6/semantics/check_ast.py, uncompyle6/semantics/pysource.py:
|
||||
misc bugs parse2.py: restore accidently-removed while1stmt rule scanner27.py:
|
||||
grammar typo check_ast: add while1else to list of looping constructs
|
||||
pysource.py: call_function_var_kw_args with positional args rule is
|
||||
different?
|
||||
|
||||
2017-04-10 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/stmts/02_while1else.py,
|
||||
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py,
|
||||
uncompyle6/parsers/parse35.py: add more while1else grammar rules towards addressing issue #93
|
||||
|
||||
2017-04-09 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : one more function_var test for 3.3
|
||||
|
||||
2017-04-09 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/def/10_kw+pos_args-bug.py,
|
||||
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py:
|
||||
another python 3.5 function_var bug fixes #94
|
||||
|
||||
2017-04-09 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : commit 4199bc7f617e387fb03fc06939cd17366dc15c5e author: rocky
|
||||
<rb@dustyfeet.com> date: sun apr 9 05:30:45 2017 -0400
|
||||
|
||||
2017-04-03 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : commit 6773a66b99d07e48290a77dbbbe3c71cc39c31ba author: rocky
|
||||
<rb@dustyfeet.com> date: mon apr 3 06:53:12 2017 -0400
|
||||
|
||||
2017-03-27 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : commit a91cd716670be09d3cef34e1bb36a67f96f91712 author: rocky
|
||||
<rb@dustyfeet.com> date: mon mar 27 07:08:59 2017 -0400
|
||||
|
||||
2017-03-19 rocky <rb@dustyfeet.com>
|
||||
|
||||
* __pkginfo__.py: use more-recent xdis
|
||||
|
||||
2017-03-15 rocky <rb@dustyfeet.com>
|
||||
|
||||
* history.md, test/simple_source/bug33/01_if_try_except.py: grammar
|
||||
typo and add another test
|
||||
|
||||
2017-03-12 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/scanners/scanner3.py: python 3.0 doesn't have
|
||||
pop_jump_if...
|
||||
|
||||
2017-03-12 rocky <rb@dustyfeet.com>
|
||||
|
||||
* readme.rst: note problem in handling pathologically long lists
|
||||
|
||||
2017-03-07 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/scanners/scanner3.py: small cleanup - remove
|
||||
pop_jump_tf
|
||||
|
||||
2017-03-05 rocky <rb@dustyfeet.com>
|
||||
|
||||
* pytest/test_grammar.py, uncompyle6/parsers/parse3.py,
|
||||
uncompyle6/parsers/parse33.py, uncompyle6/scanners/scanner3.py: more
|
||||
accurate ranges of try blocks in 3.x
|
||||
|
||||
2017-03-05 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug33/01_try_except.py: more accurate ranges of
|
||||
try blocks in 3.x
|
||||
|
||||
2017-03-04 r. bernstein <rocky@users.noreply.github.com>
|
||||
|
||||
* : merge pull request #84 from
|
||||
moagstar/property_based_test_function_call property based test function call
|
||||
|
||||
2017-03-04 rocky <rb@dustyfeet.com>
|
||||
|
||||
* readme.rst: readme updates for 3.5 and 1.5
|
||||
|
||||
2017-03-04 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug32/01_named_and_kwargs.py,
|
||||
uncompyle6/parsers/parse3.py: bug found by hypothesis in creating
|
||||
function calls
|
||||
|
||||
2017-03-04 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* pytest/test_function_call.py: marked all function call tests as
|
||||
failing until they pass across all python versions
|
||||
|
||||
2017-03-04 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* pytest/test_function_call.py: added minimal examples for various
|
||||
function call opcodes
|
||||
|
||||
2017-03-04 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* pytest/test_function_call.py: added property based test for
|
||||
verifying uncompylation of function calls. a number of minimal
|
||||
examples for the various function call opcodes have been generated
|
||||
with the majority marked as expected failure until python 3.6 opcode
|
||||
support is complete. i'm hoping this will make it easier to figure
|
||||
out what needs to be done to support the new opcodes and changed
|
||||
semntics for function calls
|
||||
|
||||
2017-03-03 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* pytest/test_function_call.py: reduced errors when generating
|
||||
function call instances
|
||||
|
||||
2017-03-03 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* pytest/test_function_call.py: added test file for function calls
|
||||
|
||||
2017-03-03 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* .gitignore: added .idea to gitignore
|
||||
|
||||
2017-03-03 daniel bradburn <moagstar@gmail.com>
|
||||
|
||||
* .gitignore: added .venv to gitignore
|
||||
|
||||
2017-03-01 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/scanner.py, uncompyle6/scanners/scanner2.py,
|
||||
uncompyle6/scanners/scanner3.py, uncompyle6/verify.py: come_from for
|
||||
3.x pop_except, dry with op_name() ... start adding come_froms for pop_except in preparation for getting
|
||||
tryelse blocks correct. simpler opname access functions: - self.op_name(op) is self.opc.opname[op] - self.op_name_from_offset(offset) is
|
||||
self.opc.opname[self.code[offset]] verify.py: not all offsets are ints
|
||||
|
||||
2017-02-28 rocky <rb@dustyfeet.com>
|
||||
|
||||
* readme.rst, uncompyle6/parser.py, uncompyle6/parsers/parse26.py:
|
||||
python 2.6 a == b or c == d == 3 grammar bug
|
||||
|
||||
2017-02-28 rocky <rb@dustyfeet.com>
|
||||
|
||||
* : 2.6 a == b or x == y == z bug
|
||||
|
||||
2017-02-28 rocky <rb@dustyfeet.com>
|
||||
|
||||
* test/simple_source/bug26/03_double_equals.py,
|
||||
uncompyle6/semantics/consts.py: predidence of cmp_list: x == y == z the x, y, z should not have parenthesis around pairs of them (x ==
|
||||
y) or (y == z)
|
||||
|
||||
2017-02-28 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/parser.py, uncompyle6/parsers/parse27.py: python 2.7
|
||||
check jump targets of "and"
|
||||
|
||||
2017-02-25 rocky <rb@dustyfeet.com>
|
||||
|
||||
* uncompyle6/version.py: Get ready for release 2.9.10
|
||||
* ChangeLog, NEWS, __pkginfo__.py, uncompyle6/version.py: Get ready
|
||||
for release 2.9.10
|
||||
|
||||
2017-02-25 rocky <rb@dustyfeet.com>
|
||||
|
||||
@@ -5630,4 +6026,3 @@
|
||||
2012-06-05 Mysterie <kajusska@gmail.com>
|
||||
|
||||
* first commit
|
||||
|
||||
|
6
NEWS
6
NEWS
@@ -1,3 +1,9 @@
|
||||
uncompyle6 2.9.11 2016-04-06
|
||||
|
||||
- Better support for Python 3.5+ BUILD_MAP_UNPACK
|
||||
- Start 3.6 CALL_FUNCTION_EX support
|
||||
- Many decompilation bug fixes. (Many more remain). See ChangeLog
|
||||
|
||||
uncompyle6 2.9.10 2016-02-25
|
||||
|
||||
- Python grammar rule fixes
|
||||
|
@@ -1,3 +1,3 @@
|
||||
# This file is suitable for sourcing inside bash as
|
||||
# well as importing into Python
|
||||
VERSION='2.9.10'
|
||||
VERSION='2.9.11'
|
||||
|
Reference in New Issue
Block a user