@@ -361,7 +361,7 @@ def __ror__(self, other):
361361_nmtuple_classcell_sentinel = object ()
362362
363363def _namedtuple (typename , field_names , * , rename = False , defaults = None , module = None ,
364- classcell = _nmtuple_classcell_sentinel ):
364+ classcell = _nmtuple_classcell_sentinel , stack_offset = 1 ):
365365 # Validate the field names. At the user's option, either generate an error
366366 # message or automatically replace the field name with a valid name.
367367 if isinstance (field_names , str ):
@@ -507,10 +507,10 @@ def __getnewargs__(self):
507507 # specified a particular module.
508508 if module is None :
509509 try :
510- module = _sys ._getframemodulename (1 ) or '__main__'
510+ module = _sys ._getframemodulename (stack_offset ) or '__main__'
511511 except AttributeError :
512512 try :
513- module = _sys ._getframe (1 ).f_globals .get ('__name__' , '__main__' )
513+ module = _sys ._getframe (stack_offset ).f_globals .get ('__name__' , '__main__' )
514514 except (AttributeError , ValueError ):
515515 pass
516516 if module is not None :
@@ -541,7 +541,8 @@ def namedtuple(typename, field_names, *, rename=False, defaults=None, module=Non
541541 Point(x=100, y=22)
542542
543543 """
544- return _namedtuple (typename , field_names , rename = rename , defaults = defaults , module = module )
544+ return _namedtuple (typename , field_names , rename = rename , defaults = defaults , module = module ,
545+ stack_offset = 2 )
545546
546547########################################################################
547548### Counter
0 commit comments