Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You probably heard that Iron Python Beta 1 was released. It has a small (but very worthy) breaking change, and I've updated the MDbg-IronPython extension accordingly.
I updated it previously for 0.9.3. The changes are related to redirecting the python console. Here is the progression:
// Hook input + output. This is redirecting pythons 'sys.stdout, sys.stdin, sys.stderr'
// This connects python's sys.stdout --> Stream --> Mdbg console.
Stream s = new MyStream();
#if false
// This is for versions before .0.9.3
// IronPython.Modules.sys.stdin =
// IronPython.Modules.sys.stderr =
// IronPython.Modules.sys.stdout = new IronPython.Objects.PythonFile(s, "w", false);
#elif false
// 0.9.3. breaks the above line because it adds a "name" string parameter. Here's what it should be in 0.9.3:
//IronPython.Objects.Ops.sys.stdin = new IronPython.Objects.PythonFile(s, "stdin", "r", false);
//IronPython.Objects.Ops.sys.stderr = new IronPython.Objects.PythonFile(s, "stderr", "w", false);
//IronPython.Objects.Ops.sys.stdout = new IronPython.Objects.PythonFile(s, "stdout", "w", false);
#else
// Beta 1 breaks the above again. IMO, this integrates into .NET much cleaner:
m_python.SetStderr(s);
m_python.SetStdin(s);
m_python.SetStdout(s);
#endif
I think the current plan of directly passing .NET Stream objects in is a much cleaner way to integrate into .NET.
Comments
- Anonymous
June 14, 2006
PingBack from http://blogs.msdn.com/jmstall/archive/2005/11/08/mdbg_linkfest.aspx