diff --git a/admin-tools/merge-for-2.4.sh b/admin-tools/merge-for-2.4.sh index f8c55395..38b38124 100755 --- a/admin-tools/merge-for-2.4.sh +++ b/admin-tools/merge-for-2.4.sh @@ -1,5 +1,7 @@ #/bin/bash +owd=$(pwd) cd $(dirname ${BASH_SOURCE[0]}) if . ./setup-python-2.4.sh; then git merge python-3.0-to-3.2 fi +cd $owd diff --git a/admin-tools/merge-for-3.0.sh b/admin-tools/merge-for-3.0.sh index 7fc1a596..834e9a25 100755 --- a/admin-tools/merge-for-3.0.sh +++ b/admin-tools/merge-for-3.0.sh @@ -1,5 +1,7 @@ #/bin/bash +owd=$(pwd) cd $(dirname ${BASH_SOURCE[0]}) if . ./setup-python-3.0.sh; then git merge python-3.3-to-3.5 fi +cd $owd diff --git a/admin-tools/merge-for-3.3.sh b/admin-tools/merge-for-3.3.sh index aade2e77..8febb3d9 100755 --- a/admin-tools/merge-for-3.3.sh +++ b/admin-tools/merge-for-3.3.sh @@ -1,5 +1,7 @@ #/bin/bash +owd=$(pwd) cd $(dirname ${BASH_SOURCE[0]}) if . ./setup-python-3.3.sh; then git merge master fi +cd $owd diff --git a/test/stdlib/2.6-exclude.sh b/test/stdlib/2.6-exclude.sh index 5b395032..952579a4 100644 --- a/test/stdlib/2.6-exclude.sh +++ b/test/stdlib/2.6-exclude.sh @@ -18,6 +18,7 @@ SKIP_TESTS=( [test_cd.py]=1 # i# No module cl [test_cl.py]=1 # it fails on its own + [test_cmath.py]=pytest [test_codecmaps_cn.py]=1 # it fails on its own [test_codecmaps_jp.py]=1 # it fails on its own [test_codecmaps_kr.py]=1 # it fails on its own diff --git a/uncompyle6/scanners/scanner3.py b/uncompyle6/scanners/scanner3.py index 46250792..3915bde2 100644 --- a/uncompyle6/scanners/scanner3.py +++ b/uncompyle6/scanners/scanner3.py @@ -265,7 +265,7 @@ class Scanner3(Scanner): has_arg=True, has_extended_arg=False, opc=self.opc, - optype=None, + optype="pseudo", ) ) for j in range(collection_start, i): @@ -292,7 +292,7 @@ class Scanner3(Scanner): has_arg=t.has_arg, has_extended_arg=False, opc=t.opc, - optype=None, + optype="pseudo", ) ) return new_tokens @@ -341,7 +341,7 @@ class Scanner3(Scanner): has_arg=True, has_extended_arg=False, opc=self.opc, - optype=None, + optype="pseudo", ) ) for j in range(collection_start, i, 2): diff --git a/uncompyle6/scanners/scanner37.py b/uncompyle6/scanners/scanner37.py index 51da0766..75b74d64 100644 --- a/uncompyle6/scanners/scanner37.py +++ b/uncompyle6/scanners/scanner37.py @@ -89,7 +89,7 @@ class Scanner37(Scanner37Base): has_arg=True, has_extended_arg=False, opc=self.opc, - optype=None, + optype="pseudo", ) ) for j in range(collection_start, i): diff --git a/uncompyle6/semantics/make_function2.py b/uncompyle6/semantics/make_function2.py index bb8ca9ec..c496ae35 100644 --- a/uncompyle6/semantics/make_function2.py +++ b/uncompyle6/semantics/make_function2.py @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2021 by Rocky Bernstein +# Copyright (c) 2015-2021 2024 by Rocky Bernstein # Copyright (c) 2000-2002 by hartmut Goebel # # This program is free software: you can redistribute it and/or modify @@ -17,6 +17,7 @@ All the crazy things we have to do to handle Python functions in Python before 3.0. The saga of changes continues in 3.0 and above and in other files. """ + from itertools import zip_longest from xdis import code_has_star_arg, code_has_star_star_arg, iscode @@ -30,7 +31,6 @@ from uncompyle6.semantics.helper import ( print_docstring, ) from uncompyle6.semantics.parser_error import ParserError -from uncompyle6.show import maybe_show_tree_param_default def make_function2(self, node, is_lambda, nested=1, code_node=None): diff --git a/uncompyle6/semantics/pysource.py b/uncompyle6/semantics/pysource.py index 95c8c16f..45b376a7 100644 --- a/uncompyle6/semantics/pysource.py +++ b/uncompyle6/semantics/pysource.py @@ -1271,7 +1271,7 @@ class SourceWalker(GenericASTTraversal, NonterminalActions, ComprehensionMixin): transform_tree = self.treeTransform.transform(ast, code) - self.maybe_show_tree(ast, phase="before") + self.maybe_show_tree(transform_tree, phase="after") del ast # Save memory return transform_tree diff --git a/uncompyle6/semantics/transform.py b/uncompyle6/semantics/transform.py index b646071b..f96a10a6 100644 --- a/uncompyle6/semantics/transform.py +++ b/uncompyle6/semantics/transform.py @@ -488,19 +488,9 @@ class TreeTransform(GenericASTTraversal, object): self.ast[i] = self.ast[i][0] if is_docstring(self.ast[i], self.version, code.co_consts): - load_const = self.ast[i].first_child() - docstring_ast = SyntaxTree( - "docstring", - [ - Token( - "LOAD_STR", - has_arg=True, - offset=0, - attr=load_const.attr, - pattr=load_const.pattr, - ) - ], - ) + load_const = copy(self.ast[i].first_child()) + store_name = copy(self.ast[i].last_child()) + docstring_ast = SyntaxTree("docstring", [load_const, store_name]) docstring_ast.transformed_by = "transform" del self.ast[i] self.ast.insert(0, docstring_ast)