[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