[Idle-dev] is this feature implemented?

Kurt B. Kaiser kbk@shore.net
17 Dec 2002 11:06:10 -0500


Neal Norwitz <neal@metaslash.com> writes:

> This are 2 feature requests on SF for Python:
> 
> http://sourceforge.net/tracker/index.php?func=detail&aid=473584&group_id=5470&atid=355470
> 
> Summary: Ctrl-C works always in IDLE
> 
> It would be nice to have a background thread look for user keys, so
> that it is possible to edit or press ctrl-C if a program is running
> for a long time without output.


Tk is inherently multitasking, and in Idlefork it is possible to run a
script (which actually executes in a subprocess) outputting to the
shell while editing several files in different Edit windows.  A ctrl-c
typed in the shell window will break into the process, even if it is
in a tight "pass" loop.  I'd consider this feature request to be
implemented.


> http://sourceforge.net/tracker/index.php?func=detail&aid=404444&group_id=5470&atid=355470
> 
> Summary: [IDLE] auto indent/parentheses
> 
> It'd be really nice to have an automatic indent of a line when using
> the "TAB" key anywhere on the line, this feature exist in the python
> emacs mode and is REALLY nice and a total time-saver.  Also, having
> the possibility to see which parentheses/brackets you're closing while
> typing (as in a lot of editors) would be really nice


I agree, smart tabs and smart parens are great emacs/Pythonmode
features that I'd like to see in IDLE.  I miss them too.  Once we
merge back into Python, would you have time to implement them?


[...]

> There's also another feature mentioned in PEP 42:
> 
>     - IDLE should reload & recompile modules changed externally.  To
>       be done properly, scripts will have to be run in a separate
>       process.
> 
>       http://www.python.org/sf/210841
> 
> Is that done?

This feature works correctly in Idlefork, and in an intuitive way.
Running the script with F5 from the edit window causes it to execute
in a newly initialized Python subprocess, and the latest versions of
the modules will be imported.

This is especially helpful if you are editing a module which is
several steps down an import chain.  If you try to import/reload from
the shell, you had better know exactly what you are doing, and even
then it is easy to get confused.

--
KBK