From kbk@users.sourceforge.net Wed Jan 1 00:26:44 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Tue, 31 Dec 2002 16:26:44 -0800 Subject: [Idle-dev] CVS: idle Debugger.py,1.19,1.20 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv25932 Modified Files: Debugger.py Log Message: Debugger was tracing through rpc.py when IDLEfork was not started from its source directory. Generalize the "workaround" (though the latter seems a reasonable solution?) to handle this. Index: Debugger.py =================================================================== RCS file: /cvsroot/idlefork/idle/Debugger.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -r1.19 -r1.20 *** Debugger.py 31 Dec 2002 15:59:14 -0000 1.19 --- Debugger.py 1 Jan 2003 00:26:41 -0000 1.20 *************** *** 16,20 **** co_filename = frame.f_code.co_filename ! co_name = frame.f_code.co_name ## print>>sys.__stderr__, "*function: ", frame.f_code.co_name --- 16,20 ---- co_filename = frame.f_code.co_filename ! ## co_name = frame.f_code.co_name ## print>>sys.__stderr__, "*function: ", frame.f_code.co_name *************** *** 24,49 **** ## print>>sys.__stderr__, "*function: ", frame.f_locals.get(co_name,None) ! try: ! # XXX 12 Dec 2002 CGT TO DO: Find way to get a reference to the ! # XXX currently running function. If the function has an ! # attribute called "DebuggerStepThrough", prevent the debugger ! # from stepping through Idle code. The following doesn't work ! # in instance methods. Hard coded some workarounds. ! func = frame.f_locals[co_name] ! if getattr(func, "DebuggerStepThrough", 0): ! print "XXXX DEBUGGER STEPPING THROUGH" self.set_step() return - except: - pass - - # workaround for the problem above - if co_filename in (r'.\rpc.py', 'rpc.py',''): - self.set_step() - return - if co_filename.endswith('threading.py'): - self.set_step() - return message = self.__frame2message(frame) self.gui.interaction(message, frame) --- 24,47 ---- ## print>>sys.__stderr__, "*function: ", frame.f_locals.get(co_name,None) ! ## try: ! ## # XXX 12 Dec 2002 CGT TO DO: Find way to get a reference to the ! ## # XXX currently running function. If the function has an ! ## # attribute called "DebuggerStepThrough", prevent the debugger ! ## # from stepping through Idle code. The following doesn't work ! ## # in instance methods. Hard coded some workarounds. ! ## func = frame.f_locals[co_name] ! ## if getattr(func, "DebuggerStepThrough", 0): ! ## print "XXXX DEBUGGER STEPPING THROUGH" ! ## self.set_step() ! ## return ! ## except: ! ## pass ! # workaround for the problem above ! exclude = ('rpc.py', 'threading.py', '') ! for rpcfile in exclude: ! if co_filename.count(rpcfile): self.set_step() return message = self.__frame2message(frame) self.gui.interaction(message, frame) From kbk@users.sourceforge.net Wed Jan 1 01:14:16 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Tue, 31 Dec 2002 17:14:16 -0800 Subject: [Idle-dev] CVS: idle INSTALL.txt,1.3,1.4 idlever.py,1.7,1.8 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv20803 Modified Files: INSTALL.txt idlever.py Log Message: More installation info. Bump alpha version. Index: INSTALL.txt =================================================================== RCS file: /cvsroot/idlefork/idle/INSTALL.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** INSTALL.txt 31 Dec 2002 17:56:18 -0000 1.3 --- INSTALL.txt 1 Jan 2003 01:14:13 -0000 1.4 *************** *** 22,33 **** This is a distutils sdist (source) tarfile which can be used to make installations on platforms not supported by the above files. ! It is configured to install as IDLE, not IDLEfork. Unpack in ..../Tools/, cd to the IDLEfork directory created, and ! to install as IDLE. If you don't want to ! step on Python IDLE, it is also possible to simply run ! to test in the IDLEfork source directory without installation. In this ! case, IDLEfork will not be on your PATH unless you are in the source ! directory. See README.txt for more details on this version of IDLEfork. --- 22,37 ---- This is a distutils sdist (source) tarfile which can be used to make installations on platforms not supported by the above files. ! It remains configured to install as IDLE, not IDLEfork. Unpack in ..../Tools/, cd to the IDLEfork directory created, and ! to install in ....site-packages/idlelib. ! ! If you don't want to overwrite Python IDLE, it is also possible to ! simply run to test in the IDLEfork source directory ! without making an installation. In this case, IDLE will not be on ! your PATH unless you are in the source directory. Also, it is then ! advisable to remove any Python IDLE installation by removing ! ..../site-packages/idlelib so the two identically named packages don't ! conflict. See README.txt for more details on this version of IDLEfork. Index: idlever.py =================================================================== RCS file: /cvsroot/idlefork/idle/idlever.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** idlever.py 23 Dec 2002 03:31:49 -0000 1.7 --- idlever.py 1 Jan 2003 01:14:13 -0000 1.8 *************** *** 1 **** ! IDLE_VERSION = "0.9a0" --- 1 ---- ! IDLE_VERSION = "0.9a1" From kbk@shore.net Wed Jan 1 01:19:28 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 31 Dec 2002 20:19:28 -0500 Subject: [Idle-dev] Tagged Alpha 1 Release in CVS Message-ID: Fixed a problem with the debugger tracing through rpc.py when idlefork was run from a location other than the source directory. Added some more information on installation. From kbk@shore.net Wed Jan 1 04:17:56 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 31 Dec 2002 23:17:56 -0500 Subject: [Idle-dev] IDLEfork 0.9a1 Released Message-ID: There are three distribution files on the Sourceforge files page: https://sourceforge.net/project/showfiles.php?group_id=9579 There is an rpm for Linux, and an .exe installer for Windows. Also, there is a source .tar.gz if those two are not what you need. Please see the release notes on the Sourceforge page which includes INSTALL.txt. Please post bugs and patches to the Sourceforge Tracker and other comments to this list. Happy New Year! -- KBK From basherwo@unity.ncsu.edu Wed Jan 1 04:31:12 2003 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Tue, 31 Dec 2002 23:31:12 -0500 Subject: [Idle-dev] new idlefork package Message-ID: <002601c2b14e$9d48e200$6401a8c0@hyperon> I've just installed the new idlefork package and am starting to test it. Many thanks! Immediate impression: I'm delighted to see the configuration machinery. That's going to be a big help. For example, I use a small font when working, but when I give a demo with computer projection I need to increase the font size and make the font bold. That's now easy. Also, I'm going to love being able to select Windows key bindings when running on other platforms. I like being told the first time I try to run a new script that I need to save the file, because I've seen novices go for a long period of editing and running without saving to a permanent file. Yes, there is a minor annoyance when I'm just fooling around and would rather not bother inventing a file name, but on balance the change seems a good one, though conceivably this should be configuration option. I would like to request another configuration option, one to turn off the "Okay to save?" window that comes up after an edit when I hit F5 to run. A major point of the original idlefork was to enable single-key interactivity, to bring to whole-file edit/run cycles the immediacy that formerly was available only in the interactive shell. I would much prefer the default to be "off", but if that is unacceptable at least give me a way to turn it off. I realize that many experienced programmers are uncomfortable with unannounced saves, but with the infinite un-do of idlefork this really isn't a problem, and you can always save a copy if you wish at any stage. High interactivity is the vitally important issue here. It isn't just the need to hit another key to get past the dialog box; it's the added cognitive load of an interruption to the work -- you lose focus needlessly. There is what looks like a very serious problem with running VPython programs, and I don't know whether this is an idlefork issue or a VPython issue. With the original idlefork, I could kill a running VPython program by clicking in the close box of the graphics window (leaving the print output window up, with whatever printing occurred up to that time). I could then hit F5 again (with the edit window active, with or without making an edit) to re-run the program. Now however, when I hit the close box of the VPython graphics window and then try to re-run the program, I'm told that "The Python Shell window is already executing a command; please wait until it is finished." I have found no way to do another run, or even to quit Python, without going to the system monitor and killing the Python job. (I should mention for context that most VPython programs run as infinite loops; a good example is a program of orbiting stars. And even if a VPython program goes to completion, the graphics windows stay up so you can see the resulting images.) A related issue is that with the original idlefork I didn't even have to hit the close box before starting a new run. With the edit window active I could hit F5 and that killed the old graphics windows and re-ran the program. Now I get into the "already executing a command" bind. I noticed a (very minor) typo in the history/credits given at the start of the installer on Windows: "IDLEfork is a separate line of development which was initiated by D. Scherer at CMU as part of Visual Python." It should be VPython, not Visual Python. The latter name existed for a relatively short time and was abandoned due to activity elsewhere aimed at incorporating support for Python in Microsoft's Visual Studio. (FYI, see http://vpython.org for VPython.) Bruce Sherwood From guido@python.org Wed Jan 1 13:51:17 2003 From: guido@python.org (Guido van Rossum) Date: Wed, 01 Jan 2003 08:51:17 -0500 Subject: [Idle-dev] new idlefork package In-Reply-To: Your message of "Tue, 31 Dec 2002 23:31:12 EST." <002601c2b14e$9d48e200$6401a8c0@hyperon> References: <002601c2b14e$9d48e200$6401a8c0@hyperon> Message-ID: <200301011351.h01DpIU17012@pcp02138704pcs.reston01.va.comcast.net> [Bruce Sherwood] > I would like to request another configuration option, one to turn > off the "Okay to save?" window that comes up after an edit when I > hit F5 to run. [...] +1 (as long as the default stays the same). FWIW, I also want the default statup window to be the Python Shell window -- that's already a configurable option and I'm merely requesting a change of default. Now that all output goes to the Python Shell window, I'd like to see a delimiter in that window whenever the subprocess is restarted. Otherwise it's not always clear from viewing that window what happened. > There is what looks like a very serious problem with running VPython > programs, and I don't know whether this is an idlefork issue or a > VPython issue. With the original idlefork, I could kill a running > VPython program by clicking in the close box of the graphics window > (leaving the print output window up, with whatever printing occurred > up to that time). I could then hit F5 again (with the edit window > active, with or without making an edit) to re-run the program. Now > however, when I hit the close box of the VPython graphics window and > then try to re-run the program, I'm told that "The Python Shell > window is already executing a command; please wait until it is > finished." I have found no way to do another run, or even to quit > Python, without going to the system monitor and killing the Python > job. (I should mention for context that most VPython programs run as > infinite loops; a good example is a program of orbiting stars. And > even if a VPython program goes to completion, the graphics windows > stay up so you can see the resulting images.) This sounds like it's an issue with VPython's main loop. Maybe it doesn't exit its main loop when its graphics window is closed? I'm not sure if IDLEfork has a way to kill an uncooperative subprocess; it should have one as a last resort. Also, ^C in the shell window should send it something like SIGINT (on Unix). (Maybe it does, I have no time to experiment right now -- the family's waiting.) > A related issue is that with the original idlefork I didn't even > have to hit the close box before starting a new run. With the edit > window active I could hit F5 and that killed the old graphics > windows and re-ran the program. Now I get into the "already > executing a command" bind. Maybe there could be an option (off by default) that F5 also kills the subprocess. > I noticed a (very minor) typo in the history/credits given at the start of > the installer on Windows: "IDLEfork is a separate line of development which > was initiated by D. Scherer at CMU as part of Visual Python." It should be > VPython, not Visual Python. The latter name existed for a relatively short > time and was abandoned due to activity elsewhere aimed at incorporating > support for Python in Microsoft's Visual Studio. (FYI, see > http://vpython.org for VPython.) And shouldn't it be *David* Scherer? (Somehow I always mix up my Sherers and Scherwoods. You both deserve a lot of credit. :-) --Guido van Rossum (home page: http://www.python.org/~guido/) From noreply@sourceforge.net Wed Jan 1 15:17:43 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 07:17:43 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660702 ] Cannot configure help file Message-ID: Bugs item #660702, was opened at 2003-01-01 15:17 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: Cannot configure help file Initial Comment: On Windows, in the "General" section of the configuration settings, when I try to enter a valid URL on the internet (such as http://vpython.org/index.html), I'm told "Help path does not exist". If I enter the path to a local html file (such as C:\Python23\Doc\index.html), then click Apply, then click Ok, nothing new appears on the Help menu, and when I return to the configuration settings my entry is gone. It works properly if I click Ok without clicking Apply. Also, if I have valid additional html references and click Apply, then Ok, I lose those references. In summary, valid URL's cannot be entered, and the "Apply" button apparently erases all help entries. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 From basherwo@unity.ncsu.edu Wed Jan 1 15:45:06 2003 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Wed, 1 Jan 2003 10:45:06 -0500 Subject: [Idle-dev] new idlefork package References: <002601c2b14e$9d48e200$6401a8c0@hyperon> <200301011351.h01DpIU17012@pcp02138704pcs.reston01.va.comcast.net> Message-ID: <001a01c2b1ac$c21ae930$6401a8c0@hyperon> [Guido van Rossum] > Now that all output goes to the Python Shell window, I'd like to see a > delimiter in that window whenever the subprocess is restarted. > Otherwise it's not always clear from viewing that window what > happened. I too would like to see this. Maybe "-----------" or "********". Often one will want to search backwards for the previous delimiter to see the start of the run. Maybe given the high utility of this, there should be a specific menu option (and key binding) to back up to the most recent delimiter. > This sounds like it's an issue with VPython's main loop. Maybe it > doesn't exit its main loop when its graphics window is closed? There are two cases, at least in terms of user interface. Very often a VPython program is an infinite loop, as in the example of a bunch of stars orbiting each other forever. And even when a VPython program runs to completion, the graphics windows remain alive for viewing and for inspection by zooming/rotating with the mouse. When however you close a graphics window, Visual shuts down. I don't know the details of how this is done, but I stress that with the original idlefork what happened was that I didn't have any problems. Maybe it is simply a matter of changing the signals sent by Visual to whoever spawned the program (in this case, idlefork)? Or is it that the new idlefork isn't looking for such signals? > I'm not sure if IDLEfork has a way to kill an uncooperative > subprocess; it should have one as a last resort. Also, ^C in the > shell window should send it something like SIGINT (on Unix). I couldn't find any way to kill the program and/or shell other than going to the system monitor. There definitely needs to be a menu option or something. Bruce Sherwood From noreply@sourceforge.net Wed Jan 1 17:20:25 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 09:20:25 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660702 ] Cannot configure help file Message-ID: Bugs item #660702, was opened at 2003-01-01 10:17 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: Cannot configure help file Initial Comment: On Windows, in the "General" section of the configuration settings, when I try to enter a valid URL on the internet (such as http://vpython.org/index.html), I'm told "Help path does not exist". If I enter the path to a local html file (such as C:\Python23\Doc\index.html), then click Apply, then click Ok, nothing new appears on the Help menu, and when I return to the configuration settings my entry is gone. It works properly if I click Ok without clicking Apply. Also, if I have valid additional html references and click Apply, then Ok, I lose those references. In summary, valid URL's cannot be entered, and the "Apply" button apparently erases all help entries. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-01 12:20 Message: Logged In: YES user_id=149084 This section of the code may be unfinished. How useful is the feature? Do you have any UI design suggestions? file://localhost/home/kbk/lynx_bookmarks.html on Linux results in "Help File Path Does Not Exist" (when it does) Also, Python help contacts the mother ship even when docs are installed locally. (Observed on Windows) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 From noreply@sourceforge.net Thu Jan 2 01:46:49 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 17:46:49 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660702 ] Cannot configure help file Message-ID: Bugs item #660702, was opened at 2003-01-01 15:17 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: Cannot configure help file Initial Comment: On Windows, in the "General" section of the configuration settings, when I try to enter a valid URL on the internet (such as http://vpython.org/index.html), I'm told "Help path does not exist". If I enter the path to a local html file (such as C:\Python23\Doc\index.html), then click Apply, then click Ok, nothing new appears on the Help menu, and when I return to the configuration settings my entry is gone. It works properly if I click Ok without clicking Apply. Also, if I have valid additional html references and click Apply, then Ok, I lose those references. In summary, valid URL's cannot be entered, and the "Apply" button apparently erases all help entries. ---------------------------------------------------------------------- >Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-02 01:46 Message: Logged In: YES user_id=34881 I consider this feature very important. I want to be able to configure the help options to give quick and easy access to the documentation on the Visual module. Considering UI issues, presumably there won't be lots of these custom options, so I would much prefer that they appear on the help menu at the highest level rather than buried on a submenu. See my RFE on the need for a relative addressing scheme for getting to the Python directory. And as you say, on Windows the help should point to the local docs, not a URL. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-01 17:20 Message: Logged In: YES user_id=149084 This section of the code may be unfinished. How useful is the feature? Do you have any UI design suggestions? file://localhost/home/kbk/lynx_bookmarks.html on Linux results in "Help File Path Does Not Exist" (when it does) Also, Python help contacts the mother ship even when docs are installed locally. (Observed on Windows) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 From noreply@sourceforge.net Thu Jan 2 01:55:02 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 17:55:02 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660908 ] IDLE help file out of date Message-ID: Bugs item #660908, was opened at 2003-01-02 01:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE help file out of date Initial Comment: The help.txt file accessed from "IDLE help" is out of date and needs significant revision. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 From noreply@sourceforge.net Thu Jan 2 02:13:28 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 18:13:28 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660702 ] Cannot configure help file Message-ID: Bugs item #660702, was opened at 2003-01-01 10:17 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: Cannot configure help file Initial Comment: On Windows, in the "General" section of the configuration settings, when I try to enter a valid URL on the internet (such as http://vpython.org/index.html), I'm told "Help path does not exist". If I enter the path to a local html file (such as C:\Python23\Doc\index.html), then click Apply, then click Ok, nothing new appears on the Help menu, and when I return to the configuration settings my entry is gone. It works properly if I click Ok without clicking Apply. Also, if I have valid additional html references and click Apply, then Ok, I lose those references. In summary, valid URL's cannot be entered, and the "Apply" button apparently erases all help entries. ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-01 21:13 Message: Logged In: YES user_id=6380 Boy does that code looks unfinished. E.g. when it pops up the error dialog it also pops up a blank Tk root widget. And the OK button doesn't respond to hitting Return. It seems it *only* accepts local filenames (that explains why it doesn't like file://... URLs). And indeed Apply erases all additional help. I agree with Bruce that the extra help should be in the main Help menu. Pointing to the local docs should be done (except if they can't be found). ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-01 20:46 Message: Logged In: YES user_id=34881 I consider this feature very important. I want to be able to configure the help options to give quick and easy access to the documentation on the Visual module. Considering UI issues, presumably there won't be lots of these custom options, so I would much prefer that they appear on the help menu at the highest level rather than buried on a submenu. See my RFE on the need for a relative addressing scheme for getting to the Python directory. And as you say, on Windows the help should point to the local docs, not a URL. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-01 12:20 Message: Logged In: YES user_id=149084 This section of the code may be unfinished. How useful is the feature? Do you have any UI design suggestions? file://localhost/home/kbk/lynx_bookmarks.html on Linux results in "Help File Path Does Not Exist" (when it does) Also, Python help contacts the mother ship even when docs are installed locally. (Observed on Windows) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 From noreply@sourceforge.net Thu Jan 2 05:06:57 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 21:06:57 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660702 ] Cannot configure help file Message-ID: Bugs item #660702, was opened at 2003-01-01 10:17 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Bruce Sherwood (bsherwood) >Assigned to: Kurt B. Kaiser (kbk) Summary: Cannot configure help file Initial Comment: On Windows, in the "General" section of the configuration settings, when I try to enter a valid URL on the internet (such as http://vpython.org/index.html), I'm told "Help path does not exist". If I enter the path to a local html file (such as C:\Python23\Doc\index.html), then click Apply, then click Ok, nothing new appears on the Help menu, and when I return to the configuration settings my entry is gone. It works properly if I click Ok without clicking Apply. Also, if I have valid additional html references and click Apply, then Ok, I lose those references. In summary, valid URL's cannot be entered, and the "Apply" button apparently erases all help entries. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-02 00:06 Message: Logged In: YES user_id=149084 Thanks for the comments. I'll take a look at the code and try to clear up these issues. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-01 21:13 Message: Logged In: YES user_id=6380 Boy does that code looks unfinished. E.g. when it pops up the error dialog it also pops up a blank Tk root widget. And the OK button doesn't respond to hitting Return. It seems it *only* accepts local filenames (that explains why it doesn't like file://... URLs). And indeed Apply erases all additional help. I agree with Bruce that the extra help should be in the main Help menu. Pointing to the local docs should be done (except if they can't be found). ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-01 20:46 Message: Logged In: YES user_id=34881 I consider this feature very important. I want to be able to configure the help options to give quick and easy access to the documentation on the Visual module. Considering UI issues, presumably there won't be lots of these custom options, so I would much prefer that they appear on the help menu at the highest level rather than buried on a submenu. See my RFE on the need for a relative addressing scheme for getting to the Python directory. And as you say, on Windows the help should point to the local docs, not a URL. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-01 12:20 Message: Logged In: YES user_id=149084 This section of the code may be unfinished. How useful is the feature? Do you have any UI design suggestions? file://localhost/home/kbk/lynx_bookmarks.html on Linux results in "Help File Path Does Not Exist" (when it does) Also, Python help contacts the mother ship even when docs are installed locally. (Observed on Windows) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 From noreply@sourceforge.net Thu Jan 2 05:11:24 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 01 Jan 2003 21:11:24 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660908 ] IDLE help file out of date Message-ID: Bugs item #660908, was opened at 2003-01-01 20:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE help file out of date Initial Comment: The help.txt file accessed from "IDLE help" is out of date and needs significant revision. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-02 00:11 Message: Logged In: YES user_id=149084 I made a revision pass at this awhile back, can you give me some examples of improvements needed? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 From noreply@sourceforge.net Thu Jan 2 16:11:03 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 08:11:03 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660908 ] IDLE help file out of date Message-ID: Bugs item #660908, was opened at 2003-01-02 01:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE help file out of date Initial Comment: The help.txt file accessed from "IDLE help" is out of date and needs significant revision. ---------------------------------------------------------------------- >Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-02 16:11 Message: Logged In: YES user_id=34881 I apologize. It appears that I accidentally was looking at the old idlefork help. Your revisions are just what was needed. However, it would be good to delete the old "Don't panic" advice item, since the help menu is now somewhat crowded. Reference to it would also be deleted from the IDLE help. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-02 05:11 Message: Logged In: YES user_id=149084 I made a revision pass at this awhile back, can you give me some examples of improvements needed? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 From kbk@users.sourceforge.net Thu Jan 2 17:09:36 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 02 Jan 2003 09:09:36 -0800 Subject: [Idle-dev] CVS: idle idle,1.8,1.9 idle.py,1.6,1.7 idle.pyw,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv15100 Modified Files: idle idle.py idle.pyw Log Message: Improve exception handling. Index: idle =================================================================== RCS file: /cvsroot/idlefork/idle/idle,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** idle 31 Dec 2002 23:18:00 -0000 1.8 --- idle 2 Jan 2003 17:09:34 -0000 1.9 *************** *** 3,9 **** try: import idlelib.PyShell - idlelib.PyShell.main() except ImportError: # IDLE is not installed, but maybe PyShell is on sys.path: import PyShell PyShell.main() --- 3,10 ---- try: import idlelib.PyShell except ImportError: # IDLE is not installed, but maybe PyShell is on sys.path: import PyShell PyShell.main() + else: + idlelib.PyShell.main() Index: idle.py =================================================================== RCS file: /cvsroot/idlefork/idle/idle.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** idle.py 31 Dec 2002 23:18:00 -0000 1.6 --- idle.py 2 Jan 2003 17:09:34 -0000 1.7 *************** *** 3,9 **** try: import idlelib.PyShell - idlelib.PyShell.main() except ImportError: # IDLE is not installed, but maybe PyShell is on sys.path: import PyShell PyShell.main() --- 3,10 ---- try: import idlelib.PyShell except ImportError: # IDLE is not installed, but maybe PyShell is on sys.path: import PyShell PyShell.main() + else: + idlelib.PyShell.main() Index: idle.pyw =================================================================== RCS file: /cvsroot/idlefork/idle/idle.pyw,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** idle.pyw 31 Dec 2002 23:18:00 -0000 1.5 --- idle.pyw 2 Jan 2003 17:09:34 -0000 1.6 *************** *** 3,9 **** try: import idlelib.PyShell - idlelib.PyShell.main() except ImportError: # IDLE is not installed, but maybe PyShell is on sys.path: import PyShell PyShell.main() --- 3,10 ---- try: import idlelib.PyShell except ImportError: # IDLE is not installed, but maybe PyShell is on sys.path: import PyShell PyShell.main() + else: + idlelib.PyShell.main() From noreply@sourceforge.net Thu Jan 2 17:18:16 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 09:18:16 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661191 ] Space in Python executable path bug Message-ID: Bugs item #661191, was opened at 2003-01-02 09:18 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661191&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Space in Python executable path bug Initial Comment: I have a space in the path to my version of Python. When I start up idlefork, I get C:\Program: can't open file 'Files\Python22\python.exe' Platform: Win2000 Python: v 2.2.1 Idlefork: 0.9 alpha 1 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661191&group_id=9579 From noreply@sourceforge.net Thu Jan 2 17:26:34 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 09:26:34 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661191 ] Space in Python executable path bug Message-ID: Bugs item #661191, was opened at 2003-01-02 12:18 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661191&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Space in Python executable path bug Initial Comment: I have a space in the path to my version of Python. When I start up idlefork, I get C:\Program: can't open file 'Files\Python22\python.exe' Platform: Win2000 Python: v 2.2.1 Idlefork: 0.9 alpha 1 ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-02 12:26 Message: Logged In: YES user_id=6380 That's why the Python installer defaults to installing in C:\Python22\. Try reinstalling Python using the default path. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661191&group_id=9579 From kbk@users.sourceforge.net Thu Jan 2 20:33:29 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 02 Jan 2003 12:33:29 -0800 Subject: [Idle-dev] CVS: idle setup.py,1.11,1.12 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv32339 Modified Files: setup.py Log Message: 1. Remove obsolete, incorrect comment on non-package installation 2. Add more .txt files to installation 3. Fix the reference to Visual Python, s/b VPython Index: setup.py =================================================================== RCS file: /cvsroot/idlefork/idle/setup.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** setup.py 24 Dec 2002 06:36:19 -0000 1.11 --- setup.py 2 Jan 2003 20:33:26 -0000 1.12 *************** *** 7,14 **** idle_name = "idle" - # IDLE not being imported as a package by its script. It is now being - # installed as a collection of modules in a directory in .../site-packages/, - # with a .pth file which will add IDLE to sys.path - # Name of 'package' to be installed in site-packages: pkgname = idle_name + "lib" --- 7,10 ---- *************** *** 29,34 **** # the normal build_py would not incorporate anything but .py files ! txt_files = ['extend.txt', 'help.txt', 'CREDITS.txt', 'LICENSE.txt', ! 'README.txt'] txt_files += ['config-extensions.def', 'config-highlight.def', 'config-keys.def', 'config-main.def'] --- 25,30 ---- # the normal build_py would not incorporate anything but .py files ! txt_files = ['extend.txt', 'help.txt', 'CREDITS.txt', 'HISTORY.txt', ! 'INSTALL.txt', 'LICENSE.txt', 'NEWS.txt', 'README.txt'] txt_files += ['config-extensions.def', 'config-highlight.def', 'config-keys.def', 'config-main.def'] *************** *** 102,106 **** IDLEfork is a separate line of development which was initiated by ! D. Scherer at CMU as part of Visual Python. It features execution in a separate process which is newly initiated for each run. At version 0.9 the RPC was changed to incorporate code by GvR, which supports the --- 98,102 ---- IDLEfork is a separate line of development which was initiated by ! David Scherer at CMU as part of VPython. It features execution in a separate process which is newly initiated for each run. At version 0.9 the RPC was changed to incorporate code by GvR, which supports the From kbk@shore.net Thu Jan 2 21:02:48 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 02 Jan 2003 16:02:48 -0500 Subject: [Idle-dev] new idlefork package References: <002601c2b14e$9d48e200$6401a8c0@hyperon> Message-ID: "Bruce Sherwood" writes: > I like being told the first time I try to run a new script that I need to > save the file, because I've seen novices go for a long period of editing and > running without saving to a permanent file. Yes, there is a minor annoyance > when I'm just fooling around and would rather not bother inventing a file > name, but on balance the change seems a good one, though conceivably this > should be configuration option. It's good to teach them the proper use of foo.py early on. :) > I would like to request another configuration option, one to turn > off the "Okay to save?" window that comes up after an edit when I > hit F5 to run. A major point of the original idlefork was to enable > single-key interactivity, to bring to whole-file edit/run cycles the > immediacy that formerly was available only in the interactive > shell. I would much prefer the default to be "off", but if that is > unacceptable at least give me a way to turn it off. There may be several config defaults which are not to your preference, but it should be simple to distribute an .idlerc to your students which will configure IDLE the way you like. > I realize that many experienced programmers are uncomfortable with > unannounced saves, but with the infinite un-do of idlefork this > really isn't a problem, and you can always save a copy if you wish > at any stage. High interactivity is the vitally important issue > here. It isn't just the need to hit another key to get past the > dialog box; it's the added cognitive load of an interruption to the > work -- you lose focus needlessly. I'd pretty much agree. The problem I see is hitting F5 when your window focus was in the wrong window. Of course, you'd get an unexpected run of the "wrong" module, but the user might not see the little * disappear from the window title bar. Should we pop up a "Saving foo.py" warning dialog for one second and then proceed (with no further acknowledgement)? Auto save should be a configuration option; I don't know if I can get to it before the merge because it means further development of the Settings dialog. But I can hope. Could you post this as an RFE? > There is what looks like a very serious problem with running VPython > programs, and I don't know whether this is an idlefork issue or a > VPython issue. With the original idlefork, I could kill a running > VPython program by clicking in the close box of the graphics window > (leaving the print output window up, with whatever printing occurred > up to that time). I could then hit F5 again (with the edit window > active, with or without making an edit) to re-run the program. Now > however, when I hit the close box of the VPython graphics window and > then try to re-run the program, I'm told that "The Python Shell > window is already executing a command; please wait until it is > finished." I have found no way to do another run, or even to quit > Python, without going to the system monitor and killing the Python > job. (I should mention for context that most VPython programs run as > infinite loops; a good example is a program of orbiting stars. And > even if a VPython program goes to completion, the graphics windows > stay up so you can see the resulting images.) There is a general problem with breaking into the Windows subprocess. Right now, if I initiate a tight loop (no I/O) in the shell on Windows, I have to kill IDLEfork with the task manager. Note that terminating the IDLEfork application is not enough, the subprocess will continue to run disconnected from the user. You have to kill all the python processes. This is less than ideal :) The problem doesn't occur on Linux (and, I assume, OS X) because the subprocess can be signalled (though the Kill dialog doesn't work correctly). I will look at David Scherer's code to see what tricks he might have been using. Also, Guido had a method using the debugger hooks which may have possibilities on Windows. I have not experimented with it and don't know how serious the performance hit is. The Windows workaround is to put print '*', in the outer loop and on W2K, anyway, a KeyboardInterrupt will be recognized. Can you tell me how to access some test code? > A related issue is that with the original idlefork I didn't even > have to hit the close box before starting a new run. With the edit > window active I could hit F5 and that killed the old graphics > windows and re-ran the program. Now I get into the "already > executing a command" bind. Per GvR comment, this would be a config option, same comment as above. Could you post an RFE? ======================================= >From later posting on this thread: ** GvR: > This sounds like it's an issue with VPython's main loop. Maybe it > doesn't exit its main loop when its graphics window is closed? ** BS: There are two cases, at least in terms of user interface. Very often a VPython program is an infinite loop, as in the example of a bunch of stars orbiting each other forever. And even when a VPython program runs to completion, the graphics windows remain alive for viewing and for inspection by zooming/rotating with the mouse. When however you close a graphics window, Visual shuts down. I don't know the details of how this is done, but I stress that with the original idlefork what happened was that I didn't have any problems. Maybe it is simply a matter of changing the signals sent by Visual to whoever spawned the program (in this case, idlefork)? Or is it that the new idlefork isn't looking for such signals? ** GvR: > I'm not sure if IDLEfork has a way to kill an uncooperative > subprocess; it should have one as a last resort. Also, ^C in the > shell window should send it something like SIGINT (on Unix). ** BS: I couldn't find any way to kill the program and/or shell other than going to the system monitor. There definitely needs to be a menu option or something. KBK: The W2K Task Manager has a right click "End Process Tree", so maybe Windows is getting saner. If W2K can kill the tree, then we should be able to figure out how to do it. Don't know about W98 yet (it's dual booted with my Linux ;) We are sending a KILL sig in Linux and I have not had problems terminating a tight loop like def tightloop(): while 1: pass with a Ctrl-c in the shell. However, if I try to quit IDLEfork when this code is running, a "Kill?" dialog pops up, and does not work. That's a bug. =============================================================== > I noticed a (very minor) typo in the history/credits given at the > start of the installer on Windows: "IDLEfork is a separate line of > development which was initiated by D. Scherer at CMU as part of > Visual Python." It should be VPython, not Visual Python. The latter > name existed for a relatively short time and was abandoned due to > activity elsewhere aimed at incorporating support for Python in > Microsoft's Visual Studio. (FYI, see http://vpython.org for > VPython.) Fixed, along with "D." Scherer Thanks for the review. -- KBK From basherwo@unity.ncsu.edu Thu Jan 2 21:32:10 2003 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Thu, 2 Jan 2003 16:32:10 -0500 Subject: [Idle-dev] new idlefork package References: <002601c2b14e$9d48e200$6401a8c0@hyperon> Message-ID: <001b01c2b2a6$686d6430$6401a8c0@hyperon> [Kurt Kaiser] > There may be several config defaults which are not to your preference, > but it should be simple to distribute an .idlerc to your students which > will configure IDLE the way you like. What is ".idlerc"? I don't see such a file in the idlefork package. I assumed that to configure IDLE for my students I would have to give them something (e.g. the VPython installer) which overwrote the four config-*.def files? I would prepare my versions of these files using idlefork's configuration machinery. Do you mean that .idlerc would be a script that would run to overwrite the config files? Bruce Sherwood From noreply@sourceforge.net Thu Jan 2 21:58:15 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 13:58:15 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661324 ] Does not play well with Tkinter when on-quit handler invoked Message-ID: Bugs item #661324, was opened at 2003-01-02 21:58 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661324&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Chui Tey (teyc) Assigned to: Nobody/Anonymous (nobody) Summary: Does not play well with Tkinter when on-quit handler invoked Initial Comment: The following program: import Tkinter import sys root = Tkinter.Tk() console = Tkinter.Button(root, text='Done', command=root.quit) console.pack() root.mainloop() locks up the running program if "Done" is pressed. The program stops locking when the Shell window is closed. I observed this behaviour on Windows 2000, running ASPN Python 2.2. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661324&group_id=9579 From basherwo@unity.ncsu.edu Thu Jan 2 22:09:55 2003 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Thu, 2 Jan 2003 17:09:55 -0500 Subject: [Idle-dev] new idlefork package References: <002601c2b14e$9d48e200$6401a8c0@hyperon> Message-ID: <002901c2b2ab$ae723ff0$6401a8c0@hyperon> [Kurt B. Kaiser] > There is a general problem with breaking into the Windows subprocess. > Right now, if I initiate a tight loop (no I/O) in the shell on > Windows, I have to kill IDLEfork with the task manager. Note that > terminating the IDLEfork application is not enough, the subprocess > will continue to run disconnected from the user. You have to kill > all the python processes. This is less than ideal :) > > The problem doesn't occur on Linux (and, I assume, OS X) because the > subprocess can be signalled (though the Kill dialog doesn't work > correctly). I will look at David Scherer's code to see what tricks he > might have been using. Also, Guido had a method using the debugger > hooks which may have possibilities on Windows. I have not > experimented with it and don't know how serious the performance hit > is. > > The Windows workaround is to put > print '*', > in the outer loop and on W2K, anyway, a KeyboardInterrupt will > be recognized. > > Can you tell me how to access some test code? The only tests I'm really familiar with are VPython. If you install VPython (http://vpython.org) and run the original idlefork (for which there are shortcuts provided, as explained at vpython.org), "Open" gives you a set of demo programs to run. Pick one, say bounce2.py (a ball bouncing around in a 3D box). If you hit the close box on the graphics window, the subprocess ends. Or leave the animation running and make some edit to the program, then hit F5. You'll see the graphics window disappear as the old subprocess exits, then the new run will start with your edits in effect. I should explain that Scherer built the Visual module (which together with Python is what we call VPython, along with idlefork; also Numeric is installed) in such a way that one can break into an infinite loop simply by hitting the close box on the animation window. This is highly desirable behavior in the hands of novice programmers! The reason this works is due to the basic architecture of Visual; it's not a general solution. Take the bouncing ball program. It starts by declaring a sphere and boxes making up the walls of the container. Then there is an infinite loop which moves the ball and checks for collisions with the walls. In the loop there are no graphics commands; there are just calculational commands to update ball.pos, the position attribute of the sphere object names "ball". A parallel thread periodically looks at the current attributes of the previously declared graphics objects and creates a 3D image corresponding to the current attributes. This means that you get a navigable 3D animation as a side effect of computations, which was a brilliantly original idea of David Scherer and which makes programmatic 3D animation accessible to nonexpert programmers. You can see that it has the additional benefit that it is impossible for the programmer to write an infinite loop that can't be killed, because the parallel thread notices when the user hits the close box and kills the program gracefully. I don't know what it is about the new idlefork that has broken this important feature. A general statement about the VPython environment is that there are lots of features which are aimed at making programming safe and productive for ordinary mortals, including navigable 3D animations as side effects of computation, a single-key interactive edit/run cycle for complete programs, safe infinite loops, and autosave to make sure the file is kept up to date. One might also mention the fact that graphics windows automatically spring into existence when you declare a graphics object, with none of the abstruse window-creation code found in most graphics environments. Bruce Sherwood From noreply@sourceforge.net Thu Jan 2 22:57:43 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 14:57:43 -0800 Subject: [Idle-dev] [ idlefork-Patches-661363 ] Run multiple IDLEforks on the same machine simultanously Message-ID: Patches item #661363, was opened at 2003-01-03 00:57 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661363&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Noam Raphael (noamr) Assigned to: Nobody/Anonymous (nobody) Summary: Run multiple IDLEforks on the same machine simultanously Initial Comment: Instead of defining a specific port (8833), a list of legitimate ports is defined. When IDLE starts, it goes over the list and tries each of the ports. When it finds a port which is ok, it starts the subprocess. The list of ports which I defined is very arbitrary, and should be reviewed. A more minor change, which is calling the spawn_subprocess method only after the RPCClient class was succesfully initialized, solves the bug that when opening a second IDLE, an error message is displayed but a malfunctioning shell window is displayed, and when it's closed, the subprocess keeps on running until the first IDLE is shut down. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661363&group_id=9579 From kbk@shore.net Thu Jan 2 23:10:33 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 02 Jan 2003 18:10:33 -0500 Subject: ["Bruce Sherwood" ] Re: [Idle-dev] new idlefork package Message-ID: -------------------- Start of forwarded message -------------------- Received: from (relay2.primushost.com) [207.244.125.21] by nautilus.shore.net with esmtp (Exim) id 18UD4m-0003Te-00; Thu, 02 Jan 2003 16:40:28 -0500 Received: from ncsmtp03.ogw.rr.com [24.93.67.84] by relay2.primushost.com with esmtp (Exim) id 18UD5j-0007MH-00; Thu, 02 Jan 2003 16:41:27 -0500 Received: from mail4.nc.rr.com (fe4 [24.93.67.51]) by ncsmtp03.ogw.rr.com (8.12.5/8.12.2) with ESMTP id h02LdkiZ013953 for ; Thu, 2 Jan 2003 16:39:46 -0500 (EST) Received: from hyperon ([24.74.143.200]) by mail4.nc.rr.com with Microsoft SMTPSVC(5.5.1877.757.75); Thu, 2 Jan 2003 16:41:15 -0500 Message-ID: <001f01c2b2a7$929f6f40$6401a8c0@hyperon> From: "Bruce Sherwood" To: "Kurt B. Kaiser" References: <002601c2b14e$9d48e200$6401a8c0@hyperon> Subject: Re: [Idle-dev] new idlefork package Date: Thu, 2 Jan 2003 16:40:30 -0500 X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2720.3000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 [Kurt B. Kaiser] > > I realize that many experienced programmers are uncomfortable with > > unannounced saves, but with the infinite un-do of idlefork this > > really isn't a problem, and you can always save a copy if you wish > > at any stage. High interactivity is the vitally important issue > > here. It isn't just the need to hit another key to get past the > > dialog box; it's the added cognitive load of an interruption to the > > work -- you lose focus needlessly. > > I'd pretty much agree. The problem I see is hitting F5 when your > window focus was in the wrong window. Of course, you'd get an > unexpected run of the "wrong" module, but the user might not see the > little * disappear from the window title bar. Should we pop up a > "Saving foo.py" warning dialog for one second and then proceed (with > no further acknowledgement)? I wouldn't want any dialog box to pop up to break the train of thought. The only warning I can imagine possibly being okay would be on the first autosave to say something like "Saving foo.py, as will be done automatically on each run." This wouldn't show again, but it would alert everyone that this is how the environment works (assuming the preference has been set to autosave = on). The possible value of this one-time warning is that many users (including students in a class) may not be the ones who set the preferences and are therefore unaware that autosave is in effect. In fact, in many institutional settings the user CAN'T set the preferences, because Python is in a read-only directory. (Hmm. This makes me realize that eventually there may be requests for a user's own preferences to override those in the idlefork directory.) > Auto save should be a configuration option; I don't know if I can get > to it before the merge because it means further development of the > Settings dialog. But I can hope. Could you post this as an RFE? I'll do that. Bruce Sherwood -------------------- End of forwarded message -------------------- From noreply@sourceforge.net Fri Jan 3 03:55:01 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 19:55:01 -0800 Subject: [Idle-dev] [ idlefork-Patches-661363 ] Run multiple IDLEforks on the same machine simultanously Message-ID: Patches item #661363, was opened at 2003-01-02 17:57 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661363&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Noam Raphael (noamr) Assigned to: Nobody/Anonymous (nobody) Summary: Run multiple IDLEforks on the same machine simultanously Initial Comment: Instead of defining a specific port (8833), a list of legitimate ports is defined. When IDLE starts, it goes over the list and tries each of the ports. When it finds a port which is ok, it starts the subprocess. The list of ports which I defined is very arbitrary, and should be reviewed. A more minor change, which is calling the spawn_subprocess method only after the RPCClient class was succesfully initialized, solves the bug that when opening a second IDLE, an error message is displayed but a malfunctioning shell window is displayed, and when it's closed, the subprocess keeps on running until the first IDLE is shut down. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-02 22:55 Message: Logged In: YES user_id=149084 Converted Noam Raphael's file to a context patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661363&group_id=9579 From kbk@shore.net Fri Jan 3 05:22:09 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 03 Jan 2003 00:22:09 -0500 Subject: [Idle-dev] Sourceforge News Message-ID: The IDLEfork release made the front page news on Sourceforge. -- KBK From noreply@sourceforge.net Fri Jan 3 06:47:56 2003 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 02 Jan 2003 22:47:56 -0800 Subject: [Idle-dev] [ idlefork-Patches-661472 ] Mouse wheel mod to TreeWidget Message-ID: Patches item #661472, was opened at 2003-01-02 22:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661472&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Mouse wheel mod to TreeWidget Initial Comment: The mousewheel works everywhere BUT in the path/class browsers. Attached patch trivially binds buttons 4 and 5 -- Nigel Rowe ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661472&group_id=9579 From krkrai@lib.cmu.ac.th Fri Jan 3 07:51:36 2003 From: krkrai@lib.cmu.ac.th (Kriengkrai Chaimin) Date: Fri, 3 Jan 2003 14:51:36 +0700 (ICT) Subject: [Idle-dev] what? Message-ID: <1989.10.44.247.200.1041580296.squirrel@mailbox.lib.cmu.ac.th> what? From noreply@sourceforge.net Fri Jan 3 15:35:38 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 07:35:38 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661676 ] some cosmetic configure window issues Message-ID: Bugs item #661676, was opened at 2003-01-03 16:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Hernan Martinez Foffani (hfoffani) Assigned to: Nobody/Anonymous (nobody) Summary: some cosmetic configure window issues Initial Comment: some widgets in the configure windows are uninitalized on the first run: - font (it doesn't highlight the default font) - "Built-in Theme" option is not checked - which Tab key insertion scheme is the default - "Built-in Key Set" option is not checked - one of both option at Startup Preference should be checked ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 From noreply@sourceforge.net Fri Jan 3 15:37:40 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 07:37:40 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661676 ] some cosmetic configure window issues Message-ID: Bugs item #661676, was opened at 2003-01-03 16:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Hernan Martinez Foffani (hfoffani) Assigned to: Nobody/Anonymous (nobody) Summary: some cosmetic configure window issues Initial Comment: some widgets in the configure windows are uninitalized on the first run: - font (it doesn't highlight the default font) - "Built-in Theme" option is not checked - which Tab key insertion scheme is the default - "Built-in Key Set" option is not checked - one of both option at Startup Preference should be checked ---------------------------------------------------------------------- >Comment By: Hernan Martinez Foffani (hfoffani) Date: 2003-01-03 16:37 Message: Logged In: YES user_id=112690 ups... forgot to tell: Python 2.3a1 (#38, Dec 31 2002, 17:53:59) [MSC v.1200 32 bit (Intel)] on win32 IDLEfork 0.9a1 Windows 2k spanish version. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 From ark@research.att.com Fri Jan 3 17:09:05 2003 From: ark@research.att.com (Andrew Koenig) Date: Fri, 3 Jan 2003 12:09:05 -0500 (EST) Subject: [Idle-dev] preserving newline representation in source files Message-ID: <200301031709.h03H95F00611@europa.research.att.com> Working in a mixed Unix/Windows environment, I note that whenever I push a python source file from my Unix machine to my Windows machine, use Idle to modify it on the Windows machine, and then push it back to the Unix machine, it now has the Windows newline representation. This behavior is entirely plausible and straightforward, but there is an alternative treatment, which emacs uses, that I think is more useful: When emacs reads a file, it remembers the newline convention that the file uses, and preserves that convention when it writes the file back. I wonder -- has anyone considered such behavior for a future Idle version? -- Andrew Koenig, ark@research.att.com, http://www.research.att.com/info/ark From guido@python.org Fri Jan 3 17:32:47 2003 From: guido@python.org (Guido van Rossum) Date: Fri, 03 Jan 2003 12:32:47 -0500 Subject: [Idle-dev] preserving newline representation in source files In-Reply-To: Your message of "Fri, 03 Jan 2003 12:09:05 EST." <200301031709.h03H95F00611@europa.research.att.com> References: <200301031709.h03H95F00611@europa.research.att.com> Message-ID: <200301031733.h03HWl813777@odiug.zope.com> > Working in a mixed Unix/Windows environment, I note that whenever I > push a python source file from my Unix machine to my Windows machine, > use Idle to modify it on the Windows machine, and then push it back to > the Unix machine, it now has the Windows newline representation. > > This behavior is entirely plausible and straightforward, but there is > an alternative treatment, which emacs uses, that I think is more > useful: When emacs reads a file, it remembers the newline convention > that the file uses, and preserves that convention when it writes the > file back. > > I wonder -- has anyone considered such behavior for a future Idle version? Until recently this would have been a pain. As of Python 2.3, it can be done quite conveniently using universal newlines, open(filename,"U"), and the new 'newlines' attribute of resulting file objects. --Guido van Rossum (home page: http://www.python.org/~guido/) From ark@research.att.com Fri Jan 3 17:35:18 2003 From: ark@research.att.com (Andrew Koenig) Date: Fri, 3 Jan 2003 12:35:18 -0500 (EST) Subject: [Idle-dev] preserving newline representation in source files In-Reply-To: <200301031733.h03HWl813777@odiug.zope.com> (message from Guido van Rossum on Fri, 03 Jan 2003 12:32:47 -0500) References: <200301031709.h03H95F00611@europa.research.att.com> <200301031733.h03HWl813777@odiug.zope.com> Message-ID: <200301031735.h03HZIP01033@europa.research.att.com> >> I wonder -- has anyone considered such behavior for a future Idle version? Guido> Until recently this would have been a pain. As of Python 2.3, Guido> it can be done quite conveniently using universal newlines, Guido> open(filename,"U"), and the new 'newlines' attribute of Guido> resulting file objects. I suspected as much, which is part of the reason I asked the question :-) I'm hoping that someone familiar with Idle internals will like the idea enough to implement it. -- Andrew Koenig, ark@research.att.com, http://www.research.att.com/info/ark From guido@python.org Fri Jan 3 17:44:33 2003 From: guido@python.org (Guido van Rossum) Date: Fri, 03 Jan 2003 12:44:33 -0500 Subject: [Idle-dev] preserving newline representation in source files In-Reply-To: Your message of "Fri, 03 Jan 2003 12:35:18 EST." <200301031735.h03HZIP01033@europa.research.att.com> References: <200301031709.h03H95F00611@europa.research.att.com> <200301031733.h03HWl813777@odiug.zope.com> <200301031735.h03HZIP01033@europa.research.att.com> Message-ID: <200301031744.h03HiXe13886@odiug.zope.com> > >> I wonder -- has anyone considered such behavior for a future Idle version? > > Guido> Until recently this would have been a pain. As of Python 2.3, > Guido> it can be done quite conveniently using universal newlines, > Guido> open(filename,"U"), and the new 'newlines' attribute of > Guido> resulting file objects. > > I suspected as much, which is part of the reason I asked the question > :-) I'm hoping that someone familiar with Idle internals will like the > idea enough to implement it. Add a SF bug report for it. --Guido van Rossum (home page: http://www.python.org/~guido/) From noreply@sourceforge.net Fri Jan 3 17:51:58 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 09:51:58 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661324 ] Does not play well with Tkinter when on-quit handler invoked Message-ID: Bugs item #661324, was opened at 2003-01-02 16:58 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661324&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Chui Tey (teyc) Assigned to: Nobody/Anonymous (nobody) Summary: Does not play well with Tkinter when on-quit handler invoked Initial Comment: The following program: import Tkinter import sys root = Tkinter.Tk() console = Tkinter.Button(root, text='Done', command=root.quit) console.pack() root.mainloop() locks up the running program if "Done" is pressed. The program stops locking when the Shell window is closed. I observed this behaviour on Windows 2000, running ASPN Python 2.2. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 12:51 Message: Logged In: YES user_id=149084 Confirmed on IDLEfork/Linux. Code can be Run again, though, don't need to close shell. Is that true for Windows? Same program crashes Python IDLE on second button press, something about a Tk callback error. Probably some kind of self abuse issue? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661324&group_id=9579 From noreply@sourceforge.net Fri Jan 3 17:53:11 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 09:53:11 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661191 ] Space in Python executable path bug Message-ID: Bugs item #661191, was opened at 2003-01-02 12:18 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661191&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Wont Fix Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Space in Python executable path bug Initial Comment: I have a space in the path to my version of Python. When I start up idlefork, I get C:\Program: can't open file 'Files\Python22\python.exe' Platform: Win2000 Python: v 2.2.1 Idlefork: 0.9 alpha 1 ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-02 12:26 Message: Logged In: YES user_id=6380 That's why the Python installer defaults to installing in C:\Python22\. Try reinstalling Python using the default path. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661191&group_id=9579 From noreply@sourceforge.net Fri Jan 3 17:59:12 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 09:59:12 -0800 Subject: [Idle-dev] [ idlefork-Bugs-441475 ] Wrong initial numbers in status bar. Message-ID: Bugs item #441475, was opened at 2001-07-15 12:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=441475&group_id=9579 Category: None Group: None Status: Open >Resolution: Fixed Priority: 5 Submitted By: Patrick K. O'Brien (pobrien) Assigned to: Nobody/Anonymous (nobody) Summary: Wrong initial numbers in status bar. Initial Comment: When IDLE is run (on Win98, at least) it displays incorrect line and column numbers in the status bar - lin: 1 col: 3 should be lin: 7 col: 4. As soon as the cursor is moved the status bar is updated with the proper information. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 12:59 Message: Logged In: YES user_id=149084 Appears OK on Linux and W2K. Starting shell from Run shows correct row/col. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2002-05-20 05:53 Message: Logged In: YES user_id=6380 I can still reproduce something like this on Linux. Bring up the Python Shell window from the Run menu. Notice that it displays 0 for the column number (the line number is correct). ---------------------------------------------------------------------- Comment By: Stephen M. Gava (elguavas) Date: 2002-05-19 21:37 Message: Logged In: YES user_id=75867 Can anyone with win98 still reproduce this problem? I think it may have been fixed ages ago. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=441475&group_id=9579 From noreply@sourceforge.net Fri Jan 3 18:11:46 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 10:11:46 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661759 ] IDLE should preserve source files' newline conventions Message-ID: Bugs item #661759, was opened at 2003-01-03 18:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew Koenig (arkoenig) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE should preserve source files' newline conventions Initial Comment: If I move a Unix source file to a Windows system (or vice versa) and use IDLE to edit the file, the changed file acquires the newline convention of its new host. This behavior, though logical, is inconvenient in heterogeneous environments. I would like to suggest that when IDLE opens a source file, it should determine what newline convention the file uses and preserve that convention when it updates the file. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 From ark@research.att.com Fri Jan 3 18:11:41 2003 From: ark@research.att.com (Andrew Koenig) Date: Fri, 3 Jan 2003 13:11:41 -0500 (EST) Subject: [Idle-dev] preserving newline representation in source files In-Reply-To: <200301031744.h03HiXe13886@odiug.zope.com> (message from Guido van Rossum on Fri, 03 Jan 2003 12:44:33 -0500) References: <200301031709.h03H95F00611@europa.research.att.com> <200301031733.h03HWl813777@odiug.zope.com> <200301031735.h03HZIP01033@europa.research.att.com> <200301031744.h03HiXe13886@odiug.zope.com> Message-ID: <200301031811.h03IBfV02582@europa.research.att.com> >> I suspected as much, which is part of the reason I asked the question >> :-) I'm hoping that someone familiar with Idle internals will like the >> idea enough to implement it. Guido> Add a SF bug report for it. #661759 From noreply@sourceforge.net Fri Jan 3 19:59:31 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 11:59:31 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661759 ] IDLE should preserve source files' newline conventions Message-ID: Bugs item #661759, was opened at 2003-01-03 13:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Andrew Koenig (arkoenig) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE should preserve source files' newline conventions Initial Comment: If I move a Unix source file to a Windows system (or vice versa) and use IDLE to edit the file, the changed file acquires the newline convention of its new host. This behavior, though logical, is inconvenient in heterogeneous environments. I would like to suggest that when IDLE opens a source file, it should determine what newline convention the file uses and preserve that convention when it updates the file. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 14:59 Message: Logged In: YES user_id=149084 ** GvR Idle-dev: Until recently this would have been a pain. As of Python 2.3, it can be done quite conveniently using universal newlines, open(filename,"U"), and the new 'newlines' attribute of resulting file objects. ========== I suppose that since IDLEfork supports 2.2 that this would be deferred until after the merge? KBK ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 From kbk@users.sourceforge.net Sat Jan 4 01:43:56 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 03 Jan 2003 17:43:56 -0800 Subject: [Idle-dev] CVS: idle AutoExpand.py,1.5,1.6 Bindings.py,1.13,1.14 EditorWindow.py,1.42,1.43 PyShell.py,1.51,1.52 config-keys.def,1.15,1.16 configHandler.py,1.27,1.28 help.txt,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv18411 Modified Files: AutoExpand.py Bindings.py EditorWindow.py PyShell.py config-keys.def configHandler.py help.txt Log Message: M AutoExpand.py M Bindings.py M EditorWindow.py M PyShell.py M config-keys.def M configHandler.py M help.txt 1. Annotate the shell window with last restart boundary upon restart. 2. Provide a shell menu entry and hot key (F6) to jump to the last restart boundary. 3. Add a new shell menu feature to restart the shell. 4. Update the help menu to add these features. 5. Update the help menu to put text in same order as the menus. 6. Correct a capitalization inconsistency on the Edit menu: Expand Word 7. Rename the "Debug" menu to be "Shell": it's doing more now. 8. Rearrange the "Shell" menu to make the StackViewer entries adjacent. 9. Add a get_geometry method to EditorWindow, which may be of use in making window positions persisent. 10. Make the "Classic Windows" paste key. 11. Restore decorum on the Help menu by removing "Advice". As Guido said, things will never be the same. Thanks, David! Index: AutoExpand.py =================================================================== RCS file: /cvsroot/idlefork/idle/AutoExpand.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** AutoExpand.py 15 Sep 2002 20:50:02 -0000 1.5 --- AutoExpand.py 4 Jan 2003 01:43:52 -0000 1.6 *************** *** 10,14 **** menudefs = [ ('edit', [ ! ('E_xpand word', '<>'), ]), ] --- 10,14 ---- menudefs = [ ('edit', [ ! ('E_xpand Word', '<>'), ]), ] Index: Bindings.py =================================================================== RCS file: /cvsroot/idlefork/idle/Bindings.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** Bindings.py 24 Dec 2002 00:51:05 -0000 1.13 --- Bindings.py 4 Jan 2003 01:43:53 -0000 1.14 *************** *** 56,66 **** ('Python Shell', '<>'), ]), ! ('debug', [ ('_Go to File/Line', '<>'), - ('_Stack Viewer', '<>'), ('!_Debugger', '<>'), ('!_Auto-open Stack Viewer', '<>' ), ]), ! ('settings', [ ('_Configure Idle...', '<>'), None, --- 56,69 ---- ('Python Shell', '<>'), ]), ! ('shell', [ ! ('_View Last Restart', '<>'), ! ('_Restart Shell', '<>'), ! None, ('_Go to File/Line', '<>'), ('!_Debugger', '<>'), + ('_Stack Viewer', '<>'), ('!_Auto-open Stack Viewer', '<>' ), ]), ! ('options', [ ('_Configure Idle...', '<>'), None, *************** *** 70,74 **** ('_IDLE Help...', '<>'), ('Python _Documentation...', '<>'), - ('_Advice...', '<>'), ('View IDLE _Readme...', '<>'), None, --- 73,76 ---- Index: EditorWindow.py =================================================================== RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -r1.42 -r1.43 *** EditorWindow.py 31 Dec 2002 15:59:14 -0000 1.42 --- EditorWindow.py 4 Jan 2003 01:43:53 -0000 1.43 *************** *** 61,64 **** --- 61,65 ---- self.vbar = vbar = Scrollbar(top, name='vbar') self.text_frame = text_frame = Frame(top) + self.width = idleConf.GetOption('main','EditorWindow','width') self.text = text = Text(text_frame, name='text', padx=5, wrap='none', foreground=idleConf.GetHighlight(currentTheme, *************** *** 72,76 **** insertbackground=idleConf.GetHighlight(currentTheme, 'cursor',fgBg='fg'), ! width=idleConf.GetOption('main','EditorWindow','width'), height=idleConf.GetOption('main','EditorWindow','height') ) --- 73,77 ---- insertbackground=idleConf.GetHighlight(currentTheme, 'cursor',fgBg='fg'), ! width=self.width, height=idleConf.GetOption('main','EditorWindow','height') ) *************** *** 85,89 **** text.bind("<>", self.center_insert_event) text.bind("<>", self.help_dialog) - text.bind("<>", self.good_advice) text.bind("<>", self.view_readme) text.bind("<>", self.python_docs) --- 86,89 ---- *************** *** 214,218 **** ("format", "F_ormat"), ("run", "_Run"), ! ("settings", "_Settings"), ("windows", "_Windows"), ("help", "_Help"), --- 214,218 ---- ("format", "F_ormat"), ("run", "_Run"), ! ("options", "_Options"), ("windows", "_Windows"), ("help", "_Help"), *************** *** 278,284 **** configDialog.ConfigDialog(self.top,'Settings') - def good_advice(self, event=None): - tkMessageBox.showinfo('Advice', "Don't Panic!", master=self.text) - def view_readme(self, event=None): fn=os.path.join(os.path.abspath(os.path.dirname(__file__)),'README.txt') --- 278,281 ---- *************** *** 666,669 **** --- 663,673 ---- text = self.text return int(float(text.index(mark))) + + def get_geometry(self): + "Return (width, height, x, y)" + geom = self.top.wm_geometry() + m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom) + tuple = (map(int, m.groups())) + return tuple def close_event(self, event): Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -r1.51 -r1.52 *** PyShell.py 31 Dec 2002 15:59:14 -0000 1.51 --- PyShell.py 4 Jan 2003 01:43:53 -0000 1.52 *************** *** 367,370 **** --- 367,376 ---- self.rpcclt.accept() self.transfer_path() + # annotate restart in shell window and mark it + console = self.tkconsole + halfbar = ((int(console.width) - 16) // 2) * '=' + console.write(halfbar + ' RESTART ' + halfbar) + console.text.mark_set("restart", "end-1c") + console.text.mark_gravity("restart", "left") # restart remote debugger if debug: *************** *** 653,658 **** ("file", "_File"), ("edit", "_Edit"), ! ("debug", "_Debug"), ! ("settings", "_Settings"), ("windows", "_Windows"), ("help", "_Help"), --- 659,664 ---- ("file", "_File"), ("edit", "_Edit"), ! ("shell", "_Shell"), ! ("options", "_Options"), ("windows", "_Windows"), ("help", "_Help"), *************** *** 688,691 **** --- 694,699 ---- text.bind("<>", self.flist.open_shell) text.bind("<>", self.toggle_jit_stack_viewer) + text.bind("<>", self.view_restart_mark) + text.bind("<>", self.restart_shell) # self.save_stdout = sys.stdout *************** *** 728,732 **** self.setvar("<>", not not db) ! def toggle_jit_stack_viewer( self, event=None): pass # All we need is the variable --- 736,740 ---- self.setvar("<>", not not db) ! def toggle_jit_stack_viewer(self, event=None): pass # All we need is the variable *************** *** 1024,1027 **** --- 1032,1043 ---- from StackViewer import StackBrowser sv = StackBrowser(self.root, self.flist) + + def view_restart_mark(self, event=None): + self.text.see("iomark") + self.text.see("restart") + + def restart_shell(self, event=None): + self.interp.restart_subprocess() + self.showprompt() def showprompt(self): Index: config-keys.def =================================================================== RCS file: /cvsroot/idlefork/idle/config-keys.def,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** config-keys.def 29 Sep 2002 00:10:15 -0000 1.15 --- config-keys.def 4 Jan 2003 01:43:53 -0000 1.16 *************** *** 11,15 **** copy= cut= ! paste= beginning-of-line= center-insert= --- 11,15 ---- copy= cut= ! paste= beginning-of-line= center-insert= *************** *** 23,26 **** --- 23,27 ---- history-previous= interrupt-execution= + view-restart= open-class-browser= open-module= *************** *** 68,71 **** --- 69,73 ---- history-previous= interrupt-execution= + view-restart= open-class-browser= open-module= *************** *** 117,120 **** --- 119,123 ---- history-previous= interrupt-execution= + view-restart= open-class-browser= open-module= Index: configHandler.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHandler.py,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -r1.27 -r1.28 *** configHandler.py 31 Dec 2002 16:03:23 -0000 1.27 --- configHandler.py 4 Jan 2003 01:43:53 -0000 1.28 *************** *** 509,512 **** --- 509,513 ---- '<>': [''], '<>': [''], + '<>': [''], '<>': [''], '<>': [''], Index: help.txt =================================================================== RCS file: /cvsroot/idlefork/idle/help.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** help.txt 11 Dec 2002 04:42:39 -0000 1.5 --- help.txt 4 Jan 2003 01:43:53 -0000 1.6 *************** *** 1,3 **** ! [See end for ** TIPS ] Click on the dotted line at the top of a menu to "tear it off": a --- 1,3 ---- ! [See end for ** TIPS on using IDLE] Click on the dotted line at the top of a menu to "tear it off": a *************** *** 12,16 **** Class Browser -- show classes and methods in current file Path Browser -- show sys.path directories, modules, classes ! and methods --- Save -- save current window to the associated file (unsaved --- 12,16 ---- Class Browser -- show classes and methods in current file Path Browser -- show sys.path directories, modules, classes ! and methods --- Save -- save current window to the associated file (unsaved *************** *** 65,69 **** Run Script -- Execute the current file in the __main__ namespace ! Settings Menu: Configure IDLE -- Open a configuration dialog. Fonts, indentation, --- 65,80 ---- Run Script -- Execute the current file in the __main__ namespace ! Shell Menu (only in Shell window): ! ! View Last Restart -- Scroll the shell window to the last restart ! Restart Shell -- Restart the interpreter with a fresh environment ! --- ! Go to File/Line -- look around the insert point for a filename ! and linenumber, open the file, and show the line ! Debugger (toggle) -- Run commands in the shell under the debugger ! Stack Viewer -- show the stack traceback of the last exception ! Auto-open Stack Viewer (toggle) -- Open stack viewer on traceback ! ! Options Menu: Configure IDLE -- Open a configuration dialog. Fonts, indentation, *************** *** 82,93 **** necessary). - Debug Menu (in the Python Shell window only): - - Go to File/Line -- look around the insert point for a filename - and linenumber, open the file, and show the line - Stack Viewer -- show the stack traceback of the last exception - Debugger (toggle) -- Run commands in the shell under the debugger - Auto-open Stack Viewer (toggle) -- Open stack viewer on traceback - Help Menu: --- 93,96 ---- *************** *** 95,99 **** Python Documentation -- Access local Python documentation, if installed. Otherwise access python.org. - Advice -- Emergency Only! IDLE Readme -- Background discussion and change details --- --- 98,101 ---- From kbk@shore.net Sat Jan 4 01:50:03 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 03 Jan 2003 20:50:03 -0500 Subject: [Idle-dev] new idlefork package In-Reply-To: <001a01c2b1ac$c21ae930$6401a8c0@hyperon> References: <002601c2b14e$9d48e200$6401a8c0@hyperon> <200301011351.h01DpIU17012@pcp02138704pcs.reston01.va.comcast.net> <001a01c2b1ac$c21ae930$6401a8c0@hyperon> Message-ID: "Bruce Sherwood" writes: > [Guido van Rossum] > > Now that all output goes to the Python Shell window, I'd like to > > see a delimiter in that window whenever the subprocess is > > restarted. Otherwise it's not always clear from viewing that > > window what happened. > > I too would like to see this. Maybe "-----------" or > "********". Often one will want to search backwards for the previous > delimiter to see the start of the run. Maybe given the high utility > of this, there should be a specific menu option (and key binding) to > back up to the most recent delimiter. Implemented. Also added ability to restart the subprocess from the Shell menu. What's the Shell menu? It replaces the Debug menu because it's doing more now, and may do even more in the future. And the Options menu replaces Settings to avoid conflict with use of the alt-s key to select the Shell menu.... -- KBK From noreply@sourceforge.net Sat Jan 4 02:15:36 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 03 Jan 2003 18:15:36 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660908 ] IDLE help file out of date Message-ID: Bugs item #660908, was opened at 2003-01-01 20:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Bruce Sherwood (bsherwood) >Assigned to: Kurt B. Kaiser (kbk) Summary: IDLE help file out of date Initial Comment: The help.txt file accessed from "IDLE help" is out of date and needs significant revision. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 21:15 Message: Logged In: YES user_id=149084 Removed "Advice" Thanks David!! ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-02 11:11 Message: Logged In: YES user_id=34881 I apologize. It appears that I accidentally was looking at the old idlefork help. Your revisions are just what was needed. However, it would be good to delete the old "Don't panic" advice item, since the help menu is now somewhat crowded. Reference to it would also be deleted from the IDLE help. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-02 00:11 Message: Logged In: YES user_id=149084 I made a revision pass at this awhile back, can you give me some examples of improvements needed? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660908&group_id=9579 From noreply@sourceforge.net Sun Jan 5 07:18:08 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sat, 04 Jan 2003 23:18:08 -0800 Subject: [Idle-dev] [ idlefork-Bugs-662497 ] Stops working when displaying huge lists Message-ID: Bugs item #662497, was opened at 2003-01-04 23:18 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=662497&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Stops working when displaying huge lists Initial Comment: I tried out 0.9a1 on a sieve based prime number script I had. It starts by creating a list of odd numbers below 10 million. primes = range(1, 10000000, 2) If I turn on Locals in the debug control window, it locks up trying to display the huge list. If I don't turn on Locals, it steps and debugs fine. If change the list size to 100, the Locals display works fine too. Seeing as only the first and last few items on long lists are displayed, I don't see why a huge list should take longer to display than a merely large list. Is there a way to display the middle values in the list? I'm thinking of some sort of eval where "primes[37]" could be displayed while stopped at a breakpoint. Is there a way to change a variable while at a breakpoint? That's a basic function of almost any debugger. Maybe these are beyond the scope of Idle. For comparison with another free IDE, the debugger in PythonWin has the eval style window and displays all the list entries, but doesn't have a way to change variables. It locks on the huge list, but that's understandable, because it tries to display the entire list. Patrick Ellis pellis@tampabay.rr.com ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=662497&group_id=9579 From noreply@sourceforge.net Sun Jan 5 22:00:59 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 05 Jan 2003 14:00:59 -0800 Subject: [Idle-dev] [ idlefork-Bugs-662497 ] Stops working when displaying huge lists Message-ID: Bugs item #662497, was opened at 2003-01-05 02:18 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=662497&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted >Priority: 2 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Stops working when displaying huge lists Initial Comment: I tried out 0.9a1 on a sieve based prime number script I had. It starts by creating a list of odd numbers below 10 million. primes = range(1, 10000000, 2) If I turn on Locals in the debug control window, it locks up trying to display the huge list. If I don't turn on Locals, it steps and debugs fine. If change the list size to 100, the Locals display works fine too. Seeing as only the first and last few items on long lists are displayed, I don't see why a huge list should take longer to display than a merely large list. Is there a way to display the middle values in the list? I'm thinking of some sort of eval where "primes[37]" could be displayed while stopped at a breakpoint. Is there a way to change a variable while at a breakpoint? That's a basic function of almost any debugger. Maybe these are beyond the scope of Idle. For comparison with another free IDE, the debugger in PythonWin has the eval style window and displays all the list entries, but doesn't have a way to change variables. It locks on the huge list, but that's understandable, because it tries to display the entire list. Patrick Ellis pellis@tampabay.rr.com ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-05 17:00 Message: Logged In: YES user_id=149084 Ability to eval expressions during debugging and to change variables are planned enhancements. However, your entering an RFE would be appreciated. The locking on a large list is a bug, but not high priority. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=662497&group_id=9579 From noreply@sourceforge.net Sun Jan 5 22:03:12 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 05 Jan 2003 14:03:12 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661759 ] IDLE should preserve source files' newline conventions Message-ID: Bugs item #661759, was opened at 2003-01-03 13:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 Category: None Group: None Status: Open >Resolution: Duplicate Priority: 5 Submitted By: Andrew Koenig (arkoenig) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE should preserve source files' newline conventions Initial Comment: If I move a Unix source file to a Windows system (or vice versa) and use IDLE to edit the file, the changed file acquires the newline convention of its new host. This behavior, though logical, is inconvenient in heterogeneous environments. I would like to suggest that when IDLE opens a source file, it should determine what newline convention the file uses and preserve that convention when it updates the file. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-05 17:03 Message: Logged In: YES user_id=149084 Duplicate of 838584 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 14:59 Message: Logged In: YES user_id=149084 ** GvR Idle-dev: Until recently this would have been a pain. As of Python 2.3, it can be done quite conveniently using universal newlines, open(filename,"U"), and the new 'newlines' attribute of resulting file objects. ========== I suppose that since IDLEfork supports 2.2 that this would be deferred until after the merge? KBK ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 From noreply@sourceforge.net Sun Jan 5 22:04:51 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 05 Jan 2003 14:04:51 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661676 ] some cosmetic configure window issues Message-ID: Bugs item #661676, was opened at 2003-01-03 10:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted >Priority: 3 Submitted By: Hernan Martinez Foffani (hfoffani) >Assigned to: Kurt B. Kaiser (kbk) Summary: some cosmetic configure window issues Initial Comment: some widgets in the configure windows are uninitalized on the first run: - font (it doesn't highlight the default font) - "Built-in Theme" option is not checked - which Tab key insertion scheme is the default - "Built-in Key Set" option is not checked - one of both option at Startup Preference should be checked ---------------------------------------------------------------------- Comment By: Hernan Martinez Foffani (hfoffani) Date: 2003-01-03 10:37 Message: Logged In: YES user_id=112690 ups... forgot to tell: Python 2.3a1 (#38, Dec 31 2002, 17:53:59) [MSC v.1200 32 bit (Intel)] on win32 IDLEfork 0.9a1 Windows 2k spanish version. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 From kbk@shore.net Mon Jan 6 01:25:17 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 05 Jan 2003 20:25:17 -0500 Subject: [Idle-dev] Windows Helpfiles Message-ID: Is pythlp.chm still a useful file? I don't see it in the Python 2.2 distribution for Windows. Ref. /Python/ SF 540583 Patch hfoffani -- KBK From hernan@orgmf.com.ar Mon Jan 6 12:18:02 2003 From: hernan@orgmf.com.ar (Hernan Martinez Foffani) Date: Mon, 6 Jan 2003 13:18:02 +0100 Subject: [Idle-dev] RE: Windows Helpfiles In-Reply-To: Message-ID: [Kurt B. Kaiser] > Is pythlp.chm still a useful file? I don't see > it in the Python 2.2 distribution for Windows. > > Ref. /Python/ SF 540583 Patch hfoffani I used to provide it myself. You can get it here: http://www.orgmf.com.ar/condor/pytstuff.html It let you make full text search, that's why it has a big set of supporters, specially newbies. Some time ago there were a discussion in python-dev to include that file in the standard distribution. It was aknowledged of the advantanges to do so but also no deep studies were done at that moment. I even understand myself now that there are reasons for NOT to do it. Actually it's not in the Python 2.3 alfa. About that patch... Given the new user configurable Help menu, I don't know if it is worth it. On older versions of IDLE it was required knowledge of Python beyond the apprentice to change the default help system. But on the last IDLE alfa everyone can do it. Would it work for .chm files? ;-) Regards, -Hernan From guido@python.org Mon Jan 6 15:18:07 2003 From: guido@python.org (Guido van Rossum) Date: Mon, 06 Jan 2003 10:18:07 -0500 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: Your message of "05 Jan 2003 20:25:17 EST." References: Message-ID: <200301061518.h06FI7901393@odiug.zope.com> > Is pythlp.chm still a useful file? I don't see > it in the Python 2.2 distribution for Windows. > > Ref. /Python/ SF 540583 Patch hfoffani pythlp.chm is a 3rd party add-on; it was never distributed as part of Python for Windows, and probably never will (keeping it up to date proved too much of a hassle). But as long as it is available as a 3rd party add-on, I see no reason why IDLE couldn't look for it and add a help item for it if it exists. --Guido van Rossum (home page: http://www.python.org/~guido/) From kbk@shore.net Mon Jan 6 16:08:29 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 06 Jan 2003 11:08:29 -0500 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: <200301061518.h06FI7901393@odiug.zope.com> References: <200301061518.h06FI7901393@odiug.zope.com> Message-ID: Guido van Rossum writes: > > Is pythlp.chm still a useful file? I don't see > > it in the Python 2.2 distribution for Windows. > > > > Ref. /Python/ SF 540583 Patch hfoffani > > pythlp.chm is a 3rd party add-on; it was never distributed as part of > Python for Windows, and probably never will (keeping it up to date > proved too much of a hassle). But as long as it is available as a 3rd > party add-on, I see no reason why IDLE couldn't look for it and add a > help item for it if it exists. OK, then we have two choices: leave it hardwired in EditorWindow or let the user use the Extra Help facility to add it. Right now, if it is found it will be used instead of the standard Python html help even if the latter exists locally. Third possiblility, change the search order to look for pythlp.chm last. My inclination? Let the user add it to Extra Help. -- KBK From kbk@shore.net Mon Jan 6 16:14:13 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 06 Jan 2003 11:14:13 -0500 Subject: [Idle-dev] new idlefork package In-Reply-To: References: <002601c2b14e$9d48e200$6401a8c0@hyperon> <200301011351.h01DpIU17012@pcp02138704pcs.reston01.va.comcast.net> <001a01c2b1ac$c21ae930$6401a8c0@hyperon> Message-ID: kbk@shore.net (Kurt B. Kaiser) writes: > "Bruce Sherwood" writes: > > > [Guido van Rossum] > > > Now that all output goes to the Python Shell window, I'd like to > > > see a delimiter in that window whenever the subprocess is > > > restarted. Otherwise it's not always clear from viewing that > > > window what happened. > > > > I too would like to see this. Maybe "-----------" or > > "********". Often one will want to search backwards for the previous > > delimiter to see the start of the run. Maybe given the high utility > > of this, there should be a specific menu option (and key binding) to > > back up to the most recent delimiter. > > Implemented. Also added ability to restart the subprocess from the > Shell menu. What's the Shell menu? It replaces the Debug menu because > it's doing more now, and may do even more in the future. And the > Options menu replaces Settings to avoid conflict with use of the > alt-s key to select the Shell menu.... I've been having some second thoughts about this. Probably there should be a Shell menu /and/ a Debug menu. So the shell window menu lineup would be: File Edit Shell Debug Options Windows Help The Shell menu would contain: View Last Restart F6 Restart Shell -- KBK From basherwo@unity.ncsu.edu Mon Jan 6 17:39:08 2003 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Mon, 6 Jan 2003 12:39:08 -0500 Subject: [Idle-dev] Windows Helpfiles References: <200301061518.h06FI7901393@odiug.zope.com> Message-ID: <000901c2b5aa$842b6760$e5770198@muon> Hmm. What's the criterion for such a search? Is it possible that IDLE could look for the reference manual for the visual module? It is in the form of a folder named "visual" with a bunch of html files, and the starting location is "index.html". Obviously it should be searched for only if the visual module exists. (It's fine to say that this isn't sensible!) Bruce ----- Original Message ----- From: "Guido van Rossum" To: "Kurt B. Kaiser" Cc: ; Sent: Monday, January 06, 2003 10:18 AM Subject: Re: [Idle-dev] Windows Helpfiles > > Is pythlp.chm still a useful file? I don't see > > it in the Python 2.2 distribution for Windows. > > > > Ref. /Python/ SF 540583 Patch hfoffani > > pythlp.chm is a 3rd party add-on; it was never distributed as part of > Python for Windows, and probably never will (keeping it up to date > proved too much of a hassle). But as long as it is available as a 3rd > party add-on, I see no reason why IDLE couldn't look for it and add a > help item for it if it exists. > > --Guido van Rossum (home page: http://www.python.org/~guido/) > > _______________________________________________ > IDLE-dev mailing list > IDLE-dev@python.org > http://mail.python.org/mailman/listinfo/idle-dev > From noreply@sourceforge.net Mon Jan 6 17:49:37 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 06 Jan 2003 09:49:37 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661759 ] IDLE should preserve source files' newline conventions Message-ID: Bugs item #661759, was opened at 2003-01-03 18:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 Category: None Group: None Status: Open Resolution: Duplicate Priority: 5 Submitted By: Andrew Koenig (arkoenig) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE should preserve source files' newline conventions Initial Comment: If I move a Unix source file to a Windows system (or vice versa) and use IDLE to edit the file, the changed file acquires the newline convention of its new host. This behavior, though logical, is inconvenient in heterogeneous environments. I would like to suggest that when IDLE opens a source file, it should determine what newline convention the file uses and preserve that convention when it updates the file. ---------------------------------------------------------------------- >Comment By: Andrew Koenig (arkoenig) Date: 2003-01-06 17:49 Message: Logged In: YES user_id=418174 The other--and perhaps more useful--alternative would be to have it check for the presence of universal newline support and fall back to present behavior if the support is absent. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-05 22:03 Message: Logged In: YES user_id=149084 Duplicate of 838584 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 19:59 Message: Logged In: YES user_id=149084 ** GvR Idle-dev: Until recently this would have been a pain. As of Python 2.3, it can be done quite conveniently using universal newlines, open(filename,"U"), and the new 'newlines' attribute of resulting file objects. ========== I suppose that since IDLEfork supports 2.2 that this would be deferred until after the merge? KBK ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 From noreply@sourceforge.net Mon Jan 6 18:18:06 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 06 Jan 2003 10:18:06 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661759 ] IDLE should preserve source files' newline conventions Message-ID: Bugs item #661759, was opened at 2003-01-03 18:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 Category: None Group: None Status: Open Resolution: Duplicate Priority: 5 Submitted By: Andrew Koenig (arkoenig) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE should preserve source files' newline conventions Initial Comment: If I move a Unix source file to a Windows system (or vice versa) and use IDLE to edit the file, the changed file acquires the newline convention of its new host. This behavior, though logical, is inconvenient in heterogeneous environments. I would like to suggest that when IDLE opens a source file, it should determine what newline convention the file uses and preserve that convention when it updates the file. ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-06 18:18 Message: Logged In: YES user_id=34881 Here's another possibility, one which worked well in the cross- platform cT programming language environment. Have IDLE read any format, but always write in the format of the platform on which you're currently running. This has various nice properties. In addition to allowing seamless editing on all platforms, FTP of a saved file will be done intelligently to a different platform, because the local FTP expects the local file to be in local format. ---------------------------------------------------------------------- Comment By: Andrew Koenig (arkoenig) Date: 2003-01-06 17:49 Message: Logged In: YES user_id=418174 The other--and perhaps more useful--alternative would be to have it check for the presence of universal newline support and fall back to present behavior if the support is absent. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-05 22:03 Message: Logged In: YES user_id=149084 Duplicate of 838584 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 19:59 Message: Logged In: YES user_id=149084 ** GvR Idle-dev: Until recently this would have been a pain. As of Python 2.3, it can be done quite conveniently using universal newlines, open(filename,"U"), and the new 'newlines' attribute of resulting file objects. ========== I suppose that since IDLEfork supports 2.2 that this would be deferred until after the merge? KBK ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661759&group_id=9579 From hernan@orgmf.com.ar Mon Jan 6 18:32:51 2003 From: hernan@orgmf.com.ar (Hernan Martinez Foffani) Date: Mon, 6 Jan 2003 19:32:51 +0100 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: <000901c2b5aa$842b6760$e5770198@muon> Message-ID: [Guido] >> pythlp.chm is a 3rd party add-on; it was never distributed as part of >> Python for Windows, and probably never will (keeping it up to date >> proved too much of a hassle). But as long as it is available as a >> 3rd party add-on, I see no reason why IDLE couldn't look for it and >> add a help item for it if it exists. [Bruce] > Hmm. What's the criterion for such a search? Is it possible that IDLE > could look for the reference manual for the visual module? It is in > the form of a folder named "visual" with a bunch of html files, and > the starting location is "index.html". Obviously it should be > searched for only if the visual module exists. the patch, if I remember correctly, look for a file named 'pythlp.chm' under the Python directory. if it's there it use that file as a the python docs and it's open using os.startfile(). if it's not there the standard Doc/index.html is triggered thru webbrowser.open() regards, -H. From hernan@orgmf.com.ar Mon Jan 6 18:49:18 2003 From: hernan@orgmf.com.ar (Hernan Martinez Foffani) Date: Mon, 6 Jan 2003 19:49:18 +0100 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: Message-ID: [Kurt] > OK, then we have two choices: leave it hardwired in EditorWindow or > let the user use the Extra Help facility to add it. > > Right now, if it is found it will be used instead of the standard > Python html help even if the latter exists locally. > > Third possiblility, change the search order to look for pythlp.chm > last. > > My inclination? Let the user add it to Extra Help. The third possibility to be useful would mean that the user must rename, move or delete the standard Doc/* directory. So long the Extra Help works with files that aren't .htm/.html, dispatching them thru os.startfile() for instance, I don't mind. -Hernan From kbk@shore.net Mon Jan 6 19:25:06 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 06 Jan 2003 14:25:06 -0500 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: References: Message-ID: "Hernan Martinez Foffani" writes: > [Guido] > >> pythlp.chm is a 3rd party add-on; it was never distributed as part of > >> Python for Windows, and probably never will (keeping it up to date > >> proved too much of a hassle). But as long as it is available as a > >> 3rd party add-on, I see no reason why IDLE couldn't look for it and > >> add a help item for it if it exists. > > [Bruce] > > Hmm. What's the criterion for such a search? Is it possible that IDLE > > could look for the reference manual for the visual module? It is in > > the form of a folder named "visual" with a bunch of html files, and > > the starting location is "index.html". Obviously it should be > > searched for only if the visual module exists. > > the patch, if I remember correctly, look for a file named 'pythlp.chm' > under the Python directory. if it's there it use that file as a > the python docs and it's open using os.startfile(). if it's not there > the standard Doc/index.html is triggered thru webbrowser.open() The patch was in fact applied to Python IDLE. It only pertains to Windows, i.e. it looks for the win platform. If IDLE can't find pythlp.chm in the Python directory, it looks for index.html in the Python/Doc directory. (I am fixing IDLEfork so this works when IDLE is installed under site-packages). On Windows, the resulting path is opened via os.startfile(). webbrowser.open() is used on other platforms. I can arrange the Extra Help facility so that on Windows the path is opened with os.startfile(). It would be best not to special case IDLE for every possible help file/url. That's what the Extra Help facility is for. Bruce, to answer your earlier question, the .idlerc directory is created in the user's home directory on Linux, and currently at c:\ in Windows. It contains all the customizations that the user has made using the Settings dialog (and also his breakpoints). So it would be easy for you to set up a machine the way you want it and then propagate the .idlerc (possibly deleting the breakpoints.lst and recent-files.lst) to your students. With a little scripting, you could also switch .idlerc files on the fly for your demonstrations (e.g. use different font sizes). The Extra Help locations live in the [Help Files] section of .idlerc/config-main.cfg, so they will also be propagated. You could even propagate daily so the Extra Help would contain the day's Lab Instructions and the Recent Files List contains the day's examples. Anything not customized uses the defaults in the .def files. -- KBK From basherwo@unity.ncsu.edu Tue Jan 7 22:13:37 2003 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Tue, 7 Jan 2003 17:13:37 -0500 Subject: [Idle-dev] Windows Helpfiles References: Message-ID: <001301c2b69a$06e0cd90$6401a8c0@hyperon> From: "Kurt B. Kaiser" > Bruce, to answer your earlier question, the .idlerc directory is > created in the user's home directory on Linux, and currently at c:\ in > Windows. It contains all the customizations that the user has made > using the Settings dialog (and also his breakpoints). So it would be > easy for you to set up a machine the way you want it and then > propagate the .idlerc (possibly deleting the breakpoints.lst and > recent-files.lst) to your students. With a little scripting, you > could also switch .idlerc files on the fly for your demonstrations > (e.g. use different font sizes). The Extra Help locations live in the > [Help Files] section of .idlerc/config-main.cfg, so they will also be > propagated. You could even propagate daily so the Extra Help would > contain the day's Lab Instructions and the Recent Files List contains > the day's examples. > > Anything not customized uses the defaults in the .def files. Very interesting. Thanks for the feature and the explanation. Minor correction: I find experimentally on Windows that the .idlerc folder is not at c:\ but rather (correctly) in the individual user's "Documents and Settings" (at least on modern versions of Windows). That means that users should be able to do their own configuring even on machines where they're locked out of much of the hard disk. Bruce Sherwood From noreply@sourceforge.net Tue Jan 7 09:59:10 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 07 Jan 2003 01:59:10 -0800 Subject: [Idle-dev] [ idlefork-Bugs-652933 ] Open Module "math" Fails Message-ID: Bugs item #652933, was opened at 2002-12-12 16:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=652933&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Kurt B. Kaiser (kbk) Assigned to: Raymond Hettinger (rhettinger) >Summary: Open Module "math" Fails Initial Comment: Ref SF 600152 AttributeError: 'module' object has no attribute '__path__' ---------------------------------------------------------------------- >Comment By: Raymond Hettinger (rhettinger) Date: 2003-01-07 04:59 Message: Logged In: YES user_id=80475 Fixed along the lines of your suggestion. Committed as Tools/EditorWindow.py 1.45 in the main trunk. If necessary, go ahead and make the same change to IdleFork. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2002-12-13 10:25 Message: Logged In: YES user_id=149084 Hi Raymond I realize that, but IDLE is raising an error to the console and we're trying to avoid those. If I Open Module "RazzleDazzle" I get a Tk Import Error dialog, "No module named RazzleDazzle." What I'd suggest is to rework that dialog to say "No source for module RazzleDazzle" and then direct the __path__ error to that dialog also, so it can do double duty. ---------------------------------------------------------------------- Comment By: Raymond Hettinger (rhettinger) Date: 2002-12-12 17:48 Message: Logged In: YES user_id=80475 Open module only has meaning for pure python code. The math module is written in C, so there is nothing to open- up in IDLE. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=652933&group_id=9579 From kbk@shore.net Thu Jan 9 03:31:58 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: Wed, 08 Jan 2003 22:31:58 -0500 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: <001301c2b69a$06e0cd90$6401a8c0@hyperon> ("Bruce Sherwood"'s message of "Tue, 7 Jan 2003 17:13:37 -0500") References: <001301c2b69a$06e0cd90$6401a8c0@hyperon> Message-ID: "Bruce Sherwood" writes: > Very interesting. Thanks for the feature and the explanation. Yes, Stephen M. Gava worked hard to give us this feature. >Minor correction: I find experimentally on Windows that the .idlerc >folder is not at c:\ but rather (correctly) in the individual user's >"Documents and Settings" (at least on modern versions of >Windows). That means that users should be able to do their own >configuring even on machines where they're locked out of much of the >hard disk. Well, I agree that the My Documents folder is where it belongs. But I also determined experimentally that it's at c:\ and is re-created there when deleted. :) My W2K machine is unusual in that it's configured to put My Documents on the d: drive. Guess I'll have to read the code. -- KBK From noreply@sourceforge.net Thu Jan 9 21:05:08 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 09 Jan 2003 13:05:08 -0800 Subject: [Idle-dev] [ idlefork-Bugs-665311 ] calls to rpy hang Message-ID: Bugs item #665311, was opened at 2003-01-09 13:05 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665311&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: calls to rpy hang Initial Comment: rpy is a module that permits calls to r from python. it works fine with idle 0.7 and python 2.2 on a win2k platform. it hangs when a call is made from idlefork 0.8 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665311&group_id=9579 From noreply@sourceforge.net Fri Jan 10 00:18:14 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 09 Jan 2003 16:18:14 -0800 Subject: [Idle-dev] [ idlefork-Bugs-665311 ] calls to rpy hang Message-ID: Bugs item #665311, was opened at 2003-01-09 16:05 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665311&group_id=9579 Category: None Group: None >Status: Pending Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: calls to rpy hang Initial Comment: rpy is a module that permits calls to r from python. it works fine with idle 0.7 and python 2.2 on a win2k platform. it hangs when a call is made from idlefork 0.8 ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-09 19:18 Message: Logged In: YES user_id=149084 http://sourceforge.net/projects/rpy/ Please confirm that it fails with IDLEfork 0.9a1 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665311&group_id=9579 From kbk@users.sourceforge.net Fri Jan 10 03:06:32 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 09 Jan 2003 19:06:32 -0800 Subject: [Idle-dev] CVS: idle ScriptBinding.py,1.15,1.16 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv17792 Modified Files: ScriptBinding.py Log Message: Default the OK key in the Save Before Run dialog. Index: ScriptBinding.py =================================================================== RCS file: /cvsroot/idlefork/idle/ScriptBinding.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** ScriptBinding.py 31 Dec 2002 15:59:14 -0000 1.15 --- ScriptBinding.py 10 Jan 2003 03:06:30 -0000 1.16 *************** *** 156,159 **** --- 156,160 ---- icon=tkMessageBox.QUESTION, type=tkMessageBox.OKCANCEL, + default=tkMessageBox.OK, master=self.editwin.text) reply = mb.show() From kbk@shore.net Fri Jan 10 04:02:51 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: Thu, 09 Jan 2003 23:02:51 -0500 Subject: [Idle-dev] Windows Helpfiles In-Reply-To: (kbk@shore.net's message of "Wed, 08 Jan 2003 22:31:58 -0500") References: <001301c2b69a$06e0cd90$6401a8c0@hyperon> Message-ID: kbk@shore.net (Kurt B. Kaiser) writes: > Guess I'll have to read the code. Bruce, what's the value of HOME and HOMEPATH on your machine? On my W2K box HOMEPATH is c:\ and that's why the .idlerc is there. -- KBK From kbk@users.sourceforge.net Fri Jan 10 05:07:26 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 09 Jan 2003 21:07:26 -0800 Subject: [Idle-dev] CVS: idle EditorWindow.py,1.43,1.44 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv9238 Modified Files: EditorWindow.py Log Message: 1. Make finding Python help docs more robust, including the installed configuation. 2. Make sure that os.startfile() is used to open both Python help docs and Extra Help docs on the Windows platforms. Index: EditorWindow.py =================================================================== RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -r1.43 -r1.44 *** EditorWindow.py 4 Jan 2003 01:43:53 -0000 1.43 --- EditorWindow.py 10 Jan 2003 05:07:24 -0000 1.44 *************** *** 44,49 **** --- 44,67 ---- vars = {} + help_url = None def __init__(self, flist=None, filename=None, key=None, root=None): + if EditorWindow.help_url is None: + if sys.platform.count('linux'): + # look for html docs in a couple of standard places + pyver = 'python-docs-' + '%s.%s.%s' % sys.version_info[:3] + if os.path.isdir('/var/www/html/python/'): # "python2" rpm + dochome = '/var/www/html/python/index.html' + else: + basepath = '/usr/share/doc/' # standard location + dochome = os.path.join(basepath, pyver, + 'Doc', 'index.html') + else: + dochome = os.path.join(sys.prefix, 'Doc', 'index.html') + dochome = os.path.normpath(dochome) + if os.path.isfile(dochome): + EditorWindow.help_url = dochome + else: + EditorWindow.help_url = "http://www.python.org/doc/current" currentTheme=idleConf.CurrentTheme() self.flist = flist *************** *** 286,311 **** textView.TextViewer(self.top,'Help',fn) ! help_url = "http://www.python.org/doc/current/" ! if sys.platform[:3] == "win": ! fn = os.path.dirname(__file__) ! fn = os.path.join(fn, os.pardir, os.pardir, "pythlp.chm") ! fn = os.path.normpath(fn) ! if os.path.isfile(fn): ! help_url = fn ! else: ! fn = os.path.dirname(__file__) ! fn = os.path.join(fn, os.pardir, os.pardir, "Doc", "index.html") ! fn = os.path.normpath(fn) ! if os.path.isfile(fn): ! help_url = fn ! del fn ! def python_docs(self, event=None): os.startfile(self.help_url) ! else: ! def python_docs(self, event=None): ! self.display_docs(self.help_url) def display_docs(self, url): ! webbrowser.open(url) def cut(self,event): --- 304,321 ---- textView.TextViewer(self.top,'Help',fn) ! def python_docs(self, event=None): ! if sys.platform.count('win') or sys.platform.count('nt'): os.startfile(self.help_url) ! return "break" ! else: ! webbrowser.open(self.help_url) ! return "break" def display_docs(self, url): ! url = os.path.normpath(url) ! if sys.platform.count('win') or sys.platform.count('nt'): ! os.startfile(url) ! else: ! webbrowser.open(url) def cut(self,event): From noreply@sourceforge.net Fri Jan 10 05:44:52 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 09 Jan 2003 21:44:52 -0800 Subject: [Idle-dev] [ idlefork-Patches-661472 ] Mouse wheel mod to TreeWidget Message-ID: Patches item #661472, was opened at 2003-01-03 01:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661472&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Nobody/Anonymous (nobody) >Assigned to: Kurt B. Kaiser (kbk) Summary: Mouse wheel mod to TreeWidget Initial Comment: The mousewheel works everywhere BUT in the path/class browsers. Attached patch trivially binds buttons 4 and 5 -- Nigel Rowe ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661472&group_id=9579 From noreply@sourceforge.net Fri Jan 10 06:04:33 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 09 Jan 2003 22:04:33 -0800 Subject: [Idle-dev] [ idlefork-Patches-470637 ] better doc path on windows Message-ID: Patches item #470637, was opened at 2001-10-12 12:21 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=470637&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 7 Submitted By: Bruce Sherwood (bsherwood) >Assigned to: Kurt B. Kaiser (kbk) Summary: better doc path on windows Initial Comment: In EditorWindow.py, I suggest a better path to the documentation on Windows. The old way is commented out below; it says to start from where EditorWindow.py is located, come up two parent levels, then go down to \Doc\index.html. This works fine as long as idle is in Python21\Tools, but would not work if idle were in some arbitrary location. if sys.platform[:3] == "win": fn = os.path.split(sys.executable)[0] +'\Doc\index.html' ## fn = os.path.dirname(__file__) ## fn = os.path.join(fn, os.pardir, os.pardir, "Doc", "index.html") ## fn = os.path.normpath(fn) ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-10 01:04 Message: Logged In: YES user_id=149084 Implemented, but in a different way, to handle Linux, Additional Help, and Installed/Not Installed configurations. ---------------------------------------------------------------------- Comment By: Josh Robb (josh_robb) Date: 2002-10-01 12:09 Message: Logged In: YES user_id=614376 How do you add a patch attatchment to an existing issue? Index: EditorWindow.py =============================================== ==================== RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v retrieving revision 1.32 diff -c -r1.32 EditorWindow.py *** EditorWindow.py 26 Sep 2002 22:13:22 -0000 1.32 --- EditorWindow.py 30 Sep 2002 22:28:32 -0000 *************** *** 290,319 **** def help_dialog(self, event=None): fn=os.path.join(os.path.abspath(os.path.dirname (__file__)),'help.txt') textView.TextViewer(self.top,'Help',fn) ! ! help_url = "http://www.python.org/doc/current/" ! if sys.platform[:3] == "win": ! fn = os.path.dirname(__file__) ! fn = os.path.join(fn, os.pardir, os.pardir, "pythlp.chm") ! fn = os.path.normpath(fn) ! if os.path.isfile(fn): ! help_url = fn ! else: ! fn = os.path.dirname(__file__) ! fn = os.path.join(fn, os.pardir, os.pardir, "Doc", "index.html") ! fn = os.path.normpath(fn) ! if os.path.isfile(fn): ! help_url = fn ! del fn ! def python_docs(self, event=None): ! os.startfile(self.help_url) else: ! def python_docs(self, event=None): ! self.display_docs(self.help_url) def display_docs(self, url): webbrowser.open(url) def cut(self,event): self.text.event_generate("<>") return "break" --- 290,324 ---- def help_dialog(self, event=None): fn=os.path.join(os.path.abspath(os.path.dirname (__file__)),'help.txt') textView.TextViewer(self.top,'Help',fn) ! ! ## TODO help_url should be user configurable ! ## first time we should ask for location if we can't figure it out automagically. ! ! #Ka-Ping & co have already figured out how to do this. ! import pydoc ! dirroot = pydoc.Helper(None, None).docdir ! fn = os.path.join(dirroot, "index.html") ! if os.path.isfile(fn): ! help_url = fn else: ! help_url = "http://www.python.org/doc/current/" ! del pydoc, fn, dirroot def display_docs(self, url): webbrowser.open(url) + if sys.platform[:3] == "win": + dirroot = os.path.dirname(sys.executable) + fn = os.path.join(dirroot, "pythlp.chm") + if os.path.isfile(fn): + help_url = fn + def display_docs(self, url): + os.startfile(url) + del fn, dirroot + + def python_docs(self, event=None): + self.display_docs(self.help_url) + def cut(self,event): self.text.event_generate("<>") return "break" ---------------------------------------------------------------------- Comment By: Josh Robb (josh_robb) Date: 2002-10-01 12:08 Message: Logged In: YES user_id=614376 During the writing of the online help system (patch coming) i discovered that this code already exists in the pydoc module. This code works on UNIX/Windows i have no idea if it works on Mac but if it doesn't it should be fixed in pydoc which needs this logic anyway. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2002-09-22 21:56 Message: Logged In: YES user_id=149084 Stephen Gava made some improvements in Rev 1.23 which added pythlp.chm support for the win platform. (22Apr2002) PEP 250 standardizes the location of Idle on Windows but the canonical location of the docs requires investigation. Also, EditorWindow does not handle locally installed html docs on other platforms, e.g. Linux. It accesses the mother ship. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=470637&group_id=9579 From noreply@sourceforge.net Fri Jan 10 15:50:42 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 10 Jan 2003 07:50:42 -0800 Subject: [Idle-dev] [ idlefork-Bugs-665814 ] path to python executable not parsed correctly Message-ID: Bugs item #665814, was opened at 2003-01-10 15:50 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665814&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Gyro Funch (siva1311) Assigned to: Nobody/Anonymous (nobody) Summary: path to python executable not parsed correctly Initial Comment: When starting pyshell.py from the command line, I get the following: C:\Program: can't open file 'Files\Python22\python.exe' It appears that there is a problem with spaces in the path name leading to the Python executable. Platform: Win2000 Python 2.2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665814&group_id=9579 From noreply@sourceforge.net Fri Jan 10 16:41:24 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 10 Jan 2003 08:41:24 -0800 Subject: [Idle-dev] [ idlefork-Bugs-665814 ] path to python executable not parsed correctly Message-ID: Bugs item #665814, was opened at 2003-01-10 10:50 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665814&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Works For Me Priority: 5 Submitted By: Gyro Funch (siva1311) Assigned to: Nobody/Anonymous (nobody) Summary: path to python executable not parsed correctly Initial Comment: When starting pyshell.py from the command line, I get the following: C:\Program: can't open file 'Files\Python22\python.exe' It appears that there is a problem with spaces in the path name leading to the Python executable. Platform: Win2000 Python 2.2 ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-10 11:41 Message: Logged In: YES user_id=149084 Duplicate of 661191 The first thing I would check is whether the associations between the .py and .pyw extensions and python/pythonw are set correctly. Using the command line on W2K is problematic, Redmond is doing their best to eradicate it. cd Program Files works dir Program Files does not FWIW, on my W2K box I can call idlefork.pyw from the Program Files\Python\Scripts directory and it starts up OK. (I renamed the file per the installation notes) My Python is installed at c:\Program Files\Python\ and I'm running 2.2.1 If you want to be able to call Python from anywhere in the filesystem, you will have to add it to your PATH. If you want to start IDLEfork I'd recommend not calling PyShell.py. Call idlefork.py instead. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=665814&group_id=9579 From kbk@users.sourceforge.net Fri Jan 10 20:13:59 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 10 Jan 2003 12:13:59 -0800 Subject: [Idle-dev] CVS: idle configDialog.py,1.49,1.50 configHelpSourceEdit.py,1.3,1.4 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv3739 Modified Files: configDialog.py configHelpSourceEdit.py Log Message: M configDialog.py M configHelpSourceEdit.py 1. Attach configHelpSourceEdit error dialogs to parent to avoid Tk root pop-ups. 2. Make configHelpSourceEdit OK button the default and bind . 3. Reformat configHelpSourceEdit. 4. ConfigDialog.SaveAllChangedConfig() had a bug which caused additional help sources to be deleted when other config items were changed. 4. Uniform capitalization in configDialog. 5. Update configDialog doc string. Index: configDialog.py =================================================================== RCS file: /cvsroot/idlefork/idle/configDialog.py,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -r1.49 -r1.50 *** configDialog.py 31 Dec 2002 16:03:22 -0000 1.49 --- configDialog.py 10 Jan 2003 20:13:57 -0000 1.50 *************** *** 1,4 **** ! """ ! configuration dialog """ from Tkinter import * --- 1,12 ---- ! """IDLE Configuration Dialog: support user customization of IDLE by GUI ! ! Customize font faces, sizes, and colorization attributes. Set indentation ! defaults. Customize keybindings. Colorization and keybindings can be ! saved as user defined sets. Select startup options including shell/editor ! and default window size. Define additional help sources. ! ! Note that tab width in IDLE is currently fixed at eight due to Tk issues. ! Refer to comment in EditorWindow autoindent code for details. ! """ from Tkinter import * *************** *** 12,15 **** --- 20,24 ---- from configSectionNameDialog import GetCfgSectionNameDialog from configHelpSourceEdit import GetHelpSourceDialog + class ConfigDialog(Toplevel): """ *************** *** 337,345 **** #frameRun labelRunTitle=Label(frameRun,text='Startup Preferences') ! labelRunChoiceTitle=Label(frameRun,text='On startup : ') radioStartupEdit=Radiobutton(frameRun,variable=self.startupEdit, ! value=1,command=self.SetKeysType,text="open Edit Window") radioStartupShell=Radiobutton(frameRun,variable=self.startupEdit, ! value=0,command=self.SetKeysType,text='open Shell Window') #frameWinSize labelWinSizeTitle=Label(frameWinSize,text='Initial Window Size'+ --- 346,354 ---- #frameRun labelRunTitle=Label(frameRun,text='Startup Preferences') ! labelRunChoiceTitle=Label(frameRun,text='On Startup : ') radioStartupEdit=Radiobutton(frameRun,variable=self.startupEdit, ! value=1,command=self.SetKeysType,text="Open Edit Window") radioStartupShell=Radiobutton(frameRun,variable=self.startupEdit, ! value=0,command=self.SetKeysType,text='Open Shell Window') #frameWinSize labelWinSizeTitle=Label(frameWinSize,text='Initial Window Size'+ *************** *** 355,359 **** frameHelpList=Frame(frameHelp) frameHelpListButtons=Frame(frameHelpList) ! labelHelpListTitle=Label(frameHelpList,text='Additional (html) Help Sources:') scrollHelpList=Scrollbar(frameHelpList) self.listHelp=Listbox(frameHelpList,height=5,takefocus=FALSE, --- 364,368 ---- frameHelpList=Frame(frameHelp) frameHelpListButtons=Frame(frameHelpList) ! labelHelpListTitle=Label(frameHelpList,text='Additional Help Sources:') scrollHelpList=Scrollbar(frameHelpList) self.listHelp=Listbox(frameHelpList,height=5,takefocus=FALSE, *************** *** 841,849 **** self.SetColourSample() ! def OnCheckUserHelpBrowser(self): ! if self.userHelpBrowser.get(): ! self.entryHelpBrowser.config(state=NORMAL) ! else: ! self.entryHelpBrowser.config(state=DISABLED) def HelpSourceSelected(self,event): --- 850,858 ---- self.SetColourSample() ! ## def OnCheckUserHelpBrowser(self): ! ## if self.userHelpBrowser.get(): ! ## self.entryHelpBrowser.config(state=NORMAL) ! ## else: ! ## self.entryHelpBrowser.config(state=DISABLED) def HelpSourceSelected(self,event): *************** *** 891,895 **** def UpdateUserHelpChangedItems(self): ! #clear and rebuild the HelpFiles secion in self.changedItems if self.changedItems['main'].has_key('HelpFiles'): del(self.changedItems['main']['HelpFiles']) --- 900,904 ---- def UpdateUserHelpChangedItems(self): ! #clear and rebuild the HelpFiles section in self.changedItems if self.changedItems['main'].has_key('HelpFiles'): del(self.changedItems['main']['HelpFiles']) *************** *** 1070,1086 **** def SaveAllChangedConfigs(self): ! """ ! save all configuration changes to user config files. ! """ ! #this section gets completely replaced ! idleConf.userCfg['main'].remove_section('HelpFiles') idleConf.userCfg['main'].Save() for configType in self.changedItems.keys(): ! cfgTypeHasChanges=0 for section in self.changedItems[configType].keys(): for item in self.changedItems[configType][section].keys(): ! value=self.changedItems[configType][section][item] if self.SetUserValue(configType,section,item,value): ! cfgTypeHasChanges=1 if cfgTypeHasChanges: idleConf.userCfg[configType].Save() --- 1079,1094 ---- def SaveAllChangedConfigs(self): ! "Save configuration changes to the user config file." idleConf.userCfg['main'].Save() for configType in self.changedItems.keys(): ! cfgTypeHasChanges = False for section in self.changedItems[configType].keys(): + if section == 'HelpFiles': + #this section gets completely replaced + idleConf.userCfg['main'].remove_section('HelpFiles') for item in self.changedItems[configType][section].keys(): ! value = self.changedItems[configType][section][item] if self.SetUserValue(configType,section,item,value): ! cfgTypeHasChanges = True if cfgTypeHasChanges: idleConf.userCfg[configType].Save() Index: configHelpSourceEdit.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHelpSourceEdit.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** configHelpSourceEdit.py 31 Dec 2002 16:03:23 -0000 1.3 --- configHelpSourceEdit.py 10 Jan 2003 20:13:57 -0000 1.4 *************** *** 1,6 **** ! """ ! Dialog that allows user to specify or edit the parameters for a user configured ! help source. ! """ from Tkinter import * import tkMessageBox --- 1,4 ---- ! "Dialog to specify or edit the parameters for a user configured help source." ! from Tkinter import * import tkMessageBox *************** *** 8,12 **** class GetHelpSourceDialog(Toplevel): ! def __init__(self,parent,title,menuItem='',filePath=''): """ menuItem - string, the menu item to edit, if any --- 6,10 ---- class GetHelpSourceDialog(Toplevel): ! def __init__(self, parent, title, menuItem='', filePath=''): """ menuItem - string, the menu item to edit, if any *************** *** 15,19 **** Toplevel.__init__(self, parent) self.configure(borderwidth=5) ! self.resizable(height=FALSE,width=FALSE) self.title(title) self.transient(parent) --- 13,17 ---- Toplevel.__init__(self, parent) self.configure(borderwidth=5) ! self.resizable(height=FALSE, width=FALSE) self.title(title) self.transient(parent) *************** *** 21,119 **** self.protocol("WM_DELETE_WINDOW", self.Cancel) self.parent = parent ! self.result=None self.CreateWidgets() self.menu.set(menuItem) self.path.set(filePath) self.withdraw() #hide while setting geometry - self.update_idletasks() #needs to be done here so that the winfo_reqwidth is valid self.geometry("+%d+%d" % ! ((parent.winfo_rootx()+((parent.winfo_width()/2) ! -(self.winfo_reqwidth()/2)), ! parent.winfo_rooty()+((parent.winfo_height()/2) ! -(self.winfo_reqheight()/2)) )) ) #centre dialog over parent self.deiconify() #geometry set, unhide self.wait_window() def CreateWidgets(self): ! self.menu=StringVar(self) ! self.path=StringVar(self) ! self.fontSize=StringVar(self) ! self.frameMain = Frame(self,borderwidth=2,relief=SUNKEN) ! self.frameMain.pack(side=TOP,expand=TRUE,fill=BOTH) ! labelMenu=Label(self.frameMain,anchor=W,justify=LEFT, ! text='Menu Item:') ! self.entryMenu=Entry(self.frameMain,textvariable=self.menu,width=30) self.entryMenu.focus_set() ! labelPath=Label(self.frameMain,anchor=W,justify=LEFT, ! text='Help File Path:') ! self.entryPath=Entry(self.frameMain,textvariable=self.path,width=40) self.entryMenu.focus_set() ! labelMenu.pack(anchor=W,padx=5,pady=3) ! self.entryMenu.pack(anchor=W,padx=5,pady=3) ! labelPath.pack(anchor=W,padx=5,pady=3) ! self.entryPath.pack(anchor=W,padx=5,pady=3) ! frameButtons=Frame(self) ! frameButtons.pack(side=BOTTOM,fill=X) ! self.buttonOk = Button(frameButtons,text='Ok', ! width=8,command=self.Ok) ! self.buttonOk.grid(row=0,column=0,padx=5,pady=5) ! self.buttonCancel = Button(frameButtons,text='Cancel', ! width=8,command=self.Cancel) ! self.buttonCancel.grid(row=0,column=1,padx=5,pady=5) def MenuOk(self): ! #simple validity check for a sensible ! #menu item name ! menuOk=1 ! menu=self.menu.get() menu.strip() ! if not menu: #no menu item specified tkMessageBox.showerror(title='Menu Item Error', ! message='No menu item specified.') self.entryMenu.focus_set() ! menuOk=0 ! elif len(menu)>30: #menu item name too long tkMessageBox.showerror(title='Menu Item Error', ! message='Menu item too long. It should be no more '+ ! 'than 30 characters.') self.entryMenu.focus_set() ! menuOk=0 return menuOk def PathOk(self): ! #simple validity check for menu file path ! pathOk=1 ! path=self.path.get() path.strip() if not path: #no path specified tkMessageBox.showerror(title='File Path Error', ! message='No help file path specified.') self.entryPath.focus_set() ! pathOk=0 elif not os.path.exists(path): tkMessageBox.showerror(title='File Path Error', ! message='Help file path does not exist.') self.entryPath.focus_set() ! pathOk=0 return pathOk def Ok(self, event=None): ! if self.MenuOk(): ! if self.PathOk(): ! self.result=( self.menu.get().strip(),self.path.get().strip() ) ! self.destroy() def Cancel(self, event=None): ! self.result=None self.destroy() if __name__ == '__main__': #test the dialog ! root=Tk() def run(): ! keySeq='' ! dlg=GetHelpSourceDialog(root,'Get Help Source') print dlg.result ! Button(root,text='Dialog',command=run).pack() root.mainloop() --- 19,126 ---- self.protocol("WM_DELETE_WINDOW", self.Cancel) self.parent = parent ! self.result = None self.CreateWidgets() self.menu.set(menuItem) self.path.set(filePath) self.withdraw() #hide while setting geometry #needs to be done here so that the winfo_reqwidth is valid + self.update_idletasks() + #centre dialog over parent: self.geometry("+%d+%d" % ! ((parent.winfo_rootx() + ((parent.winfo_width()/2) ! -(self.winfo_reqwidth()/2)), ! parent.winfo_rooty() + ((parent.winfo_height()/2) ! -(self.winfo_reqheight()/2))))) self.deiconify() #geometry set, unhide + self.bind('', self.Ok) self.wait_window() def CreateWidgets(self): ! self.menu = StringVar(self) ! self.path = StringVar(self) ! self.fontSize = StringVar(self) ! self.frameMain = Frame(self, borderwidth=2, relief=SUNKEN) ! self.frameMain.pack(side=TOP, expand=TRUE, fill=BOTH) ! labelMenu = Label(self.frameMain, anchor=W, justify=LEFT, ! text='Menu Item:') ! self.entryMenu = Entry(self.frameMain, textvariable=self.menu, ! width=30) self.entryMenu.focus_set() ! labelPath = Label(self.frameMain, anchor=W, justify=LEFT, ! text='Help File Path:') ! self.entryPath = Entry(self.frameMain, textvariable=self.path, ! width=40) self.entryMenu.focus_set() ! labelMenu.pack(anchor=W, padx=5, pady=3) ! self.entryMenu.pack(anchor=W, padx=5, pady=3) ! labelPath.pack(anchor=W, padx=5, pady=3) ! self.entryPath.pack(anchor=W, padx=5, pady=3) ! frameButtons = Frame(self) ! frameButtons.pack(side=BOTTOM, fill=X) ! self.buttonOk = Button(frameButtons, text='OK', ! width=8, default=ACTIVE, command=self.Ok) ! self.buttonOk.grid(row=0, column=0, padx=5,pady=5) ! self.buttonOk.bind('', self.Ok) ! #self.buttonOk.focus() ! self.buttonCancel = Button(frameButtons, text='Cancel', ! width=8, command=self.Cancel) ! self.buttonCancel.grid(row=0, column=1, padx=5, pady=5) def MenuOk(self): ! "Simple validity check for a sensible menu item name" ! menuOk = True ! menu = self.menu.get() menu.strip() ! if not menu: tkMessageBox.showerror(title='Menu Item Error', ! message='No menu item specified', ! parent=self) self.entryMenu.focus_set() ! menuOk = False ! elif len(menu) > 30: tkMessageBox.showerror(title='Menu Item Error', ! message='Menu item too long:' ! '\nLimit 30 characters.', ! parent=self) self.entryMenu.focus_set() ! menuOk = False return menuOk def PathOk(self): ! "Simple validity check for menu file path" ! pathOk = True ! path = self.path.get() path.strip() if not path: #no path specified tkMessageBox.showerror(title='File Path Error', ! message='No help file path specified.', ! parent=self) self.entryPath.focus_set() ! pathOk = False elif not os.path.exists(path): tkMessageBox.showerror(title='File Path Error', ! message='Help file path does not exist.', ! parent=self) self.entryPath.focus_set() ! pathOk = False return pathOk def Ok(self, event=None): ! if self.MenuOk() and self.PathOk(): ! self.result = (self.menu.get().strip(), ! self.path.get().strip()) ! self.destroy() def Cancel(self, event=None): ! self.result = None self.destroy() if __name__ == '__main__': #test the dialog ! root = Tk() def run(): ! keySeq = '' ! dlg = GetHelpSourceDialog(root, 'Get Help Source') print dlg.result ! Button(root,text='Dialog', command=run).pack() root.mainloop() From noreply@sourceforge.net Fri Jan 10 20:28:35 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 10 Jan 2003 12:28:35 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 20:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Martin Liebmann (mliebmann) Assigned to: Nobody/Anonymous (nobody) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From kbk@users.sourceforge.net Fri Jan 10 21:25:23 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 10 Jan 2003 13:25:23 -0800 Subject: [Idle-dev] CVS: idle EditorWindow.py,1.44,1.45 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv2909 Modified Files: EditorWindow.py Log Message: SF bug #652933 (for IdleFork): Open Module "math" Fails (Hettinger) When a module doesn't have a __path__ attribute, trigger a dialog box rather than dumping a traceback to the console. Synch to Python IDLE. Index: EditorWindow.py =================================================================== RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -r1.44 -r1.45 *** EditorWindow.py 10 Jan 2003 05:07:24 -0000 1.44 --- EditorWindow.py 10 Jan 2003 21:25:20 -0000 1.45 *************** *** 31,35 **** break # find but not load the source file module = imp.load_module(tgt, file, filename, descr) ! path = module.__path__ return file, filename, descr --- 31,38 ---- break # find but not load the source file module = imp.load_module(tgt, file, filename, descr) ! try: ! path = module.__path__ ! except AttributeError: ! raise ImportError, 'No source for module ' + module.__name__ return file, filename, descr From kbk@users.sourceforge.net Fri Jan 10 21:27:29 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 10 Jan 2003 13:27:29 -0800 Subject: [Idle-dev] CVS: idle CREDITS.txt,1.2,1.3 HISTORY.txt,1.1,1.2 NEWS.txt,1.6,1.7 README.txt,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv4324 Modified Files: CREDITS.txt HISTORY.txt NEWS.txt README.txt Log Message: Update documentation. Index: CREDITS.txt =================================================================== RCS file: /cvsroot/idlefork/idle/CREDITS.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** CREDITS.txt 20 Dec 2002 01:19:47 -0000 1.2 --- CREDITS.txt 10 Jan 2003 21:27:21 -0000 1.3 *************** *** 12,23 **** Besides Guido, the main developers who have been active on IDLEfork version ! 0.8.1 and later are Stephen M. Gava, who implemented the configuration GUI, and ! Kurt B. Kaiser, who continued the integration of the RPC and remote debugger, ! and made a number of usability enhancements. ! Other contributors include Tony Lownds (Mac integration), and Chui Tey (RPC, ! Debugger) ! Neal Norwitz and Josh Robb have submitted useful patches. There are others who should be included here, especially those who contributed --- 12,24 ---- Besides Guido, the main developers who have been active on IDLEfork version ! 0.8.1 and later are Stephen M. Gava, who implemented the Configuration GUI and ! the new About menu, and Kurt B. Kaiser, who completed the integration of the ! RPC and remote debugger, and made a number of usability enhancements. ! Other contributors include Tony Lownds (Mac integration), Neal Norwitz (code ! check and clean-up), and Chui Tey (RPC integration, debugger integration and ! persistent breakpoints). ! Josh Robb has submitted useful patches. There are others who should be included here, especially those who contributed *************** *** 29,30 **** --- 30,33 ---- Contact details at http://idlefork.sourceforge.net + + Index: HISTORY.txt =================================================================== RCS file: /cvsroot/idlefork/idle/HISTORY.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** HISTORY.txt 31 Dec 2002 17:57:44 -0000 1.1 --- HISTORY.txt 10 Jan 2003 21:27:22 -0000 1.2 *************** *** 6,87 **** ! IDLE fork 0.7.1 - 29 May 2000 ! ----------------------------- ! ! David Scherer ! ! This is a modification of the CVS version of IDLE 0.5, updated as of ! 2000-03-09. It is alpha software and might be unstable. If it breaks, ! you get to keep both pieces. ! ! If you have problems or suggestions, you should either contact me or ! post to the list at http://www.python.org/mailman/listinfo/idle-dev ! (making it clear that you are using this modified version of IDLE). ! ! Changes: ! ! The ExecBinding module, a replacement for ScriptBinding, executes ! programs in a separate process, piping standard I/O through an RPC ! mechanism to an OnDemandOutputWindow in IDLE. It supports executing ! unnamed programs (through a temporary file). It does not yet support ! debugging. ! ! When running programs with ExecBinding, tracebacks will be clipped ! to exclude system modules. If, however, a system module calls back ! into the user program, that part of the traceback will be shown. ! ! The OnDemandOutputWindow class has been improved. In particular, ! it now supports a readline() function used to implement user input, ! and a scroll_clear() operation which is used to hide the output of ! a previous run by scrolling it out of the window. ! ! Startup behavior has been changed. By default IDLE starts up with ! just a blank editor window, rather than an interactive window. Opening ! a file in such a blank window replaces the (nonexistent) contents of ! that window instead of creating another window. Because of the need to ! have a well-known port for the ExecBinding protocol, only one copy of ! IDLE can be running. Additional invocations use the RPC mechanism to ! report their command line arguments to the copy already running. ! ! The menus have been reorganized. In particular, the excessively large ! 'edit' menu has been split up into 'edit', 'format', and 'run'. ! ! 'Python Documentation' now works on Windows, if the win32api module is ! present. ! ! A few key bindings have been changed: F1 now loads Python Documentation ! instead of the IDLE help; shift-TAB is now a synonym for unindent. ! ! New modules: ! ExecBinding.py Executes program through loader ! loader.py Bootstraps user program ! protocol.py RPC protocol ! Remote.py User-process interpreter ! spawn.py OS-specific code to start programs ! ! Files modified: ! autoindent.py ( bindings tweaked ) ! bindings.py ( menus reorganized ) ! config.txt ( execbinding enabled ) ! editorwindow.py ( new menus, fixed 'Python Documentation' ) ! filelist.py ( hook for "open in same window" ) ! formatparagraph.py ( bindings tweaked ) ! idle.bat ( removed absolute pathname ) ! idle.pyw ( weird bug due to import with same name? ) ! iobinding.py ( open in same window, EOL convention ) ! keydefs.py ( bindings tweaked ) ! outputwindow.py ( readline, scroll_clear, etc ) ! pyshell.py ( changed startup behavior ) ! readme.txt ( ) ! ! ! IDLE 0.5 - February 2000 ! ------------------------ This is an early release of IDLE, my own attempt at a Tkinter-based IDE for Python. ! For news about this release, see the file NEWS.txt. (For a more ! detailed change log, see the file ChangeLog.) FEATURES --- 6,16 ---- ! IDLE 0.5 - February 2000 - Release Notes ! ---------------------------------------- This is an early release of IDLE, my own attempt at a Tkinter-based IDE for Python. ! (For a more detailed change log, see the file ChangeLog.) FEATURES *************** *** 121,122 **** --- 50,180 ---- IDLE is covered by the standard Python copyright notice (http://www.python.org/doc/Copyright.html). + + + New in IDLE 0.5 (2/15/2000) + --------------------------- + + Tons of stuff, much of it contributed by Tim Peters and Mark Hammond: + + - Status bar, displaying current line/column (Moshe Zadka). + + - Better stack viewer, using tree widget. (XXX Only used by Stack + Viewer menu, not by the debugger.) + + - Format paragraph now recognizes Python block comments and reformats + them correctly (MH) + + - New version of pyclbr.py parses top-level functions and understands + much more of Python's syntax; this is reflected in the class and path + browsers (TP) + + - Much better auto-indent; knows how to indent the insides of + multi-line statements (TP) + + - Call tip window pops up when you type the name of a known function + followed by an open parenthesis. Hit ESC or click elsewhere in the + window to close the tip window (MH) + + - Comment out region now inserts ## to make it stand out more (TP) + + - New path and class browsers based on a tree widget that looks + familiar to Windows users + + - Reworked script running commands to be more intuitive: I/O now + always goes to the *Python Shell* window, and raw_input() works + correctly. You use F5 to import/reload a module: this adds the module + name to the __main__ namespace. You use Control-F5 to run a script: + this runs the script *in* the __main__ namespace. The latter also + sets sys.argv[] to the script name + + + New in IDLE 0.4 (4/7/99) + ------------------------ + + Most important change: a new menu entry "File -> Path browser", shows + a 4-column hierarchical browser which lets you browse sys.path, + directories, modules, and classes. Yes, it's a superset of the Class + browser menu entry. There's also a new internal module, + MultiScrolledLists.py, which provides the framework for this dialog. + + + New in IDLE 0.3 (2/17/99) + ------------------------- + + Most important changes: + + - Enabled support for running a module, with or without the debugger. + Output goes to a new window. Pressing F5 in a module is effectively a + reload of that module; Control-F5 loads it under the debugger. + + - Re-enable tearing off the Windows menu, and make a torn-off Windows + menu update itself whenever a window is opened or closed. + + - Menu items can now be have a checkbox (when the menu label starts + with "!"); use this for the Debugger and "Auto-open stack viewer" + (was: JIT stack viewer) menu items. + + - Added a Quit button to the Debugger API. + + - The current directory is explicitly inserted into sys.path. + + - Fix the debugger (when using Python 1.5.2b2) to use canonical + filenames for breakpoints, so these actually work. (There's still a + lot of work to be done to the management of breakpoints in the + debugger though.) + + - Closing a window that is still colorizing now actually works. + + - Allow dragging of the separator between the two list boxes in the + class browser. + + - Bind ESC to "close window" of the debugger, stack viewer and class + browser. It removes the selection highlighting in regular text + windows. (These are standard Windows conventions.) + + + New in IDLE 0.2 (1/8/99) + ------------------------ + + Lots of changes; here are the highlights: + + General: + + - You can now write and configure your own IDLE extension modules; see + extend.txt. + + + File menu: + + The command to open the Python shell window is now in the File menu. + + + Edit menu: + + New Find dialog with more options; replace dialog; find in files dialog. + + Commands to tabify or untabify a region. + + Command to format a paragraph. + + + Debug menu: + + JIT (Just-In-Time) stack viewer toggle -- if set, the stack viewer + automaticall pops up when you get a traceback. + + Windows menu: + + Zoom height -- make the window full height. + + + Help menu: + + The help text now show up in a regular window so you can search and + even edit it if you like. + + + + IDLE 0.1 was distributed with the Python 1.5.2b1 release on 12/22/98. + + ====================================================================== Index: NEWS.txt =================================================================== RCS file: /cvsroot/idlefork/idle/NEWS.txt,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** NEWS.txt 31 Dec 2002 18:12:04 -0000 1.6 --- NEWS.txt 10 Jan 2003 21:27:22 -0000 1.7 *************** *** 1,180 **** IDLEfork NEWS ! ============= ! (For a more detailed change log, see the file ChangeLog.) ! --------------------------------------------------------- ! IDLEfork 0.9 Alpha 0 (31 DEC 2002) ! ---------------------------------- ! First Alpha release with GvR RPC and Configuration GUI. ! This file will be updated at next Alpha release. Meanwhile, see README.txt. ! IDLEfork 0.8.1 (22 JUL 2001) ! ---------------------------- ! New tarball released as a result of the 'revitalisation' of the IDLEfork ! project. ! This release requires python 2.1 or better. Compatability with earlier ! versions of python (especially ancient ones like 1.5x) is no longer ! a priority in IDLEfork development. ! This release is based on a merging of the earlier IDLE fork work with ! current cvs IDLE (post IDLE version 0.8), with some minor additional ! coding by Kurt B. Kaiser and Stephen M. Gava. ! This release is basically functional but also contains some known ! breakages, particularly with running things from the shell window. Also ! the debugger is not working, but I believe this was the case with the ! previous IDLE fork release (0.7.1) as well. ! This release is being made now to mark the point at which IDLEfork is ! launching into a new stage of development. ! IDLEfork CVS will now be branched to enable further development and ! exploration of the two "execution in a remote process" patches submitted ! by David Scherer (David's is currently in IDLEfork) and GvR, while ! stabilisation and development of less heavyweight improvements (like ! user customisation) can continue on the trunk. ! IDLE fork 0.7.1 (15 AUG 2000) ! ----------------------------- ! First project tarball released. ! ! This was the first release of IDLE fork, which at this stage was a ! combination of IDLE 0.5 and the VPython idle fork, with additional ! changes coded by David Scherer, Peter Schneider-Kamp and ! Nicholas Riley. ! ! ! original IDLE NEWS.txt : ! ======================== ! New in IDLE 0.5 (2/15/2000) ! ------------------------- ! Tons of stuff, much of it contributed by Tim Peters and Mark Hammond: ! - Status bar, displaying current line/column (Moshe Zadka). ! - Better stack viewer, using tree widget. (XXX Only used by Stack ! Viewer menu, not by the debugger.) ! - Format paragraph now recognizes Python block comments and reformats ! them correctly (MH) ! - New version of pyclbr.py parses top-level functions and understands ! much more of Python's syntax; this is reflected in the class and path ! browsers (TP) ! - Much better auto-indent; knows how to indent the insides of ! multi-line statements (TP) ! - Call tip window pops up when you type the name of a known function ! followed by an open parenthesis. Hit ESC or click elsewhere in the ! window to close the tip window (MH) ! - Comment out region now inserts ## to make it stand out more (TP) ! - New path and class browsers based on a tree widget that looks ! familiar to Windows users ! - Reworked script running commands to be more intuitive: I/O now ! always goes to the *Python Shell* window, and raw_input() works ! correctly. You use F5 to import/reload a module: this adds the module ! name to the __main__ namespace. You use Control-F5 to run a script: ! this runs the script *in* the __main__ namespace. The latter also ! sets sys.argv[] to the script name - New in IDLE 0.4 (4/7/99) - ------------------------ ! Most important change: a new menu entry "File -> Path browser", shows ! a 4-column hierarchical browser which lets you browse sys.path, ! directories, modules, and classes. Yes, it's a superset of the Class ! browser menu entry. There's also a new internal module, ! MultiScrolledLists.py, which provides the framework for this dialog. ! New in IDLE 0.3 (2/17/99) ! ------------------------- ! Most important changes: ! - Enabled support for running a module, with or without the debugger. ! Output goes to a new window. Pressing F5 in a module is effectively a ! reload of that module; Control-F5 loads it under the debugger. ! - Re-enable tearing off the Windows menu, and make a torn-off Windows ! menu update itself whenever a window is opened or closed. ! - Menu items can now be have a checkbox (when the menu label starts ! with "!"); use this for the Debugger and "Auto-open stack viewer" ! (was: JIT stack viewer) menu items. ! - Added a Quit button to the Debugger API. ! - The current directory is explicitly inserted into sys.path. ! - Fix the debugger (when using Python 1.5.2b2) to use canonical ! filenames for breakpoints, so these actually work. (There's still a ! lot of work to be done to the management of breakpoints in the ! debugger though.) - - Closing a window that is still colorizing now actually works. - - Allow dragging of the separator between the two list boxes in the - class browser. ! - Bind ESC to "close window" of the debugger, stack viewer and class ! browser. It removes the selection highlighting in regular text ! windows. (These are standard Windows conventions.) ! ---------------------------------------------------------------------- ! New in IDLE 0.2 (1/8/99) ! ------------------------ ! Lots of changes; here are the highlights: ! General: ! - You can now write and configure your own IDLE extension modules; see ! extend.txt. ! File menu: - The command to open the Python shell window is now in the File menu. ! Edit menu: ! New Find dialog with more options; replace dialog; find in files dialog. ! Commands to tabify or untabify a region. - Command to format a paragraph. ! Debug menu: ! ! JIT (Just-In-Time) stack viewer toggle -- if set, the stack viewer ! automaticall pops up when you get a traceback. ! ! Windows menu: ! Zoom height -- make the window full height. - Help menu: - The help text now show up in a regular window so you can search and - even edit it if you like. - ---------------------------------------------------------------------- - IDLE 0.1 was distributed with the Python 1.5.2b1 release on 12/22/98. - ====================================================================== --- 1,222 ---- + +++++++++++++ IDLEfork NEWS ! +++++++++++++ ! What's New in IDLEfork 0.9 Alpha 2? ! =================================== ! *Release date: XX-XXX-2003* ! - Uniform capitalization in General tab of ConfigDialog, update the doc string. + - Fix bug in ConfigDialog where SaveAllChangedConfig() was unexpectedly + deleting Additional Help Sources from the user's config file. ! - Make configHelpSourceEdit OK button the default and bind ! - Fix Tk root pop-ups in configHelpSourceEdit: error dialogs not attached ! to parents. ! - Use os.startfile() to open both Additional Help and Python Help on the ! Windows platform. The application associated with the file type will act as ! the viewer. Windows help files (.chm) are now supported via the ! Settings/General/Additional Help facility. ! - If Python Help files are installed locally on Linux, use them instead of ! accessing python.org. ! - Make the methods for finding the Python help docs more robust, and make ! them work in the installed configuration, also. ! - On the Save Before Run dialog, make the OK button the default. One ! less mouse action! + - Add a method: EditorWindow.get_geometry() for future use in implementing + window location persistence. ! - Removed the "Help/Advice" menu entry. Thanks, David! We'll remember! ! - Change the "Classic Windows" theme's paste key to be . ! - Rearrange the Shell menu to put Stack Viewer entries adjacent. ! - Add the ability to restart the subprocess interpreter from the shell window; ! add an associated menu entry "Shell/Restart". Update help. ! - Upon a restart, annotate the shell window with a "restart boundary". Add a ! shell window menu "Shell/View Restart" and hotkey to jump to the most recent ! restart boundary. ! - Change the shell window menu "Debug" to "Shell"; change "Settings" to ! "Options". ! - Remove incorrect comment in setup.py: IDLEfork is now installed as a package. ! - Add INSTALL.txt, HISTORY.txt, NEWS.txt to installed configuration. ! - In installer text, fix reference to Visual Python, should be VPython. ! Properly credit David Scherer. ! - Modified idle, idle.py, idle.pyw to improve exception handling. ! - Known issues: ! + Can't kill a tight loop in the Windows version: Insert a ! ``print "*",`` in an outer loop or use the Task Manager to kill. ! + Printing under Linux may be problematic. ! + The debugger is pretty slow. ! + RPC stack levels are not being pruned from debugger tracebacks. ! What's New in IDLEfork 0.9 Alpha 1? ! =================================== ! *Release date: 31-Dec-2002* ! - First release of major new functionality. For further details refer to ! Idle-dev and/or the Sourceforge CVS. ! - Adapted to the Mac platform. ! - Overhauled the IDLE startup options and revised the idle -h help message, ! which provides details of command line usage. ! - Multiple bug fixes and usability enhancements. ! - Introduced the new RPC implementation, which includes a debugger. The output ! of user code is to the shell, and the shell may be used to inspect the ! environment after the run has finished. (In version 0.8.1 the shell ! environment was separate from the environment of the user code.) ! - Introduced the configuration GUI and a new About dialog. ! - Removed David Scherer's Remote Procedure Call code and replaced with Guido ! van Rossum's. GvR code has support for the IDLE debugger and uses the shell ! to inspect the environment of code Run from an Edit window. Files removed: ! ExecBinding.py, loader.py, protocol.py, Remote.py, spawn.py ! What's New in IDLEfork 0.8.1? ! ============================= ! *Release date: 22-Jul-2001* ! - New tarball released as a result of the 'revitalisation' of the IDLEfork ! project. ! - This release requires python 2.1 or better. Compatability with earlier ! versions of python (especially ancient ones like 1.5x) is no longer a ! priority in IDLEfork development. ! - This release is based on a merging of the earlier IDLE fork work with current ! cvs IDLE (post IDLE version 0.8), with some minor additional coding by Kurt ! B. Kaiser and Stephen M. Gava. ! - This release is basically functional but also contains some known breakages, ! particularly with running things from the shell window. Also the debugger is ! not working, but I believe this was the case with the previous IDLE fork ! release (0.7.1) as well. + - This release is being made now to mark the point at which IDLEfork is + launching into a new stage of development. ! - IDLEfork CVS will now be branched to enable further development and ! exploration of the two "execution in a remote process" patches submitted by ! David Scherer (David's is currently in IDLEfork) and GvR, while stabilisation ! and development of less heavyweight improvements (like user customisation) ! can continue on the trunk. + What's New in IDLE fork 0.7.1? + ============================== ! *Release date: 15-Aug-2000* ! - First project tarball released. ! - This was the first release of IDLE fork, which at this stage was a ! combination of IDLE 0.5 and the VPython idle fork, with additional changes ! coded by David Scherer, Peter Schneider-Kamp and Nicholas Riley. ! IDLE fork 0.7.1 - 29 May 2000 ! ----------------------------- ! David Scherer + - This is a modification of the CVS version of IDLE 0.5, updated as of + 2000-03-09. It is alpha software and might be unstable. If it breaks, you + get to keep both pieces. + + - If you have problems or suggestions, you should either contact me or post to + the list at http://www.python.org/mailman/listinfo/idle-dev (making it clear + that you are using this modified version of IDLE). + + - Changes: + + - The ExecBinding module, a replacement for ScriptBinding, executes programs + in a separate process, piping standard I/O through an RPC mechanism to an + OnDemandOutputWindow in IDLE. It supports executing unnamed programs + (through a temporary file). It does not yet support debugging. + + - When running programs with ExecBinding, tracebacks will be clipped to + exclude system modules. If, however, a system module calls back into the + user program, that part of the traceback will be shown. + + - The OnDemandOutputWindow class has been improved. In particular, it now + supports a readline() function used to implement user input, and a + scroll_clear() operation which is used to hide the output of a previous run + by scrolling it out of the window. + + - Startup behavior has been changed. By default IDLE starts up with just a + blank editor window, rather than an interactive window. Opening a file in + such a blank window replaces the (nonexistent) contents of that window + instead of creating another window. Because of the need to have a + well-known port for the ExecBinding protocol, only one copy of IDLE can be + running. Additional invocations use the RPC mechanism to report their + command line arguments to the copy already running. + + - The menus have been reorganized. In particular, the excessively large + 'edit' menu has been split up into 'edit', 'format', and 'run'. + + - 'Python Documentation' now works on Windows, if the win32api module is + present. + + - A few key bindings have been changed: F1 now loads Python Documentation + instead of the IDLE help; shift-TAB is now a synonym for unindent. + + - New modules: + + ExecBinding.py Executes program through loader + loader.py Bootstraps user program + protocol.py RPC protocol + Remote.py User-process interpreter + spawn.py OS-specific code to start programs + + - Files modified: + + autoindent.py ( bindings tweaked ) + bindings.py ( menus reorganized ) + config.txt ( execbinding enabled ) + editorwindow.py ( new menus, fixed 'Python Documentation' ) + filelist.py ( hook for "open in same window" ) + formatparagraph.py ( bindings tweaked ) + idle.bat ( removed absolute pathname ) + idle.pyw ( weird bug due to import with same name? ) + iobinding.py ( open in same window, EOL convention ) + keydefs.py ( bindings tweaked ) + outputwindow.py ( readline, scroll_clear, etc ) + pyshell.py ( changed startup behavior ) + readme.txt ( ) + + + -------------------------------------------------------------------- + Refer to HISTORY.txt for additional information on earlier releases. + -------------------------------------------------------------------- Index: README.txt =================================================================== RCS file: /cvsroot/idlefork/idle/README.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** README.txt 31 Dec 2002 17:56:18 -0000 1.5 --- README.txt 10 Jan 2003 21:27:23 -0000 1.6 *************** *** 2,56 **** =============== ! IDLEfork is an official experimental fork of Python's Integrated ! DeveLopment Environment IDLE. The biggest change is to execute ! Python code in a separate process, which is /restarted/ for each ! Run (F5) initiated from an editor window. This enhancement of ! IDLE has often been requested, and is now finally available, ! complete with debugger. ! ! There is also a new GUI configuration manager which makes it easy ! to select fonts, colors, and startup options. ! ! IDLEfork will be merged back into the Python distribution in the ! near future (probably 2.3), replacing the current version of IDLE. ! ! As David Scherer aptly put it in the original IDLEfork README, ! "It is alpha software and might be unstable. If it breaks, you get to ! keep both pieces." ! If you find bugs let us know about them by using the IDLEfork Bug ! Tracker. See the IDLEfork home page at ! ! http://idlefork.sourceforge.net ! ! for details. Patches are always appreciated at the IDLEfork Patch ! Tracker. ! ! Please see the files NEWS.txt and ChangeLog for more up to date ! information on changes in this release of IDLEfork. ! ! Thanks for trying IDLEfork. ! IDLEfork 0.9 Alpha 0 ! -------------------------------- ! Introduced the new RPC implementation, which includes a debugger. The ! output of user code is to the shell, and the shell may be used to ! inspect the environment after the run has finished. (In version 0.8.1 ! the shell environment was separate from the environment of the user ! code.) ! Introduced the configuration GUI and a new About dialog. ! Adapted to the Mac platform. ! Multiple bug fixes and usability enhancements. ! Known issues: ! - Can't kill a tight loop in the Windows version: Use the Task Manager! ! - Printing under Linux may be problematic. ! - The debugger is pretty slow. ! - RPC stack levels are not being pruned from debugger tracebacks. ! - Changelog and NEWS.txt are incomplete. --- 2,38 ---- =============== ! IDLEfork is an official experimental fork of Python's Integrated DeveLopment ! Environment, IDLE. The biggest change is to execute Python code in a separate ! process, which is /restarted/ for each Run (F5) initiated from an editor ! window. This enhancement of IDLE has often been requested, and is now finally ! available, complete with the IDLE debugger. The magic "reload/import *" ! incantations are no longer required when editing/testing a module two or three ! steps down the import chain. ! ! There is also a new GUI configuration manager which makes it easy to select ! fonts, colors, keybindings, and startup options. There is new feature where ! the user can specify additional help sources, either locally or on the web. ! ! IDLEfork will be merged back into the Python distribution in the near future ! (probably 2.3), replacing the current version of IDLE. ! For information on this release, refer to NEWS.txt + As David Scherer aptly put it in the original IDLEfork README, "It is alpha + software and might be unstable. If it breaks, you get to keep both pieces." ! If you find bugs let us know about them by using the IDLEfork Bug Tracker. See ! the IDLEfork home page at ! http://idlefork.sourceforge.net ! for details. Patches are always appreciated at the IDLEfork Patch Tracker, and ! Change Requests should be posted to the RFE Tracker at ! https://sourceforge.net/tracker/?group_id=9579&atid=359579 ! There is a mail list for IDLE: idle-dev@python.org. You can join at ! http://mail.python.org/mailman/listinfo/idle-dev ! Thanks for trying IDLEfork. From noreply@sourceforge.net Fri Jan 10 23:25:56 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 10 Jan 2003 15:25:56 -0800 Subject: [Idle-dev] [ idlefork-Patches-451442 ] Adds refresh button to class browser Message-ID: Patches item #451442, was opened at 2001-08-15 22:59 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=451442&group_id=9579 Category: None Group: None Status: Open Resolution: Later Priority: 3 Submitted By: Chui Tey (teyc) Assigned to: Nobody/Anonymous (nobody) Summary: Adds refresh button to class browser Initial Comment: This patch does two things: a) ClassBrowser has a refresh button b) ClassBrowser 'docks' itself to the right hand side of the source window. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-10 18:25 Message: Logged In: YES user_id=149084 IMHO the ClassBrowser should not resize and reposition IDLE's windows. I often have things arranged just the way I like them, and when I open the browser with this patch it messes it all up. I'd rather go in the direction of IDLE having persistent window sizes and locations. The refresh button seems like a good way. It would be helpful if it warned the user if the parent window was dirty. ---------------------------------------------------------------------- Comment By: Stephen M. Gava (elguavas) Date: 2001-10-07 21:57 Message: Logged In: YES user_id=75867 interesting. will look at this in detail after new config stuf is in place and working. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=451442&group_id=9579 From mpe501@chello.se Sat Jan 11 23:50:08 2003 From: mpe501@chello.se (David) Date: Sun, 12 Jan 2003 00:50:08 +0100 Subject: [Idle-dev] Feature request! Message-ID: <3E20ADB0.6050006@chello.se> Hello, to make IDLE a more effective tool/rapid prototyping thingy it would be usefull if the python code you write ran in its own thread of execution in some kind of "sandbox" enviroment, seperate from the IDLE IDE, so that if I mess up (e.g. an infinite loop) the whole of IDE won't lock up. Please CC any replies to my mail address (mpe501-at-chello.se) since i'm not subscripted to this mail list. Regards, David From guido@python.org Sun Jan 12 01:05:48 2003 From: guido@python.org (Guido van Rossum) Date: Sat, 11 Jan 2003 20:05:48 -0500 Subject: [Idle-dev] Feature request! In-Reply-To: Your message of "Sun, 12 Jan 2003 00:50:08 +0100." <3E20ADB0.6050006@chello.se> References: <3E20ADB0.6050006@chello.se> Message-ID: <200301120105.h0C15ma26093@pcp02138704pcs.reston01.va.comcast.net> > to make IDLE a more effective tool/rapid prototyping thingy it would be > usefull if the python code you write ran in its own thread of execution > in some kind of "sandbox" enviroment, seperate from the IDLE IDE, so > that if I mess up (e.g. an infinite loop) the whole of IDE won't lock up. Guess what. The IDLEfork 0.9a1 that was just released (see idlefork.sf.net) does that -- it runs your program in a separate process (threads don't offer enough sandboxing). --Guido van Rossum (home page: http://www.python.org/~guido/) From noreply@sourceforge.net Sun Jan 12 18:27:27 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 12 Jan 2003 10:27:27 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 15:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Martin Liebmann (mliebmann) Assigned to: Nobody/Anonymous (nobody) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-12 13:27 Message: Logged In: YES user_id=149084 Will you be able to upload the patch file? BTW, we prefer context diffs over unidiffs when possible. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From norvell@houseofspearman.org Sun Jan 12 23:21:21 2003 From: norvell@houseofspearman.org (Norvell Spearman) Date: Sun, 12 Jan 2003 17:21:21 -0600 Subject: [Idle-dev] idle, idlefork not running PYTHONSTARTUP Message-ID: <20030112232121.GB17143@houseofspearman.org> python v2.2.2b1 idle v0.8 idlefork v0.9a1 linux kernel v2.4.18 When I run idle or idlefork with the '-s' option, it appears that my PYTHONSTARTUP script isn't being run: nothing I type in the Python Shell gets appended to my .pyhistory file. When I run python in an xterm the history works as expected. My .bash_profile has entries for both PYTHONSTARTUP and IDLESTARTUP and I know these are getting exported: $ env | grep STARTUP IDLESTARTUP=/home/norvell/.pystartup PYTHONSTARTUP=/home/norvell/.pystartup The contents of my .pystartup are copied and pasted from the Python tutorial at: http://www.python.org/doc/current/tut/node13.html Also, typing in the contents of .pystartup manually in the idle Python Shell doesn't seem to work either. Thanks much for any help with this. -- Norvell Spearman From guido@python.org Mon Jan 13 02:32:16 2003 From: guido@python.org (Guido van Rossum) Date: Sun, 12 Jan 2003 21:32:16 -0500 Subject: [Idle-dev] idle, idlefork not running PYTHONSTARTUP In-Reply-To: Your message of "Sun, 12 Jan 2003 17:21:21 CST." <20030112232121.GB17143@houseofspearman.org> References: <20030112232121.GB17143@houseofspearman.org> Message-ID: <200301130232.h0D2WGU08405@pcp02138704pcs.reston01.va.comcast.net> > python v2.2.2b1 > idle v0.8 > idlefork v0.9a1 > linux kernel v2.4.18 > > When I run idle or idlefork with the '-s' option, it appears that my > PYTHONSTARTUP script isn't being run: nothing I type in the Python > Shell gets appended to my .pyhistory file. When I run python in an > xterm the history works as expected. My .bash_profile has entries for > both PYTHONSTARTUP and IDLESTARTUP and I know these are getting > exported: > > $ env | grep STARTUP > IDLESTARTUP=/home/norvell/.pystartup > PYTHONSTARTUP=/home/norvell/.pystartup > > The contents of my .pystartup are copied and pasted from the Python tutorial > at: > > http://www.python.org/doc/current/tut/node13.html > > Also, typing in the contents of .pystartup manually in the idle Python > Shell doesn't seem to work either. What's done there only works with programs using GNU readline. IDLE has its own history implementation which has never heard of readline. If you want such a feature, the best thing is to download the IDLEfork alpha from idlefork.zope.org and produce a patch, and then upload it to the IDLEfork SF patch manager. --Guido van Rossum (home page: http://www.python.org/~guido/) From noreply@sourceforge.net Tue Jan 14 02:56:27 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 13 Jan 2003 18:56:27 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 15:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Martin Liebmann (mliebmann) Assigned to: Kurt B. Kaiser (kbk) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-12 13:27 Message: Logged In: YES user_id=149084 Will you be able to upload the patch file? BTW, we prefer context diffs over unidiffs when possible. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From noreply@sourceforge.net Tue Jan 14 02:57:49 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 13 Jan 2003 18:57:49 -0800 Subject: [Idle-dev] [ idlefork-Patches-610763 ] Extension to Calltips / Show attributes Message-ID: Patches item #610763, was opened at 2002-09-17 15:16 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=610763&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Out of Date Priority: 5 Submitted By: Neal Norwitz (nnorwitz) Assigned to: Kurt B. Kaiser (kbk) Summary: Extension to Calltips / Show attributes Initial Comment: See http://python.org/sf/525109 just don't want to lose track of it, if it's desirable in idlefork. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-13 21:57 Message: Logged In: YES user_id=149084 Replaced by 665943 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2002-09-30 19:33 Message: Logged In: YES user_id=149084 Add Martin Liebmans' Patch from Python-Idle Patch 525109 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2002-09-19 09:36 Message: Logged In: YES user_id=149084 >From Martin Liebman's Python-idle patch: "Extension to Calltips / Show attributes The attached files (unified diff files) implement a (quick and dirty but usefull) extension to IDLE 0.8 (Python 2.2) - Tested on WINDOWS 95/98/NT/2000 - Similar to "CallTips" this extension shows (context sensitive) all available member functions and attributes of the current object after hitting the 'dot'-key. The toplevel help widget now supports scrolling. (Key- Up and Key-Down events) ...that is why I changed among else the first argument of 'showtip' from 'text string' to a 'list of text strings' ... The 'space'-key is used to insert the topmost item of the help widget into an IDLE text window. ...the even handling seems to be a critical part of the current IDLE implementation. That is why I added the new functionallity as a patch of CallTips.py and CallTipWindow.py. May be you still have a better implementation ... Greetings Martin Liebmann " See also Idle-dev 02Mar02. Files left on Python Patches for now. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=610763&group_id=9579 From noreply@sourceforge.net Tue Jan 14 02:54:48 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 13 Jan 2003 18:54:48 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 15:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open >Resolution: Duplicate Priority: 5 Submitted By: Martin Liebmann (mliebmann) >Assigned to: Kurt B. Kaiser (kbk) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-12 13:27 Message: Logged In: YES user_id=149084 Will you be able to upload the patch file? BTW, we prefer context diffs over unidiffs when possible. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From rhh@StructureLABS.com Tue Jan 14 04:29:03 2003 From: rhh@StructureLABS.com (rod holland) Date: Mon, 13 Jan 2003 20:29:03 -0800 Subject: [Idle-dev] no keyboard shortcut for shell Message-ID: <3.0.3.32.20030113202903.00e9b008@mail.structurelabs.com> Is there a reason that there is only a menu option and no keyboard shortcut to open the shell? From noreply@sourceforge.net Tue Jan 14 15:41:50 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 07:41:50 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667787 ] crash in class browser (Python 2.3) Message-ID: Bugs item #667787, was opened at 2003-01-14 10:41 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 3 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Nobody/Anonymous (nobody) Summary: crash in class browser (Python 2.3) Initial Comment: I have installed idlefork form CVS with Python 2.3. Whenever I open the class browser I get this traceback: Exception in Tkinter callback Traceback (most recent call last): File "/usr/local/lib/python2.3/lib-tk/Tkinter.py", line 1306, in __call__ return apply(self.func, args) File "/usr/local/lib/python2.3/site-packages/idlelib/EditorWindow.py", line 42 4, in open_class_browser ClassBrowser.ClassBrowser(self.flist, base, [head]) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 28 , in __init__ self.init(flist) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 50 , in init node.expand() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 131, in expand self.update() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 170, in update self.draw(7, 2) File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 184, in draw sublist = self.item._GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 337, in _GetSubList sublist = self.GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 72 , in GetSubList for name in self.listclasses(): File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 10 1, in listclasses if cl.super: AttributeError: Function instance has no attribute 'super' Python 2.2 seems fine. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 From noreply@sourceforge.net Tue Jan 14 15:42:31 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 07:42:31 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667787 ] crash in class browser (Python 2.3) Message-ID: Bugs item #667787, was opened at 2003-01-14 10:41 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 Category: None Group: None Status: Open Resolution: None >Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Nobody/Anonymous (nobody) Summary: crash in class browser (Python 2.3) Initial Comment: I have installed idlefork form CVS with Python 2.3. Whenever I open the class browser I get this traceback: Exception in Tkinter callback Traceback (most recent call last): File "/usr/local/lib/python2.3/lib-tk/Tkinter.py", line 1306, in __call__ return apply(self.func, args) File "/usr/local/lib/python2.3/site-packages/idlelib/EditorWindow.py", line 42 4, in open_class_browser ClassBrowser.ClassBrowser(self.flist, base, [head]) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 28 , in __init__ self.init(flist) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 50 , in init node.expand() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 131, in expand self.update() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 170, in update self.draw(7, 2) File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 184, in draw sublist = self.item._GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 337, in _GetSubList sublist = self.GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 72 , in GetSubList for name in self.listclasses(): File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 10 1, in listclasses if cl.super: AttributeError: Function instance has no attribute 'super' Python 2.2 seems fine. ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 10:42 Message: Logged In: YES user_id=6380 Changed my mind about the priority, since we want idlefork to be merged into Python 2.3... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 From noreply@sourceforge.net Tue Jan 14 16:07:02 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 08:07:02 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Nobody/Anonymous (nobody) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Tue Jan 14 18:13:18 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 10:13:18 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667787 ] crash in class browser (Python 2.3) Message-ID: Bugs item #667787, was opened at 2003-01-14 10:41 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) >Assigned to: Kurt B. Kaiser (kbk) Summary: crash in class browser (Python 2.3) Initial Comment: I have installed idlefork form CVS with Python 2.3. Whenever I open the class browser I get this traceback: Exception in Tkinter callback Traceback (most recent call last): File "/usr/local/lib/python2.3/lib-tk/Tkinter.py", line 1306, in __call__ return apply(self.func, args) File "/usr/local/lib/python2.3/site-packages/idlelib/EditorWindow.py", line 42 4, in open_class_browser ClassBrowser.ClassBrowser(self.flist, base, [head]) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 28 , in __init__ self.init(flist) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 50 , in init node.expand() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 131, in expand self.update() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 170, in update self.draw(7, 2) File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 184, in draw sublist = self.item._GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 337, in _GetSubList sublist = self.GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 72 , in GetSubList for name in self.listclasses(): File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 10 1, in listclasses if cl.super: AttributeError: Function instance has no attribute 'super' Python 2.2 seems fine. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:13 Message: Logged In: YES user_id=149084 Confirmed, also seen in Python IDLE. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 10:42 Message: Logged In: YES user_id=6380 Changed my mind about the priority, since we want idlefork to be merged into Python 2.3... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 From noreply@sourceforge.net Tue Jan 14 18:33:16 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 10:33:16 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) >Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Tue Jan 14 18:39:25 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 10:39:25 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From kbk@users.sourceforge.net Tue Jan 14 22:03:34 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Tue, 14 Jan 2003 14:03:34 -0800 Subject: [Idle-dev] CVS: idle Bindings.py,1.14,1.15 EditorWindow.py,1.45,1.46 NEWS.txt,1.7,1.8 config-main.def,1.12,1.13 configDialog.py,1.50,1.51 configHandler.py,1.28,1.29 configHelpSourceEdit.py,1.4,1.5 configSectionNameDialog.py,1.3,1.4 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv19696 Modified Files: Bindings.py EditorWindow.py NEWS.txt config-main.def configDialog.py configHandler.py configHelpSourceEdit.py configSectionNameDialog.py Log Message: M Bindings.py M EditorWindow.py M NEWS.txt M config-main.def M configDialog.py M configHandler.py M configHelpSourceEdit.py M configSectionNameDialog.py - Change default: IDLE now starts with Python Shell. - Removed the File Path from the Additional Help Sources scrolled list. - Add capability to access Additional Help Sources on the web if the Help File Path begins with //http or www. (Otherwise local path is validated, as before.) - Additional Help Sources were not being posted on the Help menu in the order entered. Implement sorting the list by [HelpFiles] 'option' number. - Add Browse button to New Help Source dialog. Arrange to start in Python/Doc if platform is Windows, otherwise start in current directory. - Put the Additional Help Sources directly on the Help menu instead of in an Extra Help cascade menu. Rearrange the Help menu so the Additional Help Sources come last. Update help.txt appropriately. - Fix Tk root pop-ups in configSectionNameDialog.py and configDialog.py Index: Bindings.py =================================================================== RCS file: /cvsroot/idlefork/idle/Bindings.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** Bindings.py 4 Jan 2003 01:43:53 -0000 1.14 --- Bindings.py 14 Jan 2003 22:03:31 -0000 1.15 *************** *** 66,79 **** ]), ('options', [ ! ('_Configure Idle...', '<>'), None, ('Revert to _Default Settings', '<>'), ]), ('help', [ ! ('_IDLE Help...', '<>'), ! ('Python _Documentation...', '<>'), ! ('View IDLE _Readme...', '<>'), None, ! ('_About IDLE...', '<>'), ]), ] --- 66,79 ---- ]), ('options', [ ! ('_Configure IDLE...', '<>'), None, ('Revert to _Default Settings', '<>'), ]), ('help', [ ! ('_About IDLE', '<>'), ! ('IDLE _Readme', '<>'), None, ! ('_IDLE Help', '<>'), ! ('Python _Docs', '<>'), ]), ] Index: EditorWindow.py =================================================================== RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -r1.45 -r1.46 *** EditorWindow.py 10 Jan 2003 21:25:20 -0000 1.45 --- EditorWindow.py 14 Jan 2003 22:03:31 -0000 1.46 *************** *** 248,253 **** mbar.add_cascade(label=label, menu=menu, underline=underline) self.fill_menus() ! #create the ExtraHelp menu, if required ! self.ResetExtraHelpMenu() def postwindowsmenu(self): --- 248,253 ---- mbar.add_cascade(label=label, menu=menu, underline=underline) self.fill_menus() ! self.base_helpmenu_length = self.menudict['help'].index(END) ! self.reset_help_menu_entries() def postwindowsmenu(self): *************** *** 316,320 **** def display_docs(self, url): ! url = os.path.normpath(url) if sys.platform.count('win') or sys.platform.count('nt'): os.startfile(url) --- 316,321 ---- def display_docs(self, url): ! if not (url.startswith('www') or url.startswith('http')): ! url = os.path.normpath(url) if sys.platform.count('win') or sys.platform.count('nt'): os.startfile(url) *************** *** 531,557 **** #print 'accel now:',accel,'\n' ! def ResetExtraHelpMenu(self): ! "Load or update the Extra Help menu if required" ! menuList=idleConf.GetAllExtraHelpSourcesList() ! helpMenu=self.menudict['help'] ! cascadeIndex=helpMenu.index(END)-1 ! if menuList: ! if not hasattr(self,'menuExtraHelp'): ! self.menuExtraHelp=Menu(self.menubar) ! helpMenu.insert_cascade(cascadeIndex,label='Extra Help', ! underline=1,menu=self.menuExtraHelp) ! self.menuExtraHelp.delete(1,END) ! for menuItem in menuList: ! self.menuExtraHelp.add_command(label=menuItem[0], ! command=self.__DisplayExtraHelpCallback(menuItem[1])) ! else: #no extra help items ! if hasattr(self,'menuExtraHelp'): ! helpMenu.delete(cascadeIndex-1) ! del(self.menuExtraHelp) ! ! def __DisplayExtraHelpCallback(self,helpFile): ! def DisplayExtraHelp(helpFile=helpFile): ! self.display_docs(helpFile) ! return DisplayExtraHelp def UpdateRecentFilesList(self,newFile=None): --- 532,557 ---- #print 'accel now:',accel,'\n' ! def reset_help_menu_entries(self): ! "Update the additional help entries on the Help menu" ! help_list = idleConf.GetAllExtraHelpSourcesList() ! helpmenu = self.menudict['help'] ! # first delete the extra help entries, if any ! helpmenu_length = helpmenu.index(END) ! if helpmenu_length > self.base_helpmenu_length: ! helpmenu.delete((self.base_helpmenu_length + 1), helpmenu_length) ! # then rebuild them ! if help_list: ! helpmenu.add_separator() ! for entry in help_list: ! cmd = self.__extra_help_callback(entry[1]) ! helpmenu.add_command(label=entry[0], command=cmd) ! # and update the menu dictionary ! self.menudict['help'] = helpmenu ! ! def __extra_help_callback(self, helpfile): ! "Create a callback with the helpfile value frozen at definition time" ! def display_extra_help(helpfile=helpfile): ! self.display_docs(helpfile) ! return display_extra_help def UpdateRecentFilesList(self,newFile=None): Index: NEWS.txt =================================================================== RCS file: /cvsroot/idlefork/idle/NEWS.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** NEWS.txt 10 Jan 2003 21:27:22 -0000 1.7 --- NEWS.txt 14 Jan 2003 22:03:31 -0000 1.8 *************** *** 8,11 **** --- 8,32 ---- *Release date: XX-XXX-2003* + - Change default: IDLE now starts with Python Shell. + + - Removed the File Path from the Additional Help Sources scrolled list. + + - Add capability to access Additional Help Sources on the web if the + Help File Path begins with //http or www. (Otherwise local path is + validated, as before.) + + - Additional Help Sources were not being posted on the Help menu in the + order entered. Implement sorting the list by [HelpFiles] 'option' + number. + + - Add Browse button to New Help Source dialog. Arrange to start in + Python/Doc if platform is Windows, otherwise start in current directory. + + - Put the Additional Help Sources directly on the Help menu instead of in + an Extra Help cascade menu. Rearrange the Help menu so the Additional + Help Sources come last. Update help.txt appropriately. + + - Fix Tk root pop-ups in configSectionNameDialog.py and configDialog.py + - Uniform capitalization in General tab of ConfigDialog, update the doc string. Index: config-main.def =================================================================== RCS file: /cvsroot/idlefork/idle/config-main.def,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** config-main.def 11 Jun 2002 04:45:33 -0000 1.12 --- config-main.def 14 Jan 2003 22:03:31 -0000 1.13 *************** *** 26,32 **** # one of the default themes or keysets just applies the relevant settings # from the default file. [General] ! editor-on-startup= 1 print-command-posix=lpr %s print-command-win=start /min notepad /p %s --- 26,44 ---- # one of the default themes or keysets just applies the relevant settings # from the default file. + # + # Additional help sources are listed in the [HelpFiles] section and must be + # viewable by a web browser (or the Windows Help viewer in the case of .chm + # files). These sources will be listed on the Help menu. The pattern is + # + # You can't use a semi-colon in a menu item or path. The path will be platform + # specific because of path separators, drive specs etc. + # + # It is best to use the Configuration GUI to set up additional help sources! + # Example: + #1 = My Extra Help Source;/usr/share/doc/foo/index.html + #2 = Another Help Source;/path/to/another.pdf [General] ! editor-on-startup= 0 print-command-posix=lpr %s print-command-win=start /min notepad /p %s *************** *** 52,72 **** [HelpFiles] - #additional help sources, must be viewable by an html browser - #will be listed on the Help/Other Help menu - #option names are the sequence number of the option - #values take the form: menu item;/path/to/help/source - #obviously you can't use a semi-colon in a menu item or path and the path will - #be platform specific because of path separators, drive specs etc. - #eg.: - #1= My Extra Help Source;/usr/share/doc/foo/index.html - #2= Another Help Source;/path/to/another.html - - #[RecentFiles] - #this section will only be present in the user config file idle-main.cfg - #where it will record the most recently openned files in the form - #IndexNum= /full/path/of/file , for display on the File/Recent Files menu - #it is present here for reference only - #eg.: - #1=/most/recently/openned/file - #2=/next/most/recently/openned/file - #etc. --- 64,65 ---- Index: configDialog.py =================================================================== RCS file: /cvsroot/idlefork/idle/configDialog.py,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** configDialog.py 10 Jan 2003 20:13:57 -0000 1.50 --- configDialog.py 14 Jan 2003 22:03:31 -0000 1.51 *************** *** 678,682 **** keySetName=self.customKeys.get() if not tkMessageBox.askyesno('Delete Key Set','Are you sure you wish '+ ! 'to delete the key set '+`keySetName`+' ?'): return #remove key set from config --- 678,683 ---- keySetName=self.customKeys.get() if not tkMessageBox.askyesno('Delete Key Set','Are you sure you wish '+ ! 'to delete the key set '+`keySetName`+' ?', ! parent=self): return #remove key set from config *************** *** 704,708 **** themeName=self.customTheme.get() if not tkMessageBox.askyesno('Delete Theme','Are you sure you wish '+ ! 'to delete the theme '+`themeName`+' ?'): return #remove theme from config --- 705,710 ---- themeName=self.customTheme.get() if not tkMessageBox.askyesno('Delete Theme','Are you sure you wish '+ ! 'to delete the theme '+`themeName`+' ?', ! parent=self): return #remove theme from config *************** *** 875,879 **** if helpSource: self.userHelpList.append( (helpSource[0],helpSource[1]) ) ! self.listHelp.insert(END,helpSource[0]+' '+helpSource[1]) self.UpdateUserHelpChangedItems() self.SetHelpListButtonStates() --- 877,881 ---- if helpSource: self.userHelpList.append( (helpSource[0],helpSource[1]) ) ! self.listHelp.insert(END,helpSource[0]) self.UpdateUserHelpChangedItems() self.SetHelpListButtonStates() *************** *** 888,892 **** self.userHelpList[itemIndex]=newHelpSource self.listHelp.delete(itemIndex) ! self.listHelp.insert(itemIndex,newHelpSource[0]+' '+newHelpSource[1]) self.UpdateUserHelpChangedItems() self.SetHelpListButtonStates() --- 890,894 ---- self.userHelpList[itemIndex]=newHelpSource self.listHelp.delete(itemIndex) ! self.listHelp.insert(itemIndex,newHelpSource[0]) self.UpdateUserHelpChangedItems() self.SetHelpListButtonStates() *************** *** 900,909 **** def UpdateUserHelpChangedItems(self): ! #clear and rebuild the HelpFiles section in self.changedItems ! if self.changedItems['main'].has_key('HelpFiles'): ! del(self.changedItems['main']['HelpFiles']) for num in range(1,len(self.userHelpList)+1): self.AddChangedItem('main','HelpFiles',str(num), ! string.join(self.userHelpList[num-1],';')) def LoadFontCfg(self): --- 902,910 ---- def UpdateUserHelpChangedItems(self): ! "Clear and rebuild the HelpFiles section in self.changedItems" ! self.changedItems['main']['HelpFiles'] = {} for num in range(1,len(self.userHelpList)+1): self.AddChangedItem('main','HelpFiles',str(num), ! string.join(self.userHelpList[num-1][:2],';')) def LoadFontCfg(self): *************** *** 1020,1027 **** self.winWidth.set(idleConf.GetOption('main','EditorWindow','width')) self.winHeight.set(idleConf.GetOption('main','EditorWindow','height')) ! #help browsing ! self.userHelpList=idleConf.GetExtraHelpSourceList('user') for helpItem in self.userHelpList: ! self.listHelp.insert(END,helpItem[0]+' '+helpItem[1]) self.SetHelpListButtonStates() #self.userHelpBrowser.set(idleConf.GetOption('main','General', --- 1021,1028 ---- self.winWidth.set(idleConf.GetOption('main','EditorWindow','width')) self.winHeight.set(idleConf.GetOption('main','EditorWindow','height')) ! # additional help sources ! self.userHelpList = idleConf.GetAllExtraHelpSourcesList() for helpItem in self.userHelpList: ! self.listHelp.insert(END,helpItem[0]) self.SetHelpListButtonStates() #self.userHelpBrowser.set(idleConf.GetOption('main','General', *************** *** 1087,1090 **** --- 1088,1092 ---- #this section gets completely replaced idleConf.userCfg['main'].remove_section('HelpFiles') + cfgTypeHasChanges = True for item in self.changedItems[configType][section].keys(): value = self.changedItems[configType][section][item] *************** *** 1108,1112 **** instance.ResetFont() instance.ResetKeybindings() ! instance.ResetExtraHelpMenu() def Cancel(self): --- 1110,1114 ---- instance.ResetFont() instance.ResetKeybindings() ! instance.reset_help_menu_entries() def Cancel(self): Index: configHandler.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHandler.py,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -r1.28 -r1.29 *** configHandler.py 4 Jan 2003 01:43:53 -0000 1.28 --- configHandler.py 14 Jan 2003 22:03:31 -0000 1.29 *************** *** 1,13 **** ! """ ! Provides access to stored idle configuration information. ! """ ! # Throughout this module there is an emphasis on returning useable defaults ! # when a problem occurs in returning a requested configuration value back to ! # idle. This is to allow idle to continue to function in spite of errors in ! # the retrieval of config information. When a default is returned instead of ! # a requested config value, a message is printed to stderr to aid in ! # configuration problem notification and resolution. ! import os, sys, string from ConfigParser import ConfigParser, NoOptionError, NoSectionError --- 1,24 ---- ! """Provides access to stored IDLE configuration information. ! Refer to the comments at the beginning of config-main.def for a description of ! the available configuration files and the design implemented to update user ! configuration information. In particular, user configuration choices which ! duplicate the defaults will be removed from the user's configuration files, ! and if a file becomes empty, it will be deleted. ! ! The contents of the user files may be altered using the Options/Configure IDLE ! menu to access the configuration GUI (configDialog.py), or manually. ! ! Throughout this module there is an emphasis on returning useable defaults ! when a problem occurs in returning a requested configuration value back to ! idle. This is to allow IDLE to continue to function in spite of errors in ! the retrieval of config information. When a default is returned instead of ! a requested config value, a message is printed to stderr to aid in ! configuration problem notification and resolution. ! ! """ ! import os ! import sys ! import string from ConfigParser import ConfigParser, NoOptionError, NoSectionError *************** *** 124,130 **** def Save(self): ! """ ! If config isn't empty, write file to disk. If config is empty, ! remove the file from disk if it exists. """ if not self.IsEmpty(): --- 135,143 ---- def Save(self): ! """Update user configuration file. ! ! Remove empty sections. If resulting config isn't empty, write the file ! to disk. If config is empty, remove the file from disk if it exists. ! """ if not self.IsEmpty(): *************** *** 556,564 **** def GetExtraHelpSourceList(self,configSet): ! """ ! Returns a list of tuples containing the details of any additional ! help sources configured in the requested configSet ('user' or 'default') ! , or an empty list if there are none. Returned tuples are of the form ! form (menu_item , path_to_help_file , option). """ helpSources=[] --- 569,580 ---- def GetExtraHelpSourceList(self,configSet): ! """Fetch list of extra help sources from a given configSet. ! ! Valid configSets are 'user' or 'default'. Return a list of tuples of ! the form (menu_item , path_to_help_file , option), or return the empty ! list. 'option' is the sequence number of the help resource. 'option' ! values determine the position of the menu items on the Help menu, ! therefore the returned list must be sorted by 'option'. ! """ helpSources=[] *************** *** 581,585 **** --- 597,610 ---- if menuItem and helpPath: #neither are empty strings helpSources.append( (menuItem,helpPath,option) ) + helpSources.sort(self.__helpsort) return helpSources + + def __helpsort(self, h1, h2): + if int(h1[2]) < int(h2[2]): + return -1 + elif int(h1[2]) > int(h2[2]): + return 1 + else: + return 0 def GetAllExtraHelpSourcesList(self): Index: configHelpSourceEdit.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHelpSourceEdit.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** configHelpSourceEdit.py 10 Jan 2003 20:13:57 -0000 1.4 --- configHelpSourceEdit.py 14 Jan 2003 22:03:31 -0000 1.5 *************** *** 1,13 **** "Dialog to specify or edit the parameters for a user configured help source." from Tkinter import * import tkMessageBox ! import os class GetHelpSourceDialog(Toplevel): def __init__(self, parent, title, menuItem='', filePath=''): ! """ ! menuItem - string, the menu item to edit, if any ! filePath - string, the help file path to edit, if any """ Toplevel.__init__(self, parent) --- 1,18 ---- "Dialog to specify or edit the parameters for a user configured help source." + import os + from Tkinter import * import tkMessageBox ! import tkFileDialog class GetHelpSourceDialog(Toplevel): def __init__(self, parent, title, menuItem='', filePath=''): ! """Get menu entry and url/ local file location for Additional Help ! ! User selects a name for the Help resource and provides a web url ! or a local file as its source. The user can enter a url or browse ! for the file. ! """ Toplevel.__init__(self, parent) *************** *** 40,44 **** self.path = StringVar(self) self.fontSize = StringVar(self) ! self.frameMain = Frame(self, borderwidth=2, relief=SUNKEN) self.frameMain.pack(side=TOP, expand=TRUE, fill=BOTH) labelMenu = Label(self.frameMain, anchor=W, justify=LEFT, --- 45,49 ---- self.path = StringVar(self) self.fontSize = StringVar(self) ! self.frameMain = Frame(self, borderwidth=2, relief=GROOVE) self.frameMain.pack(side=TOP, expand=TRUE, fill=BOTH) labelMenu = Label(self.frameMain, anchor=W, justify=LEFT, *************** *** 48,52 **** self.entryMenu.focus_set() labelPath = Label(self.frameMain, anchor=W, justify=LEFT, ! text='Help File Path:') self.entryPath = Entry(self.frameMain, textvariable=self.path, width=40) --- 53,57 ---- self.entryMenu.focus_set() labelPath = Label(self.frameMain, anchor=W, justify=LEFT, ! text='Help File Path: Enter URL or browse for file') self.entryPath = Entry(self.frameMain, textvariable=self.path, width=40) *************** *** 56,59 **** --- 61,67 ---- labelPath.pack(anchor=W, padx=5, pady=3) self.entryPath.pack(anchor=W, padx=5, pady=3) + browseButton = Button(self.frameMain, text='Browse', width=8, + command=self.browseFile) + browseButton.pack(pady=3) frameButtons = Frame(self) frameButtons.pack(side=BOTTOM, fill=X) *************** *** 61,70 **** width=8, default=ACTIVE, command=self.Ok) self.buttonOk.grid(row=0, column=0, padx=5,pady=5) - self.buttonOk.bind('', self.Ok) - #self.buttonOk.focus() self.buttonCancel = Button(frameButtons, text='Cancel', width=8, command=self.Cancel) self.buttonCancel.grid(row=0, column=1, padx=5, pady=5) def MenuOk(self): "Simple validity check for a sensible menu item name" --- 69,99 ---- width=8, default=ACTIVE, command=self.Ok) self.buttonOk.grid(row=0, column=0, padx=5,pady=5) self.buttonCancel = Button(frameButtons, text='Cancel', width=8, command=self.Cancel) self.buttonCancel.grid(row=0, column=1, padx=5, pady=5) + def browseFile(self): + filetypes = [ + ("HTML Files", "*.htm *.html", "TEXT"), + ("PDF Files", "*.pdf", "TEXT"), + ("Windows Help Files", "*.chm"), + ("Text Files", "*.txt", "TEXT"), + ("All Files", "*")] + path = self.path.get() + if path: + dir, base = os.path.split(path) + else: + base = None + if sys.platform.count('win') or sys.platform.count('nt'): + dir = os.path.join(os.path.dirname(sys.executable), 'Doc') + if not os.path.isdir(dir): + dir = os.getcwd() + else: + dir = os.getcwd() + opendialog = tkFileDialog.Open(parent=self, filetypes=filetypes) + file = opendialog.show(initialdir=dir, initialfile=base) + if file: + self.path.set(file) + def MenuOk(self): "Simple validity check for a sensible menu item name" *************** *** 98,101 **** --- 127,132 ---- self.entryPath.focus_set() pathOk = False + elif path.startswith('www.') or path.startswith('http'): + pathOk = True elif not os.path.exists(path): tkMessageBox.showerror(title='File Path Error', Index: configSectionNameDialog.py =================================================================== RCS file: /cvsroot/idlefork/idle/configSectionNameDialog.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** configSectionNameDialog.py 31 Dec 2002 16:03:23 -0000 1.3 --- configSectionNameDialog.py 14 Jan 2003 22:03:31 -0000 1.4 *************** *** 64,77 **** if not name: #no name specified tkMessageBox.showerror(title='Name Error', ! message='No name specified.') nameOk=0 elif len(name)>30: #name too long tkMessageBox.showerror(title='Name Error', message='Name too long. It should be no more than '+ ! '30 characters.') nameOk=0 elif name in self.usedNames: tkMessageBox.showerror(title='Name Error', ! message='This name is already in use.') nameOk=0 return nameOk --- 64,77 ---- if not name: #no name specified tkMessageBox.showerror(title='Name Error', ! message='No name specified.', parent=self) nameOk=0 elif len(name)>30: #name too long tkMessageBox.showerror(title='Name Error', message='Name too long. It should be no more than '+ ! '30 characters.', parent=self) nameOk=0 elif name in self.usedNames: tkMessageBox.showerror(title='Name Error', ! message='This name is already in use.', parent=self) nameOk=0 return nameOk From kbk@users.sourceforge.net Tue Jan 14 22:06:13 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Tue, 14 Jan 2003 14:06:13 -0800 Subject: [Idle-dev] CVS: idle help.txt,1.6,1.7 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv20101 Modified Files: help.txt Log Message: Updated IDLE Help to reflect changes in Additional Help Source Configuration implementation. Index: help.txt =================================================================== RCS file: /cvsroot/idlefork/idle/help.txt,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** help.txt 4 Jan 2003 01:43:53 -0000 1.6 --- help.txt 14 Jan 2003 22:06:11 -0000 1.7 *************** *** 1,3 **** ! [See end for ** TIPS on using IDLE] Click on the dotted line at the top of a menu to "tear it off": a --- 1,3 ---- ! [See the end of this file for ** TIPS ** on using IDLE !!] Click on the dotted line at the top of a menu to "tear it off": a *************** *** 80,84 **** Configure IDLE -- Open a configuration dialog. Fonts, indentation, keybindings, and color themes may be altered. ! Startup preferences may be set. --- Revert to Default Settings -- Restore original settings --- 80,85 ---- Configure IDLE -- Open a configuration dialog. Fonts, indentation, keybindings, and color themes may be altered. ! Startup Preferences may be set, and Additional Help ! Souces can be specified. --- Revert to Default Settings -- Restore original settings *************** *** 95,107 **** Help Menu: ! IDLE Help -- Display this file ! Python Documentation -- Access local Python documentation, if ! installed. Otherwise access python.org. IDLE Readme -- Background discussion and change details --- ! About IDLE --- Version, copyright, license, credits ! ** TIPS ! ======== Basic editing and navigation: --- 96,125 ---- Help Menu: ! About IDLE -- Version, copyright, license, credits IDLE Readme -- Background discussion and change details --- ! IDLE Help -- Display this file ! Python Docs -- Access local Python documentation, if ! installed. Otherwise, access www.python.org. ! --- ! (Additional Help Sources) ! ! ! ** TIPS ** ! ========== ! ! Additional Help Sources: ! ! Windows users can Google on pythlp.chm and zopeshelf.chm to access help ! files in the Windows help format. The Additional Help Sources feature ! of the configuration GUI supports .chm, along with any other filetypes ! supported by your browser. Supply a Menu Item title, and enter the ! location in the Help File Path slot of the New Help Source dialog. Use ! http:// and/or www. to identify external URLs, or download the file and ! browse for its path on your machine using the Browse button. ! All users can access the extensive sources of help, including ! tutorials, available at www.python.org/doc. Selected URLs can be added ! or removed from the Help menu at any time. Basic editing and navigation: From noreply@sourceforge.net Tue Jan 14 22:55:00 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 14 Jan 2003 14:55:00 -0800 Subject: [Idle-dev] [ idlefork-Patches-661472 ] Mouse wheel mod to TreeWidget Message-ID: Patches item #661472, was opened at 2003-01-03 01:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661472&group_id=9579 Category: None Group: None >Status: Pending Resolution: Accepted Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Kurt B. Kaiser (kbk) Summary: Mouse wheel mod to TreeWidget Initial Comment: The mousewheel works everywhere BUT in the path/class browsers. Attached patch trivially binds buttons 4 and 5 -- Nigel Rowe ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 17:55 Message: Logged In: YES user_id=149084 Unfortunately, this didn't work for me. On W2K, with a Logitech wheel mouse, my text windows scroll fine. I'm using Tk8.3. The Tk manual on the bind command talks about Mousewheel events. Could you look at that, maybe that approach will work more universally? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=661472&group_id=9579 From webmaster@pferdemarkt.ws Wed Jan 15 12:25:58 2003 From: webmaster@pferdemarkt.ws (webmaster@pferdemarkt.ws) Date: Wed, 15 Jan 2003 04:25:58 -0800 Subject: [Idle-dev] Pferdemarkt.ws informiert! Newsletter 01/2003 Message-ID: <200301151225.EAA02864@eagle.he.net> http://www.pferdemarkt.ws Wir sind in 2003 erfolgreich in des neue \"Pferdejahr 2003 gestartet. Für den schnellen Erfolg unseres Marktes möchten wir uns bei Ihnen bedanken. Heute am 15. Januar 2003 sind wir genau 14 Tage Online! Täglich wächst unsere Datenbank um ca. 30 neue Angebote. Stellen auch Sie als Privatperson Ihre zu verkaufenden Pferde direkt und vollkommen Kostenlos ins Internet. Zur besseren Sichtbarmachung Ihrer Angebote können SIe bis zu ein Bild zu Ihrer Pferdeanzeige kostenlos einstellen! Klicken Sie hier um sich direkt einzuloggen http://www.Pferdemarkt.ws Kostenlos Anbieten, Kostenlos Suchen! Direkt von Privat zu Privat! Haben Sie noch Fragen mailto: webmaster@pferdemarkt.ws From noreply@sourceforge.net Thu Jan 16 01:57:31 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 15 Jan 2003 17:57:31 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open >Resolution: Works For Me Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Thu Jan 16 02:02:11 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 15 Jan 2003 18:02:11 -0800 Subject: [Idle-dev] [ idlefork-Bugs-661676 ] some cosmetic configure window issues Message-ID: Bugs item #661676, was opened at 2003-01-03 10:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 3 Submitted By: Hernan Martinez Foffani (hfoffani) Assigned to: Kurt B. Kaiser (kbk) Summary: some cosmetic configure window issues Initial Comment: some widgets in the configure windows are uninitalized on the first run: - font (it doesn't highlight the default font) - "Built-in Theme" option is not checked - which Tab key insertion scheme is the default - "Built-in Key Set" option is not checked - one of both option at Startup Preference should be checked ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 21:02 Message: Logged In: YES user_id=149084 On W2K Python2.2 I can see that the font is not highlighted but the other radio buttons have the default selected as expected. Can anyone else running 2.3 on Windows confirm this bug? (on Linux the default font is highlighted ok) ---------------------------------------------------------------------- Comment By: Hernan Martinez Foffani (hfoffani) Date: 2003-01-03 10:37 Message: Logged In: YES user_id=112690 ups... forgot to tell: Python 2.3a1 (#38, Dec 31 2002, 17:53:59) [MSC v.1200 32 bit (Intel)] on win32 IDLEfork 0.9a1 Windows 2k spanish version. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=661676&group_id=9579 From noreply@sourceforge.net Thu Jan 16 02:21:40 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 15 Jan 2003 18:21:40 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Works For Me Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Thu Jan 16 02:21:51 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 15 Jan 2003 18:21:51 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Works For Me Priority: 5 Submitted By: Guido van Rossum (gvanrossum) >Assigned to: Guido van Rossum (gvanrossum) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From akineko@pacbell.net Thu Jan 16 04:44:19 2003 From: akineko@pacbell.net (Aki Niimura) Date: Wed, 15 Jan 2003 20:44:19 -0800 (PST) Subject: [Idle-dev] A suggestion to IDLE (A wish from a Unix user) Message-ID: <200301160444.h0G4iJC01613@evelyn.kushala.com> Hi, I would like to make a suggestion to IDLE, if I may. I'm currently porting my C++ Unix program to a Python program on Windows. To run a Python program on Windows, IDLE is an essential tool. However, I have one big complaint that IDLE doesn't have a way to reload (or refresh) the loaded file contents unless I close the IDLE windows and start over. The way I'm debugging the program is: (1) write a program in Unix using my favourite editor (2) open the file with IDLE in Windows - the file is shared between the platforms using Samba (3) update the file in Unix (4) try again in Windows - currently I need to close the IDLE and start over // It would be very nice if the future IDLE has a way to refresh the file being loaded. (I'm using IDLE 0.8) Thank you for your attentions. Aki- From noreply@sourceforge.net Thu Jan 16 11:11:53 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 03:11:53 -0800 Subject: [Idle-dev] [ idlefork-Patches-668998 ] Install icons Message-ID: Patches item #668998, was opened at 2003-01-16 12:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=668998&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Martin v. Löwis (loewis) Assigned to: Nobody/Anonymous (nobody) Summary: Install icons Initial Comment: This patch is needed to install the icons on Unix, and was committed as setup.py 1.5 in Python. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=668998&group_id=9579 From noreply@sourceforge.net Thu Jan 16 17:36:02 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 09:36:02 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Works For Me Priority: 5 Submitted By: Guido van Rossum (gvanrossum) >Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 12:36 Message: Logged In: YES user_id=6380 Alas, it still fails for me on my work box, but only when using the "IDLE Classic Windows" bindings -- it works with the "IDLE Classic Unix" bindings. This box has Tcl/Tk 8.4; my home box has Tcl/Tk 8.3. Both are Linux boxes (the home box has Red Hat 7.3, the work box has Mandrake 8.1, which is actually older.) ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From kbk@shore.net Thu Jan 16 19:01:33 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: Thu, 16 Jan 2003 14:01:33 -0500 Subject: [Idle-dev] A suggestion to IDLE (A wish from a Unix user) In-Reply-To: <200301160444.h0G4iJC01613@evelyn.kushala.com> (Aki Niimura's message of "Wed, 15 Jan 2003 20:44:19 -0800 (PST)") References: <200301160444.h0G4iJC01613@evelyn.kushala.com> Message-ID: Aki Niimura writes: > However, I have one big complaint that IDLE doesn't have a way > to reload (or refresh) the loaded file contents unless I close > the IDLE windows and start over. > > The way I'm debugging the program is: > (1) write a program in Unix using my favourite editor > > (2) open the file with IDLE in Windows > - the file is shared between the platforms using Samba > > (3) update the file in Unix > > (4) try again in Windows > - currently I need to close the IDLE and start over > > // > > It would be very nice if the future IDLE has a way to refresh the > file being loaded. (I'm using IDLE 0.8) I recommend that you try IDLEfork, which will soon be the new Python IDLE. http://sourceforge.net/projects/idlefork/ If you open a file in an Edit window, every time you hit F5 it will be re-run in a fresh environment (which is a subprocess independent of IDLEfork itself). Modification by an external editor works correctly, and you will get the result of a fresh start of the current program, even if the module edited is two or three steps down an import chain. As far as viewing the updated source file (the above method will not change the source in the Edit window), it is not necessary to restart IDLEfork after an external change. Simply close the Edit window and re-open it. This is much more convenient now that we have a Recent Files feature on the File menu. It would be possible to implement a feature whereby the Edit window would be updated at F5 time if the file on disk was newer. If I get enough call for it, maybe it will happen. An RFE on IDLEfork would help me not to forget! Or, you could submit a patch! :-) :-) Of course, we want to wean you from your "favorite" editor. IDLE has advantages for Python coding that other editors do not. Try IDLEfork and let us know how it works out and why you still prefer your favorite editor. -- KBK From noreply@sourceforge.net Thu Jan 16 19:20:46 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 11:20:46 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 14:20 Message: Logged In: YES user_id=149084 Well, unfortuately I don't yet have Tk8.4. This is pretty strange because of the symmetry in the way the keybinding sets are handled. Could you try modifiying your config-keys.def file to add the Meta-Key bindings like in "classic unix" to the history commands? (Don't forget the space ;) Do your other Alt-Key bindings work? ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 12:36 Message: Logged In: YES user_id=6380 Alas, it still fails for me on my work box, but only when using the "IDLE Classic Windows" bindings -- it works with the "IDLE Classic Unix" bindings. This box has Tcl/Tk 8.4; my home box has Tcl/Tk 8.3. Both are Linux boxes (the home box has Red Hat 7.3, the work box has Mandrake 8.1, which is actually older.) ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Thu Jan 16 20:01:02 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 12:01:02 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 15:01 Message: Logged In: YES user_id=6380 I think I've got the culprit. The Unix bindings specity both Alt-p and Meta-p for the history-previous binding, but the Windows bindings only specify Alt-p. It seems my work box is configured so that Alt is actually the "Windows" key, and Meta is the key labeled Alt, but my home box is not that way. (I tried it with Python 2.2.2 and Tcl/Tk 8.3, and it still didn't work, so it's not Tcl/Tk related.) Unsure what to do about it except perhaps adding Alt and Meta as each other's aliases everywhere. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 14:20 Message: Logged In: YES user_id=149084 Well, unfortuately I don't yet have Tk8.4. This is pretty strange because of the symmetry in the way the keybinding sets are handled. Could you try modifiying your config-keys.def file to add the Meta-Key bindings like in "classic unix" to the history commands? (Don't forget the space ;) Do your other Alt-Key bindings work? ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 12:36 Message: Logged In: YES user_id=6380 Alas, it still fails for me on my work box, but only when using the "IDLE Classic Windows" bindings -- it works with the "IDLE Classic Unix" bindings. This box has Tcl/Tk 8.4; my home box has Tcl/Tk 8.3. Both are Linux boxes (the home box has Red Hat 7.3, the work box has Mandrake 8.1, which is actually older.) ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Thu Jan 16 20:28:00 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 12:28:00 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 15:28 Message: Logged In: YES user_id=149084 That's pretty peculiar...I'd expect the "Windows" keys to be Meta. Time to switch to Debian. Would you like me to add the Meta defs to the .def file? You're probably not alone on this. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 15:01 Message: Logged In: YES user_id=6380 I think I've got the culprit. The Unix bindings specity both Alt-p and Meta-p for the history-previous binding, but the Windows bindings only specify Alt-p. It seems my work box is configured so that Alt is actually the "Windows" key, and Meta is the key labeled Alt, but my home box is not that way. (I tried it with Python 2.2.2 and Tcl/Tk 8.3, and it still didn't work, so it's not Tcl/Tk related.) Unsure what to do about it except perhaps adding Alt and Meta as each other's aliases everywhere. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 14:20 Message: Logged In: YES user_id=149084 Well, unfortuately I don't yet have Tk8.4. This is pretty strange because of the symmetry in the way the keybinding sets are handled. Could you try modifiying your config-keys.def file to add the Meta-Key bindings like in "classic unix" to the history commands? (Don't forget the space ;) Do your other Alt-Key bindings work? ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 12:36 Message: Logged In: YES user_id=6380 Alas, it still fails for me on my work box, but only when using the "IDLE Classic Windows" bindings -- it works with the "IDLE Classic Unix" bindings. This box has Tcl/Tk 8.4; my home box has Tcl/Tk 8.3. Both are Linux boxes (the home box has Red Hat 7.3, the work box has Mandrake 8.1, which is actually older.) ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From noreply@sourceforge.net Thu Jan 16 20:31:10 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 12:31:10 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 15:31 Message: Logged In: YES user_id=6380 Yes, that would be a good idea. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 15:28 Message: Logged In: YES user_id=149084 That's pretty peculiar...I'd expect the "Windows" keys to be Meta. Time to switch to Debian. Would you like me to add the Meta defs to the .def file? You're probably not alone on this. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 15:01 Message: Logged In: YES user_id=6380 I think I've got the culprit. The Unix bindings specity both Alt-p and Meta-p for the history-previous binding, but the Windows bindings only specify Alt-p. It seems my work box is configured so that Alt is actually the "Windows" key, and Meta is the key labeled Alt, but my home box is not that way. (I tried it with Python 2.2.2 and Tcl/Tk 8.3, and it still didn't work, so it's not Tcl/Tk related.) Unsure what to do about it except perhaps adding Alt and Meta as each other's aliases everywhere. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 14:20 Message: Logged In: YES user_id=149084 Well, unfortuately I don't yet have Tk8.4. This is pretty strange because of the symmetry in the way the keybinding sets are handled. Could you try modifiying your config-keys.def file to add the Meta-Key bindings like in "classic unix" to the history commands? (Don't forget the space ;) Do your other Alt-Key bindings work? ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 12:36 Message: Logged In: YES user_id=6380 Alas, it still fails for me on my work box, but only when using the "IDLE Classic Windows" bindings -- it works with the "IDLE Classic Unix" bindings. This box has Tcl/Tk 8.4; my home box has Tcl/Tk 8.3. Both are Linux boxes (the home box has Red Hat 7.3, the work box has Mandrake 8.1, which is actually older.) ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From kbk@users.sourceforge.net Thu Jan 16 21:40:23 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 16 Jan 2003 13:40:23 -0800 Subject: [Idle-dev] CVS: idle config-keys.def,1.16,1.17 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv16554 Modified Files: config-keys.def Log Message: SF Bug 667812: Some Linux distros have Alt and Meta reversed. Index: config-keys.def =================================================================== RCS file: /cvsroot/idlefork/idle/config-keys.def,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** config-keys.def 4 Jan 2003 01:43:53 -0000 1.16 --- config-keys.def 16 Jan 2003 21:40:21 -0000 1.17 *************** *** 15,29 **** center-insert= close-all-windows= ! close-window= do-nothing= end-of-file= python-docs= python-context-help= ! history-next= ! history-previous= interrupt-execution= view-restart= ! open-class-browser= ! open-module= open-new-window= open-window-from-file= --- 15,29 ---- center-insert= close-all-windows= ! close-window= do-nothing= end-of-file= python-docs= python-context-help= ! history-next= ! history-previous= interrupt-execution= view-restart= ! open-class-browser= ! open-module= open-new-window= open-window-from-file= *************** *** 40,47 **** find= find-again= ! find-in-files= find-selection= replace= ! goto-line= smart-backspace= newline-and-indent= --- 40,47 ---- find= find-again= ! find-in-files= find-selection= replace= ! goto-line= smart-backspace= newline-and-indent= *************** *** 49,58 **** indent-region= dedent-region= ! comment-region= ! uncomment-region= ! tabify-region= ! untabify-region= ! toggle-tabs= ! change-indentwidth= [IDLE Classic Unix] --- 49,58 ---- indent-region= dedent-region= ! comment-region= ! uncomment-region= ! tabify-region= ! untabify-region= ! toggle-tabs= ! change-indentwidth= [IDLE Classic Unix] From noreply@sourceforge.net Thu Jan 16 21:44:21 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 13:44:21 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667812 ] History key bindings? Message-ID: Bugs item #667812, was opened at 2003-01-14 11:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Kurt B. Kaiser (kbk) Summary: History key bindings? Initial Comment: Alt-p and Alt-n used to be bound to history commands in the Shell window. The don't work any more. I want them back! (Or something equivalent -- I can learn something else.) This is on Unix using the classic Windows bindings; the key config dialog claims that the above key bindings are in effect, but they don't work. What's up? ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 16:44 Message: Logged In: YES user_id=149084 Modified config-keys.def: Rev 1.17 ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 15:31 Message: Logged In: YES user_id=6380 Yes, that would be a good idea. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 15:28 Message: Logged In: YES user_id=149084 That's pretty peculiar...I'd expect the "Windows" keys to be Meta. Time to switch to Debian. Would you like me to add the Meta defs to the .def file? You're probably not alone on this. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 15:01 Message: Logged In: YES user_id=6380 I think I've got the culprit. The Unix bindings specity both Alt-p and Meta-p for the history-previous binding, but the Windows bindings only specify Alt-p. It seems my work box is configured so that Alt is actually the "Windows" key, and Meta is the key labeled Alt, but my home box is not that way. (I tried it with Python 2.2.2 and Tcl/Tk 8.3, and it still didn't work, so it's not Tcl/Tk related.) Unsure what to do about it except perhaps adding Alt and Meta as each other's aliases everywhere. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 14:20 Message: Logged In: YES user_id=149084 Well, unfortuately I don't yet have Tk8.4. This is pretty strange because of the symmetry in the way the keybinding sets are handled. Could you try modifiying your config-keys.def file to add the Meta-Key bindings like in "classic unix" to the history commands? (Don't forget the space ;) Do your other Alt-Key bindings work? ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-16 12:36 Message: Logged In: YES user_id=6380 Alas, it still fails for me on my work box, but only when using the "IDLE Classic Windows" bindings -- it works with the "IDLE Classic Unix" bindings. This box has Tcl/Tk 8.4; my home box has Tcl/Tk 8.3. Both are Linux boxes (the home box has Red Hat 7.3, the work box has Mandrake 8.1, which is actually older.) ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-15 21:21 Message: Logged In: YES user_id=6380 Hm. And now it works for me too... But this is at home. I think I reported this from work, so I'll keep this open to see if I can still confirm it there. Maybe I'm using a different Tcl/Tk version there. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-15 20:57 Message: Logged In: YES user_id=149084 I'm retracting the confirmation! I was mislead by the history feature ignoring entries < 3 char in length. (I was entering shorter strings for test) I find I can't reproduce this on W2K or Linux, even with a fresh install and deleting my .idlerc. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 13:39 Message: Logged In: YES user_id=6380 It must be in the bindings; when I select Unix bindings it works. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:33 Message: Logged In: YES user_id=149084 Confirm, also on W2K, My alt keys are not working (!! :) so I didn't notice. No idea, will check it out. Its the event handlers which appear to be broken, reassigning doesn't help. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667812&group_id=9579 From kbk@users.sourceforge.net Fri Jan 17 04:04:08 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 16 Jan 2003 20:04:08 -0800 Subject: [Idle-dev] CVS: idle EditorWindow.py,1.46,1.47 NEWS.txt,1.8,1.9 TODO.txt,1.4,1.5 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv22678 Modified Files: EditorWindow.py NEWS.txt TODO.txt Log Message: Patch 611069 (Christos Georgiou) IDLE TODO:left/right when selected text M EditorWindow.py M NEWS.txt M TODO.txt Index: EditorWindow.py =================================================================== RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -r1.46 -r1.47 *** EditorWindow.py 14 Jan 2003 22:03:31 -0000 1.46 --- EditorWindow.py 17 Jan 2003 04:04:06 -0000 1.47 *************** *** 133,136 **** --- 133,138 ---- text.bind("<>",self.toggle_tabs_event) text.bind("<>",self.change_indentwidth_event) + text.bind("", self.move_at_edge_if_selection(0)) + text.bind("", self.move_at_edge_if_selection(1)) if flist: *************** *** 344,347 **** --- 346,369 ---- self.text.tag_remove("sel", "1.0", "end") self.text.see("insert") + + def move_at_edge_if_selection(self, edge_index): + """Cursor move begins at start or end of selection + + When a left/right cursor key is pressed create and return to Tkinter a + function which causes a cursor move from the associated edge of the + selection. + + """ + self_text_index = self.text.index + self_text_mark_set = self.text.mark_set + edges_table = ("sel.first+1c", "sel.last-1c") + def move_at_edge(event): + if (event.state & 5) == 0: # no shift(==1) or control(==4) pressed + try: + self_text_index("sel.first") + self_text_mark_set("insert", edges_table[edge_index]) + except TclError: + pass + return move_at_edge def find_event(self, event): Index: NEWS.txt =================================================================== RCS file: /cvsroot/idlefork/idle/NEWS.txt,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** NEWS.txt 14 Jan 2003 22:03:31 -0000 1.8 --- NEWS.txt 17 Jan 2003 04:04:06 -0000 1.9 *************** *** 8,11 **** --- 8,17 ---- *Release date: XX-XXX-2003* + - Left cursor move in presence of selected text now moves from left end + of the selection. + + - Add Meta keybindings to "IDLE Classic Windows" to handle reversed + Alt/Meta on some Linux distros. + - Change default: IDLE now starts with Python Shell. Index: TODO.txt =================================================================== RCS file: /cvsroot/idlefork/idle/TODO.txt,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** TODO.txt 19 Jul 2001 04:49:13 -0000 1.4 --- TODO.txt 17 Jan 2003 04:04:06 -0000 1.5 *************** *** 47,52 **** Details: - - when there's a selection, left/right arrow should go to either - end of the selection - ^O (on Unix -- open-line) should honor autoindent - after paste, show end of pasted text --- 47,50 ---- From noreply@sourceforge.net Fri Jan 17 04:09:59 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 16 Jan 2003 20:09:59 -0800 Subject: [Idle-dev] [ idlefork-Patches-611069 ] IDLE TODO:left/right when selected text Message-ID: Patches item #611069, was opened at 2002-09-18 07:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=611069&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Christos Georgiou (tzot) >Assigned to: Kurt B. Kaiser (kbk) Summary: IDLE TODO:left/right when selected text Initial Comment: [This was Python patch 610522, you can check that too] When text is selected and user presses left or right, the cursor moves to the correct end of the selection. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-16 23:09 Message: Logged In: YES user_id=149084 Thanks for the patch! EditorWindow 1.47 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=611069&group_id=9579 From rhettinger@users.sourceforge.net Sun Jan 19 02:37:43 2003 From: rhettinger@users.sourceforge.net (Raymond Hettinger) Date: Sat, 18 Jan 2003 18:37:43 -0800 Subject: [Idle-dev] CVS: idle ClassBrowser.py,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv10421 Modified Files: ClassBrowser.py Log Message: SF bug #668906: class browser raises AttributeError The Py2.3 updates to the pyclbr module return both Class and Function objects. The IDLE ClassBrowser module only knew about Class and could not handle objects which did not define "super". Fixed by adding a guard. Index: ClassBrowser.py =================================================================== RCS file: /cvsroot/idlefork/idle/ClassBrowser.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** ClassBrowser.py 3 Dec 2002 09:28:11 -0000 1.5 --- ClassBrowser.py 19 Jan 2003 02:37:41 -0000 1.6 *************** *** 99,103 **** if cl.module == name: s = key ! if cl.super: supers = [] for sup in cl.super: --- 99,103 ---- if cl.module == name: s = key ! if hasattr(cl, 'super') and cl.super: supers = [] for sup in cl.super: From noreply@sourceforge.net Sun Jan 19 02:44:28 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sat, 18 Jan 2003 18:44:28 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667787 ] crash in class browser (Python 2.3) Message-ID: Bugs item #667787, was opened at 2003-01-14 10:41 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Guido van Rossum (gvanrossum) >Assigned to: Raymond Hettinger (rhettinger) Summary: crash in class browser (Python 2.3) Initial Comment: I have installed idlefork form CVS with Python 2.3. Whenever I open the class browser I get this traceback: Exception in Tkinter callback Traceback (most recent call last): File "/usr/local/lib/python2.3/lib-tk/Tkinter.py", line 1306, in __call__ return apply(self.func, args) File "/usr/local/lib/python2.3/site-packages/idlelib/EditorWindow.py", line 42 4, in open_class_browser ClassBrowser.ClassBrowser(self.flist, base, [head]) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 28 , in __init__ self.init(flist) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 50 , in init node.expand() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 131, in expand self.update() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 170, in update self.draw(7, 2) File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 184, in draw sublist = self.item._GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 337, in _GetSubList sublist = self.GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 72 , in GetSubList for name in self.listclasses(): File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 10 1, in listclasses if cl.super: AttributeError: Function instance has no attribute 'super' Python 2.2 seems fine. ---------------------------------------------------------------------- >Comment By: Raymond Hettinger (rhettinger) Date: 2003-01-18 21:44 Message: Logged In: YES user_id=80475 Fixed. See ClassBrowser.py 1.6 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:13 Message: Logged In: YES user_id=149084 Confirmed, also seen in Python IDLE. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 10:42 Message: Logged In: YES user_id=6380 Changed my mind about the priority, since we want idlefork to be merged into Python 2.3... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 From noreply@sourceforge.net Mon Jan 20 01:04:14 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 19 Jan 2003 17:04:14 -0800 Subject: [Idle-dev] [ idlefork-Bugs-660702 ] Cannot configure help file Message-ID: Bugs item #660702, was opened at 2003-01-01 10:17 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Kurt B. Kaiser (kbk) Summary: Cannot configure help file Initial Comment: On Windows, in the "General" section of the configuration settings, when I try to enter a valid URL on the internet (such as http://vpython.org/index.html), I'm told "Help path does not exist". If I enter the path to a local html file (such as C:\Python23\Doc\index.html), then click Apply, then click Ok, nothing new appears on the Help menu, and when I return to the configuration settings my entry is gone. It works properly if I click Ok without clicking Apply. Also, if I have valid additional html references and click Apply, then Ok, I lose those references. In summary, valid URL's cannot be entered, and the "Apply" button apparently erases all help entries. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-19 20:04 Message: Logged In: YES user_id=149084 Fixed the problems mentioned, and added a Browse button to the Additional Help Sources / New Help Source dialog. Web sources can now be added. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-02 00:06 Message: Logged In: YES user_id=149084 Thanks for the comments. I'll take a look at the code and try to clear up these issues. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-01 21:13 Message: Logged In: YES user_id=6380 Boy does that code looks unfinished. E.g. when it pops up the error dialog it also pops up a blank Tk root widget. And the OK button doesn't respond to hitting Return. It seems it *only* accepts local filenames (that explains why it doesn't like file://... URLs). And indeed Apply erases all additional help. I agree with Bruce that the extra help should be in the main Help menu. Pointing to the local docs should be done (except if they can't be found). ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-01 20:46 Message: Logged In: YES user_id=34881 I consider this feature very important. I want to be able to configure the help options to give quick and easy access to the documentation on the Visual module. Considering UI issues, presumably there won't be lots of these custom options, so I would much prefer that they appear on the help menu at the highest level rather than buried on a submenu. See my RFE on the need for a relative addressing scheme for getting to the Python directory. And as you say, on Windows the help should point to the local docs, not a URL. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-01 12:20 Message: Logged In: YES user_id=149084 This section of the code may be unfinished. How useful is the feature? Do you have any UI design suggestions? file://localhost/home/kbk/lynx_bookmarks.html on Linux results in "Help File Path Does Not Exist" (when it does) Also, Python help contacts the mother ship even when docs are installed locally. (Observed on Windows) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=660702&group_id=9579 From noreply@sourceforge.net Mon Jan 20 01:06:08 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 19 Jan 2003 17:06:08 -0800 Subject: [Idle-dev] [ idlefork-Bugs-441472 ] Non-latin1 encodings under Windows. Message-ID: Bugs item #441472, was opened at 2001-07-15 12:48 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=441472&group_id=9579 Category: None Group: None >Status: Closed Resolution: Fixed Priority: 5 Submitted By: Patrick K. O'Brien (pobrien) >Assigned to: Kurt B. Kaiser (kbk) Summary: Non-latin1 encodings under Windows. Initial Comment: The attached problem description was submitted to the python list by Roman Suzi. The problem involves internationalization issues and non-latin1 characters under Windows. The problem is described in great detail and solutions are provided. This should probably be a high priority item for the IDLE revitalization effort. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2002-09-19 15:24 Message: Logged In: YES user_id=149084 Since the merge with Python-idle which includes PEP 263 it would seem that this issue is resolved. I'm going to try sending a copy of the Syncmail to Roman Suzi. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2002-05-20 19:18 Message: Logged In: YES user_id=6380 How old is that email? The FixTk.py problem has been fixed in Python 2.2. I hope that someone will fix the Unicode handling in _tkinter.c and submit a patch to the Python patch manager. Otherwise this will never get fixed. (The regular maintainer of _tkinter.c has no access to systems where foreign encodings are used for testing.) I don't understand why the default encoding must be changed. If the user enters non-ASCII characters Tcl will automatically produce Unicode. If the issue is that there are source code files encoded in national encoding, please wait for PEP 263 -- IDLE should be patched to support the same convention. ---------------------------------------------------------------------- Comment By: Stephen M. Gava (elguavas) Date: 2002-05-19 22:05 Message: Logged In: YES user_id=75867 Should/has this be(een) adressed in python idle? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=441472&group_id=9579 From kbk@users.sourceforge.net Mon Jan 20 04:49:40 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Sun, 19 Jan 2003 20:49:40 -0800 Subject: [Idle-dev] CVS: idle ClassBrowser.py,1.6,1.7 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv15378 Modified Files: ClassBrowser.py Log Message: ...and the old pyclbr.py faked Function instances with Class instances which had empty method and super attributes. ClassBrowser.IsExpandable() could not handle the missing attributes. SF Bug 667787. Index: ClassBrowser.py =================================================================== RCS file: /cvsroot/idlefork/idle/ClassBrowser.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** ClassBrowser.py 19 Jan 2003 02:37:41 -0000 1.6 --- ClassBrowser.py 20 Jan 2003 04:49:37 -0000 1.7 *************** *** 144,148 **** def IsExpandable(self): if self.cl: ! return not not self.cl.methods def GetSubList(self): --- 144,151 ---- def IsExpandable(self): if self.cl: ! try: ! return not not self.cl.methods ! except AttributeError: ! return False def GetSubList(self): From noreply@sourceforge.net Mon Jan 20 04:53:30 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 19 Jan 2003 20:53:30 -0800 Subject: [Idle-dev] [ idlefork-Bugs-667787 ] crash in class browser (Python 2.3) Message-ID: Bugs item #667787, was opened at 2003-01-14 10:41 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 Category: None Group: None Status: Closed Resolution: Fixed Priority: 5 Submitted By: Guido van Rossum (gvanrossum) >Assigned to: Kurt B. Kaiser (kbk) Summary: crash in class browser (Python 2.3) Initial Comment: I have installed idlefork form CVS with Python 2.3. Whenever I open the class browser I get this traceback: Exception in Tkinter callback Traceback (most recent call last): File "/usr/local/lib/python2.3/lib-tk/Tkinter.py", line 1306, in __call__ return apply(self.func, args) File "/usr/local/lib/python2.3/site-packages/idlelib/EditorWindow.py", line 42 4, in open_class_browser ClassBrowser.ClassBrowser(self.flist, base, [head]) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 28 , in __init__ self.init(flist) File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 50 , in init node.expand() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 131, in expand self.update() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 170, in update self.draw(7, 2) File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 184, in draw sublist = self.item._GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/TreeWidget.py", line 337, in _GetSubList sublist = self.GetSubList() File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 72 , in GetSubList for name in self.listclasses(): File "/usr/local/lib/python2.3/site-packages/idlelib/ClassBrowser.py", line 10 1, in listclasses if cl.super: AttributeError: Function instance has no attribute 'super' Python 2.2 seems fine. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-19 23:53 Message: Logged In: YES user_id=149084 Fixed some more. ClassBrowser.py Rev 1.7 ---------------------------------------------------------------------- Comment By: Raymond Hettinger (rhettinger) Date: 2003-01-18 21:44 Message: Logged In: YES user_id=80475 Fixed. See ClassBrowser.py 1.6 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-14 13:13 Message: Logged In: YES user_id=149084 Confirmed, also seen in Python IDLE. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2003-01-14 10:42 Message: Logged In: YES user_id=6380 Changed my mind about the priority, since we want idlefork to be merged into Python 2.3... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=667787&group_id=9579 From noreply@sourceforge.net Mon Jan 20 20:54:13 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 20 Jan 2003 12:54:13 -0800 Subject: [Idle-dev] [ idlefork-Bugs-671359 ] IDLE RPM at Sourceforge Doesn't Work Message-ID: Bugs item #671359, was opened at 2003-01-20 12:54 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE RPM at Sourceforge Doesn't Work Initial Comment: trying to install the IDLEfork-0.9a1-1.noarch.rpm on RedHat 7.3 produces the error that this package needs "Python2-tkinter". A search at rpmfind.net reveals that only a couple of distros use this package, and none are of the majors (RH, Mandrake, or SuSE). I used the tarball, and it works fine; however, I believe it is a mistake to package the RPM with this dependency. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 From noreply@sourceforge.net Mon Jan 20 20:58:18 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 20 Jan 2003 12:58:18 -0800 Subject: [Idle-dev] [ idlefork-Bugs-671359 ] IDLE RPM at Sourceforge Doesn't Work Message-ID: Bugs item #671359, was opened at 2003-01-20 12:54 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: IDLE RPM at Sourceforge Doesn't Work Initial Comment: trying to install the IDLEfork-0.9a1-1.noarch.rpm on RedHat 7.3 produces the error that this package needs "Python2-tkinter". A search at rpmfind.net reveals that only a couple of distros use this package, and none are of the majors (RH, Mandrake, or SuSE). I used the tarball, and it works fine; however, I believe it is a mistake to package the RPM with this dependency. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-01-20 12:58 Message: Logged In: NO Should contain some qualifier in the RPM package name (such as, e.g., something like the .mdk that Mandrake uses) to indicate that it is not going to work with other distros. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 From noreply@sourceforge.net Mon Jan 20 22:48:32 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 20 Jan 2003 14:48:32 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 15:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open >Resolution: Postponed Priority: 5 Submitted By: Martin Liebmann (mliebmann) Assigned to: Kurt B. Kaiser (kbk) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-20 17:48 Message: Logged In: YES user_id=149084 I think this patch could use some addtional work before it's really ready for prime time: import StringIO StringIO.StringIO. [produces a list of class StringIO attributes. Useful, but unexpected to be produced at the class level. >>> s = StringIO.StringIO >>> s >>> s. [doesn't produce a list of attributes, as would be expected for the instance.] >>> ================================ RESTART ========= >>> from StringIO import * >>> StringIO >>> StringIO. [produces the list of classes and top level defs associated with the StringIO module] >>> ================================ RESTART ========= >>> class Animal: def __init__(self, numberlegs, sound=None): self.nlegs = numberlegs self.sound = sound def legs(self, numberlegs=None): if numberlegs == None: print self.nlegs else: self.nlegs = numberlegs def sound(self): print sound -------------- >>> dog = Animal. [doesn't produce a list of attributes] >>> dog = Animal( [produces the expected call tip] ---------------- >>> dog = Animal(4, 'bark') >>> dog <__main__.Animal instance at 0x404dd42c> >>> dog. [doesn't produce a list of attributes. Generally can't see attributes for Classes defined in shell for some reason.] [define Animal in efoo.py] >>> ================================ RESTART ======== >>> import efoo --------------------- >>> efoo. [produces a list of efoo.py Classes and top-level defs] ---------------------- >>> efoo.Animal. [produces list of Animal attributes] ---------------------- >>> dog = efoo.Animal(4, 'bark') >>> dog >>> dog. [doesn't produce list of attributes.] ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-12 13:27 Message: Logged In: YES user_id=149084 Will you be able to upload the patch file? BTW, we prefer context diffs over unidiffs when possible. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From noreply@sourceforge.net Tue Jan 21 03:39:18 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 20 Jan 2003 19:39:18 -0800 Subject: [Idle-dev] [ idlefork-Bugs-671359 ] IDLE RPM at Sourceforge Doesn't Work Message-ID: Bugs item #671359, was opened at 2003-01-20 15:54 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Nobody/Anonymous (nobody) >Assigned to: Kurt B. Kaiser (kbk) Summary: IDLE RPM at Sourceforge Doesn't Work Initial Comment: trying to install the IDLEfork-0.9a1-1.noarch.rpm on RedHat 7.3 produces the error that this package needs "Python2-tkinter". A search at rpmfind.net reveals that only a couple of distros use this package, and none are of the majors (RH, Mandrake, or SuSE). I used the tarball, and it works fine; however, I believe it is a mistake to package the RPM with this dependency. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-20 22:39 Message: Logged In: YES user_id=149084 As detailed in the installation notes, the RPM is designed to work with the Python2 RPMs, including Python2-tkinter available from: http://www.python.org/2.2.2/ (and /2.2.1/) A binary RPM was provided for convenience to those Python2 users on RH 6.2-7.3. Note that Python-2.2 can't be installed in the standard location prior to RH8 since it conflicts with Python1.5, which is required in the earlier RH versions. Therefore it was installed as Python2. These details will be futher clarified in the Alpha 2 installation notes. Thanks for the comments. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-01-20 15:58 Message: Logged In: NO Should contain some qualifier in the RPM package name (such as, e.g., something like the .mdk that Mandrake uses) to indicate that it is not going to work with other distros. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 From kbk@users.sourceforge.net Tue Jan 21 04:42:53 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Mon, 20 Jan 2003 20:42:53 -0800 Subject: [Idle-dev] CVS: idle setup.py,1.12,1.13 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv19297 Modified Files: setup.py Log Message: 1. Restore the rest of Python IDLE setup.py Rev 1.4 (Python SF 634078) (Loewis) which uses 'SRCDIR' (if available) in package dir path. 2. Merge Python IDLE setup.py Rev 1.5 (Loewis) to allow installation from the build directory. IDLEfork SF Patch 668998 (Loewis) Index: setup.py =================================================================== RCS file: /cvsroot/idlefork/idle/setup.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** setup.py 2 Jan 2003 20:33:26 -0000 1.12 --- setup.py 21 Jan 2003 04:42:50 -0000 1.13 *************** *** 10,15 **** pkgname = idle_name + "lib" - pkg_dir = "." - try: pos = sys.argv.index("--check-tkinter") --- 10,13 ---- *************** *** 24,27 **** --- 22,30 ---- raise SystemExit + try: + pkg_dir = os.path.join(os.environ['SRCDIR'], 'Tools', idle_name) + except KeyError: + pkg_dir = "." + # the normal build_py would not incorporate anything but .py files txt_files = ['extend.txt', 'help.txt', 'CREDITS.txt', 'HISTORY.txt', *************** *** 31,35 **** txt_files += [idle_name + '.bat', idle_name + '.pyw'] ! Icons = glob.glob1("Icons","*.gif") class IDLE_Builder(build_py): --- 34,38 ---- txt_files += [idle_name + '.bat', idle_name + '.pyw'] ! Icons = glob.glob1(os.path.join(pkg_dir, "Icons"), "*.gif") class IDLE_Builder(build_py): *************** *** 53,57 **** dir = os.path.dirname(outfile) self.mkpath(dir) ! self.copy_file(os.path.join("Icons", name), outfile, preserve_mode = 0) --- 56,60 ---- dir = os.path.dirname(outfile) self.mkpath(dir) ! self.copy_file(os.path.join(pkg_dir, "Icons", name), outfile, preserve_mode = 0) From noreply@sourceforge.net Tue Jan 21 04:47:24 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 20 Jan 2003 20:47:24 -0800 Subject: [Idle-dev] [ idlefork-Patches-668998 ] Install icons Message-ID: Patches item #668998, was opened at 2003-01-16 06:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=668998&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Martin v. Löwis (loewis) >Assigned to: Kurt B. Kaiser (kbk) Summary: Install icons Initial Comment: This patch is needed to install the icons on Unix, and was committed as setup.py 1.5 in Python. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-20 23:47 Message: Logged In: YES user_id=149084 setup.py Rev 1.13 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=668998&group_id=9579 From gbcs1978@hotmail.com Tue Jan 21 13:54:47 2003 From: gbcs1978@hotmail.com (Glauco Silva) Date: Tue, 21 Jan 2003 11:54:47 -0200 Subject: [Idle-dev] ScrolledFrame Limit Message-ID: Hello everybody!! I'm new here !! I would like to know if there is a limit in the Pmw.ScrolledFrame because i put a lot of images into this and i think that i can't put all images there. Thanks Glauco. _________________________________________________________________ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com From kbk@users.sourceforge.net Wed Jan 22 00:23:26 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Tue, 21 Jan 2003 16:23:26 -0800 Subject: [Idle-dev] CVS: idle Bindings.py,1.15,1.16 PyShell.py,1.52,1.53 config-keys.def,1.17,1.18 configHandler.py,1.29,1.30 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv3459 Modified Files: Bindings.py PyShell.py config-keys.def configHandler.py Log Message: M Bindings.py M PyShell.py M config-keys.def M configHandler.py 1. Clear any un-entered characters from input line before printing the restart boundary. 2. Restore the Debug menu: There are now both Shell and Debug menus. 3. Add Control-F6 keybinding to Restart Shell. 4. Clarify PyShell.cancel_check() comment. 5. Update doc string for Bindings.py and re-format the file slightly. Index: Bindings.py =================================================================== RCS file: /cvsroot/idlefork/idle/Bindings.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** Bindings.py 14 Jan 2003 22:03:31 -0000 1.15 --- Bindings.py 22 Jan 2003 00:23:22 -0000 1.16 *************** *** 1,9 **** ! # This file defines the menu contents and key bindings. Note that ! # there is additional configuration information in the EditorWindow ! # class (and subclasses): the menus are created there based on the ! # menu_specs (class) variable, and menus not created are silently ! # skipped by the code here. This makes it possible to define the ! # Debug menu here, which is only present in the PythonShell window. import sys from configHandler import idleConf --- 1,12 ---- ! """Define the menu contents, hotkeys, and event bindings. + There is additional configuration information in the EditorWindow class (and + subclasses): the menus are created there based on the menu_specs (class) + variable, and menus not created are silently skipped in the code here. This + makes it possible, for example, to define a Debug menu which is only present in + the PythonShell window, and a Format menu which is only present in the Editor + windows. + + """ import sys from configHandler import idleConf *************** *** 44,73 **** ]), ('format', [ ! ('_Indent Region', '<>'), ! ('_Dedent Region', '<>'), ! ('Comment _Out Region', '<>'), ! ('U_ncomment Region', '<>'), ! ('Tabify Region', '<>'), ! ('Untabify Region', '<>'), ! ('Toggle Tabs', '<>'), ! ('New Indent Width', '<>'), ! ]), ! ('run',[ ('Python Shell', '<>'), ! ]), ('shell', [ ('_View Last Restart', '<>'), ('_Restart Shell', '<>'), ! None, ('_Go to File/Line', '<>'), ('!_Debugger', '<>'), ('_Stack Viewer', '<>'), ! ('!_Auto-open Stack Viewer', '<>' ), ! ]), ('options', [ ('_Configure IDLE...', '<>'), None, ('Revert to _Default Settings', '<>'), ! ]), ('help', [ ('_About IDLE', '<>'), --- 47,77 ---- ]), ('format', [ ! ('_Indent Region', '<>'), ! ('_Dedent Region', '<>'), ! ('Comment _Out Region', '<>'), ! ('U_ncomment Region', '<>'), ! ('Tabify Region', '<>'), ! ('Untabify Region', '<>'), ! ('Toggle Tabs', '<>'), ! ('New Indent Width', '<>'), ! ]), ! ('run', [ ('Python Shell', '<>'), ! ]), ('shell', [ ('_View Last Restart', '<>'), ('_Restart Shell', '<>'), ! ]), ! ('debug', [ ('_Go to File/Line', '<>'), ('!_Debugger', '<>'), ('_Stack Viewer', '<>'), ! ('!_Auto-open Stack Viewer', '<>'), ! ]), ('options', [ ('_Configure IDLE...', '<>'), None, ('Revert to _Default Settings', '<>'), ! ]), ('help', [ ('_About IDLE', '<>'), *************** *** 76,80 **** ('_IDLE Help', '<>'), ('Python _Docs', '<>'), ! ]), ] --- 80,84 ---- ('_IDLE Help', '<>'), ('Python _Docs', '<>'), ! ]), ] Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -r1.52 -r1.53 *** PyShell.py 4 Jan 2003 01:43:53 -0000 1.52 --- PyShell.py 22 Jan 2003 00:23:23 -0000 1.53 *************** *** 369,372 **** --- 369,373 ---- # annotate restart in shell window and mark it console = self.tkconsole + console.text.delete("iomark", "end-1c") halfbar = ((int(console.width) - 16) // 2) * '=' console.write(halfbar + ' RESTART ' + halfbar) *************** *** 660,663 **** --- 661,665 ---- ("edit", "_Edit"), ("shell", "_Shell"), + ("debug", "_Debug"), ("options", "_Options"), ("windows", "_Windows"), *************** *** 1008,1013 **** # and interrupt execution at any time. # This slows execution down quite a bit, so you may want to ! # disable this (by not calling settrace() in runcode() above) ! # for full-bore (uninterruptable) speed. # XXX This should become a user option. if self.canceled: --- 1010,1015 ---- # and interrupt execution at any time. # This slows execution down quite a bit, so you may want to ! # disable this (by not calling settrace() in beginexecuting() and ! # endexecuting() for full-bore (uninterruptable) speed.) # XXX This should become a user option. if self.canceled: Index: config-keys.def =================================================================== RCS file: /cvsroot/idlefork/idle/config-keys.def,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** config-keys.def 16 Jan 2003 21:40:21 -0000 1.17 --- config-keys.def 22 Jan 2003 00:23:23 -0000 1.18 *************** *** 24,27 **** --- 24,28 ---- interrupt-execution= view-restart= + restart-shell= open-class-browser= open-module= *************** *** 70,73 **** --- 71,75 ---- interrupt-execution= view-restart= + restart-shell= open-class-browser= open-module= *************** *** 120,123 **** --- 122,126 ---- interrupt-execution= view-restart= + restart-shell= open-class-browser= open-module= Index: configHandler.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHandler.py,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -r1.29 -r1.30 *** configHandler.py 14 Jan 2003 22:03:31 -0000 1.29 --- configHandler.py 22 Jan 2003 00:23:23 -0000 1.30 *************** *** 523,526 **** --- 523,527 ---- '<>': [''], '<>': [''], + '<>': [''], '<>': [''], '<>': [''], From kbk@users.sourceforge.net Wed Jan 22 00:31:12 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Tue, 21 Jan 2003 16:31:12 -0800 Subject: [Idle-dev] CVS: idle TreeWidget.py,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv7233 Modified Files: TreeWidget.py Log Message: Make Alt-Key-2 the Zoom Height binding for ClassBrowser and PathBrowser, consistent with the Edit/Shell windows. Index: TreeWidget.py =================================================================== RCS file: /cvsroot/idlefork/idle/TreeWidget.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** TreeWidget.py 30 Nov 2002 19:04:06 -0000 1.5 --- TreeWidget.py 22 Jan 2003 00:31:09 -0000 1.6 *************** *** 429,434 **** self.canvas.bind("", self.unit_up) self.canvas.bind("", self.unit_down) ! if isinstance(master, Toplevel) or isinstance(master, Tk): ! self.canvas.bind("", self.zoom_height) self.canvas.focus_set() def page_up(self, event): --- 429,434 ---- self.canvas.bind("", self.unit_up) self.canvas.bind("", self.unit_down) ! #if isinstance(master, Toplevel) or isinstance(master, Tk): ! self.canvas.bind("", self.zoom_height) self.canvas.focus_set() def page_up(self, event): From noreply@sourceforge.net Thu Jan 23 22:24:56 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 23 Jan 2003 14:24:56 -0800 Subject: [Idle-dev] [ idlefork-Patches-673428 ] An extension to add command-wise navigation to the shell Message-ID: Patches item #673428, was opened at 2003-01-24 00:24 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=673428&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Noam Raphael (noamr) Assigned to: Nobody/Anonymous (nobody) Summary: An extension to add command-wise navigation to the shell Initial Comment: This extension enables navigating in the shell window according to Python commands, using the Alt key. Alt+Home goes to the beginning of the current command. Alt+End goes to the end of the current command. Alt+Up goes the the previous command. Alt+Down goes to the next command. This is, from my experience, useful for two things: 1. Many times, you want to recall a previous command. I think it is easier to do so in the context of its output and other commands, so instead of pressing alt+p, which brings all commands but leaves them out of context, you do alt+up to move quickly to the place where you used the command, and then you click enter. 2. if you want to delete the entire command you typed, especially if it contains multiple lines, you can now type alt+shift+home, to move to the beginning of the command while selecting the area, and press delete. I don't know of an easy way to do this previously. I wrote this as an extension, but I think the four events should go directly to the PyShell class. I think doing that is quite easy. I don't see a way to attach two files, and I don't want to bother you with another update, so you should add the attached file to the directory of IDLEfork, and add the following to config-extensions.def: [CommandNavigator] enable=1 [CommandNavigator_bindings] beg_of_command= end_of_command= prev_command= next_command= ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=673428&group_id=9579 From noreply@sourceforge.net Thu Jan 23 22:35:34 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 23 Jan 2003 14:35:34 -0800 Subject: [Idle-dev] [ idlefork-Patches-673428 ] An extension to add command-wise navigation to the shell Message-ID: Patches item #673428, was opened at 2003-01-24 00:24 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=673428&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Noam Raphael (noamr) Assigned to: Nobody/Anonymous (nobody) Summary: An extension to add command-wise navigation to the shell Initial Comment: This extension enables navigating in the shell window according to Python commands, using the Alt key. Alt+Home goes to the beginning of the current command. Alt+End goes to the end of the current command. Alt+Up goes the the previous command. Alt+Down goes to the next command. This is, from my experience, useful for two things: 1. Many times, you want to recall a previous command. I think it is easier to do so in the context of its output and other commands, so instead of pressing alt+p, which brings all commands but leaves them out of context, you do alt+up to move quickly to the place where you used the command, and then you click enter. 2. if you want to delete the entire command you typed, especially if it contains multiple lines, you can now type alt+shift+home, to move to the beginning of the command while selecting the area, and press delete. I don't know of an easy way to do this previously. I wrote this as an extension, but I think the four events should go directly to the PyShell class. I think doing that is quite easy. I don't see a way to attach two files, and I don't want to bother you with another update, so you should add the attached file to the directory of IDLEfork, and add the following to config-extensions.def: [CommandNavigator] enable=1 [CommandNavigator_bindings] beg_of_command= end_of_command= prev_command= next_command= ---------------------------------------------------------------------- >Comment By: Noam Raphael (noamr) Date: 2003-01-24 00:35 Message: Logged In: YES user_id=679426 I'm sorry, from some reason the file wasn't uploaded ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=673428&group_id=9579 From jmfauth@bluewin.ch Fri Jan 24 21:58:49 2003 From: jmfauth@bluewin.ch (Jean-Michel Fauth) Date: Fri, 24 Jan 2003 22:58:49 +0100 Subject: [Idle-dev] IDLEfork and ps2 prompt Message-ID: <001001c2c3f4$10790b80$9ca3ca3e@famille> Hi all, python 2.2.1, win98SE, IDLEfork 0.9a1 Nice to see an improvment of IDLE. I just want to point something I do not like in the shell window. The ps2 prompt ('...') has deseappeared. I think this is a big mistake. In a language, where identation is very important, a user should be able to "see" a correct identation. Such an argument is specially valid for beginners, who start learning python using the shell. Indeed, in idlefork (and IDLE), it is possible to code things like this: >>> for i in range(3): print i #height spaces this is working correctly >>> for i in range(3): print i #four spaces this is working too, but it should not Now look at this: >>> for i in range(3): print 'i=', i for j in range(3): print 'j=', j Again, this is working perfectly. My conclusion: Python is a nice language, a good language to learn (and teach) programming. Keep the idle conform to the python language. Reintroduce the '...' prompt. It will be easier for python beginners and programmer beginners. When I introduce python to a new user, I sometimes redefined the ps1 prompt like this: >>> sys.ps1 = '>>> [ready]\n'. This is not very elegant, but helps a newbie. It is no more possible in IDLEfork. I wrote a python shell for Windows platforms using wxPython as GUI. Using the wxStyledTextCtrl as editable widget, I was able to avoid the use of the ps1/ps2 prompts, while keeping a correct identation. This shell, called psi, is available at http://www.chez.com/spinecho Due to my phone connection and my poor wiki knowledge, I never succeed to put a hyperlink to psi in the wiki editors page. If somebody can do this for me..., thanks. Regards Jean-Michel Fauth, Switzerland From kbk@users.sourceforge.net Sat Jan 25 03:26:37 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 24 Jan 2003 19:26:37 -0800 Subject: [Idle-dev] CVS: idle rpc.py,1.12,1.13 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv12918 Modified Files: rpc.py Log Message: 1. Eliminate putrequest(): only used in asynccall(), merge it there. 2. Add additional debugging statements and enhance others. 3. Clarify comments. 4. Move SocketIO.nextseq class attribute to beginning of class. Index: rpc.py =================================================================== RCS file: /cvsroot/idlefork/idle/rpc.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** rpc.py 31 Dec 2002 16:03:23 -0000 1.12 --- rpc.py 25 Jan 2003 03:26:35 -0000 1.13 *************** *** 91,94 **** --- 91,96 ---- class SocketIO: + nextseq = 0 + def __init__(self, sock, objtable=None, debugging=None): self.mainthread = threading.currentThread() *************** *** 175,179 **** def remotecall(self, oid, methodname, args, kwargs): ! self.debug("remotecall:") seq = self.asynccall(oid, methodname, args, kwargs) return self.asyncreturn(seq) --- 177,181 ---- def remotecall(self, oid, methodname, args, kwargs): ! self.debug("calling asynccall via remotecall") seq = self.asynccall(oid, methodname, args, kwargs) return self.asyncreturn(seq) *************** *** 181,191 **** def asynccall(self, oid, methodname, args, kwargs): request = ("call", (oid, methodname, args, kwargs)) ! seq = self.putrequest(request) ! self.debug(("asyncall:%d:" % seq), oid, methodname, args, kwargs) return seq def asyncreturn(self, seq): response = self.getresponse(seq) ! self.debug(("asyncreturn:%d:" % seq), response) return self.decoderesponse(response) --- 183,195 ---- def asynccall(self, oid, methodname, args, kwargs): request = ("call", (oid, methodname, args, kwargs)) ! seq = self.newseq() ! self.debug(("asynccall:%d:" % seq), oid, methodname, args, kwargs) ! self.putmessage((seq, request)) return seq def asyncreturn(self, seq): + self.debug("asyncreturn:%d:call getresponse(): " % seq) response = self.getresponse(seq) ! self.debug(("asyncreturn:%d:response: " % seq), response) return self.decoderesponse(response) *************** *** 195,199 **** return what if how == "EXCEPTION": ! self.debug("decoderesponse: Internal EXCEPTION:", what) mod, name, args, tb = what self.traceback = tb --- 199,203 ---- return what if how == "EXCEPTION": ! self.debug("decoderesponse: EXCEPTION:", what) mod, name, args, tb = what self.traceback = tb *************** *** 221,224 **** --- 225,234 ---- def mainloop(self): + """Listen on socket until I/O not ready or EOF + + pollpacket() will loop looking for seq number None, which never + comes. The loop will exit when self.ioready() returns 0. + + """ try: self.getresponse(None) *************** *** 243,248 **** def _getresponse(self, myseq): if threading.currentThread() is self.mainthread: ! # Main thread: does all reading of requests and responses while 1: response = self.pollresponse(myseq, None) --- 253,260 ---- def _getresponse(self, myseq): + self.debug("_getresponse:myseq:", myseq) if threading.currentThread() is self.mainthread: ! # Main thread: does all reading of requests or responses ! # Loop here until there is message traffic on the socket while 1: response = self.pollresponse(myseq, None) *************** *** 260,271 **** del self.cvars[myseq] self.statelock.release() ! return response ! ! def putrequest(self, request): ! seq = self.newseq() ! self.putmessage((seq, request)) ! return seq ! ! nextseq = 0 def newseq(self): --- 272,276 ---- del self.cvars[myseq] self.statelock.release() ! return response # might be None def newseq(self): *************** *** 274,278 **** def putmessage(self, message): ! ##self.debug("putmessage: ", message) try: s = pickle.dumps(message) --- 279,283 ---- def putmessage(self, message): ! self.debug("putmessage:%d:" % message[0]) try: s = pickle.dumps(message) *************** *** 338,351 **** def pollresponse(self, myseq, wait=0.0): ! # Loop while there's no more buffered input or until specific response while 1: message = self.pollmessage(wait) ! if message is None: return None wait = 0.0 seq, resq = message if resq[0] == "call": ! self.debug("call_localcall:%d:" % seq) response = self.localcall(resq) self.putmessage((seq, response)) continue --- 343,368 ---- def pollresponse(self, myseq, wait=0.0): ! """Handle messages received on the socket. ! ! Some messages received may be asynchronous 'call' commands, and ! some may be responses intended for other threads. ! ! Loop until message with myseq sequence number is received. Save others ! in self.responses and notify the owning thread, except that 'call' ! commands are handed off to localcall() and the response sent back ! across the link with the appropriate sequence number. ! ! """ while 1: message = self.pollmessage(wait) ! if message is None: # socket not ready return None wait = 0.0 seq, resq = message + self.debug("pollresponse:%d:myseq:%s" % (seq, myseq)) if resq[0] == "call": ! self.debug("pollresponse:%d:call_localcall" % seq) response = self.localcall(resq) + self.debug("pollresponse:%d:response:%s" % (seq, response)) self.putmessage((seq, response)) continue *************** *** 411,415 **** working_sock, address = self.listening_sock.accept() if self.debugging: ! print>>sys.__stderr__, "** Connection request from ", address if address[0] == '127.0.0.1': SocketIO.__init__(self, working_sock) --- 428,432 ---- working_sock, address = self.listening_sock.accept() if self.debugging: ! print>>sys.__stderr__, "****** Connection request from ", address if address[0] == '127.0.0.1': SocketIO.__init__(self, working_sock) From kbk@users.sourceforge.net Sat Jan 25 21:33:43 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Sat, 25 Jan 2003 13:33:43 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.53,1.54 RemoteDebugger.py,1.8,1.9 rpc.py,1.13,1.14 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv21799 Modified Files: PyShell.py RemoteDebugger.py rpc.py Log Message: M PyShell.py M RemoteDebugger.py M rpc.py Fix the incorrect shell exception tracebacks generated when running under debugger control: 1. Use rpc.SocketIO.asynccall() instead of remotecall() to handle the IdbProxy.run() command. 2. Add a 'shell' attribute to RemoteDebugger.IdbProxy to allow setting of ModifiedInterpreter's active_seq attribute from RemoteDebugger code. 3. Cleanup PyShell.ModifiedInterpreter.runcode() and remove ambiguity regarding use of begin/endexecuting(). 4. In runcode() and cleanup_traceback() use 'console' instead of 'file' to denote the entity to which the exception traceback is printed. 5. Enhance cleanup_traceback() so if the traceback is pruned entirely away (the error is in IDLE internals) it will be displayed in its entirety instead. 6. ModifiedInterpreter.runcode() now prints ERROR RPC returns to both console and __stderr__. 7. Make a small tweak to the rpc.py debug messages. Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -r1.53 -r1.54 *** PyShell.py 22 Jan 2003 00:23:23 -0000 1.53 --- PyShell.py 25 Jan 2003 21:33:40 -0000 1.54 *************** *** 400,413 **** self.active_seq = None how, what = response ! file = self.tkconsole.console if how == "OK": if what is not None: ! print >>file, `what` elif how == "EXCEPTION": mod, name, args, tb = what ! print >>file, 'Traceback (most recent call last):' ! exclude = ("run.py", "rpc.py") ! self.cleanup_traceback(tb, exclude) ! traceback.print_list(tb, file=file) # try to reinstantiate the exception, stuff in the args: try: --- 400,413 ---- self.active_seq = None how, what = response ! console = self.tkconsole.console if how == "OK": if what is not None: ! print >>console, `what` elif how == "EXCEPTION": mod, name, args, tb = what ! print >>console, 'Traceback (most recent call last):' ! exclude = ("run.py", "rpc.py", "RemoteDebugger.py", "bdb.py") ! self.cleanup_traceback(tb, exclude, console) ! traceback.print_list(tb, file=console) # try to reinstantiate the exception, stuff in the args: try: *************** *** 420,425 **** lines = traceback.format_exception_only(etype, val) for line in lines[:-1]: ! traceback._print(file, line, '') ! traceback._print(file, lines[-1], '') if self.tkconsole.getvar("<>"): self.remote_stack_viewer() --- 420,425 ---- lines = traceback.format_exception_only(etype, val) for line in lines[:-1]: ! traceback._print(console, line, '') ! traceback._print(console, lines[-1], '') if self.tkconsole.getvar("<>"): self.remote_stack_viewer() *************** *** 427,435 **** errmsg = "PyShell.ModifiedInterpreter: Subprocess ERROR:\n" print >>sys.__stderr__, errmsg, what ! print >>file, errmsg, what self.tkconsole.endexecuting() ! def cleanup_traceback(self, tb, exclude): "Remove excluded traces from beginning/end of tb; get cached lines" while tb: for rpcfile in exclude: --- 427,437 ---- errmsg = "PyShell.ModifiedInterpreter: Subprocess ERROR:\n" print >>sys.__stderr__, errmsg, what ! print >>console, errmsg, what ! # we received a response to the currently active seq number: self.tkconsole.endexecuting() ! def cleanup_traceback(self, tb, exclude, console): "Remove excluded traces from beginning/end of tb; get cached lines" + orig_tb = tb[:] while tb: for rpcfile in exclude: *************** *** 446,449 **** --- 448,456 ---- break del tb[-1] + if len(tb) == 0: + # error was in IDLE internals, don't prune! + tb[:] = orig_tb[:] + print>>sys.__stderr__, "** IDLE Internal Error: ", tb + print>>console, "** IDLE Internal Error **" for i in range(len(tb)): fn, ln, nm, line = tb[i] *************** *** 618,646 **** self.save_warnings_filters = None debugger = self.debugger ! if not debugger and self.rpcclt is not None: ! self.tkconsole.beginexecuting() ! self.active_seq = self.rpcclt.asynccall("exec", "runcode", ! (code,), {}) ! return try: ! self.tkconsole.beginexecuting() ! try: ! if debugger: ! debugger.run(code, self.locals) ! else: ! exec code in self.locals ! except SystemExit: ! if tkMessageBox.askyesno( ! "Exit?", ! "Do you want to exit altogether?", ! default="yes", ! master=self.tkconsole.text): ! raise ! else: ! self.showtraceback() ! except: self.showtraceback() ! finally: ! self.tkconsole.endexecuting() def write(self, s): --- 625,648 ---- self.save_warnings_filters = None debugger = self.debugger ! self.tkconsole.beginexecuting() try: ! if not debugger and self.rpcclt is not None: ! self.active_seq = self.rpcclt.asynccall("exec", "runcode", ! (code,), {}) ! elif debugger: ! debugger.run(code, self.locals) ! else: ! exec code in self.locals ! except SystemExit: ! if tkMessageBox.askyesno( ! "Exit?", ! "Do you want to exit altogether?", ! default="yes", ! master=self.tkconsole.text): ! raise ! else: self.showtraceback() ! except: ! self.showtraceback() def write(self, s): Index: RemoteDebugger.py =================================================================== RCS file: /cvsroot/idlefork/idle/RemoteDebugger.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** RemoteDebugger.py 31 Dec 2002 15:59:14 -0000 1.8 --- RemoteDebugger.py 25 Jan 2003 21:33:40 -0000 1.9 *************** *** 288,304 **** class IdbProxy: ! def __init__(self, conn, oid): self.oid = oid self.conn = conn def call(self, methodname, *args, **kwargs): ! ##print "call %s %s %s" % (methodname, args, kwargs) value = self.conn.remotecall(self.oid, methodname, args, kwargs) ! ##print "return %s" % `value` return value def run(self, cmd, locals): # Ignores locals on purpose! ! self.call("run", cmd) def get_stack(self, frame, tbid): --- 288,306 ---- class IdbProxy: ! def __init__(self, conn, shell, oid): self.oid = oid self.conn = conn + self.shell = shell def call(self, methodname, *args, **kwargs): ! ##print "**IdbProxy.call %s %s %s" % (methodname, args, kwargs) value = self.conn.remotecall(self.oid, methodname, args, kwargs) ! ##print "**IdbProxy.call %s returns %s" % (methodname, `value`) return value def run(self, cmd, locals): # Ignores locals on purpose! ! seq = self.conn.asynccall(self.oid, "run", (cmd,), {}) ! self.shell.interp.active_seq = seq def get_stack(self, frame, tbid): *************** *** 353,357 **** idb_adap_oid = rpcclt.remotecall("exec", "start_the_debugger",\ (gui_adap_oid,), {}) ! idb_proxy = IdbProxy(rpcclt, idb_adap_oid) gui = Debugger.Debugger(pyshell, idb_proxy) gui_adap = GUIAdapter(rpcclt, gui) --- 355,359 ---- idb_adap_oid = rpcclt.remotecall("exec", "start_the_debugger",\ (gui_adap_oid,), {}) ! idb_proxy = IdbProxy(rpcclt, pyshell, idb_adap_oid) gui = Debugger.Debugger(pyshell, idb_proxy) gui_adap = GUIAdapter(rpcclt, gui) Index: rpc.py =================================================================== RCS file: /cvsroot/idlefork/idle/rpc.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** rpc.py 25 Jan 2003 03:26:35 -0000 1.13 --- rpc.py 25 Jan 2003 21:33:40 -0000 1.14 *************** *** 362,368 **** self.debug("pollresponse:%d:myseq:%s" % (seq, myseq)) if resq[0] == "call": ! self.debug("pollresponse:%d:call_localcall" % seq) response = self.localcall(resq) ! self.debug("pollresponse:%d:response:%s" % (seq, response)) self.putmessage((seq, response)) continue --- 362,369 ---- self.debug("pollresponse:%d:myseq:%s" % (seq, myseq)) if resq[0] == "call": ! self.debug("pollresponse:%d:localcall:call:" % seq) response = self.localcall(resq) ! self.debug("pollresponse:%d:localcall:response:%s" ! % (seq, response)) self.putmessage((seq, response)) continue From kbk@users.sourceforge.net Sun Jan 26 04:17:18 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Sat, 25 Jan 2003 20:17:18 -0800 Subject: [Idle-dev] CVS: idle ScriptBinding.py,1.16,1.17 config-extensions.def,1.9,1.10 help.txt,1.7,1.8 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv26610 Modified Files: ScriptBinding.py config-extensions.def help.txt Log Message: M ScriptBinding.py M config-extensions.def M help.txt 1. Run Script --> Run Module 2. Update IDLE Help file and do more work on format. Index: ScriptBinding.py =================================================================== RCS file: /cvsroot/idlefork/idle/ScriptBinding.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** ScriptBinding.py 10 Jan 2003 03:06:30 -0000 1.16 --- ScriptBinding.py 26 Jan 2003 04:17:16 -0000 1.17 *************** *** 12,16 **** XXX GvR Redesign this interface (yet again) as follows: ! - Present a dialog box for ``Run script'' - Allow specify command line arguments in the dialog box --- 12,16 ---- XXX GvR Redesign this interface (yet again) as follows: ! - Present a dialog box for ``Run Module'' - Allow specify command line arguments in the dialog box *************** *** 46,50 **** ('run', [None, ('Check Module', '<>'), ! ('Run Script', '<>'), ]), ] def __init__(self, editwin): --- 46,50 ---- ('run', [None, ('Check Module', '<>'), ! ('Run Module', '<>'), ]), ] def __init__(self, editwin): *************** *** 114,119 **** text.see(pos) ! def run_script_event(self, event): ! "Check syntax, if ok run the script in the shell top level" filename = self.getfilename() if not filename: --- 114,119 ---- text.see(pos) ! def run_module_event(self, event): ! "Check syntax, if ok run the module in the shell top level" filename = self.getfilename() if not filename: Index: config-extensions.def =================================================================== RCS file: /cvsroot/idlefork/idle/config-extensions.def,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** config-extensions.def 23 Dec 2002 03:35:27 -0000 1.9 --- config-extensions.def 26 Jan 2003 04:17:16 -0000 1.10 *************** *** 32,36 **** enable=1 [ScriptBinding_cfgBindings] ! run-script= check-module= --- 32,36 ---- enable=1 [ScriptBinding_cfgBindings] ! run-module= check-module= Index: help.txt =================================================================== RCS file: /cvsroot/idlefork/idle/help.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** help.txt 14 Jan 2003 22:06:11 -0000 1.7 --- help.txt 26 Jan 2003 04:17:16 -0000 1.8 *************** *** 6,60 **** File Menu: ! New Window -- create a new editing window ! Open... -- open an existing file ! Recent Files... -- open a list of recent files ! Open Module... -- open an existing module (searches sys.path) ! Class Browser -- show classes and methods in current file ! Path Browser -- show sys.path directories, modules, classes ! and methods ! --- ! Save -- save current window to the associated file (unsaved ! windows have a * before and after the window title) ! ! Save As... -- save current window to new file, which becomes ! the associated file ! Save Copy As... -- save current window to different file ! without changing the associated file --- ! Print Window -- print the current window --- ! Close -- close current window (asks to save if unsaved) ! Exit -- close all windows and quit IDLE (asks to save if unsaved) Edit Menu: ! Undo -- Undo last change to current window (max 1000 changes) ! Redo -- Redo last undone change to current window ! --- ! Cut -- Copy selection into system-wide clipboard; then delete selection ! Copy -- Copy selection into system-wide clipboard ! Paste -- Insert system-wide clipboard into window ! Select All -- Select the entire contents of the edit buffer ! --- ! Find... -- Open a search dialog box with many options ! Find Again -- Repeat last search ! Find Selection -- Search for the string in the selection Find in Files... -- Open a search dialog box for searching files ! Replace... -- Open a search-and-replace dialog box ! Go to Line -- Ask for a line number and show that line ! Expand Word -- Expand the word you have typed to match another ! word in the same buffer; repeat to get a different ! expansion Format Menu (only in Edit window): ! Indent Region -- Shift selected lines right 4 spaces ! Dedent Region -- Shift selected lines left 4 spaces ! Comment Out Region -- Insert ## in front of selected lines ! Uncomment Region -- Remove leading # or ## from selected lines ! Tabify Region -- Turns *leading* stretches of spaces into tabs ! Untabify Region -- Turn *all* tabs into the right number of spaces New Indent Width... -- Open dialog to change indent width ! Format Paragraph -- Reformat the current blank-line-separated paragraph Run Menu (only in Edit window): --- 6,63 ---- File Menu: ! New Window -- Create a new editing window ! Open... -- Open an existing file ! Recent Files... -- Open a list of recent files ! Open Module... -- Open an existing module (searches sys.path) ! Class Browser -- Show classes and methods in current file ! Path Browser -- Show sys.path directories, modules, classes ! and methods ! --- ! Save -- Save current window to the associated file (unsaved ! windows have a * before and after the window title) ! ! Save As... -- Save current window to new file, which becomes ! the associated file ! Save Copy As... -- Save current window to different file ! without changing the associated file --- ! Print Window -- Print the current window --- ! Close -- Close current window (asks to save if unsaved) ! Exit -- Close all windows, quit (asks to save if unsaved) Edit Menu: ! Undo -- Undo last change to current window ! (A maximum of 1000 changes may be undone) ! Redo -- Redo last undone change to current window ! --- ! Cut -- Copy a selection into system-wide clipboard, ! then delete the selection ! Copy -- Copy selection into system-wide clipboard ! Paste -- Insert system-wide clipboard into window ! Select All -- Select the entire contents of the edit buffer ! --- ! Find... -- Open a search dialog box with many options ! Find Again -- Repeat last search ! Find Selection -- Search for the string in the selection Find in Files... -- Open a search dialog box for searching files ! Replace... -- Open a search-and-replace dialog box ! Go to Line -- Ask for a line number and show that line ! Expand Word -- Expand the word you have typed to match another ! word in the same buffer; repeat to get a ! different expansion Format Menu (only in Edit window): ! Indent Region -- Shift selected lines right 4 spaces ! Dedent Region -- Shift selected lines left 4 spaces ! Comment Out Region -- Insert ## in front of selected lines ! Uncomment Region -- Remove leading # or ## from selected lines ! Tabify Region -- Turns *leading* stretches of spaces into tabs ! Untabify Region -- Turn *all* tabs into the right number of spaces New Indent Width... -- Open dialog to change indent width ! Format Paragraph -- Reformat the current blank-line-separated ! paragraph Run Menu (only in Edit window): *************** *** 63,77 **** --- Check Module -- Run a syntax check on the module ! Run Script -- Execute the current file in the __main__ namespace Shell Menu (only in Shell window): View Last Restart -- Scroll the shell window to the last restart ! Restart Shell -- Restart the interpreter with a fresh environment ! --- ! Go to File/Line -- look around the insert point for a filename ! and linenumber, open the file, and show the line Debugger (toggle) -- Run commands in the shell under the debugger ! Stack Viewer -- show the stack traceback of the last exception Auto-open Stack Viewer (toggle) -- Open stack viewer on traceback --- 66,82 ---- --- Check Module -- Run a syntax check on the module ! Run Module -- Execute the current file in the __main__ namespace Shell Menu (only in Shell window): View Last Restart -- Scroll the shell window to the last restart ! Restart Shell -- Restart the interpreter with a fresh environment ! ! Debug Menu (only in Shell window): ! ! Go to File/Line -- look around the insert point for a filename ! and linenumber, open the file, and show the line Debugger (toggle) -- Run commands in the shell under the debugger ! Stack Viewer -- Show the stack traceback of the last exception Auto-open Stack Viewer (toggle) -- Open stack viewer on traceback *************** *** 79,87 **** Configure IDLE -- Open a configuration dialog. Fonts, indentation, ! keybindings, and color themes may be altered. Startup Preferences may be set, and Additional Help ! Souces can be specified. --- ! Revert to Default Settings -- Restore original settings Windows Menu: --- 84,94 ---- Configure IDLE -- Open a configuration dialog. Fonts, indentation, ! keybindings, and color themes may be altered. Startup Preferences may be set, and Additional Help ! Souces can be specified. --- ! Revert to Default Settings -- Restore original settings. Not ! currently implemented - simply delete ! your .idlerc file. Windows Menu: *************** *** 103,107 **** installed. Otherwise, access www.python.org. --- ! (Additional Help Sources) --- 110,114 ---- installed. Otherwise, access www.python.org. --- ! (Additional Help Sources may be added here) *************** *** 121,125 **** All users can access the extensive sources of help, including tutorials, available at www.python.org/doc. Selected URLs can be added ! or removed from the Help menu at any time. Basic editing and navigation: --- 128,132 ---- All users can access the extensive sources of help, including tutorials, available at www.python.org/doc. Selected URLs can be added ! or removed from the Help menu at any time using Configure IDLE. Basic editing and navigation: *************** *** 139,143 **** dedented. In leading indentation, Backspace deletes up to 4 spaces if they are there. Tab inserts spaces (in the ! Python Shell window one tab), number depends on Indent Width See also the indent/dedent region commands in the edit menu. --- 146,153 ---- dedented. In leading indentation, Backspace deletes up to 4 spaces if they are there. Tab inserts spaces (in the ! Python Shell window one tab), number depends on Indent Width. ! (N.B. Currently tabs are restricted to four spaces due to Tcl/Tk ! issues.) ! See also the indent/dedent region commands in the edit menu. *************** *** 154,158 **** Alt-/ (Expand word) is also useful here ! Syntax colors: The coloring is applied in a background "thread", so you may --- 164,168 ---- Alt-/ (Expand word) is also useful here ! Syntax colors: The coloring is applied in a background "thread", so you may From kbk@users.sourceforge.net Sun Jan 26 20:37:04 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Sun, 26 Jan 2003 12:37:04 -0800 Subject: [Idle-dev] CVS: idle CREDITS.txt,1.3,1.4 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv32422 Modified Files: CREDITS.txt Log Message: Update. Index: CREDITS.txt =================================================================== RCS file: /cvsroot/idlefork/idle/CREDITS.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** CREDITS.txt 10 Jan 2003 21:27:21 -0000 1.3 --- CREDITS.txt 26 Jan 2003 20:37:01 -0000 1.4 *************** *** 12,24 **** Besides Guido, the main developers who have been active on IDLEfork version ! 0.8.1 and later are Stephen M. Gava, who implemented the Configuration GUI and ! the new About menu, and Kurt B. Kaiser, who completed the integration of the ! RPC and remote debugger, and made a number of usability enhancements. ! Other contributors include Tony Lownds (Mac integration), Neal Norwitz (code ! check and clean-up), and Chui Tey (RPC integration, debugger integration and ! persistent breakpoints). ! Josh Robb has submitted useful patches. There are others who should be included here, especially those who contributed --- 12,26 ---- Besides Guido, the main developers who have been active on IDLEfork version ! 0.8.1 and later are Stephen M. Gava, who implemented the Configuration GUI, the ! new configuration system, and the new About menu, and Kurt B. Kaiser, who ! completed the integration of the RPC and remote debugger, and made a number of ! usability enhancements. ! Other contributors include Raymond Hettinger, Tony Lownds (Mac integration), ! Neal Norwitz (code check and clean-up), and Chui Tey (RPC integration, debugger ! integration and persistent breakpoints). ! Hernan Foffani, Christos Georgiou, Jason Orendorff, Josh Robb, and Bruce ! Sherwood have submitted useful patches. Thanks, guys! There are others who should be included here, especially those who contributed From noreply@sourceforge.net Sun Jan 26 21:13:42 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 26 Jan 2003 13:13:42 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 20:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open Resolution: Postponed Priority: 5 Submitted By: Martin Liebmann (mliebmann) Assigned to: Kurt B. Kaiser (kbk) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- >Comment By: Martin Liebmann (mliebmann) Date: 2003-01-26 21:13 Message: Logged In: YES user_id=475133 The new patches will patch the problems reported by kbk ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-20 22:48 Message: Logged In: YES user_id=149084 I think this patch could use some addtional work before it's really ready for prime time: import StringIO StringIO.StringIO. [produces a list of class StringIO attributes. Useful, but unexpected to be produced at the class level. >>> s = StringIO.StringIO >>> s >>> s. [doesn't produce a list of attributes, as would be expected for the instance.] >>> ================================ RESTART ========= >>> from StringIO import * >>> StringIO >>> StringIO. [produces the list of classes and top level defs associated with the StringIO module] >>> ================================ RESTART ========= >>> class Animal: def __init__(self, numberlegs, sound=None): self.nlegs = numberlegs self.sound = sound def legs(self, numberlegs=None): if numberlegs == None: print self.nlegs else: self.nlegs = numberlegs def sound(self): print sound -------------- >>> dog = Animal. [doesn't produce a list of attributes] >>> dog = Animal( [produces the expected call tip] ---------------- >>> dog = Animal(4, 'bark') >>> dog <__main__.Animal instance at 0x404dd42c> >>> dog. [doesn't produce a list of attributes. Generally can't see attributes for Classes defined in shell for some reason.] [define Animal in efoo.py] >>> ================================ RESTART ======== >>> import efoo --------------------- >>> efoo. [produces a list of efoo.py Classes and top-level defs] ---------------------- >>> efoo.Animal. [produces list of Animal attributes] ---------------------- >>> dog = efoo.Animal(4, 'bark') >>> dog >>> dog. [doesn't produce list of attributes.] ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-12 18:27 Message: Logged In: YES user_id=149084 Will you be able to upload the patch file? BTW, we prefer context diffs over unidiffs when possible. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From noreply@sourceforge.net Mon Jan 27 00:23:18 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Sun, 26 Jan 2003 16:23:18 -0800 Subject: [Idle-dev] [ idlefork-Patches-665943 ] Extension to CallTips / Show attributes Message-ID: Patches item #665943, was opened at 2003-01-10 15:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Martin Liebmann (mliebmann) Assigned to: Kurt B. Kaiser (kbk) Summary: Extension to CallTips / Show attributes Initial Comment: This is a new version of an extension to CallTips showing on the fly attributes and methods of an object. This proposal is based on IDLEfork 0.9a1 (and Python 2.2) . Three files have to be modified : CallTips.py CallTipWindow.py and config-extensions.def. New features: Hitting a dot will display all available attributes and methods of an object within a scrollable box. (apart from names beginning with __ ) Key-Up and Key-Down events support scrolling. Further Key event will reduce the proposed names according to the substring written to the text widget. Hitting the Space-Key will copy the topmost item of the list to the Editor or Console window. ... A usefull extension for python beginners ! Greetings Martin Liebmann Attached (as zip archive): CallTips.py.unified.diff CallTipWindow.py.unified.diff config-extensions.def.unified.diff ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-26 19:23 Message: Logged In: YES user_id=149084 Remove duplicate uploads. Thanks for the updates! ---------------------------------------------------------------------- Comment By: Martin Liebmann (mliebmann) Date: 2003-01-26 16:13 Message: Logged In: YES user_id=475133 The new patches will patch the problems reported by kbk ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-20 17:48 Message: Logged In: YES user_id=149084 I think this patch could use some addtional work before it's really ready for prime time: import StringIO StringIO.StringIO. [produces a list of class StringIO attributes. Useful, but unexpected to be produced at the class level. >>> s = StringIO.StringIO >>> s >>> s. [doesn't produce a list of attributes, as would be expected for the instance.] >>> ================================ RESTART ========= >>> from StringIO import * >>> StringIO >>> StringIO. [produces the list of classes and top level defs associated with the StringIO module] >>> ================================ RESTART ========= >>> class Animal: def __init__(self, numberlegs, sound=None): self.nlegs = numberlegs self.sound = sound def legs(self, numberlegs=None): if numberlegs == None: print self.nlegs else: self.nlegs = numberlegs def sound(self): print sound -------------- >>> dog = Animal. [doesn't produce a list of attributes] >>> dog = Animal( [produces the expected call tip] ---------------- >>> dog = Animal(4, 'bark') >>> dog <__main__.Animal instance at 0x404dd42c> >>> dog. [doesn't produce a list of attributes. Generally can't see attributes for Classes defined in shell for some reason.] [define Animal in efoo.py] >>> ================================ RESTART ======== >>> import efoo --------------------- >>> efoo. [produces a list of efoo.py Classes and top-level defs] ---------------------- >>> efoo.Animal. [produces list of Animal attributes] ---------------------- >>> dog = efoo.Animal(4, 'bark') >>> dog >>> dog. [doesn't produce list of attributes.] ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-12 13:27 Message: Logged In: YES user_id=149084 Will you be able to upload the patch file? BTW, we prefer context diffs over unidiffs when possible. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=665943&group_id=9579 From kbk@users.sourceforge.net Mon Jan 27 02:36:20 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Sun, 26 Jan 2003 18:36:20 -0800 Subject: [Idle-dev] CVS: idle Bindings.py,1.16,1.17 configHandler.py,1.30,1.31 configHelpSourceEdit.py,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv17746 Modified Files: Bindings.py configHandler.py configHelpSourceEdit.py Log Message: Whitespace normalization. Modified Files: Bindings.py configHandler.py configHelpSourceEdit.py Index: Bindings.py =================================================================== RCS file: /cvsroot/idlefork/idle/Bindings.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** Bindings.py 22 Jan 2003 00:23:22 -0000 1.16 --- Bindings.py 27 Jan 2003 02:36:18 -0000 1.17 *************** *** 76,80 **** ('help', [ ('_About IDLE', '<>'), ! ('IDLE _Readme', '<>'), None, ('_IDLE Help', '<>'), --- 76,80 ---- ('help', [ ('_About IDLE', '<>'), ! ('IDLE _Readme', '<>'), None, ('_IDLE Help', '<>'), Index: configHandler.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHandler.py,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** configHandler.py 22 Jan 2003 00:23:23 -0000 1.30 --- configHandler.py 27 Jan 2003 02:36:18 -0000 1.31 *************** *** 5,9 **** configuration information. In particular, user configuration choices which duplicate the defaults will be removed from the user's configuration files, ! and if a file becomes empty, it will be deleted. The contents of the user files may be altered using the Options/Configure IDLE --- 5,9 ---- configuration information. In particular, user configuration choices which duplicate the defaults will be removed from the user's configuration files, ! and if a file becomes empty, it will be deleted. The contents of the user files may be altered using the Options/Configure IDLE *************** *** 571,575 **** def GetExtraHelpSourceList(self,configSet): """Fetch list of extra help sources from a given configSet. ! Valid configSets are 'user' or 'default'. Return a list of tuples of the form (menu_item , path_to_help_file , option), or return the empty --- 571,575 ---- def GetExtraHelpSourceList(self,configSet): """Fetch list of extra help sources from a given configSet. ! Valid configSets are 'user' or 'default'. Return a list of tuples of the form (menu_item , path_to_help_file , option), or return the empty Index: configHelpSourceEdit.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHelpSourceEdit.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** configHelpSourceEdit.py 14 Jan 2003 22:03:31 -0000 1.5 --- configHelpSourceEdit.py 27 Jan 2003 02:36:18 -0000 1.6 *************** *** 95,99 **** if file: self.path.set(file) ! def MenuOk(self): "Simple validity check for a sensible menu item name" --- 95,99 ---- if file: self.path.set(file) ! def MenuOk(self): "Simple validity check for a sensible menu item name" From kbk@users.sourceforge.net Mon Jan 27 02:40:22 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Sun, 26 Jan 2003 18:40:22 -0800 Subject: [Idle-dev] CVS: idle INSTALL.txt,1.4,1.5 NEWS.txt,1.9,1.10 idlever.py,1.8,1.9 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv18572 Modified Files: INSTALL.txt NEWS.txt idlever.py Log Message: Update for release. Modified Files: INSTALL.txt NEWS.txt idlever.py Index: INSTALL.txt =================================================================== RCS file: /cvsroot/idlefork/idle/INSTALL.txt,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** INSTALL.txt 1 Jan 2003 01:14:13 -0000 1.4 --- INSTALL.txt 27 Jan 2003 02:40:20 -0000 1.5 *************** *** 19,32 **** conflict with Python IDLE. IDLEfork-0.9xx.tar.gz This is a distutils sdist (source) tarfile which can be used to make installations on platforms not supported by the above files. ! It remains configured to install as IDLE, not IDLEfork. Unpack in ..../Tools/, cd to the IDLEfork directory created, and ! to install in ....site-packages/idlelib. If you don't want to overwrite Python IDLE, it is also possible to ! simply run to test in the IDLEfork source directory without making an installation. In this case, IDLE will not be on your PATH unless you are in the source directory. Also, it is then --- 19,38 ---- conflict with Python IDLE. + The Python2 rpm is designed to work with Redhat systems prior to Rev 8. + It is available at http://www.python.org/2.2.2/rpms.html and + http://www.python.org/2.2.1/rpms.html . See the warning/explanation + on the latter web page, which discusses the reason for python2. + IDLEfork-0.9xx.tar.gz This is a distutils sdist (source) tarfile which can be used to make installations on platforms not supported by the above files. ! ** It remains configured to install as idlelib, not idleforklib. ** Unpack in ..../Tools/, cd to the IDLEfork directory created, and ! to install in ....site-packages/idlelib. ! This will overwrite the Python IDLE installation. If you don't want to overwrite Python IDLE, it is also possible to ! simply call to run from the IDLEfork source directory without making an installation. In this case, IDLE will not be on your PATH unless you are in the source directory. Also, it is then Index: NEWS.txt =================================================================== RCS file: /cvsroot/idlefork/idle/NEWS.txt,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** NEWS.txt 17 Jan 2003 04:04:06 -0000 1.9 --- NEWS.txt 27 Jan 2003 02:40:20 -0000 1.10 *************** *** 6,10 **** =================================== ! *Release date: XX-XXX-2003* - Left cursor move in presence of selected text now moves from left end --- 6,29 ---- =================================== ! *Release date: 27-Jan-2003* ! ! - Updated INSTALL.txt to claify use of the python2 rpm. ! ! - Improved formatting in IDLE Help. ! ! - Run menu: Replace "Run Script" with "Run Module". ! ! - Code encountering an unhandled exception under the debugger now shows ! the correct traceback, with IDLE internal levels pruned out. ! ! - If an exception occurs entirely in IDLE, don't prune the IDLE internal ! modules from the traceback displayed. ! ! - Class Browser and Path Browser now use Alt-Key-2 for vertical zoom. ! ! - IDLE icons will now install correctly even when setup.py is run from the ! build directory ! ! - Class Browser now compatible with Python2.3 version of pyclbr.py - Left cursor move in presence of selected text now moves from left end *************** *** 69,80 **** - Add the ability to restart the subprocess interpreter from the shell window; ! add an associated menu entry "Shell/Restart". Update help. - Upon a restart, annotate the shell window with a "restart boundary". Add a ! shell window menu "Shell/View Restart" and hotkey to jump to the most recent ! restart boundary. ! - Change the shell window menu "Debug" to "Shell"; change "Settings" to ! "Options". - Remove incorrect comment in setup.py: IDLEfork is now installed as a package. --- 88,99 ---- - Add the ability to restart the subprocess interpreter from the shell window; ! add an associated menu entry "Shell/Restart" with binding Control-F6. Update ! IDLE help. - Upon a restart, annotate the shell window with a "restart boundary". Add a ! shell window menu "Shell/View Restart" with binding F6 to jump to the most ! recent restart boundary. ! - Add Shell menu to Python Shell; change "Settings" to "Options". - Remove incorrect comment in setup.py: IDLEfork is now installed as a package. *************** *** 91,97 **** + Can't kill a tight loop in the Windows version: Insert a ``print "*",`` in an outer loop or use the Task Manager to kill. ! + Printing under Linux may be problematic. ! + The debugger is pretty slow. ! + RPC stack levels are not being pruned from debugger tracebacks. --- 110,117 ---- + Can't kill a tight loop in the Windows version: Insert a ``print "*",`` in an outer loop or use the Task Manager to kill. ! + Typing two Control-C in close succession when the subprocess is busy can ! cause IDLE to lose communication with the subprocess. Please type one ! only and wait for the exception to complete. ! + Printing under some versions of Linux may be problematic. Index: idlever.py =================================================================== RCS file: /cvsroot/idlefork/idle/idlever.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** idlever.py 1 Jan 2003 01:14:13 -0000 1.8 --- idlever.py 27 Jan 2003 02:40:20 -0000 1.9 *************** *** 1 **** ! IDLE_VERSION = "0.9a1" --- 1 ---- ! IDLE_VERSION = "0.9a2" From kbk@shore.net Mon Jan 27 02:49:53 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: Sun, 26 Jan 2003 21:49:53 -0500 Subject: [Idle-dev] Tagged Alpha 2 Message-ID: I just tagged the CVS repository MAIN for Alpha 2 -- KBK From Dont_miss_printsupplies120032@mindspring.com Sun Jan 26 23:15:06 2003 From: Dont_miss_printsupplies120032@mindspring.com (Dont_miss_printsupplies120032@mindspring.com) Date: dom, 26 ene 2003 11:16:35 Subject: [Idle-dev] LASER PRINTER, COPIER, & FAX SUPPLIES. Message-ID: <301.744596.51513@unknown> GTTS | January 2003 Newsletter
GT Toner Supplies
Laser Printer, Copier, and Fax Supplies
1-888-662-2256
1-866-237-7397

