From davidescobar1976 at gmail.com Thu Oct 1 07:42:30 2009 From: davidescobar1976 at gmail.com (David Escobar) Date: Wed, 30 Sep 2009 22:42:30 -0700 Subject: [IronPython] IronPython 2.0.3 must-fix bugs In-Reply-To: References: Message-ID: <38ef96bd0909302242i6ad63f4bq758f5573897f260a@mail.gmail.com> In compiled assemblies, the FolderBrowseDialog window control (Windows Forms) does not show the folder tree view. On Fri, Sep 25, 2009 at 4:52 PM, David DiCato wrote: > As we work towards our IronPython 2.0.3 bugfix release, Dino and I would > like to get a feel for which bugs left unresolved in 2.0.2 are most > important for us to fix in the next release. Please let us know ASAP if > there?s an issue you?d like to see fixed in IronPython 2.0.3. Thanks! > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From empirebuilder at gmail.com Thu Oct 1 13:35:21 2009 From: empirebuilder at gmail.com (Dody Gunawinata) Date: Thu, 1 Oct 2009 13:35:21 +0200 Subject: [IronPython] IronPython/NWSGI 0-byte 200/404 response with HelloWorld? In-Reply-To: <20090930095559.GC537@nysv.org> References: <20090929084220.GC28624@nysv.org> <8cd017b80909290419s7e4bd742ra59ce67376357d3e@mail.gmail.com> <20090929122700.GB31019@nysv.org> <8cd017b80909290656i2dc64b7euddf2b86e09f97669@mail.gmail.com> <20090929140717.GA32494@nysv.org> <8cd017b80909290752i3aa54624q705703181525ad25@mail.gmail.com> <20090929150604.GA537@nysv.org> <8cd017b80909290808h742995a5k21fc6ce274553056@mail.gmail.com> <20090930095559.GC537@nysv.org> Message-ID: <8cd017b80910010435m2f7ed759h6cdd470cb29336c4@mail.gmail.com> I spent only two hours before giving up and got the usual errors. I'll try it again on the weekend (it's Friday/Saturday here in Egypt) so I can fortify myself with Oktoberfest amount of beer - see if it helps. 2009/9/30 Markus T?rnqvist > On Tue, Sep 29, 2009 at 05:08:07PM +0200, Dody Gunawinata wrote: > >Cool. Thanks. I'll try this tonight and see what kind of mind bombs I will > >encounter :) > > Did you get any interesting results?-) > > Thanks! > > -- > mjt > > -- nomadlife.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Thu Oct 1 13:42:29 2009 From: mjt at nysv.org (Markus =?utf-8?Q?T=F6rnqvist?=) Date: Thu, 1 Oct 2009 14:42:29 +0300 Subject: [IronPython] IronPython/NWSGI 0-byte 200/404 response with HelloWorld? In-Reply-To: <8cd017b80910010435m2f7ed759h6cdd470cb29336c4@mail.gmail.com> References: <20090929084220.GC28624@nysv.org> <8cd017b80909290419s7e4bd742ra59ce67376357d3e@mail.gmail.com> <20090929122700.GB31019@nysv.org> <8cd017b80909290656i2dc64b7euddf2b86e09f97669@mail.gmail.com> <20090929140717.GA32494@nysv.org> <8cd017b80909290752i3aa54624q705703181525ad25@mail.gmail.com> <20090929150604.GA537@nysv.org> <8cd017b80909290808h742995a5k21fc6ce274553056@mail.gmail.com> <20090930095559.GC537@nysv.org> <8cd017b80910010435m2f7ed759h6cdd470cb29336c4@mail.gmail.com> Message-ID: <20091001114229.GI537@nysv.org> On Thu, Oct 01, 2009 at 01:35:21PM +0200, Dody Gunawinata wrote: >I spent only two hours before giving up and got the usual errors. I'll try >it again on the weekend (it's Friday/Saturday here in Egypt) so I can >fortify myself with Oktoberfest amount of beer - see if it helps. Do you mean errors from Web.config? Hehe, good luck with the beer ;) -- mjt From fuzzyman at voidspace.org.uk Thu Oct 1 21:07:57 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Thu, 01 Oct 2009 20:07:57 +0100 Subject: [IronPython] New articles: Introduction to IronPython, Python for .NET Programmers and Dark Corners of IronPython Message-ID: <4AC4FE0D.7060907@voidspace.org.uk> Hello all, I've put a few new articles on IronPython up. The first two aimed particularly at newcomers to IronPython, but the third should be useful to everyone: * Introduction to IronPython http://www.voidspace.org.uk/ironpython/introduction-to-ironpython.shtml * Python for .NET Programmers http://www.voidspace.org.uk/ironpython/python-for-programmers.shtml * Dark Corners of IronPython http://www.voidspace.org.uk/ironpython/dark-corners.shtml If you have any comments or discover any errors / typos please let me know. All the best, Michael Foord -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Thu Oct 1 21:17:10 2009 From: dinov at microsoft.com (Dino Viehland) Date: Thu, 1 Oct 2009 19:17:10 +0000 Subject: [IronPython] New articles: Introduction to IronPython, Python for .NET Programmers and Dark Corners of IronPython In-Reply-To: <4AC4FE0D.7060907@voidspace.org.uk> References: <4AC4FE0D.7060907@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD049C7F61@TK5EX14MBXC120.redmond.corp.microsoft.com> VB, and the CLR in general, has supported named parameters since .NET 1.0. It's just C# that's finally getting support in .NET 4.0. Otherwise I think the Dark Corners looks great! -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord Sent: Thursday, October 01, 2009 12:08 PM To: Discussion of IronPython Subject: [IronPython] New articles: Introduction to IronPython, Python for .NET Programmers and Dark Corners of IronPython Hello all, I've put a few new articles on IronPython up. The first two aimed particularly at newcomers to IronPython, but the third should be useful to everyone: * Introduction to IronPython http://www.voidspace.org.uk/ironpython/introduction-to-ironpython.shtml * Python for .NET Programmers http://www.voidspace.org.uk/ironpython/python-for-programmers.shtml * Dark Corners of IronPython http://www.voidspace.org.uk/ironpython/dark-corners.shtml If you have any comments or discover any errors / typos please let me know. All the best, Michael Foord -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From fuzzyman at voidspace.org.uk Thu Oct 1 21:21:28 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Thu, 01 Oct 2009 20:21:28 +0100 Subject: [IronPython] New articles: Introduction to IronPython, Python for .NET Programmers and Dark Corners of IronPython In-Reply-To: <1A472770E042064698CB5ADC83A12ACD049C7F61@TK5EX14MBXC120.redmond.corp.microsoft.com> References: <4AC4FE0D.7060907@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD049C7F61@TK5EX14MBXC120.redmond.corp.microsoft.com> Message-ID: <4AC50138.1010702@voidspace.org.uk> Dino Viehland wrote: > VB, and the CLR in general, has supported named parameters since .NET 1.0. It's just C# that's finally getting support in .NET 4.0. > Thanks, Harry just pointed out the same thing by Twitter. ;-) Of course VB.NET named parameters are brain dead - compiling the value into the *caller*, but still worth a mention. Michael > Otherwise I think the Dark Corners looks great! > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord > Sent: Thursday, October 01, 2009 12:08 PM > To: Discussion of IronPython > Subject: [IronPython] New articles: Introduction to IronPython, Python for .NET Programmers and Dark Corners of IronPython > > Hello all, > > I've put a few new articles on IronPython up. The first two aimed > particularly at newcomers to IronPython, but the third should be useful > to everyone: > > * Introduction to IronPython > http://www.voidspace.org.uk/ironpython/introduction-to-ironpython.shtml > > * Python for .NET Programmers > http://www.voidspace.org.uk/ironpython/python-for-programmers.shtml > > * Dark Corners of IronPython > http://www.voidspace.org.uk/ironpython/dark-corners.shtml > > If you have any comments or discover any errors / typos please let me know. > > All the best, > > Michael Foord > > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dave.brueck at protoven.com Fri Oct 2 15:27:40 2009 From: dave.brueck at protoven.com (Dave Brueck) Date: Fri, 2 Oct 2009 07:27:40 -0600 Subject: [IronPython] MonoTouch support In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04995343@TK5EX14MBXC120.redmond.corp.microsoft.com> References: <78CB02B5-BF34-40AF-B1D7-42DF5138F560@protoven.com> <1A472770E042064698CB5ADC83A12ACD04995343@TK5EX14MBXC120.redmond.corp.microsoft.com> Message-ID: On Sep 27, 2009, at 8:41 PM, Dino Viehland wrote: > Dave wrote: >> Hi, I'm wondering what it would take in theory to get IronPython >> working on MonoTouch (http://monotouch.net/) - the framework for >> writing iPhone apps in C#. [snip] > > There's a combination of things that we already have that will get you > close - but there's probably a lot of corner cases to be flushed out. [snip] Dino, thanks *very* much for the thoughtful reply - I really appreciate it and you've given me some specific things to go learn about. It's pretty encouraging to see how much of the work is already done, although like you said I'm sure there are still things here and there to figure out still. I'm just starting to become familiar with the IronPython source, so I'll spend time on that for awhile and then come back and bug you and others with more questions. :) Thanks again, -Dave From josh at globalherald.net Fri Oct 2 18:33:09 2009 From: josh at globalherald.net (Joshua Kramer) Date: Fri, 2 Oct 2009 12:33:09 -0400 (EDT) Subject: [IronPython] IronPython 2.6rc1 / PyDev: Breakpoint No Workie? Message-ID: Howdy, Did Dino or Fabio ever have a chance to look at this? Many Thanks!! --Josh --- I pinged Fabio off the list to see if he thought this combination should work. He says he'll take a look at it over the weekend. If it's something on our side I think we'd fix it in the final release or put out a new RC. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Josh > Sent: Wednesday, September 23, 2009 8:18 PM > To: users at lists.ironpython.com > Subject: [IronPython] IronPython 2.6rc1 / PyDev: Breakpoint No Workie? > > Hello, > > Like many I am eagerly anticipating the Python 2.6 release for its > sys.settrace support and more specifically, the ability to use normal > Python debuggers with IronPython. > > Has anyone been able to get 2.6rc1 to work (as far as debugging and > setting breakpoints) with Eclipse Gailieo and PyDev 1.4.8.2881? When I > set a breakpoint in my code... it's never hit - the program just runs > all the way through. Actually, ONCE tonight my breakpoint was hit, and > never after that. It doesn't matter if I run the code from the debug > perspective or the PyDev perspective. > > Cheers, > -J -- ----- http://www.globalherald.net/jb01 GlobalHerald.NET, the Smarter Social Network! (tm) From dinov at microsoft.com Fri Oct 2 17:47:23 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 2 Oct 2009 15:47:23 +0000 Subject: [IronPython] IronPython 2.6rc1 / PyDev: Breakpoint No Workie? In-Reply-To: References: Message-ID: <1A472770E042064698CB5ADC83A12ACD049D484D@TK5EX14MBXC120.redmond.corp.microsoft.com> Yep, sorry for not responding back earlier. Fabio took a look and basic debugging worked for him. But there were some problems w/ multiple threads still. Fabio reported this previously and while I thought I had fixed it there were still some intermittent failures. I've got a new fix checked into the Main branch that I'll integrate to 2.6 real soon now w/ other must fix bugs. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Joshua Kramer > Sent: Friday, October 02, 2009 9:33 AM > To: users at lists.ironpython.com > Subject: Re: [IronPython] IronPython 2.6rc1 / PyDev: Breakpoint No Workie? > > > Howdy, > > Did Dino or Fabio ever have a chance to look at this? > > Many Thanks!! > --Josh > > --- > > I pinged Fabio off the list to see if he thought this combination should > work. > > He says he'll take a look at it over the weekend. If it's something on > our side I think we'd fix it in the final release or put out a new RC. > > > -----Original Message----- > > From: users-bounces at lists.ironpython.com [mailto:users- > > bounces at lists.ironpython.com] On Behalf Of Josh > > Sent: Wednesday, September 23, 2009 8:18 PM > > To: users at lists.ironpython.com > > Subject: [IronPython] IronPython 2.6rc1 / PyDev: Breakpoint No Workie? > > > > Hello, > > > > Like many I am eagerly anticipating the Python 2.6 release for its > > sys.settrace support and more specifically, the ability to use normal > > Python debuggers with IronPython. > > > > Has anyone been able to get 2.6rc1 to work (as far as debugging and > > setting breakpoints) with Eclipse Gailieo and PyDev 1.4.8.2881? When I > > set a breakpoint in my code... it's never hit - the program just runs > > all the way through. Actually, ONCE tonight my breakpoint was hit, and > > never after that. It doesn't matter if I run the code from the debug > > perspective or the PyDev perspective. > > > > Cheers, > > -J > > > -- > > ----- > http://www.globalherald.net/jb01 > GlobalHerald.NET, the Smarter Social Network! (tm) > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From merllab at microsoft.com Fri Oct 2 17:54:53 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 2 Oct 2009 08:54:53 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <7423027a-cf5d-4cd6-b992-a5f8640bca9b@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/59647. MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/AssemblyVersion.cs $/IronPython/IronPython_Main/Src/IronPython.Modules/errno.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/IronPython/Modules/sys.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonTracebackListener.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonProtocol.Operations.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonModule.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonType.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/PythonOps.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/IntOps.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Generator.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/XRange.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonContext.cs $/IronPython/IronPython_Main/Src/IronPythonTest/IronPythonTest.csproj $/IronPython/IronPython_Main/Src/IronPython.Modules/nt.cs $/IronPython/IronPython_Main/Src/IronPython/Hosting/PythonCommandLine.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/DynamicOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Properties/ExtensionAssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/LanguageOptions.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/LanguageContext.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ObjectOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/ExceptionFactory.Generated.cs $/IronPython/IronPython_Main/Src/Tests/test_imp.py $/IronPython/IronPython_Main/Src/Tests/test_class.py $/IronPython/IronPython_Main/Src/Tests/test_nt.py $/IronPython/IronPython_Main/Tutorial/Tutorial.htm CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1181439 Date: 10/1/2009 11:47:04 PM (sborde) Sample for __clrtype__. It folds Harry's samples for various usages (creating properties, specifying namespace, custom attributes, etc) of __clrtype__ into a single module named "clrtype". Added a simple script to run a command and compare output. Added a test for the clrtype sample based on this script Fixed an issue in Microsoft.Scripting.Debugging.csproj on 64-bit. Dino previously changed the CodeAnalysisRuleAssemblies property to use %ProgramFiles%, but this works only if VS is started from a 32-bit command prompt. For a 64-bit command prompt, it should be %ProgramFiles (x86)% instead. I am just deleted the property as we dont set it in any other csproj. <> (Shelveset: clrtype;REDMOND\sborde | SNAP CheckinId: 9526) From merllab at microsoft.com Fri Oct 2 21:08:02 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 2 Oct 2009 12:08:02 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <91acc786-c43b-4d63-bd52-a7e75c4d4967@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/59651. MODIFIED SOURCES $/IronPython/IronPython_2_6/Src/AssemblyVersion.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Properties/ExtensionAssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs From mjt at nysv.org Sat Oct 3 16:13:31 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Sat, 3 Oct 2009 17:13:31 +0300 Subject: [IronPython] IronPython/NWSGI 0-byte 200/404 response with HelloWorld? In-Reply-To: <8cd017b80910010435m2f7ed759h6cdd470cb29336c4@mail.gmail.com> References: <20090929084220.GC28624@nysv.org> <8cd017b80909290419s7e4bd742ra59ce67376357d3e@mail.gmail.com> <20090929122700.GB31019@nysv.org> <8cd017b80909290656i2dc64b7euddf2b86e09f97669@mail.gmail.com> <20090929140717.GA32494@nysv.org> <8cd017b80909290752i3aa54624q705703181525ad25@mail.gmail.com> <20090929150604.GA537@nysv.org> <8cd017b80909290808h742995a5k21fc6ce274553056@mail.gmail.com> <20090930095559.GC537@nysv.org> <8cd017b80910010435m2f7ed759h6cdd470cb29336c4@mail.gmail.com> Message-ID: <20091003141331.GA13593@nysv.org> On Thu, Oct 01, 2009 at 01:35:21PM +0200, Dody Gunawinata wrote: >I spent only two hours before giving up and got the usual errors. I'll try >it again on the weekend (it's Friday/Saturday here in Egypt) so I can >fortify myself with Oktoberfest amount of beer - see if it helps. I'll also try to look at this later today, but kinda busy... Hope it works out :) -- mjt From fuzzyman at voidspace.org.uk Mon Oct 5 13:14:17 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 12:14:17 +0100 Subject: [IronPython] IronPython 3 Message-ID: <4AC9D509.7070508@voidspace.org.uk> Hey all, I have an idea for how I'd like to see IronPython 3 developed, not sure how much extra work it would be but it would be very cool... I'd love to see IronPython 3 as a separate DLR language that could be used alongside IronPython 2.X. That way an IronPython 2 engine could use IronPython 3 engines and vice versa. This would allow Python 3 apps to use Python 2 libraries (with a wrapper layer) and vice-versa, and be unique in the Python world (well the Jython guys could do it as well). I guess there are two ways of doing it. Either provide a single implementation where Python engines can be created as 2.X engines or 3.X engines. I imagine this would be fairly painful to do. Alternatively provide a separate set of assemblies for Python 3 - IronPython3.dll, IronPython3.Modules.dll etc. so that projects can reference *both* as separate dlr languages - I imagine this might make sharing code between the implementations a bit 'fiddly'. It would however make the transition from IronPython 2 to IronPython 3 a lot less painful. All the best, Michael -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From fuzzyman at voidspace.org.uk Mon Oct 5 13:58:07 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 12:58:07 +0100 Subject: [IronPython] Error on startup of IronPython 2.6 RC with certain command line options Message-ID: <4AC9DF4F.8050906@voidspace.org.uk> On Win 7 with 2.6 RC1 installed: C:\compile>"c:\Program Files\IronPython 2.6\ipy.exe" -D -X:FullFrames -X:Tracing -X:TabCompletion Traceback (most recent call last): File "c:\Program Files\IronPython 2.6\Lib\site.py", line 62, in c:\Program Files\IronPython 2.6\Lib\site.py File "c:\Program Files\IronPython 2.6\Lib\os.py", line 63, in c:\Program Files\IronPython 2.6\Lib\os.py File "c:\Program Files\IronPython 2.6\Lib\ntpath.py", line 12, in c:\Program Files\IronPython 2.6\Lib\ntpath.py File "c:\Program Files\IronPython 2.6\Lib\warnings.py", line 8, in c:\ProgramFiles\IronPython 2.6\Lib\warnings.py File "c:\Program Files\IronPython 2.6\Lib\types.py", line 53, in c:\Program Files\IronPython 2.6\Lib\types.py SystemError: Object reference not set to an instance of an object.IronPython 2.6 (2.6.10920.0) on .NET 2.0.50727.4927 Type "help", "copyright", "credits" or "license" for more information. >>> -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From fuzzyman at voidspace.org.uk Mon Oct 5 14:19:24 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 13:19:24 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 Message-ID: <4AC9E44C.8050408@voidspace.org.uk> Hello all, We're working on the port of Resolver One to IronPython 2.6. We're finding that in quite a few of our tests our documents are now not being garbage collected, which would be a major memory leak in Resolver One if left unaddressed. As far as we can *tell* what is keeping the documents alive is a PythonFunctionStack (?) in thread local storage, put there by IronPython itself. This doesn't happen with IronPython 2. Does this ring a bell as a change in IronPython 2.6? We're working on this now, so more details if we work it out. All the best, Michael Foord -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From empirebuilder at gmail.com Mon Oct 5 14:43:39 2009 From: empirebuilder at gmail.com (Dody Gunawinata) Date: Mon, 5 Oct 2009 14:43:39 +0200 Subject: [IronPython] IronPython 3 In-Reply-To: <4AC9D509.7070508@voidspace.org.uk> References: <4AC9D509.7070508@voidspace.org.uk> Message-ID: <8cd017b80910050543t35be7061w62a7495712ebb135@mail.gmail.com> +1 On Mon, Oct 5, 2009 at 1:14 PM, Michael Foord wrote: > Hey all, > > I have an idea for how I'd like to see IronPython 3 developed, not sure how > much extra work it would be but it would be very cool... > > I'd love to see IronPython 3 as a separate DLR language that could be used > alongside IronPython 2.X. That way an IronPython 2 engine could use > IronPython 3 engines and vice versa. This would allow Python 3 apps to use > Python 2 libraries (with a wrapper layer) and vice-versa, and be unique in > the Python world (well the Jython guys could do it as well). > > I guess there are two ways of doing it. Either provide a single > implementation where Python engines can be created as 2.X engines or 3.X > engines. I imagine this would be fairly painful to do. Alternatively provide > a separate set of assemblies for Python 3 - IronPython3.dll, > IronPython3.Modules.dll etc. so that projects can reference *both* as > separate dlr languages - I imagine this might make sharing code between the > implementations a bit 'fiddly'. > > It would however make the transition from IronPython 2 to IronPython 3 a > lot less painful. > > All the best, > > Michael > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- nomadlife.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From fuzzyman at voidspace.org.uk Mon Oct 5 17:19:03 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 16:19:03 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4AC9E44C.8050408@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> Message-ID: <4ACA0E67.30803@voidspace.org.uk> Michael Foord wrote: > Hello all, > > We're working on the port of Resolver One to IronPython 2.6. We're > finding that in quite a few of our tests our documents are now not > being garbage collected, which would be a major memory leak in > Resolver One if left unaddressed. > > As far as we can *tell* what is keeping the documents alive is a > PythonFunctionStack (?) in thread local storage, put there by > IronPython itself. This doesn't happen with IronPython 2. Does this > ring a bell as a change in IronPython 2.6? Slightly more info - it is a List and we are running with Frames off. Michael > > We're working on this now, so more details if we work it out. > > All the best, > > Michael Foord > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 18:49:20 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 16:49:20 +0000 Subject: [IronPython] Error on startup of IronPython 2.6 RC with certain command line options In-Reply-To: <4AC9DF4F.8050906@voidspace.org.uk> References: <4AC9DF4F.8050906@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A53618@TK5EX14MBXC116.redmond.corp.microsoft.com> I actually ran into this last night and have a fix for it which will be in RC2. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Michael Foord > Sent: Monday, October 05, 2009 4:58 AM > To: Discussion of IronPython > Subject: [IronPython] Error on startup of IronPython 2.6 RC with certain > command line options > > On Win 7 with 2.6 RC1 installed: > > C:\compile>"c:\Program Files\IronPython 2.6\ipy.exe" -D -X:FullFrames > -X:Tracing -X:TabCompletion > Traceback (most recent call last): > File "c:\Program Files\IronPython 2.6\Lib\site.py", line 62, in > c:\Program Files\IronPython 2.6\Lib\site.py > File "c:\Program Files\IronPython 2.6\Lib\os.py", line 63, in > c:\Program Files\IronPython 2.6\Lib\os.py > File "c:\Program Files\IronPython 2.6\Lib\ntpath.py", line 12, in > c:\Program Files\IronPython 2.6\Lib\ntpath.py > File "c:\Program Files\IronPython 2.6\Lib\warnings.py", line 8, in > c:\ProgramFiles\IronPython 2.6\Lib\warnings.py > File "c:\Program Files\IronPython 2.6\Lib\types.py", line 53, in > c:\Program Files\IronPython 2.6\Lib\types.py > SystemError: Object reference not set to an instance of an > object.IronPython 2.6 > (2.6.10920.0) on .NET 2.0.50727.4927 > Type "help", "copyright", "credits" or "license" for more information. > >>> > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From dinov at microsoft.com Mon Oct 5 19:00:28 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 17:00:28 +0000 Subject: [IronPython] IronPython 3 In-Reply-To: <4AC9D509.7070508@voidspace.org.uk> References: <4AC9D509.7070508@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A5497E@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > I'd love to see IronPython 3 as a separate DLR language that could be > used alongside IronPython 2.X. That way an IronPython 2 engine could use > IronPython 3 engines and vice versa. This would allow Python 3 apps to > use Python 2 libraries (with a wrapper layer) and vice-versa, and be > unique in the Python world (well the Jython guys could do it as well). Do you actually want to have both engines running in the same ScriptRuntime? If so what would be the file extension for IronPython 3? .py3? The reason I ask is currently ScriptRuntime's have a list of all languages and what extensions they support. That enables things like runtime.ExecuteFile to work and we don't allow duplication of extensions. > I guess there are two ways of doing it. Either provide a single > implementation where Python engines can be created as 2.X engines or 3.X > engines. I imagine this would be fairly painful to do. Alternatively > provide a separate set of assemblies for Python 3 - IronPython3.dll, > IronPython3.Modules.dll etc. so that projects can reference *both* as > separate dlr languages - I imagine this might make sharing code between > the implementations a bit 'fiddly'. Actually we could possibly even get away w/ not renaming them, just updating their version numbers. If both 2.6 and 3.1 were in the GAC you could just refer to them by their fully qualified name and projects could reference both of them. Even if they're not in the GAC they could be in a private path below the app base such as "IronPython2" and "IronPython3" although that may be more of a pain. The big thing here would be ensuring that the version of Microsoft.Scripting.dll between them is shared so that you can use one set of hosting APIs to host them both. That's certainly theoretically possible even if we do need to put out a 2.6.? w/ a new Microsoft.Scripting.dll to align them. I agree supporting both 2.x and 3.x in the same DLL would be a little bit annoying. In particular I'm thinking old classes will be the biggest pain. But I think this is the approach we will *start* with as we start migrating to 3.x. From fuzzyman at voidspace.org.uk Mon Oct 5 19:06:59 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 18:06:59 +0100 Subject: [IronPython] IronPython 3 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A5497E@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9D509.7070508@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A5497E@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA27B3.3010909@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> I'd love to see IronPython 3 as a separate DLR language that could be >> used alongside IronPython 2.X. That way an IronPython 2 engine could use >> IronPython 3 engines and vice versa. This would allow Python 3 apps to >> use Python 2 libraries (with a wrapper layer) and vice-versa, and be >> unique in the Python world (well the Jython guys could do it as well). >> > > Do you actually want to have both engines running in the same ScriptRuntime? > If so what would be the file extension for IronPython 3? .py3? The reason > I ask is currently ScriptRuntime's have a list of all languages and what > extensions they support. That enables things like runtime.ExecuteFile to > work and we don't allow duplication of extensions. > Not particularly. '.py' is the correct extension for both Python and Python 3. I was anticipating having them as separate languages and therefore need distinct ScriptRuntimes. But just as you can use IronRuby objects from IronPython I would expect to be able to use Python 3 objects from Python 2. The downside is that a Python 3 dictionary wouldn't be an instance of the Python 2 dict (so isinstance would fail) which is why I anticipated having to use a wrapper layer. > >> I guess there are two ways of doing it. Either provide a single >> implementation where Python engines can be created as 2.X engines or 3.X >> engines. I imagine this would be fairly painful to do. Alternatively >> provide a separate set of assemblies for Python 3 - IronPython3.dll, >> IronPython3.Modules.dll etc. so that projects can reference *both* as >> separate dlr languages - I imagine this might make sharing code between >> the implementations a bit 'fiddly'. >> > > Actually we could possibly even get away w/ not renaming them, just updating > their version numbers. If both 2.6 and 3.1 were in the GAC you could just > refer to them by their fully qualified name and projects could reference both > of them. Even if they're not in the GAC they could be in a private path > below the app base such as "IronPython2" and "IronPython3" although that > may be more of a pain. > Can one process load different versions of the same assembly? I thought that wasn't possible. > The big thing here would be ensuring that the version of Microsoft.Scripting.dll > between them is shared so that you can use one set of hosting APIs to host them both. > That's certainly theoretically possible even if we do need to put out a 2.6.? > w/ a new Microsoft.Scripting.dll to align them. > > I agree supporting both 2.x and 3.x in the same DLL would be a little bit > annoying. In particular I'm thinking old classes will be the biggest pain. > But I think this is the approach we will *start* with as we start migrating > to 3.x. > I can see that this is already partly in place but I can easily imagine it being a real pain long term. I mainly just wanted to get my use case out there early so it could be taken into account. All the best, Michael > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 19:09:31 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 17:09:31 +0000 Subject: [IronPython] IronPython 3 In-Reply-To: <4ACA27B3.3010909@voidspace.org.uk> References: <4AC9D509.7070508@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A5497E@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA27B3.3010909@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A54A34@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > Can one process load different versions of the same assembly? I thought > that wasn't possible. Yep! Effectively everyone's favorite "Cannot cast A to A" exception is a variation on doing this :) From dinov at microsoft.com Mon Oct 5 19:12:07 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 17:12:07 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4AC9E44C.8050408@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > We're working on the port of Resolver One to IronPython 2.6. We're > finding that in quite a few of our tests our documents are now not being > garbage collected, which would be a major memory leak in Resolver One if > left unaddressed. > > As far as we can *tell* what is keeping the documents alive is a > PythonFunctionStack (?) in thread local storage, put there by IronPython > itself. This doesn't happen with IronPython 2. Does this ring a bell as > a change in IronPython 2.6? What's the threading story like in your tests? Is it just one thread or are you repeatedly creating new threads? Another way of looking at this is the ThreadLocal object has a _stores array. What indexes in that array are keeping the objects alive? From fuzzyman at voidspace.org.uk Mon Oct 5 19:20:40 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 18:20:40 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA2AE8.8070601@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> We're working on the port of Resolver One to IronPython 2.6. We're >> finding that in quite a few of our tests our documents are now not being >> garbage collected, which would be a major memory leak in Resolver One if >> left unaddressed. >> >> As far as we can *tell* what is keeping the documents alive is a >> PythonFunctionStack (?) in thread local storage, put there by IronPython >> itself. This doesn't happen with IronPython 2. Does this ring a bell as >> a change in IronPython 2.6? >> > > What's the threading story like in your tests? Is it just one thread or > are you repeatedly creating new threads? > > Another way of looking at this is the ThreadLocal object has a _stores > array. What indexes in that array are keeping the objects alive? > It is a multithreading situation (each document has its own recalculation thread which is destroyed when the document is no longer needed). *However*, we discovered that we inadvertently had options["Frames"] = true; in the code that creates the main engine. Switching that off (and then having to recompile all our Python code) solved the problem. It may indicate that if we want to turn frames on in individual engines (each recalculation thread has its own Python engine) then we may have a problem - but it is no longer blocking us. Sorry for the noise. All the best, Michael > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 19:25:05 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 17:25:05 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA2AE8.8070601@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> > *However*, we discovered that we inadvertently had options["Frames"] = > true; in the code that creates the main engine. Switching that off (and > then having to recompile all our Python code) solved the problem. > > It may indicate that if we want to turn frames on in individual engines > (each recalculation thread has its own Python engine) then we may have a > problem - but it is no longer blocking us. Sorry for the noise. Ideally we wouldn't leak memory with frames on though! :) In theory when a new thread gets created we will replace the old threads memory and everything can be reclaimed. But I could change this so that we use a normal thread static which will get cleaned up eagerly (it'll have some small performance impact when frames are enabled though). From fuzzyman at voidspace.org.uk Mon Oct 5 20:33:35 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 19:33:35 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA3BFF.3020006@voidspace.org.uk> Dino Viehland wrote: >> *However*, we discovered that we inadvertently had options["Frames"] = >> true; in the code that creates the main engine. Switching that off (and >> then having to recompile all our Python code) solved the problem. >> >> It may indicate that if we want to turn frames on in individual engines >> (each recalculation thread has its own Python engine) then we may have a >> problem - but it is no longer blocking us. Sorry for the noise. >> > > Ideally we wouldn't leak memory with frames on though! :) In theory > when a new thread gets created we will replace the old threads memory and > everything can be reclaimed. But I could change this so that we use a > normal thread static which will get cleaned up eagerly (it'll have some > small performance impact when frames are enabled though). > Well, yes leaking memory when frames are on would definitely be a problem. We tried but failed to create a minimal repro. The recompiling issue is slightly concerning as well. Is it the case that if we compile all our libraries with Pyc with frames off then we can't use them from an engine with the tracing / frames / debugging options on (taking advantage of frames and debugging support)? All the best, Michael > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From merllab at microsoft.com Mon Oct 5 21:11:44 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Mon, 5 Oct 2009 12:11:44 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <52e2e416-2134-497f-beff-70dedc59133f@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/59772. ADDED SOURCES $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/OptionElement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/LanguageElement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptHostProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptRuntimeSetup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ExceptionOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ErrorListenerProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DlrConfiguration.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Operators.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/LanguageContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SymbolTable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/PlatformAdaptationLayer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SyntaxErrorException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/IAttributesCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/CommandLine.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleHostOptionsParser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleHostOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ICommandDispatcher.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/TypeExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/WeakDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/MathUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/Publisher.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComFallbackMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DispCallable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ConvertibleArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeClassDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ConversionArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/StringArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComMethodDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/UnknownArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DateTimeArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeLibMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ErrorArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComClassMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/BoundDispEvent.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Errors.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventSinkProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeEnumDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/CurrencyArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CallTypes.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Extensible.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BinderType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ISlice.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/TokenizerBuffer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicDelegateCreator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CustomSymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/PropertyMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/LegacyScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/AssemblyTypeNames.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/NullTextContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ExceptionHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/IExpressionSerializable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/FieldBuilderExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/DynamicILGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/DelegateHelpers.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/DelegateHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/AssemblyGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/Instruction.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightDelegateCreator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/VariableDictionaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/LoopStatement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/UnaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/EmptyStatements.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/SymbolConstantExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/SkipInterpretExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OverloadResolver.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ConversionResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParameterWrapper.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ReturnBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/MethodCandidate.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/KeywordConstructorReturnBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParamsDictArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ActionBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/BoundMemberTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/NestedTypeTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/NamespaceTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ErrorInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/BinderHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TypeGroup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ConversionResultKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/OperationBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TrackerTypes.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionMethodTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ArgumentType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.DeleteMember.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ConditionalBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TopNamespaceTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/PerfTrack.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/IValueEquality.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/OptionElementCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/Section.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/LanguageElementCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Providers/HostingHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptScope.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptRuntime.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionBinaryOperationBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionUnaryOperationBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.Operations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MemberRequestKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MethodGroup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/OperatorInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TypeTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.GetMember.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MemberTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MethodTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/CallSignature.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/NoSideEffectsAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Argument.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/FieldTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ComboBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionPropertyTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/OperationMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DynamicSiteHelper.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/EventTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MemberGroup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.Conversions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ActualArguments.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CallFailureReason.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/Candidate.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/KeywordArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ReferenceArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ReturnReferenceArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CandidateSet.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/NarrowingLevel.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/TypeInferer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/DefaultOverloadResolver.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/InstanceBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CallFailure.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/DefaultArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/SimpleArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OverloadResolverFactory.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/BindingResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ByRefReturnBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/BindingTarget.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParamsArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OutArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/RestrictedArguments.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParameterMapping.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ApplicableCandidate.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ArgumentBinding.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/ConstantExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/GeneratorExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/SourceFileInformation.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/LambdaBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/DebugStatement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/IfStatementBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/FlowControlRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/BinaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/Block.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/FinallyFlowControlExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/LambdaParameterRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/YieldExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/NewArrayExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/TryStatementBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/MethodCallExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/GeneratorRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/IfStatementTest.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/NewExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/DynamicInstructions.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/InterpretedFrame.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LastFaultingLineExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompiler.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/RuntimeVariables.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/DynamicInstructions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambdaClosureVisitor.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/Interpreter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/CompilerHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/Snippets.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/KeyedQueue.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ToDiskRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ConstantCheck.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ParameterInfoWrapper.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/TypeGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/MethodSignatureInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ILGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/OperationFailed.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BinderOps.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicLanguageProviderAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IMembersList.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ExtraKeyEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ImplicitConversionMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/SavableScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Cast.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BindingRestrictionsHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ModuleChangeEventType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/RestrictedMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CallTargets.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CodeDomCodeGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ExtensionTypeAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicNull.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/LocalsDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/PositionTrackingWriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/MetaObjectExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/OperatorSlotAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ICustomScriptCodeData.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IConvertibleMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IRestrictedMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CompilerContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ModuleChangeEventArgs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Cast.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Uninitialized.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IdDispenser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/StaticExtensionMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/AmbiguousFileNameException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV2.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/Complex64.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DispCallableMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/NullArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComInterop.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComInvokeAction.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComDispIds.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/IDispatchMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComParamDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Helpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComRuntimeHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComHresults.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/BoolArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/IPseudoComObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ExcepInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Variant.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/IDispatchComObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeLibInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DispatchArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeLibDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/SimpleArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComInvokeBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeLibInfoMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VariantBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VarEnumSelector.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeEnumMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/SplatCallSite.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VariantArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeLibMemberDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventSinksContainer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/CollectionExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VariantArray.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ConvertArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComBinderHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/HashSet.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ThreadLocal.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/IOUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/WeakCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/EnumUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/WeakHandle.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ValueArray.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CopyOnWriteList.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/MonitorUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/DynamicUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/SynchronizedDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ListEqualityComparer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReferenceEqualityComparer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/TypeUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CacheDict.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CollectionUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/OptionsParser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/SuperConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/IConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/BasicConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/Style.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/AssemblyLoadedEventArgs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/CompilerOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ErrorSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/LanguageOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ArgumentTypeException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/InvalidImplementationException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/SharedIO.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ParserSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ParamDictionaryAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScopeExtension.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/CompiledCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptIO.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Providers $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ObjectOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ErrorListener.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptEngine.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/LanguageSetup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ErrorSinkProxyListener.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/TokenCategorizer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptSource.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ConsoleStreamType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ConsoleInputStream.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/TokenCategory.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/TextContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SymbolId.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceUnit.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceSpan.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceLocation.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceCodeReader.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceCodeKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Severity.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ScriptCodeParseResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenTriggers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenizerService.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/StreamContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScriptDomainManager.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Scope.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/NotNullAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/InvariantContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DynamicOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ContextId.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicLanguageConfig.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicScriptTags.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/XamlScriptTags.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/DebugOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/MultiRuntimeAwareAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Scripting.txt $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/KeyboardInterruptException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/MutableTuple.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/PropertyTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ReflectedPropertyTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.MethodCalls.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Interceptor.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.Invoke.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ComboActionRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.SetMember.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ConstructorTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/CustomTracker.cs DELETED SOURCES $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/LanguageSetup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptRuntimeSetup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ExceptionOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ErrorListener.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Providers $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptIO.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Operators.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ScopeStorage.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/LanguageContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ScopeExtension.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/StreamContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ParamDictionaryAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ParserSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SymbolTable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/PlatformAdaptationLayer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SymbolId.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/IAttributesCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SyntaxErrorException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ConsoleStreamType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Actions $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/MultiRuntimeAwareAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/IValueEquality.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/PerfTrack.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ExtensionTypeAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DynamicNull.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ICustomScriptCodeData.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/OperationFailed.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DynamicDelegateCreator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/BindingRestrictionsHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ISlice.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/IConvertibleMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/NullTextContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ExtraKeyEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/CodeDomCodeGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/IRestrictedMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/CallTypes.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/OptionsParser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/ConsoleHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/ConsoleHostOptionsParser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/CommandLine.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/DebugOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Interpreter $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/LegacyScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/MetaObjectExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Extensible.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ExceptionHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/SavableScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/CustomSymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DynamicLanguageProviderAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/IMembersList.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/BinderType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/StaticExtensionMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/CacheDict.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/SuperConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ThreadLocal.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/Publisher.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/WeakHandle.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/WeakDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/SynchronizedDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Uninitialized.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/PropertyMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenizerBuffer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/MathUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Ast $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Generation $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.txt $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/KeyboardInterruptException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Math $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/MutableTuple.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ComInterop $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/AssemblyTypeNames.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Cast.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ModuleChangeEventArgs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Cast.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/IdDispenser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/BinderOps.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ImplicitConversionMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/RestrictedMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/CallTargets.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/LocalsDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/PositionTrackingWriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/OperatorSlotAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/AmbiguousFileNameException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ModuleChangeEventType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/CompilerContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/IOUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/WeakCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/EnumUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ValueArray.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/CopyOnWriteList.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/Set.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/DynamicUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ListEqualityComparer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ReferenceEqualityComparer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/TypeUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ReflectedCaller.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ReflectedCaller.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/TypeExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/CollectionUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/ICommandDispatcher.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/ConsoleHostOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/IConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/ConsoleOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/BasicConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Shell/Style.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Dynamic.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/TokenCategory.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/TextContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Scripting.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SourceCodeReader.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/AssemblyLoadedEventArgs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SourceSpan.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/CompilerOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ErrorSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ScriptCodeParseResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/LanguageOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SourceUnit.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SourceCodeKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ArgumentTypeException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Severity.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/InvalidImplementationException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SourceLocation.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ContextId.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/InvariantContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/SharedIO.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Scope.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/TokenizerService.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ScriptDomainManager.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Runtime $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/TokenTriggers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/TokenInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DlrConfiguration.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/NotNullAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/CompiledCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ObjectOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ErrorListenerProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptEngine.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ErrorSinkProxyListener.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptHostProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/TokenCategorizer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Configuration $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptSource.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptRuntime.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/ScriptScope.cs MODIFIED SOURCES $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/OptionElement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/LanguageElement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptHostProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptRuntimeSetup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ExceptionOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ErrorListenerProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DlrConfiguration.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Operators.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/LanguageContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SymbolTable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/PlatformAdaptationLayer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SyntaxErrorException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/IAttributesCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/CommandLine.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleHostOptionsParser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleHostOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ICommandDispatcher.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/TypeExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/WeakDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/MathUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/Publisher.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComFallbackMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DispCallable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ConvertibleArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeClassDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ConversionArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/StringArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComMethodDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/UnknownArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DateTimeArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeLibMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ErrorArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComClassMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/BoundDispEvent.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Errors.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventSinkProxy.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeEnumDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/CurrencyArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CallTypes.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Extensible.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BinderType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ISlice.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/TokenizerBuffer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicDelegateCreator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CustomSymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/PropertyMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/LegacyScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/AssemblyTypeNames.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/NullTextContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ExceptionHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/IExpressionSerializable.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/FieldBuilderExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/DynamicILGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/DelegateHelpers.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/DelegateHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/AssemblyGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/Instruction.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightDelegateCreator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/VariableDictionaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/LoopStatement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/UnaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/EmptyStatements.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/SymbolConstantExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/SkipInterpretExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OverloadResolver.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ConversionResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParameterWrapper.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ReturnBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/MethodCandidate.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/KeywordConstructorReturnBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParamsDictArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ActionBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/BoundMemberTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/NestedTypeTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/NamespaceTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ErrorInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/BinderHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TypeGroup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ConversionResultKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/OperationBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TrackerTypes.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionMethodTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ArgumentType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.DeleteMember.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ConditionalBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TopNamespaceTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/PerfTrack.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/IValueEquality.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BaseSymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ReflectionCache.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/SpecSharp.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/Assert.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/DictionaryUnionEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/OptionElementCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/Section.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Configuration/LanguageElementCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/Providers/HostingHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptScope.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptRuntime.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicAppManifest.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/Chiron.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/App.config $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/XapBuilder.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/HttpServer.cs $/IronPython/IronPython_2_6/Src/IronPythonConsoleAny/IronPythonConsoleAny.csproj $/IronPython/IronPython_2_6/Src/IronPythonWindow/IronPythonWindow.csproj $/IronPython/IronPython_2_6/Src/IronPython/Runtime/XRange.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/ObjectOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/IntOps.Generated.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/IntOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/PythonOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Hosting/PythonCommandLine.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/datetime.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/re.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/_random.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SpecSharp.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Generator.cs $/IronPython/IronPython_2_6/Src/Tests/modules/_fileio_test.py $/IronPython/IronPython_2_6/Src/Tests/modules/array_test.py $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionBinaryOperationBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionUnaryOperationBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.Operations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MemberRequestKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MethodGroup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/OperatorInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/TypeTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.GetMember.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MemberTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MethodTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/CallSignature.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/NoSideEffectsAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Argument.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/FieldTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ComboBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ExtensionPropertyTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/OperationMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DynamicSiteHelper.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/EventTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/MemberGroup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.Conversions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ActualArguments.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CallFailureReason.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/Candidate.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/KeywordArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ReferenceArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ReturnReferenceArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CandidateSet.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/NarrowingLevel.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/TypeInferer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/DefaultOverloadResolver.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/InstanceBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CallFailure.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/DefaultArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/SimpleArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OverloadResolverFactory.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/BindingResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ByRefReturnBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/BindingTarget.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParamsArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OutArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/RestrictedArguments.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ParameterMapping.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ApplicableCandidate.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Calls/ArgumentBinding.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/ConstantExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/GeneratorExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/SourceFileInformation.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/LambdaBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/DebugStatement.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/IfStatementBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/FlowControlRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/BinaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/Block.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/FinallyFlowControlExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/LambdaParameterRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/YieldExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/NewArrayExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/TryStatementBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/MethodCallExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/GeneratorRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/IfStatementTest.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Ast/NewExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/DynamicInstructions.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/InterpretedFrame.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LastFaultingLineExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompiler.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/RuntimeVariables.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/DynamicInstructions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambdaClosureVisitor.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/Interpreter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/CompilerHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/Snippets.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/KeyedQueue.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ToDiskRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ConstantCheck.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ParameterInfoWrapper.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/TypeGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/MethodSignatureInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Generation/ILGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/OperationFailed.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BinderOps.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicLanguageProviderAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IMembersList.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ExtraKeyEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ImplicitConversionMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/SavableScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Cast.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/BindingRestrictionsHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ModuleChangeEventType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/RestrictedMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CallTargets.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CodeDomCodeGen.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ExtensionTypeAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DynamicNull.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/LocalsDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/PositionTrackingWriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/MetaObjectExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/OperatorSlotAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ICustomScriptCodeData.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IConvertibleMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IRestrictedMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/CompilerContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/ModuleChangeEventArgs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Cast.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Uninitialized.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/IdDispenser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/StaticExtensionMethodAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/AmbiguousFileNameException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV2.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/Complex64.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DispCallableMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/NullArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComInterop.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComInvokeAction.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComDispIds.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/IDispatchMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComParamDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Helpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComRuntimeHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComHresults.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/BoolArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/IPseudoComObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ExcepInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Variant.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/IDispatchComObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeLibInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/DispatchArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeLibDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/SimpleArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComInvokeBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeLibInfoMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VariantBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VarEnumSelector.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/TypeEnumMetaObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/SplatCallSite.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VariantArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComTypeLibMemberDesc.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComEventSinksContainer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/CollectionExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/VariantArray.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ConvertArgBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComBinderHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/HashSet.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ThreadLocal.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/IOUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/WeakCollection.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/EnumUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/WeakHandle.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ValueArray.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CopyOnWriteList.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/MonitorUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/DynamicUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/SynchronizedDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ListEqualityComparer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReferenceEqualityComparer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/TypeUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CacheDict.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CollectionUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/OptionsParser.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/SuperConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/IConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/ConsoleOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/BasicConsole.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/Style.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/AssemblyLoadedEventArgs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/CompilerOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ErrorSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/LanguageOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ArgumentTypeException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/InvalidImplementationException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/SharedIO.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ParserSink.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ParamDictionaryAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScopeExtension.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/CompiledCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptIO.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ObjectOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ErrorListener.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptEngine.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/LanguageSetup.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ErrorSinkProxyListener.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/TokenCategorizer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ScriptSource.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/GlobalSuppressions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/BaseSymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ContractUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/Assert.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/ErrorFormatter.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicEngine.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicApplication.cs $/IronPython/IronPython_2_6/Src/IronPythonTest/EngineTest.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Set.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonModule.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonContext.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/LongOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/PythonType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/DictionaryUnionEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ReflectionUtils.cs $/IronPython/IronPython_2_6/Src/Tests/ClrAssembly/ClrAssembly.csproj $/IronPython/IronPython_2_6/Config/Signed/App.config $/IronPython/IronPython_2_6/Src/IronPython.sln $/IronPython/IronPython_2_6/Src/IronPythonWindowAny/IronPythonWindowAny.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserScriptHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ReflectionCache.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/SymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ArrayUtils.cs $/IronPython/IronPython_2_6/Src/Tests/test_builtinfunc.py $/IronPython/IronPython_2_6/Src/Tests/test_tuple.py $/IronPython/IronPython_2_6/Src/Tests/test_datetime.py $/IronPython/IronPython_2_6/Src/Tests/test_sys.py $/IronPython/IronPython_2_6/Src/Tests/test_property.py $/IronPython/IronPython_2_6/Src/Tests/test_math.py $/IronPython/IronPython_2_6/Src/Tests/test_nt.py $/IronPython/IronPython_2_6/Src/Tests/test_attr.py $/IronPython/IronPython_2_6/Src/Tests/interop/net/derivation/test_event_override.py $/IronPython/IronPython_2_6/Tutorial/Tutorial.htm $/IronPython/IronPython_2_6/Src/IronPythonConsole/IronPythonConsole.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Window.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/agdlr.js $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/agdlr.css $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/ExtensionTypes.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserVirtualFilesystem.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Settings.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Repl.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/LanguageInfo.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/Chiron.csproj $/IronPython/IronPython_2_6/Src/IronPythonTest/IronPythonTest.csproj $/IronPython/IronPython_2_6/Src/Scripts/generate_alltypes.py $/IronPython/IronPython_2_6/Src/IronPython/IronPython.csproj $/IronPython/IronPython_2_6/Src/IronPython/Compiler/Parser.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/Ast/ListComprehension.cs $/IronPython/IronPython_2_6/Src/IronPython/Modules/sys.cs $/IronPython/IronPython_2_6/Src/IronPython/Modules/Builtin.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Descriptors.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonTracebackListener.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/ErrorCodes.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/List.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonFunction.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Generator.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Exceptions/PythonExceptions.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/StringOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/FloatOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/OldInstance.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/MetaUserObject.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/PythonProtocol.Operations.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/MetaPythonFunction.cs $/IronPython/IronPython_2_6/Src/IronPython/Hosting/PythonService.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/cPickle.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/copy_reg.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/array.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/thread.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/errno.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/math.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/IronPython.Modules.csproj $/IronPython/IronPython_2_6/Src/IronPython.Modules/nt.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TransformDictEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DefaultLanguageContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ExceptionUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ReadOnlyDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/CheckedDictionaryEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/StringUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/CollectionExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ExceptionFactory.Generated.cs $/IronPython/IronPython_2_6/Src/Tests/test_function.py $/IronPython/IronPython_2_6/Src/Tests/test_imp.py $/IronPython/IronPython_2_6/Src/Tests/test_ironmath.py $/IronPython/IronPython_2_6/Src/Tests/test_class.py $/IronPython/IronPython_2_6/Src/Tests/run.py $/IronPython/IronPython_2_6/Src/Tests/test_copy_reg.py $/IronPython/IronPython_2_6/Src/Tests/test_ipye.py $/IronPython/IronPython_2_6/Src/Tests/hosting/editor_svcs/errorlistener.py $/IronPython/IronPython_2_6/Src/Tests/interop/net/property/test_indexercs.py $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/StringUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectionUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReadOnlyDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ExceptionUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ContractUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CollectionExtensions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/CheckedDictionaryEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ArrayUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/GlobalSuppressions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/DefaultLanguageContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/SymbolDictionary.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/Generator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Runtime/TransformDictEnumerator.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ConsoleStreamType.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Utils/ConsoleInputStream.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/TokenCategory.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/TextContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SymbolId.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceUnit.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceSpan.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceLocation.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceCodeReader.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/SourceCodeKind.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Severity.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/ScriptCodeParseResult.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenTriggers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenizerService.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/TokenInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/StreamContentProvider.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScriptDomainManager.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScriptCode.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/Scope.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/NotNullAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/InvariantContext.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/DynamicOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ContextId.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicLanguageConfig.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicScriptTags.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/XamlScriptTags.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/DebugOptions.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/MultiRuntimeAwareAttribute.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Scripting.txt $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/KeyboardInterruptException.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/MutableTuple.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/PropertyTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ReflectedPropertyTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.MethodCalls.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/Interceptor.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.Invoke.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ComboActionRewriter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/DefaultBinder.SetMember.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ConstructorTracker.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/CustomTracker.cs From dinov at microsoft.com Mon Oct 5 21:57:16 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 19:57:16 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA3BFF.3020006@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A5564E@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > The recompiling issue is slightly concerning as well. Is it the case > that if we compile all our libraries with Pyc with frames off then we > can't use them from an engine with the tracing / frames / debugging > options on (taking advantage of frames and debugging support)? Unfortunately yes - we need to be able to recompile the code to include the frame support. We could look at making this work but the end result would be that we'd need to include either the Python AST or the DLR AST in the compiled code (rather than just including the version compiled to IL). At this point I doubt we'd do this for 2.6.0 though. That'd also have the consequence of making it much easier to reverse engineer the compiled code so I'm not sure how comfortable you'd be with that. From fuzzyman at voidspace.org.uk Mon Oct 5 21:59:07 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 20:59:07 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A5564E@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A5564E@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA500B.4010601@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> The recompiling issue is slightly concerning as well. Is it the case >> that if we compile all our libraries with Pyc with frames off then we >> can't use them from an engine with the tracing / frames / debugging >> options on (taking advantage of frames and debugging support)? >> > > Unfortunately yes - we need to be able to recompile the code to > include the frame support. We could look at making this work but the > end result would be that we'd need to include either the Python AST > or the DLR AST in the compiled code (rather than just including the > version compiled to IL). At this point I doubt we'd do this for > 2.6.0 though. > > OK, at least we know. Michael > That'd also have the consequence of making it much easier to reverse > engineer the compiled code so I'm not sure how comfortable you'd be > with that. > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 22:20:43 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 20:20:43 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA3BFF.3020006@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > Well, yes leaking memory when frames are on would definitely be a > problem. We tried but failed to create a minimal repro. Do you know how big the lists of FunctionStack's were? In theory they should have all been empty lists by the time the threads exited. From fuzzyman at voidspace.org.uk Mon Oct 5 22:38:54 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 21:38:54 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA595E.4060901@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> Well, yes leaking memory when frames are on would definitely be a >> problem. We tried but failed to create a minimal repro. >> > > Do you know how big the lists of FunctionStack's were? In theory > they should have all been empty lists by the time the threads > exited. > It had 6 entries. Michael > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 22:55:28 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 20:55:28 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA595E.4060901@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> Are you using thread abort for anything? > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Michael Foord > Sent: Monday, October 05, 2009 1:39 PM > To: Discussion of IronPython > Subject: Re: [IronPython] Thread local storage in IronPython 2.6 > > Dino Viehland wrote: > > Michael wrote: > > > >> Well, yes leaking memory when frames are on would definitely be a > >> problem. We tried but failed to create a minimal repro. > >> > > > > Do you know how big the lists of FunctionStack's were? In theory > > they should have all been empty lists by the time the threads > > exited. > > > It had 6 entries. > > Michael > > > _______________________________________________ > > Users mailing list > > Users at lists.ironpython.com > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From fuzzyman at voidspace.org.uk Mon Oct 5 22:58:55 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 21:58:55 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA5E0F.3030002@voidspace.org.uk> Dino Viehland wrote: > Are you using thread abort for anything? > > Yes. Recalculations can be interrupted which uses Thread.Abort (the interrupt can happen during arbitrary user code so it is essentially asynchronous). Michael >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of Michael Foord >> Sent: Monday, October 05, 2009 1:39 PM >> To: Discussion of IronPython >> Subject: Re: [IronPython] Thread local storage in IronPython 2.6 >> >> Dino Viehland wrote: >> >>> Michael wrote: >>> >>> >>>> Well, yes leaking memory when frames are on would definitely be a >>>> problem. We tried but failed to create a minimal repro. >>>> >>>> >>> Do you know how big the lists of FunctionStack's were? In theory >>> they should have all been empty lists by the time the threads >>> exited. >>> >>> >> It had 6 entries. >> >> Michael >> >> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.ironpython.com >>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >>> >>> >> -- >> http://www.ironpythoninaction.com/ >> http://www.voidspace.org.uk/blog >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 23:27:33 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 21:27:33 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA5E0F.3030002@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> > Yes. Recalculations can be interrupted which uses Thread.Abort (the > interrupt can happen during arbitrary user code so it is essentially > asynchronous). Ok, that could be the source of the leaks. At least it's the only thing that pops out at me while reviewing the code. I'm not sure that we'll actually harden the code against thread abort for 2.6.0 (this is really tricky to do) but I can certainly make it so that it won't leak when it actually happens and open a bug to harden it later. From fuzzyman at voidspace.org.uk Mon Oct 5 23:34:45 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 22:34:45 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA6675.6050102@voidspace.org.uk> Dino Viehland wrote: >> Yes. Recalculations can be interrupted which uses Thread.Abort (the >> interrupt can happen during arbitrary user code so it is essentially >> asynchronous). >> > > Ok, that could be the source of the leaks. At least it's the only > thing that pops out at me while reviewing the code. I'm not sure that > we'll actually harden the code against thread abort for 2.6.0 (this is > really tricky to do) but I can certainly make it so that it won't leak > when it actually happens and open a bug to harden it later. > Cool. If it becomes a problem then we'll get in touch and see how we can mitigate against it. At the top level you could put all the cleanup code inside a finally block so that thread aborts can't interrupt it. :-) Michael > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 23:39:25 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 21:39:25 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA6675.6050102@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA6675.6050102@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A55FC9@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > Cool. If it becomes a problem then we'll get in touch and see how we can > mitigate against it. > > At the top level you could put all the cleanup code inside a finally > block so that thread aborts can't interrupt it. :-) Somehow I guess I'd quickly get a bug report that Ctrl-C no longer works too :) But there's a kernel of a good idea there - it's certainly easier than using Constrained Execution Regions which was my longer term plan (and also has trouble w/ partial trust unlike a normal try/finally). From fuzzyman at voidspace.org.uk Mon Oct 5 23:42:51 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 22:42:51 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A55FC9@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA6675.6050102@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55FC9@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA685B.6020706@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> Cool. If it becomes a problem then we'll get in touch and see how we can >> mitigate against it. >> >> At the top level you could put all the cleanup code inside a finally >> block so that thread aborts can't interrupt it. :-) >> > > Somehow I guess I'd quickly get a bug report that Ctrl-C no longer works > too :) But there's a kernel of a good idea there - it's certainly > easier than using Constrained Execution Regions which was my longer > term plan (and also has trouble w/ partial trust unlike a normal > try/finally). > Well, it would only postpone the ctrl-c whilst the cleanup code ran, right? Michael > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Mon Oct 5 23:56:12 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 21:56:12 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA685B.6020706@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA6675.6050102@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55FC9@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA685B.6020706@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A5605E@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > >> At the top level you could put all the cleanup code inside a finally > >> block so that thread aborts can't interrupt it. :-) > >> > > > > Somehow I guess I'd quickly get a bug report that Ctrl-C no longer works > > too :) But there's a kernel of a good idea there - it's certainly > > easier than using Constrained Execution Regions which was my longer > > term plan (and also has trouble w/ partial trust unlike a normal > > try/finally). > > > > Well, it would only postpone the ctrl-c whilst the cleanup code ran, right? Oh, I misread that... I skipped over "cleanup" in "cleanup code" :) I was thinking of putting all of the code in a finally for some reason :) But the cleanup code is already in a finally. But sometimes it's structured as: stack = PushFrame(...); try { } finally { stack.RemoveAt(stack.Count - 1); } In this case there's a small window of opportunity where the abort could happen after the push frame and before we enter the try block. Elsewhere it's actually structured like this: try { stack = PushFrame(...); } finally { stack.RemoveAt(stack.Count - 1); } Here there's the possibility of aborting before the push frame but after we enter the try which leads to popping too many frames. Worse still both of these have the possibility in aborting during the list.Add() call which may corrupt the underlying list. So really we need something like: bool pushedFrame = false; try { try { } finally { stack = PushFrame(...); pushedFrame = true; } } finally { if (pushedFrame) { stack.RemoveAt(stack.Count - 1); } } But this code would be broken in the face of Rude Thread Aborts (luckily they're not much of a concern for us). Fixing this one is where the CERs come into play. From fuzzyman at voidspace.org.uk Tue Oct 6 00:03:31 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 05 Oct 2009 23:03:31 +0100 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A5605E@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA6675.6050102@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55FC9@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA685B.6020706@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A5605E@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACA6D33.3040403@voidspace.org.uk> Dino Viehland wrote: > [snip...] > But this code would be broken in the face of Rude Thread Aborts (luckily they're > not much of a concern for us). Fixing this one is where the CERs come into > play. > > The first result when searching for rude thread aborts was a blog entry from you in 2004. http://blogs.msdn.com/dinoviehland/archive/2004/09/30/236417.aspx Michael > > > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Tue Oct 6 00:12:09 2009 From: dinov at microsoft.com (Dino Viehland) Date: Mon, 5 Oct 2009 22:12:09 +0000 Subject: [IronPython] Thread local storage in IronPython 2.6 In-Reply-To: <4ACA6D33.3040403@voidspace.org.uk> References: <4AC9E44C.8050408@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54A70@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA2AE8.8070601@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A54B61@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA3BFF.3020006@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55901@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA595E.4060901@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55BCC@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA5E0F.3030002@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55DF4@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA6675.6050102@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A55FC9@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA685B.6020706@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A5605E@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACA6D33.3040403@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A56269@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > The first result when searching for rude thread aborts was a blog entry > from you in 2004. > > http://blogs.msdn.com/dinoviehland/archive/2004/09/30/236417.aspx Not too surprising, I used to be the CLR reliability guy. And to think that knowledge finally was useful when implementing ctypes. Also I think Bing wins on this search by not returning me as the 1st result :) From fuzzyman at voidspace.org.uk Tue Oct 6 13:45:27 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 12:45:27 +0100 Subject: [IronPython] Default install location and site-packages Message-ID: <4ACB2DD7.8040808@voidspace.org.uk> Hello guys, The msi installer installs by default into "C:\Program Files\IronPython 2.6". It also creates a "Lib\site-packages" folder. Presumably the intention is that site-packages is for installed modules / packages, however "Program Files" is a special location and normal users (Vista / Windows 7) *can't* create files there. This means that distutils *must* be run with elevated permissions to install into this location. It doesn't work anyway because distutils attempts to bytecode-compile, which unsurprisingly fails with IronPython - but that bug in distutils will be fixed shortly. I don't have an obvious solution (per user site-packages perhaps?) but present the problem. Python circumvents this problem by *not* installing into "Program Files". All the best, Michael -- http://www.ironpythoninaction.com/ From Aloysius.Jegan at Lntemsys.com Tue Oct 6 13:50:31 2009 From: Aloysius.Jegan at Lntemsys.com (Aloysius Jegan) Date: Tue, 6 Oct 2009 17:20:31 +0530 Subject: [IronPython] NTLM authentication Message-ID: Hi, If any one know how to do NTLM authentication from IronPython, please send me the procedure or share the code if you have it. Thanks. Regards, Aloysius Jegan E.A. -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.curtin at gmail.com Tue Oct 6 15:43:02 2009 From: brian.curtin at gmail.com (Brian Curtin) Date: Tue, 6 Oct 2009 08:43:02 -0500 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB2DD7.8040808@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> Message-ID: On Tue, Oct 6, 2009 at 06:45, Michael Foord wrote: > Hello guys, > > The msi installer installs by default into "C:\Program Files\IronPython > 2.6". It also creates a "Lib\site-packages" folder. > > Presumably the intention is that site-packages is for installed modules / > packages, however "Program Files" is a special location and normal users > (Vista / Windows 7) *can't* create files there. This means that distutils > *must* be run with elevated permissions to install into this location. > > It doesn't work anyway because distutils attempts to bytecode-compile, > which unsurprisingly fails with IronPython - but that bug in distutils will > be fixed shortly. > > I don't have an obvious solution (per user site-packages perhaps?) but > present the problem. Python circumvents this problem by *not* installing > into "Program Files". > > All the best, > > Michael > > FWIW, the first time I installed IronPython via MSI I just clicked through the installer without looking and was surprised to see that it went to Program Files (user error, I know). I actually had to do a file search to find it because, out of habit, I was expecting it at C:\IronPython. -------------- next part -------------- An HTML attachment was scrubbed... URL: From curt at hagenlocher.org Tue Oct 6 16:30:10 2009 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Tue, 6 Oct 2009 07:30:10 -0700 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB2DD7.8040808@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> Message-ID: In principle, allowing unprivileged users to install code into a location where it can unknowingly be accessed by privileged users is a security problem. A "per-user" approach is the right one. On Tue, Oct 6, 2009 at 4:45 AM, Michael Foord wrote: > Hello guys, > > The msi installer installs by default into "C:\Program Files\IronPython > 2.6". It also creates a "Lib\site-packages" folder. > > Presumably the intention is that site-packages is for installed modules / > packages, however "Program Files" is a special location and normal users > (Vista / Windows 7) *can't* create files there. This means that distutils > *must* be run with elevated permissions to install into this location. > > It doesn't work anyway because distutils attempts to bytecode-compile, > which unsurprisingly fails with IronPython - but that bug in distutils will > be fixed shortly. > > I don't have an obvious solution (per user site-packages perhaps?) but > present the problem. Python circumvents this problem by *not* installing > into "Program Files". > > All the best, > > Michael > > -- > http://www.ironpythoninaction.com/ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fuzzyman at voidspace.org.uk Tue Oct 6 17:36:08 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 16:36:08 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: References: <4ACB2DD7.8040808@voidspace.org.uk> Message-ID: <4ACB63E8.5030707@voidspace.org.uk> Curt Hagenlocher wrote: > In principle, allowing unprivileged users to install code into a > location where it can unknowingly be accessed by privileged users is a > security problem. A "per-user" approach is the right one. Unknowingly? Michael > > On Tue, Oct 6, 2009 at 4:45 AM, Michael Foord > > wrote: > > Hello guys, > > The msi installer installs by default into "C:\Program > Files\IronPython 2.6". It also creates a "Lib\site-packages" folder. > > Presumably the intention is that site-packages is for installed > modules / packages, however "Program Files" is a special location > and normal users (Vista / Windows 7) *can't* create files there. > This means that distutils *must* be run with elevated permissions > to install into this location. > > It doesn't work anyway because distutils attempts to > bytecode-compile, which unsurprisingly fails with IronPython - but > that bug in distutils will be fixed shortly. > > I don't have an obvious solution (per user site-packages perhaps?) > but present the problem. Python circumvents this problem by *not* > installing into "Program Files". > > All the best, > > Michael > > -- > http://www.ironpythoninaction.com/ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > ------------------------------------------------------------------------ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From merllab at microsoft.com Tue Oct 6 17:54:16 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Tue, 6 Oct 2009 08:54:16 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <91d66ff2-5d42-4689-bf7a-c0777a159a44@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/59795. MODIFIED SOURCES $/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonTracebackListener.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/FunctionDefinition.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Compiler/BoundConstants.cs $/IronPython/IronPython_Main/Src/Tests/test_sys.py From dinov at microsoft.com Tue Oct 6 18:47:19 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 6 Oct 2009 16:47:19 +0000 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB2DD7.8040808@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A68339@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > I don't have an obvious solution (per user site-packages perhaps?) but > present the problem. Python circumvents this problem by *not* installing > into "Program Files". I would actually say that CPython seems to circumvent this by allowing users to write to its installation directory. Interestingly it does not allow modifying the existing files (e.g. I can't modify site.py w/ out elevating to admin, just as I can't create files at C:\ w/o elevating to admin). From dinov at microsoft.com Tue Oct 6 18:49:37 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 6 Oct 2009 16:49:37 +0000 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB63E8.5030707@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > Curt Hagenlocher wrote: > > In principle, allowing unprivileged users to install code into a > > location where it can unknowingly be accessed by privileged users is a > > security problem. A "per-user" approach is the right one. > > Unknowingly? I've just installed some software. Installing that software required that I elevate to admin and left that software in a typically global location on my machine (either C:\... or C:\Program Files\...) where my normal user account does not have writes to access. What's the least surprising - that the global location is now suddenly writable or that the global location remains writable only be administrators? From fuzzyman at voidspace.org.uk Tue Oct 6 18:53:46 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 17:53:46 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACB761A.503@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> Curt Hagenlocher wrote: >> >>> In principle, allowing unprivileged users to install code into a >>> location where it can unknowingly be accessed by privileged users is a >>> security problem. A "per-user" approach is the right one. >>> >> Unknowingly? >> > > I've just installed some software. Installing that software required that > I elevate to admin and left that software in a typically global location > on my machine (either C:\... or C:\Program Files\...) where my normal user > account does not have writes to access. > > What's the least surprising - that the global location is now suddenly > writable or that the global location remains writable only be > administrators? > Your answer seems orthogonal to the question I asked. As you answered my question with a question perhaps I can do the same: A user has an installed version of Python and an installed version of IronPython. He wishes to install a library for both IronPython and Python so he runs: python setup.py install ipy.exe setup.py install The first succeeds, naturally. Are you saying that it would be *more* surprising if the second succeeded? Unfortunately at the moment it fails silently, but an "access denied" error would not be much more helpful. All the best, Michael > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From fuzzyman at voidspace.org.uk Tue Oct 6 18:57:54 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 17:57:54 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A68339@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68339@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACB7712.1070907@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> I don't have an obvious solution (per user site-packages perhaps?) but >> present the problem. Python circumvents this problem by *not* installing >> into "Program Files". >> > > I would actually say that CPython seems to circumvent this by allowing > users to write to its installation directory. Interestingly it does not > allow modifying the existing files (e.g. I can't modify site.py w/ out > elevating to admin, just as I can't create files at C:\ w/o elevating > to admin). > Ignoring for the moment that distutils doesn't work yet, it seems to me to be a "bug" (or at the very least a problem) that a normal user can't install packages into their standard installation. If Python libraries write or modify files in their package directory then elevating on install wouldn't be enough - elevation would be required to use them. I don't have any metrics on how common that is, but my guess would be "not uncommon". Does IronPython implement PEP 370? http://www.python.org/dev/peps/pep-0370/ Michael > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From fuzzyman at voidspace.org.uk Tue Oct 6 19:05:35 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 18:05:35 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACB78DF.8090709@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> Curt Hagenlocher wrote: >> >>> In principle, allowing unprivileged users to install code into a >>> location where it can unknowingly be accessed by privileged users is a >>> security problem. A "per-user" approach is the right one. >>> >> Unknowingly? >> > > I've just installed some software. Installing that software required that > I elevate to admin and left that software in a typically global location > on my machine (either C:\... or C:\Program Files\...) where my normal user > account does not have writes to access. > > What's the least surprising - that the global location is now suddenly > writable or that the global location remains writable only be > administrators? > > As a user I probably don't care (and won't even check) whether a sub-folder in the install location is now writable. What I *do* care about is whether that software *works* - and an access denied error on using aspects of that software *will* 'surprise' me, yes. :-) Another way of phrasing the question - does writability of a sub-folder in the IronPython install folder *trump* compatibility with CPython behaviour? Michael > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From jdhardy at gmail.com Tue Oct 6 19:34:38 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 6 Oct 2009 11:34:38 -0600 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB761A.503@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> Message-ID: On Tue, Oct 6, 2009 at 10:53 AM, Michael Foord wrote: > The first succeeds, naturally. Are you saying that it would be *more* > surprising if the second succeeded? It should be surprising - a limited user should *never* be able to install software into a shared location. The fact that it works for CPython is a bug, not a feature. I would totally expect to have to elevate to install a package; IIRC, it's the norm on *nix machines to need to sudo to write to site-packages. Limited users should only be able to write to a per-user site-packages (I think this is what virtualenv is supposed to accomplish, but virtualenv has always been a mystery to me). It's no different that a limited user being able to install into the GAC. - Jeff From fuzzyman at voidspace.org.uk Tue Oct 6 19:37:41 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 18:37:41 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> Message-ID: <4ACB8065.3070400@voidspace.org.uk> Jeff Hardy wrote: > On Tue, Oct 6, 2009 at 10:53 AM, Michael Foord > wrote: > >> The first succeeds, naturally. Are you saying that it would be *more* >> surprising if the second succeeded? >> > > It should be surprising - a limited user should *never* be able to > install software into a shared location. The fact that it works for > CPython is a bug, not a feature. I would totally expect to have to > elevate to install a package; IIRC, it's the norm on *nix machines to > need to sudo to write to site-packages. > You can try raising a bug against CPython for this, but I *imagine* you will get short-shrift (although in the presence of PEP 370 I am willing to be surprised). So the question is, how important is CPython compatibility in regard to this behaviour? Perhaps IronPython could make PEP 370 site-packages the *default*? Michael > Limited users should only be able to write to a per-user site-packages > (I think this is what virtualenv is supposed to accomplish, but > virtualenv has always been a mystery to me). It's no different that a > limited user being able to install into the GAC. > > - Jeff > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Tue Oct 6 19:41:39 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 6 Oct 2009 17:41:39 +0000 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB761A.503@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > Dino Viehland wrote: > > Michael wrote: > > > >> Curt Hagenlocher wrote: > >> > >>> In principle, allowing unprivileged users to install code into a > >>> location where it can unknowingly be accessed by privileged users is a > >>> security problem. A "per-user" approach is the right one. > >>> > >> Unknowingly? > >> > > > > I've just installed some software. Installing that software required that > > I elevate to admin and left that software in a typically global location > > on my machine (either C:\... or C:\Program Files\...) where my normal user > > account does not have writes to access. > > > > What's the least surprising - that the global location is now suddenly > > writable or that the global location remains writable only be > > administrators? > > > > Your answer seems orthogonal to the question I asked. > > As you answered my question with a question perhaps I can do the same: > > A user has an installed version of Python and an installed version of > IronPython. He wishes to install a library for both IronPython and > Python so he runs: > > python setup.py install > ipy.exe setup.py install > > The first succeeds, naturally. Are you saying that it would be *more* > surprising if the second succeeded? > > Unfortunately at the moment it fails silently, but an "access denied" > error would not be much more helpful. My point is simply that if a user is surprised by the fact that we've created a globally writable place that effects the code they're running then they have unknowingly done this. Or another way to put this is any decision which leads to less security shouldn't ever be a surprise to the user. I'll agree that the difference between CPython and IronPython may be surprising to someone who is used to CPython. But it seems like CPython is the one who's doing something wrong here. I just checked on a Linux machine and there CPython is behaving like we are: dinov at sh0:/usr/lib/python2.5/site-packages$ ls apt aptsources python-support.pth apt_inst.so debconf.py README apt_pkg.so python_apt-0.6.17.egg-info unattended_upgrades-0.1.egg-info dinov at sh0:/usr/lib/python2.5/site-packages$ cp apt_inst.so xx cp: cannot create regular file `xx': Permission denied dinov at sh0:/usr/lib/python2.5/site-packages$ From giles.thomas at resolversystems.com Tue Oct 6 19:42:21 2009 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Tue, 06 Oct 2009 18:42:21 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACB817D.6050008@resolversystems.com> Dino Viehland wrote: > But it seems like CPython is the one who's doing something wrong here. > Another data point; easy_install under CPython using Vista with UAC switched on tries to escalate permissions as you would expect -- the normal grey screen, "please enter an administrator's details" thing -- and then happily installs the egg under C:\PythonXX\lib\site-packages, owned by Administrator, with no read permissions for anyone else. So you then have to go and find it and manually change the permissions if you want to use it. Somewhat orthogonal, but it does make it sound rather like the setup with CPython is accidental rather than by deliberate choice. Cheers, Giles -- Giles Thomas giles.thomas at resolversystems.com +44 (0) 20 7253 6372 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK From fuzzyman at voidspace.org.uk Tue Oct 6 19:52:14 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 18:52:14 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB817D.6050008@resolversystems.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> Message-ID: <4ACB83CE.6090105@voidspace.org.uk> Giles Thomas wrote: > Dino Viehland wrote: >> But it seems like CPython is the one who's doing something wrong here. >> > Another data point; easy_install under CPython using Vista with UAC > switched on tries to escalate permissions as you would expect -- the > normal grey screen, "please enter an administrator's details" thing -- > and then happily installs the egg under C:\PythonXX\lib\site-packages, > owned by Administrator, with no read permissions for anyone else. So > you then have to go and find it and manually change the permissions if > you want to use it. > > Somewhat orthogonal, but it does make it sound rather like the setup > with CPython is accidental rather than by deliberate choice. > I doubt it can be accidental - I think the changed permissions would have to be done deliberately in the installer? Historically Windows has made much less of a distinction between user and system installed programs. On the Mac I need to sudo to install into my *system* site-packages but not into the site-packages of a user installed version of Python. I still see it as a question of usability rather than security. (I'm honestly not sure how creating a writable directory is a security issue?) If the default install location of IronPython makes installing and using Python packages with IronPython impossible for non-elevated users then that is an extreme misfeature. Michael > > Cheers, > > Giles > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Tue Oct 6 19:58:04 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 6 Oct 2009 17:58:04 +0000 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <4ACB83CE.6090105@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > I still see it as a question of usability rather than security. (I'm > honestly not sure how creating a writable directory is a security > issue?) If the default install location of IronPython makes installing > and using Python packages with IronPython impossible for non-elevated > users then that is an extreme misfeature. This is the security problem. Let's say I, a normal user, goes into C:\Python26\Lib\site-packages and creates or modifies sitecustomize.py. In sitecustomize.py I add some code like: import os if os.environ['USERNAME'] == 'Administrator': # install malware here, set myself as an administrator, format C, # etc... pass Now I just sit back and wait for an administrator to start some program which relies on Python. I now have full control of a machine which I was originally only granted normal user access on. From giles.thomas at resolversystems.com Tue Oct 6 19:53:17 2009 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Tue, 06 Oct 2009 18:53:17 +0100 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB83CE.6090105@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> Message-ID: <4ACB840D.5050208@resolversystems.com> Michael Foord wrote: > (I'm honestly not sure how creating a writable directory is a security > issue?) I suspect people are thinking of an attack where an untrusted user installs a package that looks like a normal one, but actually does something nefarious like install a rootkit (and perhaps does what the package is meant to do as well). If the administrator then uses the package, the machine is compromised. Cheers, Giles -- Giles Thomas giles.thomas at resolversystems.com +44 (0) 20 7253 6372 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK From fuzzyman at voidspace.org.uk Tue Oct 6 20:10:18 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 19:10:18 +0100 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACB880A.2080407@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> I still see it as a question of usability rather than security. (I'm >> honestly not sure how creating a writable directory is a security >> issue?) If the default install location of IronPython makes installing >> and using Python packages with IronPython impossible for non-elevated >> users then that is an extreme misfeature. >> > > This is the security problem. Let's say I, a normal user, goes into > C:\Python26\Lib\site-packages and creates or modifies sitecustomize.py. > In sitecustomize.py I add some code like: > > import os > if os.environ['USERNAME'] == 'Administrator': > # install malware here, set myself as an administrator, format C, > # etc... > pass > > Now I just sit back and wait for an administrator to start some program > which relies on Python. I now have full control of a machine which I was > originally only granted normal user access on. > > > Well, fair enough [1]. :-) Except it may *still* leave distutils / package management basically unusable for many people. That would still seem to be bad. I'd like to work on making Distribute (the successor to setuptools) compatible with IronPython but it is going to require a working distutils system. Can PEP 370 style site-packages be made the default for IronPython? Michael [1] I don't have this problem on the Mac. I have a system installed Python that I must sudo to modify and a user installed one that I don't. Even a user installed IronPython wouldn't have write permissions in the normal site-packages folder on Windows, right? > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Tue Oct 6 20:26:10 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 6 Oct 2009 18:26:10 +0000 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <4ACB880A.2080407@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB880A.2080407@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A68D21@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > Well, fair enough [1]. :-) > > Except it may *still* leave distutils / package management basically > unusable for many people. That would still seem to be bad. I'd like to > work on making Distribute (the successor to setuptools) compatible with > IronPython but it is going to require a working distutils system. > > Can PEP 370 style site-packages be made the default for IronPython? > > Michael > > [1] I don't have this problem on the Mac. I have a system installed > Python that I must sudo to modify and a user installed one that I don't. > Even a user installed IronPython wouldn't have write permissions in the > normal site-packages folder on Windows, right? >From the IronPython side of things I think we should make our installer have an option to install into a per-user directory. That is certainly missing today and would allow us to even have an elevation free installer (although we couldn't ngen in that case but we might be able to offer the user an opportunity to ngen even if they do a per-user install if they're willing to elevate). Do you have an idea of how to go about making it the default? It looks like PEP 370 style site-packages work today - although there might be some tweaking we want to do. It looks like if you create %APPDATA%\Python\Python26\site-packages that site.py will pick it up even on IronPython. The only downside to this seems to be that we share the same directory as CPython per-user site packages. But I'm not sure how we would make that the default location to install to. We should probably make the "Python" part of the directory be Python, IronPython, Jython, etc... depending upon what implementation you're running on. From merllab at microsoft.com Tue Oct 6 21:08:50 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Tue, 6 Oct 2009 12:08:50 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <2aff8b90-1e82-4fc9-9bb7-ac2dc989efd8@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/59799. MODIFIED SOURCES $/IronPython/IronPython_2_6/Src/IronPython/Compiler/Ast/FunctionDefinition.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs From fuzzyman at voidspace.org.uk Tue Oct 6 23:42:50 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 06 Oct 2009 22:42:50 +0100 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A68D21@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB880A.2080407@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68D21@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACBB9DA.5090906@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> Well, fair enough [1]. :-) >> >> Except it may *still* leave distutils / package management basically >> unusable for many people. That would still seem to be bad. I'd like to >> work on making Distribute (the successor to setuptools) compatible with >> IronPython but it is going to require a working distutils system. >> >> Can PEP 370 style site-packages be made the default for IronPython? >> >> Michael >> >> [1] I don't have this problem on the Mac. I have a system installed >> Python that I must sudo to modify and a user installed one that I don't. >> Even a user installed IronPython wouldn't have write permissions in the >> normal site-packages folder on Windows, right? >> > > >From the IronPython side of things I think we should make our installer > have an option to install into a per-user directory. That is certainly > missing today and would allow us to even have an elevation free installer > (although we couldn't ngen in that case but we might be able to offer the > user an opportunity to ngen even if they do a per-user install if they're > willing to elevate). > > Do you have an idea of how to go about making it the default? It looks > like PEP 370 style site-packages work today - although there might be > some tweaking we want to do. It looks like if you create > %APPDATA%\Python\Python26\site-packages that site.py will pick it up even > on IronPython. The only downside to this seems to be that we share the > same directory as CPython per-user site packages. But I'm not sure how > we would make that the default location to install to. > > I'll look into this with the distutils guys. > We should probably make the "Python" part of the directory be Python, > IronPython, Jython, etc... depending upon what implementation you're > running on. > Yes, agreed - IronPython should have a separate user site-packages from CPython. Michael > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From sanxiyn at gmail.com Wed Oct 7 00:42:03 2009 From: sanxiyn at gmail.com (Seo Sanghyeon) Date: Wed, 7 Oct 2009 07:42:03 +0900 Subject: [IronPython] NTLM authentication In-Reply-To: References: Message-ID: <5b0248170910061542u6498b92cjfd6df4d88a282955@mail.gmail.com> 2009/10/6 Aloysius Jegan : > If any one know how to do NTLM authentication from IronPython, please send > me the procedure or share the code if you have it. In IronPython you have a choice of doing it like Python or like .NET. For Python, this library provides NTLM authentication for urllib2. http://code.google.com/p/python-ntlm/ -- Seo Sanghyeon From jdhardy at gmail.com Wed Oct 7 00:47:47 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 6 Oct 2009 16:47:47 -0600 Subject: [IronPython] Default install location and site-packages In-Reply-To: <4ACB840D.5050208@resolversystems.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <4ACB840D.5050208@resolversystems.com> Message-ID: On Tue, Oct 6, 2009 at 11:53 AM, Giles Thomas wrote: > Michael Foord wrote: >> >> (I'm honestly not sure how creating a writable directory is a security >> issue?) > > I suspect people are thinking of an attack where an untrusted user installs > a package that looks like a normal one, but actually does something > nefarious like install a rootkit (and perhaps does what the package is meant > to do as well). ?If the administrator then uses the package, the machine is > compromised. Exactly. And Python doesn't have codesigning or such to prevent such an attack. For desktops it might not seem like a big deal, but for servers it's an absolute disaster. It's better if it's not even possible. - Jeff From Aloysius.Jegan at Lntemsys.com Wed Oct 7 06:32:37 2009 From: Aloysius.Jegan at Lntemsys.com (Aloysius Jegan) Date: Wed, 7 Oct 2009 10:02:37 +0530 Subject: [IronPython] NTLM authentication In-Reply-To: <5b0248170910061542u6498b92cjfd6df4d88a282955@mail.gmail.com> Message-ID: Thanks for the info -Aloysius Jegan Seo Sanghyeon Sent by: users-bounces at lists.ironpython.com 10/07/2009 04:12 AM Please respond to Discussion of IronPython To Discussion of IronPython cc Subject Re: [IronPython] NTLM authentication 2009/10/6 Aloysius Jegan : > If any one know how to do NTLM authentication from IronPython, please send > me the procedure or share the code if you have it. In IronPython you have a choice of doing it like Python or like .NET. For Python, this library provides NTLM authentication for urllib2. http://code.google.com/p/python-ntlm/ -- Seo Sanghyeon _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From Aloysius.Jegan at Lntemsys.com Wed Oct 7 08:12:13 2009 From: Aloysius.Jegan at Lntemsys.com (Aloysius Jegan) Date: Wed, 7 Oct 2009 11:42:13 +0530 Subject: [IronPython] Ctrl + A In-Reply-To: Message-ID: Hi, How to give Ctrl+A as a start of string in Ironpython? My requirement is like this, I have to send one command to my device assume the command is "SWITCH ON 01 02 03" before sending this command through serial port, I have to press Ctrl+A as start of command. I don't know how to add Ctrl+A along with the command string. -Regards Aloysius Jegan -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidescobar1976 at gmail.com Wed Oct 7 08:54:03 2009 From: davidescobar1976 at gmail.com (David Escobar) Date: Tue, 6 Oct 2009 23:54:03 -0700 Subject: [IronPython] Ctrl + A In-Reply-To: References: Message-ID: <38ef96bd0910062354m313d7892p8008b960fac13089@mail.gmail.com> The ASCII code for the Ctrl+A character is 01, so I would try something like this: cmd = chr(01) + " SWITCH ON 01 02" Then send the cmd string. If you need to convert a single-character string back to an ASCII code, you would use the ord function. On Tue, Oct 6, 2009 at 11:12 PM, Aloysius Jegan wrote: > > Hi, > > How to give Ctrl+A as a start of string in Ironpython? > > My requirement is like this, > > I have to send one command to my device assume the command is "SWITCH ON 01 > 02 03" > before sending this command through serial port, I have to press Ctrl+A as > start of command. I don't know how to add Ctrl+A along with the command > string. > > > -Regards > Aloysius Jegan > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Aloysius.Jegan at Lntemsys.com Wed Oct 7 10:59:37 2009 From: Aloysius.Jegan at Lntemsys.com (Aloysius Jegan) Date: Wed, 7 Oct 2009 14:29:37 +0530 Subject: [IronPython] Ctrl + A In-Reply-To: <38ef96bd0910062354m313d7892p8008b960fac13089@mail.gmail.com> Message-ID: Thanks david.... It is working David Escobar Sent by: users-bounces at lists.ironpython.com 10/07/2009 12:24 PM Please respond to Discussion of IronPython To Discussion of IronPython cc users-bounces at lists.ironpython.com Subject Re: [IronPython] Ctrl + A The ASCII code for the Ctrl+A character is 01, so I would try something like this: cmd = chr(01) + " SWITCH ON 01 02" Then send the cmd string. If you need to convert a single-character string back to an ASCII code, you would use the ord function. On Tue, Oct 6, 2009 at 11:12 PM, Aloysius Jegan < Aloysius.Jegan at lntemsys.com> wrote: Hi, How to give Ctrl+A as a start of string in Ironpython? My requirement is like this, I have to send one command to my device assume the command is "SWITCH ON 01 02 03" before sending this command through serial port, I have to press Ctrl+A as start of command. I don't know how to add Ctrl+A along with the command string. -Regards Aloysius Jegan _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From merllab at microsoft.com Wed Oct 7 17:53:35 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Wed, 7 Oct 2009 08:53:35 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <7bd9906e-ca35-47bc-a097-5dfe15311d2a@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/59829. ADDED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Stubs.cs MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Actions/ActionBinder.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Utils/TypeUtils.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Utils/HashSet.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/RunnableScriptCode.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicAppManifest.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserVirtualFilesystem.cs $/IronPython/IronPython_Main/Src/IronPython/Modules/imp.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Repl.cs $/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/CFuncPtr.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserScriptHost.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/ErrorFormatter.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/XapBuilder.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/Chiron.csproj $/IronPython/IronPython_Main/Src/IronPython/Compiler/DictionaryGlobalAllocator.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/PythonScriptCode.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/RuntimeScriptCode.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/NewStringFormatter.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/OnDiskScriptCode.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonOptions.cs $/IronPython/IronPython_Main/Src/IronPython.Modules/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/IronPython.Modules/time.cs $/IronPython/IronPython_Main/Src/IronPython.Modules/IronPython.Modules.csproj $/IronPython/IronPython_Main/Src/IronPython.Modules/cPickle.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/AstGenerator.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/Parser.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/NewTypeMaker.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/DynamicBaseTypeAttribute.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/BuiltinMethodDescriptor.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Exceptions/TraceBack.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/ObjectOps.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/PythonOps.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/StringOps.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Generator.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonFile.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Importer.cs $/IronPython/IronPython_Main/Src/IronPythonTest/IronPythonTest.csproj $/IronPython/IronPython_Main/Src/IronPythonTest/EngineTest.cs $/IronPython/IronPython_Main/Src/IronPythonTest/BindTest.cs $/IronPython/IronPython_Main/Src/IronPythonConsole/Console.cs $/IronPython/IronPython_Main/Src/IronPython/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/IronPython/IronPython.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Stubs.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.Core.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.ExtensionAttribute.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/PlatformAdaptationLayer.cs $/IronPython/IronPython_Main/Src/Tests/ClrAssembly/ClrAssembly.csproj $/IronPython/IronPython_Main/Src/Tests/test_methoddispatch.py $/IronPython/IronPython_Main/Src/Tests/test_imp.py $/IronPython/IronPython_Main/Src/Tests/test_cPickle.py $/IronPython/IronPython_Main/Src/Tests/test_strformat.py $/IronPython/IronPython_Main/Src/Tests/test_syntax.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1191584 Date: 10/6/2009 10:46:11 PM (dinov) 24784 ScriptCodeParseResult incorrect Interactive code shouldn?t always be parsed as don?t imply dedent. There?s one spot where we no longer match CPython but that seems to match Guido?s statement that there?s a bug in CPython when compiling from strings. 24642 import random module Profiling isn?t working very well with the new shared global allocator. Profiling needs to delay re-writing the tree until after it?s fully constructed. I?ve added a new DelayedProfiling reducible node to handle this 24743 imp.load_module returns incorrect module if previously-loaded Load_module needs to use the provided PythonFile for reading the new module 24762 Ngenning a compiled subclass dll has trouble if EnvironmentError or BaseException are subclassed Avoid overloading IDynamicMetaObjectProvider if it?s implementation isn?t public. Instead just add an entirely new method (unless it?s one of our IDynamicMetaObjectProviders which is known to do the right thing ? then just do nothing). 24802 Should I convert each float value into System.Single before passing it .Net? Have the default binder supply the full range of narrowing levels that we also use for method binding Also fixing Resolver?s memory leak by switching to a normal thread static. And also adding Microsoft.Dynamic to the list of assembly mappings so we?ll automatically translate it to its fully qualified name in Silverlight (Shelveset: MoreRc2BugFixesFinal2;REDMOND\dinov | SNAP CheckinId: 9565) -------------------------------------------------------------------------------- Changeset Id: 1191437 Date: 10/6/2009 7:26:24 PM (dinov) DLR outer layer and IronPython 24784 ScriptCodeParseResult incorrect Interactive code shouldn?t always be parsed as don?t imply dedent. There?s one spot where we no longer match CPython but that seems to match Guido?s statement that there?s a bug in CPython when compiling from strings. 24642 import random module Profiling isn?t working very well with the new shared global allocator. Profiling needs to delay re-writing the tree until after it?s fully constructed. I?ve added a new DelayedProfiling reducible node to handle this 24743 imp.load_module returns incorrect module if previously-loaded Load_module needs to use the provided PythonFile for reading the new module 24762 Ngenning a compiled subclass dll has trouble if EnvironmentError or BaseException are subclassed Avoid overloading IDynamicMetaObjectProvider if it?s implementation isn?t public. Instead just add an entirely new method (unless it?s one of our IDynamicMetaObjectProviders which is known to do the right thing ? then just do nothing). 24802 Should I convert each float value into System.Single before passing it .Net? Have the default binder supply the full range of narrowing levels that we also use for method binding Also fixing Resolver?s memory leak by switching to a normal thread static. And also adding Microsoft.Dynamic to the list of assembly mappings so we?ll automatically translate it to its fully qualified name in Silverlight (Shelveset: StringFormatting;REDMOND\dinov | SNAP CheckinId: m10375) -------------------------------------------------------------------------------- Changeset Id: 1191433 Date: 10/6/2009 7:23:51 PM (dinov) Fix a couple of issues with pickle: Error message is wrong when we can?t pickle (we should use our own ToString, not .NETs) Reducing mixed new-style old-style classes who include a meta-class blows up because we get the meta classes dictionary. Try and get an IPythonObject?s dictionary first instead in __reduce_ex__ implementations. Fix a couple of issues reported by Harry: Missing span on module function code objects, we now flow the span from the PythonAst?s body to the ScriptCode Make things strongly typed where they can be Fix a regression reported by VSL: We no longer include the current working directory in the search paths for a Python script engine created via the hosting APIs. The command line now explicitly passes no paths, and we default to including ?.? (Shelveset: rc2tweaksfinal;REDMOND\dinov | SNAP CheckinId: m10375) From lsaguisag at vmware.com Wed Oct 7 22:36:28 2009 From: lsaguisag at vmware.com (Leonides Saguisag) Date: Wed, 7 Oct 2009 13:36:28 -0700 Subject: [IronPython] Issue with using multiple forms in IronPython Message-ID: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> I am trying to create a simple app which has two forms. Form1 contains a button which, when clicked, should display Form2 as a dialog. Here is the source code (developed using IronPython Studio): ### Program.py ### from System import * from System.Windows.Forms import * from Form1 import * class WindowsApplication80: # namespace @staticmethod def RealEntryPoint(): Application.EnableVisualStyles() Application.Run(WindowsApplication8.Form1()) if __name__ == "Program": WindowsApplication80.RealEntryPoint(); ### end of Program.py ### ### Form1.py ### import System from System.Windows.Forms import * from System.ComponentModel import * from System.Drawing import * from clr import * from Form2 import * class WindowsApplication8: # namespace class Form1(System.Windows.Forms.Form): """type(_button1) == System.Windows.Forms.Button, type(_form2) == System.Windows.Forms.Form""" __slots__ = ['_button1', '_form2'] def __init__(self): self.InitializeComponent() @accepts(Self(), bool) @returns(None) def Dispose(self, disposing): super(type(self), self).Dispose(disposing) @returns(None) def InitializeComponent(self): self._button1 = System.Windows.Forms.Button() self.SuspendLayout() # # button1 # self._button1.Location = System.Drawing.Point(96, 78) self._button1.Name = 'button1' self._button1.Size = System.Drawing.Size(75, 23) self._button1.TabIndex = 0 self._button1.Text = 'button1' self._button1.UseVisualStyleBackColor = True self._button1.Click += self._button1_Click # # Form1 # self.ClientSize = System.Drawing.Size(292, 273) self.Controls.Add(self._button1) self.Name = 'Form1' self.Text = 'Form1' self.ResumeLayout(False) @accepts(Self(), System.Object, System.EventArgs) @returns(None) def _button1_Click(self, sender, e): self._form2 = WindowsApplication8.Form2() ShowDialog(self._form2) ### end of Form1.py ### ### Form2.py ### import System from System.Windows.Forms import * from System.ComponentModel import * from System.Drawing import * from clr import * class WindowsApplication8: # namespace class Form2(System.Windows.Forms.Form): __slots__ = [] def __init__(self): self.InitializeComponent() @accepts(Self(), bool) @returns(None) def Dispose(self, disposing): super(type(self), self).Dispose(disposing) @returns(None) def InitializeComponent(self): self.SuspendLayout() # # Form2 # self.ClientSize = System.Drawing.Size(292, 273) self.Name = 'Form2' self.Text = 'Form2' self.Load += self._Form2_Load self.ResumeLayout(False) ### end of Form2.py ### The issue is that when I click on button1 on Form1, the debugger stops in the _button1_Click method, on the following line: self._form2 = WindowsApplication8.Form2() Here is the exception detail: ### Start of exception detail ### IronPython.Runtime.Exceptions.PythonNameErrorException was unhandled by user code Message="name 'Form2' not defined" Source="IronPython" StackTrace: at IronPython.Runtime.Operations.Ops.CheckInitializedOrBuiltin(Object o, ICallerContext context, String name) at Form1._button1_Click$f630(FunctionEnvironment8Dictionary $env, Object self, Object sender, Object e) in Form1.py:line 49 at IronPython.Runtime.Calls.Function3.Call(ICallerContext context, Object arg0, Object arg1, Object arg2) at IronPython.Runtime.Calls.Function3.Call(ICallerContext context, Object[] args) at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) at IronPython.Modules.ClrModule.ReturnChecker.RuntimeChecker.Call(Object[] args) at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) at IronPython.Modules.ClrModule.ArgChecker.RuntimeChecker.Call(Object[] args) at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) at IronPython.Runtime.Types.ReflectedEvent.EventDispatcher.Call(Object[] args) at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) at IronPython.Runtime.Operations.Ops.Call(Object func, Object arg0, Object arg1) at System.Void(Object, EventArgs)##51(Object , Object , EventArgs ) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at Run##60(Object ) at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext context, Object arg0) at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext context, Object[] args) at IronPython.Compiler.MethodBinder.MethodTarget.Call(ICallerContext context, Object[] args) at IronPython.Compiler.MethodBinder.TargetSet.Call(ICallerContext context, CallType callType, Object[] args) at IronPython.Compiler.MethodBinder.TargetSet.Call1(ICallerContext context, Object arg0) at IronPython.Runtime.Calls.FastCallableWithContextAny.Call(ICallerContext context, Object arg0) at IronPython.Runtime.Calls.BuiltinFunction.Call(ICallerContext context, Object arg0) at IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext context, Object func, Object arg0) at Program.RealEntryPoint$f634(FunctionEnvironment4Dictionary $env) in Program.py:line 10 at IronPython.Runtime.Calls.Function0.Call(ICallerContext context) at IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext context, Object func) at Program.Initialize() in Program.py:line 13 at IronPython.Runtime.Operations.Ops.ExecuteCompiled(InitializeModule init) InnerException: ### End of exception detail ### I am stumped as to why it thinks Form2 is not defined. Just to add, all of the files are all located in the same folder: WindowsApplication8\Form1.py WindowsApplication8\Form1.resx WindowsApplication8\Form2.py WindowsApplication8\Form2.resx WindowsApplication8\Program.py I would greatly appreciate any insight anyone can provide. Thanks, -- Leo From dinov at microsoft.com Wed Oct 7 22:50:02 2009 From: dinov at microsoft.com (Dino Viehland) Date: Wed, 7 Oct 2009 20:50:02 +0000 Subject: [IronPython] Issue with using multiple forms in IronPython In-Reply-To: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> References: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A768B2@TK5EX14MBXC116.redmond.corp.microsoft.com> The problem here is really that IronPython Studio is really weird and is trying to create namespaces where none exist. So if you removed the class WindowsApplication... everywhere or if you changed the namespace names so the 2 files had distinct "namespaces" it would work. But you won't get the two separate classes to be merged into one namespace. I personally would suggest going w/ Michael Foord's recommendation of making a base winforms class in the designer w/ C# and then just inheriting from that in IronPython rather than using IronPython Studio's forms support. Alternately I think XAML is probably the future as far as IronPython IDEs go. W/ XAML none of the UI needs to be represented with code. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Leonides Saguisag > Sent: Wednesday, October 07, 2009 1:36 PM > To: 'users at lists.ironpython.com' > Subject: [IronPython] Issue with using multiple forms in IronPython > > I am trying to create a simple app which has two forms. Form1 contains a > button which, when clicked, should display Form2 as a dialog. Here is the > source code (developed using IronPython Studio): > > ### Program.py ### > from System import * > from System.Windows.Forms import * > from Form1 import * > > class WindowsApplication80: # namespace > > @staticmethod > def RealEntryPoint(): > Application.EnableVisualStyles() > Application.Run(WindowsApplication8.Form1()) > > if __name__ == "Program": > WindowsApplication80.RealEntryPoint(); > ### end of Program.py ### > > ### Form1.py ### > import System > from System.Windows.Forms import * > from System.ComponentModel import * > from System.Drawing import * > from clr import * > from Form2 import * > class WindowsApplication8: # namespace > > class Form1(System.Windows.Forms.Form): > """type(_button1) == System.Windows.Forms.Button, type(_form2) == > System.Windows.Forms.Form""" > __slots__ = ['_button1', '_form2'] > def __init__(self): > self.InitializeComponent() > > @accepts(Self(), bool) > @returns(None) > def Dispose(self, disposing): > > > > super(type(self), self).Dispose(disposing) > > @returns(None) > def InitializeComponent(self): > self._button1 = System.Windows.Forms.Button() > self.SuspendLayout() > # > # button1 > # > self._button1.Location = System.Drawing.Point(96, 78) > self._button1.Name = 'button1' > self._button1.Size = System.Drawing.Size(75, 23) > self._button1.TabIndex = 0 > self._button1.Text = 'button1' > self._button1.UseVisualStyleBackColor = True > self._button1.Click += self._button1_Click > # > # Form1 > # > self.ClientSize = System.Drawing.Size(292, 273) > self.Controls.Add(self._button1) > self.Name = 'Form1' > self.Text = 'Form1' > self.ResumeLayout(False) > > @accepts(Self(), System.Object, System.EventArgs) > @returns(None) > def _button1_Click(self, sender, e): > self._form2 = WindowsApplication8.Form2() > ShowDialog(self._form2) > ### end of Form1.py ### > > ### Form2.py ### > import System > from System.Windows.Forms import * > from System.ComponentModel import * > from System.Drawing import * > from clr import * > class WindowsApplication8: # namespace > > class Form2(System.Windows.Forms.Form): > __slots__ = [] > def __init__(self): > > self.InitializeComponent() > > @accepts(Self(), bool) > @returns(None) > def Dispose(self, disposing): > > > > super(type(self), self).Dispose(disposing) > > @returns(None) > def InitializeComponent(self): > self.SuspendLayout() > # > # Form2 > # > self.ClientSize = System.Drawing.Size(292, 273) > self.Name = 'Form2' > self.Text = 'Form2' > self.Load += self._Form2_Load > self.ResumeLayout(False) > ### end of Form2.py ### > > The issue is that when I click on button1 on Form1, the debugger stops in the > _button1_Click method, on the following line: > > self._form2 = WindowsApplication8.Form2() > > Here is the exception detail: > ### Start of exception detail ### > IronPython.Runtime.Exceptions.PythonNameErrorException was unhandled by user > code > Message="name 'Form2' not defined" > Source="IronPython" > StackTrace: > at IronPython.Runtime.Operations.Ops.CheckInitializedOrBuiltin(Object > o, ICallerContext context, String name) > at Form1._button1_Click$f630(FunctionEnvironment8Dictionary $env, > Object self, Object sender, Object e) in Form1.py:line 49 > at IronPython.Runtime.Calls.Function3.Call(ICallerContext context, > Object arg0, Object arg1, Object arg2) > at IronPython.Runtime.Calls.Function3.Call(ICallerContext context, > Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at > IronPython.Modules.ClrModule.ReturnChecker.RuntimeChecker.Call(Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at IronPython.Modules.ClrModule.ArgChecker.RuntimeChecker.Call(Object[] > args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at > IronPython.Runtime.Types.ReflectedEvent.EventDispatcher.Call(Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object arg0, > Object arg1) > at System.Void(Object, EventArgs)##51(Object , Object , EventArgs ) > at System.Windows.Forms.Control.OnClick(EventArgs e) > at System.Windows.Forms.Button.OnClick(EventArgs e) > at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) > at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons > button, Int32 clicks) > at System.Windows.Forms.Control.WndProc(Message& m) > at System.Windows.Forms.ButtonBase.WndProc(Message& m) > at System.Windows.Forms.Button.WndProc(Message& m) > at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& > m) > at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) > at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, > Int32 msg, IntPtr wparam, IntPtr lparam) > at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) > at > System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeN > ativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 > reason, Int32 pvLoopData) > at > System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 > reason, ApplicationContext context) > at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 > reason, ApplicationContext context) > at System.Windows.Forms.Application.Run(Form mainForm) > at Run##60(Object ) > at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext context, > Object arg0) > at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext context, > Object[] args) > at IronPython.Compiler.MethodBinder.MethodTarget.Call(ICallerContext > context, Object[] args) > at IronPython.Compiler.MethodBinder.TargetSet.Call(ICallerContext > context, CallType callType, Object[] args) > at IronPython.Compiler.MethodBinder.TargetSet.Call1(ICallerContext > context, Object arg0) > at > IronPython.Runtime.Calls.FastCallableWithContextAny.Call(ICallerContext > context, Object arg0) > at IronPython.Runtime.Calls.BuiltinFunction.Call(ICallerContext > context, Object arg0) > at IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext > context, Object func, Object arg0) > at Program.RealEntryPoint$f634(FunctionEnvironment4Dictionary $env) in > Program.py:line 10 > at IronPython.Runtime.Calls.Function0.Call(ICallerContext context) > at IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext > context, Object func) > at Program.Initialize() in Program.py:line 13 > at IronPython.Runtime.Operations.Ops.ExecuteCompiled(InitializeModule > init) > InnerException: > ### End of exception detail ### > > I am stumped as to why it thinks Form2 is not defined. > > Just to add, all of the files are all located in the same folder: > WindowsApplication8\Form1.py > WindowsApplication8\Form1.resx > WindowsApplication8\Form2.py > WindowsApplication8\Form2.resx > WindowsApplication8\Program.py > > I would greatly appreciate any insight anyone can provide. > > Thanks, > -- Leo > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From lsaguisag at vmware.com Wed Oct 7 23:39:55 2009 From: lsaguisag at vmware.com (Leonides Saguisag) Date: Wed, 7 Oct 2009 14:39:55 -0700 Subject: [IronPython] Issue with using multiple forms in IronPython In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A768B2@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> <1A472770E042064698CB5ADC83A12ACD04A768B2@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <956CF991DC2D324AB6D1FD9093942B49E0755E24@EXCH-MBX-4.vmware.com> Hi Dino, Thanks for the awesome advice! I got it to work after I removed those pesky "class WindowsApplication" declarations. I am not all too clear on what you mean by making a base form in C# and then inheriting that. Is that discussed in the IronPython in Action book? I haven't picked up a copy of the book yet, hoping to do so within the week. XAML sounds interesting but due to time constraints I will continue to work with WinForms for the app that I am working on. Thanks for your help! Cheers, -- Leo -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland Sent: 2009?10?7? 13:50 To: Discussion of IronPython Subject: Re: [IronPython] Issue with using multiple forms in IronPython The problem here is really that IronPython Studio is really weird and is trying to create namespaces where none exist. So if you removed the class WindowsApplication... everywhere or if you changed the namespace names so the 2 files had distinct "namespaces" it would work. But you won't get the two separate classes to be merged into one namespace. I personally would suggest going w/ Michael Foord's recommendation of making a base winforms class in the designer w/ C# and then just inheriting from that in IronPython rather than using IronPython Studio's forms support. Alternately I think XAML is probably the future as far as IronPython IDEs go. W/ XAML none of the UI needs to be represented with code. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Leonides Saguisag > Sent: Wednesday, October 07, 2009 1:36 PM > To: 'users at lists.ironpython.com' > Subject: [IronPython] Issue with using multiple forms in IronPython > > I am trying to create a simple app which has two forms. Form1 > contains a button which, when clicked, should display Form2 as a > dialog. Here is the source code (developed using IronPython Studio): > > ### Program.py ### > from System import * > from System.Windows.Forms import * > from Form1 import * > > class WindowsApplication80: # namespace > > @staticmethod > def RealEntryPoint(): > Application.EnableVisualStyles() > Application.Run(WindowsApplication8.Form1()) > > if __name__ == "Program": > WindowsApplication80.RealEntryPoint(); > ### end of Program.py ### > > ### Form1.py ### > import System > from System.Windows.Forms import * > from System.ComponentModel import * > from System.Drawing import * > from clr import * > from Form2 import * > class WindowsApplication8: # namespace > > class Form1(System.Windows.Forms.Form): > """type(_button1) == System.Windows.Forms.Button, type(_form2) > == System.Windows.Forms.Form""" > __slots__ = ['_button1', '_form2'] > def __init__(self): > self.InitializeComponent() > > @accepts(Self(), bool) > @returns(None) > def Dispose(self, disposing): > > > > super(type(self), self).Dispose(disposing) > > @returns(None) > def InitializeComponent(self): > self._button1 = System.Windows.Forms.Button() > self.SuspendLayout() > # > # button1 > # > self._button1.Location = System.Drawing.Point(96, 78) > self._button1.Name = 'button1' > self._button1.Size = System.Drawing.Size(75, 23) > self._button1.TabIndex = 0 > self._button1.Text = 'button1' > self._button1.UseVisualStyleBackColor = True > self._button1.Click += self._button1_Click > # > # Form1 > # > self.ClientSize = System.Drawing.Size(292, 273) > self.Controls.Add(self._button1) > self.Name = 'Form1' > self.Text = 'Form1' > self.ResumeLayout(False) > > @accepts(Self(), System.Object, System.EventArgs) > @returns(None) > def _button1_Click(self, sender, e): > self._form2 = WindowsApplication8.Form2() > ShowDialog(self._form2) > ### end of Form1.py ### > > ### Form2.py ### > import System > from System.Windows.Forms import * > from System.ComponentModel import * > from System.Drawing import * > from clr import * > class WindowsApplication8: # namespace > > class Form2(System.Windows.Forms.Form): > __slots__ = [] > def __init__(self): > > self.InitializeComponent() > > @accepts(Self(), bool) > @returns(None) > def Dispose(self, disposing): > > > > super(type(self), self).Dispose(disposing) > > @returns(None) > def InitializeComponent(self): > self.SuspendLayout() > # > # Form2 > # > self.ClientSize = System.Drawing.Size(292, 273) > self.Name = 'Form2' > self.Text = 'Form2' > self.Load += self._Form2_Load > self.ResumeLayout(False) > ### end of Form2.py ### > > The issue is that when I click on button1 on Form1, the debugger stops > in the _button1_Click method, on the following line: > > self._form2 = WindowsApplication8.Form2() > > Here is the exception detail: > ### Start of exception detail ### > IronPython.Runtime.Exceptions.PythonNameErrorException was unhandled > by user code > Message="name 'Form2' not defined" > Source="IronPython" > StackTrace: > at > IronPython.Runtime.Operations.Ops.CheckInitializedOrBuiltin(Object > o, ICallerContext context, String name) > at Form1._button1_Click$f630(FunctionEnvironment8Dictionary > $env, Object self, Object sender, Object e) in Form1.py:line 49 > at IronPython.Runtime.Calls.Function3.Call(ICallerContext > context, Object arg0, Object arg1, Object arg2) > at IronPython.Runtime.Calls.Function3.Call(ICallerContext > context, Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at > IronPython.Modules.ClrModule.ReturnChecker.RuntimeChecker.Call(Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at > IronPython.Modules.ClrModule.ArgChecker.RuntimeChecker.Call(Object[] > args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at > IronPython.Runtime.Types.ReflectedEvent.EventDispatcher.Call(Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) > at IronPython.Runtime.Operations.Ops.Call(Object func, Object > arg0, Object arg1) > at System.Void(Object, EventArgs)##51(Object , Object , EventArgs ) > at System.Windows.Forms.Control.OnClick(EventArgs e) > at System.Windows.Forms.Button.OnClick(EventArgs e) > at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) > at System.Windows.Forms.Control.WmMouseUp(Message& m, > MouseButtons button, Int32 clicks) > at System.Windows.Forms.Control.WndProc(Message& m) > at System.Windows.Forms.ButtonBase.WndProc(Message& m) > at System.Windows.Forms.Button.WndProc(Message& m) > at > System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& > m) > at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) > at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr > hWnd, > Int32 msg, IntPtr wparam, IntPtr lparam) > at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) > at > System.Windows.Forms.Application.ComponentManager.System.Windows.Forms > .UnsafeN > ativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 > dwComponentID, Int32 reason, Int32 pvLoopData) > at > System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int > 32 > reason, ApplicationContext context) > at > System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 > reason, ApplicationContext context) > at System.Windows.Forms.Application.Run(Form mainForm) > at Run##60(Object ) > at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext > context, Object arg0) > at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext > context, Object[] args) > at > IronPython.Compiler.MethodBinder.MethodTarget.Call(ICallerContext > context, Object[] args) > at > IronPython.Compiler.MethodBinder.TargetSet.Call(ICallerContext > context, CallType callType, Object[] args) > at > IronPython.Compiler.MethodBinder.TargetSet.Call1(ICallerContext > context, Object arg0) > at > IronPython.Runtime.Calls.FastCallableWithContextAny.Call(ICallerContex > t > context, Object arg0) > at IronPython.Runtime.Calls.BuiltinFunction.Call(ICallerContext > context, Object arg0) > at > IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext > context, Object func, Object arg0) > at Program.RealEntryPoint$f634(FunctionEnvironment4Dictionary > $env) in Program.py:line 10 > at IronPython.Runtime.Calls.Function0.Call(ICallerContext context) > at > IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext > context, Object func) > at Program.Initialize() in Program.py:line 13 > at > IronPython.Runtime.Operations.Ops.ExecuteCompiled(InitializeModule > init) > InnerException: > ### End of exception detail ### > > I am stumped as to why it thinks Form2 is not defined. > > Just to add, all of the files are all located in the same folder: > WindowsApplication8\Form1.py > WindowsApplication8\Form1.resx > WindowsApplication8\Form2.py > WindowsApplication8\Form2.resx > WindowsApplication8\Program.py > > I would greatly appreciate any insight anyone can provide. > > Thanks, > -- Leo > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From fuzzyman at voidspace.org.uk Wed Oct 7 23:42:40 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Wed, 07 Oct 2009 22:42:40 +0100 Subject: [IronPython] Issue with using multiple forms in IronPython In-Reply-To: <956CF991DC2D324AB6D1FD9093942B49E0755E24@EXCH-MBX-4.vmware.com> References: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> <1A472770E042064698CB5ADC83A12ACD04A768B2@TK5EX14MBXC116.redmond.corp.microsoft.com> <956CF991DC2D324AB6D1FD9093942B49E0755E24@EXCH-MBX-4.vmware.com> Message-ID: <4ACD0B50.5090602@voidspace.org.uk> Leonides Saguisag wrote: > Hi Dino, > > Thanks for the awesome advice! I got it to work after I removed those pesky "class WindowsApplication" declarations. > > I am not all too clear on what you mean by making a base form in C# and then inheriting that. Is that discussed in the IronPython in Action book? I haven't picked up a copy of the book yet, hoping to do so within the week. > > It is covered in IronPython in Action yes. Basically use Visual Studio (Express) but generating C# instead of IronPython. Make the compiled dll part of your IronPython project, add a reference to it and import the generated Form classes. You can then subclass these from IronPython. Michael > XAML sounds interesting but due to time constraints I will continue to work with WinForms for the app that I am working on. > > Thanks for your help! > > Cheers, > -- Leo > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland > Sent: 2009?10?7? 13:50 > To: Discussion of IronPython > Subject: Re: [IronPython] Issue with using multiple forms in IronPython > > The problem here is really that IronPython Studio is really weird and is trying to create namespaces where none exist. So if you removed the class WindowsApplication... everywhere or if you changed the namespace names so the 2 files had distinct "namespaces" it would work. But you won't get the two separate classes to be merged into one namespace. > > I personally would suggest going w/ Michael Foord's recommendation of making a base winforms class in the designer w/ C# and then just inheriting from that in IronPython rather than using IronPython Studio's forms support. > > Alternately I think XAML is probably the future as far as IronPython IDEs go. W/ XAML none of the UI needs to be represented with code. > > > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of Leonides Saguisag >> Sent: Wednesday, October 07, 2009 1:36 PM >> To: 'users at lists.ironpython.com' >> Subject: [IronPython] Issue with using multiple forms in IronPython >> >> I am trying to create a simple app which has two forms. Form1 >> contains a button which, when clicked, should display Form2 as a >> dialog. Here is the source code (developed using IronPython Studio): >> >> ### Program.py ### >> from System import * >> from System.Windows.Forms import * >> from Form1 import * >> >> class WindowsApplication80: # namespace >> >> @staticmethod >> def RealEntryPoint(): >> Application.EnableVisualStyles() >> Application.Run(WindowsApplication8.Form1()) >> >> if __name__ == "Program": >> WindowsApplication80.RealEntryPoint(); >> ### end of Program.py ### >> >> ### Form1.py ### >> import System >> from System.Windows.Forms import * >> from System.ComponentModel import * >> from System.Drawing import * >> from clr import * >> from Form2 import * >> class WindowsApplication8: # namespace >> >> class Form1(System.Windows.Forms.Form): >> """type(_button1) == System.Windows.Forms.Button, type(_form2) >> == System.Windows.Forms.Form""" >> __slots__ = ['_button1', '_form2'] >> def __init__(self): >> self.InitializeComponent() >> >> @accepts(Self(), bool) >> @returns(None) >> def Dispose(self, disposing): >> >> >> >> super(type(self), self).Dispose(disposing) >> >> @returns(None) >> def InitializeComponent(self): >> self._button1 = System.Windows.Forms.Button() >> self.SuspendLayout() >> # >> # button1 >> # >> self._button1.Location = System.Drawing.Point(96, 78) >> self._button1.Name = 'button1' >> self._button1.Size = System.Drawing.Size(75, 23) >> self._button1.TabIndex = 0 >> self._button1.Text = 'button1' >> self._button1.UseVisualStyleBackColor = True >> self._button1.Click += self._button1_Click >> # >> # Form1 >> # >> self.ClientSize = System.Drawing.Size(292, 273) >> self.Controls.Add(self._button1) >> self.Name = 'Form1' >> self.Text = 'Form1' >> self.ResumeLayout(False) >> >> @accepts(Self(), System.Object, System.EventArgs) >> @returns(None) >> def _button1_Click(self, sender, e): >> self._form2 = WindowsApplication8.Form2() >> ShowDialog(self._form2) >> ### end of Form1.py ### >> >> ### Form2.py ### >> import System >> from System.Windows.Forms import * >> from System.ComponentModel import * >> from System.Drawing import * >> from clr import * >> class WindowsApplication8: # namespace >> >> class Form2(System.Windows.Forms.Form): >> __slots__ = [] >> def __init__(self): >> >> self.InitializeComponent() >> >> @accepts(Self(), bool) >> @returns(None) >> def Dispose(self, disposing): >> >> >> >> super(type(self), self).Dispose(disposing) >> >> @returns(None) >> def InitializeComponent(self): >> self.SuspendLayout() >> # >> # Form2 >> # >> self.ClientSize = System.Drawing.Size(292, 273) >> self.Name = 'Form2' >> self.Text = 'Form2' >> self.Load += self._Form2_Load >> self.ResumeLayout(False) >> ### end of Form2.py ### >> >> The issue is that when I click on button1 on Form1, the debugger stops >> in the _button1_Click method, on the following line: >> >> self._form2 = WindowsApplication8.Form2() >> >> Here is the exception detail: >> ### Start of exception detail ### >> IronPython.Runtime.Exceptions.PythonNameErrorException was unhandled >> by user code >> Message="name 'Form2' not defined" >> Source="IronPython" >> StackTrace: >> at >> IronPython.Runtime.Operations.Ops.CheckInitializedOrBuiltin(Object >> o, ICallerContext context, String name) >> at Form1._button1_Click$f630(FunctionEnvironment8Dictionary >> $env, Object self, Object sender, Object e) in Form1.py:line 49 >> at IronPython.Runtime.Calls.Function3.Call(ICallerContext >> context, Object arg0, Object arg1, Object arg2) >> at IronPython.Runtime.Calls.Function3.Call(ICallerContext >> context, Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at >> IronPython.Modules.ClrModule.ReturnChecker.RuntimeChecker.Call(Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at >> IronPython.Modules.ClrModule.ArgChecker.RuntimeChecker.Call(Object[] >> args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at >> IronPython.Runtime.Types.ReflectedEvent.EventDispatcher.Call(Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object >> arg0, Object arg1) >> at System.Void(Object, EventArgs)##51(Object , Object , EventArgs ) >> at System.Windows.Forms.Control.OnClick(EventArgs e) >> at System.Windows.Forms.Button.OnClick(EventArgs e) >> at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) >> at System.Windows.Forms.Control.WmMouseUp(Message& m, >> MouseButtons button, Int32 clicks) >> at System.Windows.Forms.Control.WndProc(Message& m) >> at System.Windows.Forms.ButtonBase.WndProc(Message& m) >> at System.Windows.Forms.Button.WndProc(Message& m) >> at >> System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& >> m) >> at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) >> at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr >> hWnd, >> Int32 msg, IntPtr wparam, IntPtr lparam) >> at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) >> at >> System.Windows.Forms.Application.ComponentManager.System.Windows.Forms >> .UnsafeN >> ativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 >> dwComponentID, Int32 reason, Int32 pvLoopData) >> at >> System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int >> 32 >> reason, ApplicationContext context) >> at >> System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 >> reason, ApplicationContext context) >> at System.Windows.Forms.Application.Run(Form mainForm) >> at Run##60(Object ) >> at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext >> context, Object arg0) >> at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext >> context, Object[] args) >> at >> IronPython.Compiler.MethodBinder.MethodTarget.Call(ICallerContext >> context, Object[] args) >> at >> IronPython.Compiler.MethodBinder.TargetSet.Call(ICallerContext >> context, CallType callType, Object[] args) >> at >> IronPython.Compiler.MethodBinder.TargetSet.Call1(ICallerContext >> context, Object arg0) >> at >> IronPython.Runtime.Calls.FastCallableWithContextAny.Call(ICallerContex >> t >> context, Object arg0) >> at IronPython.Runtime.Calls.BuiltinFunction.Call(ICallerContext >> context, Object arg0) >> at >> IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext >> context, Object func, Object arg0) >> at Program.RealEntryPoint$f634(FunctionEnvironment4Dictionary >> $env) in Program.py:line 10 >> at IronPython.Runtime.Calls.Function0.Call(ICallerContext context) >> at >> IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext >> context, Object func) >> at Program.Initialize() in Program.py:line 13 >> at >> IronPython.Runtime.Operations.Ops.ExecuteCompiled(InitializeModule >> init) >> InnerException: >> ### End of exception detail ### >> >> I am stumped as to why it thinks Form2 is not defined. >> >> Just to add, all of the files are all located in the same folder: >> WindowsApplication8\Form1.py >> WindowsApplication8\Form1.resx >> WindowsApplication8\Form2.py >> WindowsApplication8\Form2.resx >> WindowsApplication8\Program.py >> >> I would greatly appreciate any insight anyone can provide. >> >> Thanks, >> -- Leo >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From lsaguisag at vmware.com Wed Oct 7 23:47:01 2009 From: lsaguisag at vmware.com (Leonides Saguisag) Date: Wed, 7 Oct 2009 14:47:01 -0700 Subject: [IronPython] Issue with using multiple forms in IronPython In-Reply-To: <4ACD0B50.5090602@voidspace.org.uk> References: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> <1A472770E042064698CB5ADC83A12ACD04A768B2@TK5EX14MBXC116.redmond.corp.microsoft.com> <956CF991DC2D324AB6D1FD9093942B49E0755E24@EXCH-MBX-4.vmware.com> <4ACD0B50.5090602@voidspace.org.uk> Message-ID: <956CF991DC2D324AB6D1FD9093942B49E0755E25@EXCH-MBX-4.vmware.com> Hi Michael, Thank you for the info. Sounds like an interesting technique that I will explore in the future once I actually have a copy of IronPython in Action in my hands to help guide me. I would also like to thank you for taking the time and effort to write the book and share your knowledge and experience with us newbies. :) Cheers, -- Leo -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord Sent: 2009?10?7? 14:43 To: Discussion of IronPython Subject: Re: [IronPython] Issue with using multiple forms in IronPython Leonides Saguisag wrote: > Hi Dino, > > Thanks for the awesome advice! I got it to work after I removed those pesky "class WindowsApplication" declarations. > > I am not all too clear on what you mean by making a base form in C# and then inheriting that. Is that discussed in the IronPython in Action book? I haven't picked up a copy of the book yet, hoping to do so within the week. > > It is covered in IronPython in Action yes. Basically use Visual Studio (Express) but generating C# instead of IronPython. Make the compiled dll part of your IronPython project, add a reference to it and import the generated Form classes. You can then subclass these from IronPython. Michael > XAML sounds interesting but due to time constraints I will continue to work with WinForms for the app that I am working on. > > Thanks for your help! > > Cheers, > -- Leo > > -----Original Message----- > From: users-bounces at lists.ironpython.com > [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland > Sent: 2009?10?7? 13:50 > To: Discussion of IronPython > Subject: Re: [IronPython] Issue with using multiple forms in > IronPython > > The problem here is really that IronPython Studio is really weird and is trying to create namespaces where none exist. So if you removed the class WindowsApplication... everywhere or if you changed the namespace names so the 2 files had distinct "namespaces" it would work. But you won't get the two separate classes to be merged into one namespace. > > I personally would suggest going w/ Michael Foord's recommendation of making a base winforms class in the designer w/ C# and then just inheriting from that in IronPython rather than using IronPython Studio's forms support. > > Alternately I think XAML is probably the future as far as IronPython IDEs go. W/ XAML none of the UI needs to be represented with code. > > > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of Leonides Saguisag >> Sent: Wednesday, October 07, 2009 1:36 PM >> To: 'users at lists.ironpython.com' >> Subject: [IronPython] Issue with using multiple forms in IronPython >> >> I am trying to create a simple app which has two forms. Form1 >> contains a button which, when clicked, should display Form2 as a >> dialog. Here is the source code (developed using IronPython Studio): >> >> ### Program.py ### >> from System import * >> from System.Windows.Forms import * >> from Form1 import * >> >> class WindowsApplication80: # namespace >> >> @staticmethod >> def RealEntryPoint(): >> Application.EnableVisualStyles() >> Application.Run(WindowsApplication8.Form1()) >> >> if __name__ == "Program": >> WindowsApplication80.RealEntryPoint(); >> ### end of Program.py ### >> >> ### Form1.py ### >> import System >> from System.Windows.Forms import * >> from System.ComponentModel import * >> from System.Drawing import * >> from clr import * >> from Form2 import * >> class WindowsApplication8: # namespace >> >> class Form1(System.Windows.Forms.Form): >> """type(_button1) == System.Windows.Forms.Button, >> type(_form2) == System.Windows.Forms.Form""" >> __slots__ = ['_button1', '_form2'] >> def __init__(self): >> self.InitializeComponent() >> >> @accepts(Self(), bool) >> @returns(None) >> def Dispose(self, disposing): >> >> >> >> super(type(self), self).Dispose(disposing) >> >> @returns(None) >> def InitializeComponent(self): >> self._button1 = System.Windows.Forms.Button() >> self.SuspendLayout() >> # >> # button1 >> # >> self._button1.Location = System.Drawing.Point(96, 78) >> self._button1.Name = 'button1' >> self._button1.Size = System.Drawing.Size(75, 23) >> self._button1.TabIndex = 0 >> self._button1.Text = 'button1' >> self._button1.UseVisualStyleBackColor = True >> self._button1.Click += self._button1_Click >> # >> # Form1 >> # >> self.ClientSize = System.Drawing.Size(292, 273) >> self.Controls.Add(self._button1) >> self.Name = 'Form1' >> self.Text = 'Form1' >> self.ResumeLayout(False) >> >> @accepts(Self(), System.Object, System.EventArgs) >> @returns(None) >> def _button1_Click(self, sender, e): >> self._form2 = WindowsApplication8.Form2() >> ShowDialog(self._form2) >> ### end of Form1.py ### >> >> ### Form2.py ### >> import System >> from System.Windows.Forms import * >> from System.ComponentModel import * >> from System.Drawing import * >> from clr import * >> class WindowsApplication8: # namespace >> >> class Form2(System.Windows.Forms.Form): >> __slots__ = [] >> def __init__(self): >> >> self.InitializeComponent() >> >> @accepts(Self(), bool) >> @returns(None) >> def Dispose(self, disposing): >> >> >> >> super(type(self), self).Dispose(disposing) >> >> @returns(None) >> def InitializeComponent(self): >> self.SuspendLayout() >> # >> # Form2 >> # >> self.ClientSize = System.Drawing.Size(292, 273) >> self.Name = 'Form2' >> self.Text = 'Form2' >> self.Load += self._Form2_Load >> self.ResumeLayout(False) >> ### end of Form2.py ### >> >> The issue is that when I click on button1 on Form1, the debugger >> stops in the _button1_Click method, on the following line: >> >> self._form2 = WindowsApplication8.Form2() >> >> Here is the exception detail: >> ### Start of exception detail ### >> IronPython.Runtime.Exceptions.PythonNameErrorException was unhandled >> by user code >> Message="name 'Form2' not defined" >> Source="IronPython" >> StackTrace: >> at >> IronPython.Runtime.Operations.Ops.CheckInitializedOrBuiltin(Object >> o, ICallerContext context, String name) >> at Form1._button1_Click$f630(FunctionEnvironment8Dictionary >> $env, Object self, Object sender, Object e) in Form1.py:line 49 >> at IronPython.Runtime.Calls.Function3.Call(ICallerContext >> context, Object arg0, Object arg1, Object arg2) >> at IronPython.Runtime.Calls.Function3.Call(ICallerContext >> context, Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at >> IronPython.Modules.ClrModule.ReturnChecker.RuntimeChecker.Call(Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at >> IronPython.Modules.ClrModule.ArgChecker.RuntimeChecker.Call(Object[] >> args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at >> IronPython.Runtime.Types.ReflectedEvent.EventDispatcher.Call(Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >> at IronPython.Runtime.Operations.Ops.Call(Object func, Object >> arg0, Object arg1) >> at System.Void(Object, EventArgs)##51(Object , Object , EventArgs ) >> at System.Windows.Forms.Control.OnClick(EventArgs e) >> at System.Windows.Forms.Button.OnClick(EventArgs e) >> at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) >> at System.Windows.Forms.Control.WmMouseUp(Message& m, >> MouseButtons button, Int32 clicks) >> at System.Windows.Forms.Control.WndProc(Message& m) >> at System.Windows.Forms.ButtonBase.WndProc(Message& m) >> at System.Windows.Forms.Button.WndProc(Message& m) >> at >> System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& >> m) >> at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) >> at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr >> hWnd, >> Int32 msg, IntPtr wparam, IntPtr lparam) >> at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) >> at >> System.Windows.Forms.Application.ComponentManager.System.Windows.Form >> s >> .UnsafeN >> ativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 >> dwComponentID, Int32 reason, Int32 pvLoopData) >> at >> System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(In >> t >> 32 >> reason, ApplicationContext context) >> at >> System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 >> reason, ApplicationContext context) >> at System.Windows.Forms.Application.Run(Form mainForm) >> at Run##60(Object ) >> at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext >> context, Object arg0) >> at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext >> context, Object[] args) >> at >> IronPython.Compiler.MethodBinder.MethodTarget.Call(ICallerContext >> context, Object[] args) >> at >> IronPython.Compiler.MethodBinder.TargetSet.Call(ICallerContext >> context, CallType callType, Object[] args) >> at >> IronPython.Compiler.MethodBinder.TargetSet.Call1(ICallerContext >> context, Object arg0) >> at >> IronPython.Runtime.Calls.FastCallableWithContextAny.Call(ICallerConte >> x >> t >> context, Object arg0) >> at >> IronPython.Runtime.Calls.BuiltinFunction.Call(ICallerContext >> context, Object arg0) >> at >> IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext >> context, Object func, Object arg0) >> at Program.RealEntryPoint$f634(FunctionEnvironment4Dictionary >> $env) in Program.py:line 10 >> at IronPython.Runtime.Calls.Function0.Call(ICallerContext context) >> at >> IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext >> context, Object func) >> at Program.Initialize() in Program.py:line 13 >> at >> IronPython.Runtime.Operations.Ops.ExecuteCompiled(InitializeModule >> init) >> InnerException: >> ### End of exception detail ### >> >> I am stumped as to why it thinks Form2 is not defined. >> >> Just to add, all of the files are all located in the same folder: >> WindowsApplication8\Form1.py >> WindowsApplication8\Form1.resx >> WindowsApplication8\Form2.py >> WindowsApplication8\Form2.resx >> WindowsApplication8\Program.py >> >> I would greatly appreciate any insight anyone can provide. >> >> Thanks, >> -- Leo >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From fuzzyman at voidspace.org.uk Thu Oct 8 00:07:21 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Wed, 07 Oct 2009 23:07:21 +0100 Subject: [IronPython] Issue with using multiple forms in IronPython In-Reply-To: <956CF991DC2D324AB6D1FD9093942B49E0755E25@EXCH-MBX-4.vmware.com> References: <956CF991DC2D324AB6D1FD9093942B49E0755E23@EXCH-MBX-4.vmware.com> <1A472770E042064698CB5ADC83A12ACD04A768B2@TK5EX14MBXC116.redmond.corp.microsoft.com> <956CF991DC2D324AB6D1FD9093942B49E0755E24@EXCH-MBX-4.vmware.com> <4ACD0B50.5090602@voidspace.org.uk> <956CF991DC2D324AB6D1FD9093942B49E0755E25@EXCH-MBX-4.vmware.com> Message-ID: <4ACD1119.3070806@voidspace.org.uk> Leonides Saguisag wrote: > Hi Michael, > > Thank you for the info. Sounds like an interesting technique that I will explore in the future once I actually have a copy of IronPython in Action in my hands to help guide me. > > I would also like to thank you for taking the time and effort to write the book and share your knowledge and experience with us newbies. :) > Now I'm blushing. :-) For choosing an IDE / editor for general use with IronPython you could do worse than read: http://www.voidspace.org.uk/ironpython/tools-and-ides.shtml Michael > Cheers, > -- Leo > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord > Sent: 2009?10?7? 14:43 > To: Discussion of IronPython > Subject: Re: [IronPython] Issue with using multiple forms in IronPython > > Leonides Saguisag wrote: > >> Hi Dino, >> >> Thanks for the awesome advice! I got it to work after I removed those pesky "class WindowsApplication" declarations. >> >> I am not all too clear on what you mean by making a base form in C# and then inheriting that. Is that discussed in the IronPython in Action book? I haven't picked up a copy of the book yet, hoping to do so within the week. >> >> >> > > It is covered in IronPython in Action yes. > > Basically use Visual Studio (Express) but generating C# instead of IronPython. Make the compiled dll part of your IronPython project, add a reference to it and import the generated Form classes. You can then subclass these from IronPython. > > Michael > > >> XAML sounds interesting but due to time constraints I will continue to work with WinForms for the app that I am working on. >> >> Thanks for your help! >> >> Cheers, >> -- Leo >> >> -----Original Message----- >> From: users-bounces at lists.ironpython.com >> [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland >> Sent: 2009?10?7? 13:50 >> To: Discussion of IronPython >> Subject: Re: [IronPython] Issue with using multiple forms in >> IronPython >> >> The problem here is really that IronPython Studio is really weird and is trying to create namespaces where none exist. So if you removed the class WindowsApplication... everywhere or if you changed the namespace names so the 2 files had distinct "namespaces" it would work. But you won't get the two separate classes to be merged into one namespace. >> >> I personally would suggest going w/ Michael Foord's recommendation of making a base winforms class in the designer w/ C# and then just inheriting from that in IronPython rather than using IronPython Studio's forms support. >> >> Alternately I think XAML is probably the future as far as IronPython IDEs go. W/ XAML none of the UI needs to be represented with code. >> >> >> >> >>> -----Original Message----- >>> From: users-bounces at lists.ironpython.com [mailto:users- >>> bounces at lists.ironpython.com] On Behalf Of Leonides Saguisag >>> Sent: Wednesday, October 07, 2009 1:36 PM >>> To: 'users at lists.ironpython.com' >>> Subject: [IronPython] Issue with using multiple forms in IronPython >>> >>> I am trying to create a simple app which has two forms. Form1 >>> contains a button which, when clicked, should display Form2 as a >>> dialog. Here is the source code (developed using IronPython Studio): >>> >>> ### Program.py ### >>> from System import * >>> from System.Windows.Forms import * >>> from Form1 import * >>> >>> class WindowsApplication80: # namespace >>> >>> @staticmethod >>> def RealEntryPoint(): >>> Application.EnableVisualStyles() >>> Application.Run(WindowsApplication8.Form1()) >>> >>> if __name__ == "Program": >>> WindowsApplication80.RealEntryPoint(); >>> ### end of Program.py ### >>> >>> ### Form1.py ### >>> import System >>> from System.Windows.Forms import * >>> from System.ComponentModel import * >>> from System.Drawing import * >>> from clr import * >>> from Form2 import * >>> class WindowsApplication8: # namespace >>> >>> class Form1(System.Windows.Forms.Form): >>> """type(_button1) == System.Windows.Forms.Button, >>> type(_form2) == System.Windows.Forms.Form""" >>> __slots__ = ['_button1', '_form2'] >>> def __init__(self): >>> self.InitializeComponent() >>> >>> @accepts(Self(), bool) >>> @returns(None) >>> def Dispose(self, disposing): >>> >>> >>> >>> super(type(self), self).Dispose(disposing) >>> >>> @returns(None) >>> def InitializeComponent(self): >>> self._button1 = System.Windows.Forms.Button() >>> self.SuspendLayout() >>> # >>> # button1 >>> # >>> self._button1.Location = System.Drawing.Point(96, 78) >>> self._button1.Name = 'button1' >>> self._button1.Size = System.Drawing.Size(75, 23) >>> self._button1.TabIndex = 0 >>> self._button1.Text = 'button1' >>> self._button1.UseVisualStyleBackColor = True >>> self._button1.Click += self._button1_Click >>> # >>> # Form1 >>> # >>> self.ClientSize = System.Drawing.Size(292, 273) >>> self.Controls.Add(self._button1) >>> self.Name = 'Form1' >>> self.Text = 'Form1' >>> self.ResumeLayout(False) >>> >>> @accepts(Self(), System.Object, System.EventArgs) >>> @returns(None) >>> def _button1_Click(self, sender, e): >>> self._form2 = WindowsApplication8.Form2() >>> ShowDialog(self._form2) >>> ### end of Form1.py ### >>> >>> ### Form2.py ### >>> import System >>> from System.Windows.Forms import * >>> from System.ComponentModel import * >>> from System.Drawing import * >>> from clr import * >>> class WindowsApplication8: # namespace >>> >>> class Form2(System.Windows.Forms.Form): >>> __slots__ = [] >>> def __init__(self): >>> >>> self.InitializeComponent() >>> >>> @accepts(Self(), bool) >>> @returns(None) >>> def Dispose(self, disposing): >>> >>> >>> >>> super(type(self), self).Dispose(disposing) >>> >>> @returns(None) >>> def InitializeComponent(self): >>> self.SuspendLayout() >>> # >>> # Form2 >>> # >>> self.ClientSize = System.Drawing.Size(292, 273) >>> self.Name = 'Form2' >>> self.Text = 'Form2' >>> self.Load += self._Form2_Load >>> self.ResumeLayout(False) >>> ### end of Form2.py ### >>> >>> The issue is that when I click on button1 on Form1, the debugger >>> stops in the _button1_Click method, on the following line: >>> >>> self._form2 = WindowsApplication8.Form2() >>> >>> Here is the exception detail: >>> ### Start of exception detail ### >>> IronPython.Runtime.Exceptions.PythonNameErrorException was unhandled >>> by user code >>> Message="name 'Form2' not defined" >>> Source="IronPython" >>> StackTrace: >>> at >>> IronPython.Runtime.Operations.Ops.CheckInitializedOrBuiltin(Object >>> o, ICallerContext context, String name) >>> at Form1._button1_Click$f630(FunctionEnvironment8Dictionary >>> $env, Object self, Object sender, Object e) in Form1.py:line 49 >>> at IronPython.Runtime.Calls.Function3.Call(ICallerContext >>> context, Object arg0, Object arg1, Object arg2) >>> at IronPython.Runtime.Calls.Function3.Call(ICallerContext >>> context, Object[] args) >>> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >>> at >>> IronPython.Modules.ClrModule.ReturnChecker.RuntimeChecker.Call(Object[] args) >>> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >>> at >>> IronPython.Modules.ClrModule.ArgChecker.RuntimeChecker.Call(Object[] >>> args) >>> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >>> at >>> IronPython.Runtime.Types.ReflectedEvent.EventDispatcher.Call(Object[] args) >>> at IronPython.Runtime.Operations.Ops.Call(Object func, Object[] args) >>> at IronPython.Runtime.Operations.Ops.Call(Object func, Object >>> arg0, Object arg1) >>> at System.Void(Object, EventArgs)##51(Object , Object , EventArgs ) >>> at System.Windows.Forms.Control.OnClick(EventArgs e) >>> at System.Windows.Forms.Button.OnClick(EventArgs e) >>> at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) >>> at System.Windows.Forms.Control.WmMouseUp(Message& m, >>> MouseButtons button, Int32 clicks) >>> at System.Windows.Forms.Control.WndProc(Message& m) >>> at System.Windows.Forms.ButtonBase.WndProc(Message& m) >>> at System.Windows.Forms.Button.WndProc(Message& m) >>> at >>> System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& >>> m) >>> at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) >>> at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr >>> hWnd, >>> Int32 msg, IntPtr wparam, IntPtr lparam) >>> at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) >>> at >>> System.Windows.Forms.Application.ComponentManager.System.Windows.Form >>> s >>> .UnsafeN >>> ativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 >>> dwComponentID, Int32 reason, Int32 pvLoopData) >>> at >>> System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(In >>> t >>> 32 >>> reason, ApplicationContext context) >>> at >>> System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 >>> reason, ApplicationContext context) >>> at System.Windows.Forms.Application.Run(Form mainForm) >>> at Run##60(Object ) >>> at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext >>> context, Object arg0) >>> at IronPython.Runtime.Calls.FastCallable1.Call(ICallerContext >>> context, Object[] args) >>> at >>> IronPython.Compiler.MethodBinder.MethodTarget.Call(ICallerContext >>> context, Object[] args) >>> at >>> IronPython.Compiler.MethodBinder.TargetSet.Call(ICallerContext >>> context, CallType callType, Object[] args) >>> at >>> IronPython.Compiler.MethodBinder.TargetSet.Call1(ICallerContext >>> context, Object arg0) >>> at >>> IronPython.Runtime.Calls.FastCallableWithContextAny.Call(ICallerConte >>> x >>> t >>> context, Object arg0) >>> at >>> IronPython.Runtime.Calls.BuiltinFunction.Call(ICallerContext >>> context, Object arg0) >>> at >>> IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext >>> context, Object func, Object arg0) >>> at Program.RealEntryPoint$f634(FunctionEnvironment4Dictionary >>> $env) in Program.py:line 10 >>> at IronPython.Runtime.Calls.Function0.Call(ICallerContext context) >>> at >>> IronPython.Runtime.Operations.Ops.CallWithContext(ICallerContext >>> context, Object func) >>> at Program.Initialize() in Program.py:line 13 >>> at >>> IronPython.Runtime.Operations.Ops.ExecuteCompiled(InitializeModule >>> init) >>> InnerException: >>> ### End of exception detail ### >>> >>> I am stumped as to why it thinks Form2 is not defined. >>> >>> Just to add, all of the files are all located in the same folder: >>> WindowsApplication8\Form1.py >>> WindowsApplication8\Form1.resx >>> WindowsApplication8\Form2.py >>> WindowsApplication8\Form2.resx >>> WindowsApplication8\Program.py >>> >>> I would greatly appreciate any insight anyone can provide. >>> >>> Thanks, >>> -- Leo >>> _______________________________________________ >>> Users mailing list >>> Users at lists.ironpython.com >>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >>> >>> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> >> > > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From fuzzyman at voidspace.org.uk Thu Oct 8 01:35:05 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Thu, 08 Oct 2009 00:35:05 +0100 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <4ACBB9DA.5090906@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB880A.2080407@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68D21@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACBB9DA.5090906@voidspace.org.uk> Message-ID: <4ACD25A9.3010309@voidspace.org.uk> http://ironpython-urls.blogspot.com/2009/10/distributing-ironpython-packages.html I hope to get committed to Python 2.6, as a compatibility fix, a separate PEP 370 site-packages folder for IronPython - both in site.py and distutils, plus get distutils compatible with IronPython. Not sure if I can get this done before IronPython 2.6 RTM, but assuming I succeed the IronPython installer could create this directory if it doesn't exist. Installing into the user site-packages folder would be done with: ipy.exe setup.py --user install Probably no *need* for it to be the default so long as IronPython documents that it is the recommended way to install. Michael Michael Foord wrote: > Dino Viehland wrote: >> Michael wrote: >> >>> Well, fair enough [1]. :-) >>> >>> Except it may *still* leave distutils / package management basically >>> unusable for many people. That would still seem to be bad. I'd like to >>> work on making Distribute (the successor to setuptools) compatible with >>> IronPython but it is going to require a working distutils system. >>> >>> Can PEP 370 style site-packages be made the default for IronPython? >>> >>> Michael >>> >>> [1] I don't have this problem on the Mac. I have a system installed >>> Python that I must sudo to modify and a user installed one that I >>> don't. >>> Even a user installed IronPython wouldn't have write permissions in the >>> normal site-packages folder on Windows, right? >>> >> >> >From the IronPython side of things I think we should make our installer >> have an option to install into a per-user directory. That is certainly >> missing today and would allow us to even have an elevation free >> installer >> (although we couldn't ngen in that case but we might be able to offer >> the >> user an opportunity to ngen even if they do a per-user install if >> they're >> willing to elevate). >> >> Do you have an idea of how to go about making it the default? It looks >> like PEP 370 style site-packages work today - although there might be >> some tweaking we want to do. It looks like if you create >> %APPDATA%\Python\Python26\site-packages that site.py will pick it up >> even on IronPython. The only downside to this seems to be that we >> share the same directory as CPython per-user site packages. But I'm >> not sure how >> we would make that the default location to install to. >> >> > I'll look into this with the distutils guys. > >> We should probably make the "Python" part of the directory be Python, >> IronPython, Jython, etc... depending upon what implementation you're >> running on. >> > > Yes, agreed - IronPython should have a separate user site-packages > from CPython. > > Michael > >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dinov at microsoft.com Thu Oct 8 04:40:10 2009 From: dinov at microsoft.com (Dino Viehland) Date: Thu, 8 Oct 2009 02:40:10 +0000 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <4ACD25A9.3010309@voidspace.org.uk> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB880A.2080407@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68D21@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACBB9DA.5090906@voidspace.org.uk> <4ACD25A9.3010309@voidspace.org.uk> Message-ID: <1A472770E042064698CB5ADC83A12ACD04A825A1@TK5EX14MBXC116.redmond.corp.microsoft.com> Michael wrote: > http://ironpython-urls.blogspot.com/2009/10/distributing-ironpython- > packages.html > > I hope to get committed to Python 2.6, as a compatibility fix, a > separate PEP 370 site-packages folder for IronPython - both in site.py > and distutils, plus get distutils compatible with IronPython. > > Not sure if I can get this done before IronPython 2.6 RTM, but assuming > I succeed the IronPython installer could create this directory if it > doesn't exist. I'll look at making sure our WiX scripts create the directory during install. For the "implementation specific folder to the path" are you thinking "IronPython\Python26\site-packages" or "Python\IronPython26\site-packages"? From merllab at microsoft.com Thu Oct 8 17:53:58 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Thu, 8 Oct 2009 08:53:58 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <3057609b-99b8-43f8-b88a-1b1e534e79a2@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/59860. MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/DebuggableLambdaBuilder.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs $/IronPython/IronPython_Main/Src/Tests/test_cliclass.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1200490 Date: 10/7/2009 4:42:18 PM (dinov) 24825 Reading __doc__ on System namespace gives strange error We need to special case __doc__ like other attributes Also fixing: A user reported error about Thread.Abort / doing a wait during a sys.settrace callback. We perform the callback inside of a finally which prevents Thread.Abort from ever returning on the thread if the wait is infinite. This was already reviewed by Igor off-line. Fix an issue w/ ScopeStorage when the binder returns something typed to something other than object (e.g. string). The conditional needs to have both sides typed to object. (Shelveset: StillMoreRC2BugFixes;REDMOND\dinov | SNAP CheckinId: 9570) From fuzzyman at voidspace.org.uk Thu Oct 8 18:05:15 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Thu, 08 Oct 2009 17:05:15 +0100 Subject: [IronPython] E: Default install location and site-packages In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04A825A1@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4ACB2DD7.8040808@voidspace.org.uk> <4ACB63E8.5030707@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68369@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB761A.503@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A689E8@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB817D.6050008@resolversystems.com> <4ACB83CE.6090105@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68AAD@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACB880A.2080407@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A68D21@TK5EX14MBXC116.redmond.corp.microsoft.com> <4ACBB9DA.5090906@voidspace.org.uk> <4ACD25A9.3010309@voidspace.org.uk> <1A472770E042064698CB5ADC83A12ACD04A825A1@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4ACE0DBB.4040507@voidspace.org.uk> Dino Viehland wrote: > Michael wrote: > >> http://ironpython-urls.blogspot.com/2009/10/distributing-ironpython- >> packages.html >> >> I hope to get committed to Python 2.6, as a compatibility fix, a >> separate PEP 370 site-packages folder for IronPython - both in site.py >> and distutils, plus get distutils compatible with IronPython. >> >> Not sure if I can get this done before IronPython 2.6 RTM, but assuming >> I succeed the IronPython installer could create this directory if it >> doesn't exist. >> > > I'll look at making sure our WiX scripts create the directory during > install. > > For the "implementation specific folder to the path" are you thinking > "IronPython\Python26\site-packages" or "Python\IronPython26\site-packages"? > There is a discussion about this on Python-dev at the moment. Christian Heimes (PEP 370 author) is suggesting "Python\IronPython26\site-packages" which would have been my suggestion anyway. It may require the implementation of sys.vm or similar - although whether adding a new sys attribute in a minor point release of Python 2.6 I'm not sure. Hopefully we'll get something into Python 2.6 though. Michael > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ From merllab at microsoft.com Fri Oct 9 17:53:19 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 9 Oct 2009 08:53:19 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <8a109dc8-ec51-4b56-a21a-3994bca79da5@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/59894. ADDED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst $/IronPython/IronPython_Main/Src/IronPython/Compiler/SharedGlobalAllocator.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/OperatorMapping.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_Main/Src/IronPython/Compiler/Parser.cs $/IronPython/IronPython_Main/Src/IronPythonTest/BindTest.cs $/IronPython/IronPython_Main/Src/Tests/test_cliclass.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1203421 Date: 10/8/2009 5:44:37 PM .NET interop docs From mjt at nysv.org Fri Oct 9 21:29:47 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 9 Oct 2009 22:29:47 +0300 Subject: [IronPython] Wildcard conf on IIS6 Message-ID: <20091009192947.GJ17007@nysv.org> Hi! The original thread seems to have withered out, so I'll make a new one. I'm still having the problems with getting wildcards configured on IIS6, so this is just an attempt to ask if someone who might have skipped the original thread might see this and have a clue on how to get it going :) Thanks! -- mjt From empirebuilder at gmail.com Sun Oct 11 16:05:28 2009 From: empirebuilder at gmail.com (Dody Gunawinata) Date: Sun, 11 Oct 2009 16:05:28 +0200 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <20091009192947.GJ17007@nysv.org> References: <20091009192947.GJ17007@nysv.org> Message-ID: <8cd017b80910110705q7dbbe551t1bc834e7550ecfd4@mail.gmail.com> There's no progress on my side yet and I am swamped at work :( It looks like Jeff's busy as well. 2009/10/9 Markus T?rnqvist > Hi! > > The original thread seems to have withered out, so I'll make a new one. > > I'm still having the problems with getting wildcards configured on IIS6, > so this is just an attempt to ask if someone who might have skipped > the original thread might see this and have a clue on how to get it > going :) > > Thanks! > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- nomadlife.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From merllab at microsoft.com Mon Oct 12 17:53:50 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Mon, 12 Oct 2009 08:53:50 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <16d680b3-a2ac-48da-a1b8-b80c255c5d90@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/59952. MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Interpreter.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.Generated.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompiler.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV2.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ObjectOperations.cs $/IronPython/IronPython_Main/Src/Scripts/generate_dynamic_instructions.py $/IronPython/IronPython_Main/Src/Tests/test_methodbinder1.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1206401 Date: 10/11/2009 5:15:15 PM .NET integration docs From william.shields at ubs.com Mon Oct 12 18:19:48 2009 From: william.shields at ubs.com (william.shields at ubs.com) Date: Mon, 12 Oct 2009 12:19:48 -0400 Subject: [IronPython] ipy.exe.config causing error "The system cannot execute the specified program." Message-ID: <85BF92DCA74F6849AB602F2A0D4559B711FE75E8@NSTMC101PEX1.ubsw.net> I was getting ready to post a problem because I've been struggling with this for a couple of days since I upgraded from IronPython 1.1 to 2.6. Finally just as I was composing this question it dawned on me to try something else and it worked. So I thought I should post the solution I found in case others have this same problem. Problem: I've got a DLL I use for my application that depends on values from the app.config file. When using IronPython 1.1 I just copied the appropriate app.config into my IP directory and renamed it ipy.exe.config and everything works as expected. Trying to do the exact same thing with IronPython 2.6 and then I get an error that says "The system cannot execute the specified program." C:\Program Files\IronPython 2.6>ipy The system cannot execute the specified program. Here is what my config file looked like. (I removed most of my settings) Solution: Remove the xmlns option on the configuration tag. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tyler at monkeypox.org Tue Oct 13 05:02:48 2009 From: tyler at monkeypox.org (tyler at monkeypox.org) Date: Mon, 12 Oct 2009 20:02:48 -0700 Subject: [IronPython] Curious about the development cycle and community involvement Message-ID: <20091013030248.GD5781@banana> Howdy, I'm a CPython developer by trade, but I've been watching IronPython evolve and have recently started playing around with 2.6rc1 for a number of smaller projects [1][2]. While evaluating IronPython, I've run across a couple of issues [3] that I think I'm capable of helping to fix but I notice that there's this note in the FAQ regarding external contributions: Does the IronPython Team accept back source contributions into the IronPython and DLR codebases? I'm curious as to whether this is still the case, FePy looks somewhat... sleepy/out-of-date. How does the CodePlex Foundation fit into this? Does it change things? I know for some other projects (Mono comes to mind) they require an MIT/X11 to commit to core and some paperwork with Novell (presumably so they have their bases covered for commercializing the IP). Is this something that might help open up IronPython to community contributions? Furthermore, to the tune of the "development cycle" it's quite unclear from the site how long the "release candidate" cycle is going to be before the final version of 2.6.0 is released; how long are these cycles typically? I'm really excited about the prospects of incorporating IronPython 2.6 into more of my projects (particularly on top of Mono), but I'd like to able to contribute back where I can to push the project forward. Appreciate any feedback/thoughts :) Cheers, -R. Tyler Ballance [1] http://github.com/rtyler/IronWatin [2] http://unethicalblogger.com/posts/2009/10/crazysnake_ironpython_and_java_just_monkeying_around [3] http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=24533 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: not available URL: From ddicato at microsoft.com Tue Oct 13 11:04:38 2009 From: ddicato at microsoft.com (David DiCato) Date: Tue, 13 Oct 2009 09:04:38 +0000 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: <20091013030248.GD5781@banana> References: <20091013030248.GD5781@banana> Message-ID: Very cool - it's always fulfilling for us to see this level of enthusiasm from our users. Unfortunately, the legal barriers to our accepting external contributions are still very much there, as explained in the FAQ (http://ironpython.codeplex.com/Wiki/View.aspx?title=FAQ). As for the CodePlex Foundation, my (limited) understanding is that it could only help the situation, but the organization is brand-new, and we'll have to wait for it to become more established. If you'd like more specific legal information, I'd be happy to relay your questions to the right people. In the meantime, simply reporting issues you're having with IronPython is one of the best ways to help us improve it. I saw the issue you referenced in [3], and I'm curious if you've run into any other problems through the course of your development. In general, we assign a higher priority to bugs that block a specific application, so you can still push the project forwards without actually writing the patches yourself. Finally, regarding our dev cycle, I'll refer you to our IronPython 2.6 Roadmap (http://ironpython.codeplex.com/Wiki/View.aspx?title=2.6%20Release%20Plan) for our scheduling estimates. The only caveat here is that we are also doing a RC 2 release, which will push back the final release date accordingly. - David -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of tyler at monkeypox.org Sent: Monday, October 12, 2009 8:03 PM To: users at lists.ironpython.com Subject: [IronPython] Curious about the development cycle and community involvement Howdy, I'm a CPython developer by trade, but I've been watching IronPython evolve and have recently started playing around with 2.6rc1 for a number of smaller projects [1][2]. While evaluating IronPython, I've run across a couple of issues [3] that I think I'm capable of helping to fix but I notice that there's this note in the FAQ regarding external contributions: Does the IronPython Team accept back source contributions into the IronPython and DLR codebases? I'm curious as to whether this is still the case, FePy looks somewhat... sleepy/out-of-date. How does the CodePlex Foundation fit into this? Does it change things? I know for some other projects (Mono comes to mind) they require an MIT/X11 to commit to core and some paperwork with Novell (presumably so they have their bases covered for commercializing the IP). Is this something that might help open up IronPython to community contributions? Furthermore, to the tune of the "development cycle" it's quite unclear from the site how long the "release candidate" cycle is going to be before the final version of 2.6.0 is released; how long are these cycles typically? I'm really excited about the prospects of incorporating IronPython 2.6 into more of my projects (particularly on top of Mono), but I'd like to able to contribute back where I can to push the project forward. Appreciate any feedback/thoughts :) Cheers, -R. Tyler Ballance [1] http://github.com/rtyler/IronWatin [2] http://unethicalblogger.com/posts/2009/10/crazysnake_ironpython_and_java_just_monkeying_around [3] http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=24533 From Jimmy.Schementi at microsoft.com Wed Oct 14 00:42:31 2009 From: Jimmy.Schementi at microsoft.com (Jimmy Schementi) Date: Tue, 13 Oct 2009 22:42:31 +0000 Subject: [IronPython] Nerd Dinner tonight in Redmond Message-ID: <0047ECBFA2E0DF4A834AA369282A5AFC1EEC9458@tk5ex14mbxc105.redmond.corp.microsoft.com> Please ignore if it's unfeasible for you to come to the Redmond campus tonight =P ----------------------------------------------- Anyone want to the nerd dinner tonight? It's open to anyone who wants to go. But you must register at this link: http://www.nerddinner.com/1142 When: Oct 13, 2009 @ 6:00 PM Where: 16070 NE 36th Way, Redmond, WA 98052, USA (Microsoft Campus Building 33) Description: Join us ON CAMPUS at Microsoft bldg 33, in the Kodiak room for FREE Pizza and Pop and to rub elbows with other geeks, nerds, Microsofties and Patterns & Practices Summit Attendees. Hosted by Scott Hanselman and open to the public. *Space is limited.* -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jimmy.Schementi at microsoft.com Wed Oct 14 00:54:55 2009 From: Jimmy.Schementi at microsoft.com (Jimmy Schementi) Date: Tue, 13 Oct 2009 22:54:55 +0000 Subject: [IronPython] [Ironruby-core] Nerd Dinner tonight in Redmond In-Reply-To: <790F1F63F5D2E44E91797E821B31FDBB02BA0234@hsi-fs.HSIHealth.local> References: <0047ECBFA2E0DF4A834AA369282A5AFC1EEC9458@tk5ex14mbxc105.redmond.corp.microsoft.com> <790F1F63F5D2E44E91797E821B31FDBB02BA0234@hsi-fs.HSIHealth.local> Message-ID: <0047ECBFA2E0DF4A834AA369282A5AFC1EEC94DF@tk5ex14mbxc105.redmond.corp.microsoft.com> I'm originally from NY, so hell no, it's soda to me. But yeah, they say pop out here ... it's really just a NE/SW thing: http://popvssoda.com:2998/ From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Nathan Stults Sent: Tuesday, October 13, 2009 3:50 PM To: ironruby-core at rubyforge.org; Discussionof IronPython Subject: Re: [Ironruby-core] Nerd Dinner tonight in Redmond I thought "pop" was a Midwestern concept. You guys don't really drink "pop" that far west do you? From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Jimmy Schementi Sent: Tuesday, October 13, 2009 3:43 PM To: ironruby-core at rubyforge.org; Discussionof IronPython Subject: [Ironruby-core] Nerd Dinner tonight in Redmond Please ignore if it's unfeasible for you to come to the Redmond campus tonight =P ----------------------------------------------- Anyone want to the nerd dinner tonight? It's open to anyone who wants to go. But you must register at this link: http://www.nerddinner.com/1142 When: Oct 13, 2009 @ 6:00 PM Where: 16070 NE 36th Way, Redmond, WA 98052, USA (Microsoft Campus Building 33) Description: Join us ON CAMPUS at Microsoft bldg 33, in the Kodiak room for FREE Pizza and Pop and to rub elbows with other geeks, nerds, Microsofties and Patterns & Practices Summit Attendees. Hosted by Scott Hanselman and open to the public. *Space is limited.* -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdhardy at gmail.com Wed Oct 14 03:28:17 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 13 Oct 2009 19:28:17 -0600 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <8cd017b80910110705q7dbbe551t1bc834e7550ecfd4@mail.gmail.com> References: <20091009192947.GJ17007@nysv.org> <8cd017b80910110705q7dbbe551t1bc834e7550ecfd4@mail.gmail.com> Message-ID: Yeah, sorry, I've been a bit crazy lately. I'll see if I can find some time in the next few days to whip up an example for you - I know that it works on IIS 6, because I made sure to test it when I was writing it. - Jeff On Sun, Oct 11, 2009 at 8:05 AM, Dody Gunawinata wrote: > There's no progress on my side yet and I am swamped at work :( It looks like > Jeff's busy as well. > > 2009/10/9 Markus T?rnqvist >> >> Hi! >> >> The original thread seems to have withered out, so I'll make a new one. >> >> I'm still having the problems with getting wildcards configured on IIS6, >> so this is just an attempt to ask if someone who might have skipped >> the original thread might see this and have a clue on how to get it >> going :) >> >> Thanks! >> >> -- >> mjt >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > -- > nomadlife.org > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > From tyler at monkeypox.org Wed Oct 14 07:52:08 2009 From: tyler at monkeypox.org (tyler at monkeypox.org) Date: Tue, 13 Oct 2009 22:52:08 -0700 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: References: <20091013030248.GD5781@banana> Message-ID: <20091014055208.GM9649@banana> On Tue, 13 Oct 2009, David DiCato wrote: > Very cool - it's always fulfilling for us to see this level of enthusiasm from our users. Unfortunately, the legal barriers to our accepting external contributions are still very much there, as explained in the FAQ (http://ironpython.codeplex.com/Wiki/View.aspx?title=FAQ). As for the CodePlex Foundation, my (limited) understanding is that it could only help the situation, but the organization is brand-new, and we'll have to wait for it to become more established. If you'd like more specific legal information, I'd be happy to relay your questions to the right people. Quite perplexing, I still don't understand the reasonings behind the iron curtain (puntastic!) between the community of IronPython users and the actual development of IronPython itself. I would be delighted if you could pass my questions along to the relevant legality-folks with regards to the CodePlex Foundation and the reasons behind the blockade of external contributions. I've signed legal disclosures to commit to other corporate backed projects in the past, depending on the terms, I've not got too major of an issue with it. > > In the meantime, simply reporting issues you're having with IronPython is one of the best ways to help us improve it. I saw the issue you referenced in [3], and I'm curious if you've run into any other problems through the course of your development. In general, we assign a higher priority to bugs that block a specific application, so you can still push the project forwards without actually writing the patches yourself. For our specific usecase, our options for JSON are: 1) Import and use System.Web.Script.Serialization.JavaScriptSerializer with the .Deserialize 2) Copy/paste the simplejson.py module into our tree 1 is kind of a non-starter since...I don't usually know what *type* the JSON string I'm trying to deserialize (JavaScriptSerializer.Deserialize() gives me a System.Collections.Generic.Dictionary in most cases, or a similarly generic/non-python type) 2 is gross, as you might assume. The project we're using IronPython previously (IronWatin, referenced previously) is really new, so I've not started incorporating a lot from the Python 2.6 standard library as of yet, so I can't comment on how much of a "blocker" it is since we've only seen it with the "json" module. That said, if relative imports are borked, you don't really meet the "2.6 compatibility" bullet on the roadmap ;) > Finally, regarding our dev cycle, I'll refer you to our IronPython 2.6 Roadmap (http://ironpython.codeplex.com/Wiki/View.aspx?title=2.6%20Release%20Plan) for our scheduling estimates. The only caveat here is that we are also doing a RC 2 release, which will push back the final release date accordingly. Thanks, this is helpful. One last question, if I were to run a fork of the Subversion tree (git-svn(1) woot) which branch should I be using? I see IronPython_Main and IronPython_2_6 in trunk/ and I'm not sure which contains active development. Cheers > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of tyler at monkeypox.org > Sent: Monday, October 12, 2009 8:03 PM > To: users at lists.ironpython.com > Subject: [IronPython] Curious about the development cycle and community involvement > > Howdy, I'm a CPython developer by trade, but I've been watching IronPython evolve and have recently started playing around with 2.6rc1 for a number of smaller projects [1][2]. > > While evaluating IronPython, I've run across a couple of issues [3] that I think I'm capable of helping to fix but I notice that there's this note in the FAQ regarding external contributions: > > Does the IronPython Team accept back source contributions into the IronPython and DLR codebases? > > I'm curious as to whether this is still the case, FePy looks somewhat... > sleepy/out-of-date. How does the CodePlex Foundation fit into this? Does it change things? > > I know for some other projects (Mono comes to mind) they require an > MIT/X11 to commit to core and some paperwork with Novell (presumably so they have their bases covered for commercializing the IP). Is this something that might help open up IronPython to community contributions? > > > Furthermore, to the tune of the "development cycle" it's quite unclear from the site how long the "release candidate" cycle is going to be before the final version of 2.6.0 is released; how long are these cycles typically? > > > I'm really excited about the prospects of incorporating IronPython 2.6 into more of my projects (particularly on top of Mono), but I'd like to able to contribute back where I can to push the project forward. > > > Appreciate any feedback/thoughts :) > > > Cheers, > -R. Tyler Ballance > > [1] http://github.com/rtyler/IronWatin > [2] http://unethicalblogger.com/posts/2009/10/crazysnake_ironpython_and_java_just_monkeying_around > [3] http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=24533 > -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: not available URL: From sanxiyn at gmail.com Wed Oct 14 12:31:24 2009 From: sanxiyn at gmail.com (Seo Sanghyeon) Date: Wed, 14 Oct 2009 19:31:24 +0900 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: <20091014055208.GM9649@banana> References: <20091013030248.GD5781@banana> <20091014055208.GM9649@banana> Message-ID: <5b0248170910140331n6bb239e4rd5ff613218ebf078@mail.gmail.com> 2009/10/14 : > One last question, if I were to run a fork of the Subversion tree > (git-svn(1) woot) which branch should I be using? I see IronPython_Main > and IronPython_2_6 in trunk/ and I'm not sure which contains active > development. IronPython_Main does. -- Seo Sanghyeon From fuzzyman at voidspace.org.uk Wed Oct 14 12:46:35 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Wed, 14 Oct 2009 11:46:35 +0100 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: <20091014055208.GM9649@banana> References: <20091013030248.GD5781@banana> <20091014055208.GM9649@banana> Message-ID: <4AD5AC0B.5070205@voidspace.org.uk> tyler at monkeypox.org wrote: > On Tue, 13 Oct 2009, David DiCato wrote: > > >> Very cool - it's always fulfilling for us to see this level of enthusiasm from our users. Unfortunately, the legal barriers to our accepting external contributions are still very much there, as explained in the FAQ (http://ironpython.codeplex.com/Wiki/View.aspx?title=FAQ). As for the CodePlex Foundation, my (limited) understanding is that it could only help the situation, but the organization is brand-new, and we'll have to wait for it to become more established. If you'd like more specific legal information, I'd be happy to relay your questions to the right people. >> > > Quite perplexing, I still don't understand the reasonings behind the > iron curtain (puntastic!) between the community of IronPython users and > the actual development of IronPython itself. I would be delighted if you > could pass my questions along to the relevant legality-folks with > regards to the CodePlex Foundation and the reasons behind the blockade > of external contributions. > > I've signed legal disclosures to commit to other corporate backed > projects in the past, depending on the terms, I've not got too major of > an issue with it. > The IronPython team are well aware of the frustrating nature of the restriction - and are just as frustrated as we are. The reason for the restriction is that Microsoft has been sued in the past (and lost) for shipping code written by third parties that they *thought* they owned the rights to but didn't (they'd paid for the rights but the people doing the selling didn't actually own the code - and of course Microsoft are a much better target to sue than the people who sold the code). In result any decision to ship third party code has to go through the Microsoft legal department. Whilst this has been done for the IronRuby project it has never happened for the (older) IronPython project. This is something that the Codeplex Foundation *may* help with once it matures. > >> In the meantime, simply reporting issues you're having with IronPython is one of the best ways to help us improve it. I saw the issue you referenced in [3], and I'm curious if you've run into any other problems through the course of your development. In general, we assign a higher priority to bugs that block a specific application, so you can still push the project forwards without actually writing the patches yourself. >> > > > For our specific usecase, our options for JSON are: > 1) Import and use System.Web.Script.Serialization.JavaScriptSerializer > with the .Deserialize > 2) Copy/paste the simplejson.py module into our tree > > 1 is kind of a non-starter since...I don't usually know what *type* the > JSON string I'm trying to deserialize > (JavaScriptSerializer.Deserialize() gives me a > System.Collections.Generic.Dictionary in most cases, or a similarly > generic/non-python type) > > 2 is gross, as you might assume. > > Why is having a third party dependency 'gross'? It seems quite normal. > The project we're using IronPython previously (IronWatin, referenced > previously) is really new, so I've not started incorporating a lot from > the Python 2.6 standard library as of yet, so I can't comment on how > much of a "blocker" it is since we've only seen it with the "json" > module. > > That said, if relative imports are borked, you don't really meet the > "2.6 compatibility" bullet on the roadmap ;) > That statement I would agree with... All the best, Michael > > >> Finally, regarding our dev cycle, I'll refer you to our IronPython 2.6 Roadmap (http://ironpython.codeplex.com/Wiki/View.aspx?title=2.6%20Release%20Plan) for our scheduling estimates. The only caveat here is that we are also doing a RC 2 release, which will push back the final release date accordingly. >> > > Thanks, this is helpful. > > > One last question, if I were to run a fork of the Subversion tree > (git-svn(1) woot) which branch should I be using? I see IronPython_Main > and IronPython_2_6 in trunk/ and I'm not sure which contains active > development. > > > > Cheers > > > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of tyler at monkeypox.org >> Sent: Monday, October 12, 2009 8:03 PM >> To: users at lists.ironpython.com >> Subject: [IronPython] Curious about the development cycle and community involvement >> >> Howdy, I'm a CPython developer by trade, but I've been watching IronPython evolve and have recently started playing around with 2.6rc1 for a number of smaller projects [1][2]. >> >> While evaluating IronPython, I've run across a couple of issues [3] that I think I'm capable of helping to fix but I notice that there's this note in the FAQ regarding external contributions: >> >> Does the IronPython Team accept back source contributions into the IronPython and DLR codebases? >> >> I'm curious as to whether this is still the case, FePy looks somewhat... >> sleepy/out-of-date. How does the CodePlex Foundation fit into this? Does it change things? >> >> I know for some other projects (Mono comes to mind) they require an >> MIT/X11 to commit to core and some paperwork with Novell (presumably so they have their bases covered for commercializing the IP). Is this something that might help open up IronPython to community contributions? >> >> >> Furthermore, to the tune of the "development cycle" it's quite unclear from the site how long the "release candidate" cycle is going to be before the final version of 2.6.0 is released; how long are these cycles typically? >> >> >> I'm really excited about the prospects of incorporating IronPython 2.6 into more of my projects (particularly on top of Mono), but I'd like to able to contribute back where I can to push the project forward. >> >> >> Appreciate any feedback/thoughts :) >> >> >> Cheers, >> -R. Tyler Ballance >> >> [1] http://github.com/rtyler/IronWatin >> [2] http://unethicalblogger.com/posts/2009/10/crazysnake_ironpython_and_java_just_monkeying_around >> [3] http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=24533 >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> -- http://www.ironpythoninaction.com/ From glenn.k.jones+ipy at gmail.com Wed Oct 14 17:49:16 2009 From: glenn.k.jones+ipy at gmail.com (Glenn Jones) Date: Wed, 14 Oct 2009 16:49:16 +0100 Subject: [IronPython] Trouble with 2.6 RC1 Message-ID: <2679f6510910140849i6d8728c0xb4b3554824965044@mail.gmail.com> Hi guys, I have just run across a problem with sets and iteration. I haven't managed to make a repo that doesn't include most of our source, but a little investigation has shown that in SetIterator.Current, there is a test to see whether the current element is still in the enumerator (!_items.Contains(_enumerator.Current)). This is failing when I believe it shouldn't. I have thrown in some debugging code to compare the elements of _items against _enumerator.Current using == and that returns true for one of the elements when .Contains is returning False. This is a blocker for us at Resolver because a workaround would require quite a lot of work. Thanks Glenn -------------- next part -------------- An HTML attachment was scrubbed... URL: From merllab at microsoft.com Wed Oct 14 17:57:43 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Wed, 14 Oct 2009 08:57:43 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: 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/60075. MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/ComInterop/Variant.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/ComInterop/ComRuntimeHelpers.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonTypeDataSlot.cs $/IronPython/IronPython_Main/Doc/IronPython.css $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/MethodCallExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/MemberExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/GotoExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Actions/CallInfo.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Actions/DynamicObject.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/Expression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/CatchBlock.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/DynamicExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/LambdaExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Actions/DynamicMetaObjectBinder.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Actions/CallSite.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/LoopExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/IndexExpression.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonProtocol.Operations.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/MetaPythonType.Members.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/ReflectedExtensionProperty.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/OldInstance.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/PythonOps.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/CustomTypeDescHelpers.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Utils/ContractUtils.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.Core.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Compiler/ILGen.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/NewArrayExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/UnaryExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/ParameterExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/TypeBinaryExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Ast/SwitchExpression.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Utils/ExceptionFactory.Generated.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_Main/Src/Tests/interop/net/type/test_defaultmember.py $/IronPython/IronPython_Main/Src/Scripts/generate_comdispatch.py $/IronPython/IronPython_Main/Src/Tests/test_cliclass.py $/IronPython/IronPython_Main/Tutorial/Tutorial.htm CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1210508 Date: 10/13/2009 10:53:13 PM .NET integration docs -------------------------------------------------------------------------------- Changeset Id: 1210289 Date: 10/13/2009 6:47:55 PM (ddicato) Updates tutorial and samples for IronPython 2.6 Fixes and cleans up some AttributeError message generation, in particular some AttributeError messages on old-style classes and instances which didn't match CPython GetPropertiesImpl now looks in OldInstance's dictionary before falling back to ObjectOps.__getattribute__ 19510 - Need to recognize DefaultMemberAttribute for __getitem__/__setitem__ GetMember now checks for DefaultMemberAttribute and gets the appropriate property's getter/setter method (Shelveset: SamplesAndFixes;REDMOND\ddicato | SNAP CheckinId: 9604) From dinov at microsoft.com Wed Oct 14 18:56:09 2009 From: dinov at microsoft.com (Dino Viehland) Date: Wed, 14 Oct 2009 16:56:09 +0000 Subject: [IronPython] Trouble with 2.6 RC1 In-Reply-To: <2679f6510910140849i6d8728c0xb4b3554824965044@mail.gmail.com> References: <2679f6510910140849i6d8728c0xb4b3554824965044@mail.gmail.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04ACDEA2@TK5EX14MBXC116.redmond.corp.microsoft.com> Is the object in the set a user-defined object of some sort (or say a tuple of a user defined object)? And if there is a user defined object does it override __hash__ / __eq__ and in particular is __hash__ stable over time? Also can you see what _items._hashFunc and _items._eqFunc are (in particular what the method is)? From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Glenn Jones Sent: Wednesday, October 14, 2009 8:49 AM To: users at lists.ironpython.com Subject: [IronPython] Trouble with 2.6 RC1 Hi guys, I have just run across a problem with sets and iteration. I haven't managed to make a repo that doesn't include most of our source, but a little investigation has shown that in SetIterator.Current, there is a test to see whether the current element is still in the enumerator (!_items.Contains(_enumerator.Current)). This is failing when I believe it shouldn't. I have thrown in some debugging code to compare the elements of _items against _enumerator.Current using == and that returns true for one of the elements when .Contains is returning False. This is a blocker for us at Resolver because a workaround would require quite a lot of work. Thanks Glenn -------------- next part -------------- An HTML attachment was scrubbed... URL: From dinov at microsoft.com Wed Oct 14 19:46:13 2009 From: dinov at microsoft.com (Dino Viehland) Date: Wed, 14 Oct 2009 17:46:13 +0000 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: <20091014055208.GM9649@banana> References: <20091013030248.GD5781@banana> <20091014055208.GM9649@banana> Message-ID: <1A472770E042064698CB5ADC83A12ACD04ACE294@TK5EX14MBXC116.redmond.corp.microsoft.com> > That said, if relative imports are borked, you don't really meet the > "2.6 compatibility" bullet on the roadmap ;) This is a bug w/ relating to PEP 366 (Main module explicit relative imports). I've added a simple repro to the bug and will look at fixing it for RC2. That being said json isn't going to work w/ IronPython 2.6 The reason is that the json module relies upon CPython's sre_* modules instead of relying upon just the normal re module. We'll presumably need to re-implement all of json in order to make this work as we have no plans to implement sre as it's been deprecated in favor of re which we already implement. From tyler at monkeypox.org Wed Oct 14 20:02:15 2009 From: tyler at monkeypox.org (tyler at monkeypox.org) Date: Wed, 14 Oct 2009 11:02:15 -0700 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04ACE294@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <20091013030248.GD5781@banana> <20091014055208.GM9649@banana> <1A472770E042064698CB5ADC83A12ACD04ACE294@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <20091014180214.GN9649@banana> On Wed, 14 Oct 2009, Dino Viehland wrote: > > That said, if relative imports are borked, you don't really meet the > > "2.6 compatibility" bullet on the roadmap ;) > > This is a bug w/ relating to PEP 366 (Main module explicit relative > imports). I've added a simple repro to the bug and will look at fixing > it for RC2. Awesomepants. > That being said json isn't going to work w/ IronPython 2.6 The reason > is that the json module relies upon CPython's sre_* modules instead of > relying upon just the normal re module. We'll presumably need to > re-implement all of json in order to make this work as we have no plans > to implement sre as it's been deprecated in favor of re which we already > implement. Less than awesome. but a fair point. Do issues like this get logged back to bugs.python.org? (IMHO that's a bug with Python, no reason to use sre) That said, is there a fairly straightforward means of bridging collections like Dictionary and List to their python equivalent types? If so, than wrapping System.Web.Script.Serialization.JavaScriptSerializer would be a decent enough workaround for now IMHO. Thanks for the feedback, cj mention that you guys were good people ;) Cheers, -R. Tyler Ballance -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: not available URL: From dinov at microsoft.com Wed Oct 14 20:56:13 2009 From: dinov at microsoft.com (Dino Viehland) Date: Wed, 14 Oct 2009 18:56:13 +0000 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: <20091014180214.GN9649@banana> References: <20091013030248.GD5781@banana> <20091014055208.GM9649@banana> <1A472770E042064698CB5ADC83A12ACD04ACE294@TK5EX14MBXC116.redmond.corp.microsoft.com> <20091014180214.GN9649@banana> Message-ID: <1A472770E042064698CB5ADC83A12ACD04ACE691@TK5EX14MBXC116.redmond.corp.microsoft.com> Tyler wrote: > Less than awesome. but a fair point. Do issues like this get logged back to > bugs.python.org? (IMHO that's a bug with Python, no reason to use > sre) It depends upon the issue. In this case I haven't logged something yet as I just realized this last week and haven't investigated it very thoroughly. I've gone ahead and opened a bug (http://bugs.python.org/issue7130). It looks like Jython actually implements _sre so we'll see how this goes. > > That said, is there a fairly straightforward means of bridging collections > like Dictionary and List to their python equivalent types? If so, than > wrapping System.Web.Script.Serialization.JavaScriptSerializer would be a > decent enough workaround for now IMHO. Ok, after getting a fix for the relative imports it appears I have spoken too soon. Encoding to json works just fine w/ the json module, only decoding doesn't work. I guess that makes sense - you wouldn't use regexes for encoding :) So if you just need to encode you're good to go. As far as a bridge we do already bridge our dictionaries and lists w/ normal .NET dictionaries and lists in a variety of ways. For starters they are IDictionary/IDictionary and IList/IList. Also if we're calling a method which takes an IDictionary or an IList we'll create a wrapper which converts the objects on the fly. Apparently neither of those help with the JavaScript serializer though! It does look like you can do: dict(a.Deserialize[Dictionary[object, object]](a.Serialize(Dictionary[object, object]({"foo":42})))) so you just need to convert the python objects to their .NET equivalents on the way in and out which isn't too bad. I don't think there's much else we can do directly other than asking the team that owns that to support IDictionary and IList in addition to the concrete types. From merllab at microsoft.com Wed Oct 14 21:11:20 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Wed, 14 Oct 2009 12:11:20 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: 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/60083. ADDED SOURCES $/IronPython/IronPython_2_6/Doc/dotnet-integration.rst $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Stubs.cs MODIFIED SOURCES $/IronPython/IronPython_2_6/Doc/dotnet-integration.rst $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/Instruction.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Actions/ActionBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/TypeUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/HashSet.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/Variant.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComRuntimeHelpers.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV2.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/Interpreter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompiler.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Actions/CallInfo.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/_ctypes/CFuncPtr.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/IronPython.Modules.csproj $/IronPython/IronPython_2_6/Src/IronPython.Modules/cPickle.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/BuiltinMethodDescriptor.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/DynamicBaseTypeAttribute.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/OperatorMapping.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/StringOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Exceptions/TraceBack.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Generator.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonOptions.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonTracebackListener.cs $/IronPython/IronPython_2_6/Src/IronPython/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/Parser.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/SharedGlobalAllocator.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/RunnableScriptCode.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/OnDiskScriptCode.cs $/IronPython/IronPython_2_6/Src/IronPython/IronPython.csproj $/IronPython/IronPython_2_6/Src/IronPythonTest/IronPythonTest.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/Chiron.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserVirtualFilesystem.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Chiron/XapBuilder.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserScriptHost.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/PlatformAdaptationLayer.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Hosting/ObjectOperations.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Utils/ExceptionFactory.Generated.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/CatchBlock.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/TypeBinaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/NewArrayExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/Expression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/LambdaExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/SwitchExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Actions/CallSite.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Compiler/ILGen.cs $/IronPython/IronPython_2_6/Src/IronPythonTest/BindTest.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Repl.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj $/IronPython/IronPython_2_6/Src/IronPythonConsole/Console.cs $/IronPython/IronPython_2_6/Src/IronPython.Modules/time.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/PythonOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/ObjectOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/PythonFile.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Importer.cs $/IronPython/IronPython_2_6/Src/IronPython/Modules/imp.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/Ast/AstGenerator.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/RuntimeScriptCode.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicAppManifest.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/NewTypeMaker.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/NewStringFormatter.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/PythonScriptCode.cs $/IronPython/IronPython_2_6/Src/IronPython/Compiler/DictionaryGlobalAllocator.cs $/IronPython/IronPython_2_6/Src/IronPythonTest/EngineTest.cs $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/ErrorFormatter.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.Core.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/MemberExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/GotoExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/UnaryExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/LoopExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Actions/DynamicObject.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Compiler/BoundConstants.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.ExtensionAttribute.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/DebuggableLambdaBuilder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Utils/ContractUtils.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/ParameterExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/MethodCallExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/IndexExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Ast/DynamicExpression.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Stubs.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs $/IronPython/IronPython_2_6/Src/Tests/test_cliclass.py $/IronPython/IronPython_2_6/Src/Tests/test_cPickle.py $/IronPython/IronPython_2_6/Src/Scripts/generate_dynamic_instructions.py $/IronPython/IronPython_2_6/Src/Scripts/generate_comdispatch.py $/IronPython/IronPython_2_6/Src/Tests/ClrAssembly/ClrAssembly.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs $/IronPython/IronPython_2_6/Src/Tests/test_methodbinder1.py $/IronPython/IronPython_2_6/Src/Tests/test_imp.py $/IronPython/IronPython_2_6/Src/Tests/test_strformat.py $/IronPython/IronPython_2_6/Src/Tests/test_methoddispatch.py $/IronPython/IronPython_2_6/Src/Tests/test_syntax.py $/IronPython/IronPython_2_6/Src/Tests/test_sys.py From ecullen at fibertel.com.ar Thu Oct 15 04:09:25 2009 From: ecullen at fibertel.com.ar (Ernesto Cullen) Date: Wed, 14 Oct 2009 23:09:25 -0300 Subject: [IronPython] problems to migrate from Ipy 1.1 to 2.6rc1 Message-ID: <4AD68455.3050202@fibertel.com.ar> hi all, I am trying to update an app which uses IronPython 1.1 to latest Ipy 2.6rc1. I need the assemblies signed, so I have to build the sources. I had following problems: - The projects are saved with ToolsVersion="4.0", and VS2008sp1 refuses to open them. I had to change manually all project files to ToolsVersion="3.5" - I use Ipy from a signed assembly so I need Ipy to be signed too. I had to change manually the references to 'MSSharedLibdelaySigned.snk' in Src directory, is that key ok? I do not set the option 'delay sign'. - after setting all projects to 'signed', I was able to compile IronPython. But then I can not load these assemblies, i get a Strong Name validation exception: Could not load file or assembly 'IronPython, Version=2.6.10920.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) I don't know where to look to. I have .net 2.0 and 3.5sp1 installed, though clrver (SDK v6.0A) gives me only v1.1.4322 and v2.0.50727. gacutil does not show Ipy installed. any clues? Ernesto Cullen -- Tell me and I forget. Teach me and I remember. Involve me and I learn. Benjamin Franklin From Jimmy.Schementi at microsoft.com Thu Oct 15 04:38:30 2009 From: Jimmy.Schementi at microsoft.com (Jimmy Schementi) Date: Thu, 15 Oct 2009 02:38:30 +0000 Subject: [IronPython] problems to migrate from Ipy 1.1 to 2.6rc1 In-Reply-To: <4AD68455.3050202@fibertel.com.ar> References: <4AD68455.3050202@fibertel.com.ar> Message-ID: <0047ECBFA2E0DF4A834AA369282A5AFC1EECA76E@tk5ex14mbxc105.redmond.corp.microsoft.com> Ernesto Cullen wrote: >>> I need the assemblies signed, so I have to build the sources With any key, or your own key? The IronPython 2.6 RC1 contains signed assemblies with the key we always sign releases with, so if you just need them to be signed those are the ones I'd suggest using; you do not need to build from source. Feel free to read on if there is some other reason to build from sources ... ... ... ... >>> The projects are saved with ToolsVersion="4.0", and VS2008sp1 refuses to open them. I had to change manually all project files to ToolsVersion="3.5" We all use .NET 3.5 and VS2008 SP1 on our dev machines here, so I know the project files will open; the "4.0" tools version is just a hack to make the same project files build on .NET 4.0 as well. It may complain about the version number, but it will definitely open and build. Tomas, is there anything you did to make our tools less strict about the version # (I thought not). >>> I had to change manually the references to 'MSSharedLibdelaySigned.snk' in Src directory, is that key ok? I do not set the option 'delay sign'. That is only a public key; you'd need your own public/private key to fully sign the assemblies yourself. Even though you are trying to fully sign them, they will be left in a delay-signed state since there is no public key. I assume you just want them signed with the key the releases are signed with, so again I suggest just using those. >>> But then I cannot load these assemblies, i get a Strong Name validation exception These assemblies are now delay-signed, so you need to tell .NET not to care about that and treat them as fully signed; "sn.exe" does that for you: sn -Vr *,31bf3856ad364e35 If sn.exe is not on your path, it's located on my 32-bit machine here: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sn.exe. This skips-verification for ANY assembly with that public key token, so it may be a bit overkill, so feel free to specify the exact assemblies if you want. ~Jimmy From Tomas.Matousek at microsoft.com Thu Oct 15 05:28:01 2009 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Thu, 15 Oct 2009 03:28:01 +0000 Subject: [IronPython] problems to migrate from Ipy 1.1 to 2.6rc1 In-Reply-To: <0047ECBFA2E0DF4A834AA369282A5AFC1EECA76E@tk5ex14mbxc105.redmond.corp.microsoft.com> References: <4AD68455.3050202@fibertel.com.ar> <0047ECBFA2E0DF4A834AA369282A5AFC1EECA76E@tk5ex14mbxc105.redmond.corp.microsoft.com> Message-ID: <4B342496A3EFEB48839E10BB4BF5964C06712A3A@TK5EX14MBXC131.redmond.corp.microsoft.com> " Tomas, is there anything you did to make our tools less strict about the version # (I thought not)" No, there is nothing special needed, just VS2008 SP1. I have no idea why VS2008 refuses to open them. What error do you get? Tomas -----Original Message----- From: Jimmy Schementi Sent: Wednesday, October 14, 2009 7:39 PM To: Discussion of IronPython Cc: Tomas Matousek Subject: RE: [IronPython] problems to migrate from Ipy 1.1 to 2.6rc1 Ernesto Cullen wrote: >>> I need the assemblies signed, so I have to build the sources With any key, or your own key? The IronPython 2.6 RC1 contains signed assemblies with the key we always sign releases with, so if you just need them to be signed those are the ones I'd suggest using; you do not need to build from source. Feel free to read on if there is some other reason to build from sources ... ... ... ... >>> The projects are saved with ToolsVersion="4.0", and VS2008sp1 refuses to open them. I had to change manually all project files to ToolsVersion="3.5" We all use .NET 3.5 and VS2008 SP1 on our dev machines here, so I know the project files will open; the "4.0" tools version is just a hack to make the same project files build on .NET 4.0 as well. It may complain about the version number, but it will definitely open and build. Tomas, is there anything you did to make our tools less strict about the version # (I thought not). >>> I had to change manually the references to 'MSSharedLibdelaySigned.snk' in Src directory, is that key ok? I do not set the option 'delay sign'. That is only a public key; you'd need your own public/private key to fully sign the assemblies yourself. Even though you are trying to fully sign them, they will be left in a delay-signed state since there is no public key. I assume you just want them signed with the key the releases are signed with, so again I suggest just using those. >>> But then I cannot load these assemblies, i get a Strong Name >>> validation exception These assemblies are now delay-signed, so you need to tell .NET not to care about that and treat them as fully signed; "sn.exe" does that for you: sn -Vr *,31bf3856ad364e35 If sn.exe is not on your path, it's located on my 32-bit machine here: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sn.exe. This skips-verification for ANY assembly with that public key token, so it may be a bit overkill, so feel free to specify the exact assemblies if you want. ~Jimmy From calmasy at gmail.com Thu Oct 15 09:08:51 2009 From: calmasy at gmail.com (=?ISO-8859-1?Q?Count_L=E1szl=F3_de_Alm=E1sy?=) Date: Thu, 15 Oct 2009 01:08:51 -0600 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: References: <20091013030248.GD5781@banana> Message-ID: from the FAQ-- "there are a few key benefits to limiting IronPython checkins to Microsoft employees. The most important being that some of our users have stated that they would be unable to install IronPython if it contained non-Microsoft intellectual property due to their employers' policies. We'd like to enable as many people as possible to utilize IronPython, and feel this is a bit more important than taking back contributions" i have to say, that's some of the oddest logic i've seen in quite a long time. those few users with the restrictive employer policies must be pretty important to outweigh the value of community code contributions. -- Cheers, L?szl? From vernondcole at gmail.com Thu Oct 15 09:45:32 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Thu, 15 Oct 2009 01:45:32 -0600 Subject: [IronPython] Curious about the development cycle and community involvement In-Reply-To: References: <20091013030248.GD5781@banana> Message-ID: There are many (otherwise intelligent seeming) managers with just such confused opinions about software. Some managers at the company I worked for until recently did not trust any open source code "because it might be insecure." Therefore, I was not supposed to use CPython, but IronPython was okay because it was a Microsoft product, and therefor secure. For the same reason I was not supposed to use Linux. IMHO such idiots should be eternally condemned to use Visual Basic. The thing is, Microsoft's lawyers could find a way to adopt submitted software as their own intellectual property if they wanted to. They could make a token payment to the submitter, for example, or have the submitter simply relinquish all rights to Microsoft. Lawyers can do all sorts of weird things, which make no sense to ordinary mortals. I am married to a lawyer and I still can't understand how she thinks. (Then again, I couldn't understand her before she got her law degree, either.) One thing I have learned from her is that a good lawyer can take either side of any legal issue and make a convincing case of it. I think the only answer is to keep expressing the thought to management that the "no outside submission" policy makes the company look stupid. Then, someday, they will tell the lawyers to fix it, and it will get fixed. -- Vernon Cole On Thu, Oct 15, 2009 at 1:08 AM, Count L?szl? de Alm?sy wrote: > from the FAQ-- > "there are a few key benefits to limiting IronPython checkins to > Microsoft employees. The most important being that some of our users > have stated that they would be unable to install IronPython if it > contained non-Microsoft intellectual property due to their employers' > policies. We'd like to enable as many people as possible to utilize > IronPython, and feel this is a bit more important than taking back > contributions" > > i have to say, that's some of the oddest logic i've seen in quite a > long time. those few users with the restrictive employer policies must > be pretty important to outweigh the value of community code > contributions. > > -- > Cheers, L?szl? > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From merllab at microsoft.com Thu Oct 15 17:55:22 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Thu, 15 Oct 2009 08:55:22 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <3ceb2a89-78de-4ed2-8661-ae8c5a399112@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60135. MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/NewTypeMaker.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Utils/ReflectionUtils.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/DebuggableLambdaBuilder.cs From tartley at tartley.com Fri Oct 16 14:16:01 2009 From: tartley at tartley.com (Jonathan Hartley) Date: Fri, 16 Oct 2009 13:16:01 +0100 Subject: [IronPython] I can't install the MSI for IP2.6 RC1 Message-ID: <4AD86401.8040507@tartley.com> Hey there. I can't install the IP2.6 RC1 msi. When the install is mostly done, it suddenly fails and rolls back. I can use the binary zip file instead of the msi, but wanted to ask if this is a problem anyone else was having. At the end of the failed install and roll-back it produces a dialog: IromPython 2.6 Setup Wizard ended prematurely because of an error. So I got a logfile of the install: msiexec /i IronPython-2.6.msi /log install.log which produces verbose output, including: ... Action 15:50:17: RollbackCleanup. Removing backup files ExecNetFx: Error 0x80070005: Command failed to execute. ExecNetFx: Error 0x80070005: failed to execute Ngen command: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 Action 15:50:17: Rollback. Rolling back action: Rollback: Publishing product information ... Action ended 15:50:25: InstallFinalize. Return value 3. Action ended 15:50:25: INSTALL. Return value 3. ... Action ended 15:50:25: ExecuteAction. Return value 3. Action 15:50:25: FatalError. ... Action ended 15:59:24: FatalError. Return value 2. Action ended 15:59:24: INSTALL. Return value 3. ... MSI (c) (28:6C) [15:59:24:453]: Product: IronPython 2.6 -- Installation failed. I'd like to try running the allegedly failing ngen command from a prompt: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 but of course since the install rolls back, the file "Microsoft.Scripting.dll" no longer exists, so I can't. However, I can manually ngen *other* assemblies using a command exactly like this. The path to ngen.exe is correct, and the parameters to the command are correct, so I don't understand why this ngen might be failing. Upon further investigation, trying to *un*install the IP2.0.2 msi also fails and does the same thing. I currently don't know how I'm going to get that uninstalled except by some sort of 'rm -rf' style extreme prejudice. Install and uninstall of other programs seems to work ok. Is it just me? Thoughts very welcome. Jonathan -- Jonathan Hartley Made of meat. http://tartley.com tartley at tartley.com +44 7737 062 225 twitter/skype: tartley From merllab at microsoft.com Fri Oct 16 17:55:00 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 16 Oct 2009 08:55:00 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <1e64d5e2-c070-486a-80ec-69b0d093cea0@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/60200. MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst $/IronPython/IronPython_Main/Src/Tests/check_result.bat $/IronPython/IronPython_Main/Src/Tests/Modes/ConsoleFlags.ps1 $/IronPython/IronPython_Main/Src/Tests/run_transformed.bat CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1217033 Date: 10/15/2009 1:36:54 PM .NET interop documentation From dinov at microsoft.com Fri Oct 16 18:26:19 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 16 Oct 2009 16:26:19 +0000 Subject: [IronPython] I can't install the MSI for IP2.6 RC1 In-Reply-To: <4AD86401.8040507@tartley.com> References: <4AD86401.8040507@tartley.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04AE7CD2@TK5EX14MBXC116.redmond.corp.microsoft.com> Does ngen work if you run it on the binaries in the zip file? > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > Sent: Friday, October 16, 2009 5:16 AM > To: users at lists.ironpython.com > Subject: [IronPython] I can't install the MSI for IP2.6 RC1 > > Hey there. > > I can't install the IP2.6 RC1 msi. When the install is mostly done, it > suddenly fails and rolls back. I can use the binary zip file instead of > the msi, but wanted to ask if this is a problem anyone else was having. > > At the end of the failed install and roll-back it produces a dialog: > > IromPython 2.6 Setup Wizard ended prematurely > because of an error. > > So I got a logfile of the install: > > msiexec /i IronPython-2.6.msi /log install.log > > which produces verbose output, including: > > ... > Action 15:50:17: RollbackCleanup. Removing backup files > ExecNetFx: Error 0x80070005: Command failed to execute. > ExecNetFx: Error 0x80070005: failed to execute Ngen command: > C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install > "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 > Action 15:50:17: Rollback. Rolling back action: > Rollback: Publishing product information > ... > Action ended 15:50:25: InstallFinalize. Return value 3. > Action ended 15:50:25: INSTALL. Return value 3. > ... > Action ended 15:50:25: ExecuteAction. Return value 3. > Action 15:50:25: FatalError. > ... > Action ended 15:59:24: FatalError. Return value 2. > Action ended 15:59:24: INSTALL. Return value 3. > ... > MSI (c) (28:6C) [15:59:24:453]: Product: IronPython 2.6 -- Installation > failed. > > > I'd like to try running the allegedly failing ngen command from a prompt: > > C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install > "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 > > but of course since the install rolls back, the file > "Microsoft.Scripting.dll" no longer exists, so I can't. However, I can > manually ngen *other* assemblies using a command exactly like this. The > path to ngen.exe is correct, and the parameters to the command are > correct, so I don't understand why this ngen might be failing. > > Upon further investigation, trying to *un*install the IP2.0.2 msi also > fails and does the same thing. I currently don't know how I'm going to > get that uninstalled except by some sort of 'rm -rf' style extreme > prejudice. > > Install and uninstall of other programs seems to work ok. > > Is it just me? Thoughts very welcome. > > Jonathan > > -- > Jonathan Hartley Made of meat. http://tartley.com > tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From tartley at tartley.com Fri Oct 16 19:00:21 2009 From: tartley at tartley.com (Jonathan Hartley) Date: Fri, 16 Oct 2009 18:00:21 +0100 Subject: [IronPython] I can't install the MSI for IP2.6 RC1 In-Reply-To: <5123850.1255710504682.JavaMail.root@n17> References: <4AD86401.8040507@tartley.com> <5123850.1255710504682.JavaMail.root@n17> Message-ID: <4AD8A6A5.8030805@tartley.com> Ah, excellent question. Yes, after copying the binary zip contents to C:\Program Files\IronPython-2.6, I can cut and past the ngen command below (but change the space in that command before '2.6' into a hyphen) and it works fine. Puzzled. Dino Viehland wrote: > Does ngen work if you run it on the binaries in the zip file? > > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley >> Sent: Friday, October 16, 2009 5:16 AM >> To: users at lists.ironpython.com >> Subject: [IronPython] I can't install the MSI for IP2.6 RC1 >> >> Hey there. >> >> I can't install the IP2.6 RC1 msi. When the install is mostly done, it >> suddenly fails and rolls back. I can use the binary zip file instead of >> the msi, but wanted to ask if this is a problem anyone else was having. >> >> At the end of the failed install and roll-back it produces a dialog: >> >> IromPython 2.6 Setup Wizard ended prematurely >> because of an error. >> >> So I got a logfile of the install: >> >> msiexec /i IronPython-2.6.msi /log install.log >> >> which produces verbose output, including: >> >> ... >> Action 15:50:17: RollbackCleanup. Removing backup files >> ExecNetFx: Error 0x80070005: Command failed to execute. >> ExecNetFx: Error 0x80070005: failed to execute Ngen command: >> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install >> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 >> Action 15:50:17: Rollback. Rolling back action: >> Rollback: Publishing product information >> ... >> Action ended 15:50:25: InstallFinalize. Return value 3. >> Action ended 15:50:25: INSTALL. Return value 3. >> ... >> Action ended 15:50:25: ExecuteAction. Return value 3. >> Action 15:50:25: FatalError. >> ... >> Action ended 15:59:24: FatalError. Return value 2. >> Action ended 15:59:24: INSTALL. Return value 3. >> ... >> MSI (c) (28:6C) [15:59:24:453]: Product: IronPython 2.6 -- Installation >> failed. >> >> >> I'd like to try running the allegedly failing ngen command from a prompt: >> >> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install >> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 >> >> but of course since the install rolls back, the file >> "Microsoft.Scripting.dll" no longer exists, so I can't. However, I can >> manually ngen *other* assemblies using a command exactly like this. The >> path to ngen.exe is correct, and the parameters to the command are >> correct, so I don't understand why this ngen might be failing. >> >> Upon further investigation, trying to *un*install the IP2.0.2 msi also >> fails and does the same thing. I currently don't know how I'm going to >> get that uninstalled except by some sort of 'rm -rf' style extreme >> prejudice. >> >> Install and uninstall of other programs seems to work ok. >> >> Is it just me? Thoughts very welcome. >> >> Jonathan >> >> -- >> Jonathan Hartley Made of meat. http://tartley.com >> tartley at tartley.com +44 7737 062 225 twitter/skype: tartley >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > -- Jonathan Hartley Made of meat. http://tartley.com tartley at tartley.com +44 7737 062 225 twitter/skype: tartley From dinov at microsoft.com Fri Oct 16 19:11:06 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 16 Oct 2009 17:11:06 +0000 Subject: [IronPython] I can't install the MSI for IP2.6 RC1 In-Reply-To: <4AD8A6A5.8030805@tartley.com> References: <4AD86401.8040507@tartley.com> <5123850.1255710504682.JavaMail.root@n17> <4AD8A6A5.8030805@tartley.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04AE8686@TK5EX14MBXC116.redmond.corp.microsoft.com> What OS is this on? 0x80070005 is accessed denied. Can you explicitly run the MSI as administrator and see if that works? I'm just guessing here because I'd expect if you were on XP you'd already be on administrator and Vista should auto-elevate the installer but it might be worth a shot. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > Sent: Friday, October 16, 2009 10:00 AM > To: Discussion of IronPython > Subject: Re: [IronPython] I can't install the MSI for IP2.6 RC1 > > Ah, excellent question. > Yes, after copying the binary zip contents to C:\Program > Files\IronPython-2.6, I can cut and past the ngen command below (but > change the space in that command before '2.6' into a hyphen) and it > works fine. > Puzzled. > > > Dino Viehland wrote: > > Does ngen work if you run it on the binaries in the zip file? > > > > > >> -----Original Message----- > >> From: users-bounces at lists.ironpython.com [mailto:users- > >> bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > >> Sent: Friday, October 16, 2009 5:16 AM > >> To: users at lists.ironpython.com > >> Subject: [IronPython] I can't install the MSI for IP2.6 RC1 > >> > >> Hey there. > >> > >> I can't install the IP2.6 RC1 msi. When the install is mostly done, it > >> suddenly fails and rolls back. I can use the binary zip file instead of > >> the msi, but wanted to ask if this is a problem anyone else was having. > >> > >> At the end of the failed install and roll-back it produces a dialog: > >> > >> IromPython 2.6 Setup Wizard ended prematurely > >> because of an error. > >> > >> So I got a logfile of the install: > >> > >> msiexec /i IronPython-2.6.msi /log install.log > >> > >> which produces verbose output, including: > >> > >> ... > >> Action 15:50:17: RollbackCleanup. Removing backup files > >> ExecNetFx: Error 0x80070005: Command failed to execute. > >> ExecNetFx: Error 0x80070005: failed to execute Ngen command: > >> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install > >> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 > >> Action 15:50:17: Rollback. Rolling back action: > >> Rollback: Publishing product information > >> ... > >> Action ended 15:50:25: InstallFinalize. Return value 3. > >> Action ended 15:50:25: INSTALL. Return value 3. > >> ... > >> Action ended 15:50:25: ExecuteAction. Return value 3. > >> Action 15:50:25: FatalError. > >> ... > >> Action ended 15:59:24: FatalError. Return value 2. > >> Action ended 15:59:24: INSTALL. Return value 3. > >> ... > >> MSI (c) (28:6C) [15:59:24:453]: Product: IronPython 2.6 -- Installation > >> failed. > >> > >> > >> I'd like to try running the allegedly failing ngen command from a prompt: > >> > >> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install > >> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 > >> > >> but of course since the install rolls back, the file > >> "Microsoft.Scripting.dll" no longer exists, so I can't. However, I can > >> manually ngen *other* assemblies using a command exactly like this. The > >> path to ngen.exe is correct, and the parameters to the command are > >> correct, so I don't understand why this ngen might be failing. > >> > >> Upon further investigation, trying to *un*install the IP2.0.2 msi also > >> fails and does the same thing. I currently don't know how I'm going to > >> get that uninstalled except by some sort of 'rm -rf' style extreme > >> prejudice. > >> > >> Install and uninstall of other programs seems to work ok. > >> > >> Is it just me? Thoughts very welcome. > >> > >> Jonathan > >> > >> -- > >> Jonathan Hartley Made of meat. http://tartley.com > >> tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > >> > >> > >> _______________________________________________ > >> Users mailing list > >> Users at lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> > > _______________________________________________ > > Users mailing list > > Users at lists.ironpython.com > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > > -- > Jonathan Hartley Made of meat. http://tartley.com > tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From tartley at tartley.com Fri Oct 16 19:41:33 2009 From: tartley at tartley.com (Jonathan Hartley) Date: Fri, 16 Oct 2009 18:41:33 +0100 Subject: [IronPython] I can't install the MSI for IP2.6 RC1 In-Reply-To: <1623405.1255713162654.JavaMail.root@n17> References: <4AD86401.8040507@tartley.com> <5123850.1255710504682.JavaMail.root@n17> <4AD8A6A5.8030805@tartley.com> <1623405.1255713162654.JavaMail.root@n17> Message-ID: <4AD8B04D.3000302@tartley.com> Hey. Thanks for the responses Dino. This is Windows XP. I was running as a domain user which does have administrative privs. I just tried running msiexec as THE local Administrator user. Same behaviour, and the only diffs to the logfile are timestamps and user ID. Jonathan Dino Viehland wrote: > What OS is this on? 0x80070005 is accessed denied. Can you explicitly > run the MSI as administrator and see if that works? I'm just guessing here > because I'd expect if you were on XP you'd already be on administrator and > Vista should auto-elevate the installer but it might be worth a shot. > > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley >> Sent: Friday, October 16, 2009 10:00 AM >> To: Discussion of IronPython >> Subject: Re: [IronPython] I can't install the MSI for IP2.6 RC1 >> >> Ah, excellent question. >> Yes, after copying the binary zip contents to C:\Program >> Files\IronPython-2.6, I can cut and past the ngen command below (but >> change the space in that command before '2.6' into a hyphen) and it >> works fine. >> Puzzled. >> >> >> Dino Viehland wrote: >> >>> Does ngen work if you run it on the binaries in the zip file? >>> >>> >>> >>>> -----Original Message----- >>>> From: users-bounces at lists.ironpython.com [mailto:users- >>>> bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley >>>> Sent: Friday, October 16, 2009 5:16 AM >>>> To: users at lists.ironpython.com >>>> Subject: [IronPython] I can't install the MSI for IP2.6 RC1 >>>> >>>> Hey there. >>>> >>>> I can't install the IP2.6 RC1 msi. When the install is mostly done, it >>>> suddenly fails and rolls back. I can use the binary zip file instead of >>>> the msi, but wanted to ask if this is a problem anyone else was having. >>>> >>>> At the end of the failed install and roll-back it produces a dialog: >>>> >>>> IromPython 2.6 Setup Wizard ended prematurely >>>> because of an error. >>>> >>>> So I got a logfile of the install: >>>> >>>> msiexec /i IronPython-2.6.msi /log install.log >>>> >>>> which produces verbose output, including: >>>> >>>> ... >>>> Action 15:50:17: RollbackCleanup. Removing backup files >>>> ExecNetFx: Error 0x80070005: Command failed to execute. >>>> ExecNetFx: Error 0x80070005: failed to execute Ngen command: >>>> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install >>>> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 >>>> Action 15:50:17: Rollback. Rolling back action: >>>> Rollback: Publishing product information >>>> ... >>>> Action ended 15:50:25: InstallFinalize. Return value 3. >>>> Action ended 15:50:25: INSTALL. Return value 3. >>>> ... >>>> Action ended 15:50:25: ExecuteAction. Return value 3. >>>> Action 15:50:25: FatalError. >>>> ... >>>> Action ended 15:59:24: FatalError. Return value 2. >>>> Action ended 15:59:24: INSTALL. Return value 3. >>>> ... >>>> MSI (c) (28:6C) [15:59:24:453]: Product: IronPython 2.6 -- Installation >>>> failed. >>>> >>>> >>>> I'd like to try running the allegedly failing ngen command from a prompt: >>>> >>>> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install >>>> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 >>>> >>>> but of course since the install rolls back, the file >>>> "Microsoft.Scripting.dll" no longer exists, so I can't. However, I can >>>> manually ngen *other* assemblies using a command exactly like this. The >>>> path to ngen.exe is correct, and the parameters to the command are >>>> correct, so I don't understand why this ngen might be failing. >>>> >>>> Upon further investigation, trying to *un*install the IP2.0.2 msi also >>>> fails and does the same thing. I currently don't know how I'm going to >>>> get that uninstalled except by some sort of 'rm -rf' style extreme >>>> prejudice. >>>> >>>> Install and uninstall of other programs seems to work ok. >>>> >>>> Is it just me? Thoughts very welcome. >>>> >>>> Jonathan >>>> >>>> -- >>>> Jonathan Hartley Made of meat. http://tartley.com >>>> tartley at tartley.com +44 7737 062 225 twitter/skype: tartley >>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users at lists.ironpython.com >>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >>>> >>>> >>> _______________________________________________ >>> Users mailing list >>> Users at lists.ironpython.com >>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >>> >>> >>> >> -- >> Jonathan Hartley Made of meat. http://tartley.com >> tartley at tartley.com +44 7737 062 225 twitter/skype: tartley >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > -- Jonathan Hartley Made of meat. http://tartley.com tartley at tartley.com +44 7737 062 225 twitter/skype: tartley From dinov at microsoft.com Fri Oct 16 20:03:32 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 16 Oct 2009 18:03:32 +0000 Subject: [IronPython] I can't install the MSI for IP2.6 RC1 In-Reply-To: <4AD8B04D.3000302@tartley.com> References: <4AD86401.8040507@tartley.com> <5123850.1255710504682.JavaMail.root@n17> <4AD8A6A5.8030805@tartley.com> <1623405.1255713162654.JavaMail.root@n17> <4AD8B04D.3000302@tartley.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04AE891B@TK5EX14MBXC116.redmond.corp.microsoft.com> Weird, I don't know why this would happen then :( Maybe going to %WINDIR%\assembly\GAC_MSIL and clearing out the Microsoft.Scripting, Microsoft.Dynamic, IronPython, etc... directories would help? Alternately you could run process explorer while the setup is running and see if you can find where the access is denied is coming from. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > Sent: Friday, October 16, 2009 10:42 AM > To: Discussion of IronPython > Subject: Re: [IronPython] I can't install the MSI for IP2.6 RC1 > > Hey. Thanks for the responses Dino. > > This is Windows XP. I was running as a domain user which does have > administrative privs. > > I just tried running msiexec as THE local Administrator user. Same > behaviour, and the only diffs to the logfile are timestamps and user ID. > > Jonathan > > > Dino Viehland wrote: > > What OS is this on? 0x80070005 is accessed denied. Can you explicitly > > run the MSI as administrator and see if that works? I'm just guessing here > > because I'd expect if you were on XP you'd already be on administrator and > > Vista should auto-elevate the installer but it might be worth a shot. > > > > > >> -----Original Message----- > >> From: users-bounces at lists.ironpython.com [mailto:users- > >> bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > >> Sent: Friday, October 16, 2009 10:00 AM > >> To: Discussion of IronPython > >> Subject: Re: [IronPython] I can't install the MSI for IP2.6 RC1 > >> > >> Ah, excellent question. > >> Yes, after copying the binary zip contents to C:\Program > >> Files\IronPython-2.6, I can cut and past the ngen command below (but > >> change the space in that command before '2.6' into a hyphen) and it > >> works fine. > >> Puzzled. > >> > >> > >> Dino Viehland wrote: > >> > >>> Does ngen work if you run it on the binaries in the zip file? > >>> > >>> > >>> > >>>> -----Original Message----- > >>>> From: users-bounces at lists.ironpython.com [mailto:users- > >>>> bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > >>>> Sent: Friday, October 16, 2009 5:16 AM > >>>> To: users at lists.ironpython.com > >>>> Subject: [IronPython] I can't install the MSI for IP2.6 RC1 > >>>> > >>>> Hey there. > >>>> > >>>> I can't install the IP2.6 RC1 msi. When the install is mostly done, it > >>>> suddenly fails and rolls back. I can use the binary zip file instead of > >>>> the msi, but wanted to ask if this is a problem anyone else was having. > >>>> > >>>> At the end of the failed install and roll-back it produces a dialog: > >>>> > >>>> IromPython 2.6 Setup Wizard ended prematurely > >>>> because of an error. > >>>> > >>>> So I got a logfile of the install: > >>>> > >>>> msiexec /i IronPython-2.6.msi /log install.log > >>>> > >>>> which produces verbose output, including: > >>>> > >>>> ... > >>>> Action 15:50:17: RollbackCleanup. Removing backup files > >>>> ExecNetFx: Error 0x80070005: Command failed to execute. > >>>> ExecNetFx: Error 0x80070005: failed to execute Ngen command: > >>>> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install > >>>> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 > >>>> Action 15:50:17: Rollback. Rolling back action: > >>>> Rollback: Publishing product information > >>>> ... > >>>> Action ended 15:50:25: InstallFinalize. Return value 3. > >>>> Action ended 15:50:25: INSTALL. Return value 3. > >>>> ... > >>>> Action ended 15:50:25: ExecuteAction. Return value 3. > >>>> Action 15:50:25: FatalError. > >>>> ... > >>>> Action ended 15:59:24: FatalError. Return value 2. > >>>> Action ended 15:59:24: INSTALL. Return value 3. > >>>> ... > >>>> MSI (c) (28:6C) [15:59:24:453]: Product: IronPython 2.6 -- Installation > >>>> failed. > >>>> > >>>> > >>>> I'd like to try running the allegedly failing ngen command from a prompt: > >>>> > >>>> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install > >>>> "C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll" /queue:1 > >>>> > >>>> but of course since the install rolls back, the file > >>>> "Microsoft.Scripting.dll" no longer exists, so I can't. However, I can > >>>> manually ngen *other* assemblies using a command exactly like this. The > >>>> path to ngen.exe is correct, and the parameters to the command are > >>>> correct, so I don't understand why this ngen might be failing. > >>>> > >>>> Upon further investigation, trying to *un*install the IP2.0.2 msi also > >>>> fails and does the same thing. I currently don't know how I'm going to > >>>> get that uninstalled except by some sort of 'rm -rf' style extreme > >>>> prejudice. > >>>> > >>>> Install and uninstall of other programs seems to work ok. > >>>> > >>>> Is it just me? Thoughts very welcome. > >>>> > >>>> Jonathan > >>>> > >>>> -- > >>>> Jonathan Hartley Made of meat. http://tartley.com > >>>> tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > >>>> > >>>> > >>>> _______________________________________________ > >>>> Users mailing list > >>>> Users at lists.ironpython.com > >>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >>>> > >>>> > >>> _______________________________________________ > >>> Users mailing list > >>> Users at lists.ironpython.com > >>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >>> > >>> > >>> > >> -- > >> Jonathan Hartley Made of meat. http://tartley.com > >> tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > >> > >> > >> _______________________________________________ > >> Users mailing list > >> Users at lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> > > _______________________________________________ > > Users mailing list > > Users at lists.ironpython.com > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > > -- > Jonathan Hartley Made of meat. http://tartley.com > tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From jdhardy at gmail.com Sat Oct 17 22:20:38 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Sat, 17 Oct 2009 14:20:38 -0600 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <20091009192947.GJ17007@nysv.org> References: <20091009192947.GJ17007@nysv.org> Message-ID: Hi Markus, I finally got around to looking at this, and it looks like I missed a step in my documentation (such as it is...). If you check out http://jdhardy.blogspot.com/2009/07/nwsgi-20-removing-url-warts.html it gives all of the details (under the heading "Wildcards"), but I'll explain it here too. First up, you need to configure IIS 6 to serve wildcard requests for the application to the aspnet_isapi.dll. This is explained at http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in-ASP.NET.aspx. Next, you need to modify the web.config file for the application to do two things: first, add the element under to tell NWSGI that it's in wildcard mode, AND (this is the part I missed) change the handler mapping to be path="*" instead of path="*.wsgi". I've attached a web.config for the HelloWorld app that properly configures NWSGI for wildcard mode. I'm hoping to get a script written that will configure IIS 6 for NWSGI apps and skip the manual steps, but that means diving into the joy that is IIS 6's management API... - Jeff 2009/10/9 Markus T?rnqvist : > Hi! > > The original thread seems to have withered out, so I'll make a new one. > > I'm still having the problems with getting wildcards configured on IIS6, > so this is just an attempt to ask if someone who might have skipped > the original thread might see this and have a clue on how to get it > going :) > > Thanks! > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- A non-text attachment was scrubbed... Name: Web.config Type: application/octet-stream Size: 933 bytes Desc: not available URL: From mjt at nysv.org Sun Oct 18 12:52:34 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Sun, 18 Oct 2009 13:52:34 +0300 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: References: <20091009192947.GJ17007@nysv.org> Message-ID: <20091018105234.GB22055@nysv.org> On Sat, Oct 17, 2009 at 02:20:38PM -0600, Jeff Hardy wrote: >Hi Markus, Hi! >I finally got around to looking at this, and it looks like I missed a >step in my documentation (such as it is...). If you check out >http://jdhardy.blogspot.com/2009/07/nwsgi-20-removing-url-warts.html >it gives all of the details (under the heading "Wildcards"), but I'll >explain it here too. I had found that by myself too, I based my conf on it ;) >First up, you need to configure IIS 6 to serve wildcard requests for >the application to the aspnet_isapi.dll. This is explained at >http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in-ASP.NET.aspx. This I did, I think I got the hint off the list :) >Next, you need to modify the web.config file for the application to do >two things: first, add the element under to tell >NWSGI that it's in wildcard mode, AND (this is the part I missed) >change the handler mapping to be path="*" instead of path="*.wsgi". >I've attached a web.config for the HelloWorld app that properly >configures NWSGI for wildcard mode. This is surprisingly close to what I have currently, and unfortunately neither work! :| I'm wondering about What does ~ resolve to here? Under unixes it's of course the home directory, and I had something like C:\Program Files\IronPython 2.6\whatever\mysite\hello.wsgi The Hello World stuff: I figured I'd deploy the hello world application from commit 32122 which I had conveniently lying around. I did it by changing the Default Web Service from the stuff I'm developing to point to a dir with HelloWorld, with the bin subdir and all. I also renamed the classic Web.config and accessed http://localhost/hello.wsgi The URL http://localhost/ gave me a dir listing. Then I changed the definition and Now http://localhost/ works as well, hooray! But where is the fail? Here: http://localhost/test/ It still gives a 404; now I'm getting confused about what that wildcard stuff is supposed to mean even :| I'm attaching my Web.config so you can take a look, but I matched the and so I dunno, man, I dunno... A very wild speculation would be what if Django misunderstood the path requested, or something, and returned a 404, which IIS would catch and replace with its own? But then again, totally valid paths in mysite should work, so this would make no sense. Did http://localhost/test/ work for you on your HelloWorld installation? Any other totally random arbitrary paths? If you have hello.wsgi like this: def application(environ, start_response): """Simplest possible application object""" status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) env = '\n'.join('%s: %s' % (k, v) for k, v in environ.items()) return ['Hello world!\n%s' % env] Does it give any clues on the path stuff? For me it obviously does not as only / is recognized :D >I'm hoping to get a script written that will configure IIS 6 for NWSGI >apps and skip the manual steps, but that means diving into the joy >that is IIS 6's management API... This would be truly awesome, but sounds like a ton of work. Thanks! :) -- mjt -------------- next part --------------
From jdhardy at gmail.com Mon Oct 19 02:40:57 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Sun, 18 Oct 2009 18:40:57 -0600 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <20091018105234.GB22055@nysv.org> References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> Message-ID: 2009/10/18 Markus T?rnqvist : >>I finally got around to looking at this, and it looks like I missed a >>step in my documentation (such as it is...). If you check out >>http://jdhardy.blogspot.com/2009/07/nwsgi-20-removing-url-warts.html >>it gives all of the details (under the heading "Wildcards"), but I'll >>explain it here too. > > I had found that by myself too, I based my conf on it ;) I updated it just recently, as there were some omissions. > > I'm wondering about > ? ? > What does ~ resolve to here? The root of the web application - it's an ASP.NET convention. If http://example.com/HelloWorld/ is an ASP.NET application that is stored C:\HelloWorld\, then http://example.com/HelloWorld/hello.wsgi -> ~/hello.wsgi -> C:\HelloWorld\hello.wsgi. Using ~/... allows the app's folders to be moved around the file system without breaking the configuration. > > The Hello World stuff: > > Now http://localhost/ works as well, hooray! So you were able to get the HelloWorld app to work using wildcards, correct? > > But where is the fail? I think this is going to take some deeper digging - do you know how to get a metabase.xml file? Can you send me a copy of yours directly (off-list)? - Jeff From christian2.schmidt at gmx.de Mon Oct 19 09:03:54 2009 From: christian2.schmidt at gmx.de (Christian Schmidt) Date: Mon, 19 Oct 2009 09:03:54 +0200 Subject: [IronPython] Type analysis of expression Message-ID: <4ADC0F5A.8010809@gmx.de> Hello, we are using IronPython embedded into our application to evaluate user defined expression. The "variables" used in the expressions are strongly typed and the results need to be written back into a database. I know that the return type of a dynamic expression cannot be determined in general. But what would be a pragmatic way to guess the return type of an expression? Thanks, Christian From mjt at nysv.org Mon Oct 19 09:19:27 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Mon, 19 Oct 2009 10:19:27 +0300 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> Message-ID: <20091019071927.GO22055@nysv.org> On Sun, Oct 18, 2009 at 06:40:57PM -0600, Jeff Hardy wrote: >> The Hello World stuff: > >> Now http://localhost/ works as well, hooray! > >So you were able to get the HelloWorld app to work using wildcards, correct? That would be stretching the term... Like I said in the original post, I got it working under / but not eg. /test/ or /foo/ which would be truly wildcard. Did URLs like that work anywhere else? >> But where is the fail? >I think this is going to take some deeper digging - do you know how to >get a metabase.xml file? Can you send me a copy of yours directly >(off-list)? I don't, but if you tell me, I'd be happy to oblige :) Thanks! -- mjt From empirebuilder at gmail.com Mon Oct 19 10:09:14 2009 From: empirebuilder at gmail.com (Dody Gunawinata) Date: Mon, 19 Oct 2009 10:09:14 +0200 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <20091019071927.GO22055@nysv.org> References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> <20091019071927.GO22055@nysv.org> Message-ID: <8cd017b80910190109j5da7ef4rf65934bd5db38be@mail.gmail.com> MetaBase.xml and MBSchema.xml. IIS stores these files in the *systemroot*\System32\Inetsrv folder of your computer 2009/10/19 Markus T?rnqvist > On Sun, Oct 18, 2009 at 06:40:57PM -0600, Jeff Hardy wrote: > > >> The Hello World stuff: > > > >> Now http://localhost/ works as well, hooray! > > > >So you were able to get the HelloWorld app to work using wildcards, > correct? > > That would be stretching the term... > > Like I said in the original post, I got it working under / but > not eg. /test/ or /foo/ which would be truly wildcard. > > Did URLs like that work anywhere else? > > >> But where is the fail? > >I think this is going to take some deeper digging - do you know how to > >get a metabase.xml file? Can you send me a copy of yours directly > >(off-list)? > > I don't, but if you tell me, I'd be happy to oblige :) > > Thanks! > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- nomadlife.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Mon Oct 19 12:09:24 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Mon, 19 Oct 2009 13:09:24 +0300 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <8cd017b80910190109j5da7ef4rf65934bd5db38be@mail.gmail.com> References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> <20091019071927.GO22055@nysv.org> <8cd017b80910190109j5da7ef4rf65934bd5db38be@mail.gmail.com> Message-ID: <20091019100924.GQ22055@nysv.org> On Mon, Oct 19, 2009 at 10:09:14AM +0200, Dody Gunawinata wrote: > MetaBase.xml and MBSchema.xml. IIS stores these files in the >*systemroot*\System32\Inetsrv >folder of your computer Cool! Is there anything specific I should be on the lookout for? -- mjt From fuzzyman at voidspace.org.uk Mon Oct 19 13:20:36 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Mon, 19 Oct 2009 12:20:36 +0100 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADC0F5A.8010809@gmx.de> References: <4ADC0F5A.8010809@gmx.de> Message-ID: <4ADC4B84.6090505@voidspace.org.uk> Christian Schmidt wrote: > Hello, > > we are using IronPython embedded into our application to evaluate user > defined expression. The "variables" used in the expressions are strongly > typed and the results need to be written back into a database. > > I know that the return type of a dynamic expression cannot be determined > in general. But what would be a pragmatic way to guess the return type > of an expression? Hehe. If you're evaluating arbitrary functions provided by the user then I don't know of any way of 'inferring' the return type - beyond parsing it and modelling the type flow through the expression (which would be a lot of work). All the best, Michael > > Thanks, > Christian > > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From stephen.p.lepisto at intel.com Mon Oct 19 16:08:26 2009 From: stephen.p.lepisto at intel.com (Lepisto, Stephen P) Date: Mon, 19 Oct 2009 07:08:26 -0700 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADC4B84.6090505@voidspace.org.uk> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> Message-ID: <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAD9@orsmsx510.amr.corp.intel.com> What about treating the return type of the python expression as object then coerce the object into the type required by the database? If the coercion fails, then that could be treated as a type error. For example, after using python to evaluate the expression '2+(4*5)', the returned object could be converted to an integer using System.Convert.ToInt32() or to a string with System.Convert.ToString(). System.Convert throws InvalidCastException for those cases that cannot be converted. -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord Sent: Monday, October 19, 2009 4:21 AM To: Discussion of IronPython Subject: Re: [IronPython] Type analysis of expression Christian Schmidt wrote: > Hello, > > we are using IronPython embedded into our application to evaluate user > defined expression. The "variables" used in the expressions are strongly > typed and the results need to be written back into a database. > > I know that the return type of a dynamic expression cannot be determined > in general. But what would be a pragmatic way to guess the return type > of an expression? Hehe. If you're evaluating arbitrary functions provided by the user then I don't know of any way of 'inferring' the return type - beyond parsing it and modelling the type flow through the expression (which would be a lot of work). All the best, Michael > > Thanks, > Christian > > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From tartley at tartley.com Mon Oct 19 16:18:46 2009 From: tartley at tartley.com (Jonathan Hartley) Date: Mon, 19 Oct 2009 15:18:46 +0100 Subject: [IronPython] Type analysis of expression In-Reply-To: <1256167.1255961375078.JavaMail.root@n17> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> Message-ID: <4ADC7546.4080809@tartley.com> Hey all, Stephen, I infer that Christian can't evaluate the expression yet. (If he could, then deriving the type of the result would be trivial) Presumably the variables in the expression don't yet have known values. So he has an expression which cannot be evaluated, but he wants to guess what type the return value would be if the variables in the expression were known. The variables in the expression do have known types. So I wonder if you could pick a prototypical value for each variable, (eg. set all floats to 1.0, and all integers to 1) and then evaluate the expression to see what type the result is? Obviously this won't work for all expressions (eg. "x / (x - 1)"), but maybe it would work enough of the time, depending on what form your expressions take. Am I misunderstanding entirely, or only partially? Jonathan Lepisto, Stephen P wrote: > What about treating the return type of the python expression as object then coerce the object into the type required by the database? If the coercion fails, then that could be treated as a type error. > > For example, after using python to evaluate the expression '2+(4*5)', the returned object could be converted to an integer using System.Convert.ToInt32() or to a string with System.Convert.ToString(). System.Convert throws InvalidCastException for those cases that cannot be converted. > > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord > Sent: Monday, October 19, 2009 4:21 AM > To: Discussion of IronPython > Subject: Re: [IronPython] Type analysis of expression > > Christian Schmidt wrote: > >> Hello, >> >> we are using IronPython embedded into our application to evaluate user >> defined expression. The "variables" used in the expressions are strongly >> typed and the results need to be written back into a database. >> >> I know that the return type of a dynamic expression cannot be determined >> in general. But what would be a pragmatic way to guess the return type >> of an expression? >> > > Hehe. If you're evaluating arbitrary functions provided by the user then > I don't know of any way of 'inferring' the return type - beyond parsing > it and modelling the type flow through the expression (which would be a > lot of work). > > All the best, > > Michael > >> Thanks, >> Christian >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > > > -- Jonathan Hartley Made of meat. http://tartley.com tartley at tartley.com +44 7737 062 225 twitter/skype: tartley From jdhardy at gmail.com Mon Oct 19 16:26:45 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Mon, 19 Oct 2009 08:26:45 -0600 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: <20091019100924.GQ22055@nysv.org> References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> <20091019071927.GO22055@nysv.org> <8cd017b80910190109j5da7ef4rf65934bd5db38be@mail.gmail.com> <20091019100924.GQ22055@nysv.org> Message-ID: 2009/10/19 Markus T?rnqvist : > On Mon, Oct 19, 2009 at 10:09:14AM +0200, Dody Gunawinata wrote: >> MetaBase.xml and MBSchema.xml. IIS stores these files in the >>*systemroot*\System32\Inetsrv >>folder of your computer > > Cool! > > Is there anything specific I should be on the lookout for? Nope. I just want to check your configuration against mine (I have a feeling we're missing something simple), and this is the easiest way. - Jeff From mjt at nysv.org Mon Oct 19 16:28:00 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Mon, 19 Oct 2009 17:28:00 +0300 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> <20091019071927.GO22055@nysv.org> <8cd017b80910190109j5da7ef4rf65934bd5db38be@mail.gmail.com> <20091019100924.GQ22055@nysv.org> Message-ID: <20091019142800.GU22055@nysv.org> On Mon, Oct 19, 2009 at 08:26:45AM -0600, Jeff Hardy wrote: > >Nope. I just want to check your configuration against mine (I have a >feeling we're missing something simple), and this is the easiest way. I emailed you the files... I'll be afk for a couple of hours, but otherwise I could try to keep an eye on my mail if you'd find anything :) ... Still can't understand why wildcard isn't "every imaginable path" :| -- mjt From vernondcole at gmail.com Mon Oct 19 16:28:51 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Mon, 19 Oct 2009 08:28:51 -0600 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADC4B84.6090505@voidspace.org.uk> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> Message-ID: Christian: While Python is type agnostic, most databases are pretty fussy about what you feed them. I presume that you need to convert the user's data into a form acceptable to the database. You do not specify what tool you are using to write your results to the database, so I will provide several answers to your question... 1) If you are writing to the database using Python, and you are using a fully PEP 249 compliant database module: The database module should attempt the conversion for you, giving an exception if it cannot. You will need to do the most obvious conversions yourself such as making a number into a string, so an "if" "except" construct should do handily. As far as I know, only the adodbapi module is both fully PEP 249 compliant and implemented in IronPython. http://sourceforge.net/projects/adodbapi 2) You can use Python's "isinstance" built in function to see what the user sent you: impert types a = theOutputFromYourUser() if isinstance(a,types.StringType): print "it was a string" if isinstance(a, (types.FloatType, types.IntType)): print "it was a number" 3) You can take advantage of python's "duck type" capability by simply trying the user's output to see if it will work as a given type... numericResult = None stringResult = None a = theOutputFromYourUser() try: numericResult = float(a) except: try: stringResult = str(a) except: pass if numericResult != None: # your numeric stuff here elif stringResult != None: # your string stuff here else: # your error handling here. 4) Use some combination of the above. For example: adodbapi uses a dictionary dispatch table to chose which conversion to call, which is a variation on option 2, but then uses exception handling to catch errors within the specific code for some conversions. YMMV -- Vernon Cole On Mon, Oct 19, 2009 at 5:20 AM, Michael Foord wrote: > Christian Schmidt wrote: > >> Hello, >> >> we are using IronPython embedded into our application to evaluate user >> defined expression. The "variables" used in the expressions are strongly >> typed and the results need to be written back into a database. >> >> I know that the return type of a dynamic expression cannot be determined >> in general. But what would be a pragmatic way to guess the return type >> of an expression? >> > > Hehe. If you're evaluating arbitrary functions provided by the user then I > don't know of any way of 'inferring' the return type - beyond parsing it and > modelling the type flow through the expression (which would be a lot of > work). > > All the best, > > Michael > >> >> Thanks, >> Christian >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stephen.p.lepisto at intel.com Mon Oct 19 16:29:48 2009 From: stephen.p.lepisto at intel.com (Lepisto, Stephen P) Date: Mon, 19 Oct 2009 07:29:48 -0700 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADC7546.4080809@tartley.com> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> Message-ID: <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> Jonathan, Even if the variables going into the expression are strongly typed, python will evaluate the expression however it can, with the result being some type based on the coercion python applied to each variable. However, I read Christian's problem as one where he needed to get the value into a database and to me that was the deciding factor as to which type to coerce the result of the expression, regardless of the original types of the variables going into the expression. -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley Sent: Monday, October 19, 2009 7:19 AM To: Discussion of IronPython Subject: Re: [IronPython] Type analysis of expression Hey all, Stephen, I infer that Christian can't evaluate the expression yet. (If he could, then deriving the type of the result would be trivial) Presumably the variables in the expression don't yet have known values. So he has an expression which cannot be evaluated, but he wants to guess what type the return value would be if the variables in the expression were known. The variables in the expression do have known types. So I wonder if you could pick a prototypical value for each variable, (eg. set all floats to 1.0, and all integers to 1) and then evaluate the expression to see what type the result is? Obviously this won't work for all expressions (eg. "x / (x - 1)"), but maybe it would work enough of the time, depending on what form your expressions take. Am I misunderstanding entirely, or only partially? Jonathan Lepisto, Stephen P wrote: > What about treating the return type of the python expression as object then coerce the object into the type required by the database? If the coercion fails, then that could be treated as a type error. > > For example, after using python to evaluate the expression '2+(4*5)', the returned object could be converted to an integer using System.Convert.ToInt32() or to a string with System.Convert.ToString(). System.Convert throws InvalidCastException for those cases that cannot be converted. > > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord > Sent: Monday, October 19, 2009 4:21 AM > To: Discussion of IronPython > Subject: Re: [IronPython] Type analysis of expression > > Christian Schmidt wrote: > >> Hello, >> >> we are using IronPython embedded into our application to evaluate user >> defined expression. The "variables" used in the expressions are strongly >> typed and the results need to be written back into a database. >> >> I know that the return type of a dynamic expression cannot be determined >> in general. But what would be a pragmatic way to guess the return type >> of an expression? >> > > Hehe. If you're evaluating arbitrary functions provided by the user then > I don't know of any way of 'inferring' the return type - beyond parsing > it and modelling the type flow through the expression (which would be a > lot of work). > > All the best, > > Michael > >> Thanks, >> Christian >> >> >> >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > > > -- Jonathan Hartley Made of meat. http://tartley.com tartley at tartley.com +44 7737 062 225 twitter/skype: tartley _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From vernondcole at gmail.com Mon Oct 19 16:38:03 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Mon, 19 Oct 2009 08:38:03 -0600 Subject: [IronPython] Type analysis of expression In-Reply-To: <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> Message-ID: Stephen said what I was trying to say. It does not matter what the user sends you, you must try to coerce his result into something the database will accept. This is most easily done dynamically at run time. Also forgive my typo of "impert" for "import" ... I reread my answer three times and still missed it. -- Vernon Cole On Mon, Oct 19, 2009 at 8:29 AM, Lepisto, Stephen P < stephen.p.lepisto at intel.com> wrote: > Jonathan, > > Even if the variables going into the expression are strongly typed, python > will evaluate the expression however it can, with the result being some type > based on the coercion python applied to each variable. However, I read > Christian's problem as one where he needed to get the value into a database > and to me that was the deciding factor as to which type to coerce the result > of the expression, regardless of the original types of the variables going > into the expression. > > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto: > users-bounces at lists.ironpython.com] On Behalf Of Jonathan Hartley > Sent: Monday, October 19, 2009 7:19 AM > To: Discussion of IronPython > Subject: Re: [IronPython] Type analysis of expression > > Hey all, > Stephen, I infer that Christian can't evaluate the expression yet. (If > he could, then deriving the type of the result would be trivial) > Presumably the variables in the expression don't yet have known values. > > So he has an expression which cannot be evaluated, but he wants to guess > what type the return value would be if the variables in the expression > were known. > > The variables in the expression do have known types. So I wonder if you > could pick a prototypical value for each variable, (eg. set all floats > to 1.0, and all integers to 1) and then evaluate the expression to see > what type the result is? > > Obviously this won't work for all expressions (eg. "x / (x - 1)"), but > maybe it would work enough of the time, depending on what form your > expressions take. > > Am I misunderstanding entirely, or only partially? > > Jonathan > > Lepisto, Stephen P wrote: > > What about treating the return type of the python expression as object > then coerce the object into the type required by the database? If the > coercion fails, then that could be treated as a type error. > > > > For example, after using python to evaluate the expression '2+(4*5)', the > returned object could be converted to an integer using > System.Convert.ToInt32() or to a string with System.Convert.ToString(). > System.Convert throws InvalidCastException for those cases that cannot be > converted. > > > > > > -----Original Message----- > > From: users-bounces at lists.ironpython.com [mailto: > users-bounces at lists.ironpython.com] On Behalf Of Michael Foord > > Sent: Monday, October 19, 2009 4:21 AM > > To: Discussion of IronPython > > Subject: Re: [IronPython] Type analysis of expression > > > > Christian Schmidt wrote: > > > >> Hello, > >> > >> we are using IronPython embedded into our application to evaluate user > >> defined expression. The "variables" used in the expressions are strongly > >> typed and the results need to be written back into a database. > >> > >> I know that the return type of a dynamic expression cannot be determined > >> in general. But what would be a pragmatic way to guess the return type > >> of an expression? > >> > > > > Hehe. If you're evaluating arbitrary functions provided by the user then > > I don't know of any way of 'inferring' the return type - beyond parsing > > it and modelling the type flow through the expression (which would be a > > lot of work). > > > > All the best, > > > > Michael > > > >> Thanks, > >> Christian > >> > >> > >> > >> _______________________________________________ > >> Users mailing list > >> Users at lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> > > > > > > > > -- > Jonathan Hartley Made of meat. http://tartley.com > tartley at tartley.com +44 7737 062 225 twitter/skype: tartley > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tartley at tartley.com Mon Oct 19 17:44:48 2009 From: tartley at tartley.com (Jonathan Hartley) Date: Mon, 19 Oct 2009 16:44:48 +0100 Subject: [IronPython] Type analysis of expression In-Reply-To: <25232872.1255963395484.JavaMail.root@n17> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> Message-ID: <4ADC8970.3070307@tartley.com> Fair enough. I had perhaps wrongly assumed that since Christian wanted to figure out the type of his expression's result, he must have differently typed database columns (or whatever) for different types of result. Best regards all round. Vernon Cole wrote: > Stephen said what I was trying to say. It does not matter what the > user sends you, you must try to coerce his result into something the > database will accept. This is most easily done dynamically at run time. > Also forgive my typo of "impert" for "import" ... I reread my answer > three times and still missed it. > -- > Vernon Cole > > On Mon, Oct 19, 2009 at 8:29 AM, Lepisto, Stephen P > > wrote: > > Jonathan, > > Even if the variables going into the expression are strongly > typed, python will evaluate the expression however it can, with > the result being some type based on the coercion python applied to > each variable. However, I read Christian's problem as one where > he needed to get the value into a database and to me that was the > deciding factor as to which type to coerce the result of the > expression, regardless of the original types of the variables > going into the expression. > > > -----Original Message----- > From: users-bounces at lists.ironpython.com > > [mailto:users-bounces at lists.ironpython.com > ] On Behalf Of Jonathan > Hartley > Sent: Monday, October 19, 2009 7:19 AM > To: Discussion of IronPython > Subject: Re: [IronPython] Type analysis of expression > > Hey all, > Stephen, I infer that Christian can't evaluate the expression yet. (If > he could, then deriving the type of the result would be trivial) > Presumably the variables in the expression don't yet have known > values. > > So he has an expression which cannot be evaluated, but he wants to > guess > what type the return value would be if the variables in the expression > were known. > > The variables in the expression do have known types. So I wonder > if you > could pick a prototypical value for each variable, (eg. set all floats > to 1.0, and all integers to 1) and then evaluate the expression to see > what type the result is? > > Obviously this won't work for all expressions (eg. "x / (x - 1)"), but > maybe it would work enough of the time, depending on what form your > expressions take. > > Am I misunderstanding entirely, or only partially? > > Jonathan > > Lepisto, Stephen P wrote: > > What about treating the return type of the python expression as > object then coerce the object into the type required by the > database? If the coercion fails, then that could be treated as a > type error. > > > > For example, after using python to evaluate the expression > '2+(4*5)', the returned object could be converted to an integer > using System.Convert.ToInt32() or to a string with > System.Convert.ToString(). System.Convert throws > InvalidCastException for those cases that cannot be converted. > > > > > > -----Original Message----- > > From: users-bounces at lists.ironpython.com > > [mailto:users-bounces at lists.ironpython.com > ] On Behalf Of Michael > Foord > > Sent: Monday, October 19, 2009 4:21 AM > > To: Discussion of IronPython > > Subject: Re: [IronPython] Type analysis of expression > > > > Christian Schmidt wrote: > > > >> Hello, > >> > >> we are using IronPython embedded into our application to > evaluate user > >> defined expression. The "variables" used in the expressions are > strongly > >> typed and the results need to be written back into a database. > >> > >> I know that the return type of a dynamic expression cannot be > determined > >> in general. But what would be a pragmatic way to guess the > return type > >> of an expression? > >> > > > > Hehe. If you're evaluating arbitrary functions provided by the > user then > > I don't know of any way of 'inferring' the return type - beyond > parsing > > it and modelling the type flow through the expression (which > would be a > > lot of work). > > > > All the best, > > > > Michael > > > >> Thanks, > >> Christian > >> > >> > >> > >> _______________________________________________ > >> Users mailing list > >> Users at lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> > > > > > > > > -- > Jonathan Hartley Made of meat. http://tartley.com > tartley at tartley.com +44 7737 062 > 225 twitter/skype: tartley > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > ------------------------------------------------------------------------ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- Jonathan Hartley Made of meat. http://tartley.com tartley at tartley.com +44 7737 062 225 twitter/skype: tartley From merllab at microsoft.com Mon Oct 19 17:53:05 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Mon, 19 Oct 2009 08:53:05 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <1b92ee3a-d678-49bf-8551-85db4c0d0922@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60269. ADDED SOURCES $/IronPython/IronPython_Main/Src/Tests/XLang $/IronPython/IronPython_Main/Src/Tests/XLang/some_ruby_file.rb MODIFIED SOURCES $/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/CommonDictionaryStorage.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Importer.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Set.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OverloadResolver.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/ComInterop/ComRuntimeHelpers.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompiler.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/ErrorSink.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ScriptScope.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ErrorListenerProxy.cs $/IronPython/IronPython_Main/Src/IronPythonConsole/Console.cs $/IronPython/IronPython_Main/Src/Tests/interop/net/method/test_arguments.py $/IronPython/IronPython_Main/Src/Tests/test_set.py $/IronPython/IronPython_Main/Src/Tests/test_importpkg.py $/IronPython/IronPython_Main/Src/Tests/test_cliclass.py $/IronPython/IronPython_Main/Src/Tests/XLang/some_ruby_file.rb CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1220861 Date: 10/17/2009 3:41:20 PM (dinov) Fixes an issue reported by Resolver relating to sets & bad hash implementations. Our Contains check can fail to find the original object if the hash code changes. Instead we now track a version number on dictionary objects. Resolver has already worked around this but this makes us more compatible w/ Cpython. Test added to test_set Fixes another Resolver bug (http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=24929) - __float__ isn?t defined on Int64. We need to consider ConvertTo* methods and manifest them as __float__ methods. Test added to test_cliclass. Fixes a broken perf test ? we need to load IronPython from configuration not just using the Python class so that other languages will be available via clr.Use. Test added to test_cliclass. Fixes an importer issue which prevents json from being imported. We are doing too many checks if __package__ is set which causes the import to fail. Test added to test_importpkg. Also fixing an issue failing in the full sign off run ? ComRuntimeHelpers is generating unsafe methods into Snippets which fail verification. Now we just create a one-off assembly for this and never verify it (test already exists in full sign off run). (Shelveset: More26BugFixesAndRaiseModesTimeout;REDMOND\dinov | SNAP CheckinId: 9643) From merllab at microsoft.com Mon Oct 19 21:08:37 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Mon, 19 Oct 2009 12:08:37 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <19540d52-ef12-41d1-80fa-b1bed375adcc@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/60285. ADDED SOURCES $/IronPython/IronPython_2_6/Src/Tests/XLang $/IronPython/IronPython_2_6/Src/Tests/XLang/some_ruby_file.rb MODIFIED SOURCES $/IronPython/IronPython_2_6/Doc/dotnet-integration.rst $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/ComInterop/ComRuntimeHelpers.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/PythonProtocol.Operations.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/OldInstance.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/PythonTypeDataSlot.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/ReflectedExtensionProperty.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/CommonDictionaryStorage.cs $/IronPython/IronPython_2_6/Src/IronPythonConsole/Console.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/PythonOps.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Operations/CustomTypeDescHelpers.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Importer.cs $/IronPython/IronPython_2_6/Doc/IronPython.css $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Binding/MetaPythonType.Members.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/NewTypeMaker.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Types/TypeInfo.cs $/IronPython/IronPython_2_6/Src/IronPython/Runtime/Set.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Utils/ReflectionUtils.cs $/IronPython/IronPython_2_6/Src/Tests/interop/net/type/test_defaultmember.py $/IronPython/IronPython_2_6/Src/Tests/Modes/ConsoleFlags.ps1 $/IronPython/IronPython_2_6/Src/Tests/check_result.bat $/IronPython/IronPython_2_6/Src/Tests/run_transformed.bat $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Actions/DynamicMetaObjectBinder.cs $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/DebuggableLambdaBuilder.cs $/IronPython/IronPython_2_6/Src/Tests/test_importpkg.py $/IronPython/IronPython_2_6/Src/Tests/test_cliclass.py $/IronPython/IronPython_2_6/Src/Tests/test_set.py $/IronPython/IronPython_2_6/Src/Tests/XLang/some_ruby_file.rb $/IronPython/IronPython_2_6/Tutorial/Tutorial.htm From christian2.schmidt at gmx.de Mon Oct 19 21:12:26 2009 From: christian2.schmidt at gmx.de (Christian Schmidt) Date: Mon, 19 Oct 2009 21:12:26 +0200 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADC8970.3070307@tartley.com> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> <4ADC8970.3070307@tartley.com> Message-ID: <4ADCBA1A.9070206@gmx.de> Hi all, thanks for your discussion. Actually I'm having an in-memory table of strongly typed columns. The user can provide per-row (python-)expressions as additional columns. Now if the user wants his result to be exported to a database (e.g. SQL Server or Oracle) I need to set a type for each column - also for the expression columns. I thought there might be a way to figure out the return type in a similar way for example Boo (boo.codehaus.org) does at compile time. When an expression is parsed at runtime, the interpreter also needs to decide which .NET-functions to call. For strongly typed input these functions should normally have typed return values... Wouldn't this work somehow? If the Boo way is not possible then the only option is evaluating the expressions for some random rows and coerce to a common type. What would be the rules? int->float->string is trivial, but what about decimal, int64, double, ...? I assume python must have implemented these rules somewhere. How would one have to implement the general function: Type GetCoercedType(IEnumerable list) { ... } Thanks, Christian From stephen.p.lepisto at intel.com Mon Oct 19 21:17:31 2009 From: stephen.p.lepisto at intel.com (Lepisto, Stephen P) Date: Mon, 19 Oct 2009 12:17:31 -0700 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADCBA1A.9070206@gmx.de> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> <4ADC8970.3070307@tartley.com> <4ADCBA1A.9070206@gmx.de> Message-ID: <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DF5E@orsmsx510.amr.corp.intel.com> Christian, Would it be possible to leave the columns as text then coerce at the time the data is read from the database? In other words, convert the result of the python expression to a string and store the string in the database. Then, when the result is needed, coerce the string to a more suitable type. In other words, defer when the type needs to be known until the value is used. -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Christian Schmidt Sent: Monday, October 19, 2009 12:12 PM To: Discussion of IronPython Subject: Re: [IronPython] Type analysis of expression Hi all, thanks for your discussion. Actually I'm having an in-memory table of strongly typed columns. The user can provide per-row (python-)expressions as additional columns. Now if the user wants his result to be exported to a database (e.g. SQL Server or Oracle) I need to set a type for each column - also for the expression columns. I thought there might be a way to figure out the return type in a similar way for example Boo (boo.codehaus.org) does at compile time. When an expression is parsed at runtime, the interpreter also needs to decide which .NET-functions to call. For strongly typed input these functions should normally have typed return values... Wouldn't this work somehow? If the Boo way is not possible then the only option is evaluating the expressions for some random rows and coerce to a common type. What would be the rules? int->float->string is trivial, but what about decimal, int64, double, ...? I assume python must have implemented these rules somewhere. How would one have to implement the general function: Type GetCoercedType(IEnumerable list) { ... } Thanks, Christian _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From christian2.schmidt at gmx.de Mon Oct 19 21:52:32 2009 From: christian2.schmidt at gmx.de (Christian Schmidt) Date: Mon, 19 Oct 2009 21:52:32 +0200 Subject: [IronPython] Type analysis of expression In-Reply-To: <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DF5E@orsmsx510.amr.corp.intel.com> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> <4ADC8970.3070307@tartley.com> <4ADCBA1A.9070206@gmx.de> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DF5E@orsmsx510.amr.corp.intel.com> Message-ID: <4ADCC380.6050401@gmx.de> Stephen, > Would it be possible to leave the columns as text then coerce at the > time the data is read from the database? In other words, convert the > result of the python expression to a string and store the string in > the database. Then, when the result is needed, coerce the string to > a more suitable type. In other words, defer when the type needs to > be known until the value is used. This would not be an option, because a reading system is normally not pythonic. And it would not be very user friendly. In normal circumstances the result type should be very easily identifyable - at least for a programmer user... From vernondcole at gmail.com Mon Oct 19 22:33:19 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Mon, 19 Oct 2009 14:33:19 -0600 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADCC380.6050401@gmx.de> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> <4ADC8970.3070307@tartley.com> <4ADCBA1A.9070206@gmx.de> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DF5E@orsmsx510.amr.corp.intel.com> <4ADCC380.6050401@gmx.de> Message-ID: Christian: Maybe I'm missing the point -- are you trying to load data into an existing data table, or to DEFINE a new data table? I was assuming the former, a fairly easy case. If you are trying to create Data Definition Language to create a new table, then you have a real challenge. DDL is not well standardized, and you will either need to have a great deal of knowledge about the capabilities of your underlying database, or use only the simplest of data types. (Int, float, and var-string would be about it.) Introspection of a Python expression would be the least of your problems. If columns must be nailed down to some specific system data type, then, I suspect, the user will have to make the decision for you, somewhat like a spreadsheet user does. -- Vernon On Mon, Oct 19, 2009 at 1:52 PM, Christian Schmidt < christian2.schmidt at gmx.de> wrote: > Stephen, > > Would it be possible to leave the columns as text then coerce at the >> time the data is read from the database? In other words, convert the >> result of the python expression to a string and store the string in >> the database. Then, when the result is needed, coerce the string to >> a more suitable type. In other words, defer when the type needs to >> be known until the value is used. >> > > This would not be an option, because a reading system is normally not > pythonic. And it would not be very user friendly. > In normal circumstances the result type should be very easily identifyable > - at least for a programmer user... > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vernondcole at gmail.com Mon Oct 19 22:52:25 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Mon, 19 Oct 2009 14:52:25 -0600 Subject: [IronPython] adodbapi works correctly on RC1. Message-ID: I Py 2.6 RC1 successfully passes all tests for adodbapi. Congratulations! You now have a fully PEP 249 compliant database engine on IronPython. Now someone needs to remember to re-enable the tests in the test suite which were commented out previously, so that regressions do not occur. In particular, you need to run adodbapitest.py (which tests the end-to-end operation) in addition to test_adodbapi_dbapi20.py (which only tests the module for standards compliance.) -- Vernon Cole -------------- next part -------------- An HTML attachment was scrubbed... URL: From curt at hagenlocher.org Mon Oct 19 22:53:52 2009 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Mon, 19 Oct 2009 13:53:52 -0700 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADCBA1A.9070206@gmx.de> References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> <4ADC8970.3070307@tartley.com> <4ADCBA1A.9070206@gmx.de> Message-ID: On Mon, Oct 19, 2009 at 12:12 PM, Christian Schmidt wrote: > > When an > expression is parsed at runtime, the interpreter also needs to decide which > .NET-functions to call. For strongly typed input these functions should > normally have typed return values... Wouldn't this work somehow? Sure. That's how you create the "intellisense" experience. I don't know if there are any open source Python intellisense engines, though, and even if there were, it would need to be adapted to understand .NET. -- Curt Hagenlocher curt at hagenlocher.org From seob at gmx.ch Tue Oct 20 09:26:12 2009 From: seob at gmx.ch (Severin) Date: Tue, 20 Oct 2009 09:26:12 +0200 Subject: [IronPython] IMAP4_SSL in 2.0.2 and 2.6 Message-ID: Hi, I use IronPython to send e-mails with imap4. It seems that version 2.0.2 has SSL support whereas 2.6 doesn't. Why is that? My understanding would be that SSL should or shouldn't work with both versions... Severin -------------- next part -------------- An HTML attachment was scrubbed... URL: From christian2.schmidt at gmx.de Tue Oct 20 10:23:29 2009 From: christian2.schmidt at gmx.de (Christian Schmidt) Date: Tue, 20 Oct 2009 10:23:29 +0200 Subject: [IronPython] Type analysis of expression In-Reply-To: References: <4ADC0F5A.8010809@gmx.de> <4ADC4B84.6090505@voidspace.org.uk> <1256167.1255961375078.JavaMail.root@n17> <4ADC7546.4080809@tartley.com> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DAEC@orsmsx510.amr.corp.intel.com> <25232872.1255963395484.JavaMail.root@n17> <4ADC8970.3070307@tartley.com> <4ADCBA1A.9070206@gmx.de> <6AF28EB9F93A354894F2F3916DF6F96E0C82C4DF5E@orsmsx510.amr.corp.intel.com> <4ADCC380.6050401@gmx.de> Message-ID: <4ADD7381.7070700@gmx.de> Hi Vernon, > Maybe I'm missing the point -- are you trying to load data into an > existing data table, or to DEFINE a new data table? Sorry for not clarifying this. I'm able to export to _new_ tables, which will be created at runtime. For existing tables we could easily work out with the .NET-Convert mechanisms. > If you are trying to create Data Definition Language to create a new > table, then you have a real challenge. DDL is not well standardized, > and you will either need to have a great deal of knowledge about the > capabilities of your underlying database, or use only the simplest of > data types. (Int, float, and var-string would be about it.) We have restricted ourselves to Oracle, SQL Server and partly Access and we only use simple types (int, double, decimal Datetime, strings of varying size, ...) > Introspection of a Python expression would be the least of your > problems. If columns must be nailed down to some specific system data > type, then, I suspect, the user will have to make the decision for you, > somewhat like a spreadsheet user does. That's the point. In Excel the user does not have to worry about data types. Excel does it - although the result is not always satisfactory (e.g. with zip codes). And one further weakness of Excel is that the cells within a column do not have equal types. Christian From merllab at microsoft.com Tue Oct 20 17:53:20 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Tue, 20 Oct 2009 08:53:20 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: 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/60315. MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1222607 Date: 10/19/2009 2:18:03 PM .NET interop docs From dinov at microsoft.com Tue Oct 20 19:40:55 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 20 Oct 2009 17:40:55 +0000 Subject: [IronPython] IMAP4_SSL in 2.0.2 and 2.6 In-Reply-To: References: Message-ID: <1A472770E042064698CB5ADC83A12ACD04B0823A@TK5EX14MBXC116.redmond.corp.microsoft.com> You can give a little more information on how it is failing? It looks like we are missing the ssl module (implemented in Python but not included in IronPython because we don't implement _ssl) which is new in 2.6 but we still have all the old SSL support that previously existed in the socket module. I don't think we'll slip in _ssl for 2.6.0 but it's something we can probably fix for 2.6.1. From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Severin Sent: Tuesday, October 20, 2009 12:26 AM To: Discussion of IronPython Subject: [IronPython] IMAP4_SSL in 2.0.2 and 2.6 Hi, I use IronPython to send e-mails with imap4. It seems that version 2.0.2 has SSL support whereas 2.6 doesn't. Why is that? My understanding would be that SSL should or shouldn't work with both versions... Severin -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdhardy at gmail.com Tue Oct 20 20:33:04 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 20 Oct 2009 12:33:04 -0600 Subject: [IronPython] IronPython 2.6 for .NET 4.0 Beta 2 Message-ID: I know, I know, it's not even publicly available yet, but I'm impatient :). Is it going to be available soon-ish, or are you guys busy enough as it is? - Jeff From dfugate at microsoft.com Tue Oct 20 20:45:49 2009 From: dfugate at microsoft.com (Dave Fugate) Date: Tue, 20 Oct 2009 18:45:49 +0000 Subject: [IronPython] IronPython 2.6 for .NET 4.0 Beta 2 In-Reply-To: References: Message-ID: <7CEEC335D70FFE4B957737DDE836F51B0E72DE67@TK5EX14MBXC123.redmond.corp.microsoft.com> It'll be released tomorrow when .NET 4.0 Beta 2 is available to all;) -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Jeff Hardy Sent: Tuesday, October 20, 2009 11:33 AM To: Discussion of IronPython Subject: [IronPython] IronPython 2.6 for .NET 4.0 Beta 2 I know, I know, it's not even publicly available yet, but I'm impatient :). Is it going to be available soon-ish, or are you guys busy enough as it is? - Jeff _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From dinov at microsoft.com Tue Oct 20 20:44:30 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 20 Oct 2009 18:44:30 +0000 Subject: [IronPython] IronPython 2.6 for .NET 4.0 Beta 2 In-Reply-To: References: Message-ID: <1A472770E042064698CB5ADC83A12ACD04B08997@TK5EX14MBXC116.redmond.corp.microsoft.com> We're planning on releasing a CTP tomorrow when the beta is publicly available. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Jeff Hardy > Sent: Tuesday, October 20, 2009 11:33 AM > To: Discussion of IronPython > Subject: [IronPython] IronPython 2.6 for .NET 4.0 Beta 2 > > I know, I know, it's not even publicly available yet, but I'm > impatient :). Is it going to be available soon-ish, or are you guys > busy enough as it is? > > - Jeff > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From josh at globalherald.net Tue Oct 20 20:48:29 2009 From: josh at globalherald.net (Josh) Date: Tue, 20 Oct 2009 14:48:29 -0400 Subject: [IronPython] adodbapi works correctly on RC1. In-Reply-To: References: Message-ID: <4ADE05FD.1090005@globalherald.net> "I Py 2.6 RC1 successfully passes all tests for adodbapi. Congratulations! You now have a fully PEP 249 compliant database engine on IronPython." Excellent. I wonder if this bodes well for Django out of the box on IPy 2.6? Is there still an issue of Django's handling of Unicode for binary data? From jdhardy at gmail.com Tue Oct 20 21:06:38 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 20 Oct 2009 13:06:38 -0600 Subject: [IronPython] IronPython 2.6 for .NET 4.0 Beta 2 In-Reply-To: <7CEEC335D70FFE4B957737DDE836F51B0E72DE67@TK5EX14MBXC123.redmond.corp.microsoft.com> References: <7CEEC335D70FFE4B957737DDE836F51B0E72DE67@TK5EX14MBXC123.redmond.corp.microsoft.com> Message-ID: On Tue, Oct 20, 2009 at 12:45 PM, Dave Fugate wrote: > It'll be released tomorrow when .NET 4.0 Beta 2 is available to all;) On Tue, Oct 20, 2009 at 12:44 PM, Dino Viehland wrote: > We're planning on releasing a CTP tomorrow when the beta is publicly > available. Thanks, guys! That's even sooner than I was expecting. - Jeff From vernondcole at gmail.com Tue Oct 20 21:25:25 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Tue, 20 Oct 2009 13:25:25 -0600 Subject: [IronPython] adodbapi works correctly on RC1. In-Reply-To: <4ADE05FD.1090005@globalherald.net> References: <4ADE05FD.1090005@globalherald.net> Message-ID: Do not hold your breath. I understand that there is a problem with unicode vs str in django. The PEP 429 specifies a BINARY constructor (which within adodbapi has different definitions for Python2.x and Python3.x) which a user can call to get a piece of raw memory. Django does not seem to have similar functionality, and all that will have to be fixed before porting to Python 3. IronPython uses 'str' as a synonym for 'unicode' -- so it is halfway there, and porting to IPy is a good step in getting ready for Python 3. Internally in adodbapi I use the symbols 'makeByteBuffer' and 'memoryViewType' when I need to refer to raw bytes. Django will need something like that. Also, the version of adodbapi which is used in the django-MSsql project was forked off before the IronPython support was added. I have communicated with the authors and will try to make a new version of adodbapi which has all of the functionality needed for django, so that this fork can be merged in. I do not know whether the other dbapi modules for IronPython are complete enough to support django, but I kind of doubt it. The database access code in django seems to be quite version specific for database api modules. Again, ADO should be able to replace any of them -- but it will take some work to get there. -- Vernon On Tue, Oct 20, 2009 at 12:48 PM, Josh wrote: > > "I Py 2.6 RC1 successfully passes all tests for adodbapi. Congratulations! > You now have a fully PEP 249 compliant database engine on IronPython." > > Excellent. I wonder if this bodes well for Django out of the box on IPy > 2.6? Is there still an issue of Django's handling of Unicode for binary > data? > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From seob at gmx.ch Wed Oct 21 09:57:34 2009 From: seob at gmx.ch (Severin) Date: Wed, 21 Oct 2009 09:57:34 +0200 Subject: [IronPython] IMAP4_SSL in 2.0.2 and 2.6 In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04B0823A@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <1A472770E042064698CB5ADC83A12ACD04B0823A@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: sure, I opened a new issue on codeplex. http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=25026 On Tue, Oct 20, 2009 at 7:40 PM, Dino Viehland wrote: > You can give a little more information on how it is failing? It looks > like we are missing the ssl module (implemented in Python but not included > in IronPython because we don?t implement _ssl) which is new in 2.6 but we > still have all the old SSL support that previously existed in the socket > module. I don?t think we?ll slip in _ssl for 2.6.0 but it?s something we > can probably fix for 2.6.1. > > > > *From:* users-bounces at lists.ironpython.com [mailto: > users-bounces at lists.ironpython.com] *On Behalf Of *Severin > *Sent:* Tuesday, October 20, 2009 12:26 AM > *To:* Discussion of IronPython > *Subject:* [IronPython] IMAP4_SSL in 2.0.2 and 2.6 > > > > Hi, > > > > I use IronPython to send e-mails with imap4. > > > > It seems that version 2.0.2 has SSL support whereas 2.6 doesn't. > > Why is that? > > > > My understanding would be that SSL should or shouldn't work with both > versions... > > > > Severin > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Wed Oct 21 14:45:48 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Wed, 21 Oct 2009 15:45:48 +0300 Subject: [IronPython] Wildcard conf on IIS6 In-Reply-To: References: <20091009192947.GJ17007@nysv.org> <20091018105234.GB22055@nysv.org> Message-ID: <20091021124548.GF22055@nysv.org> On Sun, Oct 18, 2009 at 06:40:57PM -0600, Jeff Hardy wrote: >2009/10/18 Markus T?rnqvist : >> Now http://localhost/ works as well, hooray! >So you were able to get the HelloWorld app to work using wildcards, correct? Yeah, like we discussed off-list, it started working. My mistake was the Verify that file exists checkbox, I thought it was about the isapi handler file, because I haven't thought of URLs as files for years :/ But that's what it means, the wildcard would be used only for paths that also have a physical file in some location... I'm also catching a flu here, which kinda sets me back, but it might be NWSGI has issues with Django and paths on another level. I get redirected to /set_test_cookie/ as expected, but it raises an exception in django\views\debug.py:246 or so, the exception.args[0]['tried'] part raises a KeyError. Hacking around, raise ValueError('|%s|' % exception.args[0]) looks like |{'path': 'set_test_cookie/'}| I traced the problem to urlresolvers.py:199, resolve function, which raises Resolver404, {'path' : path} This is tested on Django 1.0.3 and 1.0.4 (with the appropriate patches from http://bitbucket.org/jdhardy/django-ipy/ of course :) Jeff, is there something "interesting" in NWSGI and path handling? I'll probably look at this later, but I'm not feeling up to heavy thinking right now, monkeying around with this was tough enough with the flu ;) Thanks! -- mjt From merllab at microsoft.com Wed Oct 21 17:53:20 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Wed, 21 Oct 2009 08:53:20 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <3602b8dd-510c-473e-b59b-b0870c5f4235@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60356. MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Tests/regressions.py $/IronPython/IronPython_Main/Src/Tests/test_stdconsole.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1224500 Date: 10/20/2009 12:59:56 PM (dfugate) - 410825 (test_descr.py) - enabled regression. Fixed - CP24691 (regressions.py) - added regression. Fixed - CP24690 (regressions.py) - added regression. Fixed - CP24692 (regressions.py) - added regression. Fixed - unbelievably we weren't running CPy's test_logging.py. Fixed - removed remaining JSX tests (Shelveset: CP75;REDMOND\dfugate | SNAP CheckinId: 9660) -------------------------------------------------------------------------------- Changeset Id: 1224500 Date: 10/20/2009 12:59:56 PM (dfugate) - 410825 (test_descr.py) - enabled regression. Fixed - CP24691 (regressions.py) - added regression. Fixed - CP24690 (regressions.py) - added regression. Fixed - CP24692 (regressions.py) - added regression. Fixed - unbelievably we weren't running CPy's test_logging.py. Fixed - removed remaining JSX tests (Shelveset: CP75;REDMOND\dfugate | SNAP CheckinId: 9660) From jdhardy at gmail.com Wed Oct 21 20:02:57 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Wed, 21 Oct 2009 12:02:57 -0600 Subject: [IronPython] Type analysis of expression In-Reply-To: <4ADC0F5A.8010809@gmx.de> References: <4ADC0F5A.8010809@gmx.de> Message-ID: On Mon, Oct 19, 2009 at 1:03 AM, Christian Schmidt wrote: > I know that the return type of a dynamic expression cannot be determined > in general. But what would be a pragmatic way to guess the return type > of an expression? Can you give some examples of expressions you need to infer? - Jeff From dinov at microsoft.com Wed Oct 21 22:30:56 2009 From: dinov at microsoft.com (Dino Viehland) Date: Wed, 21 Oct 2009 20:30:56 +0000 Subject: [IronPython] Announcing IronPython 2.6 CTP for .NET 4.0 Beta 2 Message-ID: <1A472770E042064698CB5ADC83A12ACD04B11D62@TK5EX14MBXC116.redmond.corp.microsoft.com> Hello Python Community, We're quite pleased to announce the release of "IronPython 2.6 CTP for .NET 4.0 Beta 2".? This is our third preview of IronPython running under the Dynamic Language Runtime that is built directly into a .NET 4.0 release!? As before, this release allows you to use IronPython objects and types as .NET 4.0 dynamic objects from within C# and Visual Basic code.? This release is extremely similar to IronPython 2.6 RC 1.? Please also note that "IronPython 2.6 CTP for .NET 4.0 Beta 2" will run only under .NET 4.0 Beta 2. Here's a small example showing just how powerful the new dynamic feature is for taking advantage of dynamic language functionality in statically typed languages: ??? ?? ?????import random, math ??? ???? ??? ????class Mock(object): ??? ????????def __getattr__(self, key): ??????????????? """Mock objects of this type will dynamically implement any requested member""" ??? ????????????return random.choice(["hello world", math.pi]) ??? ? ??? ?? ?????using System; ?? ?????using IronPython.Hosting; ?? ?????using Microsoft.Scripting.Hosting; ?????? ? ?? ?????public class dynamic_demo { ?? ?????????static void Main() {????? ?????? ????????var ipy = Python.CreateRuntime(); ??????? ???????dynamic mock = ipy.UseFile("mock.py"); ??????? ???????dynamic m = mock.Mock(); ????????????? ?//The Python Mock type dynamically implements any member that is requested of it ?????????????? System.Console.WriteLine(m.the_csharp_compiler_cannot_possbily_know_this_member_exists_at_compile_time); ?????????? ?} ??? ????} ??? To try out this preview release: 1. Install some variant of .NET 4.0 Beta 2 or Visual Studio 2010 Beta 2.? E.g., http://www.microsoft.com/downloads/details.aspx?FamilyID=9f5e8774-c8dc-4ff6-8285-03a4c387c0db&displaylang=en 2. Install? IronPython 2.6 CTP for .NET 4.0 Beta 2.msi from http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28125 3. Follow any of the many dynamic walkthroughs online.? http://blogs.msdn.com/vbteam/archive/2008/12/17/walkthrough-dynamic-programming-in-visual-basic-10-0-and-c-4-0-lisa-feigenbaum.aspx would be a good start Have fun! The IronPython Team From william at resolversystems.com Thu Oct 22 15:37:28 2009 From: william at resolversystems.com (William Reade) Date: Thu, 22 Oct 2009 14:37:28 +0100 Subject: [IronPython] SystemError while compiling PIL.Image Message-ID: <4AE06018.2030807@resolversystems.com> Transcript follows. The contents of the file don't look obviously weird. Does anyone have any idea what the problem might be? Cheers William ------------------------------------------------------------------------- C:\dev\ironclad>ipy -X:ExceptionDetail C:\Python26\Lib\site-packages\PIL\Image.py Object reference not set to an instance of an object. at IronPython.Compiler.Ast.GlobalAllocator.GetVariable(AstGenerator ag, PythonVariable variable) at IronPython.Compiler.Ast.NameExpression.Transform(AstGenerator ag, Type type) at IronPython.Compiler.Ast.FunctionDefinition.TransformParameters(AstGenerator outer, AstGenerator inner, List`1 defaults, List`1 names, Boolean needsWrapperMethod, List`1 init) at IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpression(AstGenerator ag) at IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Statement body, SourceLocation prevStart) at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Statement body, SourceLocation prevStart) at IronPython.Compiler.Ast.IfStatement.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.FunctionDefinition.TryTransformBody(AstGenerator ag, List`1 statements) at IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpression(AstGenerator ag) at IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Statement body, SourceLocation prevStart) at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.ClassDefinition.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Statement body, SourceLocation prevStart) at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator ag) at IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Statement fromStmt) at IronPython.Compiler.Ast.PythonAst.Transform(AstGenerator ag) at IronPython.Compiler.Ast.PythonAst.TransformToAst(CompilationMode mode, CompilerContext context) at IronPython.Runtime.PythonContext.CompilePythonCode(Nullable`1 compilationMode, SourceUnit sourceUnit, CompilerOptions options, ErrorSink errorSink) at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit sourceCode, String moduleName, ModuleOptions options, Nullable`1 mode) at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit sourceCode, String moduleName, ModuleOptions options) at IronPython.Runtime.PythonContext.CompileModule(String fileName, String moduleName, SourceUnit sourceCode, ModuleOptions options, ScriptCode& scriptCode) at IronPython.Hosting.PythonCommandLine.RunFileWorker(String fileName) at IronPython.Hosting.PythonCommandLine.RunFile(String fileName) SystemError: Object reference not set to an instance of an object. ------------------------------------------------------------------------- From merllab at microsoft.com Thu Oct 22 17:54:10 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Thu, 22 Oct 2009 08:54:10 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: 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/60388. MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst $/IronPython/IronPython_Main/Src/IronPython/Runtime/Exceptions/PythonExceptions.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Generator.cs $/IronPython/IronPython_Main/Src/Tests/regressions.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1227952 Date: 10/21/2009 9:57:12 PM (sborde) CLR exception should include Python exception class name even for user exception types. We were leaving it empty because BaseException._message is initialized to "", whereas we were checking for null. Also fixes a bug in sortvsmdi.py which is exposed only if run with IPy 2.X. Snap uses IPy 1.0 which does not happen to have an issue with the incorrect code. We made a breaking change in IPy 2.X which exposes the issue. (Shelveset: msg;REDMOND\sborde | SNAP CheckinId: 9652) From dinov at microsoft.com Thu Oct 22 19:34:42 2009 From: dinov at microsoft.com (Dino Viehland) Date: Thu, 22 Oct 2009 17:34:42 +0000 Subject: [IronPython] SystemError while compiling PIL.Image In-Reply-To: <4AE06018.2030807@resolversystems.com> References: <4AE06018.2030807@resolversystems.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04B1AC96@TK5EX14MBXC116.redmond.corp.microsoft.com> Is there a parameter with a default value that is a name? If so what is the scope of the name in relation to the function definition? > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of William Reade > Sent: Thursday, October 22, 2009 6:37 AM > To: Discussion of IronPython > Subject: [IronPython] SystemError while compiling PIL.Image > > Transcript follows. The contents of the file don't look obviously > weird. > Does anyone have any idea what the problem might be? > > Cheers > William > > ----------------------------------------------------------------------- > -- > > C:\dev\ironclad>ipy -X:ExceptionDetail > C:\Python26\Lib\site-packages\PIL\Image.py > Object reference not set to an instance of an object. > at IronPython.Compiler.Ast.GlobalAllocator.GetVariable(AstGenerator > ag, PythonVariable variable) > at IronPython.Compiler.Ast.NameExpression.Transform(AstGenerator > ag, > Type type) > at > IronPython.Compiler.Ast.FunctionDefinition.TransformParameters(AstGener > ator > outer, AstGenerator inner, List`1 defaults, List`1 names, Boolean > needsWrapperMethod, List`1 init) > at > IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpressio > n(AstGenerator > ag) > at > IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at > IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > ement > body, SourceLocation prevStart) > at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) > at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator > ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at > IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > ement > body, SourceLocation prevStart) > at IronPython.Compiler.Ast.IfStatement.Transform(AstGenerator ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at > IronPython.Compiler.Ast.FunctionDefinition.TryTransformBody(AstGenerato > r > ag, List`1 statements) > at > IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpressio > n(AstGenerator > ag) > at > IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at > IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > ement > body, SourceLocation prevStart) > at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) > at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator > ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at IronPython.Compiler.Ast.ClassDefinition.Transform(AstGenerator > ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at > IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > ement > body, SourceLocation prevStart) > at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) > at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator > ag) > at > IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > ement > fromStmt) > at IronPython.Compiler.Ast.PythonAst.Transform(AstGenerator ag) > at IronPython.Compiler.Ast.PythonAst.TransformToAst(CompilationMode > mode, CompilerContext context) > at IronPython.Runtime.PythonContext.CompilePythonCode(Nullable`1 > compilationMode, SourceUnit sourceUnit, CompilerOptions options, > ErrorSink errorSink) > at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit > sourceCode, String moduleName, ModuleOptions options, Nullable`1 mode) > at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit > sourceCode, String moduleName, ModuleOptions options) > at IronPython.Runtime.PythonContext.CompileModule(String fileName, > String moduleName, SourceUnit sourceCode, ModuleOptions options, > ScriptCode& scriptCode) > at IronPython.Hosting.PythonCommandLine.RunFileWorker(String > fileName) > at IronPython.Hosting.PythonCommandLine.RunFile(String fileName) > SystemError: Object reference not set to an instance of an object. > > ----------------------------------------------------------------------- > -- > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From cenovsky at bakalari.cz Thu Oct 22 19:36:51 2009 From: cenovsky at bakalari.cz (Lukas Cenovsky) Date: Thu, 22 Oct 2009 19:36:51 +0200 Subject: [IronPython] .NET attributes for methods Message-ID: <4AE09833.8020203@bakalari.cz> Hi, I have read all DewHawk blogposts about .Net attributes in IronPython via __clrtype__ metaclass (http://devhawk.net/CategoryView,category,__clrtype__.aspx). He describes how to add attributes to classes but not to methods. Is there any example how to add attributes to a method. It looks like method generation is necessary (like for getter and setter or in http://www.voidspace.org.uk/python/weblog/arch_d7_2007_03_10.shtml#e659) but this is kind of deep magic for me... Thanks. -- -- Luk?? From gzlist at googlemail.com Thu Oct 22 23:50:08 2009 From: gzlist at googlemail.com (Martin (gzlist)) Date: Thu, 22 Oct 2009 22:50:08 +0100 Subject: [IronPython] The tale of a full HybridMapping and a not so tempfile Message-ID: I'm trying to complete some work getting a big project running on IronPython, but hit an issue where everything in the test suite would start failing after a certain point with errors along the lines of: Traceback (most recent call last): ... File "C:\Program Files\IronPython 2.6\Lib\tempfile.py", line 444, in NamedTemporaryFile (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags) File "C:\Program Files\IronPython 2.6\Lib\tempfile.py", line 228, in _mkstemp_inner fd = _os.open(file, flags, 0600) OSError: [Errno -2146233079] HybridMapping is full After a long boring trek over the hills of ignorance that may have been shorter if I'd seen that traceback first rather than other more obscure ones, the root cause turned out to be a failure to clean up temporary files. After IronPython has created 4096 of them and not removed any afterwards everything involving filenos starts to throwing. (As an aside, I wonder if using non-integer unique tokens like Jython mightn't be a better approach). The following issue tracker entry covers the tempfile issue: However the bug report gets it a little wrong, the problem is not that sys.platform == "win32" is false under IronPython, but rather that os.name == "nt" is still true, but IronPython silently ignores the os.O_TEMPORARY flag. A trivial work around is: if sys.platform == "cli": os.name = "nty" import tempfile os.name = "nt" However fixing this properly is also pretty simple, in Src/IronPython.Modules/nt.cs the open function just needs to make sure that File.Open gets passed DeleteOnClose. There may as well be a FileOptionsFromFlags as per the existing FileModeFromFlags and FileAccessFromFlags so that the following mappings are correct as well: os.O_SHORT_LIVED -> ? -> FILE_ATTRIBUTE_TEMPORARY os.O_TEMPORARY -> FileOptions.DeleteOnClose -> FILE_FLAG_DELETE_ON_CLOSE os.O_RANDOM -> FileOptions.RandomAccess -> FILE_FLAG_RANDOM_ACCESS os.O_SEQUENTIAL -> FileOptions.SequentialScan -> FILE_FLAG_SEQUENTIAL_SCAN Martin From fuzzyman at voidspace.org.uk Thu Oct 22 23:55:54 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Thu, 22 Oct 2009 22:55:54 +0100 Subject: [IronPython] Performance of IronPython vs C# Message-ID: <4AE0D4EA.2070909@voidspace.org.uk> Interesting blog post: http://loosexaml.wordpress.com/2009/10/21/performance-of-ironpython-vs-c-shar/ Good to see the improvement in performance when he switches to IronPython 2.6. :-) Michael -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From loocas at duber.cz Fri Oct 23 00:31:12 2009 From: loocas at duber.cz (Lukas Dubeda) Date: Fri, 23 Oct 2009 00:31:12 +0200 Subject: [IronPython] IronPython integration via dotNET Message-ID: <4AE0DD30.8050007@duber.cz> Hi there, me again with the same issue of me trying to integrate IronPython into 3ds Max via .NET. So far, after tons of trials/errors, I've reached a point where I really don't know where to go next. I understand most of you won't probably know MAXScript and 3ds Max, but I bet you're all pretty good at .NET and IP :) so, here's what I'm doing so far ("--" are single comment lines in MAXScript): -- I load an assembly class: assembly = dotNetClass "System.Reflection.Assembly" -- I load the IronPython dll: assembly.loadFrom "C:\IronPython-2.6\IronPython.dll" -- Then I load the iP hosting: ironPythonHosting = dotNetClass "IronPython.Hosting.Python" -- now I need the iP runtime: pythonRuntime = ironPythonHosting.CreateRuntime() -- I then try to get the Python engine itself: engine = pythonRuntime.GetEngine("Python") -- I understand that for running Python code in the current scope -- I need to create a scope object in order to "listen" to the -- output of Python, right? scope = engine.CreateScope() -- so far so good, now I'd like to execute a simple Print() function -- in iP and get its output back to Max: src = engine.CreateScriptSourceFromString("Print 'hello'") -- unfortunately this is where I hit the major road block -- when I try to execute the following code block: src.execute(scope) I get the following error: -- Runtime error: dotNet runtime exception: Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true. I have absolutely no idea how to get around this issue and how to get IronPython execute the Python code and return whatever it calculates back to the application I'm running it from so I could catch the return and use the values from within Max. Anyone has any idea? I should also mention that MAXScript is a dynamic scripting language within 3ds Max and that, even though I know MXS quite well as well as I know Python and have done tons of scripts and tools with these languages, I'm not a programmer, I'm a technical artist (as the official title says :) ). Thanks a lot in advance, I'll appretiate any tips and hints on this issue. - Lukas From fuzzyman at voidspace.org.uk Fri Oct 23 00:38:41 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Thu, 22 Oct 2009 23:38:41 +0100 Subject: [IronPython] IronPython integration via dotNET In-Reply-To: <4AE0DD30.8050007@duber.cz> References: <4AE0DD30.8050007@duber.cz> Message-ID: <4AE0DEF1.9020707@voidspace.org.uk> Lukas Dubeda wrote: > [snip...] > -- unfortunately this is where I hit the major road block > -- when I try to execute the following code block: > src.execute(scope) > > I get the following error: > > -- Runtime error: dotNet runtime exception: Late bound operations > cannot be performed on types or methods for which > ContainsGenericParameters is true. > ScriptSource.Execute is a generic method. Attempting to call generic methods like this using reflection (which presumably is what Max is doing) causes this kind of error. You have the same problem in Powershell - here's an example from Lee Holmes of how he solved it in Powershell: http://www.leeholmes.com/blog/InvokingGenericMethodsOnNonGenericClassesInPowerShell.aspx (Note that you will have to change 'P' in the 'Print' from your example code to 'p' (lowercase) for it to work anyway.) All the best, Michael Foord > > I have absolutely no idea how to get around this issue and how to get > IronPython execute the Python code and return whatever it calculates > back to the application I'm running it from so I could catch the return > and use the values from within Max. > > Anyone has any idea? > > I should also mention that MAXScript is a dynamic scripting language > within 3ds Max and that, even though I know MXS quite well as well as > I know Python and have done tons of scripts and tools with these > languages, I'm not a programmer, I'm a technical artist (as the official > title says :) ). > > Thanks a lot in advance, I'll appretiate any tips and hints on this > issue. > > - Lukas > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From loocas at duber.cz Fri Oct 23 00:45:01 2009 From: loocas at duber.cz (Lukas Dubeda) Date: Fri, 23 Oct 2009 00:45:01 +0200 Subject: [IronPython] IronPython integration via dotNET In-Reply-To: <4AE0DEF1.9020707@voidspace.org.uk> References: <4AE0DD30.8050007@duber.cz> <4AE0DEF1.9020707@voidspace.org.uk> Message-ID: <4AE0E06D.4080306@duber.cz> Hmm, thanks for the tip, I'll have a look at the code examples. Pitty I don't know C# nor C++ at all :/ - Lukas Michael Foord wrote: > Lukas Dubeda wrote: >> [snip...] >> -- unfortunately this is where I hit the major road block >> -- when I try to execute the following code block: >> src.execute(scope) >> >> I get the following error: >> >> -- Runtime error: dotNet runtime exception: Late bound operations >> cannot be performed on types or methods for which >> ContainsGenericParameters is true. >> > > ScriptSource.Execute is a generic method. Attempting to call generic > methods like this using reflection (which presumably is what Max is > doing) causes this kind of error. You have the same problem in > Powershell - here's an example from Lee Holmes of how he solved it in > Powershell: > > > http://www.leeholmes.com/blog/InvokingGenericMethodsOnNonGenericClassesInPowerShell.aspx > > > (Note that you will have to change 'P' in the 'Print' from your example > code to 'p' (lowercase) for it to work anyway.) > > All the best, > > Michael Foord >> >> I have absolutely no idea how to get around this issue and how to get >> IronPython execute the Python code and return whatever it calculates >> back to the application I'm running it from so I could catch the return >> and use the values from within Max. >> >> Anyone has any idea? >> >> I should also mention that MAXScript is a dynamic scripting language >> within 3ds Max and that, even though I know MXS quite well as well as >> I know Python and have done tons of scripts and tools with these >> languages, I'm not a programmer, I'm a technical artist (as the official >> title says :) ). >> >> Thanks a lot in advance, I'll appretiate any tips and hints on this >> issue. >> >> - Lukas >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > From loocas at duber.cz Fri Oct 23 00:46:09 2009 From: loocas at duber.cz (Lukas Dubeda) Date: Fri, 23 Oct 2009 00:46:09 +0200 Subject: [IronPython] IronPython integration via dotNET In-Reply-To: <4AE0DEF1.9020707@voidspace.org.uk> References: <4AE0DD30.8050007@duber.cz> <4AE0DEF1.9020707@voidspace.org.uk> Message-ID: <4AE0E0B1.8070601@duber.cz> Oh, by the way, Michael, your IronPython In Action book is FANTASTIC! Kudos to you, Chris Muirhead and all who contributed! - Lukas Michael Foord wrote: > Lukas Dubeda wrote: >> [snip...] >> -- unfortunately this is where I hit the major road block >> -- when I try to execute the following code block: >> src.execute(scope) >> >> I get the following error: >> >> -- Runtime error: dotNet runtime exception: Late bound operations >> cannot be performed on types or methods for which >> ContainsGenericParameters is true. >> > > ScriptSource.Execute is a generic method. Attempting to call generic > methods like this using reflection (which presumably is what Max is > doing) causes this kind of error. You have the same problem in > Powershell - here's an example from Lee Holmes of how he solved it in > Powershell: > > > http://www.leeholmes.com/blog/InvokingGenericMethodsOnNonGenericClassesInPowerShell.aspx > > > (Note that you will have to change 'P' in the 'Print' from your example > code to 'p' (lowercase) for it to work anyway.) > > All the best, > > Michael Foord >> >> I have absolutely no idea how to get around this issue and how to get >> IronPython execute the Python code and return whatever it calculates >> back to the application I'm running it from so I could catch the return >> and use the values from within Max. >> >> Anyone has any idea? >> >> I should also mention that MAXScript is a dynamic scripting language >> within 3ds Max and that, even though I know MXS quite well as well as >> I know Python and have done tons of scripts and tools with these >> languages, I'm not a programmer, I'm a technical artist (as the official >> title says :) ). >> >> Thanks a lot in advance, I'll appretiate any tips and hints on this >> issue. >> >> - Lukas >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > From ddicato at microsoft.com Fri Oct 23 04:43:11 2009 From: ddicato at microsoft.com (David DiCato) Date: Fri, 23 Oct 2009 02:43:11 +0000 Subject: [IronPython] Announcing IronPython 2.0.3 Message-ID: Hello Python Community, I am delighted to announce the release of IronPython 2.0.3. This release is a minor update to IronPython 2.0.2 and the latest in a series of CPython 2.5-compatible releases running on the .NET platform. Again, our priority was to make IronPython 2.0.3 a bugfix release that remains backwards-compatible with IronPython 2.0.2. In particular, we focused on issues the IronPython community brought to our attention through http://www.codeplex.com/. As such, there have been important improvements on the compatibility and stability of IronPython as summarized below. You can download IronPython 2.0.3 at: http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30416 Silverlight users: As of IronPython 2.0.2, a new version of Silverlight, namely Silverlight 3, is required to build the "Silverlight Release" and "Silverlight Debug" configurations of IronPython.sln. Please update Silverlight accordingly if you intend to do so. The following issues were fixed: * 24224 - UTF-8 encoding sometimes broken! * 19510 - Need to recognize DefaultMemberAttribute for __getitem__/__setitem__ * 24129 - 2.0.3: not should not be 1 * 21976 - 2.0.3: Executables created by Pyc.py broken without access to original Python sources * 24452 - 2.0: Fix FxCop warnings * 24453 - 2.0: Cannot build "FxCop" build configuration of IronPython.Modules.csproj * 24571 - 2.0.3: help(Array[Int32]) causes a traceback * 24373 - empty sys.argv in compiled scripts for 2.0 * 24475 - Creating a low-permission version of PythonEngine fails post 2.0.0 * An issue where sys.argv lacks its first argument (the executable name) in compiled scripts * A failure in partial trust on Windows 7 due to a SecurityException. Special thanks goes out to kanryu, fwereade, kuno, kylehr, and Vassi for bringing these issues to our attention. Thanks for spending the time and effort that allows us to continue improving IronPython! - The IronPython Team -------------- next part -------------- An HTML attachment was scrubbed... URL: From william at resolversystems.com Fri Oct 23 11:40:55 2009 From: william at resolversystems.com (William Reade) Date: Fri, 23 Oct 2009 10:40:55 +0100 Subject: [IronPython] SystemError while compiling PIL.Image In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04B1AC96@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <4AE06018.2030807@resolversystems.com> <1A472770E042064698CB5ADC83A12ACD04B1AC96@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: <4AE17A27.3030402@resolversystems.com> Hi Dino If I comment out 2 methods, the file parses fine. Uncommenting either is enough to cause it to fail. def convert(self, mode=None, data=None, dither=None, palette=WEB, colors=256): def rotate(self, angle, resample=NEAREST, expand=0): WEB and NEAREST are both set to 0 at module level; convert and rotate are both methods on the module-level old-style class Image. The only obvious common feature is that both have a non-name default parameter following a name default parameter, but I haven't managed to produce a minimal repro. If you're allowed to just look at other people's code willy-nilly, the file is Image.py in PIL 1.16 :). Cheers william Dino Viehland wrote: > Is there a parameter with a default value that is a name? If so what is the > scope of the name in relation to the function definition? > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of William Reade >> Sent: Thursday, October 22, 2009 6:37 AM >> To: Discussion of IronPython >> Subject: [IronPython] SystemError while compiling PIL.Image >> >> Transcript follows. The contents of the file don't look obviously >> weird. >> Does anyone have any idea what the problem might be? >> >> Cheers >> William >> >> ----------------------------------------------------------------------- >> -- >> >> C:\dev\ironclad>ipy -X:ExceptionDetail >> C:\Python26\Lib\site-packages\PIL\Image.py >> Object reference not set to an instance of an object. >> at IronPython.Compiler.Ast.GlobalAllocator.GetVariable(AstGenerator >> ag, PythonVariable variable) >> at IronPython.Compiler.Ast.NameExpression.Transform(AstGenerator >> ag, >> Type type) >> at >> IronPython.Compiler.Ast.FunctionDefinition.TransformParameters(AstGener >> ator >> outer, AstGenerator inner, List`1 defaults, List`1 names, Boolean >> needsWrapperMethod, List`1 init) >> at >> IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpressio >> n(AstGenerator >> ag) >> at >> IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat >> ement >> body, SourceLocation prevStart) >> at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) >> at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator >> ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat >> ement >> body, SourceLocation prevStart) >> at IronPython.Compiler.Ast.IfStatement.Transform(AstGenerator ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at >> IronPython.Compiler.Ast.FunctionDefinition.TryTransformBody(AstGenerato >> r >> ag, List`1 statements) >> at >> IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpressio >> n(AstGenerator >> ag) >> at >> IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat >> ement >> body, SourceLocation prevStart) >> at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) >> at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator >> ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at IronPython.Compiler.Ast.ClassDefinition.Transform(AstGenerator >> ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat >> ement >> body, SourceLocation prevStart) >> at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) >> at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator >> ag) >> at >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat >> ement >> fromStmt) >> at IronPython.Compiler.Ast.PythonAst.Transform(AstGenerator ag) >> at IronPython.Compiler.Ast.PythonAst.TransformToAst(CompilationMode >> mode, CompilerContext context) >> at IronPython.Runtime.PythonContext.CompilePythonCode(Nullable`1 >> compilationMode, SourceUnit sourceUnit, CompilerOptions options, >> ErrorSink errorSink) >> at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit >> sourceCode, String moduleName, ModuleOptions options, Nullable`1 mode) >> at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit >> sourceCode, String moduleName, ModuleOptions options) >> at IronPython.Runtime.PythonContext.CompileModule(String fileName, >> String moduleName, SourceUnit sourceCode, ModuleOptions options, >> ScriptCode& scriptCode) >> at IronPython.Hosting.PythonCommandLine.RunFileWorker(String >> fileName) >> at IronPython.Hosting.PythonCommandLine.RunFile(String fileName) >> SystemError: Object reference not set to an instance of an object. >> >> ----------------------------------------------------------------------- >> -- >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > From mjt at nysv.org Fri Oct 23 13:49:30 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 14:49:30 +0300 Subject: [IronPython] IronPython and PIL? Message-ID: <20091023114930.GQ22055@nysv.org> Hi! Clearly PIL doesn't exist for IronPython, right? I figured I'd debug the weird 404 behaviour with the debug server, but bumped into PIL not existing. I'm very surprised NWSGI/IIS allows the program to even start, as it doesn't start with runserver :/ Maybe this is related to the 404s in some very roundabout way? Anyway, to the point: My application uses ImageFields in the code, so although I exchanged all my own PIL stuff for System.Drawing stuff through clr, I'm still using ImageField. Which clearly does not work. Does anyone know if there exists a clr/ironpython ImageField implementation that doesn't use PIL? A quick Google didn't turn up anything... Thanks! -- mjt From loocas at duber.cz Fri Oct 23 14:14:22 2009 From: loocas at duber.cz (Lukas Dubeda) Date: Fri, 23 Oct 2009 14:14:22 +0200 Subject: [IronPython] IronPython integration via dotNET Message-ID: <4AE19E1E.7070104@duber.cz> Hi there everyone, it's me again with the IP integration problem :) I'm on an edge of giving up. I don't know what to do next, even after reading Lee Holmes' article as suggested by Michael Foord. Well, I tried to execute the scriptSourceFromString without specifying a scope as I've learned that the scope should be automatically taken care of during the hosting class instantiation. These are the last two lines of code I tried to execute: src = pythonEngine.CreateScriptSourceFromString("print 'hello'") src.execute() However, when executed, I get this new, interesting error: -- Runtime error: dotNet runtime exception: Ambiguous match found. I did an extensive search on this topic and I found that it might be related to either a bug in dotNET (hopefully not!) or that there are two variables in the classes of the same name, but I can't or don't know how to overcome this. Anyone has an idea? This is really getting to the point of giving up. Which'd be bad as I desperately need to call Python from within MAXScript for our other tools at the studio to communicate with. Thanks again for your time and effort, guys, much appretiated! - Lukas From fuzzyman at voidspace.org.uk Fri Oct 23 14:34:48 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Fri, 23 Oct 2009 13:34:48 +0100 Subject: [IronPython] IronPython integration via dotNET In-Reply-To: <4AE19E1E.7070104@duber.cz> References: <4AE19E1E.7070104@duber.cz> Message-ID: <4AE1A2E8.9060607@voidspace.org.uk> Lukas Dubeda wrote: > Hi there everyone, > > it's me again with the IP integration problem :) > > I'm on an edge of giving up. I don't know what to do next, > even after reading Lee Holmes' article as suggested by > Michael Foord. > > Well, I tried to execute the scriptSourceFromString without > specifying a scope as I've learned that the scope should > be automatically taken care of during the hosting class > instantiation. > > These are the last two lines of code I tried to execute: > > src = pythonEngine.CreateScriptSourceFromString("print 'hello'") > src.execute() > > However, when executed, I get this new, interesting error: > > -- Runtime error: dotNet runtime exception: Ambiguous match found. I would create a simple wrapper class in C# that does all the talking to IronPython and just exposes a single method that takes a string and executes it for you. That would get round all the problems you seem to be having with Max. I know you don't know C#, but if you start with some of the embedding examples in IronPython in Action it shouldn't be too hard. All the best, Michael Foord > > I did an extensive search on this topic and I found that it might > be related to either a bug in dotNET (hopefully not!) or that > there are two variables in the classes of the same name, but I can't > or don't know how to overcome this. > > Anyone has an idea? This is really getting to the point of giving up. > Which'd be bad as I desperately need to call Python from within > MAXScript for our other tools at the studio to communicate with. > > Thanks again for your time and effort, guys, much appretiated! > > - Lukas > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From curt at hagenlocher.org Fri Oct 23 14:35:33 2009 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Fri, 23 Oct 2009 05:35:33 -0700 Subject: [IronPython] IronPython integration via dotNET In-Reply-To: <4AE19E1E.7070104@duber.cz> References: <4AE19E1E.7070104@duber.cz> Message-ID: Execute has two variants with zero arity: a generic version and a non-generic version. It sounds like MAXScript isn't able to pick one of these. This isn't surprising for a dynamic language; I think IronPython might have the same problem. If the MAXScript language doesn't provide a way to manually specify which overload to select, your best bet is probably to write a small C# wrapper library that's a little more MAXScript friendly. On Fri, Oct 23, 2009 at 5:14 AM, Lukas Dubeda wrote: > Hi there everyone, > > it's me again with the IP integration problem :) > > I'm on an edge of giving up. I don't know what to do next, > even after reading Lee Holmes' article as suggested by > Michael Foord. > > Well, I tried to execute the scriptSourceFromString without > specifying a scope as I've learned that the scope should > be automatically taken care of during the hosting class > instantiation. > > These are the last two lines of code I tried to execute: > > src = pythonEngine.CreateScriptSourceFromString("print 'hello'") > src.execute() > > However, when executed, I get this new, interesting error: > > -- Runtime error: dotNet runtime exception: Ambiguous match found. > > I did an extensive search on this topic and I found that it might > be related to either a bug in dotNET (hopefully not!) or that > there are two variables in the classes of the same name, but I can't > or don't know how to overcome this. > > Anyone has an idea? This is really getting to the point of giving up. > Which'd be bad as I desperately need to call Python from within > MAXScript for our other tools at the studio to communicate with. > > Thanks again for your time and effort, guys, much appretiated! > > - Lukas > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From loocas at duber.cz Fri Oct 23 14:59:49 2009 From: loocas at duber.cz (Lukas Dubeda) Date: Fri, 23 Oct 2009 14:59:49 +0200 Subject: [IronPython] IronPython integration via dotNET In-Reply-To: <4AE1A2E8.9060607@voidspace.org.uk> References: <4AE19E1E.7070104@duber.cz> <4AE1A2E8.9060607@voidspace.org.uk> Message-ID: <4AE1A8C5.8030702@duber.cz> Thanks again for the input. I appretiate it. Well, it seems that this will be a good excuse to take a look at C# then :) I've tried to avoid it as much as possible, but it seems I won't be able to get away without it. But I'll finish the book first :D Thanks agian, to Curt Hagenlocher as well!, cheers, - Lukas Michael Foord wrote: > Lukas Dubeda wrote: >> Hi there everyone, >> >> it's me again with the IP integration problem :) >> >> I'm on an edge of giving up. I don't know what to do next, >> even after reading Lee Holmes' article as suggested by >> Michael Foord. >> >> Well, I tried to execute the scriptSourceFromString without >> specifying a scope as I've learned that the scope should >> be automatically taken care of during the hosting class >> instantiation. >> >> These are the last two lines of code I tried to execute: >> >> src = pythonEngine.CreateScriptSourceFromString("print 'hello'") >> src.execute() >> >> However, when executed, I get this new, interesting error: >> >> -- Runtime error: dotNet runtime exception: Ambiguous match found. > > I would create a simple wrapper class in C# that does all the talking to > IronPython and just exposes a single method that takes a string and > executes it for you. That would get round all the problems you seem to > be having with Max. > > I know you don't know C#, but if you start with some of the embedding > examples in IronPython in Action it shouldn't be too hard. > > All the best, > > Michael Foord > >> >> I did an extensive search on this topic and I found that it might >> be related to either a bug in dotNET (hopefully not!) or that >> there are two variables in the classes of the same name, but I can't >> or don't know how to overcome this. >> >> Anyone has an idea? This is really getting to the point of giving up. >> Which'd be bad as I desperately need to call Python from within >> MAXScript for our other tools at the studio to communicate with. >> >> Thanks again for your time and effort, guys, much appretiated! >> >> - Lukas >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > From william at resolversystems.com Fri Oct 23 15:42:23 2009 From: william at resolversystems.com (William Reade) Date: Fri, 23 Oct 2009 14:42:23 +0100 Subject: [IronPython] IronPython and PIL? In-Reply-To: <20091023114930.GQ22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> Message-ID: <4AE1B2BF.1070909@resolversystems.com> Hi Markus Parts of PIL should work with IronPython if you're willing to import ironclad first ( http://code.google.com/p/ironclad ). If you're still using ipy 2, the latest binary release should work for you. (If you're using 2.6, it definitely won't work right now, because ipy 2.6 can't parse PIL.Image) Incidentally, the reason I specify 'parts of' PIL is that it doesn't come with tests. I do have a few homebrew test cases that check for identical output when cpy and ipy do the same things -- and they do work -- but I can't claim any serious coverage. If you try Ironclad, please let me know how it works for you. Cheers William Markus T?rnqvist wrote: > Hi! > > Clearly PIL doesn't exist for IronPython, right? > > I figured I'd debug the weird 404 behaviour with the debug server, but > bumped into PIL not existing. > > I'm very surprised NWSGI/IIS allows the program to even start, as it > doesn't start with runserver :/ > > Maybe this is related to the 404s in some very roundabout way? > > Anyway, to the point: > My application uses ImageFields in the code, so although I exchanged > all my own PIL stuff for System.Drawing stuff through clr, I'm still > using ImageField. Which clearly does not work. > > Does anyone know if there exists a clr/ironpython ImageField implementation > that doesn't use PIL? A quick Google didn't turn up anything... > > Thanks! > From mjt at nysv.org Fri Oct 23 16:10:10 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 17:10:10 +0300 Subject: [IronPython] IronPython and PIL? In-Reply-To: <4AE1B2BF.1070909@resolversystems.com> References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> Message-ID: <20091023141010.GS22055@nysv.org> On Fri, Oct 23, 2009 at 02:42:23PM +0100, William Reade wrote: > Hi Markus > > Parts of PIL should work with IronPython if you're willing to import > ironclad first ( http://code.google.com/p/ironclad ). If you're still > using ipy 2, the latest binary release should work for you. I am not, because my primary objective is to get Django going, and that depends on NWSGI, and the latest NWSGI is for the latest IPY :/ > (If you're using 2.6, it definitely won't work right now, because ipy > 2.6 can't parse PIL.Image) The code that I'm looking at is: def get_image_dimensions(file_or_path): """Returns the (width, height) of an image, given an open file or a path.""" from PIL import ImageFile as PILImageFile p = PILImageFile.Parser() if hasattr(file_or_path, 'read'): file = file_or_path else: file = open(file_or_path, 'rb') while 1: data = file.read(1024) if not data: break p.feed(data) if p.image: return p.image.size return None That's very explicitly parsing, sorry :/ def get_image_dimensions(file_or_path): img = System.Drawing.Image.FromFile(file_or_path) size = (img.Size.Width, img.Size.Height) return size or somesuch may or may not fill the need here. I haven't tried that code yet, I just coded it in this email ;P > Incidentally, the reason I specify 'parts of' PIL is that it doesn't > come with tests. I do have a few homebrew test cases that check for > identical output when cpy and ipy do the same things -- and they do work > -- but I can't claim any serious coverage. > > If you try Ironclad, please let me know how it works for you. If the parsing doesn't work, I'm not sure there's much for me to try, because I have a specific need here :| Ironclad does, however, seem like a very good and much needed project and if you get the 2.6 stuff going, it would be great! :) Thanks! -- mjt From vernondcole at gmail.com Fri Oct 23 16:45:03 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Fri, 23 Oct 2009 08:45:03 -0600 Subject: [IronPython] IronPython and PIL? In-Reply-To: <20091023141010.GS22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> Message-ID: Markus: What database engine are you using? I am also interested in this project and would like to help out. -- Vernon Cole 2009/10/23 Markus T?rnqvist > On Fri, Oct 23, 2009 at 02:42:23PM +0100, William Reade wrote: > > Hi Markus > > > > Parts of PIL should work with IronPython if you're willing to import > > ironclad first ( http://code.google.com/p/ironclad ). If you're still > > using ipy 2, the latest binary release should work for you. > > I am not, because my primary objective is to get Django going, and > that depends on NWSGI, and the latest NWSGI is for the latest IPY :/ > > > (If you're using 2.6, it definitely won't work right now, because ipy > > 2.6 can't parse PIL.Image) > > The code that I'm looking at is: > def get_image_dimensions(file_or_path): > """Returns the (width, height) of an image, given an open file or a > path.""" > from PIL import ImageFile as PILImageFile > p = PILImageFile.Parser() > if hasattr(file_or_path, 'read'): > file = file_or_path > else: > file = open(file_or_path, 'rb') > while 1: > data = file.read(1024) > if not data: > break > p.feed(data) > if p.image: > return p.image.size > return None > > That's very explicitly parsing, sorry :/ > > def get_image_dimensions(file_or_path): > img = System.Drawing.Image.FromFile(file_or_path) > size = (img.Size.Width, img.Size.Height) > > return size > > or somesuch may or may not fill the need here. I haven't tried > that code yet, I just coded it in this email ;P > > > Incidentally, the reason I specify 'parts of' PIL is that it doesn't > > come with tests. I do have a few homebrew test cases that check for > > identical output when cpy and ipy do the same things -- and they do work > > -- but I can't claim any serious coverage. > > > > If you try Ironclad, please let me know how it works for you. > > If the parsing doesn't work, I'm not sure there's much for me to try, > because I have a specific need here :| > > Ironclad does, however, seem like a very good and much needed project > and if you get the 2.6 stuff going, it would be great! :) > > Thanks! > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From merllab at microsoft.com Fri Oct 23 17:53:02 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 23 Oct 2009 08:53:02 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <65467214-116c-465f-85f7-71ca07a72add@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60395. ADDED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/ArrayOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/CallInstruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/CallInstruction.Generated.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/Instruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/InstructionFactory.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/LocalAccess.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/StackOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompilerDebugView.cs DELETED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Utils/ReflectedCaller.Generated.cs MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/DynamicInstructions.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Actions/Calls/MethodCandidate.cs $/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/ArrayOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/CallInstruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/CallInstruction.Generated.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/Instruction.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/InstructionFactory.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/LocalAccess.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/Instructions/StackOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompilerDebugView.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Interpreter/LightCompiler.cs $/IronPython/IronPython_Main/Src/Scripts/generate_reflected_calls.py From mjt at nysv.org Fri Oct 23 18:17:48 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 19:17:48 +0300 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> Message-ID: <20091023161748.GT22055@nysv.org> On Fri, Oct 23, 2009 at 08:45:03AM -0600, Vernon Cole wrote: >Markus: > What database engine are you using? I am also interested in this project >and would like to help out. MSSQL. I hacked something together called kludgemssql and it probably doesn't work, but I'm having a hard time testing it because I got distracted from my work on porting the ImageField and dunno when I'll sort it out or if the database will be my next problem ;) The problem is I can't remember the details of what went into kludgemssql and why. I *THINK* it used to fail to start up if I didn't mix like the legacy branch of http://code.google.com/p/django-mssql/ and some adonet2dbapi thing together. Starting up is of course insignificant, because there's been enough problems here that I never got to try to perform a query anywhere. (Would ipy.exe manage.py shell work? maybe, but I've worked this from the web point of view) I noticed your earlier post at http://www.mail-archive.com/users at lists.ironpython.com/msg10227.html but it doesn't have a download URL, and Googling led to http://sourceforge.net/projects/adodbapi/ Should it work out of the box? Thanks! -- mjt From jdhardy at gmail.com Fri Oct 23 18:26:32 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Fri, 23 Oct 2009 10:26:32 -0600 Subject: [IronPython] IronPython and PIL? In-Reply-To: <20091023114930.GQ22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> Message-ID: 2009/10/23 Markus T?rnqvist : > Hi! > > Clearly PIL doesn't exist for IronPython, right? > > I figured I'd debug the weird 404 behaviour with the debug server, but > bumped into PIL not existing. > > I'm very surprised NWSGI/IIS allows the program to even start, as it > doesn't start with runserver :/ It's very possible that runserver can get a little further along than IIS - Django pushes things pretty hard and I haven't done a ton of testing with IIS 6. > > Anyway, to the point: > My application uses ImageFields in the code, so although I exchanged > all my own PIL stuff for System.Drawing stuff through clr, I'm still > using ImageField. Which clearly does not work. > > Does anyone know if there exists a clr/ironpython ImageField implementation > that doesn't use PIL? A quick Google didn't turn up anything... You might have to create your own (or patch Django to use System.Drawing like your other email showed). I don't think anyone else as gotten as far with Django as you have. - Jeff From mjt at nysv.org Fri Oct 23 18:31:51 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 19:31:51 +0300 Subject: [IronPython] IronPython and PIL? In-Reply-To: References: <20091023114930.GQ22055@nysv.org> Message-ID: <20091023163151.GU22055@nysv.org> On Fri, Oct 23, 2009 at 10:26:32AM -0600, Jeff Hardy wrote: >2009/10/23 Markus T?rnqvist : > >It's very possible that runserver can get a little further along than >IIS - Django pushes things pretty hard and I haven't done a ton of >testing with IIS 6. Is there any way to see what's happening in IIS, like catching print output? Speculation is mostly irrelevant and now I have to focus on the runserver angle because I don't know how to debug this in IIS. Any hints are welcome ;) >> Does anyone know if there exists a clr/ironpython ImageField implementation >> that doesn't use PIL? A quick Google didn't turn up anything... > >You might have to create your own (or patch Django to use >System.Drawing like your other email showed). Hehe, I'd rather not patch Django, because some people may want to use Ironclad and PIL. My gut tells me I'd prefer it. Really I hadn't decided on what I want to do with the code, but the point about Ironclad made me decide I'll just create parallell objects to use. > I don't think anyone else as gotten as far with Django as you have. Cool. Then when 1.0 is running, 1.1 need attention ;) -- mjt From dfugate at microsoft.com Fri Oct 23 19:18:03 2009 From: dfugate at microsoft.com (dfugate at microsoft.com) Date: Fri, 23 Oct 2009 10:18:03 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <032202e6-825c-44d7-be12-c335d08f7962@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/60398. MODIFIED SOURCES $/IronPython/IronPython_2_6/Src/IronPython.Modules/IronPython.Modules.csproj $/IronPython/IronPython_2_6/Src/IronPython/IronPython.csproj $/IronPython/IronPython_2_6/Src/IronPythonTest/IronPythonTest.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.Core.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.ExtensionAttribute.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_2_6/Src/Tests/ClrAssembly/ClrAssembly.csproj From vernondcole at gmail.com Fri Oct 23 19:45:46 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Fri, 23 Oct 2009 11:45:46 -0600 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: <20091023161748.GT22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> <20091023161748.GT22055@nysv.org> Message-ID: The sourceforge download will work out of the box on Iron Python, but it is missing a bunch of django special tweaks that they made after they forked off their own version -- which was *before* I added Iron Python support. If you are serious about this project, I am willing to go to work to back port the django support code into the main fork of adodbapi. -- Vernon 2009/10/23 Markus T?rnqvist > On Fri, Oct 23, 2009 at 08:45:03AM -0600, Vernon Cole wrote: > >Markus: > > What database engine are you using? I am also interested in this > project > >and would like to help out. > > MSSQL. > > I hacked something together called kludgemssql and it probably doesn't > work, but I'm having a hard time testing it because I got distracted from > my work on porting the ImageField and dunno when I'll sort it out or if > the database will be my next problem ;) > > The problem is I can't remember the details of what went into kludgemssql > and why. I *THINK* it used to fail to start up if I didn't mix like the > legacy branch of http://code.google.com/p/django-mssql/ and some > adonet2dbapi > thing together. > > Starting up is of course insignificant, because there's been enough > problems > here that I never got to try to perform a query anywhere. > > (Would ipy.exe manage.py shell work? maybe, but I've worked this from the > web point of view) > > I noticed your earlier post at > http://www.mail-archive.com/users at lists.ironpython.com/msg10227.html > > but it doesn't have a download URL, and Googling led to > http://sourceforge.net/projects/adodbapi/ > > Should it work out of the box? > > Thanks! > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Fri Oct 23 19:49:49 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 20:49:49 +0300 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> <20091023161748.GT22055@nysv.org> Message-ID: <20091023174949.GV22055@nysv.org> On Fri, Oct 23, 2009 at 11:45:46AM -0600, Vernon Cole wrote: >The sourceforge download will work out of the box on Iron Python, but it is >missing a bunch of django special tweaks that they made after they forked >off their own version -- which was *before* I added Iron Python support. If >you are serious about this project, I am willing to go to work to back port >the django support code into the main fork of adodbapi. Yeah, I am serious. I make my (albeit meager) living off of Django, and being able to expand business into the Windows world would be very helpful. Not only for me but for everyone who's doing Django. So it's not only me who'd be grateful, tho it seems I'm the only guy on the list :> PS. That forking stuff might explain why I had to hack some seemingly random stuff together, a hail-mary merge ;) -- mjt From dinov at microsoft.com Fri Oct 23 19:55:11 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 23 Oct 2009 17:55:11 +0000 Subject: [IronPython] The tale of a full HybridMapping and a not so tempfile In-Reply-To: References: Message-ID: <1A472770E042064698CB5ADC83A12ACD04B232F7@TK5EX14MBXC116.redmond.corp.microsoft.com> Thanks for the great detail here. As you said the fix is easy and I believe I have it ready to go. We're already kicking off our RC2 build so I don't know that it'll make it until that build (or 2.6.0 for that matter) but it'll be fixed by 2.6.1 at the latest. > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Martin (gzlist) > Sent: Thursday, October 22, 2009 2:50 PM > To: users at lists.ironpython.com > Subject: [IronPython] The tale of a full HybridMapping and a not so tempfile > > I'm trying to complete some work getting a big project running on > IronPython, but hit an issue where everything in the test suite would > start failing after a certain point with errors along the lines of: > > Traceback (most recent call last): > ... > File "C:\Program Files\IronPython 2.6\Lib\tempfile.py", line 444, in > NamedTemporaryFile > (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags) > File "C:\Program Files\IronPython 2.6\Lib\tempfile.py", line 228, in > _mkstemp_inner > fd = _os.open(file, flags, 0600) > OSError: [Errno -2146233079] HybridMapping is full > > After a long boring trek over the hills of ignorance that may have > been shorter if I'd seen that traceback first rather than other more > obscure ones, the root cause turned out to be a failure to clean up > temporary files. After IronPython has created 4096 of them and not > removed any afterwards everything involving filenos starts to > throwing. (As an aside, I wonder if using non-integer unique tokens > like Jython mightn't be a better approach). > > The following issue tracker entry covers the tempfile issue: > > > > However the bug report gets it a little wrong, the problem is not that > sys.platform == "win32" is false under IronPython, but rather that > os.name == "nt" is still true, but IronPython silently ignores the > os.O_TEMPORARY flag. > > A trivial work around is: > > if sys.platform == "cli": > os.name = "nty" > import tempfile > os.name = "nt" > > However fixing this properly is also pretty simple, in > Src/IronPython.Modules/nt.cs the open function just needs to make sure > that File.Open gets passed DeleteOnClose. There may as well be a > FileOptionsFromFlags as per the existing FileModeFromFlags and > FileAccessFromFlags so that the following mappings are correct as > well: > > os.O_SHORT_LIVED -> ? -> FILE_ATTRIBUTE_TEMPORARY > os.O_TEMPORARY -> FileOptions.DeleteOnClose -> FILE_FLAG_DELETE_ON_CLOSE > os.O_RANDOM -> FileOptions.RandomAccess -> FILE_FLAG_RANDOM_ACCESS > os.O_SEQUENTIAL -> FileOptions.SequentialScan -> FILE_FLAG_SEQUENTIAL_SCAN > > Martin > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From dinov at microsoft.com Fri Oct 23 19:57:44 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 23 Oct 2009 17:57:44 +0000 Subject: [IronPython] SystemError while compiling PIL.Image In-Reply-To: <4AE17A27.3030402@resolversystems.com> References: <4AE06018.2030807@resolversystems.com> <1A472770E042064698CB5ADC83A12ACD04B1AC96@TK5EX14MBXC116.redmond.corp.microsoft.com> <4AE17A27.3030402@resolversystems.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04B2331F@TK5EX14MBXC116.redmond.corp.microsoft.com> This seems to be the simple repro: X = (42, 43) class Y: def outer_f(self): def f((a,b)=X): return a, b return f The fix for this probably won't make it into RC2 and I'm not sure about 2.6.0 either but it'll definitely make it into 2.6.1 at the latest. Interestingly while this certainly regressed since 2.0 our name binding here has been subtly broken and other changes just exposed it. I actually have another set of changes I've been working on which unbreak it but it's best to fix the name binding :) > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of William Reade > Sent: Friday, October 23, 2009 2:41 AM > To: Discussion of IronPython > Subject: Re: [IronPython] SystemError while compiling PIL.Image > > Hi Dino > > If I comment out 2 methods, the file parses fine. Uncommenting either is > enough to cause it to fail. > > def convert(self, mode=None, data=None, dither=None, palette=WEB, > colors=256): > > def rotate(self, angle, resample=NEAREST, expand=0): > > WEB and NEAREST are both set to 0 at module level; convert and rotate > are both methods on the module-level old-style class Image. The only > obvious common feature is that both have a non-name default parameter > following a name default parameter, but I haven't managed to produce a > minimal repro. > > If you're allowed to just look at other people's code willy-nilly, the > file is Image.py in PIL 1.16 :). > > Cheers > william > > > > > Dino Viehland wrote: > > Is there a parameter with a default value that is a name? If so what is the > > scope of the name in relation to the function definition? > > > >> -----Original Message----- > >> From: users-bounces at lists.ironpython.com [mailto:users- > >> bounces at lists.ironpython.com] On Behalf Of William Reade > >> Sent: Thursday, October 22, 2009 6:37 AM > >> To: Discussion of IronPython > >> Subject: [IronPython] SystemError while compiling PIL.Image > >> > >> Transcript follows. The contents of the file don't look obviously > >> weird. > >> Does anyone have any idea what the problem might be? > >> > >> Cheers > >> William > >> > >> ----------------------------------------------------------------------- > >> -- > >> > >> C:\dev\ironclad>ipy -X:ExceptionDetail > >> C:\Python26\Lib\site-packages\PIL\Image.py > >> Object reference not set to an instance of an object. > >> at IronPython.Compiler.Ast.GlobalAllocator.GetVariable(AstGenerator > >> ag, PythonVariable variable) > >> at IronPython.Compiler.Ast.NameExpression.Transform(AstGenerator > >> ag, > >> Type type) > >> at > >> IronPython.Compiler.Ast.FunctionDefinition.TransformParameters(AstGener > >> ator > >> outer, AstGenerator inner, List`1 defaults, List`1 names, Boolean > >> needsWrapperMethod, List`1 init) > >> at > >> IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpressio > >> n(AstGenerator > >> ag) > >> at > >> IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > >> ement > >> body, SourceLocation prevStart) > >> at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) > >> at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator > >> ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > >> ement > >> body, SourceLocation prevStart) > >> at IronPython.Compiler.Ast.IfStatement.Transform(AstGenerator ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at > >> IronPython.Compiler.Ast.FunctionDefinition.TryTransformBody(AstGenerato > >> r > >> ag, List`1 statements) > >> at > >> IronPython.Compiler.Ast.FunctionDefinition.TransformToFunctionExpressio > >> n(AstGenerator > >> ag) > >> at > >> IronPython.Compiler.Ast.FunctionDefinition.Transform(AstGenerator ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > >> ement > >> body, SourceLocation prevStart) > >> at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) > >> at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator > >> ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at IronPython.Compiler.Ast.ClassDefinition.Transform(AstGenerator > >> ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformMaybeSingleLineSuite(Stat > >> ement > >> body, SourceLocation prevStart) > >> at IronPython.Compiler.Ast.AstGenerator.Transform(Statement[] from) > >> at IronPython.Compiler.Ast.SuiteStatement.Transform(AstGenerator > >> ag) > >> at > >> IronPython.Compiler.Ast.AstGenerator.TransformWithLineNumberUpdate(Stat > >> ement > >> fromStmt) > >> at IronPython.Compiler.Ast.PythonAst.Transform(AstGenerator ag) > >> at IronPython.Compiler.Ast.PythonAst.TransformToAst(CompilationMode > >> mode, CompilerContext context) > >> at IronPython.Runtime.PythonContext.CompilePythonCode(Nullable`1 > >> compilationMode, SourceUnit sourceUnit, CompilerOptions options, > >> ErrorSink errorSink) > >> at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit > >> sourceCode, String moduleName, ModuleOptions options, Nullable`1 mode) > >> at IronPython.Runtime.PythonContext.GetScriptCode(SourceUnit > >> sourceCode, String moduleName, ModuleOptions options) > >> at IronPython.Runtime.PythonContext.CompileModule(String fileName, > >> String moduleName, SourceUnit sourceCode, ModuleOptions options, > >> ScriptCode& scriptCode) > >> at IronPython.Hosting.PythonCommandLine.RunFileWorker(String > >> fileName) > >> at IronPython.Hosting.PythonCommandLine.RunFile(String fileName) > >> SystemError: Object reference not set to an instance of an object. > >> > >> ----------------------------------------------------------------------- > >> -- > >> _______________________________________________ > >> Users mailing list > >> Users at lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > _______________________________________________ > > Users mailing list > > Users at lists.ironpython.com > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From jdhardy at gmail.com Fri Oct 23 20:32:01 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Fri, 23 Oct 2009 12:32:01 -0600 Subject: [IronPython] IronPython and PIL? In-Reply-To: <20091023163151.GU22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> <20091023163151.GU22055@nysv.org> Message-ID: 2009/10/23 Markus T?rnqvist : > On Fri, Oct 23, 2009 at 10:26:32AM -0600, Jeff Hardy wrote: >>2009/10/23 Markus T?rnqvist : >> >>It's very possible that runserver can get a little further along than >>IIS - Django pushes things pretty hard and I haven't done a ton of >>testing with IIS 6. > > Is there any way to see what's happening in IIS, like catching > print output? Not (easily) in IIS 6. IIS 7 has the fantastically awesome Failed Request Tracing that makes tracking this stuff down a breeze. You can always check the server logs to see what requests did succeed (especially if there are redirects involved). >> I don't think anyone else as gotten as far with Django as you have. > > Cool. Then when 1.0 is running, 1.1 need attention ;) Honestly, I would go straight to 1.1, unless you have a need to use 1.0. It'll make any necessary patches to Django that much easier to integrate. The developers have said that they would like to see IronPython support if someone does the work; it's just that no one has done the work yet. - Jeff From jdhardy at gmail.com Fri Oct 23 20:36:57 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Fri, 23 Oct 2009 12:36:57 -0600 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: <20091023174949.GV22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> <20091023161748.GT22055@nysv.org> <20091023174949.GV22055@nysv.org> Message-ID: 2009/10/23 Markus T?rnqvist : > > So it's not only me who'd be grateful, tho it seems I'm the only guy on > the list :> I would be grateful, and I think a lot developers at MS-only shops would be too - it's just that those programmers tend to be the silent type, sadly. It's easy for Django to plug in to existing ASP.NET infrastructure (caching, sessions, auth, etc) and fit seamlessly into those environments. Couple that with some Visual Studio tooling and there's some awesome potential there. - Jeff From vernondcole at gmail.com Fri Oct 23 20:41:21 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Fri, 23 Oct 2009 12:41:21 -0600 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: <20091023174949.GV22055@nysv.org> References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> <20091023161748.GT22055@nysv.org> <20091023174949.GV22055@nysv.org> Message-ID: Okay, it's officially on top of my to-do list. I try to dedicate an hour or two each day to open source projects, so this will keep me busy for a while. The big thing will be paramstyle format convertion. MS-SQL uses qmark. I am told that django wants pyformat. Somebody *please* correct me if that is wrong. ( I don't actually USE django yet, but I want to learn. Is starting from inside out a bad thing?) -- Vernon Cole 2009/10/23 Markus T?rnqvist > On Fri, Oct 23, 2009 at 11:45:46AM -0600, Vernon Cole wrote: > >The sourceforge download will work out of the box on Iron Python, but it > is > >missing a bunch of django special tweaks that they made after they forked > >off their own version -- which was *before* I added Iron Python support. > If > >you are serious about this project, I am willing to go to work to back > port > >the django support code into the main fork of adodbapi. > > Yeah, I am serious. > > I make my (albeit meager) living off of Django, and being able to expand > business into the Windows world would be very helpful. Not only for me > but for everyone who's doing Django. > > So it's not only me who'd be grateful, tho it seems I'm the only guy on > the list :> > > PS. > That forking stuff might explain why I had to hack some seemingly random > stuff together, a hail-mary merge ;) > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Fri Oct 23 20:43:27 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 21:43:27 +0300 Subject: [IronPython] IronPython and PIL? In-Reply-To: References: <20091023114930.GQ22055@nysv.org> <20091023163151.GU22055@nysv.org> Message-ID: <20091023184327.GW22055@nysv.org> On Fri, Oct 23, 2009 at 12:32:01PM -0600, Jeff Hardy wrote: >> Is there any way to see what's happening in IIS, like catching >> print output? > >Not (easily) in IIS 6. IIS 7 has the fantastically awesome Failed >Request Tracing that makes tracking this stuff down a breeze. You can >always check the server logs to see what requests did succeed >(especially if there are redirects involved). I actually made some progress with runserver, I have a bona fide exception from "kludgemssql" now; I'll probably detail it out in another message and call it a day. >> Cool. Then when 1.0 is running, 1.1 need attention ;) >Honestly, I would go straight to 1.1, unless you have a need to use >1.0. It'll make any necessary patches to Django that much easier to >integrate. The developers have said that they would like to see >IronPython support if someone does the work; it's just that no one has >done the work yet. Mm-hmm, this is so new I haven't touched unit tests yet, but the biggest stopper for me and 1.1 is that the tests don't seem to work. (I never cared enough to investigate, might be because I hacked this up and use it in every project http://www.djangosnippets.org/snippets/1390/ :) Anyway, I'll let you know if/when I kick this to 1.1. -- mjt From brian.curtin at gmail.com Fri Oct 23 20:45:50 2009 From: brian.curtin at gmail.com (Brian Curtin) Date: Fri, 23 Oct 2009 13:45:50 -0500 Subject: [IronPython] Overriding .NET methods within IronPython Message-ID: Hey list, I think I got this right, and it seems to work, but I just feel like there is probably a better way to override a method in IP. Some time spent googling doesn't bring anything up except for IP/C# code examples containing the override keyword. For example, I want to override the Form class' OnLoad method, so I wrote a decorator to do so. class frm(Form): def __init__(self): Form.__init__(self) def override(method): def inner(*args): base = super(Form, args[0]) #args[0] is frm instance base_method = getattr(base.__thisclass__, method.__name__) method(*args) #call our method first return base_method(*args) return inner @override def OnLoad(self, evt_args): print evt_args It doesn't do anything snazzy - just prints out the EventArgs, then calls the base class Form.OnLoad. Any thoughts? Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.curtin at gmail.com Fri Oct 23 20:52:52 2009 From: brian.curtin at gmail.com (Brian Curtin) Date: Fri, 23 Oct 2009 13:52:52 -0500 Subject: [IronPython] Overriding .NET methods within IronPython In-Reply-To: References: Message-ID: I'm not sure what I was doing wrong when this clearly simpler way wasn't working, but this pretty much answers my question: do this - Form.OnLoad(self, evt_args) Sorry for the noise. On Fri, Oct 23, 2009 at 13:45, Brian Curtin wrote: > Hey list, > > I think I got this right, and it seems to work, but I just feel like there > is probably a better way to override a method in IP. Some time spent > googling doesn't bring anything up except for IP/C# code examples containing > the override keyword. For example, I want to override the Form class' OnLoad > method, so I wrote a decorator to do so. > > class frm(Form): > def __init__(self): > Form.__init__(self) > > def override(method): > def inner(*args): > base = super(Form, args[0]) #args[0] is frm instance > base_method = getattr(base.__thisclass__, method.__name__) > method(*args) #call our method first > return base_method(*args) > return inner > > @override > def OnLoad(self, evt_args): > print evt_args > > It doesn't do anything snazzy - just prints out the EventArgs, then calls > the base class Form.OnLoad. > > Any thoughts? > > Brian > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Fri Oct 23 20:55:38 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Fri, 23 Oct 2009 21:55:38 +0300 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: References: <20091023114930.GQ22055@nysv.org> <4AE1B2BF.1070909@resolversystems.com> <20091023141010.GS22055@nysv.org> <20091023161748.GT22055@nysv.org> <20091023174949.GV22055@nysv.org> Message-ID: <20091023185538.GX22055@nysv.org> On Fri, Oct 23, 2009 at 12:41:21PM -0600, Vernon Cole wrote: >Okay, it's officially on top of my to-do list. I try to dedicate an hour or >two each day to open source projects, so this will keep me busy for a >while. If there's anything I can do to help, just ask :) >The big thing will be paramstyle format convertion. MS-SQL uses >qmark. I am told that django wants pyformat. Somebody *please* correct me >if that is wrong. ( I don't actually USE django yet, but I want to learn. >Is starting from inside out a bad thing?) The tutorial wouldn't probably take a long time, even if you just skimmed through it, but it might not be beneficial here :) I found this http://docstore.mik.ua/orelly/other/python/0596001886_pythonian-chp-11-sect-4.html format I think is more to what's used, but I also think this depends more on the backend than Django... See Django-1.0/django/db/backends/sqlite3/base.py class SQLiteCursorWrapper(Database.Cursor): """ Django uses "format" style placeholders, but pysqlite2 uses "qmark" style. This fixes it -- but note that if you want to use a literal "%s" in a query, you'll need to use "%%s". """ Dunno if that's helpful, or relevant, for you? Also: I got this exception Keyword not supported: 'provider' Any hints on where it came from? File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\models\manager.py" in get 117. return self.get_query_set().get(*args, **kwargs) File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\models\query.py" in get 317. num = len(clone) File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\models\query.py" in __len__ 173. self._result_cache = list(self.iterator()) File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\models\query.py" in iterator 288. for row in self.query.results_iter(): File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\models\sql\query.py" in results_iter 205. for rows in self.execute_sql(MULTI): File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\models\sql\query.py" in execute_sql 1819. cursor = self.connection.cursor() File "C:\Program Files\IronPython 2.6\lib\site-packages\django\db\backends\__init__.py" in cursor 56. cursor = self._cursor(settings) File "C:\Program Files\IronPython 2.6\lib\site-packages\kludgemssql\base.py" in _cursor 97. self.connection = Database.connect(make_connection_string(settings)) File "C:\Program Files\IronPython 2.6\lib\site-packages\kludgemssql\dbapi.py" in connect 8. return generic_connect("System.Data", "System.Data.SqlClient.SqlConnection", connstr) File "C:\Program Files\IronPython 2.6\lib\site-packages\kludgemssql\adonet2dbapi\generic.py" in connect 41. connection = connector(data) File "C:\Program Files\IronPython 2.6\lib\site-packages\django\utils\functional.py" in __getattr__ 274. return getattr(self._wrapped, name) File "C:\Program Files\IronPython 2.6\lib\site-packages\django\utils\functional.py" in __getattr__ 274. return getattr(self._wrapped, name) Exception Type: ValueError at / Exception Value: Keyword not supported: 'provider'. Thanks! -- mjt From merllab at microsoft.com Fri Oct 23 21:08:50 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 23 Oct 2009 12:08:50 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <0e4886d4-d176-43fe-b602-f88adc91890e@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60403. MODIFIED SOURCES $/IronPython/IronPython_2_6/Src/IronPython.Modules/IronPython.Modules.csproj $/IronPython/IronPython_2_6/Src/IronPython/IronPython.csproj $/IronPython/IronPython_2_6/Src/IronPythonTest/IronPythonTest.csproj $/IronPython/IronPython_2_6/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.Core.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.ExtensionAttribute.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj $/IronPython/IronPython_2_6/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_2_6/Src/Tests/ClrAssembly/ClrAssembly.csproj From Shri.Borde at microsoft.com Fri Oct 23 21:10:30 2009 From: Shri.Borde at microsoft.com (Shri Borde) Date: Fri, 23 Oct 2009 19:10:30 +0000 Subject: [IronPython] Overriding .NET methods within IronPython In-Reply-To: References: Message-ID: <8E45365BECA665489F3CB8878A6C1B7D0C7A7BDC@TK5EX14MBXC140.redmond.corp.microsoft.com> See the section on "Overriding methods" in http://ironpython.codeplex.com/SourceControl/changeset/view/60398#1011839 (IronPython_Main\Doc\dotnet-integration.rst) for more details on overriding, like dealing with ref params. We are working on making the info easily accessible, but for now, you can browse the content from the rst file. From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Brian Curtin Sent: Friday, October 23, 2009 11:53 AM To: Discussion of IronPython Subject: Re: [IronPython] Overriding .NET methods within IronPython I'm not sure what I was doing wrong when this clearly simpler way wasn't working, but this pretty much answers my question: do this - Form.OnLoad(self, evt_args) Sorry for the noise. On Fri, Oct 23, 2009 at 13:45, Brian Curtin > wrote: Hey list, I think I got this right, and it seems to work, but I just feel like there is probably a better way to override a method in IP. Some time spent googling doesn't bring anything up except for IP/C# code examples containing the override keyword. For example, I want to override the Form class' OnLoad method, so I wrote a decorator to do so. class frm(Form): def __init__(self): Form.__init__(self) def override(method): def inner(*args): base = super(Form, args[0]) #args[0] is frm instance base_method = getattr(base.__thisclass__, method.__name__) method(*args) #call our method first return base_method(*args) return inner @override def OnLoad(self, evt_args): print evt_args It doesn't do anything snazzy - just prints out the EventArgs, then calls the base class Form.OnLoad. Any thoughts? Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: From josh at globalherald.net Fri Oct 23 22:43:43 2009 From: josh at globalherald.net (Josh) Date: Fri, 23 Oct 2009 16:43:43 -0400 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: References: Message-ID: <4AE2157F.8080006@globalherald.net> Vernon Cole wrote: "The big thing will be paramstyle format convertion. MS-SQL uses qmark. I am told that django wants pyformat." Quick question. Is this new database driver going to be specific to MS-SQL, or does the ADO.NET specification specify qmark in place of Pyformat? The reason I ask is it would be really slick to be able to use any ADO.NET data source on the back end. It would be even slicker if we could do this interchangeably. For example, suppose you have a Django site running under RHEL + Apache + PostgreSQL. It would be nifty if you could take the same code, with little or no modification, and run it under IIS + IronPython against that same PostgreSQL database using one of the PostgreSQL .NET data providers. Cheers, -Josh From vernondcole at gmail.com Sat Oct 24 00:36:27 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Fri, 23 Oct 2009 16:36:27 -0600 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: <4AE2157F.8080006@globalherald.net> References: <4AE2157F.8080006@globalherald.net> Message-ID: Good question. It made me look up the documentation. The answer is a definite "sometimes". I have always used the OleDb client, so I have only experienced the qmark. I quote from the Microsoft documentation........ V V V V V V V V V V V V V V V V V V V V V The syntax for parameter placeholders depends on the data source. The .NET Framework data providers handle naming and specifying parameters and parameter placeholders differently. This syntax is customized to a specific data source, as described in the following table. Data provider Parameter naming syntax System.Data.SqlClient Uses named parameters in the format @parametername. System.Data.OleDb Uses positional parameter markers indicated by a question mark (?). System.Data.Odbc Uses positional parameter markers indicated by a question mark (?). System.Data.OracleClient Uses named parameters in the format :parmname (or parmname).I ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ So it would appear that if I always use the OleDb provider, then I always have qmark parameter style, even if I am opening an Oracle data base. The conversion from pyformat to qmark would be done programatically in adodbapi. There may still be a problem with differences in dialect between different SQL engines. I think many of those are coded in to the various database front ends, so that an "interchangable" adapter would still need to know what engine it is using and make some changes to adapt itself. For example, do you use "TOP" or "LIMIT" to restrict the number of rows requested? MS-SQL uses "TOP" while MySQL uses "LIMIT", both through the OleDb provider. I definitely do not want to be restricted to only MS-SQL from IronPython/django. The existing django-mssql code is engine specific. I would like to remove that restriction, but do not know (yet) if that is possible. adodbapi itself is engine agnostic. -- Vernon On Fri, Oct 23, 2009 at 2:43 PM, Josh wrote: > Vernon Cole wrote: > > "The big thing will be paramstyle format convertion. MS-SQL uses qmark. I > am told that django wants pyformat." > > Quick question. Is this new database driver going to be specific to > MS-SQL, or does the ADO.NET specification specify qmark in place of > Pyformat? > > The reason I ask is it would be really slick to be able to use any ADO.NETdata source on the back end. It would be even slicker if we could do this > interchangeably. For example, suppose you have a Django site running under > RHEL + Apache + PostgreSQL. It would be nifty if you could take the same > code, with little or no modification, and run it under IIS + IronPython > against that same PostgreSQL database using one of the PostgreSQL .NET data > providers. > > Cheers, > -Josh > > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Sat Oct 24 10:58:35 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Sat, 24 Oct 2009 11:58:35 +0300 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: References: <4AE2157F.8080006@globalherald.net> Message-ID: <20091024085835.GZ22055@nysv.org> On Fri, Oct 23, 2009 at 04:36:27PM -0600, Vernon Cole wrote: > >So it would appear that if I always use the OleDb provider, then I always >have qmark parameter style, even if I am opening an Oracle data base. The >conversion from pyformat to qmark would be done programatically in adodbapi. >There may still be a problem with differences in dialect between different >SQL engines. I think many of those are coded in to the various database >front ends, so that an "interchangable" adapter would still need to know >what engine it is using and make some changes to adapt itself. Yeah, well, the problem would be: Can you represent all adodb-supported databases generally through Django's interface? I think the answer is no... I'm looking at SQLite again, in Django, because it too uses the qmark syntax. Django defines the SQLite interface classes, like most importantly here SQLiteCursorWrapper, which has a method for changing the Python-formatted query to qmark. So then when the underlying SQLite db api executes the query, it gets it understandable qmark format and knows what to do with it. For adodb to pull this off, you'd (correct me if I'm wrong here!) need a) One Django db backend per adodb backend b) A configuration mechanism for the one unified adodb Django backend Somehow I'd tend to be in favor of option a) and then see from mssql onwards if all backends need to be supported. Option b) sounds like a path to some hackiness through a lot of work. >For example, >do you use "TOP" or "LIMIT" to restrict the number of rows requested? MS-SQL >uses "TOP" while MySQL uses "LIMIT", both through the OleDb provider. Yeah, the DatabaseWrapper class has an operators attribute, with some db-specific stuff, but it does not do modifications as heavy as those. > I >definitely do not want to be restricted to only MS-SQL from >IronPython/django. The existing django-mssql code is engine specific. I >would like to remove that restriction, but do not know (yet) if that is >possible. adodbapi itself is engine agnostic. Yeah, I understand, but what would the semantics look like? Would there be something like DATABASE_ENGINE = 'adodb' ADODB_ENGINE = 'access' and then django.db.backends.adodb.base (that's the base.py file) has checks like # FIXME: This could be an __import__ joke without if checks if ADODB_ENGINE == 'access': from _adodb_backends.access import * and you'd effectively end up doing multiple backends anyway, right? Looking at the tutorial and connection examples, at least different backends have very different ways of connecting. That should probably not be a show-stopper though. SelectLimit came up, and Django implements it in a sort of roundabout way. You must remember QuerySet objects are lazy, so the query gets executed when you actually do something with it. When you retrieve a slice of it, the queryset's set_limits() method gets called, which puts in high_mark and low_mark values. In my Django 1.0.4 sources this is Django-1.0\django\db\models\sql\query.py like 1459, and then in the sql-generating method as_sql() on line 298 you see how the limit/offset stuff is done. Looking at django-mssql they have a very ingenious approach to it, the as_sql() method performs a regexp substitution. This has, however, nothing to do with SelectLimit, so it makes me kind of think if Django's ORM should be used with ADODB without the help of such functions.. -- mjt From christian2.schmidt at gmx.de Sat Oct 24 23:22:40 2009 From: christian2.schmidt at gmx.de (Christian Schmidt) Date: Sat, 24 Oct 2009 23:22:40 +0200 Subject: [IronPython] Type analysis of expression In-Reply-To: References: <4ADC0F5A.8010809@gmx.de> Message-ID: <4AE37020.9040407@gmx.de> Hi Jeff, >> I know that the return type of a dynamic expression cannot be determined >> in general. But what would be a pragmatic way to guess the return type >> of an expression? > > Can you give some examples of expressions you need to infer? arithmetic operations: a + b / c functions: sqrt(a) logical expressions: a if (b or c) else d+e I would also like to allow for enumerables in expressions: sum(a) sum([sqrt(x) for x in a if x>0])**2 From jdhardy at gmail.com Sat Oct 24 23:57:35 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Sat, 24 Oct 2009 15:57:35 -0600 Subject: [IronPython] Type analysis of expression In-Reply-To: <4AE37020.9040407@gmx.de> References: <4ADC0F5A.8010809@gmx.de> <4AE37020.9040407@gmx.de> Message-ID: On Sat, Oct 24, 2009 at 3:22 PM, Christian Schmidt wrote: > Hi Jeff, > I'm going to assume that you have a way of determing the types of the input variables a, b, and c. If not, well, I'm not sure how much help this will be. You can use the IronPython parser classes to convert the expressions into an AST; the tricky part is doing the actual inference. >> Can you give some examples of expressions you need to infer? > > arithmetic operations: a + b / c > functions: sqrt(a) These are mostly straightforward - Python's type conversion rules for arithmetic operators are well-defined. Presumably, sqrt is defined in your code (or is just Math.sqrt) - thus the return type is the same as the input type. > logical expressions: a if (b or c) else d+e These are more difficult because of the conditional, if 'a' and 'd+e' are different types. You could just give an error if that's the case, or see if they have a common 'supertype' (i.e. if 'a' is int and 'd+e' is float, use float). > > I would also like to allow for enumerables in expressions: > sum(a) > sum([sqrt(x) for x in a if x>0])**2 I would just make some assumptions - perhaps sum will always be either int or float? A full, accurate type inference engine for Python would be quite a challenge, but you only need part of one. I don't think IPy has anything builtin to help you, though. - Jeff From christian2.schmidt at gmx.de Sun Oct 25 12:47:36 2009 From: christian2.schmidt at gmx.de (Christian Schmidt) Date: Sun, 25 Oct 2009 12:47:36 +0100 Subject: [IronPython] Type analysis of expression In-Reply-To: References: <4ADC0F5A.8010809@gmx.de> <4AE37020.9040407@gmx.de> Message-ID: <4AE43AD8.9080804@gmx.de> Hi Jeff, > I'm going to assume that you have a way of determing the types of the > input variables a, b, and c. Yes, all variables are strongly typed - they are loaded from a database. > You can use the IronPython parser classes to convert the > expressions into an AST; the tricky part is doing the actual > inference. When the DLR executes the expression's compiled code for the first time, it is compiled into assembly code. Repeated calls of the expression with the same input types will reuse the assembly code. So from this assembly code the type could be infered... But I have no glue how to get this information... >>> Can you give some examples of expressions you need to infer? >> arithmetic operations: a + b / c >> functions: sqrt(a) > > These are mostly straightforward - Python's type conversion rules for > arithmetic operators are well-defined. Presumably, sqrt is defined in > your code (or is just Math.sqrt) - thus the return type is the same as > the input type. Clearly this could all be implemented (type conversion rules, find function return types and arguments by reflection, ...), but the DLR is already doing it. From vernondcole at gmail.com Sun Oct 25 13:05:30 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Sun, 25 Oct 2009 05:05:30 -0700 Subject: [IronPython] Database Engine for Django on IronPython Message-ID: <-9082222963787784837@unknownmsgid> Please pardon all the typos I am about to make. Wife has taken me to Yellowstone to see the bison migration. Am typing under my sleeping bag... I have been thinking About this in re STORM too. Perhaps the best way would be like: Try: Import prefferedDb as db Db.version = 'native' Except: Import adodbapi as db # then later if needed If db.version = 'native': # do usual thing Else: # do ado thing .... So all of the database specific stuff remains in that module, which will then use ado if the preffered ifc is not available. -- Vernon Sent from my Windows Mobile phone -----Original Message----- From: Markus T?rnqvist Sent: Saturday, October 24, 2009 2:58 AM To: Discussion of IronPython Subject: Re: [IronPython] Database Engine for Django on IronPython On Fri, Oct 23, 2009 at 04:36:27PM -0600, Vernon Cole wrote: > >So it would appear that if I always use the OleDb provider, then I always >have qmark parameter style, even if I am opening an Oracle data base. The >conversion from pyformat to qmark would be done programatically in adodbapi. >There may still be a problem with differences in dialect between different >SQL engines. I think many of those are coded in to the various database >front ends, so that an "interchangable" adapter would still need to know >what engine it is using and make some changes to adapt itself. Yeah, well, the problem would be: Can you represent all adodb-supported databases generally through Django's interface? I think the answer is no... I'm looking at SQLite again, in Django, because it too uses the qmark syntax. Django defines the SQLite interface classes, like most importantly here SQLiteCursorWrapper, which has a method for changing the Python-formatted query to qmark. So then when the underlying SQLite db api executes the query, it gets it understandable qmark format and knows what to do with it. For adodb to pull this off, you'd (correct me if I'm wrong here!) need a) One Django db backend per adodb backend b) A configuration mechanism for the one unified adodb Django backend Somehow I'd tend to be in favor of option a) and then see from mssql onwards if all backends need to be supported. Option b) sounds like a path to some hackiness through a lot of work. >For example, >do you use "TOP" or "LIMIT" to restrict the number of rows requested? MS-SQL >uses "TOP" while MySQL uses "LIMIT", both through the OleDb provider. Yeah, the DatabaseWrapper class has an operators attribute, with some db-specific stuff, but it does not do modifications as heavy as those. > I >definitely do not want to be restricted to only MS-SQL from >IronPython/django. The existing django-mssql code is engine specific. I >would like to remove that restriction, but do not know (yet) if that is >possible. adodbapi itself is engine agnostic. Yeah, I understand, but what would the semantics look like? Would there be something like DATABASE_ENGINE = 'adodb' ADODB_ENGINE = 'access' and then django.db.backends.adodb.base (that's the base.py file) has checks like # FIXME: This could be an __import__ joke without if checks if ADODB_ENGINE == 'access': from _adodb_backends.access import * and you'd effectively end up doing multiple backends anyway, right? Looking at the tutorial and connection examples, at least different backends have very different ways of connecting. That should probably not be a show-stopper though. SelectLimit came up, and Django implements it in a sort of roundabout way. You must remember QuerySet objects are lazy, so the query gets executed when you actually do something with it. When you retrieve a slice of it, the queryset's set_limits() method gets called, which puts in high_mark and low_mark values. In my Django 1.0.4 sources this is Django-1.0\django\db\models\sql\query.py like 1459, and then in the sql-generating method as_sql() on line 298 you see how the limit/offset stuff is done. Looking at django-mssql they have a very ingenious approach to it, the as_sql() method performs a regexp substitution. This has, however, nothing to do with SelectLimit, so it makes me kind of think if Django's ORM should be used with ADODB without the help of such functions.. -- mjt _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From mjt at nysv.org Sun Oct 25 16:09:50 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Sun, 25 Oct 2009 15:09:50 +0000 Subject: [IronPython] Database Engine for Django on IronPython In-Reply-To: <-9082222963787784837@unknownmsgid> References: <-9082222963787784837@unknownmsgid> Message-ID: <20091025150950.GM22055@nysv.org> On Sun, Oct 25, 2009 at 05:05:30AM -0700, Vernon Cole wrote: > >I have been thinking About this in re STORM too. Perhaps the best way >would be like: > >Try: > Import prefferedDb as db > Db.version = 'native' >Except: > Import adodbapi as db ># then later if needed >If db.version = 'native': > # do usual thing >Else: > # do ado thing >.... >So all of the database specific stuff remains in that module, which >will then use ado if the preffered ifc is not available. If I get you right, this is a good first step! Then the next issue would be how to communicate with the db. I think my solution would be to implement ADO engines one by one kinda like I laid out in the other email, that a setting would stand for eg MSSQL. I also think there's a reason why django-mssql took to the regexps; it kinda loses out on the ADO methods, but it's the path of least resistance to code. And we can probably borrow code from them here! ;) What do you think? -- mjt From Shri.Borde at microsoft.com Mon Oct 26 06:46:40 2009 From: Shri.Borde at microsoft.com (Shri Borde) Date: Mon, 26 Oct 2009 05:46:40 +0000 Subject: [IronPython] .NET attributes for methods In-Reply-To: <4AE09833.8020203@bakalari.cz> References: <4AE09833.8020203@bakalari.cz> Message-ID: <8E45365BECA665489F3CB8878A6C1B7D0C7A9BB7@TK5EX14MBXC140.redmond.corp.microsoft.com> The following files extend DevHawk's blog and adds support for typed methods with attributes. It will be available as part of the samples released with the 2.6 RTM (over the next month). Do let us know if it works for you. Also, I would be curious to know what scenario you need method attributes for (other than DllImport for pinvokes)... -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky Sent: Thursday, October 22, 2009 10:37 AM To: Discussion of IronPython Subject: [IronPython] .NET attributes for methods Hi, I have read all DewHawk blogposts about .Net attributes in IronPython via __clrtype__ metaclass (http://devhawk.net/CategoryView,category,__clrtype__.aspx). He describes how to add attributes to classes but not to methods. Is there any example how to add attributes to a method. It looks like method generation is necessary (like for getter and setter or in http://www.voidspace.org.uk/python/weblog/arch_d7_2007_03_10.shtml#e659) but this is kind of deep magic for me... Thanks. -- -- Luk?? _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -------------- next part -------------- A non-text attachment was scrubbed... Name: clrtype.py Type: application/octet-stream Size: 16627 bytes Desc: clrtype.py URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: sample.py Type: application/octet-stream Size: 5503 bytes Desc: sample.py URL: From merllab at microsoft.com Mon Oct 26 17:37:31 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Mon, 26 Oct 2009 09:37:31 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <093f0e7c-6df7-4d5a-9189-83a76fe0b470@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/60511. MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV2.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Math/BigIntegerV4.cs $/IronPython/IronPython_Main/Src/IronPython.Modules/nt.cs $/IronPython/IronPython_Main/Src/Tests/test_namebinding.py $/IronPython/IronPython_Main/Src/Tests/test_nt.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1232849 Date: 10/23/2009 8:07:13 PM (dinov) Fix issues with nt.open and default values in sublist parameters (Shelveset: CoupleOfUserBugsFinal;REDMOND\dinov | SNAP CheckinId: 9694) From Jimmy.Schementi at microsoft.com Mon Oct 26 20:18:48 2009 From: Jimmy.Schementi at microsoft.com (Jimmy Schementi) Date: Mon, 26 Oct 2009 19:18:48 +0000 Subject: [IronPython] Anyone going to PDC this year? Message-ID: <1B42307CD4AADD438CDDA2FE1121CC920221D9@TK5EX14MBXC134.redmond.corp.microsoft.com> Is anyone going to PDC this year? Dino is giving a talk there, and the "Ask the Experts" dinner event will have a joint "Dynamic Language Runtime, IronPython, and IronRuby" table, but only with Dino sitting there. While he's totally qualified to answer anyone's questions on the topics, it'd be nice to have more people =) So, if you're going to PDC and plan to attend "Ask the Experts", try to hang around the dynamic languages table. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From kfarmer at thuban.org Tue Oct 27 08:44:38 2009 From: kfarmer at thuban.org (Keith J. Farmer) Date: Tue, 27 Oct 2009 00:44:38 -0700 Subject: [IronPython] Anyone going to PDC this year? In-Reply-To: <1B42307CD4AADD438CDDA2FE1121CC920221D9@TK5EX14MBXC134.redmond.corp.microsoft.com> References: <1B42307CD4AADD438CDDA2FE1121CC920221D9@TK5EX14MBXC134.redmond.corp.microsoft.com> Message-ID: If only? From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Jimmy Schementi Sent: Monday, October 26, 2009 12:19 PM To: ironruby-core at rubyforge.org; Discussion of IronPython Subject: [IronPython] Anyone going to PDC this year? Importance: Low Is anyone going to PDC this year? Dino is giving a talk there, and the ?Ask the Experts? dinner event will have a joint ?Dynamic Language Runtime, IronPython, and IronRuby? table, but only with Dino sitting there. While he?s totally qualified to answer anyone?s questions on the topics, it?d be nice to have more people =) So, if you?re going to PDC and plan to attend ?Ask the Experts?, try to hang around the dynamic languages table. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjt at nysv.org Tue Oct 27 10:38:46 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Tue, 27 Oct 2009 09:38:46 +0000 Subject: [IronPython] IronPython/NWSGI 0-byte 200/404 response with HelloWorld? In-Reply-To: References: <8cd017b80909190634m3fcc378bmee1b1a62ced7e8c0@mail.gmail.com> <20090919142321.GY28624@nysv.org> <20090919184331.GD28624@nysv.org> <20090920155941.GG28624@nysv.org> <20090922085359.GO28624@nysv.org> Message-ID: <20091027093846.GR22055@nysv.org> On Fri, Sep 25, 2009 at 12:52:09PM -0600, Jeff Hardy wrote: >Hi Vernon, >I presume you're talking django-mssql >(http://code.google.com/p/django-mssql/)? I always wondered why it had >its own database layer. Did you see there's some discussion now the issues of the project? Not particularly much, but http://code.google.com/p/django-mssql/issues/detail?id=68 >I don't think adodbapi is the best place to have django (or any other >ORM) specific stuff. django-mssql shoul talk to your module, and then >it should (in theory!) get IronPython support for free once you add >it. Maybe see what the django-mssql guys think about that? If adodbapi >is part of pywin32 (right?), I would think that depending on it should >be relatively uncontroversial. It seems they are not very much for having Django in adodbapi, and flangy says they've been developing towards an mssql-only setup. To me this is ok, it avoids certain kludginess. So we could have django-access for example if someone really wanted to use ms access with django, which would go through adodbapi. >This is all IMHO, of course. I don't know what the django-mssql guys >would think. But I think adodbapi should focus on being a dbapi >implementation, and let the various ORMs provide the adaptors, much >like how they handle sqlite or postgres or mysql. I tried to find an sqlite library for IronPython and could not. This project would really want to go forward and it pulls me with it, so I figured I'd test the code with sqlite. Could not. Would it have to go through adodbapi too? Now that I'm trying to find my focus, I think I'm going to proceed with Django 1.1 and django-mssql and trying to fix this import problem "ImportError: No module named sqlserver_ado.base" that I got somehow out in my "kludgemssql" driver but can't remember what I did for it ;P -- mjt From mjt at nysv.org Tue Oct 27 13:05:15 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Tue, 27 Oct 2009 12:05:15 +0000 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql Message-ID: <20091027120515.GS22055@nysv.org> Hi! Got adonet-dbapi from http://bitbucket.org/jdhardy/adonet-dbapi/ and trying to integrate it to django-mssql. What needs to be done is: 1. Move sqlserver_ado\dbapi.py out of the way 2. Copy X:\adonet-dbapi\dbapi\dbapi\ in its stead 3. Copy mssql.py into the new sqlserver_ado\dbapi\ directory 4. Edit the sqlserver_ado\dbapi\__init__.py file so it looks like this: from common import * from generic import * import mssql def connect(connect_string, timeout=None): return odbc.connect(connect_string) 5. Edit the mssql.py file's imports to these: from common import * from generic import generic_connect, Connection as GenericConnection, Cursor as GenericCursor Now it complains the PROVIDER keyword is not supported! 6. Edit the mssql.py file and rewrite the connect function to this: def connect(connstr): relevant_parts = [part for part in connstr.split(';') if not part.upper().startswith('PROVIDER')] connstr = ';'.join(relevant_parts) return generic_connect("System.Data", "System.Data.SqlClient.SqlConnection", connstr) What do you guys, mainly Jeff and Vernon I guess ;), think about this? There's also an error now which I'm working on: Creating cursor 501 Creating cursor 5 adonet2dbapi: executing 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' UNION SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS' with '()' Creating cursor 303 adonet2dbapi: executing 'SELECT [django_content_type].[id], [django_content_type].[name], [django_content_type].[app_label], [django_content_type].[model] FROM [django_content_type] WHERE ([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s ) ORDER BY [django_content_type].[name] ASC' with '('permission', 'auth')' EnvironmentError: System.Data.SqlClient.SqlException: Incorrect syntax near 's'. Hints are always welcome ;) Thanks! -- mjt From mjt at nysv.org Tue Oct 27 13:31:47 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Tue, 27 Oct 2009 12:31:47 +0000 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql In-Reply-To: <20091027120515.GS22055@nysv.org> References: <20091027120515.GS22055@nysv.org> Message-ID: <20091027123147.GU22055@nysv.org> On Tue, Oct 27, 2009 at 12:05:15PM +0000, Markus T?rnqvist wrote: > > 4. Edit the sqlserver_ado\dbapi\__init__.py file so it looks like this: > >from common import * >from generic import * > >import mssql > >def connect(connect_string, timeout=None): > return odbc.connect(connect_string) Freud me that, of course mssql.connect(connect_string) Sorry! -- mjt From jdhardy at gmail.com Tue Oct 27 14:54:27 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 27 Oct 2009 07:54:27 -0600 Subject: [IronPython] IronPython/NWSGI 0-byte 200/404 response with HelloWorld? In-Reply-To: <20091027093846.GR22055@nysv.org> References: <8cd017b80909190634m3fcc378bmee1b1a62ced7e8c0@mail.gmail.com> <20090919184331.GD28624@nysv.org> <20090920155941.GG28624@nysv.org> <20090922085359.GO28624@nysv.org> <20091027093846.GR22055@nysv.org> Message-ID: 2009/10/27 Markus T?rnqvist : > I tried to find an sqlite library for IronPython and could not. * whistles nonchalantly ...* http://bitbucket.org/jdhardy/adonet-dbapi/ The sqlite module is the most complete; the others are basically stubs. I've tested it with Django (that was the whole reason I wrote it), so it should work ok. - Jeff From jdhardy at gmail.com Tue Oct 27 15:01:47 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 27 Oct 2009 08:01:47 -0600 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql In-Reply-To: <20091027120515.GS22055@nysv.org> References: <20091027120515.GS22055@nysv.org> Message-ID: 2009/10/27 Markus T?rnqvist : > Hi! Well, you can inore my previous email :) > Creating cursor 501 > Creating cursor 5 > adonet2dbapi: executing 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' UNION SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS' with '()' > Creating cursor 303 > adonet2dbapi: executing 'SELECT [django_content_type].[id], [django_content_type].[name], [django_content_type].[app_label], [django_content_type].[model] FROM [django_content_type] WHERE ([django_content_type].[model] = %s ?AND [django_content_type].[app_label] = %s ) ORDER BY [django_content_type].[name] ASC' with '('permission', 'auth')' > > Environment Error: System.Data.SqlClient.SqlException: Incorrect syntax near 's'. It's the %s parameter markers that Django uses; they need to be converted to whatever SQL Server uses (Vernon would probably know better then me). The easiest way is query % params; building the params tuple is the hard part. It's been a while since I looked at the mssql.py code, so I don't remember the details. - Jeff From mjt at nysv.org Tue Oct 27 15:20:42 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Tue, 27 Oct 2009 14:20:42 +0000 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql In-Reply-To: References: <20091027120515.GS22055@nysv.org> Message-ID: <20091027142042.GV22055@nysv.org> On Tue, Oct 27, 2009 at 08:01:47AM -0600, Jeff Hardy wrote: >2009/10/27 Markus T?rnqvist : >> Hi! > >Well, you can inore my previous email :) We'll see, if this becomes way too heavy, I might get back to sqlite for a while ;) >> Environment Error: System.Data.SqlClient.SqlException: Incorrect syntax near 's'. > >It's the %s parameter markers that Django uses; they need to be >converted to whatever SQL Server uses (Vernon would probably know >better then me). The easiest way is query % params; building the >params tuple is the hard part. It's been a while since I looked at the >mssql.py code, so I don't remember the details. Yeah, the regular sqlite, for example, replaces the %s stuff with ?, which MSSQL should imo do too. However, you construct this: command = self.connection.connection.CreateCommand() and start putting parameters in there, which makes me think I shouldn't do query % params after all, but that it executes it from a kind of a .net object or somesuch. I tried of course duplicating all the %s's in the query to ?s but that didn't help me out. mssql.py is sort of weird. The connect() function returns generic_connect() from dbapi.generic. There is tuple replacement in mssql's class Cursor, method execute, which looks a lot more familiar. Now is there some chance that it's just broken, that it instantiates the wrong kind of cursor which calls, naturally, the wrong execute() method? Maybe I should look into that? -- mjt From jdhardy at gmail.com Tue Oct 27 15:36:03 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Tue, 27 Oct 2009 08:36:03 -0600 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql In-Reply-To: <20091027142042.GV22055@nysv.org> References: <20091027120515.GS22055@nysv.org> <20091027142042.GV22055@nysv.org> Message-ID: 2009/10/27 Markus T?rnqvist : > However, you construct this: > command = self.connection.connection.CreateCommand() > > and start putting parameters in there, which makes me think I shouldn't > do query % params after all, but that it executes it from a kind of a > .net object or somesuch. No, the query still needs to be changed to have the right parameter markers so that ADO.NET knows where to insert the values. There should be a line that sets command.CommandText to the query. Then the parameter values are added to the Parameters collection. > > I tried of course duplicating all the %s's in the query to ?s but that > didn't help me out. I think SQL Server's parameters are "@param", which means you'll have to name them :). However, IMHO this should happen before the Django layer passes the query to the MSSQL layer. mssql.py is supposed to be a generic dbapi adapter, so I don't think adding a djngo-specific conversion is a good idea. > > mssql.py is sort of weird. No surprise, I haven't really had time to polish it. > > The connect() function returns generic_connect() from dbapi.generic. > > There is tuple replacement in mssql's class Cursor, method execute, which > looks a lot more familiar. > > Now is there some chance that it's just broken, that it instantiates the > wrong kind of cursor which calls, naturally, the wrong execute() method? There's a very good chance that it's broken; I have no idea what state it was in when I left it. If you get it working, patches are welcome. - Jeff From mjt at nysv.org Tue Oct 27 15:44:52 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Tue, 27 Oct 2009 14:44:52 +0000 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql In-Reply-To: References: <20091027120515.GS22055@nysv.org> <20091027142042.GV22055@nysv.org> Message-ID: <20091027144452.GW22055@nysv.org> On Tue, Oct 27, 2009 at 08:36:03AM -0600, Jeff Hardy wrote: > >No, the query still needs to be changed to have the right parameter >markers so that ADO.NET knows where to insert the values. There should >be a line that sets command.CommandText to the query. Then the >parameter values are added to the Parameters collection. Ok. >> I tried of course duplicating all the %s's in the query to ?s but that >> didn't help me out. > >I think SQL Server's parameters are "@param", which means you'll have >to name them :). However, IMHO this should happen before the Django >layer passes the query to the MSSQL layer. mssql.py is supposed to be >a generic dbapi adapter, so I don't think adding a djngo-specific >conversion is a good idea. Yes. There is, in fact, code for this in mssql.py :) >> mssql.py is sort of weird. > >No surprise, I haven't really had time to polish it. But do you remember what's happening in class Connection, when we request a cursor? I verified the connection being used is like but its cursor() method does not appear to get called even. This is from generic.py: class Cursor: def __init__(self, connection): self.id = random.randint(1, 1000) print "Creating cursor", self.id # snip That debug print comes ok, but if I put a print in Connection's cursor method, it doesn't print. Does something very strange happen here with these objects? If I move the parameter substitution code from mssql.py Cursor.execute into generic, I actually get syncdb running(!!!) to a point where it can't import gzip(!!!) But of course that is a faux solution, driver-specific hacks need to be in the drivers... >> Now is there some chance that it's just broken, that it instantiates the >> wrong kind of cursor which calls, naturally, the wrong execute() method? > >There's a very good chance that it's broken; I have no idea what state >it was in when I left it. If you get it working, patches are welcome. Of course :) -- mjt From merllab at microsoft.com Tue Oct 27 16:52:46 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Tue, 27 Oct 2009 08:52:46 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <2205491e-2d84-4935-8551-f871904b193f@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60541. ADDED SOURCES $/IronPython/IronPython_Main/Src/Tests/modules/types_test.py MODIFIED SOURCES $/IronPython/IronPython_Main/Doc/dotnet-integration.rst $/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/PythonNameBinder.cs $/IronPython/IronPython_Main/Src/Tests/modules/types_test.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1234967 Date: 10/26/2009 12:25:19 PM (sborde) Adds support for declaring strongly-typed methods and pinvoke methods to the ClrType sample (Shelveset: clrtype;REDMOND\sborde | SNAP CheckinId: 9703) -------------------------------------------------------------------------------- Changeset Id: 1234806 Date: 10/26/2009 10:40:57 AM (dfugate) - test_deque.py: updated a bug ID reflecting what's filed in CodePlex - test_descr.py: Internal 410718 is fixed. Re-enabled regression - test_set.py: updated several bug IDs reflecting what's filed in CodePlex - module.types_test.py: new module testing a user reported regression around the types module (Shelveset: CP76;REDMOND\dfugate | SNAP CheckinId: 9700) From mjt at nysv.org Tue Oct 27 17:28:10 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Tue, 27 Oct 2009 16:28:10 +0000 Subject: [IronPython] Making adonet-dbapi's dbapi a drop-in replacement in django-mssql In-Reply-To: <20091027144452.GW22055@nysv.org> References: <20091027120515.GS22055@nysv.org> <20091027142042.GV22055@nysv.org> <20091027144452.GW22055@nysv.org> Message-ID: <20091027162810.GX22055@nysv.org> On Tue, Oct 27, 2009 at 02:44:52PM +0000, Markus T?rnqvist wrote: >If I move the parameter substitution code from mssql.py Cursor.execute >into generic, I actually get syncdb running(!!!) to a point where >it can't import gzip(!!!) For gzip I tried the stuff at http://www.defuze.org/oss/ipextra/gzip.txt that requires http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx http://lists.ironpython.com/pipermail/users-ironpython.com/2006-September/003612.html >But of course that is a faux solution, driver-specific hacks need to >be in the drivers... I didn't really (as in getting the Cursor to work from mssql.py) fix anything yet, I just wanted to see how far I can get on a kludge. I'll probably report my findings in another thread or keep banging my head to the wall a bit longer ;) (And/Or grab something to eat!) -- mjt From giles.thomas at resolversystems.com Tue Oct 27 19:06:05 2009 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Tue, 27 Oct 2009 18:06:05 +0000 Subject: [IronPython] ANN: Resolver One version 1.7 released Message-ID: <4AE7368D.3010900@resolversystems.com> We are proud to announce the release of Resolver One, version 1.7. Resolver One is a Windows-based spreadsheet that integrates IronPython deeply into its recalculation loop, making the models you build more reliable and more maintainable. It's also still (we think) the largest IronPython application in the world, with 57,000 lines of code backed up by 177,000 lines of unit and functional tests. Version 1.7 is the last version we're intending to produce before we move our codebase over to IronPython 2.6. In it, we've made the code that you add to buttons on your worksheets execute in the background. This means that you can interrupt them easily if they run for too long, and also stops the rest of the application from pausing -- so you can keep working on other spreadsheets. You can read more about Resolver One here: We have a 31-day free trial version, so if you would like to take a look, you can download it from our website: If you want to use Resolver One in an Open Source project, we offer free licenses for that: Best regards, Giles -- Giles Thomas giles.thomas at resolversystems.com +44 (0) 20 7253 6372 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK From dinov at microsoft.com Tue Oct 27 19:17:41 2009 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 27 Oct 2009 18:17:41 +0000 Subject: [IronPython] ANN: Resolver One version 1.7 released In-Reply-To: <4AE7368D.3010900@resolversystems.com> References: <4AE7368D.3010900@resolversystems.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04BADDD9@TK5EX14MBXC118.redmond.corp.microsoft.com> Congratulations on another release! Just out of curiosity did you move to 2.0.3 for this release or is it still 2.0.2 based? > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Giles Thomas > Sent: Tuesday, October 27, 2009 11:06 AM > To: Discussion of IronPython > Subject: [IronPython] ANN: Resolver One version 1.7 released > > We are proud to announce the release of Resolver One, version 1.7. > > Resolver One is a Windows-based spreadsheet that integrates IronPython > deeply into its recalculation loop, making the models you build more > reliable and more maintainable. It's also still (we think) the largest > IronPython application in the world, with 57,000 lines of code backed up > by 177,000 lines of unit and functional tests. > > Version 1.7 is the last version we're intending to produce before we > move our codebase over to IronPython 2.6. In it, we've made the code > that you add to buttons on your worksheets execute in the background. > This means that you can interrupt them easily if they run for too long, > and also stops the rest of the application from pausing -- so you can > keep working on other spreadsheets. > > You can read more about Resolver One here: > > > > We have a 31-day free trial version, so if you would like to take a > look, you can download it from our website: > > > > If you want to use Resolver One in an Open Source project, we offer free > licenses for that: > > > > Best regards, > > Giles > -- > Giles Thomas > giles.thomas at resolversystems.com > +44 (0) 20 7253 6372 > > 17a Clerkenwell Road, London EC1M 5RD, UK > VAT No.: GB 893 5643 79 > Registered in England and Wales as company number 5467329. > Registered address: 843 Finchley Road, London NW11 8NA, UK > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From giles.thomas at resolversystems.com Tue Oct 27 19:57:11 2009 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Tue, 27 Oct 2009 18:57:11 +0000 Subject: [IronPython] ANN: Resolver One version 1.7 released In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04BADDD9@TK5EX14MBXC118.redmond.corp.microsoft.com> References: <4AE7368D.3010900@resolversystems.com> <1A472770E042064698CB5ADC83A12ACD04BADDD9@TK5EX14MBXC118.redmond.corp.microsoft.com> Message-ID: <4AE74287.6050701@resolversystems.com> Dino Viehland wrote: > Congratulations on another release! Just out of curiosity did you move > to 2.0.3 for this release or is it still 2.0.2 based? > Thanks! We stuck with 2.0.2 for this release. Cheers, Giles -- Giles Thomas giles.thomas at resolversystems.com +44 (0) 20 7253 6372 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK From dfugate at microsoft.com Tue Oct 27 22:02:08 2009 From: dfugate at microsoft.com (Dave Fugate) Date: Tue, 27 Oct 2009 21:02:08 +0000 Subject: [IronPython] [ANN]: IronPython 2.6 Release Candidate 2 In-Reply-To: <7CEEC335D70FFE4B957737DDE836F51B0E751EDD@TK5EX14MBXC127.redmond.corp.microsoft.com> References: <7CEEC335D70FFE4B957737DDE836F51B0E6D8FC4@TK5EX14MBXC125.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E7330FB@TK5EX14MBXC123.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751C22@TK5EX14MBXC127.redmond.corp.microsoft.com> <1A472770E042064698CB5ADC83A12ACD04BAE427@TK5EX14MBXC118.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751EDD@TK5EX14MBXC127.redmond.corp.microsoft.com> Message-ID: <7CEEC335D70FFE4B957737DDE836F51B0E751FBF@TK5EX14MBXC127.redmond.corp.microsoft.com> Hello Python Community, We're pleased to announce the release of IronPython 2.6 Release Candidate 2 which can be freely downloaded at http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34451. Since the public availability of Release Candidate 1, we've addressed the following: * The "json" CPython package has been included with our MSI installer * CPython's logging module can be utilized without passing the -X:Frames command-line parameter to ipy.exe * Documentation distributed with the release has been updated * A memory leak in the hosting APIs reported on the mailing list was fixed * Multi-threaded debugging using sys.settrace show now work * Fixed mapping of .NET "Compare" methods to __cmp__ when they return the wrong type * The imp.load_module function now respects the file argument * A bug related to relative module imports has been addressed * Fixed indexing on .NET types defining DefaultMemberAttribute * Several issues involving new-style string formatting have been corrected If no major issues with this release candidate are discovered, we hope to ship the final 2.6 release in a little under a month. Anyone planning on upgrading to 2.6 should try out this release candidate and let us know of any issues you find ASAP. Thanks to everyone in the IronPython Community who reported bugs and provided valuable feedback: Zachc, yamakox, vernondcole, VAks, tscottw, tonyandrewmeyer, tomwright, TomasMatousek, tkamiya, timers, srivatsn, sopeajw, saveenr, sanxiyn, rridge, ronniemaor, quirogaco, pythonfoo, py_sunil, pm100, pl6306, paulfelix, orestis, olegt, oldman, NDHUMuscle, mycall, mmaly, mmacdonaldssfcu, maplpro, luntain, llaske, lbaker, Lawouach, laurionb, laughingboy, kurhan, kuno, kowenswp, klrohe, kevgu, jmesserly, jlunder, jdhardy, jbevain, jackeyoo, hhonisch, gz, gjones, fwereade, deadalusai, daveremy, darb, CurtHagenlocher, chaghi, cgravill, cartman, bobarnso, billchi, atifaziz, ashcor, alvanet, __Helmut__, fuzzyman, fabiofz, Eloff, egonw_, dungen, dsblank, dmajnemer, dinov, and dfugate. We really do appreciate your input which helps to make every release of IronPython better than the last. The IronPython Team -------------- next part -------------- An HTML attachment was scrubbed... URL: From fuzzyman at voidspace.org.uk Tue Oct 27 23:03:00 2009 From: fuzzyman at voidspace.org.uk (Michael Foord) Date: Tue, 27 Oct 2009 22:03:00 +0000 Subject: [IronPython] [ANN]: IronPython 2.6 Release Candidate 2 In-Reply-To: <7CEEC335D70FFE4B957737DDE836F51B0E751FBF@TK5EX14MBXC127.redmond.corp.microsoft.com> References: <7CEEC335D70FFE4B957737DDE836F51B0E6D8FC4@TK5EX14MBXC125.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E7330FB@TK5EX14MBXC123.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751C22@TK5EX14MBXC127.redmond.corp.microsoft.com> <1A472770E042064698CB5ADC83A12ACD04BAE427@TK5EX14MBXC118.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751EDD@TK5EX14MBXC127.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751FBF@TK5EX14MBXC127.redmond.corp.microsoft.com> Message-ID: <4AE76E14.7030502@voidspace.org.uk> Hey guys, Congratulations on the release. I'm hoping to get some distutils fixes for IronPython backported to 2.6, to allow a separate user site-packages folder for IronPython. Will you be able to pull in updated versions of site.py and the distutils package for the final version? Michael Dave Fugate wrote: > > Hello Python Community, > > We?re pleased to announce the release of IronPython 2.6 Release > Candidate 2 which can be freely downloaded at > http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34451. > Since the public availability of Release Candidate 1, we?ve addressed > the following: > > ? The ?json? CPython package has been included with our MSI installer > > ? CPython?s logging module can be utilized without passing the > ?X:Frames command-line parameter to ipy.exe > > ? Documentation distributed with the release has been updated > > ? A memory leak in the hosting APIs reported on the mailing list was fixed > > ? Multi-threaded debugging using sys.settrace show now work > > ? Fixed mapping of .NET ?Compare? methods to __cmp__ when they return > the wrong type > > ? The imp.load_module function now respects the file argument > > ? A bug related to relative module imports has been addressed > > ? Fixed indexing on .NET types defining DefaultMemberAttribute > > ? Several issues involving new-style string formatting have been corrected > > If no major issues with this release candidate are discovered, we hope > to ship the final 2.6 release in a little under a month. Anyone > planning on upgrading to 2.6 should try out this release candidate and > let us know of any issues you find ASAP. > > Thanks to everyone in the IronPython Community who reported bugs and > provided valuable feedback: Zachc, yamakox, vernondcole, VAks, > tscottw, tonyandrewmeyer, tomwright, TomasMatousek, tkamiya, timers, > srivatsn, sopeajw, saveenr, sanxiyn, rridge, ronniemaor, quirogaco, > pythonfoo, py_sunil, pm100, pl6306, paulfelix, orestis, olegt, oldman, > NDHUMuscle, mycall, mmaly, mmacdonaldssfcu, maplpro, luntain, llaske, > lbaker, Lawouach, laurionb, laughingboy, kurhan, kuno, kowenswp, > klrohe, kevgu, jmesserly, jlunder, jdhardy, jbevain, jackeyoo, > hhonisch, gz, gjones, fwereade, deadalusai, daveremy, darb, > CurtHagenlocher, chaghi, cgravill, cartman, bobarnso, billchi, > atifaziz, ashcor, alvanet, __Helmut__, fuzzyman, fabiofz, Eloff, > egonw_, dungen, dsblank, dmajnemer, dinov, and dfugate. > > We really do appreciate your input which helps to make every release > of IronPython better than the last. > > The IronPython Team > > ------------------------------------------------------------------------ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog From dfugate at microsoft.com Tue Oct 27 23:09:26 2009 From: dfugate at microsoft.com (Dave Fugate) Date: Tue, 27 Oct 2009 22:09:26 +0000 Subject: [IronPython] [ANN]: IronPython 2.6 Release Candidate 2 In-Reply-To: <4AE76E14.7030502@voidspace.org.uk> References: <7CEEC335D70FFE4B957737DDE836F51B0E6D8FC4@TK5EX14MBXC125.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E7330FB@TK5EX14MBXC123.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751C22@TK5EX14MBXC127.redmond.corp.microsoft.com> <1A472770E042064698CB5ADC83A12ACD04BAE427@TK5EX14MBXC118.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751EDD@TK5EX14MBXC127.redmond.corp.microsoft.com> <7CEEC335D70FFE4B957737DDE836F51B0E751FBF@TK5EX14MBXC127.redmond.corp.microsoft.com> <4AE76E14.7030502@voidspace.org.uk> Message-ID: <7CEEC335D70FFE4B957737DDE836F51B0E7521B5@TK5EX14MBXC127.redmond.corp.microsoft.com> Don't see any reason we couldn't do this for 2.6.1:) Dave -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord Sent: Tuesday, October 27, 2009 3:03 PM To: Discussion of IronPython Subject: Re: [IronPython] [ANN]: IronPython 2.6 Release Candidate 2 Hey guys, Congratulations on the release. I'm hoping to get some distutils fixes for IronPython backported to 2.6, to allow a separate user site-packages folder for IronPython. Will you be able to pull in updated versions of site.py and the distutils package for the final version? Michael Dave Fugate wrote: > > Hello Python Community, > > We're pleased to announce the release of IronPython 2.6 Release > Candidate 2 which can be freely downloaded at > http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34451. > Since the public availability of Release Candidate 1, we've addressed > the following: > > * The "json" CPython package has been included with our MSI installer > > * CPython's logging module can be utilized without passing the > -X:Frames command-line parameter to ipy.exe > > * Documentation distributed with the release has been updated > > * A memory leak in the hosting APIs reported on the mailing list was fixed > > * Multi-threaded debugging using sys.settrace show now work > > * Fixed mapping of .NET "Compare" methods to __cmp__ when they return > the wrong type > > * The imp.load_module function now respects the file argument > > * A bug related to relative module imports has been addressed > > * Fixed indexing on .NET types defining DefaultMemberAttribute > > * Several issues involving new-style string formatting have been corrected > > If no major issues with this release candidate are discovered, we hope > to ship the final 2.6 release in a little under a month. Anyone > planning on upgrading to 2.6 should try out this release candidate and > let us know of any issues you find ASAP. > > Thanks to everyone in the IronPython Community who reported bugs and > provided valuable feedback: Zachc, yamakox, vernondcole, VAks, > tscottw, tonyandrewmeyer, tomwright, TomasMatousek, tkamiya, timers, > srivatsn, sopeajw, saveenr, sanxiyn, rridge, ronniemaor, quirogaco, > pythonfoo, py_sunil, pm100, pl6306, paulfelix, orestis, olegt, oldman, > NDHUMuscle, mycall, mmaly, mmacdonaldssfcu, maplpro, luntain, llaske, > lbaker, Lawouach, laurionb, laughingboy, kurhan, kuno, kowenswp, > klrohe, kevgu, jmesserly, jlunder, jdhardy, jbevain, jackeyoo, > hhonisch, gz, gjones, fwereade, deadalusai, daveremy, darb, > CurtHagenlocher, chaghi, cgravill, cartman, bobarnso, billchi, > atifaziz, ashcor, alvanet, __Helmut__, fuzzyman, fabiofz, Eloff, > egonw_, dungen, dsblank, dmajnemer, dinov, and dfugate. > > We really do appreciate your input which helps to make every release > of IronPython better than the last. > > The IronPython Team > > ------------------------------------------------------------------------ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From mjt at nysv.org Wed Oct 28 11:48:05 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Wed, 28 Oct 2009 10:48:05 +0000 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings Message-ID: <20091028104805.GZ22055@nysv.org> Hi! I got my code to run far enough on IronPython that it sets and clears the test cookies, stores sessions in MSSQL, executes a lot of queries, but dies eventually on "Process is terminated due to StackOverflowException" :( However, as the new IPy version was released like yesterday (thanks guys!) I figured I'd try it out. So I installed 2.6rc2, but unfortunately it didn't help. At this point I run into my skill deficiency; as I'm presented with the options to Debug or Close and Debug doesn't tell me anything, I dunno how to debug this. Any hints? Someone else wanna confirm this? PS. Here is how I had to hack generic.py, it's the modification to the beginning of the execute function: def execute(self, operation, parameters=None, parameter_names=None): ## Take from mssql.py because of the wrong cursor seems to get initialized #""" parameter_names = None if parameters: parameter_names = tuple('@p%i' % i for i in range(len(parameters))) operation = operation % parameter_names #""" print "adonet2dbapi: executing '" + str(operation) + "' with '" + str(parameters) + "'" Here's the connect function (in its entirety) from mssql.py def connect(connstr): relevant_parts = [part for part in connstr.split(';') if not part.upper().startswith('PROVIDER')] connstr = ';'.join(relevant_parts) #return generic_connect("System.Data", "System.Data.SqlClient.SqlConnection", connstr) # Fake signature of generic_connect! assembly = "System.Data" typename = "System.Data.SqlClient.SqlConnection" data = connstr factory = None # Import relevant definitions from generic import _build_string, _load_type if isinstance(data, dict): data = _build_string(data) connector = _load_type(assembly, typename) connection = connector(data) retval = Connection(connection) if factory is None else factory(connection) print 'returning', retval return retval Way too hacky for my taste but it gets the job kinda done. -- mjt From sanxiyn at gmail.com Wed Oct 28 14:53:45 2009 From: sanxiyn at gmail.com (Seo Sanghyeon) Date: Wed, 28 Oct 2009 22:53:45 +0900 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: <20091028104805.GZ22055@nysv.org> References: <20091028104805.GZ22055@nysv.org> Message-ID: <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> Intro... I, together with Mark Rees, wrote most of adonet-dbapi code in 2006. 2009/10/28 Markus T?rnqvist : > Here's the connect function (in its entirety) from mssql.py > > def connect(connstr): > ? ?relevant_parts = [part for part in connstr.split(';') if not part.upper().startswith('PROVIDER')] > ? ?connstr = ';'.join(relevant_parts) > ? ?#return generic_connect("System.Data", "System.Data.SqlClient.SqlConnection", connstr) > > Way too hacky for my taste but it gets the job kinda done. Indeed. The question is, what underlying Python DB-API 2 driver does django-mssql use? Is it http://pymssql.sourceforge.net/ ? Argument to connect() function in Python DB-API 2 compliant drivers is not standardized. In case of pymssql, it receives keyword arguments, so it should be handled in a manner similar to MySQLdb.py wrapper in adonet-dbapi. But from your hack it seems django-mssql's underlying Python DB-API 2 driver expects a string argument, so django-mssql is building string by itself -- this is ungood. Read psycopg.py wrapper in adonet-dbapi to see how to handle this. On the other hand, as I understand, Django does not handle paramstyle difference in DB-API 2 drivers, so this is kind of a lost cause. How do other Django DB backends deal with the issue? SQLAlchemy, fortunately, handles paramstyle difference by itself. -- Seo Sanghyeon From mjt at nysv.org Wed Oct 28 15:14:09 2009 From: mjt at nysv.org (Markus =?iso-8859-1?Q?T=F6rnqvist?=) Date: Wed, 28 Oct 2009 14:14:09 +0000 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> Message-ID: <20091028141409.GC22055@nysv.org> On Wed, Oct 28, 2009 at 10:53:45PM +0900, Seo Sanghyeon wrote: >Intro... I, together with Mark Rees, wrote most of adonet-dbapi code in 2006. Hi :) >2009/10/28 Markus T?rnqvist : >> Here's the connect function (in its entirety) from mssql.py >> def connect(connstr): >> ? ?relevant_parts = [part for part in connstr.split(';') if not part.upper().startswith('PROVIDER')] >> ? ?connstr = ';'.join(relevant_parts) >> ? ?#return generic_connect("System.Data", "System.Data.SqlClient.SqlConnection", connstr) >> Way too hacky for my taste but it gets the job kinda done. > >Indeed. The question is, what underlying Python DB-API 2 driver does >django-mssql use? Is it http://pymssql.sourceforge.net/ ? It's on adonet-dbapi... >Argument to connect() function in Python DB-API 2 compliant drivers is >not standardized. In case of pymssql, it receives keyword arguments, >so it should be handled in a manner similar to MySQLdb.py wrapper in >adonet-dbapi. But from your hack it seems django-mssql's underlying >Python DB-API 2 driver expects a string argument, so django-mssql is >building string by itself -- this is ungood. Read psycopg.py wrapper >in adonet-dbapi to see how to handle this. Ok, something like that could be used instead. >On the other hand, as I understand, Django does not handle paramstyle >difference in DB-API 2 drivers, so this is kind of a lost cause. How >do other Django DB backends deal with the issue? SQLAlchemy, >fortunately, handles paramstyle difference by itself. I'd have to create the param dict from the connect string, very much like your psycopg :) Django is intended to use the dbapi, I don't think there's any other way of handling this? Anyway, I think the StackOverflowException is a bigger issue :) -- mjt From jdhardy at gmail.com Wed Oct 28 15:27:06 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Wed, 28 Oct 2009 08:27:06 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> Message-ID: On Wed, Oct 28, 2009 at 7:53 AM, Seo Sanghyeon wrote: > > Indeed. The question is, what underlying Python DB-API 2 driver does > django-mssql use? Is it http://pymssql.sourceforge.net/ ? It uses an old, modified version to Vernon Cole's adodb library that it ships with itself. > On the other hand, as I understand, Django does not handle paramstyle > difference in DB-API 2 drivers, so this is kind of a lost cause. How > do other Django DB backends deal with the issue? SQLAlchemy, > fortunately, handles paramstyle difference by itself. Django always uses %s-style parameters; each backend converts that to whatever the database driver wants (qmarks, @name, whatever). - Jeff From jdhardy at gmail.com Wed Oct 28 15:30:01 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Wed, 28 Oct 2009 08:30:01 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: <20091028104805.GZ22055@nysv.org> References: <20091028104805.GZ22055@nysv.org> Message-ID: 2009/10/28 Markus T?rnqvist : > At this point I run into my skill deficiency; as I'm presented with the > options to Debug or Close and Debug doesn't tell me anything, I dunno > how to debug this. > > Any hints? If you run ipy with the -D flag (or set system.compilation/debug=true for NWSGI) then IronPython will emit debug symbols; otherwise you won't be able to actually debug the Python code. You can then attach Visual Studio to the process (which clicking "Debug" should do) and step through the Python code. Note that debugging isn't always perfect, but it at least gives you an idea where to look. - Jeff From merllab at microsoft.com Wed Oct 28 16:53:08 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Wed, 28 Oct 2009 08:53:08 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <6fa3cf42-f5a3-46ed-8638-1b763ccb2b67@tk5-exsmh-c102.redmond.corp.microsoft.com> 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/60608. ADDED SOURCES $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/init.rb MODIFIED SOURCES $/IronPython/IronPython_Main/Config/Signed/App.config $/IronPython/IronPython_Main/Config/Unsigned/App.config $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/init.rb From vernondcole at gmail.com Wed Oct 28 17:23:38 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Wed, 28 Oct 2009 10:23:38 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: <20091028141409.GC22055@nysv.org> References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: Markus: Would you be so kind as to zip up and email to me the adonet-dbapi as you now have it patched? I will create a version which does not error out. (May take a few days.) -- Vernon 2009/10/28 Markus T?rnqvist > On Wed, Oct 28, 2009 at 10:53:45PM +0900, Seo Sanghyeon wrote: > >Intro... I, together with Mark Rees, wrote most of adonet-dbapi code in > 2006. > > Hi :) > > >2009/10/28 Markus T?rnqvist : > >> Here's the connect function (in its entirety) from mssql.py > > >> def connect(connstr): > >> relevant_parts = [part for part in connstr.split(';') if not > part.upper().startswith('PROVIDER')] > >> connstr = ';'.join(relevant_parts) > >> #return generic_connect("System.Data", > "System.Data.SqlClient.SqlConnection", connstr) > > >> Way too hacky for my taste but it gets the job kinda done. > > > >Indeed. The question is, what underlying Python DB-API 2 driver does > >django-mssql use? Is it http://pymssql.sourceforge.net/ ? > > It's on adonet-dbapi... > > >Argument to connect() function in Python DB-API 2 compliant drivers is > >not standardized. In case of pymssql, it receives keyword arguments, > >so it should be handled in a manner similar to MySQLdb.py wrapper in > >adonet-dbapi. But from your hack it seems django-mssql's underlying > >Python DB-API 2 driver expects a string argument, so django-mssql is > >building string by itself -- this is ungood. Read psycopg.py wrapper > >in adonet-dbapi to see how to handle this. > > Ok, something like that could be used instead. > > >On the other hand, as I understand, Django does not handle paramstyle > >difference in DB-API 2 drivers, so this is kind of a lost cause. How > >do other Django DB backends deal with the issue? SQLAlchemy, > >fortunately, handles paramstyle difference by itself. > > I'd have to create the param dict from the connect string, very > much like your psycopg :) > > Django is intended to use the dbapi, I don't think there's any other > way of handling this? > > Anyway, I think the StackOverflowException is a bigger issue :) > > -- > mjt > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dfugate at microsoft.com Wed Oct 28 17:32:17 2009 From: dfugate at microsoft.com (Dave Fugate) Date: Wed, 28 Oct 2009 16:32:17 +0000 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> Message-ID: <7CEEC335D70FFE4B957737DDE836F51B1049CDCD@TK5EX14MBXC123.redmond.corp.microsoft.com> Just a hunch, but you might want to try passing "-X:MaxRecursion 1000" to ipy.exe. By default, IronPython has a very high recursion limit compared to CPython. On occasion this can cause the entire interactive session/process to die with a StackOverflowException rather than emit a catchable Python RuntimeError. The other thing is if you're running under an x64 OS, try ipy.exe instead of ipy64.exe. ipy.exe is purely a 32-bit CLR process and hence needs less memory. Hope that helps, Dave -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Jeff Hardy Sent: Wednesday, October 28, 2009 7:30 AM To: Discussion of IronPython Subject: Re: [IronPython] Django 1.1 on IronPython 2.6rc2 findings 2009/10/28 Markus T?rnqvist : > At this point I run into my skill deficiency; as I'm presented with the > options to Debug or Close and Debug doesn't tell me anything, I dunno > how to debug this. > > Any hints? If you run ipy with the -D flag (or set system.compilation/debug=true for NWSGI) then IronPython will emit debug symbols; otherwise you won't be able to actually debug the Python code. You can then attach Visual Studio to the process (which clicking "Debug" should do) and step through the Python code. Note that debugging isn't always perfect, but it at least gives you an idea where to look. - Jeff _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From jdhardy at gmail.com Wed Oct 28 18:15:34 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Wed, 28 Oct 2009 11:15:34 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: On Wed, Oct 28, 2009 at 10:23 AM, Vernon Cole wrote: > Markus: > ? Would you be so kind as to zip up and email to me the adonet-dbapi as you > now have it patched? A better option IMO would be to create a fork on bitbucket and push changes there. That way I can pull back into my existing repo. > I will create a version which does not error out. (May take a few days.) How much overlap is there between your other adodb project and adonet-dbapi? I don't think there's any need to have two libraries that do the same thing for IronPython, so we might as well figure out what's different and work towards one library. - Jeff From sanxiyn at gmail.com Wed Oct 28 23:02:39 2009 From: sanxiyn at gmail.com (Seo Sanghyeon) Date: Thu, 29 Oct 2009 07:02:39 +0900 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: <5b0248170910281502o49bbfecep47a1cc2ce937ee44@mail.gmail.com> 2009/10/29 Jeff Hardy : > How much overlap is there between your other adodb project and > adonet-dbapi? I don't think there's any need to have two libraries > that do the same thing for IronPython, so we might as well figure out > what's different and work towards one library. My understanding is that adodb uses COM, so it can't be used with Mono on Linux. That seals my position against any merge. -- Seo Sanghyeon From vernondcole at gmail.com Thu Oct 29 06:58:50 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Wed, 28 Oct 2009 23:58:50 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: <5b0248170910281502o49bbfecep47a1cc2ce937ee44@mail.gmail.com> References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> <5b0248170910281502o49bbfecep47a1cc2ce937ee44@mail.gmail.com> Message-ID: Yes, adodbapi does use COM. My intention is to make an ADO.NET version of it, but I want to make one which will be a near drop in replacement for the fork which has been adapted for django -- which also uses COM. My idea is to make the django changes first, before making the .NET changes. That way, if I must fork the code for .NET, the new version will have the same features as the COM version. I want to add Mono to the list of systems adodbapi will run on. The existing Linux ODBC module leaves a bit to be desired, and something better may be needed to make MS-SQL access work on Linux. -- Vernon Cole On Wed, Oct 28, 2009 at 4:02 PM, Seo Sanghyeon wrote: > 2009/10/29 Jeff Hardy : > > How much overlap is there between your other adodb project and > > adonet-dbapi? I don't think there's any need to have two libraries > > that do the same thing for IronPython, so we might as well figure out > > what's different and work towards one library. > > My understanding is that adodb uses COM, so it can't be used with Mono > on Linux. That seals my position against any merge. > > -- > Seo Sanghyeon > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vernondcole at gmail.com Thu Oct 29 07:07:24 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Thu, 29 Oct 2009 00:07:24 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: Jeff: Thank you for your kind suggestion to use bitbucket. I don't think that would be a good idea. I already have to keep up three distributions of adodbapi -- on pywin32 and FePy as well as its own project. A fourth would be a bit too much. I would prefer to include django capability in the trunk, if possible. -- Vernon On Wed, Oct 28, 2009 at 11:15 AM, Jeff Hardy wrote: > On Wed, Oct 28, 2009 at 10:23 AM, Vernon Cole > wrote: > > Markus: > > Would you be so kind as to zip up and email to me the adonet-dbapi as > you > > now have it patched? > > A better option IMO would be to create a fork on bitbucket and push > changes there. That way I can pull back into my existing repo. > > > I will create a version which does not error out. (May take a few days.) > > How much overlap is there between your other adodb project and > adonet-dbapi? I don't think there's any need to have two libraries > that do the same thing for IronPython, so we might as well figure out > what's different and work towards one library. > > - Jeff > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdhardy at gmail.com Thu Oct 29 15:00:38 2009 From: jdhardy at gmail.com (Jeff Hardy) Date: Thu, 29 Oct 2009 08:00:38 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: On Thu, Oct 29, 2009 at 12:07 AM, Vernon Cole wrote: > Jeff: > ?? Thank you for your kind suggestion to use bitbucket.? I don't think that > would be a good idea.? I already have to keep up three distributions of > adodbapi -- on pywin32 and FePy as well as its own project. A fourth would > be a bit too much. I would prefer to include django capability in the trunk, > if possible. Hi Vernon, Sorry, I wasn't clear - I meant any changes to adonet-dbapi, which is already on bitbucket. I agree that moving adodbapi doean't make any sense. - Jeff From vernondcole at gmail.com Thu Oct 29 16:04:15 2009 From: vernondcole at gmail.com (Vernon Cole) Date: Thu, 29 Oct 2009 09:04:15 -0600 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: I am cross posting here my inquiry sent to db-sig about how to change paramstyles, along with the only response. If you feel that option #1 below is NOT the way to go, please say something now. -- Vernon Cole M.-A. Lemburg ? to me, db-sig > show details Sep 26 > > Vernon Cole wrote: > > I am planning to add, as an extension, the ability for adodbapi to change > > its paramstyle. I personally like "named" much better than "qmark", and > it > > happens that django expects to have "format", so I will add that, too. > > > > My question is, what would be an appropriate way to specify the altered > > paramstyle? > > > > 1) As an attribute of the connection: > > con = adodbapi.connect('spam eggs") > > con.paramstyle = "named" > > Most other configuration parameters are made available on > connections and cursors (with the cursor setting overriding the > connection one), so I think that's the most DB-API > compatible way of implementing this. > > > 2) Make the module global mutable: > > adodbapi.adodbapi.paramstyle = "named" # [ ick! ] > > > > 3) As a named parameter of the connection: > > con = adodbapi.connect("spam eggs", paramstyle="named") > > > > Has anyone else done this? > > How did they do it? > > How will some speculated future db-api version 3.0 want it? > > Probably in the way you mentioned above. > > The module global would then provide to the default setting. > > -- > Marc-Andre Lemburg > eGenix.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From merllab at microsoft.com Thu Oct 29 16:53:30 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Thu, 29 Oct 2009 08:53:30 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: <52ddcba0-f3dd-4a14-8499-6fcb8cd4b641@tk5-exsmh-c101.redmond.corp.microsoft.com> 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/60662. ADDED SOURCES $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/ExpressionUtils.cs MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicLanguageConfig.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicScriptTags.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/XamlScriptTags.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserVirtualFilesystem.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicEngine.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Repl.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Window.cs $/IronPython/IronPython_Main/Src/IronPythonConsoleAny/IronPythonConsoleAny.csproj $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserScriptHost.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicApplication.cs $/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/ExtensionTypes.cs $/IronPython/IronPython_Main/Src/IronPythonWindow/IronPythonWindow.csproj $/IronPython/IronPython_Main/Src/IronPythonConsole/IronPythonConsole.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Actions/Calls/OverloadResolver.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Actions/Calls/BindingResult.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Actions/Calls/CallFailureReason.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Hosting/Shell/CommandLine.cs $/IronPython/IronPython_Main/Src/IronPythonWindowAny/IronPythonWindowAny.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ScriptRuntime.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ScriptEngine.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/Providers/HostingHelpers.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/DynamicOperations.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Hosting/ScriptScope.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/Scope.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/ScopeStorage.cs $/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/ExpressionUtils.cs From catherine.devlin at gmail.com Thu Oct 29 19:17:32 2009 From: catherine.devlin at gmail.com (Catherine Devlin) Date: Thu, 29 Oct 2009 14:17:32 -0400 Subject: [IronPython] pushing PyCon in the .NET community Message-ID: <6523e39a0910291117o125fd462j6b62e5bb42f39bcb@mail.gmail.com> Hi, everybody! I'm PyCon 2010 publicity chair. Are you sick of hearing about PyCon yet? No? Then I need your help. We need to get the whole community talking about PyCon. So far, PyCon tends to get plenty of notice in the Linux/UNIX world... much less so in the (great big honking) .NET programming community. You know much better than I do, however, that Python and PyCon are ready to shower .NET programmers with Pythony goodness... we just have to let them know somehow. So I need your ideas and help. Together we'll make a big, awesome PyCon. - What .NET magazines and websites would be good to target for announcements and media sponsorships? - By far the best way to get space in magazines, etc. is to write articles for them. Could anybody write an article about or mentioning PyCon for some of these? I'm imagining titles like "A .NET programmer at PyCon" - or whatever you can think of. Remember, writing burnishes your own reputation, too. - Are you on .NET mailing lists, forums, etc. where PyCon has not been mentioned? Can you rectify that, or point me to them so that I can? - You're blogging the bejeezuz out of PyCon, right? Blog badges and some other goodies (flyers, slides for speakers, business cards) are at http://us.pycon.org/2010/helping/publicize/ - Anything else you can think of? Thanks very much! See you in Atlanta! -- - Catherine http://catherinedevlin.blogspot.com/ *** PyCon * Feb 17-25, 2010 * Atlanta, GA * us.pycon.org *** -------------- next part -------------- An HTML attachment was scrubbed... URL: From ctrachte at gmail.com Thu Oct 29 19:42:59 2009 From: ctrachte at gmail.com (Carl Trachte) Date: Thu, 29 Oct 2009 12:42:59 -0600 Subject: [IronPython] pushing PyCon in the .NET community In-Reply-To: <6523e39a0910291117o125fd462j6b62e5bb42f39bcb@mail.gmail.com> References: <6523e39a0910291117o125fd462j6b62e5bb42f39bcb@mail.gmail.com> Message-ID: <426ada670910291142r11d4171bq5347e78dd2cea342@mail.gmail.com> > - What .NET magazines and websites would be good to target for announcements > and media sponsorships? http://my.advisor.com/pub/MSProAdvisor - don't know how Advisor is doing nowadays, but I still see Ken Getz' name there. Not sure how giving they are, but know that at least at one time they were doing quite well on the money front. Carl T. From sanxiyn at gmail.com Fri Oct 30 05:39:57 2009 From: sanxiyn at gmail.com (Seo Sanghyeon) Date: Fri, 30 Oct 2009 13:39:57 +0900 Subject: [IronPython] Django 1.1 on IronPython 2.6rc2 findings In-Reply-To: References: <20091028104805.GZ22055@nysv.org> <5b0248170910280653v7d8566eck7095df85e127c1fa@mail.gmail.com> <20091028141409.GC22055@nysv.org> Message-ID: <5b0248170910292139t7a8406aeu5e482a329e8b5f16@mail.gmail.com> 2009/10/30 Vernon Cole > I am cross posting here my inquiry sent to db-sig about how to change paramstyles, along with the only response. > > If you feel that option #1 below is NOT the way to go, please say something now. > >> M.-A. Lemburg?? >> Vernon Cole wrote: >> > My question is, what would be an appropriate way to specify the altered >> > paramstyle? >> > >> > 1) As an attribute of the connection: >> > ? ? con = adodbapi.connect('spam eggs") >> > ? ? con.paramstyle = "named" >> >> Most other configuration parameters are made available on >> connections and cursors (with the cursor setting overriding the >> connection one), so I think that's the most DB-API >> compatible way of implementing this. I agree with this. Sensible. -- Seo Sanghyeon From merllab at microsoft.com Fri Oct 30 16:53:53 2009 From: merllab at microsoft.com (merllab at microsoft.com) Date: Fri, 30 Oct 2009 08:53:53 -0700 Subject: [IronPython] IronPython 2.6 CodePlex Source Update Message-ID: 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/60730. DELETED SOURCES $/IronPython/IronPython_Main/Src/Tests/compat/sbs_library.dll MODIFIED SOURCES $/IronPython/IronPython_Main/Src/Tests/compat/sbs_func_args.py CHECKIN COMMENTS -------------------------------------------------------------------------------- Changeset Id: 1243071 Date: 10/29/2009 2:01:27 PM (dfugate) Even though it's a test library, we can't redistribute sbs_library.dll without it being digitally signed. Instead, we now generate this assembly on the fly while running tests. (Shelveset: SBS_LIBRARY_MAIN;REDMOND\dfugate | SNAP CheckinId: 9725) From cenovsky at bakalari.cz Fri Oct 30 18:40:31 2009 From: cenovsky at bakalari.cz (Lukas Cenovsky) Date: Fri, 30 Oct 2009 18:40:31 +0100 Subject: [IronPython] .NET attributes for methods In-Reply-To: <8E45365BECA665489F3CB8878A6C1B7D0C7A9BB7@TK5EX14MBXC140.redmond.corp.microsoft.com> References: <4AE09833.8020203@bakalari.cz> <8E45365BECA665489F3CB8878A6C1B7D0C7A9BB7@TK5EX14MBXC140.redmond.corp.microsoft.com> Message-ID: <4AEB250F.3050805@bakalari.cz> Thanks. I wanted to implement WCF service in pure Ironpython but I overlooked the [OperationContract] method attribute is used in the interface declaration. Anyway, thanks to class attributes it is now possible to implement the WCF service in IronPython and have only the interface done in C#. See my blog post: http://gui-at.blogspot.com/2009/10/wcf-service-in-ironpython.html DllImport is good to have too - I can get rid of of my Win32API.dll when simulating user's input :-) -- -- Luk?? Shri Borde wrote: > The following files extend DevHawk's blog and adds support for typed methods with attributes. It will be available as part of the samples released with the 2.6 RTM (over the next month). Do let us know if it works for you. > > Also, I would be curious to know what scenario you need method attributes for (other than DllImport for pinvokes)... > > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky > Sent: Thursday, October 22, 2009 10:37 AM > To: Discussion of IronPython > Subject: [IronPython] .NET attributes for methods > > Hi, > I have read all DewHawk blogposts about .Net attributes in IronPython > via __clrtype__ metaclass > (http://devhawk.net/CategoryView,category,__clrtype__.aspx). He > describes how to add attributes to classes but not to methods. Is there > any example how to add attributes to a method. It looks like method > generation is necessary (like for getter and setter or in > http://www.voidspace.org.uk/python/weblog/arch_d7_2007_03_10.shtml#e659) > but this is kind of deep magic for me... > Thanks. > > -- > -- Luk?? > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > ------------------------------------------------------------------------ > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Shri.Borde at microsoft.com Fri Oct 30 18:51:49 2009 From: Shri.Borde at microsoft.com (Shri Borde) Date: Fri, 30 Oct 2009 17:51:49 +0000 Subject: [IronPython] .NET attributes for methods In-Reply-To: <4AEB250F.3050805@bakalari.cz> References: <4AE09833.8020203@bakalari.cz> <8E45365BECA665489F3CB8878A6C1B7D0C7A9BB7@TK5EX14MBXC140.redmond.corp.microsoft.com> <4AEB250F.3050805@bakalari.cz> Message-ID: <8E45365BECA665489F3CB8878A6C1B7D0C7B0468@TK5EX14MBXC140.redmond.corp.microsoft.com> The clrtype module could be extended to make it possible to declare CLR interfaces in Python code. Something like: class IFoo(object): __metaclass__ = ClrType.ClrInterface # Proposed way to indicate an interface @clrtype.accepts(int, str) @clrtype.returns(int) @clrtype.attribute(OperationContractAttribute)() def foo(i, s):raise RuntimeError("this should not get called") This does not work today... From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky Sent: Friday, October 30, 2009 10:41 AM To: Discussion of IronPython Subject: Re: [IronPython] .NET attributes for methods Thanks. I wanted to implement WCF service in pure Ironpython but I overlooked the [OperationContract] method attribute is used in the interface declaration. Anyway, thanks to class attributes it is now possible to implement the WCF service in IronPython and have only the interface done in C#. See my blog post: http://gui-at.blogspot.com/2009/10/wcf-service-in-ironpython.html DllImport is good to have too - I can get rid of of my Win32API.dll when simulating user's input :-) -- -- Luk?? Shri Borde wrote: The following files extend DevHawk's blog and adds support for typed methods with attributes. It will be available as part of the samples released with the 2.6 RTM (over the next month). Do let us know if it works for you. Also, I would be curious to know what scenario you need method attributes for (other than DllImport for pinvokes)... -----Original Message----- From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky Sent: Thursday, October 22, 2009 10:37 AM To: Discussion of IronPython Subject: [IronPython] .NET attributes for methods Hi, I have read all DewHawk blogposts about .Net attributes in IronPython via __clrtype__ metaclass (http://devhawk.net/CategoryView,category,__clrtype__.aspx). He describes how to add attributes to classes but not to methods. Is there any example how to add attributes to a method. It looks like method generation is necessary (like for getter and setter or in http://www.voidspace.org.uk/python/weblog/arch_d7_2007_03_10.shtml#e659) but this is kind of deep magic for me... Thanks. -- -- Luk?? _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com ________________________________ _______________________________________________ Users mailing list Users at lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From fmerrow at qualcomm.com Fri Oct 30 20:47:56 2009 From: fmerrow at qualcomm.com (Frank Merrow) Date: Fri, 30 Oct 2009 12:47:56 -0700 Subject: [IronPython] Iron Python NewB questions . . . Message-ID: <304cd93c-3263-49a2-8a37-987d45ee4235@nasanexmsp02.na.qualcomm.com> So I've been reading the Iron Python docs plus installed and played with it a little bit . . . it doesn't look like Iron Python does quite what I need. If I have a Python script . . . and I want to access a C# assembly . . . it looks like I am Golden. (I have yet to actually get it to work, but it looks like the pieces are there.) However, if I want to create a Python .NET assembly so I can call an existing Python class set from C# . . . it looks to me like that direction doesn't exist. The other thing that I see here, is that even if I adopt the "Python on top" philosophy . . . since I cannot create an assembly . . . I cannot create an executable file and I think also that things like Py2EXE and PyInstaller won't work either. That is . . . to run the resulting scripts, I have to install Iron Python on every target system. (Currently we wrap our application using PyInstaller and so the customer does not have to have Python installed to run it.) Lastly, I'm wondering is any of this is runnable under Unix Mono . . . I'm guessing the answer is "no". Comments welcomed. If I have misunderstood anything here . . . please point me at docs so I can do more reading. Frank From dinov at microsoft.com Fri Oct 30 21:18:49 2009 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 30 Oct 2009 20:18:49 +0000 Subject: [IronPython] Iron Python NewB questions . . . In-Reply-To: <304cd93c-3263-49a2-8a37-987d45ee4235@nasanexmsp02.na.qualcomm.com> References: <304cd93c-3263-49a2-8a37-987d45ee4235@nasanexmsp02.na.qualcomm.com> Message-ID: <1A472770E042064698CB5ADC83A12ACD04BFEFC6@TK5EX14MBXC118.redmond.corp.microsoft.com> Frank wrote: > So I've been reading the Iron Python docs plus installed and played > with it a little bit . . . it doesn't look like Iron Python does > quite what I need. > > If I have a Python script . . . and I want to access a C# assembly . > . . it looks like I am Golden. (I have yet to actually get it to > work, but it looks like the pieces are there.) > > However, if I want to create a Python .NET assembly so I can call an > existing Python class set from C# . . . it looks to me like that > direction doesn't exist. There's a couple of ways to do this. You can define an interface or base class on the C# side and implement it on the Python side. Then you can cast the Python object to the interface or base class and use it that way. Also w/ .NET 4.0 C# is getting the new static type "dynamic" which can be used for interoperating with Python and other objects which respond dynamically. VB.NET, while already having dynamic support, also gets updated so that it can consume IronPython and IronRuby objects. > > The other thing that I see here, is that even if I adopt the "Python > on top" philosophy . . . since I cannot create an assembly . . . I > cannot create an executable file and I think also that things like > Py2EXE and PyInstaller won't work either. > > That is . . . to run the resulting scripts, I have to install Iron > Python on every target system. (Currently we wrap our application > using PyInstaller and so the customer does not have to have Python > installed to run it.) In the Tools\Scripts directory of the installation is a script called pyc.py which can be used to compile Python code into a DLL or an EXE. The resulting code still needs the IronPython libraries but it provides a way to pre-compile the code (including down to native code using ngen) and to not distribute the actual Python code. > Lastly, I'm wondering is any of this is runnable under Unix Mono . . > . I'm guessing the answer is "no". IronPython does run on Mono under Unix. Occasionally we break them but the Mono team is usually pretty fast to respond to issues reported and fix them. I'm not sure what the current status is so you may need to use the latest SVN for it to work. From cenovsky at bakalari.cz Fri Oct 30 22:05:21 2009 From: cenovsky at bakalari.cz (Lukas Cenovsky) Date: Fri, 30 Oct 2009 22:05:21 +0100 Subject: [IronPython] IronPython 2.6RC2 and Silverlight template Message-ID: <4AEB5511.5090300@bakalari.cz> Hi all, I wanted to play with IronPython and Silverlight but I have found the template that comes with the IPy 2.6 RC2 does not work. It looks like it needs IronPython.slvx and Microsoft.Scripting.slvx. But I do not know where I can get them. Even when I created them (IronPython.slvx from IronPython.*.dll and Microsoft.Scripting.slvx from Microsoft.Scripting.*) it still does not work. So there is something missing but I do not know what... The template works fine with RC1. -- -- Luk?? From Jimmy.Schementi at microsoft.com Fri Oct 30 22:33:08 2009 From: Jimmy.Schementi at microsoft.com (Jimmy Schementi) Date: Fri, 30 Oct 2009 21:33:08 +0000 Subject: [IronPython] IronPython 2.6RC2 and Silverlight template In-Reply-To: <4AEB5511.5090300@bakalari.cz> References: <4AEB5511.5090300@bakalari.cz> Message-ID: <1B42307CD4AADD438CDDA2FE1121CC92027F97@TK5EX14MBXC134.redmond.corp.microsoft.com> Whoa, I thought that was fixed for this RC! Two things are wrong: 1. Find %IronPythonInstallPath%\Silverlight\bin\Chiron.exe.config and remove line #19 (it should be ). 2. Find %IronPythonInstallPath%\Silverlight\script\templates\python\index.html and remove "console=true" from line #80 (it should look like this ). I'm not sure why this is busted. As a work-around, you can add this to app.py to open the console: import sys from Microsoft.Scripting.Silverlight import Repl r = Repl.Show('python') sys.stdout = r.OutputBuffer sys.stderr = r.OutputBuffer ~js > -----Original Message----- > From: users-bounces at lists.ironpython.com [mailto:users- > bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky > Sent: Friday, October 30, 2009 2:05 PM > To: Discussion of IronPython > Subject: [IronPython] IronPython 2.6RC2 and Silverlight template > > Hi all, > I wanted to play with IronPython and Silverlight but I have found the > template that comes with the IPy 2.6 RC2 does not work. > > It looks like it needs IronPython.slvx and Microsoft.Scripting.slvx. But I do not > know where I can get them. Even when I created them (IronPython.slvx > from IronPython.*.dll and Microsoft.Scripting.slvx from > Microsoft.Scripting.*) it still does not work. So there is something missing but > I do not know what... > > The template works fine with RC1. > > -- > -- Luk?? > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com From cenovsky at bakalari.cz Fri Oct 30 22:52:37 2009 From: cenovsky at bakalari.cz (Lukas Cenovsky) Date: Fri, 30 Oct 2009 22:52:37 +0100 Subject: [IronPython] IronPython 2.6RC2 and Silverlight template In-Reply-To: <1B42307CD4AADD438CDDA2FE1121CC92027F97@TK5EX14MBXC134.redmond.corp.microsoft.com> References: <4AEB5511.5090300@bakalari.cz> <1B42307CD4AADD438CDDA2FE1121CC92027F97@TK5EX14MBXC134.redmond.corp.microsoft.com> Message-ID: <4AEB6025.9020305@bakalari.cz> Thanks, it works. -- -- Luk?? Jimmy Schementi wrote: > Whoa, I thought that was fixed for this RC! Two things are wrong: > > 1. Find %IronPythonInstallPath%\Silverlight\bin\Chiron.exe.config and remove line #19 (it should be ). > > 2. Find %IronPythonInstallPath%\Silverlight\script\templates\python\index.html and remove "console=true" from line #80 (it should look like this ). I'm not sure why this is busted. As a work-around, you can add this to app.py to open the console: > > import sys > from Microsoft.Scripting.Silverlight import Repl > r = Repl.Show('python') > sys.stdout = r.OutputBuffer > sys.stderr = r.OutputBuffer > > ~js > > >> -----Original Message----- >> From: users-bounces at lists.ironpython.com [mailto:users- >> bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky >> Sent: Friday, October 30, 2009 2:05 PM >> To: Discussion of IronPython >> Subject: [IronPython] IronPython 2.6RC2 and Silverlight template >> >> Hi all, >> I wanted to play with IronPython and Silverlight but I have found the >> template that comes with the IPy 2.6 RC2 does not work. >> >> It looks like it needs IronPython.slvx and Microsoft.Scripting.slvx. But I do not >> know where I can get them. Even when I created them (IronPython.slvx >> from IronPython.*.dll and Microsoft.Scripting.slvx from >> Microsoft.Scripting.*) it still does not work. So there is something missing but >> I do not know what... >> >> The template works fine with RC1. >> >> -- >> -- Luk?? >> _______________________________________________ >> Users mailing list >> Users at lists.ironpython.com >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> > > _______________________________________________ > Users mailing list > Users at lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sanxiyn at gmail.com Fri Oct 30 23:40:06 2009 From: sanxiyn at gmail.com (Seo Sanghyeon) Date: Sat, 31 Oct 2009 07:40:06 +0900 Subject: [IronPython] Iron Python NewB questions . . . In-Reply-To: <304cd93c-3263-49a2-8a37-987d45ee4235@nasanexmsp02.na.qualcomm.com> References: <304cd93c-3263-49a2-8a37-987d45ee4235@nasanexmsp02.na.qualcomm.com> Message-ID: <5b0248170910301540x59b586fcu3bfcc9d424cd9f2@mail.gmail.com> 2009/10/31 Frank Merrow : > Lastly, I'm wondering is any of this is runnable under Unix Mono . . . I'm > guessing the answer is "no". The answer is definitely "yes". I run it daily. I am not sure what documentation are you looking for. Do you want something from Microsoft? Then I am not sure whether such thing exists (or should exist). On the other hand, Mono project website clearly says "Mono supports IronPython", and it is one of their goal to stay that way. http://mono-project.com/Python -- Seo Sanghyeon From gzlist at googlemail.com Sat Oct 31 00:33:01 2009 From: gzlist at googlemail.com (Martin (gzlist)) Date: Fri, 30 Oct 2009 23:33:01 +0000 Subject: [IronPython] The tale of a full HybridMapping and a not so tempfile In-Reply-To: <1A472770E042064698CB5ADC83A12ACD04B232F7@TK5EX14MBXC116.redmond.corp.microsoft.com> References: <1A472770E042064698CB5ADC83A12ACD04B232F7@TK5EX14MBXC116.redmond.corp.microsoft.com> Message-ID: On 23/10/2009, Dino Viehland wrote: > Thanks for the great detail here. As you said the fix is easy and I believe > I have it ready to go. We're already kicking off our RC2 build so I don't > know that it'll make it until that build (or 2.6.0 for that matter) but > it'll be fixed by 2.6.1 at the latest. That's great, thanks, I can survive on the workaround till the first minor update. My only outstanding issue that doesn't involve implementing whole modules is various things related to encodings, which I need to find time to investigate further and report on. Martin