[ python-Bugs-1115039 ] eval != literal scope in nested function

SourceForge.net noreply at sourceforge.net
Wed Feb 2 21:59:31 CET 2005


Bugs item #1115039, was opened at 2005-02-02 20:59
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1115039&group_id=5470

Category: Parser/Compiler
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Andrew Collier (carou)
Assigned to: Nobody/Anonymous (nobody)
Summary: eval != literal scope in nested function

Initial Comment:
python 2.3 as installed by default in MacOS X 10.3.7

This may be the same as item 991196, but that's my uneducated 
guess since I don't understand the cause of either one... (in fact it 
may not even really be a bug, but at the least this is behaviour I'm 
unable to explain).

It seems that fewer symbols are available to eval() than are 
available to literal code. The best way to describe the problem is 
with the attached short example file.

In the function evalfunction2(), a call via eval() is unable to 
resolve the symbol name evalfunction1 - even though it would be 
possible to call evalfunction1() directly.

But if the code *does* call evalfunction1() directly, then the eval() 
can see that symbol too(!).


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1115039&group_id=5470


More information about the Python-bugs-list mailing list