Hp-Hp color - Lexmark - Epson - Panasonic - Apple - Cannon - Xerox

 
Please forward to the person responsible for purchasing your laser printer supplies.
If you received this email on error, please reply to gtts001@cable.net.co with subject: REMOVE... sorry for the inconvenience.
University and/or School purchase orders WELCOME. (no credit approval required)
Pay by check, c.o.d, or purchase order (net 30 days).

WE ACCEPT ALL MAJOR CREDIT CARDS!

New! HP 4500/4550 series color cartridges in stock!

 

Order by phone: Toll free 1-866-237-7397 Toll free 1-888-662-2256

Order by email: gtts001@cable.net.co subject: ORDER

Our cartridge prices are as follows:
(please order by item number)
Item

HP

Price
1 92274A Toner Cartridge for LaserJet 4L, 4ML, 4P, 4MP $47.50
2 C4092A Black Toner Cartridge for LaserJet 1100A, ASE, 3200SE $45.50
2A C7115A Toner Cartridge For HP LaserJet 1000, 1200, 3330 $55.50
2B C7115X High Capacity Toner Cartridge for HP LaserJet 1000, 1200, 3330 $65.50
3 92295A Toner Cartridge for LaserJet II, IID, III, IIID $49.50
4 92275A Toner Cartridge for LaserJet IIP, IIP+, IIIP $55.50
5 C3903A Toner Cartridge for LaserJet 5P, 5MP, 6P, 6Pse, 6MP, 6Pxi $46.50
6 C3909A Toner Cartridge for LaserJet 5Si, 5SiMX, 5Si Copier, 8000 $92.50
7 C4096A Toner Cartridge for LaserJet 2100, 2200DSE, 2200DTN $72.50
8 C4182X UltraPrecise High Capacity Toner Cartridge for LaserJet 8100 Series $125.50
9 C3906A Toner Cartridge for LaserJet 5L, 5L Xtra, 6Lse, 6L, 6Lxi, 3100se $42.50
9A C3906A Toner Cartridge for LaserJet 3100, 3150 $42.50
10 C3900A Black Toner Cartridge for HP LaserJet 4MV, 4V $89.50
11 C4127A Black Toner Cartridge for LaserJet 4000SE, 4000N, 4000T, 4000TN $76.50
11A C8061A Black Laser Toner for HP LaserJet 4100, 4100N $76.50
11B C8061X High Capacity Toner Cartridge for LJ4100, 4100N $85.50
11C C4127X High Capacity Black Cartridge for LaserJet 4000SE,4000N,4000T,4000TN $84.50
12 92291A Toner Cartridge for LaserJet IIISi, 4Si, 4SiMX $57.50
13 92298A Toner Cartridge for LaserJet 4, 4 Plus, 4M, 4M Plus, 5, 5se, 5M, 5N $46.50
14 C4129X High Capacity Black Toner Cartridge for LaserJet 5000N $97.50
15 LASERFAX 500, 700 (FX1) $49.00
16 LASERFAX 5000, 7000 (FX2) $54.00
17 LASERFAX (FX3) $49.00
18 LASERFAX (FX4) $49.00
Item

