17db96d56Sopenharmony_ciPlease refer to the IDLEfork and IDLE CVS repositories for
27db96d56Sopenharmony_cichange details subsequent to the 0.8.1 release.
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciIDLEfork ChangeLog
67db96d56Sopenharmony_ci==================
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci2001-07-20 11:35  elguavas
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ci	* README.txt, NEWS.txt: bring up to date for 0.8.1 release
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_ci2001-07-19 16:40  elguavas
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci	* IDLEFORK.html: replaced by IDLEFORK-index.html
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci2001-07-19 16:39  elguavas
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci	* IDLEFORK-index.html: updated placeholder idlefork homepage
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ci2001-07-19 14:49  elguavas
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ci	* ChangeLog, EditorWindow.py, INSTALLATION, NEWS.txt, README.txt,
237db96d56Sopenharmony_ci	TODO.txt, idlever.py:
247db96d56Sopenharmony_ci	minor tidy-ups ready for 0.8.1 alpha tarball release
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci2001-07-17 15:12  kbk
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ci	* INSTALLATION, setup.py: INSTALLATION: Remove the coexist.patch
297db96d56Sopenharmony_ci	instructions
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci	**************** setup.py:
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ci	Remove the idles script, add some words on IDLE Fork to the
347db96d56Sopenharmony_ci	long_description, and clean up some line spacing.
357db96d56Sopenharmony_ci
367db96d56Sopenharmony_ci2001-07-17 15:01  kbk
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci	* coexist.patch: Put this in the attic, at least for now...
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ci2001-07-17 14:59  kbk
417db96d56Sopenharmony_ci
427db96d56Sopenharmony_ci	* PyShell.py, idle, idles: Implement idle command interface as
437db96d56Sopenharmony_ci	suggested by GvR [idle-dev] 16 July **************** PyShell: Added
447db96d56Sopenharmony_ci	functionality:
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ci	usage: idle.py [-c command] [-d] [-i] [-r script] [-s] [-t title]
477db96d56Sopenharmony_ci	[arg] ...
487db96d56Sopenharmony_ci
497db96d56Sopenharmony_ci	idle file(s)	(without options) edit the file(s)
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci	-c cmd	   run the command in a shell -d	 enable the
527db96d56Sopenharmony_ci	debugger -i	    open an interactive shell -i file(s) open a
537db96d56Sopenharmony_ci	shell and also an editor window for each file -r script  run a file
547db96d56Sopenharmony_ci	as a script in a shell -s	  run $IDLESTARTUP or
557db96d56Sopenharmony_ci	$PYTHONSTARTUP before anything else -t title   set title of shell
567db96d56Sopenharmony_ci	window
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_ci	Remaining arguments are applied to the command (-c) or script (-r).
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_ci	****************** idles: Removed the idles script, not needed
617db96d56Sopenharmony_ci
627db96d56Sopenharmony_ci	****************** idle:  Removed the IdleConf references, not
637db96d56Sopenharmony_ci	required anymore
647db96d56Sopenharmony_ci
657db96d56Sopenharmony_ci2001-07-16 17:08  kbk
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci	* INSTALLATION, coexist.patch: Added installation instructions.
687db96d56Sopenharmony_ci
697db96d56Sopenharmony_ci	Added a patch which modifies idlefork so that it can co-exist with
707db96d56Sopenharmony_ci	"official" IDLE in the site-packages directory. This patch is not
717db96d56Sopenharmony_ci	necessary if only idlefork IDLE is installed. See INSTALLATION for
727db96d56Sopenharmony_ci	further details.
737db96d56Sopenharmony_ci
747db96d56Sopenharmony_ci2001-07-16 15:50  kbk
757db96d56Sopenharmony_ci
767db96d56Sopenharmony_ci	* idles: Add a script "idles" which opens a Python Shell window.
777db96d56Sopenharmony_ci
787db96d56Sopenharmony_ci	The default behaviour of idlefork idle is to open an editor window
797db96d56Sopenharmony_ci	instead of a shell. Complex expressions may be run in a fresh
807db96d56Sopenharmony_ci	environment by selecting "run".  There are times, however, when a
817db96d56Sopenharmony_ci	shell is desired.  Though one can be started by "idle -t 'foo'",
827db96d56Sopenharmony_ci	this script is more convenient.  In addition, a shell and an editor
837db96d56Sopenharmony_ci	window can be started in parallel by "idles -e foo.py".
847db96d56Sopenharmony_ci
857db96d56Sopenharmony_ci2001-07-16 15:25  kbk
867db96d56Sopenharmony_ci
877db96d56Sopenharmony_ci	* PyShell.py: Call out IDLE Fork in startup message.
887db96d56Sopenharmony_ci
897db96d56Sopenharmony_ci2001-07-16 14:00  kbk
907db96d56Sopenharmony_ci
917db96d56Sopenharmony_ci	* PyShell.py, setup.py: Add a script "idles" which opens a Python
927db96d56Sopenharmony_ci	Shell window.
937db96d56Sopenharmony_ci
947db96d56Sopenharmony_ci	The default behaviour of idlefork idle is to open an editor window
957db96d56Sopenharmony_ci	instead of a shell. Complex expressions may be run in a fresh
967db96d56Sopenharmony_ci	environment by selecting "run".  There are times, however, when a
977db96d56Sopenharmony_ci	shell is desired.  Though one can be started by "idle -t 'foo'",
987db96d56Sopenharmony_ci	this script is more convenient.  In addition, a shell and an editor
997db96d56Sopenharmony_ci	window can be started in parallel by "idles -e foo.py".
1007db96d56Sopenharmony_ci
1017db96d56Sopenharmony_ci2001-07-15 03:06  kbk
1027db96d56Sopenharmony_ci
1037db96d56Sopenharmony_ci	* pyclbr.py, tabnanny.py: tabnanny and pyclbr are now found in /Lib
1047db96d56Sopenharmony_ci
1057db96d56Sopenharmony_ci2001-07-15 02:29  kbk
1067db96d56Sopenharmony_ci
1077db96d56Sopenharmony_ci	* BrowserControl.py: Remove, was retained for 1.5.2 support
1087db96d56Sopenharmony_ci
1097db96d56Sopenharmony_ci2001-07-14 15:48  kbk
1107db96d56Sopenharmony_ci
1117db96d56Sopenharmony_ci	* setup.py: Installing Idle to site-packages via Distutils does not
1127db96d56Sopenharmony_ci	copy the Idle help.txt file.
1137db96d56Sopenharmony_ci
1147db96d56Sopenharmony_ci	Ref SF Python Patch 422471
1157db96d56Sopenharmony_ci
1167db96d56Sopenharmony_ci2001-07-14 15:26  kbk
1177db96d56Sopenharmony_ci
1187db96d56Sopenharmony_ci	* keydefs.py: py-cvs-2001_07_13 (Rev 1.3) merge
1197db96d56Sopenharmony_ci
1207db96d56Sopenharmony_ci	"Make copy, cut and paste events case insensitive.  Reported by
1217db96d56Sopenharmony_ci	Patrick K. O'Brien on idle-dev. (Should other bindings follow
1227db96d56Sopenharmony_ci	suit?)" --GvR
1237db96d56Sopenharmony_ci
1247db96d56Sopenharmony_ci2001-07-14 15:21  kbk
1257db96d56Sopenharmony_ci
1267db96d56Sopenharmony_ci	* idle.py: py-cvs-2001_07_13 (Rev 1.4) merge
1277db96d56Sopenharmony_ci
1287db96d56Sopenharmony_ci	"Move the action of loading the configuration to the IdleConf
1297db96d56Sopenharmony_ci	module rather than the idle.py script.	This has advantages and
1307db96d56Sopenharmony_ci	disadvantages; the biggest advantage being that we can more easily
1317db96d56Sopenharmony_ci	have an alternative main program."  --GvR
1327db96d56Sopenharmony_ci
1337db96d56Sopenharmony_ci2001-07-14 15:18  kbk
1347db96d56Sopenharmony_ci
1357db96d56Sopenharmony_ci	* extend.txt: py-cvs-2001_07_13 (Rev 1.4) merge
1367db96d56Sopenharmony_ci
1377db96d56Sopenharmony_ci	"Quick update to the extension mechanism (extend.py is gone, long
1387db96d56Sopenharmony_ci	live config.txt)" --GvR
1397db96d56Sopenharmony_ci
1407db96d56Sopenharmony_ci2001-07-14 15:15  kbk
1417db96d56Sopenharmony_ci
1427db96d56Sopenharmony_ci	* StackViewer.py: py-cvs-2001_07_13 (Rev 1.16) merge
1437db96d56Sopenharmony_ci
1447db96d56Sopenharmony_ci	"Refactored, with some future plans in mind. This now uses the new
1457db96d56Sopenharmony_ci	gotofileline() method defined in FileList.py"  --GvR
1467db96d56Sopenharmony_ci
1477db96d56Sopenharmony_ci2001-07-14 15:10  kbk
1487db96d56Sopenharmony_ci
1497db96d56Sopenharmony_ci	* PyShell.py: py-cvs-2001_07_13 (Rev 1.34) merge
1507db96d56Sopenharmony_ci
1517db96d56Sopenharmony_ci	"Amazing.  A very subtle change in policy in descr-branch actually
1527db96d56Sopenharmony_ci	found a bug here.  Here's the deal: Class PyShell derives from
1537db96d56Sopenharmony_ci	class OutputWindow.  Method PyShell.close() wants to invoke its
1547db96d56Sopenharmony_ci	parent method, but because PyShell long ago was inherited from
1557db96d56Sopenharmony_ci	class PyShellEditorWindow, it invokes
1567db96d56Sopenharmony_ci	PyShelEditorWindow.close(self).  Now, class PyShellEditorWindow
1577db96d56Sopenharmony_ci	itself derives from class OutputWindow, and inherits the close()
1587db96d56Sopenharmony_ci	method from there without overriding it.  Under the old rules,
1597db96d56Sopenharmony_ci	PyShellEditorWindow.close would return an unbound method restricted
1607db96d56Sopenharmony_ci	to the class that defined the implementation of close(), which was
1617db96d56Sopenharmony_ci	OutputWindow.close.  Under the new rules, the unbound method is
1627db96d56Sopenharmony_ci	restricted to the class whose method was requested, that is
1637db96d56Sopenharmony_ci	PyShellEditorWindow, and this was correctly trapped as an error."
1647db96d56Sopenharmony_ci	--GvR
1657db96d56Sopenharmony_ci
1667db96d56Sopenharmony_ci2001-07-14 14:59  kbk
1677db96d56Sopenharmony_ci
1687db96d56Sopenharmony_ci	* PyParse.py: py-cvs-2001_07_13 (Rel 1.9) merge
1697db96d56Sopenharmony_ci
1707db96d56Sopenharmony_ci	"Taught IDLE's autoident parser that "yield" is a keyword that
1717db96d56Sopenharmony_ci	begins a stmt.	Along w/ the preceding change to keyword.py, making
1727db96d56Sopenharmony_ci	all this work w/ a future-stmt just looks harder and harder."
1737db96d56Sopenharmony_ci	--tim_one
1747db96d56Sopenharmony_ci
1757db96d56Sopenharmony_ci	(From Rel 1.8: "Hack to make this still work with Python 1.5.2.
1767db96d56Sopenharmony_ci	;-( " --fdrake)
1777db96d56Sopenharmony_ci
1787db96d56Sopenharmony_ci2001-07-14 14:51  kbk
1797db96d56Sopenharmony_ci
1807db96d56Sopenharmony_ci	* IdleConf.py: py-cvs-2001_07_13 (Rel 1.7) merge
1817db96d56Sopenharmony_ci
1827db96d56Sopenharmony_ci	"Move the action of loading the configuration to the IdleConf
1837db96d56Sopenharmony_ci	module rather than the idle.py script.	This has advantages and
1847db96d56Sopenharmony_ci	disadvantages; the biggest advantage being that we can more easily
1857db96d56Sopenharmony_ci	have an alternative main program." --GvR
1867db96d56Sopenharmony_ci
1877db96d56Sopenharmony_ci2001-07-14 14:45  kbk
1887db96d56Sopenharmony_ci
1897db96d56Sopenharmony_ci	* FileList.py: py-cvs-2000_07_13 (Rev 1.9) merge
1907db96d56Sopenharmony_ci
1917db96d56Sopenharmony_ci	"Delete goodname() method, which is unused. Add gotofileline(), a
1927db96d56Sopenharmony_ci	convenience method which I intend to use in a variant. Rename
1937db96d56Sopenharmony_ci	test() to _test()."  --GvR
1947db96d56Sopenharmony_ci
1957db96d56Sopenharmony_ci	This was an interesting merge. The join completely missed removing
1967db96d56Sopenharmony_ci	goodname(), which was adjacent, but outside of, a small conflict.
1977db96d56Sopenharmony_ci	I only caught it by comparing the 1.1.3.2/1.1.3.3 diff.  CVS ain't
1987db96d56Sopenharmony_ci	infallible.
1997db96d56Sopenharmony_ci
2007db96d56Sopenharmony_ci2001-07-14 13:58  kbk
2017db96d56Sopenharmony_ci
2027db96d56Sopenharmony_ci	* EditorWindow.py: py-cvs-2000_07_13 (Rev 1.38) merge "Remove
2037db96d56Sopenharmony_ci	legacy support for the BrowserControl module; the webbrowser module
2047db96d56Sopenharmony_ci	has been included since Python 2.0, and that is the preferred
2057db96d56Sopenharmony_ci	interface." --fdrake
2067db96d56Sopenharmony_ci
2077db96d56Sopenharmony_ci2001-07-14 13:32  kbk
2087db96d56Sopenharmony_ci
2097db96d56Sopenharmony_ci	* EditorWindow.py, FileList.py, IdleConf.py, PyParse.py,
2107db96d56Sopenharmony_ci	PyShell.py, StackViewer.py, extend.txt, idle.py, keydefs.py: Import
2117db96d56Sopenharmony_ci	the 2001 July 13 23:59 GMT version of Python CVS IDLE on the
2127db96d56Sopenharmony_ci	existing 1.1.3 vendor branch named py-cvs-vendor-branch. Release
2137db96d56Sopenharmony_ci	tag is py-cvs-2001_07_13.
2147db96d56Sopenharmony_ci
2157db96d56Sopenharmony_ci2001-07-14 12:02  kbk
2167db96d56Sopenharmony_ci
2177db96d56Sopenharmony_ci	* Icons/python.gif: py-cvs-rel2_1 (Rev 1.2) merge Copied py-cvs rev
2187db96d56Sopenharmony_ci	1.2 changed file to idlefork MAIN
2197db96d56Sopenharmony_ci
2207db96d56Sopenharmony_ci2001-07-14 11:58  kbk
2217db96d56Sopenharmony_ci
2227db96d56Sopenharmony_ci	* Icons/minusnode.gif: py-cvs-rel2_1 (Rev 1.2) merge Copied py-cvs
2237db96d56Sopenharmony_ci	1.2 changed file to idlefork MAIN
2247db96d56Sopenharmony_ci
2257db96d56Sopenharmony_ci2001-07-14 11:23  kbk
2267db96d56Sopenharmony_ci
2277db96d56Sopenharmony_ci	* ScrolledList.py: py-cvs-rel2_1 (rev 1.5) merge - whitespace
2287db96d56Sopenharmony_ci	normalization
2297db96d56Sopenharmony_ci
2307db96d56Sopenharmony_ci2001-07-14 11:20  kbk
2317db96d56Sopenharmony_ci
2327db96d56Sopenharmony_ci	* Separator.py: py-cvs-rel2_1 (Rev 1.3) merge - whitespace
2337db96d56Sopenharmony_ci	normalization
2347db96d56Sopenharmony_ci
2357db96d56Sopenharmony_ci2001-07-14 11:16  kbk
2367db96d56Sopenharmony_ci
2377db96d56Sopenharmony_ci	* StackViewer.py: py-cvs-rel2_1 (Rev 1.15) merge - whitespace
2387db96d56Sopenharmony_ci	normalization
2397db96d56Sopenharmony_ci
2407db96d56Sopenharmony_ci2001-07-14 11:14  kbk
2417db96d56Sopenharmony_ci
2427db96d56Sopenharmony_ci	* ToolTip.py: py-cvs-rel2_1 (Rev 1.2) merge - whitespace
2437db96d56Sopenharmony_ci	normalization
2447db96d56Sopenharmony_ci
2457db96d56Sopenharmony_ci2001-07-14 10:13  kbk
2467db96d56Sopenharmony_ci
2477db96d56Sopenharmony_ci	* PyShell.py: cvs-py-rel2_1 (Rev 1.29 - 1.33) merge
2487db96d56Sopenharmony_ci
2497db96d56Sopenharmony_ci	Merged the following py-cvs revs without conflict: 1.29 Reduce
2507db96d56Sopenharmony_ci	copyright text output at startup 1.30 Delay setting sys.args until
2517db96d56Sopenharmony_ci	Tkinter is fully initialized 1.31 Whitespace normalization 1.32
2527db96d56Sopenharmony_ci	Turn syntax warning into error when interactive 1.33 Fix warning
2537db96d56Sopenharmony_ci	initialization bug
2547db96d56Sopenharmony_ci
2557db96d56Sopenharmony_ci	Note that module is extensively modified wrt py-cvs
2567db96d56Sopenharmony_ci
2577db96d56Sopenharmony_ci2001-07-14 06:33  kbk
2587db96d56Sopenharmony_ci
2597db96d56Sopenharmony_ci	* PyParse.py: py-cvs-rel2_1 (Rev 1.6 - 1.8) merge Fix autoindent
2607db96d56Sopenharmony_ci	bug and deflect Unicode from text.get()
2617db96d56Sopenharmony_ci
2627db96d56Sopenharmony_ci2001-07-14 06:00  kbk
2637db96d56Sopenharmony_ci
2647db96d56Sopenharmony_ci	* Percolator.py: py-cvs-rel2_1 (Rev 1.3) "move "from Tkinter import
2657db96d56Sopenharmony_ci	*" to module level" --jhylton
2667db96d56Sopenharmony_ci
2677db96d56Sopenharmony_ci2001-07-14 05:57  kbk
2687db96d56Sopenharmony_ci
2697db96d56Sopenharmony_ci	* PathBrowser.py: py-cvs-rel2_1 (Rev 1.6) merge - whitespace
2707db96d56Sopenharmony_ci	normalization
2717db96d56Sopenharmony_ci
2727db96d56Sopenharmony_ci2001-07-14 05:49  kbk
2737db96d56Sopenharmony_ci
2747db96d56Sopenharmony_ci	* ParenMatch.py: cvs-py-rel2_1 (Rev 1.5) merge - whitespace
2757db96d56Sopenharmony_ci	normalization
2767db96d56Sopenharmony_ci
2777db96d56Sopenharmony_ci2001-07-14 03:57  kbk
2787db96d56Sopenharmony_ci
2797db96d56Sopenharmony_ci	* ObjectBrowser.py: py-cvs-rel2_1 (Rev 1.3) merge "Make the test
2807db96d56Sopenharmony_ci	program work outside IDLE."  -- GvR
2817db96d56Sopenharmony_ci
2827db96d56Sopenharmony_ci2001-07-14 03:52  kbk
2837db96d56Sopenharmony_ci
2847db96d56Sopenharmony_ci	* MultiStatusBar.py: py-cvs-rel2_1 (Rev 1.2) merge - whitespace
2857db96d56Sopenharmony_ci	normalization
2867db96d56Sopenharmony_ci
2877db96d56Sopenharmony_ci2001-07-14 03:44  kbk
2887db96d56Sopenharmony_ci
2897db96d56Sopenharmony_ci	* MultiScrolledLists.py: py-cvs-rel2_1 (Rev 1.2) merge - whitespace
2907db96d56Sopenharmony_ci	normalization
2917db96d56Sopenharmony_ci
2927db96d56Sopenharmony_ci2001-07-14 03:40  kbk
2937db96d56Sopenharmony_ci
2947db96d56Sopenharmony_ci	* IdleHistory.py: py-cvs-rel2_1 (Rev 1.4) merge - whitespace
2957db96d56Sopenharmony_ci	normalization
2967db96d56Sopenharmony_ci
2977db96d56Sopenharmony_ci2001-07-14 03:38  kbk
2987db96d56Sopenharmony_ci
2997db96d56Sopenharmony_ci	* IdleConf.py: py-cvs-rel2_1 (Rev 1.6) merge - whitespace
3007db96d56Sopenharmony_ci	normalization
3017db96d56Sopenharmony_ci
3027db96d56Sopenharmony_ci2001-07-13 14:18  kbk
3037db96d56Sopenharmony_ci
3047db96d56Sopenharmony_ci	* IOBinding.py: py-cvs-rel2_1 (Rev 1.4) merge - move "import *" to
3057db96d56Sopenharmony_ci	module level
3067db96d56Sopenharmony_ci
3077db96d56Sopenharmony_ci2001-07-13 14:12  kbk
3087db96d56Sopenharmony_ci
3097db96d56Sopenharmony_ci	* FormatParagraph.py: py-cvs-rel2_1 (Rev 1.9) merge - whitespace
3107db96d56Sopenharmony_ci	normalization
3117db96d56Sopenharmony_ci
3127db96d56Sopenharmony_ci2001-07-13 14:07  kbk
3137db96d56Sopenharmony_ci
3147db96d56Sopenharmony_ci	* FileList.py: py-cvs-rel2_1 (Rev 1.8) merge - whitespace
3157db96d56Sopenharmony_ci	normalization
3167db96d56Sopenharmony_ci
3177db96d56Sopenharmony_ci2001-07-13 13:35  kbk
3187db96d56Sopenharmony_ci
3197db96d56Sopenharmony_ci	* EditorWindow.py: py-cvs-rel2_1 (Rev 1.33 - 1.37) merge
3207db96d56Sopenharmony_ci
3217db96d56Sopenharmony_ci	VP IDLE version depended on VP's ExecBinding.py and spawn.py to get
3227db96d56Sopenharmony_ci	the path to the Windows Doc directory (relative to python.exe).
3237db96d56Sopenharmony_ci	Removed this conflicting code in favor of py-cvs updates which on
3247db96d56Sopenharmony_ci	Windows use a hard coded path relative to the location of this
3257db96d56Sopenharmony_ci	module. py-cvs updates include support for webbrowser.py.  Module
3267db96d56Sopenharmony_ci	still has BrowserControl.py for 1.5.2 support.
3277db96d56Sopenharmony_ci
3287db96d56Sopenharmony_ci	At this point, the differences wrt py-cvs relate to menu
3297db96d56Sopenharmony_ci	functionality.
3307db96d56Sopenharmony_ci
3317db96d56Sopenharmony_ci2001-07-13 11:30  kbk
3327db96d56Sopenharmony_ci
3337db96d56Sopenharmony_ci	* ConfigParser.py: py-cvs-rel2_1 merge - Remove, lives in /Lib
3347db96d56Sopenharmony_ci
3357db96d56Sopenharmony_ci2001-07-13 10:10  kbk
3367db96d56Sopenharmony_ci
3377db96d56Sopenharmony_ci	* Delegator.py: py-cvs-rel2_1 (Rev 1.3) merge - whitespace
3387db96d56Sopenharmony_ci	normalization
3397db96d56Sopenharmony_ci
3407db96d56Sopenharmony_ci2001-07-13 10:07  kbk
3417db96d56Sopenharmony_ci
3427db96d56Sopenharmony_ci	* Debugger.py: py-cvs-rel2_1 (Rev 1.15) merge - whitespace
3437db96d56Sopenharmony_ci	normalization
3447db96d56Sopenharmony_ci
3457db96d56Sopenharmony_ci2001-07-13 10:04  kbk
3467db96d56Sopenharmony_ci
3477db96d56Sopenharmony_ci	* ColorDelegator.py: py-cvs-rel2_1 (Rev 1.11 and 1.12) merge
3487db96d56Sopenharmony_ci	Colorize "as" after "import" / use DEBUG instead of __debug__
3497db96d56Sopenharmony_ci
3507db96d56Sopenharmony_ci2001-07-13 09:54  kbk
3517db96d56Sopenharmony_ci
3527db96d56Sopenharmony_ci	* ClassBrowser.py: py-cvs-rel2_1 (Rev 1.12) merge - whitespace
3537db96d56Sopenharmony_ci	normalization
3547db96d56Sopenharmony_ci
3557db96d56Sopenharmony_ci2001-07-13 09:41  kbk
3567db96d56Sopenharmony_ci
3577db96d56Sopenharmony_ci	* BrowserControl.py: py-cvs-rel2_1 (Rev 1.1) merge - New File -
3587db96d56Sopenharmony_ci	Force HEAD to trunk with -f Note: browser.py was renamed
3597db96d56Sopenharmony_ci	BrowserControl.py 10 May 2000. It provides a collection of classes
3607db96d56Sopenharmony_ci	and convenience functions to control external browsers "for 1.5.2
3617db96d56Sopenharmony_ci	support". It was removed from py-cvs 18 April 2001.
3627db96d56Sopenharmony_ci
3637db96d56Sopenharmony_ci2001-07-13 09:10  kbk
3647db96d56Sopenharmony_ci
3657db96d56Sopenharmony_ci	* CallTips.py: py-cvs-rel2_1 (Rev 1.8) merge - whitespace
3667db96d56Sopenharmony_ci	normalization
3677db96d56Sopenharmony_ci
3687db96d56Sopenharmony_ci2001-07-13 08:26  kbk
3697db96d56Sopenharmony_ci
3707db96d56Sopenharmony_ci	* CallTipWindow.py: py-cvs-rel2_1 (Rev 1.3) merge - whitespace
3717db96d56Sopenharmony_ci	normalization
3727db96d56Sopenharmony_ci
3737db96d56Sopenharmony_ci2001-07-13 08:13  kbk
3747db96d56Sopenharmony_ci
3757db96d56Sopenharmony_ci	* AutoExpand.py: py-cvs-rel1_2 (Rev 1.4) merge, "Add Alt-slash to
3767db96d56Sopenharmony_ci	Unix keydefs (I somehow need it on RH 6.2).  Get rid of assignment
3777db96d56Sopenharmony_ci	to unused self.text.wordlist."	--GvR
3787db96d56Sopenharmony_ci
3797db96d56Sopenharmony_ci2001-07-12 16:54  elguavas
3807db96d56Sopenharmony_ci
3817db96d56Sopenharmony_ci	* ReplaceDialog.py: py-cvs merge, python 1.5.2 compatibility
3827db96d56Sopenharmony_ci
3837db96d56Sopenharmony_ci2001-07-12 16:46  elguavas
3847db96d56Sopenharmony_ci
3857db96d56Sopenharmony_ci	* ScriptBinding.py: py-cvs merge, better error dialog
3867db96d56Sopenharmony_ci
3877db96d56Sopenharmony_ci2001-07-12 16:38  elguavas
3887db96d56Sopenharmony_ci
3897db96d56Sopenharmony_ci	* TODO.txt: py-cvs merge, additions
3907db96d56Sopenharmony_ci
3917db96d56Sopenharmony_ci2001-07-12 15:35  elguavas
3927db96d56Sopenharmony_ci
3937db96d56Sopenharmony_ci	* WindowList.py: py-cvs merge, correct indentation
3947db96d56Sopenharmony_ci
3957db96d56Sopenharmony_ci2001-07-12 15:24  elguavas
3967db96d56Sopenharmony_ci
3977db96d56Sopenharmony_ci	* config.txt: py-cvs merge, correct typo
3987db96d56Sopenharmony_ci
3997db96d56Sopenharmony_ci2001-07-12 15:21  elguavas
4007db96d56Sopenharmony_ci
4017db96d56Sopenharmony_ci	* help.txt: py-cvs merge, update colour changing info
4027db96d56Sopenharmony_ci
4037db96d56Sopenharmony_ci2001-07-12 14:51  elguavas
4047db96d56Sopenharmony_ci
4057db96d56Sopenharmony_ci	* idle.py: py-cvs merge, idle_dir loading changed
4067db96d56Sopenharmony_ci
4077db96d56Sopenharmony_ci2001-07-12 14:44  elguavas
4087db96d56Sopenharmony_ci
4097db96d56Sopenharmony_ci	* idlever.py: py-cvs merge, version update
4107db96d56Sopenharmony_ci
4117db96d56Sopenharmony_ci2001-07-11 12:53  kbk
4127db96d56Sopenharmony_ci
4137db96d56Sopenharmony_ci	* BrowserControl.py: Initial revision
4147db96d56Sopenharmony_ci
4157db96d56Sopenharmony_ci2001-07-11 12:53  kbk
4167db96d56Sopenharmony_ci
4177db96d56Sopenharmony_ci	* AutoExpand.py, BrowserControl.py, CallTipWindow.py, CallTips.py,
4187db96d56Sopenharmony_ci	ClassBrowser.py, ColorDelegator.py, Debugger.py, Delegator.py,
4197db96d56Sopenharmony_ci	EditorWindow.py, FileList.py, FormatParagraph.py, IOBinding.py,
4207db96d56Sopenharmony_ci	IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
4217db96d56Sopenharmony_ci	MultiStatusBar.py, ObjectBrowser.py, OutputWindow.py,
4227db96d56Sopenharmony_ci	ParenMatch.py, PathBrowser.py, Percolator.py, PyParse.py,
4237db96d56Sopenharmony_ci	PyShell.py, RemoteInterp.py, ReplaceDialog.py, ScriptBinding.py,
4247db96d56Sopenharmony_ci	ScrolledList.py, Separator.py, StackViewer.py, TODO.txt,
4257db96d56Sopenharmony_ci	ToolTip.py, WindowList.py, config.txt, help.txt, idle, idle.bat,
4267db96d56Sopenharmony_ci	idle.py, idlever.py, setup.py, Icons/minusnode.gif,
4277db96d56Sopenharmony_ci	Icons/python.gif: Import the release 2.1 version of Python CVS IDLE
4287db96d56Sopenharmony_ci	on the existing 1.1.3 vendor branch named py-cvs-vendor-branch,
4297db96d56Sopenharmony_ci	with release tag py-cvs-rel2_1.
4307db96d56Sopenharmony_ci
4317db96d56Sopenharmony_ci2001-07-11 12:34  kbk
4327db96d56Sopenharmony_ci
4337db96d56Sopenharmony_ci	* AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
4347db96d56Sopenharmony_ci	CallTips.py, ChangeLog, ClassBrowser.py, ColorDelegator.py,
4357db96d56Sopenharmony_ci	Debugger.py, Delegator.py, EditorWindow.py, FileList.py,
4367db96d56Sopenharmony_ci	FormatParagraph.py, FrameViewer.py, GrepDialog.py, IOBinding.py,
4377db96d56Sopenharmony_ci	IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
4387db96d56Sopenharmony_ci	MultiStatusBar.py, NEWS.txt, ObjectBrowser.py, OldStackViewer.py,
4397db96d56Sopenharmony_ci	OutputWindow.py, ParenMatch.py, PathBrowser.py, Percolator.py,
4407db96d56Sopenharmony_ci	PyParse.py, PyShell.py, README.txt, RemoteInterp.py,
4417db96d56Sopenharmony_ci	ReplaceDialog.py, ScriptBinding.py, ScrolledList.py,
4427db96d56Sopenharmony_ci	SearchBinding.py, SearchDialog.py, SearchDialogBase.py,
4437db96d56Sopenharmony_ci	SearchEngine.py, Separator.py, StackViewer.py, TODO.txt,
4447db96d56Sopenharmony_ci	ToolTip.py, TreeWidget.py, UndoDelegator.py, WidgetRedirector.py,
4457db96d56Sopenharmony_ci	WindowList.py, ZoomHeight.py, __init__.py, config-unix.txt,
4467db96d56Sopenharmony_ci	config-win.txt, config.txt, eventparse.py, extend.txt, help.txt,
4477db96d56Sopenharmony_ci	idle.bat, idle.py, idle.pyw, idlever.py, keydefs.py, pyclbr.py,
4487db96d56Sopenharmony_ci	tabnanny.py, testcode.py, Icons/folder.gif, Icons/minusnode.gif,
4497db96d56Sopenharmony_ci	Icons/openfolder.gif, Icons/plusnode.gif, Icons/python.gif,
4507db96d56Sopenharmony_ci	Icons/tk.gif: Import the 9 March 2000 version of Python CVS IDLE as
4517db96d56Sopenharmony_ci	1.1.3 vendor branch named py-cvs-vendor-branch.
4527db96d56Sopenharmony_ci
4537db96d56Sopenharmony_ci2001-07-04 13:43  kbk
4547db96d56Sopenharmony_ci
4557db96d56Sopenharmony_ci	* Icons/: folder.gif, minusnode.gif, openfolder.gif, plusnode.gif,
4567db96d56Sopenharmony_ci	python.gif, tk.gif: Null commit with -f option to force an uprev
4577db96d56Sopenharmony_ci	and put HEADs firmly on the trunk.
4587db96d56Sopenharmony_ci
4597db96d56Sopenharmony_ci2001-07-04 13:15  kbk
4607db96d56Sopenharmony_ci
4617db96d56Sopenharmony_ci	* AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
4627db96d56Sopenharmony_ci	CallTips.py, ChangeLog, ClassBrowser.py, ColorDelegator.py,
4637db96d56Sopenharmony_ci	ConfigParser.py, Debugger.py, Delegator.py, EditorWindow.py,
4647db96d56Sopenharmony_ci	ExecBinding.py, FileList.py, FormatParagraph.py, FrameViewer.py,
4657db96d56Sopenharmony_ci	GrepDialog.py, IDLEFORK.html, IOBinding.py, IdleConf.py,
4667db96d56Sopenharmony_ci	IdleHistory.py, MultiScrolledLists.py, MultiStatusBar.py, NEWS.txt,
4677db96d56Sopenharmony_ci	ObjectBrowser.py, OldStackViewer.py, OutputWindow.py,
4687db96d56Sopenharmony_ci	ParenMatch.py, PathBrowser.py, Percolator.py, PyParse.py,
4697db96d56Sopenharmony_ci	PyShell.py, README.txt, Remote.py, RemoteInterp.py,
4707db96d56Sopenharmony_ci	ReplaceDialog.py, ScriptBinding.py, ScrolledList.py,
4717db96d56Sopenharmony_ci	SearchBinding.py, SearchDialog.py, SearchDialogBase.py,
4727db96d56Sopenharmony_ci	SearchEngine.py, Separator.py, StackViewer.py, TODO.txt,
4737db96d56Sopenharmony_ci	ToolTip.py, TreeWidget.py, UndoDelegator.py, WidgetRedirector.py,
4747db96d56Sopenharmony_ci	WindowList.py, ZoomHeight.py, __init__.py, config-unix.txt,
4757db96d56Sopenharmony_ci	config-win.txt, config.txt, eventparse.py, extend.txt, help.txt,
4767db96d56Sopenharmony_ci	idle, idle.bat, idle.py, idle.pyw, idlever.py, keydefs.py,
4777db96d56Sopenharmony_ci	loader.py, protocol.py, pyclbr.py, setup.py, spawn.py, tabnanny.py,
4787db96d56Sopenharmony_ci	testcode.py: Null commit with -f option to force an uprev and put
4797db96d56Sopenharmony_ci	HEADs firmly on the trunk.
4807db96d56Sopenharmony_ci
4817db96d56Sopenharmony_ci2001-06-27 10:24  elguavas
4827db96d56Sopenharmony_ci
4837db96d56Sopenharmony_ci	* IDLEFORK.html: updated contact details
4847db96d56Sopenharmony_ci
4857db96d56Sopenharmony_ci2001-06-25 17:23  elguavas
4867db96d56Sopenharmony_ci
4877db96d56Sopenharmony_ci	* idle, RemoteInterp.py, setup.py: Initial revision
4887db96d56Sopenharmony_ci
4897db96d56Sopenharmony_ci2001-06-25 17:23  elguavas
4907db96d56Sopenharmony_ci
4917db96d56Sopenharmony_ci	* idle, RemoteInterp.py, setup.py: import current python cvs idle
4927db96d56Sopenharmony_ci	as a vendor branch
4937db96d56Sopenharmony_ci
4947db96d56Sopenharmony_ci2001-06-24 15:10  elguavas
4957db96d56Sopenharmony_ci
4967db96d56Sopenharmony_ci	* IDLEFORK.html: tiny change to test new syncmail setup
4977db96d56Sopenharmony_ci
4987db96d56Sopenharmony_ci2001-06-24 14:41  elguavas
4997db96d56Sopenharmony_ci
5007db96d56Sopenharmony_ci	* IDLEFORK.html: change to new developer contact, also a test
5017db96d56Sopenharmony_ci	commit for new syncmail setup
5027db96d56Sopenharmony_ci
5037db96d56Sopenharmony_ci2001-06-23 18:15  elguavas
5047db96d56Sopenharmony_ci
5057db96d56Sopenharmony_ci	* IDLEFORK.html: tiny test update for revitalised idle-fork
5067db96d56Sopenharmony_ci
5077db96d56Sopenharmony_ci2000-09-24 17:29  nriley
5087db96d56Sopenharmony_ci
5097db96d56Sopenharmony_ci	* protocol.py: Fixes for Python 1.6 compatibility - socket bind and
5107db96d56Sopenharmony_ci	connect get a tuple instead two arguments.
5117db96d56Sopenharmony_ci
5127db96d56Sopenharmony_ci2000-09-24 17:28  nriley
5137db96d56Sopenharmony_ci
5147db96d56Sopenharmony_ci	* spawn.py: Change for Python 1.6 compatibility - UNIX's 'os'
5157db96d56Sopenharmony_ci	module defines 'spawnv' now, so we check for 'fork' first.
5167db96d56Sopenharmony_ci
5177db96d56Sopenharmony_ci2000-08-15 22:51  nowonder
5187db96d56Sopenharmony_ci
5197db96d56Sopenharmony_ci	* IDLEFORK.html:
5207db96d56Sopenharmony_ci	corrected email address
5217db96d56Sopenharmony_ci
5227db96d56Sopenharmony_ci2000-08-15 22:47  nowonder
5237db96d56Sopenharmony_ci
5247db96d56Sopenharmony_ci	* IDLEFORK.html:
5257db96d56Sopenharmony_ci	added .html file for http://idlefork.sourceforge.net
5267db96d56Sopenharmony_ci
5277db96d56Sopenharmony_ci2000-08-15 11:13  dscherer
5287db96d56Sopenharmony_ci
5297db96d56Sopenharmony_ci	* AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
5307db96d56Sopenharmony_ci	CallTips.py, __init__.py, ChangeLog, ClassBrowser.py,
5317db96d56Sopenharmony_ci	ColorDelegator.py, ConfigParser.py, Debugger.py, Delegator.py,
5327db96d56Sopenharmony_ci	FileList.py, FormatParagraph.py, FrameViewer.py, GrepDialog.py,
5337db96d56Sopenharmony_ci	IOBinding.py, IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
5347db96d56Sopenharmony_ci	MultiStatusBar.py, NEWS.txt, ObjectBrowser.py, OldStackViewer.py,
5357db96d56Sopenharmony_ci	OutputWindow.py, ParenMatch.py, PathBrowser.py, Percolator.py,
5367db96d56Sopenharmony_ci	PyParse.py, PyShell.py, README.txt, ReplaceDialog.py,
5377db96d56Sopenharmony_ci	ScriptBinding.py, ScrolledList.py, SearchBinding.py,
5387db96d56Sopenharmony_ci	SearchDialog.py, SearchDialogBase.py, SearchEngine.py,
5397db96d56Sopenharmony_ci	Separator.py, StackViewer.py, TODO.txt, ToolTip.py, TreeWidget.py,
5407db96d56Sopenharmony_ci	UndoDelegator.py, WidgetRedirector.py, WindowList.py, help.txt,
5417db96d56Sopenharmony_ci	ZoomHeight.py, config-unix.txt, config-win.txt, config.txt,
5427db96d56Sopenharmony_ci	eventparse.py, extend.txt, idle.bat, idle.py, idle.pyw, idlever.py,
5437db96d56Sopenharmony_ci	keydefs.py, loader.py, pyclbr.py, tabnanny.py, testcode.py,
5447db96d56Sopenharmony_ci	EditorWindow.py, ExecBinding.py, Remote.py, protocol.py, spawn.py,
5457db96d56Sopenharmony_ci	Icons/folder.gif, Icons/minusnode.gif, Icons/openfolder.gif,
5467db96d56Sopenharmony_ci	Icons/plusnode.gif, Icons/python.gif, Icons/tk.gif: Initial
5477db96d56Sopenharmony_ci	revision
5487db96d56Sopenharmony_ci
5497db96d56Sopenharmony_ci2000-08-15 11:13  dscherer
5507db96d56Sopenharmony_ci
5517db96d56Sopenharmony_ci	* AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
5527db96d56Sopenharmony_ci	CallTips.py, __init__.py, ChangeLog, ClassBrowser.py,
5537db96d56Sopenharmony_ci	ColorDelegator.py, ConfigParser.py, Debugger.py, Delegator.py,
5547db96d56Sopenharmony_ci	FileList.py, FormatParagraph.py, FrameViewer.py, GrepDialog.py,
5557db96d56Sopenharmony_ci	IOBinding.py, IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
5567db96d56Sopenharmony_ci	MultiStatusBar.py, NEWS.txt, ObjectBrowser.py, OldStackViewer.py,
5577db96d56Sopenharmony_ci	OutputWindow.py, ParenMatch.py, PathBrowser.py, Percolator.py,
5587db96d56Sopenharmony_ci	PyParse.py, PyShell.py, README.txt, ReplaceDialog.py,
5597db96d56Sopenharmony_ci	ScriptBinding.py, ScrolledList.py, SearchBinding.py,
5607db96d56Sopenharmony_ci	SearchDialog.py, SearchDialogBase.py, SearchEngine.py,
5617db96d56Sopenharmony_ci	Separator.py, StackViewer.py, TODO.txt, ToolTip.py, TreeWidget.py,
5627db96d56Sopenharmony_ci	UndoDelegator.py, WidgetRedirector.py, WindowList.py, help.txt,
5637db96d56Sopenharmony_ci	ZoomHeight.py, config-unix.txt, config-win.txt, config.txt,
5647db96d56Sopenharmony_ci	eventparse.py, extend.txt, idle.bat, idle.py, idle.pyw, idlever.py,
5657db96d56Sopenharmony_ci	keydefs.py, loader.py, pyclbr.py, tabnanny.py, testcode.py,
5667db96d56Sopenharmony_ci	EditorWindow.py, ExecBinding.py, Remote.py, protocol.py, spawn.py,
5677db96d56Sopenharmony_ci	Icons/folder.gif, Icons/minusnode.gif, Icons/openfolder.gif,
5687db96d56Sopenharmony_ci	Icons/plusnode.gif, Icons/python.gif, Icons/tk.gif: Modified IDLE
5697db96d56Sopenharmony_ci	from VPython 0.2
5707db96d56Sopenharmony_ci
5717db96d56Sopenharmony_ci
5727db96d56Sopenharmony_cioriginal IDLE ChangeLog:
5737db96d56Sopenharmony_ci========================
5747db96d56Sopenharmony_ci
5757db96d56Sopenharmony_ciTue Feb 15 18:08:19 2000  Guido van Rossum  <guido@cnri.reston.va.us>
5767db96d56Sopenharmony_ci
5777db96d56Sopenharmony_ci	* NEWS.txt: Notice status bar and stack viewer.
5787db96d56Sopenharmony_ci
5797db96d56Sopenharmony_ci	* EditorWindow.py: Support for Moshe's status bar.
5807db96d56Sopenharmony_ci
5817db96d56Sopenharmony_ci	* MultiStatusBar.py: Status bar code -- by Moshe Zadka.
5827db96d56Sopenharmony_ci
5837db96d56Sopenharmony_ci	* OldStackViewer.py:
5847db96d56Sopenharmony_ci	Adding the old stack viewer implementation back, for the debugger.
5857db96d56Sopenharmony_ci
5867db96d56Sopenharmony_ci	* StackViewer.py: New stack viewer, uses a tree widget.
5877db96d56Sopenharmony_ci	(XXX: the debugger doesn't yet use this.)
5887db96d56Sopenharmony_ci
5897db96d56Sopenharmony_ci	* WindowList.py:
5907db96d56Sopenharmony_ci	Correct a typo and remove an unqualified except that was hiding the error.
5917db96d56Sopenharmony_ci
5927db96d56Sopenharmony_ci	* ClassBrowser.py: Add an XXX comment about the ClassBrowser AIP.
5937db96d56Sopenharmony_ci
5947db96d56Sopenharmony_ci	* ChangeLog: Updated change log.
5957db96d56Sopenharmony_ci
5967db96d56Sopenharmony_ci	* NEWS.txt: News update.  Probably incomplete; what else is new?
5977db96d56Sopenharmony_ci
5987db96d56Sopenharmony_ci	* README.txt:
5997db96d56Sopenharmony_ci	Updated for pending IDLE 0.5 release (still very rough -- just getting
6007db96d56Sopenharmony_ci	it out in a more convenient format than CVS).
6017db96d56Sopenharmony_ci
6027db96d56Sopenharmony_ci	* TODO.txt: Tiny addition.
6037db96d56Sopenharmony_ci
6047db96d56Sopenharmony_ciThu Sep  9 14:16:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6057db96d56Sopenharmony_ci
6067db96d56Sopenharmony_ci	* TODO.txt: A few new TODO entries.
6077db96d56Sopenharmony_ci
6087db96d56Sopenharmony_ciThu Aug 26 23:06:22 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6097db96d56Sopenharmony_ci
6107db96d56Sopenharmony_ci	* Bindings.py: Add Python Documentation entry to Help menu.
6117db96d56Sopenharmony_ci
6127db96d56Sopenharmony_ci	* EditorWindow.py:
6137db96d56Sopenharmony_ci	Find the help.txt file relative to __file__ or ".", not in sys.path.
6147db96d56Sopenharmony_ci	(Suggested by Moshe Zadka, but implemented differently.)
6157db96d56Sopenharmony_ci
6167db96d56Sopenharmony_ci	Add <<python-docs>> event which, on Unix, brings up Netscape pointing
6177db96d56Sopenharmony_ci	to http://www.python.doc/current/ (a local copy would be nice but its
6187db96d56Sopenharmony_ci	location can't be predicted).  Windows solution TBD.
6197db96d56Sopenharmony_ci
6207db96d56Sopenharmony_ciWed Aug 11 14:55:43 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6217db96d56Sopenharmony_ci
6227db96d56Sopenharmony_ci	* TreeWidget.py:
6237db96d56Sopenharmony_ci	Moshe noticed an inconsistency in his comment, so I'm rephrasing it to
6247db96d56Sopenharmony_ci	be clearer.
6257db96d56Sopenharmony_ci
6267db96d56Sopenharmony_ci	* TreeWidget.py:
6277db96d56Sopenharmony_ci	Patch inspired by Moshe Zadka to search for the Icons directory in the
6287db96d56Sopenharmony_ci	same directory as __file__, rather than searching for it along sys.path.
6297db96d56Sopenharmony_ci	This works better when idle is a package.
6307db96d56Sopenharmony_ci
6317db96d56Sopenharmony_ciThu Jul 15 13:11:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6327db96d56Sopenharmony_ci
6337db96d56Sopenharmony_ci	* TODO.txt: New wishes.
6347db96d56Sopenharmony_ci
6357db96d56Sopenharmony_ciSat Jul 10 13:17:35 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6367db96d56Sopenharmony_ci
6377db96d56Sopenharmony_ci	* IdlePrefs.py:
6387db96d56Sopenharmony_ci	Make the color for stderr red (i.e. the standard warning/danger/stop
6397db96d56Sopenharmony_ci	color) rather than green.  Suggested by Sam Schulenburg.
6407db96d56Sopenharmony_ci
6417db96d56Sopenharmony_ciFri Jun 25 17:26:34 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6427db96d56Sopenharmony_ci
6437db96d56Sopenharmony_ci	* PyShell.py: Close debugger when closing.  This may break a cycle.
6447db96d56Sopenharmony_ci
6457db96d56Sopenharmony_ci	* Debugger.py: Break cycle on close.
6467db96d56Sopenharmony_ci
6477db96d56Sopenharmony_ci	* ClassBrowser.py: Destroy the tree when closing.
6487db96d56Sopenharmony_ci
6497db96d56Sopenharmony_ci	* TreeWidget.py: Add destroy() method to recursively destroy a tree.
6507db96d56Sopenharmony_ci
6517db96d56Sopenharmony_ci	* PyShell.py: Extend _close() to break cycles.
6527db96d56Sopenharmony_ci	Break some other cycles too (and destroy the root when done).
6537db96d56Sopenharmony_ci
6547db96d56Sopenharmony_ci	* EditorWindow.py:
6557db96d56Sopenharmony_ci	Add _close() method that does the actual cleanup (close() asks the
6567db96d56Sopenharmony_ci	user what they want first if there's unsaved stuff, and may cancel).
6577db96d56Sopenharmony_ci	It closes more than before.
6587db96d56Sopenharmony_ci
6597db96d56Sopenharmony_ci	Add unload_extensions() method to unload all extensions; called from
6607db96d56Sopenharmony_ci	_close().  It calls an extension's close() method if it has one.
6617db96d56Sopenharmony_ci
6627db96d56Sopenharmony_ci	* Percolator.py: Add close() method that breaks cycles.
6637db96d56Sopenharmony_ci
6647db96d56Sopenharmony_ci	* WidgetRedirector.py: Add unregister() method.
6657db96d56Sopenharmony_ci	Unregister everything at closing.
6667db96d56Sopenharmony_ci	Don't call close() in __del__, rely on explicit call to close().
6677db96d56Sopenharmony_ci
6687db96d56Sopenharmony_ci	* IOBinding.py, FormatParagraph.py, CallTips.py:
6697db96d56Sopenharmony_ci	Add close() method that breaks a cycle.
6707db96d56Sopenharmony_ci
6717db96d56Sopenharmony_ciFri Jun 11 15:03:00 1999  Guido van Rossum  <guido@cnri.reston.va.us>
6727db96d56Sopenharmony_ci
6737db96d56Sopenharmony_ci	* AutoIndent.py, EditorWindow.py, FormatParagraph.py:
6747db96d56Sopenharmony_ci	Tim Peters smart.patch:
6757db96d56Sopenharmony_ci
6767db96d56Sopenharmony_ci	EditorWindow.py:
6777db96d56Sopenharmony_ci
6787db96d56Sopenharmony_ci	+ Added get_tabwidth & set_tabwidth "virtual text" methods, that get/set the
6797db96d56Sopenharmony_ci	widget's view of what a tab means.
6807db96d56Sopenharmony_ci
6817db96d56Sopenharmony_ci	+ Moved TK_TABWIDTH_DEFAULT here from AutoIndent.
6827db96d56Sopenharmony_ci
6837db96d56Sopenharmony_ci	+ Renamed Mark's get_selection_index to get_selection_indices (sorry, Mark,
6847db96d56Sopenharmony_ci	but the name was plain wrong <wink>).
6857db96d56Sopenharmony_ci
6867db96d56Sopenharmony_ci	FormatParagraph.py:  renamed use of get_selection_index.
6877db96d56Sopenharmony_ci
6887db96d56Sopenharmony_ci	AutoIndent.py:
6897db96d56Sopenharmony_ci
6907db96d56Sopenharmony_ci	+ Moved TK_TABWIDTH_DEFAULT to EditorWindow.
6917db96d56Sopenharmony_ci
6927db96d56Sopenharmony_ci	+ Rewrote set_indentation_params to use new VTW get/set_tabwidth methods.
6937db96d56Sopenharmony_ci
6947db96d56Sopenharmony_ci	+ Changed smart_backspace_event to delete whitespace back to closest
6957db96d56Sopenharmony_ci	preceding virtual tab stop or real character (note that this may require
6967db96d56Sopenharmony_ci	inserting characters if backspacing over a tab!).
6977db96d56Sopenharmony_ci
6987db96d56Sopenharmony_ci	+ Nuked almost references to the selection tag, in favor of using
6997db96d56Sopenharmony_ci	get_selection_indices.  The sole exception is in set_region, for which no
7007db96d56Sopenharmony_ci	"set_selection" abstraction has yet been agreed upon.
7017db96d56Sopenharmony_ci
7027db96d56Sopenharmony_ci	+ Had too much fun using the spiffy new features of the format-paragraph
7037db96d56Sopenharmony_ci	cmd.
7047db96d56Sopenharmony_ci
7057db96d56Sopenharmony_ciThu Jun 10 17:48:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
7067db96d56Sopenharmony_ci
7077db96d56Sopenharmony_ci	* FormatParagraph.py:
7087db96d56Sopenharmony_ci	Code by Mark Hammond to format paragraphs embedded in comments.
7097db96d56Sopenharmony_ci	Read the comments (which I reformatted using the new feature :-)
7107db96d56Sopenharmony_ci	for some limitations.
7117db96d56Sopenharmony_ci
7127db96d56Sopenharmony_ci	* EditorWindow.py:
7137db96d56Sopenharmony_ci	Added abstraction get_selection_index() (Mark Hammond).  Also
7147db96d56Sopenharmony_ci	reformatted some comment blocks to show off a cool feature I'm about
7157db96d56Sopenharmony_ci	to check in next.
7167db96d56Sopenharmony_ci
7177db96d56Sopenharmony_ci	* ClassBrowser.py:
7187db96d56Sopenharmony_ci	Adapt to the new pyclbr's support of listing top-level functions.  If
7197db96d56Sopenharmony_ci	this functionality is not present (e.g. when used with a vintage
7207db96d56Sopenharmony_ci	Python 1.5.2 installation) top-level functions are not listed.
7217db96d56Sopenharmony_ci
7227db96d56Sopenharmony_ci	(Hmm...  Any distribution of IDLE 0.5 should probably include a copy
7237db96d56Sopenharmony_ci	of the new pyclbr.py!)
7247db96d56Sopenharmony_ci
7257db96d56Sopenharmony_ci	* AutoIndent.py:
7267db96d56Sopenharmony_ci	Fix off-by-one error in Tim's recent change to comment_region(): the
7277db96d56Sopenharmony_ci	list of lines returned by get_region() contains an empty line at the
7287db96d56Sopenharmony_ci	end representing the start of the next line, and this shouldn't be
7297db96d56Sopenharmony_ci	commented out!
7307db96d56Sopenharmony_ci
7317db96d56Sopenharmony_ci	* CallTips.py:
7327db96d56Sopenharmony_ci	Mark Hammond writes: Here is another change that allows it to work for
7337db96d56Sopenharmony_ci	class creation - tries to locate an __init__ function.  Also updated
7347db96d56Sopenharmony_ci	the test code to reflect your new "***" change.
7357db96d56Sopenharmony_ci
7367db96d56Sopenharmony_ci	* CallTipWindow.py:
7377db96d56Sopenharmony_ci	Mark Hammond writes: Tim's suggestion of copying the font for the
7387db96d56Sopenharmony_ci	CallTipWindow from the text control makes sense, and actually makes
7397db96d56Sopenharmony_ci	the control look better IMO.
7407db96d56Sopenharmony_ci
7417db96d56Sopenharmony_ciWed Jun  9 20:34:57 1999  Guido van Rossum  <guido@cnri.reston.va.us>
7427db96d56Sopenharmony_ci
7437db96d56Sopenharmony_ci	* CallTips.py:
7447db96d56Sopenharmony_ci	Append "..." if the appropriate flag (for varargs) in co_flags is set.
7457db96d56Sopenharmony_ci	Ditto "***" for kwargs.
7467db96d56Sopenharmony_ci
7477db96d56Sopenharmony_ciTue Jun  8 13:06:07 1999  Guido van Rossum  <guido@cnri.reston.va.us>
7487db96d56Sopenharmony_ci
7497db96d56Sopenharmony_ci	* ReplaceDialog.py:
7507db96d56Sopenharmony_ci	Hmm...  Tim didn't turn "replace all" into a single undo block.
7517db96d56Sopenharmony_ci	I think I like it better if it os, so here.
7527db96d56Sopenharmony_ci
7537db96d56Sopenharmony_ci	* ReplaceDialog.py: Tim Peters: made replacement atomic for undo/redo.
7547db96d56Sopenharmony_ci
7557db96d56Sopenharmony_ci	* AutoIndent.py: Tim Peters:
7567db96d56Sopenharmony_ci
7577db96d56Sopenharmony_ci	+ Set usetabs=1.  Editing pyclbr.py was driving me nuts <0.6 wink>.
7587db96d56Sopenharmony_ci	usetabs=1 is the Emacs pymode default too, and thanks to indentwidth !=
7597db96d56Sopenharmony_ci	tabwidth magical usetabs disabling, new files are still created with tabs
7607db96d56Sopenharmony_ci	turned off.  The only implication is that if you open a file whose first
7617db96d56Sopenharmony_ci	indent is a single tab, IDLE will now magically use tabs for that file (and
7627db96d56Sopenharmony_ci	set indentwidth to 8).  Note that the whole scheme doesn't work right for
7637db96d56Sopenharmony_ci	PythonWin, though, since Windows users typically set tabwidth to 4; Mark
7647db96d56Sopenharmony_ci	probably has to hide the IDLE algorithm from them (which he already knows).
7657db96d56Sopenharmony_ci
7667db96d56Sopenharmony_ci	+ Changed comment_region_event to stick "##" in front of every line.  The
7677db96d56Sopenharmony_ci	"holes" previously left on blank lines were visually confusing (made it
7687db96d56Sopenharmony_ci	needlessly hard to figure out what to uncomment later).
7697db96d56Sopenharmony_ci
7707db96d56Sopenharmony_ciMon Jun  7 15:38:40 1999  Guido van Rossum  <guido@cnri.reston.va.us>
7717db96d56Sopenharmony_ci
7727db96d56Sopenharmony_ci	* TreeWidget.py, ObjectBrowser.py:
7737db96d56Sopenharmony_ci	Remove unnecessary reference to pyclbr from test() code.
7747db96d56Sopenharmony_ci
7757db96d56Sopenharmony_ci	* PyParse.py: Tim Peters:
7767db96d56Sopenharmony_ci
7777db96d56Sopenharmony_ci	Smarter logic for finding a parse synch point.
7787db96d56Sopenharmony_ci
7797db96d56Sopenharmony_ci	Does a half to a fifth the work in normal cases; don't notice the speedup,
7807db96d56Sopenharmony_ci	but makes  more breathing room for other extensions.
7817db96d56Sopenharmony_ci
7827db96d56Sopenharmony_ci	Speeds terrible cases by at least a factor of 10. "Terrible" == e.g. you put
7837db96d56Sopenharmony_ci	""" at the start of Tkinter.py, undo it, zoom to the bottom, and start
7847db96d56Sopenharmony_ci	typing in code.  Used to take about 8 seconds for ENTER to respond, now some
7857db96d56Sopenharmony_ci	large fraction of a second.  The new code gets indented correctly, despite
7867db96d56Sopenharmony_ci	that it all remains "string colored" until the colorizer catches up (after
7877db96d56Sopenharmony_ci	which, ENTER appears instantaneous again).
7887db96d56Sopenharmony_ci
7897db96d56Sopenharmony_ciFri Jun  4 19:21:19 1999  Guido van Rossum  <guido@cnri.reston.va.us>
7907db96d56Sopenharmony_ci
7917db96d56Sopenharmony_ci	* extend.py: Might as well enable CallTips by default.
7927db96d56Sopenharmony_ci	If there are too many complaints I'll remove it again or fix it.
7937db96d56Sopenharmony_ci
7947db96d56Sopenharmony_ciThu Jun  3 14:32:16 1999  Guido van Rossum  <guido@cnri.reston.va.us>
7957db96d56Sopenharmony_ci
7967db96d56Sopenharmony_ci	* AutoIndent.py, EditorWindow.py, PyParse.py:
7977db96d56Sopenharmony_ci	New offerings by Tim Peters; he writes:
7987db96d56Sopenharmony_ci
7997db96d56Sopenharmony_ci	IDLE is now the first Python editor in the Universe not confused by my
8007db96d56Sopenharmony_ci	doctest.py <wink>.
8017db96d56Sopenharmony_ci
8027db96d56Sopenharmony_ci	As threatened, this defines IDLE's is_char_in_string function as a
8037db96d56Sopenharmony_ci	method of EditorWindow.  You just need to define one similarly in
8047db96d56Sopenharmony_ci	whatever it is you pass as editwin to AutoIndent; looking at the
8057db96d56Sopenharmony_ci	EditorWindow.py part of the patch should make this clear.
8067db96d56Sopenharmony_ci
8077db96d56Sopenharmony_ci	* GrepDialog.py: Enclose pattern in quotes in status message.
8087db96d56Sopenharmony_ci
8097db96d56Sopenharmony_ci	* CallTips.py:
8107db96d56Sopenharmony_ci	Mark Hammond fixed some comments and improved the way the tip text is
8117db96d56Sopenharmony_ci	constructed.
8127db96d56Sopenharmony_ci
8137db96d56Sopenharmony_ciWed Jun  2 18:18:57 1999  Guido van Rossum  <guido@cnri.reston.va.us>
8147db96d56Sopenharmony_ci
8157db96d56Sopenharmony_ci	* CallTips.py:
8167db96d56Sopenharmony_ci	My fix to Mark's code: restore the universal check on <KeyRelease>.
8177db96d56Sopenharmony_ci	Always cancel on <Key-Escape> or <ButtonPress>.
8187db96d56Sopenharmony_ci
8197db96d56Sopenharmony_ci	* CallTips.py:
8207db96d56Sopenharmony_ci	A version that Mark Hammond posted to the newsgroup.  Has some newer
8217db96d56Sopenharmony_ci	stuff for getting the tip.  Had to fix the Key-( and Key-) events
8227db96d56Sopenharmony_ci	for Unix.  Will have to re-apply my patch for catching KeyRelease and
8237db96d56Sopenharmony_ci	ButtonRelease events.
8247db96d56Sopenharmony_ci
8257db96d56Sopenharmony_ci	* CallTipWindow.py, CallTips.py:
8267db96d56Sopenharmony_ci	Call tips by Mark Hammond (plus tiny fix by me.)
8277db96d56Sopenharmony_ci
8287db96d56Sopenharmony_ci	* IdleHistory.py:
8297db96d56Sopenharmony_ci	Changes by Mark Hammond: (1) support optional output_sep argument to
8307db96d56Sopenharmony_ci	the constructor so he can eliminate the sys.ps2 that PythonWin leaves
8317db96d56Sopenharmony_ci	in the source; (2) remove duplicate history items.
8327db96d56Sopenharmony_ci
8337db96d56Sopenharmony_ci	* AutoIndent.py:
8347db96d56Sopenharmony_ci	Changes by Mark Hammond to allow using IDLE extensions in PythonWin as
8357db96d56Sopenharmony_ci	well: make three dialog routines instance variables.
8367db96d56Sopenharmony_ci
8377db96d56Sopenharmony_ci	* EditorWindow.py:
8387db96d56Sopenharmony_ci	Change by Mark Hammond to allow using IDLE extensions in PythonWin as
8397db96d56Sopenharmony_ci	well: make three dialog routines instance variables.
8407db96d56Sopenharmony_ci
8417db96d56Sopenharmony_ciTue Jun  1 20:06:44 1999  Guido van Rossum  <guido@cnri.reston.va.us>
8427db96d56Sopenharmony_ci
8437db96d56Sopenharmony_ci	* AutoIndent.py: Hah!  A fix of my own to Tim's code!
8447db96d56Sopenharmony_ci	Unix bindings for <<toggle-tabs>> and <<change-indentwidth>> were
8457db96d56Sopenharmony_ci	missing, and somehow that meant the events were never generated,
8467db96d56Sopenharmony_ci	even though they were in the menu.  The new Unix bindings are now
8477db96d56Sopenharmony_ci	the same as the Windows bindings (M-t and M-u).
8487db96d56Sopenharmony_ci
8497db96d56Sopenharmony_ci	* AutoIndent.py, PyParse.py, PyShell.py: Tim Peters again:
8507db96d56Sopenharmony_ci
8517db96d56Sopenharmony_ci	The new version (attached) is fast enough all the time in every real module
8527db96d56Sopenharmony_ci	I have <whew!>.  You can make it slow by, e.g., creating an open list with
8537db96d56Sopenharmony_ci	5,000 90-character identifiers (+ trailing comma) each on its own line, then
8547db96d56Sopenharmony_ci	adding an item to the end -- but that still consumes less than a second on
8557db96d56Sopenharmony_ci	my P5-166.  Response time in real code appears instantaneous.
8567db96d56Sopenharmony_ci
8577db96d56Sopenharmony_ci	Fixed some bugs.
8587db96d56Sopenharmony_ci
8597db96d56Sopenharmony_ci	New feature:  when hitting ENTER and the cursor is beyond the line's leading
8607db96d56Sopenharmony_ci	indentation, whitespace is removed on both sides of the cursor; before
8617db96d56Sopenharmony_ci	whitespace was removed only on the left; e.g., assuming the cursor is
8627db96d56Sopenharmony_ci	between the comma and the space:
8637db96d56Sopenharmony_ci
8647db96d56Sopenharmony_ci	def something(arg1, arg2):
8657db96d56Sopenharmony_ci	                   ^ cursor to the left of here, and hit ENTER
8667db96d56Sopenharmony_ci	               arg2):   # new line used to end up here
8677db96d56Sopenharmony_ci	              arg2):    # but now lines up the way you expect
8687db96d56Sopenharmony_ci
8697db96d56Sopenharmony_ci	New hack:  AutoIndent has grown a context_use_ps1 Boolean config option,
8707db96d56Sopenharmony_ci	defaulting to 0 (false) and set to 1 (only) by PyShell.  Reason:  handling
8717db96d56Sopenharmony_ci	the fancy stuff requires looking backward for a parsing synch point; ps1
8727db96d56Sopenharmony_ci	lines are the only sensible thing to look for in a shell window, but are a
8737db96d56Sopenharmony_ci	bad thing to look for in a file window (ps1 lines show up in my module
8747db96d56Sopenharmony_ci	docstrings often).  PythonWin's shell should set this true too.
8757db96d56Sopenharmony_ci
8767db96d56Sopenharmony_ci	Persistent problem:  strings containing def/class can still screw things up
8777db96d56Sopenharmony_ci	completely.  No improvement.  Simplest workaround is on the user's head, and
8787db96d56Sopenharmony_ci	consists of inserting e.g.
8797db96d56Sopenharmony_ci
8807db96d56Sopenharmony_ci	def _(): pass
8817db96d56Sopenharmony_ci
8827db96d56Sopenharmony_ci	(or any other def/class) after the end of the multiline string that's
8837db96d56Sopenharmony_ci	screwing them up.  This is especially irksome because IDLE's syntax coloring
8847db96d56Sopenharmony_ci	is *not* confused, so when this happens the colors don't match the
8857db96d56Sopenharmony_ci	indentation behavior they see.
8867db96d56Sopenharmony_ci
8877db96d56Sopenharmony_ci	* AutoIndent.py: Tim Peters again:
8887db96d56Sopenharmony_ci
8897db96d56Sopenharmony_ci	[Tim, after adding some bracket smarts to AutoIndent.py]
8907db96d56Sopenharmony_ci	> ...
8917db96d56Sopenharmony_ci	> What it can't possibly do without reparsing large gobs of text is
8927db96d56Sopenharmony_ci	> suggest a reasonable indent level after you've *closed* a bracket
8937db96d56Sopenharmony_ci	> left open on some previous line.
8947db96d56Sopenharmony_ci	> ...
8957db96d56Sopenharmony_ci
8967db96d56Sopenharmony_ci	The attached can, and actually fast enough to use -- most of the time.  The
8977db96d56Sopenharmony_ci	code is tricky beyond belief to achieve that, but it works so far; e.g.,
8987db96d56Sopenharmony_ci
8997db96d56Sopenharmony_ci	        return len(string.expandtabs(str[self.stmt_start :
9007db96d56Sopenharmony_ci	                                         ^ indents to caret
9017db96d56Sopenharmony_ci	                                         i],
9027db96d56Sopenharmony_ci	                                     ^ indents to caret
9037db96d56Sopenharmony_ci	                                     self.tabwidth)) + 1
9047db96d56Sopenharmony_ci	    ^ indents to caret
9057db96d56Sopenharmony_ci
9067db96d56Sopenharmony_ci	It's about as smart as pymode now, wrt both bracket and backslash
9077db96d56Sopenharmony_ci	continuation rules.  It does require reparsing large gobs of text, and if it
9087db96d56Sopenharmony_ci	happens to find something that looks like a "def" or "class" or sys.ps1
9097db96d56Sopenharmony_ci	buried in a multiline string, but didn't suck up enough preceding text to
9107db96d56Sopenharmony_ci	see the start of the string, it's completely hosed.  I can't repair that --
9117db96d56Sopenharmony_ci	it's just too slow to reparse from the start of the file all the time.
9127db96d56Sopenharmony_ci
9137db96d56Sopenharmony_ci	AutoIndent has grown a new num_context_lines tuple attribute that controls
9147db96d56Sopenharmony_ci	how far to look back, and-- like other params --this could/should be made
9157db96d56Sopenharmony_ci	user-overridable at startup and per-file on the fly.
9167db96d56Sopenharmony_ci
9177db96d56Sopenharmony_ci	* PyParse.py: New file by Tim Peters:
9187db96d56Sopenharmony_ci
9197db96d56Sopenharmony_ci	One new file in the attached, PyParse.py.  The LineStudier (whatever it was
9207db96d56Sopenharmony_ci	called <wink>) class was removed from AutoIndent; PyParse subsumes its
9217db96d56Sopenharmony_ci	functionality.
9227db96d56Sopenharmony_ci
9237db96d56Sopenharmony_ci	* AutoIndent.py: Tim Peters keeps revising this module (more to come):
9247db96d56Sopenharmony_ci
9257db96d56Sopenharmony_ci	Removed "New tabwidth" menu binding.
9267db96d56Sopenharmony_ci
9277db96d56Sopenharmony_ci	Added "a tab means how many spaces?" dialog to block tabify and untabify.  I
9287db96d56Sopenharmony_ci	think prompting for this is good now:  they're usually at-most-once-per-file
9297db96d56Sopenharmony_ci	commands, and IDLE can't let them change tabwidth from the Tk default
9307db96d56Sopenharmony_ci	anymore, so IDLE can no longer presume to have any idea what a tab means.
9317db96d56Sopenharmony_ci
9327db96d56Sopenharmony_ci	Irony:  for the purpose of keeping comments aligned via tabs, Tk's
9337db96d56Sopenharmony_ci	non-default approach is much nicer than the Emacs/Notepad/Codewright/vi/etc
9347db96d56Sopenharmony_ci	approach.
9357db96d56Sopenharmony_ci
9367db96d56Sopenharmony_ci	* EditorWindow.py:
9377db96d56Sopenharmony_ci	1. Catch NameError on import (could be raised by case mismatch on Windows).
9387db96d56Sopenharmony_ci	2. No longer need to reset pyclbr cache and show watch cursor when calling
9397db96d56Sopenharmony_ci	   ClassBrowser -- the ClassBrowser takes care of pyclbr and the TreeWidget
9407db96d56Sopenharmony_ci	   takes care of the watch cursor.
9417db96d56Sopenharmony_ci	3. Reset the focus to the current window after error message about class
9427db96d56Sopenharmony_ci	   browser on buffer without filename.
9437db96d56Sopenharmony_ci
9447db96d56Sopenharmony_ci	* Icons/minusnode.gif, Icons/plusnode.gif: Missed a few.
9457db96d56Sopenharmony_ci
9467db96d56Sopenharmony_ci	* ClassBrowser.py, PathBrowser.py: Rewritten based on TreeWidget.py
9477db96d56Sopenharmony_ci
9487db96d56Sopenharmony_ci	* ObjectBrowser.py: Object browser, based on TreeWidget.py.
9497db96d56Sopenharmony_ci
9507db96d56Sopenharmony_ci	* TreeWidget.py: Tree widget done right.
9517db96d56Sopenharmony_ci
9527db96d56Sopenharmony_ci	* ToolTip.py: As yet unused code for tool tips.
9537db96d56Sopenharmony_ci
9547db96d56Sopenharmony_ci	* ScriptBinding.py:
9557db96d56Sopenharmony_ci	Ensure sys.argv[0] is the script name on Run Script.
9567db96d56Sopenharmony_ci
9577db96d56Sopenharmony_ci	* ZoomHeight.py: Move zoom height functionality to separate function.
9587db96d56Sopenharmony_ci
9597db96d56Sopenharmony_ci	* Icons/folder.gif, Icons/openfolder.gif, Icons/python.gif, Icons/tk.gif:
9607db96d56Sopenharmony_ci	A few icons used by ../TreeWidget.py and its callers.
9617db96d56Sopenharmony_ci
9627db96d56Sopenharmony_ci	* AutoIndent.py: New version by Tim Peters improves block opening test.
9637db96d56Sopenharmony_ci
9647db96d56Sopenharmony_ciFri May 21 04:46:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
9657db96d56Sopenharmony_ci
9667db96d56Sopenharmony_ci	* Attic/History.py, PyShell.py: Rename History to IdleHistory.
9677db96d56Sopenharmony_ci	Add isatty() to pseudo files.
9687db96d56Sopenharmony_ci
9697db96d56Sopenharmony_ci	* StackViewer.py: Make initial stack viewer wider
9707db96d56Sopenharmony_ci
9717db96d56Sopenharmony_ci	* TODO.txt: New wishes
9727db96d56Sopenharmony_ci
9737db96d56Sopenharmony_ci	* AutoIndent.py, EditorWindow.py, PyShell.py:
9747db96d56Sopenharmony_ci	Much improved autoindent and handling of tabs,
9757db96d56Sopenharmony_ci	by Tim Peters.
9767db96d56Sopenharmony_ci
9777db96d56Sopenharmony_ciMon May  3 15:49:52 1999  Guido van Rossum  <guido@cnri.reston.va.us>
9787db96d56Sopenharmony_ci
9797db96d56Sopenharmony_ci	* AutoIndent.py, EditorWindow.py, FormatParagraph.py, UndoDelegator.py:
9807db96d56Sopenharmony_ci	Tim Peters writes:
9817db96d56Sopenharmony_ci
9827db96d56Sopenharmony_ci	I'm still unsure, but couldn't stand the virtual event trickery so tried a
9837db96d56Sopenharmony_ci	different sin (adding undo_block_start/stop methods to the Text instance in
9847db96d56Sopenharmony_ci	EditorWindow.py).  Like it or not, it's efficient and works <wink>.  Better
9857db96d56Sopenharmony_ci	idea?
9867db96d56Sopenharmony_ci
9877db96d56Sopenharmony_ci	Give the attached a whirl.  Even if you hate the implementation, I think
9887db96d56Sopenharmony_ci	you'll like the results.  Think I caught all the "block edit" cmds,
9897db96d56Sopenharmony_ci	including Format Paragraph, plus subtler ones involving smart indents and
9907db96d56Sopenharmony_ci	backspacing.
9917db96d56Sopenharmony_ci
9927db96d56Sopenharmony_ci	* WidgetRedirector.py: Tim Peters writes:
9937db96d56Sopenharmony_ci
9947db96d56Sopenharmony_ci	[W]hile trying to dope out how redirection works, stumbled into two
9957db96d56Sopenharmony_ci	possible glitches.  In the first, it doesn't appear to make sense to try to
9967db96d56Sopenharmony_ci	rename a command that's already been destroyed; in the second, the name
9977db96d56Sopenharmony_ci	"previous" doesn't really bring to mind "ignore the previous value" <wink>.
9987db96d56Sopenharmony_ci
9997db96d56Sopenharmony_ciFri Apr 30 19:39:25 1999  Guido van Rossum  <guido@cnri.reston.va.us>
10007db96d56Sopenharmony_ci
10017db96d56Sopenharmony_ci	* __init__.py: Support for using idle as a package.
10027db96d56Sopenharmony_ci
10037db96d56Sopenharmony_ci	* PathBrowser.py:
10047db96d56Sopenharmony_ci	Avoid listing files more than once (e.g. foomodule.so has two hits:
10057db96d56Sopenharmony_ci	once for foo + module.so, once for foomodule + .so).
10067db96d56Sopenharmony_ci
10077db96d56Sopenharmony_ciMon Apr 26 22:20:38 1999  Guido van Rossum  <guido@cnri.reston.va.us>
10087db96d56Sopenharmony_ci
10097db96d56Sopenharmony_ci	* ChangeLog, ColorDelegator.py, PyShell.py: Tim Peters strikes again:
10107db96d56Sopenharmony_ci
10117db96d56Sopenharmony_ci	Ho ho ho -- that's trickier than it sounded!  The colorizer is working with
10127db96d56Sopenharmony_ci	"line.col" strings instead of Text marks, and the absolute coordinates of
10137db96d56Sopenharmony_ci	the point of interest can change across the self.update call (voice of
10147db96d56Sopenharmony_ci	baffled experience, when two quick backspaces no longer fooled it, but a
10157db96d56Sopenharmony_ci	backspace followed by a quick ENTER did <wink>).
10167db96d56Sopenharmony_ci
10177db96d56Sopenharmony_ci	Anyway, the attached appears to do the trick.  CPU usage goes way up when
10187db96d56Sopenharmony_ci	typing quickly into a long triple-quoted string, but the latency is fine for
10197db96d56Sopenharmony_ci	me (a relatively fast typist on a relatively slow machine).  Most of the
10207db96d56Sopenharmony_ci	changes here are left over from reducing the # of vrbl names to help me
10217db96d56Sopenharmony_ci	reason about the logic better; I hope the code is a *little* easier to
10227db96d56Sopenharmony_ci
10237db96d56Sopenharmony_ciFri Apr 23 14:01:25 1999  Guido van Rossum  <guido@cnri.reston.va.us>
10247db96d56Sopenharmony_ci
10257db96d56Sopenharmony_ci	* EditorWindow.py:
10267db96d56Sopenharmony_ci	Provide full arguments to __import__ so it works in packagized IDLE.
10277db96d56Sopenharmony_ci
10287db96d56Sopenharmony_ciThu Apr 22 23:20:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
10297db96d56Sopenharmony_ci
10307db96d56Sopenharmony_ci        * help.txt:
10317db96d56Sopenharmony_ci        Bunch of updates necessary due to recent changes; added docs for File
10327db96d56Sopenharmony_ci        menu, command line and color preferences.
10337db96d56Sopenharmony_ci
10347db96d56Sopenharmony_ci        * Bindings.py: Remove obsolete 'script' menu.
10357db96d56Sopenharmony_ci
10367db96d56Sopenharmony_ci	* TODO.txt: Several wishes fulfilled.
10377db96d56Sopenharmony_ci
10387db96d56Sopenharmony_ci	* OutputWindow.py:
10397db96d56Sopenharmony_ci	Moved classes OnDemandOutputWindow and PseudoFile here,
10407db96d56Sopenharmony_ci	from ScriptBinding.py where they are no longer needed.
10417db96d56Sopenharmony_ci
10427db96d56Sopenharmony_ci	* ScriptBinding.py:
10437db96d56Sopenharmony_ci	Mostly rewritten.  Instead of the old Run module and Debug module,
10447db96d56Sopenharmony_ci	there are two new commands:
10457db96d56Sopenharmony_ci
10467db96d56Sopenharmony_ci	Import module (F5) imports or reloads the module and also adds its
10477db96d56Sopenharmony_ci	name to the __main__ namespace.  This gets executed in the PyShell
10487db96d56Sopenharmony_ci	window under control of its debug settings.
10497db96d56Sopenharmony_ci
10507db96d56Sopenharmony_ci	Run script (Control-F5) is similar but executes the contents of the
10517db96d56Sopenharmony_ci	file directly in the __main__ namespace.
10527db96d56Sopenharmony_ci
10537db96d56Sopenharmony_ci	* PyShell.py: Nits: document use of $IDLESTARTUP; display idle version
10547db96d56Sopenharmony_ci
10557db96d56Sopenharmony_ci	* idlever.py: New version to celebrate new command line
10567db96d56Sopenharmony_ci
10577db96d56Sopenharmony_ci	* OutputWindow.py: Added flush(), for completeness.
10587db96d56Sopenharmony_ci
10597db96d56Sopenharmony_ci	* PyShell.py:
10607db96d56Sopenharmony_ci	A lot of changes to make the command line more useful.  You can now do:
10617db96d56Sopenharmony_ci	  idle.py -e file ...    -- to edit files
10627db96d56Sopenharmony_ci	  idle.py script arg ... -- to run a script
10637db96d56Sopenharmony_ci	  idle.py -c cmd arg ... -- to run a command
10647db96d56Sopenharmony_ci	Other options, see also the usage message (also new!) for more details:
10657db96d56Sopenharmony_ci	  -d       -- enable debugger
10667db96d56Sopenharmony_ci	  -s       -- run $IDLESTARTUP or $PYTHONSTARTUP
10677db96d56Sopenharmony_ci	  -t title -- set Python Shell window's title
10687db96d56Sopenharmony_ci	sys.argv is set accordingly, unless -e is used.
10697db96d56Sopenharmony_ci	sys.path is absolutized, and all relevant paths are inserted into it.
10707db96d56Sopenharmony_ci
10717db96d56Sopenharmony_ci	Other changes:
10727db96d56Sopenharmony_ci	- the environment in which commands are executed is now the
10737db96d56Sopenharmony_ci	  __main__ module
10747db96d56Sopenharmony_ci	- explicitly save sys.stdout etc., don't restore from sys.__stdout__
10757db96d56Sopenharmony_ci	- new interpreter methods execsource(), execfile(), stuffsource()
10767db96d56Sopenharmony_ci	- a few small nits
10777db96d56Sopenharmony_ci
10787db96d56Sopenharmony_ci	* TODO.txt:
10797db96d56Sopenharmony_ci	Some more TODO items.  Made up my mind about command line args,
10807db96d56Sopenharmony_ci	Run/Import, __main__.
10817db96d56Sopenharmony_ci
10827db96d56Sopenharmony_ci	* ColorDelegator.py:
10837db96d56Sopenharmony_ci	Super-elegant patch by Tim Peters that speeds up colorization
10847db96d56Sopenharmony_ci	dramatically (up to 15 times he claims).  Works by reading more than
10857db96d56Sopenharmony_ci	one line at a time, up to 100-line chunks (starting with one line and
10867db96d56Sopenharmony_ci	then doubling up to the limit).  On a typical machine (e.g. Tim's
10877db96d56Sopenharmony_ci	P5-166) this doesn't reduce interactive responsiveness in a noticeable
10887db96d56Sopenharmony_ci	way.
10897db96d56Sopenharmony_ci
10907db96d56Sopenharmony_ciWed Apr 21 15:49:34 1999  Guido van Rossum  <guido@cnri.reston.va.us>
10917db96d56Sopenharmony_ci
10927db96d56Sopenharmony_ci	* ColorDelegator.py:
10937db96d56Sopenharmony_ci	Patch by Tim Peters to speed up colorizing of big multiline strings.
10947db96d56Sopenharmony_ci
10957db96d56Sopenharmony_ciTue Apr 20 17:32:52 1999  Guido van Rossum  <guido@cnri.reston.va.us>
10967db96d56Sopenharmony_ci
10977db96d56Sopenharmony_ci	* extend.txt:
10987db96d56Sopenharmony_ci	For an event 'foo-bar', the corresponding method must be called
10997db96d56Sopenharmony_ci	foo_bar_event().  Therefore, fix the references to zoom_height() in
11007db96d56Sopenharmony_ci	the example.
11017db96d56Sopenharmony_ci
11027db96d56Sopenharmony_ci	* IdlePrefs.py: Restored the original IDLE color scheme.
11037db96d56Sopenharmony_ci
11047db96d56Sopenharmony_ci	* PyShell.py, IdlePrefs.py, ColorDelegator.py, EditorWindow.py:
11057db96d56Sopenharmony_ci	Color preferences code by Loren Luke (massaged by me somewhat)
11067db96d56Sopenharmony_ci
11077db96d56Sopenharmony_ci	* SearchEngine.py:
11087db96d56Sopenharmony_ci	Patch by Mark Favas: it fixes the search engine behaviour where an
11097db96d56Sopenharmony_ci	unsuccessful search wraps around and re-searches that part of the file
11107db96d56Sopenharmony_ci	between the start of the search and the end of the file - only really
11117db96d56Sopenharmony_ci	an issue for very large files, but... (also removes a redundant
11127db96d56Sopenharmony_ci	m.span() call).
11137db96d56Sopenharmony_ci
11147db96d56Sopenharmony_ciMon Apr 19 16:26:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
11157db96d56Sopenharmony_ci
11167db96d56Sopenharmony_ci	* TODO.txt: A few wishes are now fulfilled.
11177db96d56Sopenharmony_ci
11187db96d56Sopenharmony_ci	* AutoIndent.py: Tim Peters implements some of my wishes:
11197db96d56Sopenharmony_ci
11207db96d56Sopenharmony_ci	o Makes the tab key intelligently insert spaces when appropriate
11217db96d56Sopenharmony_ci	(see Help list banter twixt David Ascher and me; idea stolen from
11227db96d56Sopenharmony_ci	every other editor on earth <wink>).
11237db96d56Sopenharmony_ci
11247db96d56Sopenharmony_ci	o newline_and_indent_event trims trailing whitespace on the old
11257db96d56Sopenharmony_ci	line (pymode and Codewright).
11267db96d56Sopenharmony_ci
11277db96d56Sopenharmony_ci	o newline_and_indent_event no longer fooled by trailing whitespace or
11287db96d56Sopenharmony_ci	comment after ":" (pymode, PTUI).
11297db96d56Sopenharmony_ci
11307db96d56Sopenharmony_ci	o newline_and_indent_event now reduces the new line's indentation after
11317db96d56Sopenharmony_ci	return, break, continue, raise and pass stmts (pymode).
11327db96d56Sopenharmony_ci
11337db96d56Sopenharmony_ci	The last two are easy to fool in the presence of strings &
11347db96d56Sopenharmony_ci	continuations, but pymode requires Emacs's high-powered C parsing
11357db96d56Sopenharmony_ci	functions to avoid that in finite time.
11367db96d56Sopenharmony_ci
11377db96d56Sopenharmony_ci======================================================================
11387db96d56Sopenharmony_ci	Python release 1.5.2c1, IDLE version 0.4
11397db96d56Sopenharmony_ci======================================================================
11407db96d56Sopenharmony_ci
11417db96d56Sopenharmony_ciWed Apr  7 18:41:59 1999  Guido van Rossum  <guido@cnri.reston.va.us>
11427db96d56Sopenharmony_ci
11437db96d56Sopenharmony_ci	* README.txt, NEWS.txt: New version.
11447db96d56Sopenharmony_ci
11457db96d56Sopenharmony_ci	* idlever.py: Version bump awaiting impending new release.
11467db96d56Sopenharmony_ci	(Not much has changed :-( )
11477db96d56Sopenharmony_ci
11487db96d56Sopenharmony_ciMon Mar 29 14:52:28 1999  Guido van Rossum  <guido@cnri.reston.va.us>
11497db96d56Sopenharmony_ci
11507db96d56Sopenharmony_ci	* ScriptBinding.py, PyShell.py:
11517db96d56Sopenharmony_ci	At Tim Peters' recommendation, add a dummy flush() method to
11527db96d56Sopenharmony_ci	PseudoFile.
11537db96d56Sopenharmony_ci
11547db96d56Sopenharmony_ciThu Mar 11 23:21:23 1999  Guido van Rossum  <guido@cnri.reston.va.us>
11557db96d56Sopenharmony_ci
11567db96d56Sopenharmony_ci	* PathBrowser.py: Don't crash when sys.path contains an empty string.
11577db96d56Sopenharmony_ci
11587db96d56Sopenharmony_ci	* Attic/Outline.py: This file was never supposed to be part of IDLE.
11597db96d56Sopenharmony_ci
11607db96d56Sopenharmony_ci	* PathBrowser.py:
11617db96d56Sopenharmony_ci	- Don't crash in the case where a superclass is a string instead of a
11627db96d56Sopenharmony_ci	pyclbr.Class object; this can happen when the superclass is
11637db96d56Sopenharmony_ci	unrecognizable (to pyclbr), e.g. when module renaming is used.
11647db96d56Sopenharmony_ci
11657db96d56Sopenharmony_ci	- Show a watch cursor when calling pyclbr (since it may take a while
11667db96d56Sopenharmony_ci	recursively parsing imported modules!).
11677db96d56Sopenharmony_ci
11687db96d56Sopenharmony_ciWed Mar 10 05:18:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
11697db96d56Sopenharmony_ci
11707db96d56Sopenharmony_ci	* EditorWindow.py, Bindings.py: Add PathBrowser to File module
11717db96d56Sopenharmony_ci
11727db96d56Sopenharmony_ci	* PathBrowser.py: "Path browser" - 4 scrolled lists displaying:
11737db96d56Sopenharmony_ci	    directories on sys.path
11747db96d56Sopenharmony_ci	    modules in selected directory
11757db96d56Sopenharmony_ci	    classes in selected module
11767db96d56Sopenharmony_ci	    methods of selected class
11777db96d56Sopenharmony_ci
11787db96d56Sopenharmony_ci	Single clicking in a directory, module or class item updates the next
11797db96d56Sopenharmony_ci	column with info about the selected item.  Double clicking in a
11807db96d56Sopenharmony_ci	module, class or method item opens the file (and selects the clicked
11817db96d56Sopenharmony_ci	item if it is a class or method).
11827db96d56Sopenharmony_ci
11837db96d56Sopenharmony_ci	I guess eventually I should be using a tree widget for this, but the
11847db96d56Sopenharmony_ci	ones I've seen don't work well enough, so for now I use the old
11857db96d56Sopenharmony_ci	Smalltalk or NeXT style multi-column hierarchical browser.
11867db96d56Sopenharmony_ci
11877db96d56Sopenharmony_ci	* MultiScrolledLists.py:
11887db96d56Sopenharmony_ci	New utility: multiple scrolled lists in parallel
11897db96d56Sopenharmony_ci
11907db96d56Sopenharmony_ci	* ScrolledList.py: - White background.
11917db96d56Sopenharmony_ci	- Display "(None)" (or text of your choosing) when empty.
11927db96d56Sopenharmony_ci	- Don't set the focus.
11937db96d56Sopenharmony_ci
11947db96d56Sopenharmony_ci======================================================================
11957db96d56Sopenharmony_ci	Python release 1.5.2b2, IDLE version 0.3
11967db96d56Sopenharmony_ci======================================================================
11977db96d56Sopenharmony_ci
11987db96d56Sopenharmony_ciWed Feb 17 22:47:41 1999  Guido van Rossum  <guido@cnri.reston.va.us>
11997db96d56Sopenharmony_ci
12007db96d56Sopenharmony_ci	* NEWS.txt: News in 0.3.
12017db96d56Sopenharmony_ci
12027db96d56Sopenharmony_ci	* README.txt, idlever.py: Bump version to 0.3.
12037db96d56Sopenharmony_ci
12047db96d56Sopenharmony_ci	* EditorWindow.py:
12057db96d56Sopenharmony_ci	After all, we don't need to call the callbacks ourselves!
12067db96d56Sopenharmony_ci
12077db96d56Sopenharmony_ci	* WindowList.py:
12087db96d56Sopenharmony_ci	When deleting, call the callbacks *after* deleting the window from our list!
12097db96d56Sopenharmony_ci
12107db96d56Sopenharmony_ci	* EditorWindow.py:
12117db96d56Sopenharmony_ci	Fix up the Windows menu via the new callback mechanism instead of
12127db96d56Sopenharmony_ci	depending on menu post commands (which don't work when the menu is
12137db96d56Sopenharmony_ci	torn off).
12147db96d56Sopenharmony_ci
12157db96d56Sopenharmony_ci	* WindowList.py:
12167db96d56Sopenharmony_ci	Support callbacks to patch up Windows menus everywhere.
12177db96d56Sopenharmony_ci
12187db96d56Sopenharmony_ci	* ChangeLog: Oh, why not.  Checking in the Emacs-generated change log.
12197db96d56Sopenharmony_ci
12207db96d56Sopenharmony_ciTue Feb 16 22:34:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12217db96d56Sopenharmony_ci
12227db96d56Sopenharmony_ci	* ScriptBinding.py:
12237db96d56Sopenharmony_ci	Only pop up the stack viewer when requested in the Debug menu.
12247db96d56Sopenharmony_ci
12257db96d56Sopenharmony_ciMon Feb  8 22:27:49 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12267db96d56Sopenharmony_ci
12277db96d56Sopenharmony_ci	* WindowList.py: Don't crash if a window no longer exists.
12287db96d56Sopenharmony_ci
12297db96d56Sopenharmony_ci	* TODO.txt: Restructured a bit.
12307db96d56Sopenharmony_ci
12317db96d56Sopenharmony_ciMon Feb  1 23:06:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12327db96d56Sopenharmony_ci
12337db96d56Sopenharmony_ci	* PyShell.py: Add current dir or paths of file args to sys.path.
12347db96d56Sopenharmony_ci
12357db96d56Sopenharmony_ci	* Debugger.py: Add canonic() function -- for brand new bdb.py feature.
12367db96d56Sopenharmony_ci
12377db96d56Sopenharmony_ci	* StackViewer.py: Protect against accessing an empty stack.
12387db96d56Sopenharmony_ci
12397db96d56Sopenharmony_ciFri Jan 29 20:44:45 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12407db96d56Sopenharmony_ci
12417db96d56Sopenharmony_ci	* ZoomHeight.py:
12427db96d56Sopenharmony_ci	Use only the height to decide whether to zoom in or out.
12437db96d56Sopenharmony_ci
12447db96d56Sopenharmony_ciThu Jan 28 22:24:30 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12457db96d56Sopenharmony_ci
12467db96d56Sopenharmony_ci	* EditorWindow.py, FileList.py:
12477db96d56Sopenharmony_ci	Make sure the Tcl variables are shared between windows.
12487db96d56Sopenharmony_ci
12497db96d56Sopenharmony_ci	* PyShell.py, EditorWindow.py, Bindings.py:
12507db96d56Sopenharmony_ci	Move menu/key binding code from Bindings.py to EditorWindow.py,
12517db96d56Sopenharmony_ci	with changed APIs -- it makes much more sense there.
12527db96d56Sopenharmony_ci	Also add a new feature: if the first character of a menu label is
12537db96d56Sopenharmony_ci	a '!', it gets a checkbox.  Checkboxes are bound to Boolean Tcl variables
12547db96d56Sopenharmony_ci	that can be accessed through the new getvar/setvar/getrawvar API;
12557db96d56Sopenharmony_ci	the variable is named after the event to which the menu is bound.
12567db96d56Sopenharmony_ci
12577db96d56Sopenharmony_ci	* Debugger.py: Add Quit button to the debugger window.
12587db96d56Sopenharmony_ci
12597db96d56Sopenharmony_ci	* SearchDialog.py:
12607db96d56Sopenharmony_ci	When find_again() finds exactly the current selection, it's a failure.
12617db96d56Sopenharmony_ci
12627db96d56Sopenharmony_ci	* idle.py, Attic/idle: Rename idle -> idle.py
12637db96d56Sopenharmony_ci
12647db96d56Sopenharmony_ciMon Jan 18 15:18:57 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12657db96d56Sopenharmony_ci
12667db96d56Sopenharmony_ci	* EditorWindow.py, WindowList.py: Only deiconify when iconic.
12677db96d56Sopenharmony_ci
12687db96d56Sopenharmony_ci	* TODO.txt: Misc
12697db96d56Sopenharmony_ci
12707db96d56Sopenharmony_ciTue Jan 12 22:14:34 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12717db96d56Sopenharmony_ci
12727db96d56Sopenharmony_ci	* testcode.py, Attic/test.py:
12737db96d56Sopenharmony_ci	Renamed test.py to testcode.py so one can import Python's
12747db96d56Sopenharmony_ci	test package from inside IDLE.  (Suggested by Jack Jansen.)
12757db96d56Sopenharmony_ci
12767db96d56Sopenharmony_ci	* EditorWindow.py, ColorDelegator.py:
12777db96d56Sopenharmony_ci	Hack to close a window that is colorizing.
12787db96d56Sopenharmony_ci
12797db96d56Sopenharmony_ci	* Separator.py: Vladimir Marangozov's patch:
12807db96d56Sopenharmony_ci	The separator dances too much and seems to jump by arbitrary amounts
12817db96d56Sopenharmony_ci	in arbitrary directions when I try to move it for resizing the frames.
12827db96d56Sopenharmony_ci	This patch makes it more quiet.
12837db96d56Sopenharmony_ci
12847db96d56Sopenharmony_ciMon Jan 11 14:52:40 1999  Guido van Rossum  <guido@cnri.reston.va.us>
12857db96d56Sopenharmony_ci
12867db96d56Sopenharmony_ci	* TODO.txt: Some requests have been fulfilled.
12877db96d56Sopenharmony_ci
12887db96d56Sopenharmony_ci	* EditorWindow.py:
12897db96d56Sopenharmony_ci	Set the cursor to a watch when opening the class browser (which may
12907db96d56Sopenharmony_ci	take quite a while, browsing multiple files).
12917db96d56Sopenharmony_ci
12927db96d56Sopenharmony_ci	Newer, better center() -- but assumes no wrapping.
12937db96d56Sopenharmony_ci
12947db96d56Sopenharmony_ci	* SearchBinding.py:
12957db96d56Sopenharmony_ci	Got rid of debug print statement in goto_line_event().
12967db96d56Sopenharmony_ci
12977db96d56Sopenharmony_ci	* ScriptBinding.py:
12987db96d56Sopenharmony_ci	I think I like it better if it prints the traceback even when it displays
12997db96d56Sopenharmony_ci	the stack viewer.
13007db96d56Sopenharmony_ci
13017db96d56Sopenharmony_ci	* Debugger.py: Bind ESC to close-window.
13027db96d56Sopenharmony_ci
13037db96d56Sopenharmony_ci	* ClassBrowser.py: Use a HSeparator between the classes and the items.
13047db96d56Sopenharmony_ci	Make the list of classes wider by default (40 chars).
13057db96d56Sopenharmony_ci	Bind ESC to close-window.
13067db96d56Sopenharmony_ci
13077db96d56Sopenharmony_ci	* Separator.py:
13087db96d56Sopenharmony_ci	Separator classes (draggable divider between two panes).
13097db96d56Sopenharmony_ci
13107db96d56Sopenharmony_ciSat Jan  9 22:01:33 1999  Guido van Rossum  <guido@cnri.reston.va.us>
13117db96d56Sopenharmony_ci
13127db96d56Sopenharmony_ci	* WindowList.py:
13137db96d56Sopenharmony_ci	Don't traceback when wakeup() is called when the window has been destroyed.
13147db96d56Sopenharmony_ci	This can happen when a torn-of Windows menu references closed windows.
13157db96d56Sopenharmony_ci	And Tim Peters claims that the Windows menu is his favorite to tear off...
13167db96d56Sopenharmony_ci
13177db96d56Sopenharmony_ci	* EditorWindow.py: Allow tearing off of the Windows menu.
13187db96d56Sopenharmony_ci
13197db96d56Sopenharmony_ci	* StackViewer.py: Close on ESC.
13207db96d56Sopenharmony_ci
13217db96d56Sopenharmony_ci	* help.txt: Updated a bunch of things (it was mostly still 0.1!)
13227db96d56Sopenharmony_ci
13237db96d56Sopenharmony_ci	* extend.py: Added ScriptBinding to standard bindings.
13247db96d56Sopenharmony_ci
13257db96d56Sopenharmony_ci	* ScriptBinding.py:
13267db96d56Sopenharmony_ci	This now actually works.  See doc string.  It can run a module (i.e.
13277db96d56Sopenharmony_ci	import or reload) or debug it (same with debugger control).  Output
13287db96d56Sopenharmony_ci	goes to a fresh output window, only created when needed.
13297db96d56Sopenharmony_ci
13307db96d56Sopenharmony_ci======================================================================
13317db96d56Sopenharmony_ci	Python release 1.5.2b1, IDLE version 0.2
13327db96d56Sopenharmony_ci======================================================================
13337db96d56Sopenharmony_ci
13347db96d56Sopenharmony_ciFri Jan  8 17:26:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
13357db96d56Sopenharmony_ci
13367db96d56Sopenharmony_ci	* README.txt, NEWS.txt: What's new in this release.
13377db96d56Sopenharmony_ci
13387db96d56Sopenharmony_ci	* Bindings.py, PyShell.py:
13397db96d56Sopenharmony_ci	Paul Prescod's patches to allow the stack viewer to pop up when a
13407db96d56Sopenharmony_ci	traceback is printed.
13417db96d56Sopenharmony_ci
13427db96d56Sopenharmony_ciThu Jan  7 00:12:15 1999  Guido van Rossum  <guido@cnri.reston.va.us>
13437db96d56Sopenharmony_ci
13447db96d56Sopenharmony_ci	* FormatParagraph.py:
13457db96d56Sopenharmony_ci	Change paragraph width limit to 70 (like Emacs M-Q).
13467db96d56Sopenharmony_ci
13477db96d56Sopenharmony_ci	* README.txt:
13487db96d56Sopenharmony_ci	Separating TODO from README.  Slight reformulation of features.  No
13497db96d56Sopenharmony_ci	exact release date.
13507db96d56Sopenharmony_ci
13517db96d56Sopenharmony_ci	* TODO.txt: Separating TODO from README.
13527db96d56Sopenharmony_ci
13537db96d56Sopenharmony_ciMon Jan  4 21:19:09 1999  Guido van Rossum  <guido@cnri.reston.va.us>
13547db96d56Sopenharmony_ci
13557db96d56Sopenharmony_ci	* FormatParagraph.py:
13567db96d56Sopenharmony_ci	Hm.  There was a boundary condition error at the end of the file too.
13577db96d56Sopenharmony_ci
13587db96d56Sopenharmony_ci	* SearchBinding.py: Hm.  Add Unix binding for replace, too.
13597db96d56Sopenharmony_ci
13607db96d56Sopenharmony_ci	* keydefs.py: Ran eventparse.py again.
13617db96d56Sopenharmony_ci
13627db96d56Sopenharmony_ci	* FormatParagraph.py: Added Unix Meta-q key binding;
13637db96d56Sopenharmony_ci	fix find_paragraph when at start of file.
13647db96d56Sopenharmony_ci
13657db96d56Sopenharmony_ci	* AutoExpand.py: Added Meta-/ binding for Unix as alt for Alt-/.
13667db96d56Sopenharmony_ci
13677db96d56Sopenharmony_ci	* SearchBinding.py:
13687db96d56Sopenharmony_ci	Add unix binding for grep (otherwise the menu entry doesn't work!)
13697db96d56Sopenharmony_ci
13707db96d56Sopenharmony_ci	* ZoomHeight.py: Adjusted Unix height to work with fvwm96. :=(
13717db96d56Sopenharmony_ci
13727db96d56Sopenharmony_ci	* GrepDialog.py: Need to import sys!
13737db96d56Sopenharmony_ci
13747db96d56Sopenharmony_ci	* help.txt, extend.txt, README.txt: Formatted some paragraphs
13757db96d56Sopenharmony_ci
13767db96d56Sopenharmony_ci	* extend.py, FormatParagraph.py:
13777db96d56Sopenharmony_ci	Add new extension to reformat a (text) paragraph.
13787db96d56Sopenharmony_ci
13797db96d56Sopenharmony_ci	* ZoomHeight.py: Typo in Win specific height setting.
13807db96d56Sopenharmony_ci
13817db96d56Sopenharmony_ciSun Jan  3 00:47:35 1999  Guido van Rossum  <guido@cnri.reston.va.us>
13827db96d56Sopenharmony_ci
13837db96d56Sopenharmony_ci	* AutoIndent.py: Added something like Tim Peters' backspace patch.
13847db96d56Sopenharmony_ci
13857db96d56Sopenharmony_ci	* ZoomHeight.py: Adapted to Unix (i.e., more hardcoded constants).
13867db96d56Sopenharmony_ci
13877db96d56Sopenharmony_ciSat Jan  2 21:28:54 1999  Guido van Rossum  <guido@cnri.reston.va.us>
13887db96d56Sopenharmony_ci
13897db96d56Sopenharmony_ci	* keydefs.py, idlever.py, idle.pyw, idle.bat, help.txt, extend.txt, extend.py, eventparse.py, ZoomHeight.py, WindowList.py, UndoDelegator.py, StackViewer.py, SearchEngine.py, SearchDialogBase.py, SearchDialog.py, ScrolledList.py, SearchBinding.py, ScriptBinding.py, ReplaceDialog.py, Attic/README, README.txt, PyShell.py, Attic/PopupMenu.py, OutputWindow.py, IOBinding.py, Attic/HelpWindow.py, History.py, GrepDialog.py, FileList.py, FrameViewer.py, EditorWindow.py, Debugger.py, Delegator.py, ColorDelegator.py, Bindings.py, ClassBrowser.py, AutoExpand.py, AutoIndent.py:
13907db96d56Sopenharmony_ci	Checking in IDLE 0.2.
13917db96d56Sopenharmony_ci
13927db96d56Sopenharmony_ci	Much has changed -- too much, in fact, to write down.
13937db96d56Sopenharmony_ci	The big news is that there's a standard way to write IDLE extensions;
13947db96d56Sopenharmony_ci	see extend.txt.  Some sample extensions have been provided, and
13957db96d56Sopenharmony_ci	some existing code has been converted to extensions.  Probably the
13967db96d56Sopenharmony_ci	biggest new user feature is a new search dialog with more options,
13977db96d56Sopenharmony_ci	search and replace, and even search in files (grep).
13987db96d56Sopenharmony_ci
13997db96d56Sopenharmony_ci	This is exactly as downloaded from my laptop after returning
14007db96d56Sopenharmony_ci	from the holidays -- it hasn't even been tested on Unix yet.
14017db96d56Sopenharmony_ci
14027db96d56Sopenharmony_ciFri Dec 18 15:52:54 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14037db96d56Sopenharmony_ci
14047db96d56Sopenharmony_ci	* FileList.py, ClassBrowser.py:
14057db96d56Sopenharmony_ci	Fix the class browser to work even when the file is not on sys.path.
14067db96d56Sopenharmony_ci
14077db96d56Sopenharmony_ciTue Dec  8 20:39:36 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14087db96d56Sopenharmony_ci
14097db96d56Sopenharmony_ci	* Attic/turtle.py: Moved to Python 1.5.2/Lib
14107db96d56Sopenharmony_ci
14117db96d56Sopenharmony_ciFri Nov 27 03:19:20 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14127db96d56Sopenharmony_ci
14137db96d56Sopenharmony_ci	* help.txt: Typo
14147db96d56Sopenharmony_ci
14157db96d56Sopenharmony_ci	* EditorWindow.py, FileList.py: Support underlining of menu labels
14167db96d56Sopenharmony_ci
14177db96d56Sopenharmony_ci	* Bindings.py:
14187db96d56Sopenharmony_ci	New approach, separate tables for menus (platform-independent) and key
14197db96d56Sopenharmony_ci	definitions (platform-specific), and generating accelerator strings
14207db96d56Sopenharmony_ci	automatically from the key definitions.
14217db96d56Sopenharmony_ci
14227db96d56Sopenharmony_ciMon Nov 16 18:37:42 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14237db96d56Sopenharmony_ci
14247db96d56Sopenharmony_ci	* Attic/README: Clarify portability and main program.
14257db96d56Sopenharmony_ci
14267db96d56Sopenharmony_ci	* Attic/README: Added intro for 0.1 release and append Grail notes.
14277db96d56Sopenharmony_ci
14287db96d56Sopenharmony_ciMon Oct 26 18:49:00 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14297db96d56Sopenharmony_ci
14307db96d56Sopenharmony_ci	* Attic/turtle.py: root is now a global called _root
14317db96d56Sopenharmony_ci
14327db96d56Sopenharmony_ciSat Oct 24 16:38:38 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14337db96d56Sopenharmony_ci
14347db96d56Sopenharmony_ci	* Attic/turtle.py: Raise the root window on reset().
14357db96d56Sopenharmony_ci	Different action on WM_DELETE_WINDOW is more likely to do the right thing,
14367db96d56Sopenharmony_ci	allowing us to destroy old windows.
14377db96d56Sopenharmony_ci
14387db96d56Sopenharmony_ci	* Attic/turtle.py:
14397db96d56Sopenharmony_ci	Split the goto() function in two: _goto() is the internal one,
14407db96d56Sopenharmony_ci	using Canvas coordinates, and goto() uses turtle coordinates
14417db96d56Sopenharmony_ci	and accepts variable argument lists.
14427db96d56Sopenharmony_ci
14437db96d56Sopenharmony_ci	* Attic/turtle.py: Cope with destruction of the window
14447db96d56Sopenharmony_ci
14457db96d56Sopenharmony_ci	* Attic/turtle.py: Turtle graphics
14467db96d56Sopenharmony_ci
14477db96d56Sopenharmony_ci	* Debugger.py: Use of Breakpoint class should be bdb.Breakpoint.
14487db96d56Sopenharmony_ci
14497db96d56Sopenharmony_ciMon Oct 19 03:33:40 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14507db96d56Sopenharmony_ci
14517db96d56Sopenharmony_ci	* SearchBinding.py:
14527db96d56Sopenharmony_ci	Speed up the search a bit -- don't drag a mark around...
14537db96d56Sopenharmony_ci
14547db96d56Sopenharmony_ci	* PyShell.py:
14557db96d56Sopenharmony_ci	Change our special entries from <console#N> to <pyshell#N>.
14567db96d56Sopenharmony_ci	Patch linecache.checkcache() to keep our special entries alive.
14577db96d56Sopenharmony_ci	Add popup menu to all editor windows to set a breakpoint.
14587db96d56Sopenharmony_ci
14597db96d56Sopenharmony_ci	* Debugger.py:
14607db96d56Sopenharmony_ci	Use and pass through the 'force' flag to set_dict() where appropriate.
14617db96d56Sopenharmony_ci	Default source and globals checkboxes to false.
14627db96d56Sopenharmony_ci	Don't interact in user_return().
14637db96d56Sopenharmony_ci	Add primitive set_breakpoint() method.
14647db96d56Sopenharmony_ci
14657db96d56Sopenharmony_ci	* ColorDelegator.py:
14667db96d56Sopenharmony_ci	Raise priority of 'sel' tag so its foreground (on Windows) will take
14677db96d56Sopenharmony_ci	priority over text colorization (which on Windows is almost the
14687db96d56Sopenharmony_ci	same color as the selection background).
14697db96d56Sopenharmony_ci
14707db96d56Sopenharmony_ci	Define a tag and color for breakpoints ("BREAK").
14717db96d56Sopenharmony_ci
14727db96d56Sopenharmony_ci	* Attic/PopupMenu.py: Disable "Open stack viewer" and "help" commands.
14737db96d56Sopenharmony_ci
14747db96d56Sopenharmony_ci	* StackViewer.py:
14757db96d56Sopenharmony_ci	Add optional 'force' argument (default 0) to load_dict().
14767db96d56Sopenharmony_ci	If set, redo the display even if it's the same dict.
14777db96d56Sopenharmony_ci
14787db96d56Sopenharmony_ciFri Oct 16 21:10:12 1998  Guido van Rossum  <guido@cnri.reston.va.us>
14797db96d56Sopenharmony_ci
14807db96d56Sopenharmony_ci	* StackViewer.py: Do nothing when loading the same dict as before.
14817db96d56Sopenharmony_ci
14827db96d56Sopenharmony_ci	* PyShell.py: Details for debugger interface.
14837db96d56Sopenharmony_ci
14847db96d56Sopenharmony_ci	* Debugger.py:
14857db96d56Sopenharmony_ci	Restructured and more consistent.  Save checkboxes across instantiations.
14867db96d56Sopenharmony_ci
14877db96d56Sopenharmony_ci	* EditorWindow.py, Attic/README, Bindings.py:
14887db96d56Sopenharmony_ci	Get rid of conflicting ^X binding.  Use ^W.
14897db96d56Sopenharmony_ci
14907db96d56Sopenharmony_ci	* Debugger.py, StackViewer.py:
14917db96d56Sopenharmony_ci	Debugger can now show local and global variables.
14927db96d56Sopenharmony_ci
14937db96d56Sopenharmony_ci	* Debugger.py: Oops
14947db96d56Sopenharmony_ci
14957db96d56Sopenharmony_ci	* Debugger.py, PyShell.py: Better debugger support (show stack etc).
14967db96d56Sopenharmony_ci
14977db96d56Sopenharmony_ci	* Attic/PopupMenu.py: Follow renames in StackViewer module
14987db96d56Sopenharmony_ci
14997db96d56Sopenharmony_ci	* StackViewer.py:
15007db96d56Sopenharmony_ci	Rename classes to StackViewer (the widget) and StackBrowser (the toplevel).
15017db96d56Sopenharmony_ci
15027db96d56Sopenharmony_ci	* ScrolledList.py: Add close() method
15037db96d56Sopenharmony_ci
15047db96d56Sopenharmony_ci	* EditorWindow.py: Clarify 'Open Module' dialog text
15057db96d56Sopenharmony_ci
15067db96d56Sopenharmony_ci	* StackViewer.py: Restructured into a browser and a widget.
15077db96d56Sopenharmony_ci
15087db96d56Sopenharmony_ciThu Oct 15 23:27:08 1998  Guido van Rossum  <guido@cnri.reston.va.us>
15097db96d56Sopenharmony_ci
15107db96d56Sopenharmony_ci	* ClassBrowser.py, ScrolledList.py:
15117db96d56Sopenharmony_ci	Generalized the scrolled list which is the base for the class and
15127db96d56Sopenharmony_ci	method browser into a separate class in its own module.
15137db96d56Sopenharmony_ci
15147db96d56Sopenharmony_ci	* Attic/test.py: Cosmetic change
15157db96d56Sopenharmony_ci
15167db96d56Sopenharmony_ci	* Debugger.py: Don't show function name if there is none
15177db96d56Sopenharmony_ci
15187db96d56Sopenharmony_ciWed Oct 14 03:43:05 1998  Guido van Rossum  <guido@cnri.reston.va.us>
15197db96d56Sopenharmony_ci
15207db96d56Sopenharmony_ci	* Debugger.py, PyShell.py: Polish the Debugger GUI a bit.
15217db96d56Sopenharmony_ci	Closing it now also does the right thing.
15227db96d56Sopenharmony_ci
15237db96d56Sopenharmony_ciTue Oct 13 23:51:13 1998  Guido van Rossum  <guido@cnri.reston.va.us>
15247db96d56Sopenharmony_ci
15257db96d56Sopenharmony_ci	* Debugger.py, PyShell.py, Bindings.py:
15267db96d56Sopenharmony_ci	Ad primitive debugger interface (so far it will step and show you the
15277db96d56Sopenharmony_ci	source, but it doesn't yet show the stack).
15287db96d56Sopenharmony_ci
15297db96d56Sopenharmony_ci	* Attic/README: Misc
15307db96d56Sopenharmony_ci
15317db96d56Sopenharmony_ci	* StackViewer.py: Whoops -- referenced self.top before it was set.
15327db96d56Sopenharmony_ci
15337db96d56Sopenharmony_ci	* help.txt: Added history and completion commands.
15347db96d56Sopenharmony_ci
15357db96d56Sopenharmony_ci	* help.txt: Updated
15367db96d56Sopenharmony_ci
15377db96d56Sopenharmony_ci	* FileList.py: Add class browser functionality.
15387db96d56Sopenharmony_ci
15397db96d56Sopenharmony_ci	* StackViewer.py:
15407db96d56Sopenharmony_ci	Add a close() method and bind to WM_DELETE_WINDOW protocol
15417db96d56Sopenharmony_ci
15427db96d56Sopenharmony_ci	* PyShell.py: Clear the linecache before printing a traceback
15437db96d56Sopenharmony_ci
15447db96d56Sopenharmony_ci	* Bindings.py: Added class browser binding.
15457db96d56Sopenharmony_ci
15467db96d56Sopenharmony_ci	* ClassBrowser.py: Much improved, much left to do.
15477db96d56Sopenharmony_ci
15487db96d56Sopenharmony_ci	* PyShell.py: Make the return key do what I mean more often.
15497db96d56Sopenharmony_ci
15507db96d56Sopenharmony_ci	* ClassBrowser.py:
15517db96d56Sopenharmony_ci	Adding the beginnings of a Class browser.  Incomplete, yet.
15527db96d56Sopenharmony_ci
15537db96d56Sopenharmony_ci	* EditorWindow.py, Bindings.py:
15547db96d56Sopenharmony_ci	Add new command, "Open module".  You select or type a module name,
15557db96d56Sopenharmony_ci	and it opens the source.
15567db96d56Sopenharmony_ci
15577db96d56Sopenharmony_ciMon Oct 12 23:59:27 1998  Guido van Rossum  <guido@cnri.reston.va.us>
15587db96d56Sopenharmony_ci
15597db96d56Sopenharmony_ci	* PyShell.py: Subsume functionality from Popup menu in Debug menu.
15607db96d56Sopenharmony_ci	Other stuff so the PyShell window can be resurrected from the Windows menu.
15617db96d56Sopenharmony_ci
15627db96d56Sopenharmony_ci	* FileList.py: Get rid of PopUp menu.
15637db96d56Sopenharmony_ci	Create a simple Windows menu.  (Imperfect when Untitled windows exist.)
15647db96d56Sopenharmony_ci	Add wakeup() method: deiconify, raise, focus.
15657db96d56Sopenharmony_ci
15667db96d56Sopenharmony_ci	* EditorWindow.py: Generalize menu creation.
15677db96d56Sopenharmony_ci
15687db96d56Sopenharmony_ci	* Bindings.py: Add Debug and Help menu items.
15697db96d56Sopenharmony_ci
15707db96d56Sopenharmony_ci	* EditorWindow.py: Added a menu bar to every window.
15717db96d56Sopenharmony_ci
15727db96d56Sopenharmony_ci	* Bindings.py: Add menu configuration to the event configuration.
15737db96d56Sopenharmony_ci
15747db96d56Sopenharmony_ci	* Attic/PopupMenu.py: Pass a root to the help window.
15757db96d56Sopenharmony_ci
15767db96d56Sopenharmony_ci	* SearchBinding.py:
15777db96d56Sopenharmony_ci	Add parent argument to 'go to line number' dialog box.
15787db96d56Sopenharmony_ci
15797db96d56Sopenharmony_ciSat Oct 10 19:15:32 1998  Guido van Rossum  <guido@cnri.reston.va.us>
15807db96d56Sopenharmony_ci
15817db96d56Sopenharmony_ci	* StackViewer.py:
15827db96d56Sopenharmony_ci	Add a label at the top showing (very basic) help for the stack viewer.
15837db96d56Sopenharmony_ci	Add a label at the bottom showing the exception info.
15847db96d56Sopenharmony_ci
15857db96d56Sopenharmony_ci	* Attic/test.py, Attic/idle: Add Unix main script and test program.
15867db96d56Sopenharmony_ci
15877db96d56Sopenharmony_ci	* idle.pyw, help.txt, WidgetRedirector.py, UndoDelegator.py, StackViewer.py, SearchBinding.py, Attic/README, PyShell.py, Attic/PopupMenu.py, Percolator.py, Outline.py, IOBinding.py, History.py, Attic/HelpWindow.py, FrameViewer.py, FileList.py, EditorWindow.py, Delegator.py, ColorDelegator.py, Bindings.py, AutoIndent.py, AutoExpand.py:
15887db96d56Sopenharmony_ci	Initial checking of Tk-based Python IDE.
15897db96d56Sopenharmony_ci	Features: text editor with syntax coloring and undo;
15907db96d56Sopenharmony_ci	subclassed into interactive Python shell which adds history.
15917db96d56Sopenharmony_ci
1592