Thanks, Beta 3 here I come. -Dan
On Mon, Jun 23, 2008 at 9:15 PM, Dino Viehland <[EMAIL PROTECTED]> wrote: > It seems to be fixed in beta 3. It's probably a bug in the interpreter as > writing the snippet out and executing w/ execfile, which doesn't run under > the interpreter, works in beta 2 as well. > > The reason it got silently fixed was because between the two versions the > interpreter was moved from M.S.Core.dll up to M.S.dll and a bunch of bugs > were fixed along the way. In beta 3 the interpreter is also now always used > for exec or eval - previously it avoided certain constructs it couldn't > support. > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dan Eloff > Sent: Monday, June 23, 2008 7:02 PM > To: Discussion of IronPython > Subject: [IronPython] NameError: locals() is not defined? > > In IronPython b2 I get: > >>>> s = ''' > ... def body(context): > ... def ccall(): > ... body = lambda: None > ... context.update(locals()) > ... ccall() > ... > ... ''' >>>> d = {} >>>> exec s in d >>>> c = {} >>>> d['body'](c) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "", line unknown, in Interpreted_body_1 > NameError: name 'locals' is not defined > > This works fine in CPython: > >>>> s = ''' > ... def body(context): > ... def ccall(): > ... body = lambda: None > ... context.update(locals()) > ... ccall() > ... > ... ''' >>>> exec s in d >>>> c = {} >>>> d['body'](c) >>>> c > {'body': <function <lambda> at 0x0359CCB0>, 'context': {...}} > > Any idea why? > > Thanks, > -Dan > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
