From: guido at CNRI.Reston.VA.US (Guido van Rossum)
Date: Tue, 13 Apr 1999 10:00:26 -0400
Subject: Python console (please play)
In-Reply-To: Your message of "Tue, 13 Apr 1999 09:25:18 EDT."
             <199904131325.JAA08848@python.org> 
References: <199904131325.JAA08848@python.org> 
Message-ID: <199904131400.KAA13455@eric.cnri.reston.va.us>
Content-Length: 1886
X-UID: 1661                                                  

> I know it's been a long while since i last posted here,
> but i have been hacking lots of Python all the while.
> It's just that i mostly don't get to give it away.

Hello Ka-Ping, glad to hear from you again!

> Well, here's a little late-night hack i whipped up.
> Thought you might enjoy it, so i'll post it here.
> 
> It all started with my annoyance at being forced to
> paste code into the Python interpreter one line at a
> time because the prompts foul things up.  But there is
> plenty of boasting in the doc string, so i'll not add
> any more words here.
> 
> Do let me know how you like it.

Aww, I can see you've been away for a while!  You're trying to
recreate the functionality of IDLE, the Interactive DeveLopment
Environment for Python that I've been hacking on lately, now that PTUI
seems no longer maintained.  IDLE sports a colorizing, multiple-undo
Python source editor and an interactive shell that acts a lot like
yours (except that it subclasses from the source editor code so it
also has colorizing and multi-undo).

If you want to play with IDLE, get the 1.5.2 distribution.  A release
candidate is on the website, I'll probably post the final release
tonight.  Go look in Tools/idle/.  Also, the (admittedly painful) code
to parse a string of Python source and find out whether it is correct,
incorrect or incomplete has been codified in the new library module
codeop.py, and the logic of the command line interpreter has been
reimplemented in code.py.

I did notice that you have one feature that IDLE doesn't have yet;
identifier completion based on the contents of the current namespace.
(It does have completion based on the current edit buffer, but that's
not the same.)  Perhaps you could hack that feature into IDLE?

Sorry to steal your thunder; I like your code a lot nevertheless!

--Guido van Rossum (home page: http://www.python.org/~guido/)




