~ubuntu-branches/ubuntu/karmic/pypy/karmic

« back to all changes in this revision

Viewing changes to lib-python/2.4.1/idlelib/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Alexandre Fayolle
  • Date: 2007-04-13 09:33:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070413093309-yoojh4jcoocu2krz
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Please refer to the IDLEfork and IDLE CVS repositories for
 
2
change details subsequent to the 0.8.1 release.
 
3
 
 
4
 
 
5
IDLEfork ChangeLog
 
6
==================
 
7
 
 
8
2001-07-20 11:35  elguavas
 
9
 
 
10
        * README.txt, NEWS.txt: bring up to date for 0.8.1 release
 
11
 
 
12
2001-07-19 16:40  elguavas
 
13
 
 
14
        * IDLEFORK.html: replaced by IDLEFORK-index.html
 
15
 
 
16
2001-07-19 16:39  elguavas
 
17
 
 
18
        * IDLEFORK-index.html: updated placeholder idlefork homepage
 
19
 
 
20
2001-07-19 14:49  elguavas
 
21
 
 
22
        * ChangeLog, EditorWindow.py, INSTALLATION, NEWS.txt, README.txt,
 
23
        TODO.txt, idlever.py: 
 
24
        minor tidy-ups ready for 0.8.1 alpha tarball release
 
25
 
 
26
2001-07-17 15:12  kbk
 
27
 
 
28
        * INSTALLATION, setup.py: INSTALLATION: Remove the coexist.patch
 
29
        instructions
 
30
        
 
31
        **************** setup.py:
 
32
        
 
33
        Remove the idles script, add some words on IDLE Fork to the
 
34
        long_description, and clean up some line spacing.
 
35
 
 
36
2001-07-17 15:01  kbk
 
37
 
 
38
        * coexist.patch: Put this in the attic, at least for now...
 
39
 
 
40
2001-07-17 14:59  kbk
 
41
 
 
42
        * PyShell.py, idle, idles: Implement idle command interface as
 
43
        suggested by GvR [idle-dev] 16 July **************** PyShell: Added
 
44
        functionality:
 
45
        
 
46
        usage: idle.py [-c command] [-d] [-i] [-r script] [-s] [-t title]
 
47
        [arg] ...
 
48
        
 
49
        idle file(s)    (without options) edit the file(s)
 
50
        
 
51
        -c cmd     run the command in a shell -d         enable the
 
52
        debugger -i         open an interactive shell -i file(s) open a
 
53
        shell and also an editor window for each file -r script  run a file
 
54
        as a script in a shell -s         run $IDLESTARTUP or
 
55
        $PYTHONSTARTUP before anything else -t title   set title of shell
 
56
        window
 
57
        
 
58
        Remaining arguments are applied to the command (-c) or script (-r).
 
59
        
 
60
        ****************** idles: Removed the idles script, not needed
 
61
        
 
62
        ****************** idle:  Removed the IdleConf references, not
 
63
        required anymore
 
64
 
 
65
2001-07-16 17:08  kbk
 
66
 
 
67
        * INSTALLATION, coexist.patch: Added installation instructions.
 
68
        
 
69
        Added a patch which modifies idlefork so that it can co-exist with
 
70
        "official" IDLE in the site-packages directory. This patch is not
 
71
        necessary if only idlefork IDLE is installed. See INSTALLATION for
 
72
        further details.
 
73
 
 
74
2001-07-16 15:50  kbk
 
75
 
 
76
        * idles: Add a script "idles" which opens a Python Shell window.
 
77
        
 
78
        The default behaviour of idlefork idle is to open an editor window
 
79
        instead of a shell. Complex expressions may be run in a fresh
 
80
        environment by selecting "run".  There are times, however, when a
 
81
        shell is desired.  Though one can be started by "idle -t 'foo'",
 
82
        this script is more convenient.  In addition, a shell and an editor
 
83
        window can be started in parallel by "idles -e foo.py".
 
84
 
 
85
2001-07-16 15:25  kbk
 
86
 
 
87
        * PyShell.py: Call out IDLE Fork in startup message.
 
88
 
 
89
2001-07-16 14:00  kbk
 
90
 
 
91
        * PyShell.py, setup.py: Add a script "idles" which opens a Python
 
92
        Shell window.
 
93
        
 
94
        The default behaviour of idlefork idle is to open an editor window
 
95
        instead of a shell. Complex expressions may be run in a fresh
 
96
        environment by selecting "run".  There are times, however, when a
 
97
        shell is desired.  Though one can be started by "idle -t 'foo'",
 
98
        this script is more convenient.  In addition, a shell and an editor
 
99
        window can be started in parallel by "idles -e foo.py".
 
100
 
 
101
2001-07-15 03:06  kbk
 
102
 
 
103
        * pyclbr.py, tabnanny.py: tabnanny and pyclbr are now found in /Lib
 
104
 
 
105
2001-07-15 02:29  kbk
 
106
 
 
107
        * BrowserControl.py: Remove, was retained for 1.5.2 support
 
108
 
 
109
2001-07-14 15:48  kbk
 
110
 
 
111
        * setup.py: Installing Idle to site-packages via Distutils does not
 
112
        copy the Idle help.txt file.
 
113
        
 
114
        Ref SF Python Patch 422471
 
115
 
 
116
2001-07-14 15:26  kbk
 
117
 
 
118
        * keydefs.py: py-cvs-2001_07_13 (Rev 1.3) merge
 
119
        
 
120
        "Make copy, cut and paste events case insensitive.  Reported by
 
121
        Patrick K. O'Brien on idle-dev. (Should other bindings follow
 
122
        suit?)" --GvR
 
123
 
 
124
2001-07-14 15:21  kbk
 
125
 
 
126
        * idle.py: py-cvs-2001_07_13 (Rev 1.4) merge
 
127
        
 
128
        "Move the action of loading the configuration to the IdleConf
 
129
        module rather than the idle.py script.  This has advantages and
 
130
        disadvantages; the biggest advantage being that we can more easily
 
131
        have an alternative main program."  --GvR
 
132
 
 
133
2001-07-14 15:18  kbk
 
134
 
 
135
        * extend.txt: py-cvs-2001_07_13 (Rev 1.4) merge
 
136
        
 
137
        "Quick update to the extension mechanism (extend.py is gone, long
 
138
        live config.txt)" --GvR
 
139
 
 
140
2001-07-14 15:15  kbk
 
141
 
 
142
        * StackViewer.py: py-cvs-2001_07_13 (Rev 1.16) merge
 
143
        
 
144
        "Refactored, with some future plans in mind. This now uses the new
 
145
        gotofileline() method defined in FileList.py"  --GvR
 
146
 
 
147
2001-07-14 15:10  kbk
 
148
 
 
149
        * PyShell.py: py-cvs-2001_07_13 (Rev 1.34) merge
 
150
        
 
151
        "Amazing.  A very subtle change in policy in descr-branch actually
 
152
        found a bug here.  Here's the deal: Class PyShell derives from
 
153
        class OutputWindow.  Method PyShell.close() wants to invoke its
 
154
        parent method, but because PyShell long ago was inherited from
 
155
        class PyShellEditorWindow, it invokes
 
156
        PyShelEditorWindow.close(self).  Now, class PyShellEditorWindow
 
157
        itself derives from class OutputWindow, and inherits the close()
 
158
        method from there without overriding it.  Under the old rules,
 
159
        PyShellEditorWindow.close would return an unbound method restricted
 
160
        to the class that defined the implementation of close(), which was
 
161
        OutputWindow.close.  Under the new rules, the unbound method is
 
162
        restricted to the class whose method was requested, that is
 
163
        PyShellEditorWindow, and this was correctly trapped as an error."
 
164
        --GvR
 
165
 
 
166
2001-07-14 14:59  kbk
 
167
 
 
168
        * PyParse.py: py-cvs-2001_07_13 (Rel 1.9) merge
 
169
        
 
170
        "Taught IDLE's autoident parser that "yield" is a keyword that
 
171
        begins a stmt.  Along w/ the preceding change to keyword.py, making
 
172
        all this work w/ a future-stmt just looks harder and harder."
 
173
        --tim_one
 