HP COLOR

Price
C1 C4194a Toner Cartridge, Yellow (color lj 4500/4550 series) $89.50
C2 C4193a Toner Cartridge, Magenta (color lj 4500/4550 series) $89.50
C3 C4192a toner cartridge, cyan (color lj 4500/4550 series) $89.50
C4 c4191a toner cartridge, black (color lj 4500/4550 series) $74.50
Item

LEXMARK

Price
19 1380520 High Yield Black Laser Toner for 4019, 4019E, 4028, 4029, 6, 10, 10L $109.50
20 1382150 High Yield Toner for 3112, 3116, 4039-10+, 4049- Model 12L,16R, Optra $109.50
21 69G8256 Laser Cartridge for Optra E, E+, EP, ES, 4026, 4026 (6A,6B,6D,6E) $49.00
22 13T0101 High Yield Toner Cartridge for Lexmark Optra E310, E312, E312L $89.00
23 1382625 High-Yield Laser Toner Cartridge for Lexmark Optra S (4059) $129.50
24 12A5745 High Yield Laser Toner for Lexmark Optra T610, 612, 614 (4069) $165.00
Item

EPSON

Price
25 S051009 Toner Cartridge for Epson EPL7000, 7500, 8000+ $115.50
25A S051009 LP-3000 PS 7000 $115.50
26 AS051011 Imaging Cartridge for ActionLaser-1000, 1500 $99.50
26A AS051011 EPL-5000, EPL-5100, EPL-5200 $99.50
Item

