Dino,
thanks for your suggestion. It worked out fine. Now I have basic typing
in pyreadline but I still have work to do to get editing and keyboard
shortcuts to work. I'll post again when I have something more useful.
While doing this I stumbled on this traceback inconsistency to cpython
which took me a while to figure out.
Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def c():
... pass
...
>>> a,b=c()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unpack non-sequence
>>>
IronPython 1.0.2375 (Beta) on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> def c():
... pass
...
>>> a,b=c()
Traceback (most recent call last):
File , line 0, in <stdin>##58
TypeError: None is not enumerable
>>>
/Jörgen
Dino Viehland skrev:
> Unfortunately there's currently no way to switch this from Python code.
>
> What we need to do is expose something in IronPythonConsole.exe which lets
> you set PythonCommandLine.MyConsole (currently you can't do this because
> PythonCommandLine is private). If you made PythonCommandLine public you
> could do clr.AddReference('IronPythonConsole.exe') and then from
> IronPythonConsole import PythonCommandLine, IConsole. Finally you can
> implement your own console:
>
> class MyConsole(IConsole):
> def ReadLine(autoIndentSize): pass
> def Write(text, style): pass
> def WriteLine(text, style): pass
>
>
> and then call PythonCommandLine.MyConsole = MyConsole()
>
> and those methods will override the interface implementation (or in other
> words - it's quite easy to deal with overriding methods :) ).
>
> That's the hacky way to get to where you can start experimenting with this.
> We probably need to come up w/ a better long-term way to do this. This is an
> unfortunate side effect of the runtime & console being so separated - the
> runtime doesn't know anything about the console, and the console can't use
> the runtime's stdin because it needs to be able to deal w/ input such as
> arrow keys.
>
> I don't know that we could do anything here before 1.0, but I'll open a
> CodePlex bug for improving console <-> runtime interop.
>
>
_______________________________________________
users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com