From e2dec73a62d99df4bca6e4f8bc601b6c305c6cc3 Mon Sep 17 00:00:00 2001 From: rocky Date: Tue, 3 Apr 2018 05:56:45 -0400 Subject: [PATCH] 3.5 CALL_FUNCTION_VAR bug --- test/bytecode_3.5_run/04_call_function.pyc | Bin 1588 -> 2090 bytes test/simple_source/bug35/04_call_function.py | 5 +++++ uncompyle6/semantics/customize.py | 4 ++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/test/bytecode_3.5_run/04_call_function.pyc b/test/bytecode_3.5_run/04_call_function.pyc index 99d98c11cb9f4bdaecd02e447aa17f407fba122c..25f663e66e9341229a2078e80ace1917418e9f94 100644 GIT binary patch delta 573 zcmZ8d%SyvQ6upy2E%xcA4__ccZNR;Pn?ezH71UKWA!bsHrisj?wTnU*cBu>LKe%uw z2!4S06WO?MRX@PB_ol^Ghq>q8Ihovh=DcK|ireK}Zh6vrGs6_XCoC*HLjyy8J#4@3 zmw=aH1YqWX1Mmv)DvTJIdEh!RegVt^@KxYz$+aSpr^fp8$GbLk*sQOLnd)Qet05$p zSW7HnZK#623*uw#>W0gNoEi0%uUYWpJ+mOJ*yr3H6x@&||IL4V*aL_Ix+6J8rCT&xy=TI}{x|vb>-jni;nr z3EPP*?uq{b^WEUucCIX2I2T^eJs=ed3^6fLL;N*@X3}GiFk~44bzTBQ3@%Y7gF80U z$6AJJW^E~55uMncbY-0CbK!gEW}z7dJy%FC3=V||g`v#-`y*@@tt&0InE%+I`7w_aoGrFlq8mZeS0Y g{DNIcLIfz!&(6ap!^p$P!y>`V!^Y0a&mqJL0N1+>^#A|> diff --git a/test/simple_source/bug35/04_call_function.py b/test/simple_source/bug35/04_call_function.py index a5900f6a..9f5b60d5 100644 --- a/test/simple_source/bug35/04_call_function.py +++ b/test/simple_source/bug35/04_call_function.py @@ -58,3 +58,8 @@ def __call__(self, *args, **kwds): # From 3.6.4 shutil def unpack_archive(func, filename, dict, format_info, extract_dir=None): func(filename, extract_dir, **dict(format_info[2])) + +# From 3.5.5 test_xrdrlib.py +import xdrlib +def assertRaisesConversion(self, *args): + self.assertRaises(xdrlib.ConversionError, *args) diff --git a/uncompyle6/semantics/customize.py b/uncompyle6/semantics/customize.py index 88d431e2..d26b20bf 100644 --- a/uncompyle6/semantics/customize.py +++ b/uncompyle6/semantics/customize.py @@ -363,9 +363,9 @@ def customize_for_version(self, is_pypy, version): self.template_engine(template, args_node) else: if len(node) - nargs > 3: - template = ('*%c, %C)', 1, (nargs+kwargs+1, -1, ', ')) + template = ('*%c, %C)', nargs+1, (nargs+kwargs+1, -1, ', ')) else: - template = ('*%c)', 1) + template = ('*%c)', nargs+1) self.template_engine(template, node) self.prune()