PANASONIC

Price
27 Nec series 2 models 90 and 95
$109.50
Item

APPLE

Price
28 2473G/A Laser Toner for LaserWriter Pro 600, 630, LaserWriter 16/600 PS
$57.50
29 1960G/A Laser Toner for Apple LaserWriter Select, 300, 310, 360 $ 71.50
30 M0089LL/A Toner Cartridge for Laserwriter 300, 320 (74A) $ 52.50
31 M6002 Toner Cartridge for Laserwriter IINT, IINTX, IISC, IIF, IIG (95A) $ 47.50
31A M0089LL/A Toner Cartridge for Laserwriter LS, NT, NTR, SC (75A) $ 55.50
32 M4683G/A Laser Toner for LaserWriter 12, 640PS $85.50
Item

CANON

Price
33 Fax CFX-L3500, CFX-4000 CFX-L4500, CFX-L4500IE & IF FX3 $49.50
33A L-250, L-260i, L-300 FX3 $49.50
33B LASER CLASS 2060, 2060P, 4000 FX3 $49.50
34 LASER CLASS 5000, 5500, 7000, 7100, 7500, 6000 FX2 $49.50
35 FAX 5000 FX2 $49.50
36 LASER CLASS 8500, 9000, 9000L, 9000MS, 9500, 9500 MS, 9500 S FX4  $49.50
36A Fax L700,720,760,770,775,777,780,785,790, & L3300 FX1 $49.50
36B L-800, L-900 FX4 $49.50
37 A30R Toner Cartridge for PC-6, 6RE, 7, 11, 12 $59.50
38 E-40 Toner Cartridge for PC-720, 740, 770, 790,795, 920, 950, 980 $85.50
38A E-20 Toner Cartridge for PC-310, 325, 330, 330L, 400, 420, 430 $85.50
Item

