[IronPython] IronPython 2.6 CodePlex Source Update

merllab at microsoft.com merllab at microsoft.com
Fri Aug 21 08:53:44 PDT 2009


This is an automated email letting you know that sources 
have recently been pushed out.  You can download these newer 
sources directly from http://ironpython.codeplex.com/SourceControl/changeset/view/58283.

MODIFIED SOURCES
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/RunnableScriptCode.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/DictionaryGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/PythonScriptCode.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/ArrayGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/SavableGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/RuntimeScriptCode.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/OnDiskScriptCode.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/array.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/cStringIO.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/FunctionDefinition.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/ClassDefinition.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/AstGenerator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonDynamicStackFrame.cs
	$/IronPython/IronPython_Main/Src/IronPython/Modules/Builtin.cs
	$/IronPython/IronPython_Main/Src/IronPython/Modules/sys.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonTracebackListener.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/LanguageContext.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/SourceUnit.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Generation/ToDiskRewriter.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/SavableScriptCode.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/StaticGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonOptions.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/FunctionCode.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Exceptions/TraceBack.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/PythonOps.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonContext.cs
	$/IronPython/IronPython_Main/Src/IronPythonTest/EngineTest.cs
	$/IronPython/IronPython_Main/Src/IronPython/Hosting/PythonOptionsParser.cs
	$/IronPython/IronPython_Main/Src/Tests/Modes/ConsoleHelp.Debug.out
	$/IronPython/IronPython_Main/Src/Tests/Modes/ConsoleHelp.Release.out
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/WeakDictionary.cs
	$/IronPython/IronPython_Main/Src/Tests/interop/net/derivation/test_property_override.py
	$/IronPython/IronPython_Main/Src/Tests/test_function.py
	$/IronPython/IronPython_Main/Src/Tests/test_cStringIO.py
	$/IronPython/IronPython_Main/Src/Tests/test_cliclass.py
	$/IronPython/IronPython_Main/Src/Tests/test_class.py
	$/IronPython/IronPython_Main/Src/Tests/test_metaclass.py
	$/IronPython/IronPython_Main/Src/Tests/test_generator_throw.py
	$/IronPython/IronPython_Main/Src/Tests/test_nt.py
	$/IronPython/IronPython_Main/Src/Tests/test_namebinding.py
	$/IronPython/IronPython_Main/Src/Tests/test_slots.py
	$/IronPython/IronPython_Main/Src/Tests/test_sys.py

CHECKIN COMMENTS
--------------------------------------------------------------------------------
Changeset Id: 1072305
Date: 8/20/2009 3:26:06 PM

(dfugate) - test_array.py: 315192 is fixed
- test_descr.py:  316449 is fixed which enabled finding many more bugs (all under CP21116 for now)
- test_float.py:  float(unicode(huge number)) is a bug (24383), not an incompat
- test_gettext.py:  a tearDown method wasn't broken due to 315224
- test_cStringIO.py:  151029 is fixed
- test_metclass.py:  364860 is fixed
- test_namebinding.py:  233393 is fixed
- test_nt.py:  CP24235 is fixed
- test_property_override.py:  372528 appears to be fixed


(Shelveset: CP74;REDMOND\dfugate | SNAP CheckinId: m9995)
--------------------------------------------------------------------------------
Changeset Id: 1071937
Date: 8/20/2009 12:01:56 PM

(dinov) Fixes for two tracing related bugs:

24313    The frame received from sys.settrace is not the actual frame
                This is the bulk of the change.  This includes:
                                We no longer create fake FunctionCode objects when building up traceback frames.  Instead our code gen, stack trace updates, and PythonDynamicStackFrame objects have been updated to have the FunctionCode object for the actual function.  For modules this means we need to flow the function code object into the generated module function.  We also get a new DelayedFunctionCode expression which allows us to create the function code object after the code generation for module/class/function definitions is complete.  This lets us create the function code which can hold onto the generated lambda and the generated lambda can refere back to the function code object.

                It also has a cleanup to function code to remove support for ScriptCode’s over there.  This ends a circular dependency between our code objects and ScriptCode objects.

                Our trace back listener is updated to only use 1 thread static for storing all frames.  Previously we had a stack of traceback listeners (which still needs to exist) and inside each traceback listener we had our own list of frames.  This unifies all lists of frames.  Because of this there’s some additional coordination needed when a traceback function throws an exception.

                But when the user calls sys._getframe now we can go and look at this unified static list of traceback frames and pull the frame object from there.  And now all the frames have consistent identities.

23650 Pdb set_trace and post_mortem
                Adding a new –X:Tracing option which enables these to work.  The problem here is that tracing needs to be enabled all the time, not just when sys.settrace() has been called.  This option makes that possible.

Also fixing a bug reported by Mike Stall that del frame.f_trace doesn’t work.



(Shelveset: TracingFrameIdentityFinal;REDMOND\dinov | SNAP CheckinId: 9194)
--------------------------------------------------------------------------------
Changeset Id: 1070492
Date: 8/20/2009 9:59:49 AM

(dinov) 23703 Trivial: missing cStringIO.isatty
                Adding check to see if cStringIO is closed, enabling test in test_stringIO
23704 iter(x) == x when x is cStringIO.StringIO instance 
                Already passing, Enabling test in test_StringIO
23741 re.match(re.escape(chr(92),chr(92)) throws value error
            Enabling test in test_re
23772 NotImplemented returned when calling builtinfunciton.__call__ with keyword args 
                Adding test to test_cliclass
23791 the itemsize return different result when typecode is 'u' for Ironpython and Cpython 
                Fixing site in array, adding new check for Unicode in verifying size for fromunicode, enabling test in test_array
23792 binascii.a2b_base64("\n") throw a TypeError 
                Enabling test in test_gettext
23795 AttributeError: 'type' object has no attribute '__getformat__' 
                Enabling test in test_float except for the test which is clearly marked as an implementation detail
23722 locals() fails in nested functions if locals() is also used in an outer function 
                Enabling test in test_namebinding
23822 locals() in nested member function can't view locals in outer function 
                Adding test case to test_namebinding (1st new test case)
23823 nested function's locals() affected by sibling nested function's locals(). 
                Adding test case to test_namebinding (2nd  new test case)
23908 calling OldClass with list can fail. 
                Adding test to test_class
23903 negative scenario: new-style class can't have only classic bases when using "type" to create it 
                Enabling test case in test_metaclass
23901 valid scenario: deriving a class from multiple new styles with __slots__
                Adding test case to test_slots
23899 subtype's __slots__ not working 
                Enabling test case in test_slots (bug 364438)
23852 Trivial: lack of 'digest_size', 'digestsize', 'name' attribute for md5 module compare to ...


(Shelveset: Enable261tESTS;REDMOND\dinov | SNAP CheckinId: 9192)



More information about the Users mailing list