diff --git a/test/bytecode_3.3/09_yield_from.pyc b/test/bytecode_3.3/09_yield_from.pyc new file mode 100644 index 00000000..f561e363 Binary files /dev/null and b/test/bytecode_3.3/09_yield_from.pyc differ diff --git a/test/bytecode_3.4/09_yield_from.pyc b/test/bytecode_3.4/09_yield_from.pyc new file mode 100644 index 00000000..d2809716 Binary files /dev/null and b/test/bytecode_3.4/09_yield_from.pyc differ diff --git a/test/simple_source/expression/09_yield_from.py b/test/simple_source/expression/09_yield_from.py index a6dfebc9..e8d5eb20 100644 --- a/test/simple_source/expression/09_yield_from.py +++ b/test/simple_source/expression/09_yield_from.py @@ -11,6 +11,9 @@ def _walk_dir(dir, dfile, ddir=None): yield from _walk_dir(dir, ddir=dfile) +def ybug(g): + yield from g + # From 3.5.1 _wakrefset.py # # 3.5: diff --git a/uncompyle6/semantics/customize3.py b/uncompyle6/semantics/customize3.py index 1a02056c..228766c1 100644 --- a/uncompyle6/semantics/customize3.py +++ b/uncompyle6/semantics/customize3.py @@ -193,12 +193,12 @@ def customize_for_version3(self, version): def n_yield_from(node): self.write('yield from') self.write(' ') - if 3.3 <= self.version <= 3.4: + if 3.3 == self.version: self.preorder(node[0][0][0][0]) - elif self.version >= 3.5: + elif self.version >= 3.4: self.preorder(node[0]) else: - assert False, "dunno about this python version" + assert False, "dunno how ths Python handles 'yield from'" self.prune() # stop recursing self.n_yield_from = n_yield_from