readline trick needed

Etienne Robillard animelovin at gmail.com
Sat Oct 13 09:44:04 EDT 2012


On 13 Oct 2012 13:30:14 GMT
Steven D'Aprano <steve+comp.lang.python at pearwood.info> wrote:

> I'm working with the readline module, and I'm trying to set a key 
> combination to process the current command line by calling a known 
> function, *and* enter the command line.
> 
> Something along the lines of:
> 
> * execute function spam() in some context where it can access 
>   the current command line as a string
> * enter the command line
> 
> Function spam() may or may not modify the command line.
> 
> Here is what I have got so far: I can discard the current line and call a 
> function:
> 
> readline.parse_and_bind(r'"\C-p": "%cspam()\n"' % 0x15)  # ^U
> 
> binds ctrl-P to the key combinations `ctrl-U spam() Enter`, which clears 
> the command line before entering spam().
> 
> If I leave out the ctrl-U, I'll get a SyntaxError or other exception, 
> e.g. command line `x = 123` gets transformed into `x = 123spam()`.
> 
> 
> This is not suitable:
> 
> readline.parse_and_bind(r'"\C-p": "; spam()\n"')
> 
> because it changes the command line. It's okay for spam() itself to 
> modify the command line, but the key binding should not.
> 
> I tried to do this:
> 
> readline.parse_and_bind(r'"\C-p": "\nspam()\n"')
> 
> but it gives me a segmentation fault, which is a little less helpful than 
> I had expected.
> 
> This Stackoverflow question suggests that what I want is not possible in 
> vanilla Python:
> 
> http://stackoverflow.com/questions/11680356
> 
> 
> but I'm a stubborn guy and I have not given up yet. Any suggestions?
> 
> 
> (P.S. I'm aware of IPython, I want to get this working in the standard 
> CPython interpreter.)
> 
> 
> -- 
> Steven
> -- 
> http://mail.python.org/mailman/listinfo/python-list


Why dont you grow yourself some usable neurons instead ? Don't you realize now stackoverflow.com is starting
to hurt your capacity to cogitate on your own or have you not realized this yet?

Cheers,

Etienne


-- 
Etienne Robillard
Green Tea Hackers Club
Fine Software Carpentry For The Rest Of Us!
http://gthc.org/
erob at gthcfoundation.org



More information about the Python-list mailing list