summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_scope.py
Commit message (Collapse)AuthorAgeFilesLines
* Backport fixes for two nested scopes bugs.Jeremy Hylton2002-04-201-7/+71
| | | | | | | | | | | | frameobject.c: make sure free and cell vars make it into locals, which makes eval work. bltinmodule.c & ceval.c: make sure a code object with free variables that is passed to exec or eval raises an exception. Also duplicate the current trunk test suite in the 2.1 branch, except for certain necessary changes: different warnings raised by 2.1, need for __future__.
* Backport Jeremy's checkins (frameobject.c:2.50, test_scope.py:1.16,Thomas Wouters2001-05-231-0/+20
| | | | | | | test_scope:1.8): SF patch 419176 from MvL; fixed bug 418977 Two errors in dict_to_map() helper used by PyFrame_LocalsToFast().
* Backport Jeremy's checkin 1.15:Thomas Wouters2001-05-231-0/+11
| | | | | | | | | | Fix 2.1 nested scopes crash reported by Evan Simpson The new test case demonstrates the bug. Be more careful in symtable_resolve_free() to add a var to cells or frees only if it won't be added under some other rule. XXX Add new assertion that will catch this bug.
* Change error message raised when free variable is not yet bound. ItJeremy Hylton2001-04-131-1/+2
| | | | | | | | | now raises NameError instead of UnboundLocalError, because the var in question is definitely not local. (This affects test_scope.py) Also update the recent fix by Ping using get_func_name(). Replace tests of get_func_name() return value with call to get_func_desc() to match all the other uses.
* Add tests for recent changes:Jeremy Hylton2001-03-211-0/+30
| | | | | - global stmt in class does not affect free vars in methods - locals() works with free and cell vars
* Whitespace normalization.Tim Peters2001-03-161-3/+2
|
* Add test to verify that nested functions with free variables don'tJeremy Hylton2001-03-131-0/+23
| | | | cause the free variables to leak.
* Test interaction of global and nested scopes -- thanks to Samuele Pedroni.Guido van Rossum2001-03-011-0/+65
|
* add from __future__ import nested_scopes to strings passed to compileJeremy Hylton2001-02-271-6/+12
|
* Preliminary support for future nested scopesJeremy Hylton2001-02-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compile.h: #define NESTED_SCOPES_DEFAULT 0 for Python 2.1 __future__ feature name: "nested_scopes" symtable.h: Add st_nested_scopes slot. Define flags to track exec and import star. Lib/test/test_scope.py: requires nested scopes compile.c: Fiddle with error messages. Reverse the sense of ste_optimized flag on PySymtableEntryObjects. If it is true, there is an optimization conflict. Modify get_ref_type to respect st_nested_scopes flags. Refactor symtable_load_symbols() into several smaller functions, which use struct symbol_info to share variables. In new function symtable_update_flags(), raise an error or warning for import * or bare exec that conflicts with nested scopes. Also, modify handle for free variables to respect st_nested_scopes flag. In symtable_init() assign st_nested_scopes flag to NESTED_SCOPES_DEFAULT (defined in compile.h). Add preliminary and often incorrect implementation of symtable_check_future(). Add symtable_lookup() helper for future use.
* Add test for syntax error on "x = 1 + 1".Jeremy Hylton2001-02-191-9/+1
| | | | Move check_syntax() function into test_support.
* Whitespace normalization.Tim Peters2001-02-151-4/+4
|
* update test cases for recent compiler changes: exec/import * in nestedJeremy Hylton2001-02-091-21/+64
| | | | functinos and cell vars with */** parameters
* Whitespace normalization.Tim Peters2001-02-091-6/+5
|
* Fix test 9 (caught by ?!ng)Jeremy Hylton2001-02-051-1/+30
| | | | Add tests for unbound locals (Nick Mathewson)
* Fix test for free ref to global. This test should have caught aJeremy Hylton2001-01-301-1/+1
| | | | recently fixed bug, but it checked for the wrong answer.
* PEP 227 implementationJeremy Hylton2001-01-251-0/+249
New tests cases for nested scopes.