XEROX

Price
39 6R900 75A $ 55.50
40 6R903 98A $ 46.50
41 6R902 95A $ 49.50
42 6R901 91A $ 65.50
43 6R908 06A $ 42.50
44 6R899 74A $ 47.50
45 6R928 96A $ 72.50
46 6R926 27X $ 84.50
47 6R906 09A $ 92.50
48 6R907 4MV $ 89.50
49 6R905 03A $46.50

call toll free 1-866-237-7397

30 Day unlimited warranty included on all products
GT Toner Supplies guarantees these cartridges to be free from defects in workmanship and material.

We look forward in doing business with you.

We Guarantee your satisfaction!!!
If you are ordering by purchase order please fill out an order form
with the following information: 

purchase order number
phone number
company or school name
shipping address and billing address
city, state zip code Order Now 

call toll free

1-866-237-7397

If you are ordering by e-mail or c.o.d. please fill out an order
form with the following information: 

phone number
company name
first and last name
street address
city, state zip code 

call toll free

1-866-237-7397

All trade marks and brand names listed above are property of the respective
holders and used for descriptive purposes only.
 
PLEASE DO NOT REPLY TO THIS EMAIL
From noreply@sourceforge.net Tue Jan 28 02:40:02 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Mon, 27 Jan 2003 18:40:02 -0800 Subject: [Idle-dev] [ idlefork-Bugs-671359 ] IDLE RPM at Sourceforge Doesn't Work Message-ID: Bugs item #671359, was opened at 2003-01-20 15:54 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 Category: None Group: None >Status: Closed Resolution: Accepted Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Kurt B. Kaiser (kbk) Summary: IDLE RPM at Sourceforge Doesn't Work Initial Comment: trying to install the IDLEfork-0.9a1-1.noarch.rpm on RedHat 7.3 produces the error that this package needs "Python2-tkinter". A search at rpmfind.net reveals that only a couple of distros use this package, and none are of the majors (RH, Mandrake, or SuSE). I used the tarball, and it works fine; however, I believe it is a mistake to package the RPM with this dependency. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-20 22:39 Message: Logged In: YES user_id=149084 As detailed in the installation notes, the RPM is designed to work with the Python2 RPMs, including Python2-tkinter available from: http://www.python.org/2.2.2/ (and /2.2.1/) A binary RPM was provided for convenience to those Python2 users on RH 6.2-7.3. Note that Python-2.2 can't be installed in the standard location prior to RH8 since it conflicts with Python1.5, which is required in the earlier RH versions. Therefore it was installed as Python2. These details will be futher clarified in the Alpha 2 installation notes. Thanks for the comments. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-01-20 15:58 Message: Logged In: NO Should contain some qualifier in the RPM package name (such as, e.g., something like the .mdk that Mandrake uses) to indicate that it is not going to work with other distros. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=671359&group_id=9579 From noreply@sourceforge.net Tue Jan 28 22:11:54 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 28 Jan 2003 14:11:54 -0800 Subject: [Idle-dev] [ idlefork-Bugs-676398 ] A problem with exceptions and the client-server mechanism Message-ID: Bugs item #676398, was opened at 2003-01-29 00:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=676398&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Noam Raphael (noamr) Assigned to: Nobody/Anonymous (nobody) Summary: A problem with exceptions and the client-server mechanism Initial Comment: open IDLEfork. then type in the shell window: import re re.compile("[a-+]") The shell window writes: Traceback (most recent call last): File "", line 1, in -toplevel- re.compile("[a-+]") File "/usr/lib/python2.2/sre.py", line 178, in compile return _compile(pattern, flags) File "/usr/lib/python2.2/sre.py", line 228, in _compile raise error, v # invalid expression and then gets stuck. In the xterm, this is written: Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 1292, in __call__ return apply(self.func, args) File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 436, in callit apply(func, args) File "./PyShell.py", line 421, in poll_subprocess etype = eval(mod + '.' + name) File "", line 0, in ? NameError: name 'sre_constants' is not defined I'm using Python 2.2.1 on Debian woody. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=676398&group_id=9579 From noreply@sourceforge.net Tue Jan 28 22:45:06 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Tue, 28 Jan 2003 14:45:06 -0800 Subject: [Idle-dev] [ idlefork-Bugs-676398 ] A problem with exceptions and the client-server mechanism Message-ID: Bugs item #676398, was opened at 2003-01-28 17:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=676398&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Noam Raphael (noamr) >Assigned to: Kurt B. Kaiser (kbk) Summary: A problem with exceptions and the client-server mechanism Initial Comment: open IDLEfork. then type in the shell window: import re re.compile("[a-+]") The shell window writes: Traceback (most recent call last): File "", line 1, in -toplevel- re.compile("[a-+]") File "/usr/lib/python2.2/sre.py", line 178, in compile return _compile(pattern, flags) File "/usr/lib/python2.2/sre.py", line 228, in _compile raise error, v # invalid expression and then gets stuck. In the xterm, this is written: Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 1292, in __call__ return apply(self.func, args) File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 436, in callit apply(func, args) File "./PyShell.py", line 421, in poll_subprocess etype = eval(mod + '.' + name) File "", line 0, in ? NameError: name 'sre_constants' is not defined I'm using Python 2.2.1 on Debian woody. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-28 17:45 Message: Logged In: YES user_id=149084 The expected response is: Python 2.3a0 (#8, Dec 14 2002, 17:52:42) [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import re >>> re.compile('[a-+]') Traceback (most recent call last): File "", line 1, in ? File "/usr/local/lib/python2.3a0/sre.py", line 179, in compile return _compile(pattern, flags) File "/usr/local/lib/python2.3a0/sre.py", line 229, in _compile raise error, v # invalid expression sre_constants.error: bad character range ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=676398&group_id=9579 From kbk@shore.net Wed Jan 29 22:16:25 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: Wed, 29 Jan 2003 17:16:25 -0500 Subject: [Idle-dev] [Announce] IDLEfork 0.9a2 Release Message-ID: The IDLEfork 0.9 Alpha 2 release is now available for download at: http://sourceforge.net/projects/idlefork/ The distribution is available as a Windows Installer, as a Python2 RPM, and in source form as a .tar.gz. Please read the release notes (which include installation instructions) at Sourceforge for additional details. 0.9 Alpha 2 Highlights ====================== The shell is now annotated to indicate a restart, and can be restarted from the Shell window. There is a new Shell menu. Expanded Additional Help feature: Can now use a web URL and browse for local help files. Help sources have been moved to the main Help menu. Exceptions under debugger control now show the correct traceback. Fixed class and path browsers to work with Python 2.3. Multiple bug fixes and usability enhancements, see the Changes section of the SF release docs. IDLEfork ======== IDLEfork is an official experimental branch of Python's Integrated DeveLopment Environment, IDLE. The biggest change in IDLEfork is to execute Python code in a separate process, which is /restarted/ for each Run (F5) initiated from an editor window. This enhancement of IDLE has often been requested, and is now finally available. The magic "reload/import *" incantations are no longer required when editing/testing a module two or three steps down the import chain. The IDLE Debugger has been extended to support the new design, and its operation will be familiar to those who have used it previously. The breakpoint feature has been enhanced, and breakpoints are now persistent across IDLE sessions. When a module is open in an Edit window, its breakpoints are active. There is also a new GUI configuration manager which makes it easy to select fonts, colors, keybindings, and startup options. IDLEfork will be merged back into the Python distribution in the near future (probably at 2.3), replacing the current version of IDLE. For this reason we are interested in getting as much testing time as possible before the merge. As David Scherer aptly put it in the original IDLEfork README, "It is alpha software and might be unstable. If it breaks, you get to keep both pieces." If you find bugs let us know about them by using the IDLEfork Bug Tracker. See the IDLEfork home page at http://idlefork.sourceforge.net for details. Patches are always appreciated at the IDLEfork Patch Tracker, and Change Requests at the RFE Tracker at https://sourceforge.net/tracker/?group_id=9579&atid=359579 Thanks for trying IDLEfork. From noreply@sourceforge.net Thu Jan 30 03:47:43 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 29 Jan 2003 19:47:43 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677256 ] No way to disable "Ok to save?" Message-ID: Bugs item #677256, was opened at 2003-01-30 03:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677256&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: No way to disable "Ok to save?" Initial Comment: With 0.9a2 there seems to be no way to disable seeing the "Ok to save?" dialog box when I press F5. Disabling this dialog box is VERY important to me. I want the interactivity of the shell with the full-context environment of the edit window. I realize that not everyone feels this need, but it should be a configurable option. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677256&group_id=9579 From noreply@sourceforge.net Thu Jan 30 03:49:31 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 29 Jan 2003 19:49:31 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677260 ] Display of Startup option Message-ID: Bugs item #677260, was opened at 2003-01-30 03:49 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: Display of Startup option Initial Comment: In 0.9a2 on the General tab of the options menu, the current setting of the "On Startup" choice is not displayed. I'm able to set it, and it displays as long as I just move among the option tabs, but if I exit options and return to it there is no indication as to which choice is currently in effect. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 From noreply@sourceforge.net Thu Jan 30 04:02:27 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Wed, 29 Jan 2003 20:02:27 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677263 ] Run/kill etc. with VPython programs Message-ID: Bugs item #677263, was opened at 2003-01-30 04:02 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677263&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: Run/kill etc. with VPython programs Initial Comment: With 0.9a2 it is still the case that something is very wrong with the run environment for VPython programs, at least on Windows. I run the simplest program from visual import * sphere() Next I kill the graphics display window (by clicking in the close box), then type in the shell "2+2". I get the following: Traceback (most recent call last): File "C:\Python23\Lib\site-packages\idleforklib\rpc.py", line 187, in asynccall self.putmessage((seq, request)) File "C:\Python23\Lib\site-packages\idleforklib\rpc.py", line 289, in putmessage n = self.sock.send(s) File "", line 1, in send error: (10054, 'Connection reset by peer') I then try to kill the shell window and get a dialog box asking this: "The program is still running; do you want to kill it?" I say I want to kill it, the dialog box goes away, but nothing happens to the shell window. The only way I can kill Python is with the Windows task manager. Even independent of what may be special about a VPython program, shouldn't IDLE honor the request to kill? I emphasize that with the original idlefork when one killed a VPython graphics window you were in a good state. Another possible hint at the source of the new problem is that with the original idlefork after F5 to run I could press F5 and the existing graphics window would be killed and I'd get a new spawned process. Now I seem to get two spawned processes in this situation. http://vpython.org is a place to get the VPython stuff. I have no idea whether the problem is in some sense with VPython or with the new idlefork. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677263&group_id=9579 From noreply@sourceforge.net Thu Jan 30 16:10:14 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 08:10:14 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677256 ] No way to disable "Ok to save?" Message-ID: Bugs item #677256, was opened at 2003-01-29 22:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677256&group_id=9579 Category: None Group: None >Status: Closed Resolution: None Priority: 5 Submitted By: Bruce Sherwood (bsherwood) >Assigned to: Kurt B. Kaiser (kbk) >Summary: No way to disable "Ok to save?" Initial Comment: With 0.9a2 there seems to be no way to disable seeing the "Ok to save?" dialog box when I press F5. Disabling this dialog box is VERY important to me. I want the interactivity of the shell with the full-context environment of the edit window. I realize that not everyone feels this need, but it should be a configurable option. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 11:10 Message: Logged In: YES user_id=149084 Not a bug. RFE 661318 - see my comments there ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677256&group_id=9579 From noreply@sourceforge.net Thu Jan 30 16:16:14 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 08:16:14 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677260 ] Display of Startup option Message-ID: Bugs item #677260, was opened at 2003-01-29 22:49 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 Category: None Group: None Status: Open >Resolution: Duplicate Priority: 5 Submitted By: Bruce Sherwood (bsherwood) >Assigned to: Kurt B. Kaiser (kbk) Summary: Display of Startup option Initial Comment: In 0.9a2 on the General tab of the options menu, the current setting of the "On Startup" choice is not displayed. I'm able to set it, and it displays as long as I just move among the option tabs, but if I exit options and return to it there is no indication as to which choice is currently in effect. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 11:16 Message: Logged In: YES user_id=149084 Duplicate of 661676, except I believe in that case, once the options have been set the first time everything is fine. I can't reproduce this on Linux or W2K. Exactly what is your system configuration? I can reproduce the non-highlighting of the font selection right after first installation, but everything else looks ok to me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 From noreply@sourceforge.net Thu Jan 30 16:24:01 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 08:24:01 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677263 ] On W32 Can't Terminate Subprocess Not Doing IO Message-ID: Bugs item #677263, was opened at 2003-01-29 23:02 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677263&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted >Priority: 7 Submitted By: Bruce Sherwood (bsherwood) >Assigned to: Kurt B. Kaiser (kbk) >Summary: On W32 Can't Terminate Subprocess Not Doing IO Initial Comment: With 0.9a2 it is still the case that something is very wrong with the run environment for VPython programs, at least on Windows. I run the simplest program from visual import * sphere() Next I kill the graphics display window (by clicking in the close box), then type in the shell "2+2". I get the following: Traceback (most recent call last): File "C:\Python23\Lib\site-packages\idleforklib\rpc.py", line 187, in asynccall self.putmessage((seq, request)) File "C:\Python23\Lib\site-packages\idleforklib\rpc.py", line 289, in putmessage n = self.sock.send(s) File "", line 1, in send error: (10054, 'Connection reset by peer') I then try to kill the shell window and get a dialog box asking this: "The program is still running; do you want to kill it?" I say I want to kill it, the dialog box goes away, but nothing happens to the shell window. The only way I can kill Python is with the Windows task manager. Even independent of what may be special about a VPython program, shouldn't IDLE honor the request to kill? I emphasize that with the original idlefork when one killed a VPython graphics window you were in a good state. Another possible hint at the source of the new problem is that with the original idlefork after F5 to run I could press F5 and the existing graphics window would be killed and I'd get a new spawned process. Now I seem to get two spawned processes in this situation. http://vpython.org is a place to get the VPython stuff. I have no idea whether the problem is in some sense with VPython or with the new idlefork. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 11:24 Message: Logged In: YES user_id=149084 I changed the title, this isn't just a VPython issue. I can confirm what you are seeing, and I have some ideas on how to fix it. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677263&group_id=9579 From noreply@sourceforge.net Thu Jan 30 17:23:43 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 09:23:43 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677260 ] Display of Startup option Message-ID: Bugs item #677260, was opened at 2003-01-30 03:49 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 Category: None Group: None Status: Open Resolution: Duplicate Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Kurt B. Kaiser (kbk) Summary: Display of Startup option Initial Comment: In 0.9a2 on the General tab of the options menu, the current setting of the "On Startup" choice is not displayed. I'm able to set it, and it displays as long as I just move among the option tabs, but if I exit options and return to it there is no indication as to which choice is currently in effect. ---------------------------------------------------------------------- >Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-30 17:23 Message: Logged In: YES user_id=34881 I'm running Python 2.3 on Windows XP. It is completely reproducible that the Startup Preference choice on the General tab is never highlighted upon entering the Options menu, even after setting this option, clicking ok (or apply and ok), and then immediately returning to the General tab to see whether the choice is highlighted. On the other hand, if I set a new font and exit Options and return, I do see my font choice highlighted. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 16:16 Message: Logged In: YES user_id=149084 Duplicate of 661676, except I believe in that case, once the options have been set the first time everything is fine. I can't reproduce this on Linux or W2K. Exactly what is your system configuration? I can reproduce the non-highlighting of the font selection right after first installation, but everything else looks ok to me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 From noreply@sourceforge.net Thu Jan 30 18:17:30 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 10:17:30 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677260 ] Display of Startup option Message-ID: Bugs item #677260, was opened at 2003-01-29 22:49 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 Category: None Group: None Status: Open Resolution: Duplicate Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Kurt B. Kaiser (kbk) Summary: Display of Startup option Initial Comment: In 0.9a2 on the General tab of the options menu, the current setting of the "On Startup" choice is not displayed. I'm able to set it, and it displays as long as I just move among the option tabs, but if I exit options and return to it there is no indication as to which choice is currently in effect. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 13:17 Message: Logged In: YES user_id=149084 Hm. I may be in the position of trying to fix something that I can't reproduce :) I may need your help. What's your Tk version? >>> import Tkinter >>> Tkinter.TkVersion 8.3000000000000007 here.... ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-30 12:23 Message: Logged In: YES user_id=34881 I'm running Python 2.3 on Windows XP. It is completely reproducible that the Startup Preference choice on the General tab is never highlighted upon entering the Options menu, even after setting this option, clicking ok (or apply and ok), and then immediately returning to the General tab to see whether the choice is highlighted. On the other hand, if I set a new font and exit Options and return, I do see my font choice highlighted. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 11:16 Message: Logged In: YES user_id=149084 Duplicate of 661676, except I believe in that case, once the options have been set the first time everything is fine. I can't reproduce this on Linux or W2K. Exactly what is your system configuration? I can reproduce the non-highlighting of the font selection right after first installation, but everything else looks ok to me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 From noreply@sourceforge.net Thu Jan 30 18:56:12 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 10:56:12 -0800 Subject: [Idle-dev] [ idlefork-Bugs-677260 ] Display of Startup option Message-ID: Bugs item #677260, was opened at 2003-01-30 03:49 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 Category: None Group: None Status: Open Resolution: Duplicate Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Kurt B. Kaiser (kbk) Summary: Display of Startup option Initial Comment: In 0.9a2 on the General tab of the options menu, the current setting of the "On Startup" choice is not displayed. I'm able to set it, and it displays as long as I just move among the option tabs, but if I exit options and return to it there is no indication as to which choice is currently in effect. ---------------------------------------------------------------------- >Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-30 18:56 Message: Logged In: YES user_id=34881 When I try your test I get "8.4". I didn't do anything special -- I just installed Python 2.3a1, and apparently that's the version of Tk that comes with. I'll be happy to try to help in any way I can. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 18:17 Message: Logged In: YES user_id=149084 Hm. I may be in the position of trying to fix something that I can't reproduce :) I may need your help. What's your Tk version? >>> import Tkinter >>> Tkinter.TkVersion 8.3000000000000007 here.... ---------------------------------------------------------------------- Comment By: Bruce Sherwood (bsherwood) Date: 2003-01-30 17:23 Message: Logged In: YES user_id=34881 I'm running Python 2.3 on Windows XP. It is completely reproducible that the Startup Preference choice on the General tab is never highlighted upon entering the Options menu, even after setting this option, clicking ok (or apply and ok), and then immediately returning to the General tab to see whether the choice is highlighted. On the other hand, if I set a new font and exit Options and return, I do see my font choice highlighted. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-30 16:16 Message: Logged In: YES user_id=149084 Duplicate of 661676, except I believe in that case, once the options have been set the first time everything is fine. I can't reproduce this on Linux or W2K. Exactly what is your system configuration? I can reproduce the non-highlighting of the font selection right after first installation, but everything else looks ok to me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=677260&group_id=9579 From kbk@users.sourceforge.net Fri Jan 31 05:06:45 2003 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Thu, 30 Jan 2003 21:06:45 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.54,1.55 rpc.py,1.14,1.15 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv1638 Modified Files: PyShell.py rpc.py Log Message: M PyShell.py M rpc.py SF Bug 676398 Doesn't handle non-built-in exceptions 1. Move exception formatting to the subprocess; allows subclassing of exceptions, including subclasses created in the shell without introducing excessive complexity in the RPC mechanism. 2. Provide access to linecache from subprocess to support this. Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -r1.54 -r1.55 *** PyShell.py 25 Jan 2003 21:33:40 -0000 1.54 --- PyShell.py 31 Jan 2003 05:06:43 -0000 1.55 *************** *** 354,357 **** --- 354,358 ---- self.rpcclt.register("stderr", self.tkconsole.stderr) self.rpcclt.register("flist", self.tkconsole.flist) + self.rpcclt.register("linecache", linecache) self.transfer_path() self.poll_subprocess() *************** *** 405,425 **** print >>console, `what` elif how == "EXCEPTION": - mod, name, args, tb = what - print >>console, 'Traceback (most recent call last):' - exclude = ("run.py", "rpc.py", "RemoteDebugger.py", "bdb.py") - self.cleanup_traceback(tb, exclude, console) - traceback.print_list(tb, file=console) - # try to reinstantiate the exception, stuff in the args: - try: - etype = eval(mod + '.' + name) - val = etype() - val.args = args - except TypeError: # string exception! - etype = name - val = args - lines = traceback.format_exception_only(etype, val) - for line in lines[:-1]: - traceback._print(console, line, '') - traceback._print(console, lines[-1], '') if self.tkconsole.getvar("<>"): self.remote_stack_viewer() --- 406,409 ---- *************** *** 430,463 **** # we received a response to the currently active seq number: self.tkconsole.endexecuting() - - def cleanup_traceback(self, tb, exclude, console): - "Remove excluded traces from beginning/end of tb; get cached lines" - orig_tb = tb[:] - while tb: - for rpcfile in exclude: - if tb[0][0].count(rpcfile): - break # found an exclude, break for: and delete tb[0] - else: - break # no excludes, have left RPC code, break while: - del tb[0] - while tb: - for rpcfile in exclude: - if tb[-1][0].count(rpcfile): - break - else: - break - del tb[-1] - if len(tb) == 0: - # error was in IDLE internals, don't prune! - tb[:] = orig_tb[:] - print>>sys.__stderr__, "** IDLE Internal Error: ", tb - print>>console, "** IDLE Internal Error **" - for i in range(len(tb)): - fn, ln, nm, line = tb[i] - if nm == '?': - nm = "-toplevel-" - if not line and fn.startswith(">efile, 'Traceback (most recent call last):' ! exclude = ("run.py", "rpc.py", "RemoteDebugger.py", "bdb.py") ! self.cleanup_traceback(tbe, exclude) ! traceback.print_list(tbe, file=efile) ! lines = traceback.format_exception_only(typ, val) ! for line in lines: ! print>>efile, line, ! return ("EXCEPTION", None) ! ! def cleanup_traceback(self, tb, exclude): ! "Remove excluded traces from beginning/end of tb; get cached lines" ! orig_tb = tb[:] ! while tb: ! for rpcfile in exclude: ! if tb[0][0].count(rpcfile): ! break # found an exclude, break for: and delete tb[0] ! else: ! break # no excludes, have left RPC code, break while: ! del tb[0] ! while tb: ! for rpcfile in exclude: ! if tb[-1][0].count(rpcfile): ! break else: ! break ! del tb[-1] ! if len(tb) == 0: ! # error was in RPC internals, don't prune! ! tb[:] = orig_tb[:] ! print>>sys.stderr, "** RPC Internal Error: ", tb ! for i in range(len(tb)): ! fn, ln, nm, line = tb[i] ! if nm == '?': ! nm = "-toplevel-" ! if not line and fn.startswith(" Bugs item #676398, was opened at 2003-01-28 17:11 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=676398&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Noam Raphael (noamr) Assigned to: Kurt B. Kaiser (kbk) Summary: A problem with exceptions and the client-server mechanism Initial Comment: open IDLEfork. then type in the shell window: import re re.compile("[a-+]") The shell window writes: Traceback (most recent call last): File "", line 1, in -toplevel- re.compile("[a-+]") File "/usr/lib/python2.2/sre.py", line 178, in compile return _compile(pattern, flags) File "/usr/lib/python2.2/sre.py", line 228, in _compile raise error, v # invalid expression and then gets stuck. In the xterm, this is written: Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 1292, in __call__ return apply(self.func, args) File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 436, in callit apply(func, args) File "./PyShell.py", line 421, in poll_subprocess etype = eval(mod + '.' + name) File "", line 0, in ? NameError: name 'sre_constants' is not defined I'm using Python 2.2.1 on Debian woody. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-31 00:14 Message: Logged In: YES user_id=149084 PyShell.py Rev 1.55 rpc.py Rev 1.15 ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-28 17:45 Message: Logged In: YES user_id=149084 The expected response is: Python 2.3a0 (#8, Dec 14 2002, 17:52:42) [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import re >>> re.compile('[a-+]') Traceback (most recent call last): File "", line 1, in ? File "/usr/local/lib/python2.3a0/sre.py", line 179, in compile return _compile(pattern, flags) File "/usr/local/lib/python2.3a0/sre.py", line 229, in _compile raise error, v # invalid expression sre_constants.error: bad character range ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=676398&group_id=9579 From noreply@sourceforge.net Fri Jan 31 05:18:03 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Thu, 30 Jan 2003 21:18:03 -0800 Subject: [Idle-dev] [ idlefork-Bugs-441475 ] Wrong initial numbers in status bar. Message-ID: Bugs item #441475, was opened at 2001-07-15 12:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=441475&group_id=9579 Category: None Group: None >Status: Closed Resolution: Fixed Priority: 5 Submitted By: Patrick K. O'Brien (pobrien) >Assigned to: Kurt B. Kaiser (kbk) Summary: Wrong initial numbers in status bar. Initial Comment: When IDLE is run (on Win98, at least) it displays incorrect line and column numbers in the status bar - lin: 1 col: 3 should be lin: 7 col: 4. As soon as the cursor is moved the status bar is updated with the proper information. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2003-01-03 12:59 Message: Logged In: YES user_id=149084 Appears OK on Linux and W2K. Starting shell from Run shows correct row/col. ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2002-05-20 05:53 Message: Logged In: YES user_id=6380 I can still reproduce something like this on Linux. Bring up the Python Shell window from the Run menu. Notice that it displays 0 for the column number (the line number is correct). ---------------------------------------------------------------------- Comment By: Stephen M. Gava (elguavas) Date: 2002-05-19 21:37 Message: Logged In: YES user_id=75867 Can anyone with win98 still reproduce this problem? I think it may have been fixed ages ago. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=441475&group_id=9579 From noreply@sourceforge.net Fri Jan 31 19:37:04 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 31 Jan 2003 11:37:04 -0800 Subject: [Idle-dev] [ idlefork-Bugs-678325 ] ParenMatching Missing AutoIndent module Message-ID: Bugs item #678325, was opened at 2003-01-31 19:37 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=678325&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nadav Horesh (nadavhoresh) Assigned to: Nobody/Anonymous (nobody) Summary: ParenMatching Missing AutoIndent module Initial Comment: Three problems: 1. There is no access to ParenMatching from the "Configure Idle" pannel. 2. One need to edit both the global configuration file in idlelib or idleforklib, and the local configuration file (in .idlerc, under linux) in order to enable this option. 3. When ParenMatching is enabled, python complains about missing AutoIndent module. I solved this problem by copying AutoIndent.py from the idle directory. Nadav. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=678325&group_id=9579 From noreply@sourceforge.net Fri Jan 31 20:08:10 2003 From: noreply@sourceforge.net (SourceForge.net) Date: Fri, 31 Jan 2003 12:08:10 -0800 Subject: [Idle-dev] [ idlefork-Bugs-678343 ] filenames without dot Message-ID: Bugs item #678343, was opened at 2003-01-31 12:08 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=678343&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: filenames without dot Initial Comment: Windows 98 crashes when file- or foldernames are used which start with a dot. configHandler.py: line 158..161, 197 change ".idlerc" in "idlerc" ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=678343&group_id=9579