This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients BreamoreBoy, christian.heimes, loewis, serhiy.storchaka, steve.dower, vstinner
Date 2015-02-16.13:45:59
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1424094359.49.0.172084791327.issue18295@psf.upfronthosting.co.za>
In-reply-to
Content
It is possible to reproduce original bug without hacking the code object or bytecode:

>>> eval('lambda %s, *args, **kwargs: (lambda:args)' % (', '.join('a%d'%i for i in range(253)),))(*range(256))()
(253, 254, 255)
>>> eval('lambda %s, *args, **kwargs: (lambda:args)' % (', '.join('a%d'%i for i in range(254)),))(*range(256))()
(254, 255)
>>> eval('lambda %s, *args, **kwargs: (lambda:args)' % (', '.join('a%d'%i for i in range(255)),))(*range(256))()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <lambda>
NameError: free variable 'args' referenced before assignment in enclosing scope

>>> eval('lambda %s, *args, **kwargs: (lambda:kwargs)' % (', '.join('a%d'%i for i in range(253)),))(*range(256))()
{}
>>> eval('lambda %s, *args, **kwargs: (lambda:kwargs)' % (', '.join('a%d'%i for i in range(254)),))(*range(256))()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <lambda>
NameError: free variable 'kwargs' referenced before assignment in enclosing scope
>>> eval('lambda %s, *args, **kwargs: (lambda:kwargs)' % (', '.join('a%d'%i for i in range(255)),))(*range(256))()
0
History
Date User Action Args
2015-02-16 13:45:59serhiy.storchakasetrecipients: + serhiy.storchaka, loewis, vstinner, christian.heimes, BreamoreBoy, steve.dower
2015-02-16 13:45:59serhiy.storchakasetmessageid: <1424094359.49.0.172084791327.issue18295@psf.upfronthosting.co.za>
2015-02-16 13:45:59serhiy.storchakalinkissue18295 messages
2015-02-16 13:45:59serhiy.storchakacreate