174
        
 
175
        (From Rel 1.8: "Hack to make this still work with Python 1.5.2. 
 
176
        ;-( " --fdrake)
 
177
 
 
178
2001-07-14 14:51  kbk
 
179
 
 
180
        * IdleConf.py: py-cvs-2001_07_13 (Rel 1.7) merge
 
181
        
 
182
        "Move the action of loading the configuration to the IdleConf
 
183
        module rather than the idle.py script.  This has advantages and
 
184
        disadvantages; the biggest advantage being that we can more easily
 
185
        have an alternative main program." --GvR
 
186
 
 
187
2001-07-14 14:45  kbk
 
188
 
 
189
        * FileList.py: py-cvs-2000_07_13 (Rev 1.9) merge
 
190
        
 
191
        "Delete goodname() method, which is unused. Add gotofileline(), a
 
192
        convenience method which I intend to use in a variant. Rename
 
193
        test() to _test()."  --GvR
 
194
        
 
195
        This was an interesting merge. The join completely missed removing
 
196
        goodname(), which was adjacent, but outside of, a small conflict. 
 
197
        I only caught it by comparing the 1.1.3.2/1.1.3.3 diff.  CVS ain't
 
198
        infallible.
 
199
 
 
200
2001-07-14 13:58  kbk
 
201
 
 
202
        * EditorWindow.py: py-cvs-2000_07_13 (Rev 1.38) merge "Remove
 
203
        legacy support for the BrowserControl module; the webbrowser module
 
204
        has been included since Python 2.0, and that is the preferred
 
205
        interface." --fdrake
 
206
 
 
207
2001-07-14 13:32  kbk
 
208
 
 
209
        * EditorWindow.py, FileList.py, IdleConf.py, PyParse.py,
 
210
        PyShell.py, StackViewer.py, extend.txt, idle.py, keydefs.py: Import
 
211
        the 2001 July 13 23:59 GMT version of Python CVS IDLE on the
 
212
        existing 1.1.3 vendor branch named py-cvs-vendor-branch. Release
 
213
        tag is py-cvs-2001_07_13.
 
214
 
 
215
2001-07-14 12:02  kbk
 
216
 
 
217
        * Icons/python.gif: py-cvs-rel2_1 (Rev 1.2) merge Copied py-cvs rev
 
218
        1.2 changed file to idlefork MAIN
 
219
 
 
220
2001-07-14 11:58  kbk
 
221
 
 
222
        * Icons/minusnode.gif: py-cvs-rel2_1 (Rev 1.2) merge Copied py-cvs
 
223
        1.2 changed file to idlefork MAIN
 
224
 
 
225
2001-07-14 11:23  kbk
 
226
 
 
227
        * ScrolledList.py: py-cvs-rel2_1 (rev 1.5) merge - whitespace
 
228
        normalization
 
229
 
 
230
2001-07-14 11:20  kbk
 
231
 
 
232
        * Separator.py: py-cvs-rel2_1 (Rev 1.3) merge - whitespace
 
233
        normalization
 
234
 
 
235
2001-07-14 11:16  kbk
 
236
 
 
237
        * StackViewer.py: py-cvs-rel2_1 (Rev 1.15) merge - whitespace
 
238
        normalization
 
239
 
 
240
2001-07-14 11:14  kbk
 
241
 
 
242
        * ToolTip.py: py-cvs-rel2_1 (Rev 1.2) merge - whitespace
 
243
        normalization
 
244
 
 
245
2001-07-14 10:13  kbk
 
246
 
 
247
        * PyShell.py: cvs-py-rel2_1 (Rev 1.29 - 1.33) merge
 
248
        
 
249
        Merged the following py-cvs revs without conflict: 1.29 Reduce
 
250
        copyright text output at startup 1.30 Delay setting sys.args until
 
251
        Tkinter is fully initialized 1.31 Whitespace normalization 1.32
 
252
        Turn syntax warning into error when interactive 1.33 Fix warning
 
253
        initialization bug
 
254
        
 
255
        Note that module is extensively modified wrt py-cvs
 
256
 
 
257
2001-07-14 06:33  kbk
 
258
 
 
259
        * PyParse.py: py-cvs-rel2_1 (Rev 1.6 - 1.8) merge Fix autoindent
 
260
        bug and deflect Unicode from text.get()
 
261
 
 
262
2001-07-14 06:00  kbk
 
263
 
 
264
        * Percolator.py: py-cvs-rel2_1 (Rev 1.3) "move "from Tkinter import
 
265
        *" to module level" --jhylton
 
266
 
 
267
2001-07-14 05:57  kbk
 
268
 
 
269
        * PathBrowser.py: py-cvs-rel2_1 (Rev 1.6) merge - whitespace
 
270
        normalization
 
271
 
 
272
2001-07-14 05:49  kbk
 
273
 
 
274
        * ParenMatch.py: cvs-py-rel2_1 (Rev 1.5) merge - whitespace
 
275
        normalization
 
276
 
 
277
2001-07-14 03:57  kbk
 
278
 
 
279
        * ObjectBrowser.py: py-cvs-rel2_1 (Rev 1.3) merge "Make the test
 
280
        program work outside IDLE."  -- GvR
 
281
 
 
282
2001-07-14 03:52  kbk
 
283
 
 
284
        * MultiStatusBar.py: py-cvs-rel2_1 (Rev 1.2) merge - whitespace
 
285
        normalization
 
286
 
 
287
2001-07-14 03:44  kbk
 
288
 
 
289
        * MultiScrolledLists.py: py-cvs-rel2_1 (Rev 1.2) merge - whitespace
 
290
        normalization
 
291
 
 
292
2001-07-14 03:40  kbk
 
293
 
 
294
        * IdleHistory.py: py-cvs-rel2_1 (Rev 1.4) merge - whitespace
 
295
        normalization
 
296
 
 
297
2001-07-14 03:38  kbk
 
298
 
 
299
        * IdleConf.py: py-cvs-rel2_1 (Rev 1.6) merge - whitespace
 
300
        normalization
 
301
 
 
302
2001-07-13 14:18  kbk
 
303
 
 
304
        * IOBinding.py: py-cvs-rel2_1 (Rev 1.4) merge - move "import *" to
 
305
        module level
 
306
 
 
307
2001-07-13 14:12  kbk
 
308
 
 
309
        * FormatParagraph.py: py-cvs-rel2_1 (Rev 1.9) merge - whitespace
 
310
        normalization
 
311
 
 
312
2001-07-13 14:07  kbk
 
313
 
 
314
        * FileList.py: py-cvs-rel2_1 (Rev 1.8) merge - whitespace
 
315
        normalization
 
316
 
 
317
2001-07-13 13:35  kbk
 
318
 
 
319
        * EditorWindow.py: py-cvs-rel2_1 (Rev 1.33 - 1.37) merge
 
320
        
 
321
        VP IDLE version depended on VP's ExecBinding.py and spawn.py to get
 
322
        the path to the Windows Doc directory (relative to python.exe).
 
323
        Removed this conflicting code in favor of py-cvs updates which on
 
324
        Windows use a hard coded path relative to the location of this
 
325
        module. py-cvs updates include support for webbrowser.py.  Module
 
326
        still has BrowserControl.py for 1.5.2 support.
 
327
        
 
328
        At this point, the differences wrt py-cvs relate to menu
 
329
        functionality.
 
330
 
 
331
2001-07-13 11:30  kbk
 
332
 
 
333
        * ConfigParser.py: py-cvs-rel2_1 merge - Remove, lives in /Lib
 
334
 
 
335
2001-07-13 10:10  kbk
 
336
 
 
337
        * Delegator.py: py-cvs-rel2_1 (Rev 1.3) merge - whitespace
 
338
        normalization
 
339
 
 
340
2001-07-13 10:07  kbk
 
341
 
 
342
        * Debugger.py: py-cvs-rel2_1 (Rev 1.15) merge - whitespace
 
343
        normalization
 
344
 
 
345
2001-07-13 10:04  kbk
 
346
 
 
347
        * ColorDelegator.py: py-cvs-rel2_1 (Rev 1.11 and 1.12) merge
 
348
        Colorize "as" after "import" / use DEBUG instead of __debug__
 
349
 
 
350
2001-07-13 09:54  kbk
 
351
 
 
352
        * ClassBrowser.py: py-cvs-rel2_1 (Rev 1.12) merge - whitespace
 
353
        normalization
 
354
 
 
355
2001-07-13 09:41  kbk
 
356
 
 
357
        * BrowserControl.py: py-cvs-rel2_1 (Rev 1.1) merge - New File -
 
358
        Force HEAD to trunk with -f Note: browser.py was renamed
 
359
        BrowserControl.py 10 May 2000. It provides a collection of classes
 
360
        and convenience functions to control external browsers "for 1.5.2
 
361
        support". It was removed from py-cvs 18 April 2001.
 
362
 
 
363
2001-07-13 09:10  kbk
 
364
 
 
365
        * CallTips.py: py-cvs-rel2_1 (Rev 1.8) merge - whitespace
 
366
        normalization
 
367
 
 
368
2001-07-13 08:26  kbk
 
369
 
 
370
        * CallTipWindow.py: py-cvs-rel2_1 (Rev 1.3) merge - whitespace
 
371
        normalization
 
372
 
 
373
2001-07-13 08:13  kbk
 
374
 
 
375
        * AutoExpand.py: py-cvs-rel1_2 (Rev 1.4) merge, "Add Alt-slash to
 
376
        Unix keydefs (I somehow need it on RH 6.2).  Get rid of assignment
 
377
        to unused self.text.wordlist."  --GvR
 
378
 
 
379
2001-07-12 16:54  elguavas
 
380
 
 
381
        * ReplaceDialog.py: py-cvs merge, python 1.5.2 compatability
 
382
 
 
383
2001-07-12 16:46  elguavas
 
384
 
 
385
        * ScriptBinding.py: py-cvs merge, better error dialog
 
386
 
 
387
2001-07-12 16:38  elguavas
 
388
 
 
389
        * TODO.txt: py-cvs merge, additions
 
390
 
 
391
2001-07-12 15:35  elguavas
 
392
 
 
393
        * WindowList.py: py-cvs merge, correct indentation
 
394
 
 
395
2001-07-12 15:24  elguavas
 
396
 
 
397
        * config.txt: py-cvs merge, correct typo
 
398
 
 
399
2001-07-12 15:21  elguavas
 
400
 
 
401
        * help.txt: py-cvs merge, update colour changing info
 
402
 
 
403
2001-07-12 14:51  elguavas
 
404
 
 
405
        * idle.py: py-cvs merge, idle_dir loading changed
 
406
 
 
407
2001-07-12 14:44  elguavas
 
408
 
 
409
        * idlever.py: py-cvs merge, version update
 
410
 
 
411
2001-07-11 12:53  kbk
 
412
 
 
413
        * BrowserControl.py: Initial revision
 
414
 
 
415
2001-07-11 12:53  kbk
 
416
 
 
417
        * AutoExpand.py, BrowserControl.py, CallTipWindow.py, CallTips.py,
 
418
        ClassBrowser.py, ColorDelegator.py, Debugger.py, Delegator.py,
 
419
        EditorWindow.py, FileList.py, FormatParagraph.py, IOBinding.py,
 
420
        IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
 
421
        MultiStatusBar.py, ObjectBrowser.py, OutputWindow.py,
 
422
        ParenMatch.py, PathBrowser.py, Percolator.py, PyParse.py,
 
423
        PyShell.py, RemoteInterp.py, ReplaceDialog.py, ScriptBinding.py,
 
424
        ScrolledList.py, Separator.py, StackViewer.py, TODO.txt,
 
425
        ToolTip.py, WindowList.py, config.txt, help.txt, idle, idle.bat,
 
426
        idle.py, idlever.py, setup.py, Icons/minusnode.gif,
 
427
        Icons/python.gif: Import the release 2.1 version of Python CVS IDLE
 
428
        on the existing 1.1.3 vendor branch named py-cvs-vendor-branch,
 
429
        with release tag py-cvs-rel2_1.
 
430
 
 
431
2001-07-11 12:34  kbk
 
432
 
 
433
        * AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
 
434
        CallTips.py, ChangeLog, ClassBrowser.py, ColorDelegator.py,
 
435
        Debugger.py, Delegator.py, EditorWindow.py, FileList.py,
 
436
        FormatParagraph.py, FrameViewer.py, GrepDialog.py, IOBinding.py,
 
437
        IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
 
438
        MultiStatusBar.py, NEWS.txt, ObjectBrowser.py, OldStackViewer.py,
 
439
        OutputWindow.py, ParenMatch.py, PathBrowser.py, Percolator.py,
 
440
        PyParse.py, PyShell.py, README.txt, RemoteInterp.py,
 
441
        ReplaceDialog.py, ScriptBinding.py, ScrolledList.py,
 
442
        SearchBinding.py, SearchDialog.py, SearchDialogBase.py,
 
443
        SearchEngine.py, Separator.py, StackViewer.py, TODO.txt,
 
444
        ToolTip.py, TreeWidget.py, UndoDelegator.py, WidgetRedirector.py,
 
445
        WindowList.py, ZoomHeight.py, __init__.py, config-unix.txt,
 
446
        config-win.txt, config.txt, eventparse.py, extend.txt, help.txt,
 
447
        idle.bat, idle.py, idle.pyw, idlever.py, keydefs.py, pyclbr.py,
 
448
        tabnanny.py, testcode.py, Icons/folder.gif, Icons/minusnode.gif,
 
449
        Icons/openfolder.gif, Icons/plusnode.gif, Icons/python.gif,
 
450
        Icons/tk.gif: Import the 9 March 2000 version of Python CVS IDLE as
 
451
        1.1.3 vendor branch named py-cvs-vendor-branch.
 
452
 
 
453
2001-07-04 13:43  kbk
 
454
 
 
455
        * Icons/: folder.gif, minusnode.gif, openfolder.gif, plusnode.gif,
 
456
        python.gif, tk.gif: Null commit with -f option to force an uprev
 
457
        and put HEADs firmly on the trunk.
 
458
 
 
459
2001-07-04 13:15  kbk
 
460
 
 
461
        * AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
 
462
        CallTips.py, ChangeLog, ClassBrowser.py, ColorDelegator.py,
 
463
        ConfigParser.py, Debugger.py, Delegator.py, EditorWindow.py,
 
464
        ExecBinding.py, FileList.py, FormatParagraph.py, FrameViewer.py,
 
465
        GrepDialog.py, IDLEFORK.html, IOBinding.py, IdleConf.py,
 
466
        IdleHistory.py, MultiScrolledLists.py, MultiStatusBar.py, NEWS.txt,
 
467
        ObjectBrowser.py, OldStackViewer.py, OutputWindow.py,
 
468
        ParenMatch.py, PathBrowser.py, Percolator.py, PyParse.py,
 
469
        PyShell.py, README.txt, Remote.py, RemoteInterp.py,
 
470
        ReplaceDialog.py, ScriptBinding.py, ScrolledList.py,
 
471
        SearchBinding.py, SearchDialog.py, SearchDialogBase.py,
 
472
        SearchEngine.py, Separator.py, StackViewer.py, TODO.txt,
 
473
        ToolTip.py, TreeWidget.py, UndoDelegator.py, WidgetRedirector.py,
 
474
        WindowList.py, ZoomHeight.py, __init__.py, config-unix.txt,
 
475
        config-win.txt, config.txt, eventparse.py, extend.txt, help.txt,
 
476
        idle, idle.bat, idle.py, idle.pyw, idlever.py, keydefs.py,
 
477
        loader.py, protocol.py, pyclbr.py, setup.py, spawn.py, tabnanny.py,
 
478
        testcode.py: Null commit with -f option to force an uprev and put
 
479
        HEADs firmly on the trunk.
 
480
 
 
481
2001-06-27 10:24  elguavas
 
482
 
 
483
        * IDLEFORK.html: updated contact details
 
484
 
 
485
2001-06-25 17:23  elguavas
 
486
 
 
487
        * idle, RemoteInterp.py, setup.py: Initial revision
 
488
 
 
489
2001-06-25 17:23  elguavas
 
490
 
 
491
        * idle, RemoteInterp.py, setup.py: import current python cvs idle
 
492
        as a vendor branch
 
493
 
 
494
2001-06-24 15:10  elguavas
 
495
 
 
496
        * IDLEFORK.html: tiny change to test new syncmail setup
 
497
 
 
498
2001-06-24 14:41  elguavas
 
499
 
 
500
        * IDLEFORK.html: change to new developer contact, also a test
 
501
        commit for new syncmail setup
 
502
 
 
503
2001-06-23 18:15  elguavas
 
504
 
 
505
        * IDLEFORK.html: tiny test update for revitalised idle-fork
 
506
 
 
507
2000-09-24 17:29  nriley
 
508
 
 
509
        * protocol.py: Fixes for Python 1.6 compatibility - socket bind and
 
510
        connect get a tuple instead two arguments.
 
511
 
 
512
2000-09-24 17:28  nriley
 
513
 
 
514
        * spawn.py: Change for Python 1.6 compatibility - UNIX's 'os'
 
515
        module defines 'spawnv' now, so we check for 'fork' first.
 
516
 
 
517
2000-08-15 22:51  nowonder
 
518
 
 
519
        * IDLEFORK.html: 
 
520
        corrected email address
 
521
 
 
522
2000-08-15 22:47  nowonder
 
523
 
 
524
        * IDLEFORK.html: 
 
525
        added .html file for http://idlefork.sourceforge.net
 
526
 
 
527
2000-08-15 11:13  dscherer
 
528
 
 
529
        * AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
 
530
        CallTips.py, __init__.py, ChangeLog, ClassBrowser.py,
 
531
        ColorDelegator.py, ConfigParser.py, Debugger.py, Delegator.py,
 
532
        FileList.py, FormatParagraph.py, FrameViewer.py, GrepDialog.py,
 
533
        IOBinding.py, IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
 
534
        MultiStatusBar.py, NEWS.txt, ObjectBrowser.py, OldStackViewer.py,
 
535
        OutputWindow.py, ParenMatch.py, PathBrowser.py, Percolator.py,
 
536
        PyParse.py, PyShell.py, README.txt, ReplaceDialog.py,
 
537
        ScriptBinding.py, ScrolledList.py, SearchBinding.py,
 
538
        SearchDialog.py, SearchDialogBase.py, SearchEngine.py,
 
539
        Separator.py, StackViewer.py, TODO.txt, ToolTip.py, TreeWidget.py,
 
540
        UndoDelegator.py, WidgetRedirector.py, WindowList.py, help.txt,
 
541
        ZoomHeight.py, config-unix.txt, config-win.txt, config.txt,
 
542
        eventparse.py, extend.txt, idle.bat, idle.py, idle.pyw, idlever.py,
 
543
        keydefs.py, loader.py, pyclbr.py, tabnanny.py, testcode.py,
 
544
        EditorWindow.py, ExecBinding.py, Remote.py, protocol.py, spawn.py,
 
545
        Icons/folder.gif, Icons/minusnode.gif, Icons/openfolder.gif,
 
546
        Icons/plusnode.gif, Icons/python.gif, Icons/tk.gif: Initial
 
547
        revision
 
548
 
 
549
2000-08-15 11:13  dscherer
 
550
 
 
551
        * AutoExpand.py, AutoIndent.py, Bindings.py, CallTipWindow.py,
 
552
        CallTips.py, __init__.py, ChangeLog, ClassBrowser.py,
 
553
        ColorDelegator.py, ConfigParser.py, Debugger.py, Delegator.py,
 
554
        FileList.py, FormatParagraph.py, FrameViewer.py, GrepDialog.py,
 
555
        IOBinding.py, IdleConf.py, IdleHistory.py, MultiScrolledLists.py,
 
556
        MultiStatusBar.py, NEWS.txt, ObjectBrowser.py, OldStackViewer.py,
 
557
        OutputWindow.py, ParenMatch.py, PathBrowser.py, Percolator.py,
 
558
        PyParse.py, PyShell.py, README.txt, ReplaceDialog.py,
 
559
        ScriptBinding.py, ScrolledList.py, SearchBinding.py,
 
560
        SearchDialog.py, SearchDialogBase.py, SearchEngine.py,
 
561
        Separator.py, StackViewer.py, TODO.txt, ToolTip.py, TreeWidget.py,
 
562
        UndoDelegator.py, WidgetRedirector.py, WindowList.py, help.txt,
 
563
        ZoomHeight.py, config-unix.txt, config-win.txt, config.txt,
 
564
        eventparse.py, extend.txt, idle.bat, idle.py, idle.pyw, idlever.py,
 
565
        keydefs.py, loader.py, pyclbr.py, tabnanny.py, testcode.py,
 
566
        EditorWindow.py, ExecBinding.py, Remote.py, protocol.py, spawn.py,
 
567
        Icons/folder.gif, Icons/minusnode.gif, Icons/openfolder.gif,
 
568
        Icons/plusnode.gif, Icons/python.gif, Icons/tk.gif: Modified IDLE
 
569
        from VPython 0.2
 
570
 
 
571
 
 
572
original IDLE ChangeLog:
 
573
========================
 
574
 
 
575
Tue Feb 15 18:08:19 2000  Guido van Rossum  <guido@cnri.reston.va.us>
 
576
 
 
577
        * NEWS.txt: Notice status bar and stack viewer.
 
578
 
 
579
        * EditorWindow.py: Support for Moshe's status bar.
 
580
 
 
581
        * MultiStatusBar.py: Status bar code -- by Moshe Zadka.
 
582
 
 
583
        * OldStackViewer.py:
 
584
        Adding the old stack viewer implementation back, for the debugger.
 
585
 
 
586
        * StackViewer.py: New stack viewer, uses a tree widget.
 
587
        (XXX: the debugger doesn't yet use this.)
 
588
 
 
589
        * WindowList.py:
 
590
        Correct a typo and remove an unqualified except that was hiding the error.
 
591
 
 
592
        * ClassBrowser.py: Add an XXX comment about the ClassBrowser AIP.
 
593
 
 
594
        * ChangeLog: Updated change log.
 
595
 
 
596
        * NEWS.txt: News update.  Probably incomplete; what else is new?
 
597
 
 
598
        * README.txt:
 
599
        Updated for pending IDLE 0.5 release (still very rough -- just getting
 
600
        it out in a more convenient format than CVS).
 
601
 
 
602
        * TODO.txt: Tiny addition.
 
603
 
 
604
Thu Sep  9 14:16:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
605
 
 
606
        * TODO.txt: A few new TODO entries.
 
607
 
 
608
Thu Aug 26 23:06:22 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
609
 
 
610
        * Bindings.py: Add Python Documentation entry to Help menu.
 
611
 
 
612
        * EditorWindow.py:
 
613
        Find the help.txt file relative to __file__ or ".", not in sys.path.
 
614
        (Suggested by Moshe Zadka, but implemented differently.)
 
615
 
 
616
        Add <<python-docs>> event which, on Unix, brings up Netscape pointing
 
617
        to http://www.python.doc/current/ (a local copy would be nice but its
 
618
        location can't be predicted).  Windows solution TBD.
 
619
 
 
620
Wed Aug 11 14:55:43 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
621
 
 
622
        * TreeWidget.py:
 
623
        Moshe noticed an inconsistency in his comment, so I'm rephrasing it to
 
624
        be clearer.
 
625
 
 
626
        * TreeWidget.py:
 
627
        Patch inspired by Moshe Zadka to search for the Icons directory in the
 
628
        same directory as __file__, rather than searching for it along sys.path.
 
629
        This works better when idle is a package.
 
630
 
 
631
Thu Jul 15 13:11:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
632
 
 
633
        * TODO.txt: New wishes.
 
634
 
 
635
Sat Jul 10 13:17:35 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
636
 
 
637
        * IdlePrefs.py:
 
638
        Make the color for stderr red (i.e. the standard warning/danger/stop
 
639
        color) rather than green.  Suggested by Sam Schulenburg.
 
640
 
 
641
Fri Jun 25 17:26:34 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
642
 
 
643
        * PyShell.py: Close debugger when closing.  This may break a cycle.
 
644
 
 
645
        * Debugger.py: Break cycle on close.
 
646
 
 
647
        * ClassBrowser.py: Destroy the tree when closing.
 
648
 
 
649
        * TreeWidget.py: Add destroy() method to recursively destroy a tree.
 
650
 
 
651
        * PyShell.py: Extend _close() to break cycles.
 
652
        Break some other cycles too (and destroy the root when done).
 
653
 
 
654
        * EditorWindow.py:
 
655
        Add _close() method that does the actual cleanup (close() asks the
 
656
        user what they want first if there's unsaved stuff, and may cancel).
 
657
        It closes more than before.
 
658
 
 
659
        Add unload_extensions() method to unload all extensions; called from
 
660
        _close().  It calls an extension's close() method if it has one.
 
661
 
 
662
        * Percolator.py: Add close() method that breaks cycles.
 
663
 
 
664
        * WidgetRedirector.py: Add unregister() method.
 
665
        Unregister everything at closing.
 
666
        Don't call close() in __del__, rely on explicit call to close().
 
667
 
 
668
        * IOBinding.py, FormatParagraph.py, CallTips.py:
 
669
        Add close() method that breaks a cycle.
 
670
 
 
671
Fri Jun 11 15:03:00 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
672
 
 
673
        * AutoIndent.py, EditorWindow.py, FormatParagraph.py:
 
674
        Tim Peters smart.patch:
 
675
 
 
676
        EditorWindow.py:
 
677
 
 
678
        + Added get_tabwidth & set_tabwidth "virtual text" methods, that get/set the
 
679
        widget's view of what a tab means.
 
680
 
 
681
        + Moved TK_TABWIDTH_DEFAULT here from AutoIndent.
 
682
 
 
683
        + Renamed Mark's get_selection_index to get_selection_indices (sorry, Mark,
 
684
        but the name was plain wrong <wink>).
 
685
 
 
686
        FormatParagraph.py:  renamed use of get_selection_index.
 
687
 
 
688
        AutoIndent.py:
 
689
 
 
690
        + Moved TK_TABWIDTH_DEFAULT to EditorWindow.
 
691
 
 
692
        + Rewrote set_indentation_params to use new VTW get/set_tabwidth methods.
 
693
 
 
694
        + Changed smart_backspace_event to delete whitespace back to closest
 
695
        preceding virtual tab stop or real character (note that this may require
 
696
        inserting characters if backspacing over a tab!).
 
697
 
 
698
        + Nuked almost references to the selection tag, in favor of using
 
699
        get_selection_indices.  The sole exception is in set_region, for which no
 
700
        "set_selection" abstraction has yet been agreed upon.
 
701
 
 
702
        + Had too much fun using the spiffy new features of the format-paragraph
 
703
        cmd.
 
704
 
 
705
Thu Jun 10 17:48:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
706
 
 
707
        * FormatParagraph.py:
 
708
        Code by Mark Hammond to format paragraphs embedded in comments.
 
709
        Read the comments (which I reformatted using the new feature :-)
 
710
        for some limitations.
 
711
 
 
712
        * EditorWindow.py:
 
713
        Added abstraction get_selection_index() (Mark Hammond).  Also
 
714
        reformatted some comment blocks to show off a cool feature I'm about
 
715
        to check in next.
 
716
 
 
717
        * ClassBrowser.py:
 
718
        Adapt to the new pyclbr's support of listing top-level functions.  If
 
719
        this functionality is not present (e.g. when used with a vintage
 
720
        Python 1.5.2 installation) top-level functions are not listed.
 
721
 
 
722
        (Hmm...  Any distribution of IDLE 0.5 should probably include a copy
 
723
        of the new pyclbr.py!)
 
724
 
 
725
        * AutoIndent.py:
 
726
        Fix off-by-one error in Tim's recent change to comment_region(): the
 
727
        list of lines returned by get_region() contains an empty line at the
 
728
        end representing the start of the next line, and this shouldn't be
 
729
        commented out!
 
730
 
 
731
        * CallTips.py:
 
732
        Mark Hammond writes: Here is another change that allows it to work for
 
733
        class creation - tries to locate an __init__ function.  Also updated
 
734
        the test code to reflect your new "***" change.
 
735
 
 
736
        * CallTipWindow.py:
 
737
        Mark Hammond writes: Tim's suggestion of copying the font for the
 
738
        CallTipWindow from the text control makes sense, and actually makes
 
739
        the control look better IMO.
 
740
 
 
741
Wed Jun  9 20:34:57 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
742
 
 
743
        * CallTips.py:
 
744
        Append "..." if the appropriate flag (for varargs) in co_flags is set.
 
745
        Ditto "***" for kwargs.
 
746
 
 
747
Tue Jun  8 13:06:07 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
748
 
 
749
        * ReplaceDialog.py:
 
750
        Hmm...  Tim didn't turn "replace all" into a single undo block.
 
751
        I think I like it better if it os, so here.
 
752
 
 
753
        * ReplaceDialog.py: Tim Peters: made replacement atomic for undo/redo.
 
754
 
 
755
        * AutoIndent.py: Tim Peters:
 
756
 
 
757
        + Set usetabs=1.  Editing pyclbr.py was driving me nuts <0.6 wink>.
 
758
        usetabs=1 is the Emacs pymode default too, and thanks to indentwidth !=
 
759
        tabwidth magical usetabs disabling, new files are still created with tabs
 
760
        turned off.  The only implication is that if you open a file whose first
 
761
        indent is a single tab, IDLE will now magically use tabs for that file (and
 
762
        set indentwidth to 8).  Note that the whole scheme doesn't work right for
 
763
        PythonWin, though, since Windows users typically set tabwidth to 4; Mark
 
764
        probably has to hide the IDLE algorithm from them (which he already knows).
 
765
 
 
766
        + Changed comment_region_event to stick "##" in front of every line.  The
 
767
        "holes" previously left on blank lines were visually confusing (made it
 
768
        needlessly hard to figure out what to uncomment later).
 
769
 
 
770
Mon Jun  7 15:38:40 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
771
 
 
772
        * TreeWidget.py, ObjectBrowser.py:
 
773
        Remove unnecessary reference to pyclbr from test() code.
 
774
 
 
775
        * PyParse.py: Tim Peters:
 
776
 
 
777
        Smarter logic for finding a parse synch point.
 
778
 
 
779
        Does a half to a fifth the work in normal cases; don't notice the speedup,
 
780
        but makes  more breathing room for other extensions.
 
781
 
 
782
        Speeds terrible cases by at least a factor of 10. "Terrible" == e.g. you put
 
783
        """ at the start of Tkinter.py, undo it, zoom to the bottom, and start
 
784
        typing in code.  Used to take about 8 seconds for ENTER to respond, now some
 
785
        large fraction of a second.  The new code gets indented correctly, despite
 
786
        that it all remains "string colored" until the colorizer catches up (after
 
787
        which, ENTER appears instantaneous again).
 
788
 
 
789
Fri Jun  4 19:21:19 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
790
 
 
791
        * extend.py: Might as well enable CallTips by default.
 
792
        If there are too many complaints I'll remove it again or fix it.
 
793
 
 
794
Thu Jun  3 14:32:16 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
795
 
 
796
        * AutoIndent.py, EditorWindow.py, PyParse.py:
 
797
        New offerings by Tim Peters; he writes:
 
798
 
 
799
        IDLE is now the first Python editor in the Universe not confused by my
 
800
        doctest.py <wink>.
 
801
 
 
802
        As threatened, this defines IDLE's is_char_in_string function as a
 
803
        method of EditorWindow.  You just need to define one similarly in
 
804
        whatever it is you pass as editwin to AutoIndent; looking at the
 
805
        EditorWindow.py part of the patch should make this clear.
 
806
 
 
807
        * GrepDialog.py: Enclose pattern in quotes in status message.
 
808
 
 
809
        * CallTips.py:
 
810
        Mark Hammond fixed some comments and improved the way the tip text is
 
811
        constructed.
 
812
 
 
813
Wed Jun  2 18:18:57 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
814
 
 
815
        * CallTips.py:
 
816
        My fix to Mark's code: restore the universal check on <KeyRelease>.
 
817
        Always cancel on <Key-Escape> or <ButtonPress>.
 
818
 
 
819
        * CallTips.py:
 
820
        A version that Mark Hammond posted to the newsgroup.  Has some newer
 
821
        stuff for getting the tip.  Had to fix the Key-( and Key-) events
 
822
        for Unix.  Will have to re-apply my patch for catching KeyRelease and
 
823
        ButtonRelease events.
 
824
 
 
825
        * CallTipWindow.py, CallTips.py:
 
826
        Call tips by Mark Hammond (plus tiny fix by me.)
 
827
 
 
828
        * IdleHistory.py:
 
829
        Changes by Mark Hammond: (1) support optional output_sep argument to
 
830
        the constructor so he can eliminate the sys.ps2 that PythonWin leaves
 
831
        in the source; (2) remove duplicate history items.
 
832
 
 
833
        * AutoIndent.py:
 
834
        Changes by Mark Hammond to allow using IDLE extensions in PythonWin as
 
835
        well: make three dialog routines instance variables.
 
836
 
 
837
        * EditorWindow.py:
 
838
        Change by Mark Hammond to allow using IDLE extensions in PythonWin as
 
839
        well: make three dialog routines instance variables.
 
840
 
 
841
Tue Jun  1 20:06:44 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
842
 
 
843
        * AutoIndent.py: Hah!  A fix of my own to Tim's code!
 
844
        Unix bindings for <<toggle-tabs>> and <<change-indentwidth>> were
 
845
        missing, and somehow that meant the events were never generated,
 
846
        even though they were in the menu.  The new Unix bindings are now
 
847
        the same as the Windows bindings (M-t and M-u).
 
848
 
 
849
        * AutoIndent.py, PyParse.py, PyShell.py: Tim Peters again:
 
850
 
 
851
        The new version (attached) is fast enough all the time in every real module
 
852
        I have <whew!>.  You can make it slow by, e.g., creating an open list with
 
853
        5,000 90-character identifiers (+ trailing comma) each on its own line, then
 
854
        adding an item to the end -- but that still consumes less than a second on
 
855
        my P5-166.  Response time in real code appears instantaneous.
 
856
 
 
857
        Fixed some bugs.
 
858
 
 
859
        New feature:  when hitting ENTER and the cursor is beyond the line's leading
 
860
        indentation, whitespace is removed on both sides of the cursor; before
 
861
        whitespace was removed only on the left; e.g., assuming the cursor is
 
862
        between the comma and the space:
 
863
 
 
864
        def something(arg1, arg2):
 
865
                           ^ cursor to the left of here, and hit ENTER
 
866
                       arg2):   # new line used to end up here
 
867
                      arg2):    # but now lines up the way you expect
 
868
 
 
869
        New hack:  AutoIndent has grown a context_use_ps1 Boolean config option,
 
870
        defaulting to 0 (false) and set to 1 (only) by PyShell.  Reason:  handling
 
871
        the fancy stuff requires looking backward for a parsing synch point; ps1
 
872
        lines are the only sensible thing to look for in a shell window, but are a
 
873
        bad thing to look for in a file window (ps1 lines show up in my module
 
874
        docstrings often).  PythonWin's shell should set this true too.
 
875
 
 
876
        Persistent problem:  strings containing def/class can still screw things up
 
877
        completely.  No improvement.  Simplest workaround is on the user's head, and
 
878
        consists of inserting e.g.
 
879
 
 
880
        def _(): pass
 
881
 
 
882
        (or any other def/class) after the end of the multiline string that's
 
883
        screwing them up.  This is especially irksome because IDLE's syntax coloring
 
884
        is *not* confused, so when this happens the colors don't match the
 
885
        indentation behavior they see.
 
886
 
 
887
        * AutoIndent.py: Tim Peters again:
 
888
 
 
889
        [Tim, after adding some bracket smarts to AutoIndent.py]
 
890
        > ...
 
891
        > What it can't possibly do without reparsing large gobs of text is
 
892
        > suggest a reasonable indent level after you've *closed* a bracket
 
893
        > left open on some previous line.
 
894
        > ...
 
895
 
 
896
        The attached can, and actually fast enough to use -- most of the time.  The
 
897
        code is tricky beyond belief to achieve that, but it works so far; e.g.,
 
898
 
 
899
                return len(string.expandtabs(str[self.stmt_start :
 
900
                                                 ^ indents to caret
 
901
                                                 i],
 
902
                                             ^ indents to caret
 
903
                                             self.tabwidth)) + 1
 
904
            ^ indents to caret
 
905
 
 
906
        It's about as smart as pymode now, wrt both bracket and backslash
 
907
        continuation rules.  It does require reparsing large gobs of text, and if it
 
908
        happens to find something that looks like a "def" or "class" or sys.ps1
 
909
        buried in a multiline string, but didn't suck up enough preceding text to
 
910
        see the start of the string, it's completely hosed.  I can't repair that --
 
911
        it's just too slow to reparse from the start of the file all the time.
 
912
 
 
913
        AutoIndent has grown a new num_context_lines tuple attribute that controls
 
914
        how far to look back, and-- like other params --this could/should be made
 
915
        user-overridable at startup and per-file on the fly.
 
916
 
 
917
        * PyParse.py: New file by Tim Peters:
 
918
 
 
919
        One new file in the attached, PyParse.py.  The LineStudier (whatever it was
 
920
        called <wink>) class was removed from AutoIndent; PyParse subsumes its
 
921
        functionality.
 
922
 
 
923
        * AutoIndent.py: Tim Peters keeps revising this module (more to come):
 
924
 
 
925
        Removed "New tabwidth" menu binding.
 
926
 
 
927
        Added "a tab means how many spaces?" dialog to block tabify and untabify.  I
 
928
        think prompting for this is good now:  they're usually at-most-once-per-file
 
929
        commands, and IDLE can't let them change tabwidth from the Tk default
 
930
        anymore, so IDLE can no longer presume to have any idea what a tab means.
 
931
 
 
932
        Irony:  for the purpose of keeping comments aligned via tabs, Tk's
 
933
        non-default approach is much nicer than the Emacs/Notepad/Codewright/vi/etc
 
934
        approach.
 
935
 
 
936
        * EditorWindow.py:
 
937
        1. Catch NameError on import (could be raised by case mismatch on Windows).
 
938
        2. No longer need to reset pyclbr cache and show watch cursor when calling
 
939
           ClassBrowser -- the ClassBrowser takes care of pyclbr and the TreeWidget
 
940
           takes care of the watch cursor.
 
941
        3. Reset the focus to the current window after error message about class
 
942
           browser on buffer without filename.
 
943
 
 
944
        * Icons/minusnode.gif, Icons/plusnode.gif: Missed a few.
 
945
 
 
946
        * ClassBrowser.py, PathBrowser.py: Rewritten based on TreeWidget.py
 
947
 
 
948
        * ObjectBrowser.py: Object browser, based on TreeWidget.py.
 
949
 
 
950
        * TreeWidget.py: Tree widget done right.
 
951
 
 
952
        * ToolTip.py: As yet unused code for tool tips.
 
953
 
 
954
        * ScriptBinding.py:
 
955
        Ensure sys.argv[0] is the script name on Run Script.
 
956
 
 
957
        * ZoomHeight.py: Move zoom height functionality to separate function.
 
958
 
 
959
        * Icons/folder.gif, Icons/openfolder.gif, Icons/python.gif, Icons/tk.gif:
 
960
        A few icons used by ../TreeWidget.py and its callers.
 
961
 
 
962
        * AutoIndent.py: New version by Tim Peters improves block opening test.
 
963
 
 
964
Fri May 21 04:46:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
965
 
 
966
        * Attic/History.py, PyShell.py: Rename History to IdleHistory.
 
967
        Add isatty() to pseudo files.
 
968
 
 
969
        * StackViewer.py: Make initial stack viewer wider
 
970
 
 
971
        * TODO.txt: New wishes
 
972
 
 
973
        * AutoIndent.py, EditorWindow.py, PyShell.py:
 
974
        Much improved autoindent and handling of tabs,
 
975
        by Tim Peters.
 
976
 
 
977
Mon May  3 15:49:52 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
978
 
 
979
        * AutoIndent.py, EditorWindow.py, FormatParagraph.py, UndoDelegator.py:
 
980
        Tim Peters writes:
 
981
 
 
982
        I'm still unsure, but couldn't stand the virtual event trickery so tried a
 
983
        different sin (adding undo_block_start/stop methods to the Text instance in
 
984
        EditorWindow.py).  Like it or not, it's efficient and works <wink>.  Better
 
985
        idea?
 
986
 
 
987
        Give the attached a whirl.  Even if you hate the implementation, I think
 
988
        you'll like the results.  Think I caught all the "block edit" cmds,
 
989
        including Format Paragraph, plus subtler ones involving smart indents and
 
990
        backspacing.
 
991
 
 
992
        * WidgetRedirector.py: Tim Peters writes:
 
993
 
 
994
        [W]hile trying to dope out how redirection works, stumbled into two
 
995
        possible glitches.  In the first, it doesn't appear to make sense to try to
 
996
        rename a command that's already been destroyed; in the second, the name
 
997
        "previous" doesn't really bring to mind "ignore the previous value" <wink>.
 
998
 
 
999
Fri Apr 30 19:39:25 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1000
 
 
1001
        * __init__.py: Support for using idle as a package.
 
1002
 
 
1003
        * PathBrowser.py:
 
1004
        Avoid listing files more than once (e.g. foomodule.so has two hits:
 
1005
        once for foo + module.so, once for foomodule + .so).
 
1006
 
 
1007
Mon Apr 26 22:20:38 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1008
 
 
1009
        * ChangeLog, ColorDelegator.py, PyShell.py: Tim Peters strikes again:
 
1010
 
 
1011
        Ho ho ho -- that's trickier than it sounded!  The colorizer is working with
 
1012
        "line.col" strings instead of Text marks, and the absolute coordinates of
 
1013
        the point of interest can change across the self.update call (voice of
 
1014
        baffled experience, when two quick backspaces no longer fooled it, but a
 
1015
        backspace followed by a quick ENTER did <wink>).
 
1016
 
 
1017
        Anyway, the attached appears to do the trick.  CPU usage goes way up when
 
1018
        typing quickly into a long triple-quoted string, but the latency is fine for
 
1019
        me (a relatively fast typist on a relatively slow machine).  Most of the
 
1020
        changes here are left over from reducing the # of vrbl names to help me
 
1021
        reason about the logic better; I hope the code is a *little* easier to
 
1022
 
 
1023
Fri Apr 23 14:01:25 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1024
 
 
1025
        * EditorWindow.py:
 
1026
        Provide full arguments to __import__ so it works in packagized IDLE.
 
1027
 
 
1028
Thu Apr 22 23:20:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1029
 
 
1030
        * help.txt:
 
1031
        Bunch of updates necessary due to recent changes; added docs for File
 
1032
        menu, command line and color preferences.
 
1033
 
 
1034
        * Bindings.py: Remove obsolete 'script' menu.
 
1035
 
 
1036
        * TODO.txt: Several wishes fulfilled.
 
1037
 
 
1038
        * OutputWindow.py:
 
1039
        Moved classes OnDemandOutputWindow and PseudoFile here,
 
1040
        from ScriptBinding.py where they are no longer needed.
 
1041
 
 
1042
        * ScriptBinding.py:
 
1043
        Mostly rewritten.  Instead of the old Run module and Debug module,
 
1044
        there are two new commands:
 
1045
 
 
1046
        Import module (F5) imports or reloads the module and also adds its
 
1047
        name to the __main__ namespace.  This gets executed in the PyShell
 
1048
        window under control of its debug settings.
 
1049
 
 
1050
        Run script (Control-F5) is similar but executes the contents of the
 
1051
        file directly in the __main__ namespace.
 
1052
 
 
1053
        * PyShell.py: Nits: document use of $IDLESTARTUP; display idle version
 
1054
 
 
1055
        * idlever.py: New version to celebrate new command line
 
1056
 
 
1057
        * OutputWindow.py: Added flush(), for completeness.
 
1058
 
 
1059
        * PyShell.py:
 
1060
        A lot of changes to make the command line more useful.  You can now do:
 
1061
          idle.py -e file ...    -- to edit files
 
1062
          idle.py script arg ... -- to run a script
 
1063
          idle.py -c cmd arg ... -- to run a command
 
1064
        Other options, see also the usage message (also new!) for more details:
 
1065
          -d       -- enable debugger
 
1066
          -s       -- run $IDLESTARTUP or $PYTHONSTARTUP
 
1067
          -t title -- set Python Shell window's title
 
1068
        sys.argv is set accordingly, unless -e is used.
 
1069
        sys.path is absolutized, and all relevant paths are inserted into it.
 
1070
 
 
1071
        Other changes:
 
1072
        - the environment in which commands are executed is now the
 
1073
          __main__ module
 
1074
        - explicitly save sys.stdout etc., don't restore from sys.__stdout__
 
1075
        - new interpreter methods execsource(), execfile(), stuffsource()
 
1076
        - a few small nits
 
1077
 
 
1078
        * TODO.txt:
 
1079
        Some more TODO items.  Made up my mind about command line args,
 
1080
        Run/Import, __main__.
 
1081
 
 
1082
        * ColorDelegator.py:
 
1083
        Super-elegant patch by Tim Peters that speeds up colorization
 
1084
        dramatically (up to 15 times he claims).  Works by reading more than
 
1085
        one line at a time, up to 100-line chunks (starting with one line and
 
1086
        then doubling up to the limit).  On a typical machine (e.g. Tim's
 
1087
        P5-166) this doesn't reduce interactive responsiveness in a noticeable
 
1088
        way.
 
1089
 
 
1090
Wed Apr 21 15:49:34 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1091
 
 
1092
        * ColorDelegator.py:
 
1093
        Patch by Tim Peters to speed up colorizing of big multiline strings.
 
1094
 
 
1095
Tue Apr 20 17:32:52 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1096
 
 
1097
        * extend.txt:
 
1098
        For an event 'foo-bar', the corresponding method must be called
 
1099
        foo_bar_event().  Therefore, fix the references to zoom_height() in
 
1100
        the example.
 
1101
 
 
1102
        * IdlePrefs.py: Restored the original IDLE color scheme.
 
1103
 
 
1104
        * PyShell.py, IdlePrefs.py, ColorDelegator.py, EditorWindow.py:
 
1105
        Color preferences code by Loren Luke (massaged by me somewhat)
 
1106
 
 
1107
        * SearchEngine.py:
 
1108
        Patch by Mark Favas: it fixes the search engine behaviour where an
 
1109
        unsuccessful search wraps around and re-searches that part of the file
 
1110
        between the start of the search and the end of the file - only really
 
1111
        an issue for very large files, but... (also removes a redundant
 
1112
        m.span() call).
 
1113
 
 
1114
Mon Apr 19 16:26:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1115
 
 
1116
        * TODO.txt: A few wishes are now fulfilled.
 
1117
 
 
1118
        * AutoIndent.py: Tim Peters implements some of my wishes:
 
1119
 
 
1120
        o Makes the tab key intelligently insert spaces when appropriate
 
1121
        (see Help list banter twixt David Ascher and me; idea stolen from
 
1122
        every other editor on earth <wink>).
 
1123
 
 
1124
        o newline_and_indent_event trims trailing whitespace on the old
 
1125
        line (pymode and Codewright).
 
1126
 
 
1127
        o newline_and_indent_event no longer fooled by trailing whitespace or
 
1128
        comment after ":" (pymode, PTUI).
 
1129
 
 
1130
        o newline_and_indent_event now reduces the new line's indentation after
 
1131
        return, break, continue, raise and pass stmts (pymode).
 
1132
 
 
1133
        The last two are easy to fool in the presence of strings &
 
1134
        continuations, but pymode requires Emacs's high-powered C parsing
 
1135
        functions to avoid that in finite time.
 
1136
 
 
1137
======================================================================
 
1138
        Python release 1.5.2c1, IDLE version 0.4
 
1139
======================================================================
 
1140
 
 
1141
Wed Apr  7 18:41:59 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1142
 
 
1143
        * README.txt, NEWS.txt: New version.
 
1144
 
 
1145
        * idlever.py: Version bump awaiting impending new release.
 
1146
        (Not much has changed :-( )
 
1147
 
 
1148
Mon Mar 29 14:52:28 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1149
 
 
1150
        * ScriptBinding.py, PyShell.py:
 
1151
        At Tim Peters' recommendation, add a dummy flush() method to
 
1152
        PseudoFile.
 
1153
 
 
1154
Thu Mar 11 23:21:23 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1155
 
 
1156
        * PathBrowser.py: Don't crash when sys.path contains an empty string.
 
1157
 
 
1158
        * Attic/Outline.py: This file was never supposed to be part of IDLE.
 
1159
 
 
1160
        * PathBrowser.py:
 
1161
        - Don't crash in the case where a superclass is a string instead of a
 
1162
        pyclbr.Class object; this can happen when the superclass is
 
1163
        unrecognizable (to pyclbr), e.g. when module renaming is used.
 
1164
 
 
1165
        - Show a watch cursor when calling pyclbr (since it may take a while
 
1166
        recursively parsing imported modules!).
 
1167
 
 
1168
Wed Mar 10 05:18:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1169
 
 
1170
        * EditorWindow.py, Bindings.py: Add PathBrowser to File module
 
1171
 
 
1172
        * PathBrowser.py: "Path browser" - 4 scrolled lists displaying:
 
1173
            directories on sys.path
 
1174
            modules in selected directory
 
1175
            classes in selected module
 
1176
            methods of selected class
 
1177
 
 
1178
        Sinlge clicking in a directory, module or class item updates the next
 
1179
        column with info about the selected item.  Double clicking in a
 
1180
        module, class or method item opens the file (and selects the clicked
 
1181
        item if it is a class or method).
 
1182
 
 
1183
        I guess eventually I should be using a tree widget for this, but the
 
1184
        ones I've seen don't work well enough, so for now I use the old
 
1185
        Smalltalk or NeXT style multi-column hierarchical browser.
 
1186
 
 
1187
        * MultiScrolledLists.py:
 
1188
        New utility: multiple scrolled lists in parallel
 
1189
 
 
1190
        * ScrolledList.py: - White background.
 
1191
        - Display "(None)" (or text of your choosing) when empty.
 
1192
        - Don't set the focus.
 
1193
 
 
1194
======================================================================
 
1195
        Python release 1.5.2b2, IDLE version 0.3
 
1196
======================================================================
 
1197
        
 
1198
Wed Feb 17 22:47:41 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1199
 
 
1200
        * NEWS.txt: News in 0.3.
 
1201
 
 
1202
        * README.txt, idlever.py: Bump version to 0.3.
 
1203
 
 
1204
        * EditorWindow.py:
 
1205
        After all, we don't need to call the callbacks ourselves!
 
1206
 
 
1207
        * WindowList.py:
 
1208
        When deleting, call the callbacks *after* deleting the window from our list!
 
1209
 
 
1210
        * EditorWindow.py:
 
1211
        Fix up the Windows menu via the new callback mechanism instead of
 
1212
        depending on menu post commands (which don't work when the menu is
 
1213
        torn off).
 
1214
 
 
1215
        * WindowList.py:
 
1216
        Support callbacks to patch up Windows menus everywhere.
 
1217
 
 
1218
        * ChangeLog: Oh, why not.  Checking in the Emacs-generated change log.
 
1219
 
 
1220
Tue Feb 16 22:34:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1221
 
 
1222
        * ScriptBinding.py:
 
1223
        Only pop up the stack viewer when requested in the Debug menu.
 
1224
 
 
1225
Mon Feb  8 22:27:49 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1226
 
 
1227
        * WindowList.py: Don't crash if a window no longer exists.
 
1228
 
 
1229
        * TODO.txt: Restructured a bit.
 
1230
 
 
1231
Mon Feb  1 23:06:17 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1232
 
 
1233
        * PyShell.py: Add current dir or paths of file args to sys.path.
 
1234
 
 
1235
        * Debugger.py: Add canonic() function -- for brand new bdb.py feature.
 
1236
 
 
1237
        * StackViewer.py: Protect against accessing an empty stack.
 
1238
 
 
1239
Fri Jan 29 20:44:45 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1240
 
 
1241
        * ZoomHeight.py:
 
1242
        Use only the height to decide whether to zoom in or out.
 
1243
 
 
1244
Thu Jan 28 22:24:30 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1245
 
 
1246
        * EditorWindow.py, FileList.py:
 
1247
        Make sure the Tcl variables are shared between windows.
 
1248
 
 
1249
        * PyShell.py, EditorWindow.py, Bindings.py:
 
1250
        Move menu/key binding code from Bindings.py to EditorWindow.py,
 
1251
        with changed APIs -- it makes much more sense there.
 
1252
        Also add a new feature: if the first character of a menu label is
 
1253
        a '!', it gets a checkbox.  Checkboxes are bound to Boolean Tcl variables
 
1254
        that can be accessed through the new getvar/setvar/getrawvar API;
 
1255
        the variable is named after the event to which the menu is bound.
 
1256
 
 
1257
        * Debugger.py: Add Quit button to the debugger window.
 
1258
 
 
1259
        * SearchDialog.py:
 
1260
        When find_again() finds exactly the current selection, it's a failure.
 
1261
 
 
1262
        * idle.py, Attic/idle: Rename idle -> idle.py
 
1263
 
 
1264
Mon Jan 18 15:18:57 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1265
 
 
1266
        * EditorWindow.py, WindowList.py: Only deiconify when iconic.
 
1267
 
 
1268
        * TODO.txt: Misc
 
1269
 
 
1270
Tue Jan 12 22:14:34 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1271
 
 
1272
        * testcode.py, Attic/test.py:
 
1273
        Renamed test.py to testcode.py so one can import Python's
 
1274
        test package from inside IDLE.  (Suggested by Jack Jansen.)
 
1275
 
 
1276
        * EditorWindow.py, ColorDelegator.py:
 
1277
        Hack to close a window that is colorizing.
 
1278
 
 
1279
        * Separator.py: Vladimir Marangozov's patch:
 
1280
        The separator dances too much and seems to jump by arbitrary amounts
 
1281
        in arbitrary directions when I try to move it for resizing the frames.
 
1282
        This patch makes it more quiet.
 
1283
 
 
1284
Mon Jan 11 14:52:40 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1285
 
 
1286
        * TODO.txt: Some requests have been fulfilled.
 
1287
 
 
1288
        * EditorWindow.py:
 
1289
        Set the cursor to a watch when opening the class browser (which may
 
1290
        take quite a while, browsing multiple files).
 
1291
 
 
1292
        Newer, better center() -- but assumes no wrapping.
 
1293
 
 
1294
        * SearchBinding.py:
 
1295
        Got rid of debug print statement in goto_line_event().
 
1296
 
 
1297
        * ScriptBinding.py:
 
1298
        I think I like it better if it prints the traceback even when it displays
 
1299
        the stack viewer.
 
1300
 
 
1301
        * Debugger.py: Bind ESC to close-window.
 
1302
 
 
1303
        * ClassBrowser.py: Use a HSeparator between the classes and the items.
 
1304
        Make the list of classes wider by default (40 chars).
 
1305
        Bind ESC to close-window.
 
1306
 
 
1307
        * Separator.py:
 
1308
        Separator classes (draggable divider between two panes).
 
1309
 
 
1310
Sat Jan  9 22:01:33 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1311
 
 
1312
        * WindowList.py:
 
1313
        Don't traceback when wakeup() is called when the window has been destroyed.
 
1314
        This can happen when a torn-of Windows menu references closed windows.
 
1315
        And Tim Peters claims that the Windows menu is his favorite to tear off...
 
1316
 
 
1317
        * EditorWindow.py: Allow tearing off of the Windows menu.
 
1318
 
 
1319
        * StackViewer.py: Close on ESC.
 
1320
 
 
1321
        * help.txt: Updated a bunch of things (it was mostly still 0.1!)
 
1322
 
 
1323
        * extend.py: Added ScriptBinding to standard bindings.
 
1324
 
 
1325
        * ScriptBinding.py:
 
1326
        This now actually works.  See doc string.  It can run a module (i.e.
 
1327
        import or reload) or debug it (same with debugger control).  Output
 
1328
        goes to a fresh output window, only created when needed.
 
1329
 
 
1330
======================================================================
 
1331
        Python release 1.5.2b1, IDLE version 0.2
 
1332
======================================================================
 
1333
        
 
1334
Fri Jan  8 17:26:02 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1335
 
 
1336
        * README.txt, NEWS.txt: What's new in this release.
 
1337
 
 
1338
        * Bindings.py, PyShell.py:
 
1339
        Paul Prescod's patches to allow the stack viewer to pop up when a
 
1340
        traceback is printed.
 
1341
 
 
1342
Thu Jan  7 00:12:15 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1343
 
 
1344
        * FormatParagraph.py:
 
1345
        Change paragraph width limit to 70 (like Emacs M-Q).
 
1346
 
 
1347
        * README.txt:
 
1348
        Separating TODO from README.  Slight reformulation of features.  No
 
1349
        exact release date.
 
1350
 
 
1351
        * TODO.txt: Separating TODO from README.
 
1352
 
 
1353
Mon Jan  4 21:19:09 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1354
 
 
1355
        * FormatParagraph.py:
 
1356
        Hm.  There was a boundary condition error at the end of the file too.
 
1357
 
 
1358
        * SearchBinding.py: Hm.  Add Unix binding for replace, too.
 
1359
 
 
1360
        * keydefs.py: Ran eventparse.py again.
 
1361
 
 
1362
        * FormatParagraph.py: Added Unix Meta-q key binding;
 
1363
        fix find_paragraph when at start of file.
 
1364
 
 
1365
        * AutoExpand.py: Added Meta-/ binding for Unix as alt for Alt-/.
 
1366
 
 
1367
        * SearchBinding.py:
 
1368
        Add unix binding for grep (otherwise the menu entry doesn't work!)
 
1369
 
 
1370
        * ZoomHeight.py: Adjusted Unix height to work with fvwm96. :=(
 
1371
 
 
1372
        * GrepDialog.py: Need to import sys!
 
1373
 
 
1374
        * help.txt, extend.txt, README.txt: Formatted some paragraphs
 
1375
 
 
1376
        * extend.py, FormatParagraph.py:
 
1377
        Add new extension to reformat a (text) paragraph.
 
1378
 
 
1379
        * ZoomHeight.py: Typo in Win specific height setting.
 
1380
 
 
1381
Sun Jan  3 00:47:35 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1382
 
 
1383
        * AutoIndent.py: Added something like Tim Peters' backspace patch.
 
1384
 
 
1385
        * ZoomHeight.py: Adapted to Unix (i.e., more hardcoded constants).
 
1386
 
 
1387
Sat Jan  2 21:28:54 1999  Guido van Rossum  <guido@cnri.reston.va.us>
 
1388
 
 
1389
        * 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:
 
1390
        Checking in IDLE 0.2.
 
1391
 
 
1392
        Much has changed -- too much, in fact, to write down.
 
1393
        The big news is that there's a standard way to write IDLE extensions;
 
1394
        see extend.txt.  Some sample extensions have been provided, and
 
1395
        some existing code has been converted to extensions.  Probably the
 
1396
        biggest new user feature is a new search dialog with more options,
 
1397
        search and replace, and even search in files (grep).
 
1398
 
 
1399
        This is exactly as downloaded from my laptop after returning
 
1400
        from the holidays -- it hasn't even been tested on Unix yet.
 
1401
 
 
1402
Fri Dec 18 15:52:54 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1403
 
 
1404
        * FileList.py, ClassBrowser.py:
 
1405
        Fix the class browser to work even when the file is not on sys.path.
 
1406
 
 
1407
Tue Dec  8 20:39:36 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1408
 
 
1409
        * Attic/turtle.py: Moved to Python 1.5.2/Lib
 
1410
 
 
1411
Fri Nov 27 03:19:20 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1412
 
 
1413
        * help.txt: Typo
 
1414
 
 
1415
        * EditorWindow.py, FileList.py: Support underlining of menu labels
 
1416
 
 
1417
        * Bindings.py:
 
1418
        New approach, separate tables for menus (platform-independent) and key
 
1419
        definitions (platform-specific), and generating accelerator strings
 
1420
        automatically from the key definitions.
 
1421
 
 
1422
Mon Nov 16 18:37:42 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1423
 
 
1424
        * Attic/README: Clarify portability and main program.
 
1425
 
 
1426
        * Attic/README: Added intro for 0.1 release and append Grail notes.
 
1427
 
 
1428
Mon Oct 26 18:49:00 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1429
 
 
1430
        * Attic/turtle.py: root is now a global called _root
 
1431
 
 
1432
Sat Oct 24 16:38:38 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1433
 
 
1434
        * Attic/turtle.py: Raise the root window on reset().
 
1435
        Different action on WM_DELETE_WINDOW is more likely to do the right thing,
 
1436
        allowing us to destroy old windows.
 
1437
 
 
1438
        * Attic/turtle.py:
 
1439
        Split the goto() function in two: _goto() is the internal one,
 
1440
        using Canvas coordinates, and goto() uses turtle coordinates
 
1441
        and accepts variable argument lists.
 
1442
 
 
1443
        * Attic/turtle.py: Cope with destruction of the window
 
1444
 
 
1445
        * Attic/turtle.py: Turtle graphics
 
1446
 
 
1447
        * Debugger.py: Use of Breakpoint class should be bdb.Breakpoint.
 
1448
 
 
1449
Mon Oct 19 03:33:40 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1450
 
 
1451
        * SearchBinding.py:
 
1452
        Speed up the search a bit -- don't drag a mark around...
 
1453
 
 
1454
        * PyShell.py:
 
1455
        Change our special entries from <console#N> to <pyshell#N>.
 
1456
        Patch linecache.checkcache() to keep our special entries alive.
 
1457
        Add popup menu to all editor windows to set a breakpoint.
 
1458
 
 
1459
        * Debugger.py:
 
1460
        Use and pass through the 'force' flag to set_dict() where appropriate.
 
1461
        Default source and globals checkboxes to false.
 
1462
        Don't interact in user_return().
 
1463
        Add primitive set_breakpoint() method.
 
1464
 
 
1465
        * ColorDelegator.py:
 
1466
        Raise priority of 'sel' tag so its foreground (on Windows) will take
 
1467
        priority over text colorization (which on Windows is almost the
 
1468
        same color as the selection background).
 
1469
 
 
1470
        Define a tag and color for breakpoints ("BREAK").
 
1471
 
 
1472
        * Attic/PopupMenu.py: Disable "Open stack viewer" and "help" commands.
 
1473
 
 
1474
        * StackViewer.py:
 
1475
        Add optional 'force' argument (default 0) to load_dict().
 
1476
        If set, redo the display even if it's the same dict.
 
1477
 
 
1478
Fri Oct 16 21:10:12 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1479
 
 
1480
        * StackViewer.py: Do nothing when loading the same dict as before.
 
1481
 
 
1482
        * PyShell.py: Details for debugger interface.
 
1483
 
 
1484
        * Debugger.py:
 
1485
        Restructured and more consistent.  Save checkboxes across instantiations.
 
1486
 
 
1487
        * EditorWindow.py, Attic/README, Bindings.py:
 
1488
        Get rid of conflicting ^X binding.  Use ^W.
 
1489
 
 
1490
        * Debugger.py, StackViewer.py:
 
1491
        Debugger can now show local and global variables.
 
1492
 
 
1493
        * Debugger.py: Oops
 
1494
 
 
1495
        * Debugger.py, PyShell.py: Better debugger support (show stack etc).
 
1496
 
 
1497
        * Attic/PopupMenu.py: Follow renames in StackViewer module
 
1498
 
 
1499
        * StackViewer.py:
 
1500
        Rename classes to StackViewer (the widget) and StackBrowser (the toplevel).
 
1501
 
 
1502
        * ScrolledList.py: Add close() method
 
1503
 
 
1504
        * EditorWindow.py: Clarify 'Open Module' dialog text
 
1505
 
 
1506
        * StackViewer.py: Restructured into a browser and a widget.
 
1507
 
 
1508
Thu Oct 15 23:27:08 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1509
 
 
1510
        * ClassBrowser.py, ScrolledList.py:
 
1511
        Generalized the scrolled list which is the base for the class and
 
1512
        method browser into a separate class in its own module.
 
1513
 
 
1514
        * Attic/test.py: Cosmetic change
 
1515
 
 
1516
        * Debugger.py: Don't show function name if there is none
 
1517
 
 
1518
Wed Oct 14 03:43:05 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1519
 
 
1520
        * Debugger.py, PyShell.py: Polish the Debugger GUI a bit.
 
1521
        Closing it now also does the right thing.
 
1522
 
 
1523
Tue Oct 13 23:51:13 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1524
 
 
1525
        * Debugger.py, PyShell.py, Bindings.py:
 
1526
        Ad primitive debugger interface (so far it will step and show you the
 
1527
        source, but it doesn't yet show the stack).
 
1528
 
 
1529
        * Attic/README: Misc
 
1530
 
 
1531
        * StackViewer.py: Whoops -- referenced self.top before it was set.
 
1532
 
 
1533
        * help.txt: Added history and completion commands.
 
1534
 
 
1535
        * help.txt: Updated
 
1536
 
 
1537
        * FileList.py: Add class browser functionality.
 
1538
 
 
1539
        * StackViewer.py:
 
1540
        Add a close() method and bind to WM_DELETE_WINDOW protocol
 
1541
 
 
1542
        * PyShell.py: Clear the linecache before printing a traceback
 
1543
 
 
1544
        * Bindings.py: Added class browser binding.
 
1545
 
 
1546
        * ClassBrowser.py: Much improved, much left to do.
 
1547
 
 
1548
        * PyShell.py: Make the return key do what I mean more often.
 
1549
 
 
1550
        * ClassBrowser.py:
 
1551
        Adding the beginnings of a Class browser.  Incomplete, yet.
 
1552
 
 
1553
        * EditorWindow.py, Bindings.py:
 
1554
        Add new command, "Open module".  You select or type a module name,
 
1555
        and it opens the source.
 
1556
 
 
1557
Mon Oct 12 23:59:27 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1558
 
 
1559
        * PyShell.py: Subsume functionality from Popup menu in Debug menu.
 
1560
        Other stuff so the PyShell window can be resurrected from the Windows menu.
 
1561
 
 
1562
        * FileList.py: Get rid of PopUp menu.
 
1563
        Create a simple Windows menu.  (Imperfect when Untitled windows exist.)
 
1564
        Add wakeup() method: deiconify, raise, focus.
 
1565
 
 
1566
        * EditorWindow.py: Generalize menu creation.
 
1567
 
 
1568
        * Bindings.py: Add Debug and Help menu items.
 
1569
 
 
1570
        * EditorWindow.py: Added a menu bar to every window.
 
1571
 
 
1572
        * Bindings.py: Add menu configuration to the event configuration.
 
1573
 
 
1574
        * Attic/PopupMenu.py: Pass a root to the help window.
 
1575
 
 
1576
        * SearchBinding.py:
 
1577
        Add parent argument to 'to to line number' dialog box.
 
1578
 
 
1579
Sat Oct 10 19:15:32 1998  Guido van Rossum  <guido@cnri.reston.va.us>
 
1580
 
 
1581
        * StackViewer.py:
 
1582
        Add a label at the top showing (very basic) help for the stack viewer.
 
1583
        Add a label at the bottom showing the exception info.
 
1584
 
 
1585
        * Attic/test.py, Attic/idle: Add Unix main script and test program.
 
1586
 
 
1587
        * 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:
 
1588
        Initial checking of Tk-based Python IDE.
 
1589
        Features: text editor with syntax coloring and undo;
 
1590
        subclassed into interactive Python shell which adds history.
 
1591