1 ======================================================================
2 Python release 1.5.2c1, IDLE version 0.4
3 ======================================================================
5 Wed Apr 7 18:41:59 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
7 * README.txt, NEWS.txt: New version.
9 * idlever.py: Version bump awaiting impending new release.
10 (Not much has changed :-( )
12 Mon Mar 29 14:52:28 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
14 * ScriptBinding.py, PyShell.py:
15 At Tim Peters' recommendation, add a dummy flush() method to
18 Thu Mar 11 23:21:23 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
20 * PathBrowser.py: Don't crash when sys.path contains an empty string.
22 * Attic/Outline.py: This file was never supposed to be part of IDLE.
25 - Don't crash in the case where a superclass is a string instead of a
26 pyclbr.Class object; this can happen when the superclass is
27 unrecognizable (to pyclbr), e.g. when module renaming is used.
29 - Show a watch cursor when calling pyclbr (since it may take a while
30 recursively parsing imported modules!).
32 Wed Mar 10 05:18:02 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
34 * EditorWindow.py, Bindings.py: Add PathBrowser to File module
36 * PathBrowser.py: "Path browser" - 4 scrolled lists displaying:
37 directories on sys.path
38 modules in selected directory
39 classes in selected module
40 methods of selected class
42 Sinlge clicking in a directory, module or class item updates the next
43 column with info about the selected item. Double clicking in a
44 module, class or method item opens the file (and selects the clicked
45 item if it is a class or method).
47 I guess eventually I should be using a tree widget for this, but the
48 ones I've seen don't work well enough, so for now I use the old
49 Smalltalk or NeXT style multi-column hierarchical browser.
51 * MultiScrolledLists.py:
52 New utility: multiple scrolled lists in parallel
54 * ScrolledList.py: - White background.
55 - Display "(None)" (or text of your choosing) when empty.
56 - Don't set the focus.
58 ======================================================================
59 Python release 1.5.2b2, IDLE version 0.3
60 ======================================================================
62 Wed Feb 17 22:47:41 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
64 * NEWS.txt: News in 0.3.
66 * README.txt, idlever.py: Bump version to 0.3.
69 After all, we don't need to call the callbacks ourselves!
72 When deleting, call the callbacks *after* deleting the window from our list!
75 Fix up the Windows menu via the new callback mechanism instead of
76 depending on menu post commands (which don't work when the menu is
80 Support callbacks to patch up Windows menus everywhere.
82 * ChangeLog: Oh, why not. Checking in the Emacs-generated change log.
84 Tue Feb 16 22:34:17 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
87 Only pop up the stack viewer when requested in the Debug menu.
89 Mon Feb 8 22:27:49 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
91 * WindowList.py: Don't crash if a window no longer exists.
93 * TODO.txt: Restructured a bit.
95 Mon Feb 1 23:06:17 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
97 * PyShell.py: Add current dir or paths of file args to sys.path.
99 * Debugger.py: Add canonic() function -- for brand new bdb.py feature.
101 * StackViewer.py: Protect against accessing an empty stack.
103 Fri Jan 29 20:44:45 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
106 Use only the height to decide whether to zoom in or out.
108 Thu Jan 28 22:24:30 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
110 * EditorWindow.py, FileList.py:
111 Make sure the Tcl variables are shared between windows.
113 * PyShell.py, EditorWindow.py, Bindings.py:
114 Move menu/key binding code from Bindings.py to EditorWindow.py,
115 with changed APIs -- it makes much more sense there.
116 Also add a new feature: if the first character of a menu label is
117 a '!', it gets a checkbox. Checkboxes are bound to Boolean Tcl variables
118 that can be accessed through the new getvar/setvar/getrawvar API;
119 the variable is named after the event to which the menu is bound.
121 * Debugger.py: Add Quit button to the debugger window.
124 When find_again() finds exactly the current selection, it's a failure.
126 * idle.py, Attic/idle: Rename idle -> idle.py
128 Mon Jan 18 15:18:57 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
130 * EditorWindow.py, WindowList.py: Only deiconify when iconic.
134 Tue Jan 12 22:14:34 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
136 * testcode.py, Attic/test.py:
137 Renamed test.py to testcode.py so one can import Python's
138 test package from inside IDLE. (Suggested by Jack Jansen.)
140 * EditorWindow.py, ColorDelegator.py:
141 Hack to close a window that is colorizing.
143 * Separator.py: Vladimir Marangozov's patch:
144 The separator dances too much and seems to jump by arbitrary amounts
145 in arbitrary directions when I try to move it for resizing the frames.
146 This patch makes it more quiet.
148 Mon Jan 11 14:52:40 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
150 * TODO.txt: Some requests have been fulfilled.
153 Set the cursor to a watch when opening the class browser (which may
154 take quite a while, browsing multiple files).
156 Newer, better center() -- but assumes no wrapping.
159 Got rid of debug print statement in goto_line_event().
162 I think I like it better if it prints the traceback even when it displays
165 * Debugger.py: Bind ESC to close-window.
167 * ClassBrowser.py: Use a HSeparator between the classes and the items.
168 Make the list of classes wider by default (40 chars).
169 Bind ESC to close-window.
172 Separator classes (draggable divider between two panes).
174 Sat Jan 9 22:01:33 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
177 Don't traceback when wakeup() is called when the window has been destroyed.
178 This can happen when a torn-of Windows menu references closed windows.
179 And Tim Peters claims that the Windows menu is his favorite to tear off...
181 * EditorWindow.py: Allow tearing off of the Windows menu.
183 * StackViewer.py: Close on ESC.
185 * help.txt: Updated a bunch of things (it was mostly still 0.1!)
187 * extend.py: Added ScriptBinding to standard bindings.
190 This now actually works. See doc string. It can run a module (i.e.
191 import or reload) or debug it (same with debugger control). Output
192 goes to a fresh output window, only created when needed.
194 ======================================================================
195 Python release 1.5.2b1, IDLE version 0.2
196 ======================================================================
198 Fri Jan 8 17:26:02 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
200 * README.txt, NEWS.txt: What's new in this release.
202 * Bindings.py, PyShell.py:
203 Paul Prescod's patches to allow the stack viewer to pop up when a
204 traceback is printed.
206 Thu Jan 7 00:12:15 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
208 * FormatParagraph.py:
209 Change paragraph width limit to 70 (like Emacs M-Q).
212 Separating TODO from README. Slight reformulation of features. No
215 * TODO.txt: Separating TODO from README.
217 Mon Jan 4 21:19:09 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
219 * FormatParagraph.py:
220 Hm. There was a boundary condition error at the end of the file too.
222 * SearchBinding.py: Hm. Add Unix binding for replace, too.
224 * keydefs.py: Ran eventparse.py again.
226 * FormatParagraph.py: Added Unix Meta-q key binding;
227 fix find_paragraph when at start of file.
229 * AutoExpand.py: Added Meta-/ binding for Unix as alt for Alt-/.
232 Add unix binding for grep (otherwise the menu entry doesn't work!)
234 * ZoomHeight.py: Adjusted Unix height to work with fvwm96. :=(
236 * GrepDialog.py: Need to import sys!
238 * help.txt, extend.txt, README.txt: Formatted some paragraphs
240 * extend.py, FormatParagraph.py:
241 Add new extension to reformat a (text) paragraph.
243 * ZoomHeight.py: Typo in Win specific height setting.
245 Sun Jan 3 00:47:35 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
247 * AutoIndent.py: Added something like Tim Peters' backspace patch.
249 * ZoomHeight.py: Adapted to Unix (i.e., more hardcoded constants).
251 Sat Jan 2 21:28:54 1999 Guido van Rossum <guido@eric.cnri.reston.va.us>
253 * 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:
254 Checking in IDLE 0.2.
256 Much has changed -- too much, in fact, to write down.
257 The big news is that there's a standard way to write IDLE extensions;
258 see extend.txt. Some sample extensions have been provided, and
259 some existing code has been converted to extensions. Probably the
260 biggest new user feature is a new search dialog with more options,
261 search and replace, and even search in files (grep).
263 This is exactly as downloaded from my laptop after returning
264 from the holidays -- it hasn't even been tested on Unix yet.
266 Fri Dec 18 15:52:54 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
268 * FileList.py, ClassBrowser.py:
269 Fix the class browser to work even when the file is not on sys.path.
271 Tue Dec 8 20:39:36 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
273 * Attic/turtle.py: Moved to Python 1.5.2/Lib
275 Fri Nov 27 03:19:20 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
279 * EditorWindow.py, FileList.py: Support underlining of menu labels
282 New approach, separate tables for menus (platform-independent) and key
283 definitions (platform-specific), and generating accelerator strings
284 automatically from the key definitions.
286 Mon Nov 16 18:37:42 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
288 * Attic/README: Clarify portability and main program.
290 * Attic/README: Added intro for 0.1 release and append Grail notes.
292 Mon Oct 26 18:49:00 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
294 * Attic/turtle.py: root is now a global called _root
296 Sat Oct 24 16:38:38 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
298 * Attic/turtle.py: Raise the root window on reset().
299 Different action on WM_DELETE_WINDOW is more likely to do the right thing,
300 allowing us to destroy old windows.
303 Split the goto() function in two: _goto() is the internal one,
304 using Canvas coordinates, and goto() uses turtle coordinates
305 and accepts variable argument lists.
307 * Attic/turtle.py: Cope with destruction of the window
309 * Attic/turtle.py: Turtle graphics
311 * Debugger.py: Use of Breakpoint class should be bdb.Breakpoint.
313 Mon Oct 19 03:33:40 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
316 Speed up the search a bit -- don't drag a mark around...
319 Change our special entries from <console#N> to <pyshell#N>.
320 Patch linecache.checkcache() to keep our special entries alive.
321 Add popup menu to all editor windows to set a breakpoint.
324 Use and pass through the 'force' flag to set_dict() where appropriate.
325 Default source and globals checkboxes to false.
326 Don't interact in user_return().
327 Add primitive set_breakpoint() method.
330 Raise priority of 'sel' tag so its foreground (on Windows) will take
331 priority over text colorization (which on Windows is almost the
332 same color as the selection background).
334 Define a tag and color for breakpoints ("BREAK").
336 * Attic/PopupMenu.py: Disable "Open stack viewer" and "help" commands.
339 Add optional 'force' argument (default 0) to load_dict().
340 If set, redo the display even if it's the same dict.
342 Fri Oct 16 21:10:12 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
344 * StackViewer.py: Do nothing when loading the same dict as before.
346 * PyShell.py: Details for debugger interface.
349 Restructured and more consistent. Save checkboxes across instantiations.
351 * EditorWindow.py, Attic/README, Bindings.py:
352 Get rid of conflicting ^X binding. Use ^W.
354 * Debugger.py, StackViewer.py:
355 Debugger can now show local and global variables.
359 * Debugger.py, PyShell.py: Better debugger support (show stack etc).
361 * Attic/PopupMenu.py: Follow renames in StackViewer module
364 Rename classes to StackViewer (the widget) and StackBrowser (the toplevel).
366 * ScrolledList.py: Add close() method
368 * EditorWindow.py: Clarify 'Open Module' dialog text
370 * StackViewer.py: Restructured into a browser and a widget.
372 Thu Oct 15 23:27:08 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
374 * ClassBrowser.py, ScrolledList.py:
375 Generalized the scrolled list which is the base for the class and
376 method browser into a separate class in its own module.
378 * Attic/test.py: Cosmetic change
380 * Debugger.py: Don't show function name if there is none
382 Wed Oct 14 03:43:05 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
384 * Debugger.py, PyShell.py: Polish the Debugger GUI a bit.
385 Closing it now also does the right thing.
387 Tue Oct 13 23:51:13 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
389 * Debugger.py, PyShell.py, Bindings.py:
390 Ad primitive debugger interface (so far it will step and show you the
391 source, but it doesn't yet show the stack).
395 * StackViewer.py: Whoops -- referenced self.top before it was set.
397 * help.txt: Added history and completion commands.
401 * FileList.py: Add class browser functionality.
404 Add a close() method and bind to WM_DELETE_WINDOW protocol
406 * PyShell.py: Clear the linecache before printing a traceback
408 * Bindings.py: Added class browser binding.
410 * ClassBrowser.py: Much improved, much left to do.
412 * PyShell.py: Make the return key do what I mean more often.
415 Adding the beginnings of a Class browser. Incomplete, yet.
417 * EditorWindow.py, Bindings.py:
418 Add new command, "Open module". You select or type a module name,
419 and it opens the source.
421 Mon Oct 12 23:59:27 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
423 * PyShell.py: Subsume functionality from Popup menu in Debug menu.
424 Other stuff so the PyShell window can be resurrected from the Windows menu.
426 * FileList.py: Get rid of PopUp menu.
427 Create a simple Windows menu. (Imperfect when Untitled windows exist.)
428 Add wakeup() method: deiconify, raise, focus.
430 * EditorWindow.py: Generalize menu creation.
432 * Bindings.py: Add Debug and Help menu items.
434 * EditorWindow.py: Added a menu bar to every window.
436 * Bindings.py: Add menu configuration to the event configuration.
438 * Attic/PopupMenu.py: Pass a root to the help window.
441 Add parent argument to 'to to line number' dialog box.
443 Sat Oct 10 19:15:32 1998 Guido van Rossum <guido@eric.cnri.reston.va.us>
446 Add a label at the top showing (very basic) help for the stack viewer.
447 Add a label at the bottom showing the exception info.
449 * Attic/test.py, Attic/idle: Add Unix main script and test program.
451 * 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:
452 Initial checking of Tk-based Python IDE.
453 Features: text editor with syntax coloring and undo;
454 subclassed into interactive Python shell which adds history.