From teyc@users.sourceforge.net Mon Nov 4 03:11:12 2002 From: teyc@users.sourceforge.net (Chui Tey) Date: Sun, 03 Nov 2002 19:11:12 -0800 Subject: [Idle-dev] CVS: idle IOBinding.py,1.9,1.10 Message-ID: Update of /cvsroot/idlefork/idle In directory usw-pr-cvs1:/tmp/cvs-serv31774 Modified Files: IOBinding.py Log Message: 619127: Recent File Menu Not Updating Index: IOBinding.py =================================================================== RCS file: /cvsroot/idlefork/idle/IOBinding.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** IOBinding.py 23 Sep 2002 01:01:20 -0000 1.9 --- IOBinding.py 4 Nov 2002 03:11:10 -0000 1.10 *************** *** 219,222 **** --- 219,224 ---- self.text.mark_set("insert", "1.0") self.text.see("insert") + + self.updaterecentfileslist(filename) return True *************** *** 295,298 **** --- 297,301 ---- self.set_saved(1) self.text.focus_set() + return "break" *************** *** 304,307 **** --- 307,312 ---- self.set_saved(1) self.text.focus_set() + + self.updaterecentfileslist(filename) return "break" *************** *** 311,314 **** --- 316,321 ---- self.writefile(filename) self.text.focus_set() + + self.updaterecentfileslist(filename) return "break" *************** *** 463,466 **** --- 470,479 ---- return self.savedialog.show(initialdir=dir, initialfile=base) + + def updaterecentfileslist(self,filename): + # + # Updates recent file list on all editor windows + # + self.editwin.UpdateRecentFilesList(filename) def test(): From noreply@sourceforge.net Mon Nov 4 03:11:39 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 03 Nov 2002 19:11:39 -0800 Subject: [Idle-dev] [ idlefork-Bugs-619127 ] Recent Files Menu Not Updating Message-ID: Bugs item #619127, was opened at 2002-10-06 02:18 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=619127&group_id=9579 Category: None Group: None >Status: Closed Resolution: None Priority: 5 Submitted By: Kurt B. Kaiser (kbk) Assigned to: Nobody/Anonymous (nobody) Summary: Recent Files Menu Not Updating Initial Comment: Idle must be restarted to update the recent files submenu. Linux 2.2 Python 2.2.1 ---------------------------------------------------------------------- >Comment By: Chui Tey (teyc) Date: 2002-11-04 03:11 Message: Logged In: YES user_id=29167 Fixed IOBinding. rev.1.10 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=619127&group_id=9579 From teyc@users.sourceforge.net Mon Nov 4 03:17:47 2002 From: teyc@users.sourceforge.net (Chui Tey) Date: Sun, 03 Nov 2002 19:17:47 -0800 Subject: [Idle-dev] CVS: idle configDialog.py,1.47,1.48 Message-ID: Update of /cvsroot/idlefork/idle In directory usw-pr-cvs1:/tmp/cvs-serv546 Modified Files: configDialog.py Log Message: [ 629984 ] Smaller font sizes not supported Index: configDialog.py =================================================================== RCS file: /cvsroot/idlefork/idle/configDialog.py,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -r1.47 -r1.48 *** configDialog.py 14 Sep 2002 02:58:07 -0000 1.47 --- configDialog.py 4 Nov 2002 03:17:45 -0000 1.48 *************** *** 915,919 **** fontSize=idleConf.GetOption('main','EditorWindow','font-size', default='12') ! self.optMenuFontSize.SetMenu(('10','11','12','13','14', '16','18','20','22'),fontSize ) ##fontWeight --- 915,919 ---- fontSize=idleConf.GetOption('main','EditorWindow','font-size', default='12') ! self.optMenuFontSize.SetMenu(('7','8','9','10','11','12','13','14', '16','18','20','22'),fontSize ) ##fontWeight From noreply@sourceforge.net Mon Nov 4 03:18:10 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 03 Nov 2002 19:18:10 -0800 Subject: [Idle-dev] [ idlefork-Bugs-629984 ] Smaller font sizes not supported Message-ID: Bugs item #629984, was opened at 2002-10-28 17:26 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629984&group_id=9579 Category: None Group: None >Status: Closed Resolution: None Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Nobody/Anonymous (nobody) Summary: Smaller font sizes not supported Initial Comment: The config dialog doens't allow selection of font sizes < 10. On Windows, my preferred font happens to be Lucida Console 8 points. There are legitimate uses for even smaller fonts. ---------------------------------------------------------------------- >Comment By: Chui Tey (teyc) Date: 2002-11-04 03:18 Message: Logged In: YES user_id=29167 Fixed configDialog.py rev 1.48 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629984&group_id=9579 From teyc@users.sourceforge.net Mon Nov 4 22:14:57 2002 From: teyc@users.sourceforge.net (Chui Tey) Date: Mon, 04 Nov 2002 14:14:57 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.30,1.31 Message-ID: Update of /cvsroot/idlefork/idle In directory usw-pr-cvs1:/tmp/cvs-serv15506 Modified Files: PyShell.py Log Message: Recalls breakpoints set in a file Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** PyShell.py 23 Oct 2002 04:48:08 -0000 1.30 --- PyShell.py 4 Nov 2002 22:14:54 -0000 1.31 *************** *** 25,28 **** --- 25,29 ---- from configHandler import idleConf import idlever + import os.path import rpc *************** *** 80,98 **** self.text.bind("<>", self.flist.open_shell) rmenu_specs = [("Set Breakpoint", "<>"), ("Clear Breakpoint", "<>")] ! def set_breakpoint_here(self, event=None): text = self.text filename = self.io.filename ! if not filename: ! text.bell() ! return ! lineno = int(float(text.index("insert"))) try: i = self.breakpoints.index(lineno) ! except: # only add if missing, i.e. do once self.breakpoints.append(lineno) - text.tag_add("BREAK", "insert linestart", "insert lineend +1char") try: # update the subprocess debugger debug = self.flist.pyshell.interp.debugger --- 81,104 ---- self.text.bind("<>", self.flist.open_shell) + self.breakpointPath=os.path.join(idleConf.GetUserCfgDir(), 'breakpoints.lst') + + # whenever a file is changed, restore breakpoints + if self.io.filename: self.restore_file_breaks() + def filename_changed_hook(self,old_hook=self.io.filename_change_hook): + self.restore_file_breaks() + old_hook() + self.io.set_filename_change_hook(filename_changed_hook) + rmenu_specs = [("Set Breakpoint", "<>"), ("Clear Breakpoint", "<>")] ! def set_breakpoint(self, lineno): text = self.text filename = self.io.filename ! text.tag_add("BREAK", "%d.0" % lineno, "%d.0" % (lineno+1)) try: i = self.breakpoints.index(lineno) ! except ValueError: # only add if missing, i.e. do once self.breakpoints.append(lineno) try: # update the subprocess debugger debug = self.flist.pyshell.interp.debugger *************** *** 101,104 **** --- 107,119 ---- pass + def set_breakpoint_here(self, event=None): + text = self.text + filename = self.io.filename + if not filename: + text.bell() + return + lineno = int(float(text.index("insert"))) + self.set_breakpoint(lineno) + def clear_breakpoint_here(self, event=None): text = self.text *************** *** 135,138 **** --- 150,187 ---- pass + def store_file_breaks(self): + if not self.breakpoints: + return + filename=self.io.filename + try: + lines=open(self.breakpointPath,"r").readlines() + except IOError: + lines=[] + new_file=open(self.breakpointPath,"w") + for line in lines: + if not line.startswith(filename+"="): + new_file.write(line) + new_file.write(filename+"="+`self.get_current_breaks()`) + new_file.close() + + def restore_file_breaks(self): + self.text.update() # this enables setting "BREAK" tags to be visible + filename=self.io.filename + lines=open(self.breakpointPath,"r").readlines() + for line in lines: + if line.startswith(filename+"="): + breakpoint_linenumbers=eval(line[len(filename)+1:]) + for breakpoint_linenumber in breakpoint_linenumbers: + self.set_breakpoint(breakpoint_linenumber) + + def get_current_breaks(self): + # + # retrieves all the breakpoints in the current window + # + text = self.text + lines = text.tag_ranges("BREAK") + result = [int(float((lines[i]))) for i in range(0,len(lines),2)] + return result + def saved_change_hook(self): "Extend base method - clear breaks if module is modified" *************** *** 143,146 **** --- 192,196 ---- def _close(self): "Extend base method - clear breaks when module is closed" + self.store_file_breaks() self.clear_file_breaks() EditorWindow._close(self) From teyc@users.sourceforge.net Mon Nov 4 23:07:54 2002 From: teyc@users.sourceforge.net (Chui Tey) Date: Mon, 04 Nov 2002 15:07:54 -0800 Subject: [Idle-dev] CVS: idle SearchDialogBase.py,1.3,1.4 Message-ID: Update of /cvsroot/idlefork/idle In directory usw-pr-cvs1:/tmp/cvs-serv6242 Modified Files: SearchDialogBase.py Log Message: Tidied up widget placement Index: SearchDialogBase.py =================================================================== RCS file: /cvsroot/idlefork/idle/SearchDialogBase.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** SearchDialogBase.py 18 Sep 2002 03:12:18 -0000 1.3 --- SearchDialogBase.py 4 Nov 2002 23:07:51 -0000 1.4 *************** *** 39,44 **** self.row = 0 ! self.top.grid_columnconfigure(0, weight=0) ! self.top.grid_columnconfigure(1, weight=100) self.create_entries() --- 39,44 ---- self.row = 0 ! self.top.grid_columnconfigure(0, pad=2, weight=0) ! self.top.grid_columnconfigure(1, pad=2, minsize=100, weight=100) self.create_entries() *************** *** 49,69 **** def make_entry(self, label, var): l = Label(self.top, text=label) ! l.grid(row=self.row, col=0, sticky="w") e = Entry(self.top, textvariable=var, exportselection=0) ! e.grid(row=self.row, col=1, sticky="we") self.row = self.row + 1 return e ! def make_frame(self): f = Frame(self.top) ! f.grid(row=self.row, col=0, columnspan=2, sticky="we") self.row = self.row + 1 return f ! def make_button(self, label, command, isdef=0, side="left"): b = Button(self.buttonframe, text=label, command=command, default=isdef and "active" or "normal") ! b.pack(side=side) return b --- 49,74 ---- def make_entry(self, label, var): l = Label(self.top, text=label) ! l.grid(row=self.row, col=0, sticky="nw") e = Entry(self.top, textvariable=var, exportselection=0) ! e.grid(row=self.row, col=1, sticky="nwe") self.row = self.row + 1 return e ! def make_frame(self,labeltext=None): ! if labeltext: ! l = Label(self.top, text=labeltext) ! l.grid(row=self.row, col=0, sticky="nw") f = Frame(self.top) ! f.grid(row=self.row, col=1, columnspan=1, sticky="nwe") self.row = self.row + 1 return f ! def make_button(self, label, command, isdef=0): b = Button(self.buttonframe, text=label, command=command, default=isdef and "active" or "normal") ! cols,rows=self.buttonframe.grid_size() ! b.grid(pady=1,row=rows,column=0,sticky="ew") ! self.buttonframe.grid(rowspan=rows+1) return b *************** *** 72,76 **** def create_option_buttons(self): ! f = self.make_frame() btn = Checkbutton(f, anchor="w", --- 77,81 ---- def create_option_buttons(self): ! f = self.make_frame("Options") btn = Checkbutton(f, anchor="w", *************** *** 104,111 **** def create_other_buttons(self): ! f = self.make_frame() ! lbl = Label(f, text="Direction: ") ! lbl.pack(side="left") btn = Radiobutton(f, anchor="w", --- 109,116 ---- def create_other_buttons(self): ! f = self.make_frame("Direction") ! #lbl = Label(f, text="Direction: ") ! #lbl.pack(side="left") btn = Radiobutton(f, anchor="w", *************** *** 124,128 **** def create_command_buttons(self): ! f = self.buttonframe = self.make_frame() ! b = self.make_button("close", self.close, side="right") b.lower() --- 129,137 ---- def create_command_buttons(self): ! # ! # place button frame on the right ! f = self.buttonframe = Frame(self.top) ! f.grid(row=0,col=2,padx=2,pady=2,ipadx=2,ipady=2) ! ! b = self.make_button("close", self.close) b.lower() From teyc@users.sourceforge.net Mon Nov 4 23:39:47 2002 From: teyc@users.sourceforge.net (Chui Tey) Date: Mon, 04 Nov 2002 15:39:47 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.31,1.32 Debugger.py,1.14,1.15 Message-ID: Update of /cvsroot/idlefork/idle In directory usw-pr-cvs1:/tmp/cvs-serv23340 Modified Files: PyShell.py Debugger.py Log Message: Set breakpoints on remote debugger Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** PyShell.py 4 Nov 2002 22:14:54 -0000 1.31 --- PyShell.py 4 Nov 2002 23:39:45 -0000 1.32 *************** *** 85,89 **** # whenever a file is changed, restore breakpoints if self.io.filename: self.restore_file_breaks() ! def filename_changed_hook(self,old_hook=self.io.filename_change_hook): self.restore_file_breaks() old_hook() --- 85,89 ---- # whenever a file is changed, restore breakpoints if self.io.filename: self.restore_file_breaks() ! def filename_changed_hook(old_hook=self.io.filename_change_hook,self=self): self.restore_file_breaks() old_hook() *************** *** 162,166 **** if not line.startswith(filename+"="): new_file.write(line) ! new_file.write(filename+"="+`self.get_current_breaks()`) new_file.close() --- 162,166 ---- if not line.startswith(filename+"="): new_file.write(line) ! new_file.write(filename+"="+`self.get_current_breaks()`+"\n") new_file.close() *************** *** 168,177 **** self.text.update() # this enables setting "BREAK" tags to be visible filename=self.io.filename ! lines=open(self.breakpointPath,"r").readlines() ! for line in lines: ! if line.startswith(filename+"="): ! breakpoint_linenumbers=eval(line[len(filename)+1:]) ! for breakpoint_linenumber in breakpoint_linenumbers: ! self.set_breakpoint(breakpoint_linenumber) def get_current_breaks(self): --- 168,178 ---- self.text.update() # this enables setting "BREAK" tags to be visible filename=self.io.filename ! if os.path.isfile(self.breakpointPath): ! lines=open(self.breakpointPath,"r").readlines() ! for line in lines: ! if line.startswith(filename+"="): ! breakpoint_linenumbers=eval(line[len(filename)+1:]) ! for breakpoint_linenumber in breakpoint_linenumbers: ! self.set_breakpoint(breakpoint_linenumber) def get_current_breaks(self): Index: Debugger.py =================================================================== RCS file: /cvsroot/idlefork/idle/Debugger.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** Debugger.py 23 Oct 2002 04:48:08 -0000 1.14 --- Debugger.py 4 Nov 2002 23:39:45 -0000 1.15 *************** *** 331,335 **** filename = editwin.io.filename try: ! for lineno in editwin.breakpoints: self.set_breakpoint_here(filename, lineno) except AttributeError: --- 331,335 ---- filename = editwin.io.filename try: ! for lineno in editwin.get_current_breaks(): self.set_breakpoint_here(filename, lineno) except AttributeError: From Mike@MikeAndKellyCrowe.com Tue Nov 5 18:04:33 2002 From: Mike@MikeAndKellyCrowe.com (Mike Crowe) Date: Tue, 05 Nov 2002 13:04:33 -0500 Subject: [Idle-dev] BicycleRepairMan and idlefork Message-ID: <1036519473.25641.17.camel@mikecrowe.comporium.net> --=-a7KG/v2io9kark0hCg2R Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi All, I was trying to import BicycleRepairMan_Idle into the current idlefork. By putting the following lines into config-extensions.def: [BicycleRepairMan_Idle] enable=1 The BMR menu comes up. That's as far as I got Cheers! Mike --=-a7KG/v2io9kark0hCg2R Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hi All,

I was trying to import BicycleRepairMan_Idle into the current idlefork.  By putting the following lines into config-extensions.def:

[BicycleRepairMan_Idle]
enable=1

The BMR menu comes up.  That's as far as I got

Cheers!
Mike

--=-a7KG/v2io9kark0hCg2R-- From teyc@users.sourceforge.net Wed Nov 6 02:18:47 2002 From: teyc@users.sourceforge.net (Chui Tey) Date: Tue, 05 Nov 2002 18:18:47 -0800 Subject: [Idle-dev] CVS: idle SearchDialog.py,1.3,1.4 SearchDialogBase.py,1.4,1.5 Message-ID: Update of /cvsroot/idlefork/idle In directory usw-pr-cvs1:/tmp/cvs-serv18298 Modified Files: SearchDialog.py SearchDialogBase.py Log Message: By default when getting the search menu, the currently highligted text is the search term. Index: SearchDialog.py =================================================================== RCS file: /cvsroot/idlefork/idle/SearchDialog.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** SearchDialog.py 18 Sep 2002 03:10:10 -0000 1.3 --- SearchDialog.py 6 Nov 2002 02:18:45 -0000 1.4 *************** *** 12,16 **** def find(text): ! return _setup(text).open(text) def find_again(text): --- 12,17 ---- def find(text): ! pat = text.get("sel.first", "sel.last") ! return _setup(text).open(text,pat) def find_again(text): Index: SearchDialogBase.py =================================================================== RCS file: /cvsroot/idlefork/idle/SearchDialogBase.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** SearchDialogBase.py 4 Nov 2002 23:07:51 -0000 1.4 --- SearchDialogBase.py 6 Nov 2002 02:18:45 -0000 1.5 *************** *** 12,16 **** self.top = None ! def open(self, text): self.text = text if not self.top: --- 12,16 ---- self.top = None ! def open(self, text, searchphrase=None): self.text = text if not self.top: *************** *** 19,22 **** --- 19,25 ---- self.top.deiconify() self.top.tkraise() + if searchphrase: + self.ent.delete(0,"end") + self.ent.insert("end",searchphrase) self.ent.focus_set() self.ent.selection_range(0, "end") From noreply@sourceforge.net Wed Nov 6 02:35:09 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Tue, 05 Nov 2002 18:35:09 -0800 Subject: [Idle-dev] [ idlefork-Patches-469254 ] help.txt error Message-ID: Patches item #469254, was opened at 2001-10-08 20:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=469254&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Bruce Sherwood (bsherwood) Assigned to: Nobody/Anonymous (nobody) Summary: help.txt error Initial Comment: In help.txt, the following: --------------------------------- Other preferences: To change the font on Windows, open EditorWindow.py and change text['font'] = ("lucida console", 8) to, e.g., text['font'] = ("courier new", 10) --------------------------------- should be replaced by this: --------------------------------- Other preferences: To change the font open config- [win/unix/mac].txt and change font-name: courier new font-size: 10 to, e.g., font-name: courier new bold font-size: 14 --------------------------------- It is surely better for the user to change a preference file than to change EditorWindow.py! ---------------------------------------------------------------------- >Comment By: Chui Tey (teyc) Date: 2002-11-06 02:35 Message: Logged In: YES user_id=29167 The GUI configuration editor will eventually render this section obsolete. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=469254&group_id=9579 From noreply@sourceforge.net Wed Nov 6 04:33:24 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Tue, 05 Nov 2002 20:33:24 -0800 Subject: [Idle-dev] [ idlefork-Patches-634250 ] SearchDialogBase.py fix for Tk 8.4.1 Message-ID: Patches item #634250, was opened at 2002-11-05 22:33 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=634250&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nicholas Riley (nriley) Assigned to: Nobody/Anonymous (nobody) Summary: SearchDialogBase.py fix for Tk 8.4.1 Initial Comment: SearchDialogBase refers to the grid 'col' option considered ambiguous with Python 2.2.2 and Tk 8.4.1. The correct name is 'column'. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=634250&group_id=9579 From noreply@sourceforge.net Wed Nov 6 04:35:47 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Tue, 05 Nov 2002 20:35:47 -0800 Subject: [Idle-dev] [ idlefork-Patches-634250 ] SearchDialogBase.py fix for Tk 8.4.1 Message-ID: Patches item #634250, was opened at 2002-11-05 22:33 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=634250&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nicholas Riley (nriley) Assigned to: Nobody/Anonymous (nobody) Summary: SearchDialogBase.py fix for Tk 8.4.1 Initial Comment: SearchDialogBase refers to the grid 'col' option considered ambiguous with Python 2.2.2 and Tk 8.4.1. The correct name is 'column'. ---------------------------------------------------------------------- >Comment By: Nicholas Riley (nriley) Date: 2002-11-05 22:35 Message: Logged In: YES user_id=34933 Without this patch, you can't use the search/replace functions; you get an error and an empty frame ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=634250&group_id=9579 From brett@python.org Sat Nov 16 22:30:05 2002 From: brett@python.org (Brett Cannon) Date: Sat, 16 Nov 2002 14:30:05 -0800 (PST) Subject: [Idle-dev] What is IDLE GRPC? Message-ID: I am currently preparing the next python-dev Summary and I mention something that Guido said about IDLE GRPC. Unfortunately I don't know what that is. =) Googling didn't help. Any info would be greatly appreciated. -Brett From pobrien@orbtech.com Sat Nov 16 22:52:57 2002 From: pobrien@orbtech.com (Patrick K. O'Brien) Date: Sat, 16 Nov 2002 16:52:57 -0600 Subject: [Idle-dev] What is IDLE GRPC? In-Reply-To: References: Message-ID: <200211161652.57129.pobrien@orbtech.com> On Saturday 16 November 2002 04:30 pm, Brett Cannon wrote: > I am currently preparing the next python-dev Summary and I mention > something that Guido said about IDLE GRPC. Unfortunately I don't > know what that is. =) Googling didn't help. Any info would be > greatly appreciated. I believe it stands for Generalized Remote Procedure Call and that it refers to the technique used in the current IDLE Fork. -- Patrick K. O'Brien Orbtech http://www.orbtech.com/web/pobrien ----------------------------------------------- "Your source for Python programming expertise." ----------------------------------------------- From noreply@sourceforge.net Sun Nov 17 17:41:33 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 17 Nov 2002 09:41:33 -0800 Subject: [Idle-dev] [ idlefork-Bugs-611110 ] Integrate Macs into Config System Message-ID: Bugs item #611110, was opened at 2002-09-18 14:20 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=611110&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Kurt B. Kaiser (kbk) Assigned to: Tony Lownds (tonylownds) Summary: Integrate Macs into Config System Initial Comment: Python-idle config-mac.txt needs to be integrated into the new configuration system. ---------------------------------------------------------------------- >Comment By: Tony Lownds (tonylownds) Date: 2002-11-17 17:41 Message: Logged In: YES user_id=24100 I think this has been done. I'd like to close this bug. Let me know if there is something specific to fix. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=611110&group_id=9579 From noreply@sourceforge.net Sun Nov 17 22:40:45 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 17 Nov 2002 14:40:45 -0800 Subject: [Idle-dev] [ idlefork-Bugs-611110 ] Integrate Macs into Config System Message-ID: Bugs item #611110, was opened at 2002-09-18 09:20 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=611110&group_id=9579 Category: None Group: None >Status: Closed Resolution: None Priority: 5 Submitted By: Kurt B. Kaiser (kbk) Assigned to: Tony Lownds (tonylownds) Summary: Integrate Macs into Config System Initial Comment: Python-idle config-mac.txt needs to be integrated into the new configuration system. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2002-11-17 17:40 Message: Logged In: YES user_id=149084 Tony, thanks for your work on this! Closed! ---------------------------------------------------------------------- Comment By: Tony Lownds (tonylownds) Date: 2002-11-17 12:41 Message: Logged In: YES user_id=24100 I think this has been done. I'd like to close this bug. Let me know if there is something specific to fix. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=611110&group_id=9579 From noreply@sourceforge.net Sun Nov 17 22:43:01 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 17 Nov 2002 14:43:01 -0800 Subject: [Idle-dev] [ idlefork-Bugs-629983 ] SyntaxError in module reported poorly Message-ID: Bugs item #629983, was opened at 2002-10-28 12:24 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629983&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: SyntaxError in module reported poorly Initial Comment: When an imported module contains a syntax error, the traceback doesn't properly show the line with the error. Example: >>> import foo Traceback (most recent call last): File "", line 1, in ? import foo SyntaxError: invalid syntax ('foo.py', 1, 3, '1/\n') >>> The regular Python interpreter reports this: Traceback (most recent call last): File "", line 1, in ? File "foo.py", line 1 1/ ^ SyntaxError: invalid syntax >>> And IDLE 0.8 similarly: >>> import foo Traceback (most recent call last): File "", line 1, in ? import foo File "/home/guido/trunk/Tools/idle/foo.py", line 1 1/ ^ SyntaxError: invalid syntax >>> ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629983&group_id=9579 From noreply@sourceforge.net Sun Nov 17 22:43:01 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 17 Nov 2002 14:43:01 -0800 Subject: [Idle-dev] [ idlefork-Bugs-629978 ] No >>> prompt after syntax error Message-ID: Bugs item #629978, was opened at 2002-10-28 12:20 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629978&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: No >>> prompt after syntax error Initial Comment: After a syntax error in an immediate command is reported by the Python Shell window, it forgets to print the >>> prompt. Example: >>> 1/ SyntaxError: invalid syntax (no >>> prompt follows). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629978&group_id=9579 From noreply@sourceforge.net Sun Nov 17 22:43:31 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 17 Nov 2002 14:43:31 -0800 Subject: [Idle-dev] [ idlefork-Bugs-629985 ] Slow output Message-ID: Bugs item #629985, was opened at 2002-10-28 12:28 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629985&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 4 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Nobody/Anonymous (nobody) Summary: Slow output Initial Comment: When a program writes many small amounts of text to sys.stdout, the RPC package really seems to slow things down. Perhaps the RPC mechanism can be extended with a special case for "no-return" method calls, where the client doesn't wait for a response and the server doesn't send one. (This should only be done for functions that aren't expected to return a value or raise an exception, of course.) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629985&group_id=9579 From noreply@sourceforge.net Sun Nov 17 22:43:31 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 17 Nov 2002 14:43:31 -0800 Subject: [Idle-dev] [ idlefork-Bugs-629986 ] Doesn't work with pythonw.exe Message-ID: Bugs item #629986, was opened at 2002-10-28 12:31 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629986&group_id=9579 Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Submitted By: Guido van Rossum (gvanrossum) Assigned to: Nobody/Anonymous (nobody) Summary: Doesn't work with pythonw.exe Initial Comment: When I try to start IDLE using Pythonw.exe, IDLE doesn't seem to start; no window ever pops up. I think it's because of the debug messages written to the real stdout or stderr, but it could be deeper. (I only tested this on Win98.) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629986&group_id=9579 From kbk@users.sourceforge.net Thu Nov 21 03:02:19 2002 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Wed, 20 Nov 2002 19:02:19 -0800 Subject: [Idle-dev] CVS: idle SearchDialogBase.py,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv6486 Modified Files: SearchDialogBase.py Log Message: Apply Nicolas Riley's Patch. [ 634250 ] SearchDialogBase.py fix for Tk 8.4.1 SearchDialogBase refers to the grid 'col' option considered ambiguous with Python 2.2.2 and Tk 8.4.1. The correct name is 'column'. Index: SearchDialogBase.py =================================================================== RCS file: /cvsroot/idlefork/idle/SearchDialogBase.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** SearchDialogBase.py 6 Nov 2002 02:18:45 -0000 1.5 --- SearchDialogBase.py 21 Nov 2002 03:02:17 -0000 1.6 *************** *** 52,58 **** def make_entry(self, label, var): l = Label(self.top, text=label) ! l.grid(row=self.row, col=0, sticky="nw") e = Entry(self.top, textvariable=var, exportselection=0) ! e.grid(row=self.row, col=1, sticky="nwe") self.row = self.row + 1 return e --- 52,58 ---- def make_entry(self, label, var): l = Label(self.top, text=label) ! l.grid(row=self.row, column=0, sticky="nw") e = Entry(self.top, textvariable=var, exportselection=0) ! e.grid(row=self.row, column=1, sticky="nwe") self.row = self.row + 1 return e *************** *** 61,67 **** if labeltext: l = Label(self.top, text=labeltext) ! l.grid(row=self.row, col=0, sticky="nw") f = Frame(self.top) ! f.grid(row=self.row, col=1, columnspan=1, sticky="nwe") self.row = self.row + 1 return f --- 61,67 ---- if labeltext: l = Label(self.top, text=labeltext) ! l.grid(row=self.row, column=0, sticky="nw") f = Frame(self.top) ! f.grid(row=self.row, column=1, columnspan=1, sticky="nwe") self.row = self.row + 1 return f *************** *** 135,139 **** # place button frame on the right f = self.buttonframe = Frame(self.top) ! f.grid(row=0,col=2,padx=2,pady=2,ipadx=2,ipady=2) b = self.make_button("close", self.close) --- 135,139 ---- # place button frame on the right f = self.buttonframe = Frame(self.top) ! f.grid(row=0,column=2,padx=2,pady=2,ipadx=2,ipady=2) b = self.make_button("close", self.close) From noreply@sourceforge.net Thu Nov 21 03:04:43 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 20 Nov 2002 19:04:43 -0800 Subject: [Idle-dev] [ idlefork-Patches-634250 ] SearchDialogBase.py fix for Tk 8.4.1 Message-ID: Patches item #634250, was opened at 2002-11-05 23:33 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=634250&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Nicholas Riley (nriley) >Assigned to: Kurt B. Kaiser (kbk) Summary: SearchDialogBase.py fix for Tk 8.4.1 Initial Comment: SearchDialogBase refers to the grid 'col' option considered ambiguous with Python 2.2.2 and Tk 8.4.1. The correct name is 'column'. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2002-11-20 22:04 Message: Logged In: YES user_id=149084 SearchDialogBase.py Rev 1.6 ---------------------------------------------------------------------- Comment By: Nicholas Riley (nriley) Date: 2002-11-05 23:35 Message: Logged In: YES user_id=34933 Without this patch, you can't use the search/replace functions; you get an error and an empty frame ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=634250&group_id=9579 From noreply@sourceforge.net Thu Nov 28 18:15:58 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 28 Nov 2002 10:15:58 -0800 Subject: [Idle-dev] [ idlefork-Bugs-645371 ] AquaTk OS X Tooltip greedy with focus Message-ID: Bugs item #645371, was opened at 2002-11-28 10:15 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=645371&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: AquaTk OS X Tooltip greedy with focus Initial Comment: environment: OS X 10.2.1, Python 2.3a0, AquaTclTkBI-8.4.1, idlefork-0.8.1 When user opens a parenthesis in the Python Interpreter window, a tooltip appears as a coding aid. However, no key presses are effective in closing it and the user has to click on it with a mouse in order to return focus to the interpreter window in order to continue entering text. This becomes clumsy, slowing down typing, and rapidly irritates the user ;-) This may be a bug in AquaTk but I don't know. I figured you are in a better position to decide if it is idlefork or AquaTclTk. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=645371&group_id=9579 From noreply@sourceforge.net Fri Nov 29 03:45:10 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Thu, 28 Nov 2002 19:45:10 -0800 Subject: [Idle-dev] [ idlefork-Bugs-645371 ] AquaTk OS X Tooltip greedy with focus Message-ID: Bugs item #645371, was opened at 2002-11-28 13:15 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=645371&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: AquaTk OS X Tooltip greedy with focus Initial Comment: environment: OS X 10.2.1, Python 2.3a0, AquaTclTkBI-8.4.1, idlefork-0.8.1 When user opens a parenthesis in the Python Interpreter window, a tooltip appears as a coding aid. However, no key presses are effective in closing it and the user has to click on it with a mouse in order to return focus to the interpreter window in order to continue entering text. This becomes clumsy, slowing down typing, and rapidly irritates the user ;-) This may be a bug in AquaTk but I don't know. I figured you are in a better position to decide if it is idlefork or AquaTclTk. ---------------------------------------------------------------------- >Comment By: Guido van Rossum (gvanrossum) Date: 2002-11-28 22:45 Message: Logged In: YES user_id=6380 It doesn't work that way on other platforms, so I think the focus change is due to an AquaTk bug. There's a config option to disable the popup window, at least in standard Python's IDLE version (I suppose it exists in IDLEFORK too, but I don't know where). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=645371&group_id=9579 From kbk@shore.net Fri Nov 29 04:05:21 2002 From: kbk@shore.net (Kurt B. Kaiser) Date: 28 Nov 2002 23:05:21 -0500 Subject: [Idle-dev] What is IDLE GRPC? In-Reply-To: <200211161652.57129.pobrien@orbtech.com> References: <200211161652.57129.pobrien@orbtech.com> Message-ID: "Patrick K. O'Brien" writes: > On Saturday 16 November 2002 04:30 pm, Brett Cannon wrote: > > I am currently preparing the next python-dev Summary and I mention > > something that Guido said about IDLE GRPC. Unfortunately I don't > > know what that is. =) Googling didn't help. Any info would be > > greatly appreciated. > > I believe it stands for Generalized Remote Procedure Call and that it > refers to the technique used in the current IDLE Fork. Guido's RPC :) Googling should be fixed shortly :) KBK From noreply@sourceforge.net Fri Nov 29 17:43:14 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Fri, 29 Nov 2002 09:43:14 -0800 Subject: [Idle-dev] [ idlefork-Bugs-645371 ] AquaTk OS X Tooltip greedy with focus Message-ID: Bugs item #645371, was opened at 2002-11-28 18:15 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=645371&group_id=9579 Category: None Group: None >Status: Closed >Resolution: Out of Date Priority: 5 Submitted By: Nobody/Anonymous (nobody) >Assigned to: Tony Lownds (tonylownds) Summary: AquaTk OS X Tooltip greedy with focus Initial Comment: environment: OS X 10.2.1, Python 2.3a0, AquaTclTkBI-8.4.1, idlefork-0.8.1 When user opens a parenthesis in the Python Interpreter window, a tooltip appears as a coding aid. However, no key presses are effective in closing it and the user has to click on it with a mouse in order to return focus to the interpreter window in order to continue entering text. This becomes clumsy, slowing down typing, and rapidly irritates the user ;-) This may be a bug in AquaTk but I don't know. I figured you are in a better position to decide if it is idlefork or AquaTclTk. ---------------------------------------------------------------------- >Comment By: Tony Lownds (tonylownds) Date: 2002-11-29 17:43 Message: Logged In: YES user_id=24100 This is fixed in revision 1.5 of CallTipWindow.py, which is after the 0.8.1 release. Grab idlefork from CVS and your irritations will go away! ---------------------------------------------------------------------- Comment By: Guido van Rossum (gvanrossum) Date: 2002-11-29 03:45 Message: Logged In: YES user_id=6380 It doesn't work that way on other platforms, so I think the focus change is due to an AquaTk bug. There's a config option to disable the popup window, at least in standard Python's IDLE version (I suppose it exists in IDLEFORK too, but I don't know where). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=645371&group_id=9579 From noreply@sourceforge.net Fri Nov 29 18:47:25 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Fri, 29 Nov 2002 10:47:25 -0800 Subject: [Idle-dev] [ idlefork-Patches-645797 ] subprocess code changes for Mac OS X Message-ID: Patches item #645797, was opened at 2002-11-29 18:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=645797&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Tony Lownds (tonylownds) Assigned to: Tony Lownds (tonylownds) Summary: subprocess code changes for Mac OS X Initial Comment: Another applet mechanism has been developed for Python on Mac OS X and trying to use the -c "__import__('run').main()" trick is just not working. This patch adds a new file which should be used as the startup file for Mac OS X. That startup file understands a -p option, which when seen will start run.main() When running as an applet, this seems like the best approach. I want to try a few more cases before commiting this code, and also give any objections a chance to surface. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=645797&group_id=9579 From tony@lownds.com Fri Nov 29 19:17:17 2002 From: tony@lownds.com (Tony Lownds) Date: Fri, 29 Nov 2002 11:17:17 -0800 Subject: [Idle-dev] Anticipated changes for Mac OS X Message-ID: Hi idle-devers, Another applet mechanism has come up on Mac OS X, and it requires more changes to the way the subprocess for GRPC is launched. I've posted a patch and assigned it to myself, if you care about that area of the code, please check it out. One controversial item - I'm adding support for 2.2 back by using this piece of code in the script to launch idle: # Make sure True, False, bool() builtins exist. # - preserves 2.2 compatibility - 2.2.1 includes bool, 2.2 does not. # - important for Mac OS X because it ships python 2.2 try: True except NameError: __builtins__.True = 1 __builtins__.False = 0 from operator import truth __builtins__.bool = truth p.s. when is the big merge-with-python happening? -Tony From kbk@users.sourceforge.net Fri Nov 29 22:10:56 2002 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 29 Nov 2002 14:10:56 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.32,1.33 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv11811 Modified Files: PyShell.py Log Message: Correct an error introduced at Rev 1.30. The keyword arg is necessary to freeze the value of orig_checkcache. Otherwise infinite recursion. Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** PyShell.py 4 Nov 2002 23:39:45 -0000 1.32 --- PyShell.py 29 Nov 2002 22:10:53 -0000 1.33 *************** *** 46,58 **** warnings.showwarning = idle_showwarning ! def linecache_checkcache(): """Extend linecache.checkcache to preserve the entries ! Rather than repeating the linecache code, patch it by saving the pyshell# ! entries, call linecache.checkcache(), and then restore the saved ! entries. """ - orig_checkcache=linecache.checkcache cache = linecache.cache save = {} --- 46,59 ---- warnings.showwarning = idle_showwarning ! def extended_linecache_checkcache(orig_checkcache=linecache.checkcache): """Extend linecache.checkcache to preserve the entries ! Rather than repeating the linecache code, patch it to save the pyshell# ! entries, call the original linecache.checkcache(), and then restore the ! saved entries. Assigning the orig_checkcache keyword arg freezes its value ! at definition time to the (original) method linecache.checkcache(), i.e. ! makes orig_checkcache lexical. """ cache = linecache.cache save = {} *************** *** 63,67 **** cache.update(save) ! linecache.checkcache = linecache_checkcache --- 64,69 ---- cache.update(save) ! # Patch linecache.checkcache(): ! linecache.checkcache = extended_linecache_checkcache From guido@python.org Sat Nov 30 01:39:39 2002 From: guido@python.org (Guido van Rossum) Date: Fri, 29 Nov 2002 20:39:39 -0500 Subject: [Idle-dev] Anticipated changes for Mac OS X In-Reply-To: Your message of "Fri, 29 Nov 2002 11:17:17 PST." References: Message-ID: <200211300139.gAU1ddn10012@pcp02138704pcs.reston01.va.comcast.net> > p.s. when is the big merge-with-python happening? I'm ready once IDLEFORK has done an alpha release. --Guido van Rossum (home page: http://www.python.org/~guido/) From noreply@sourceforge.net Sat Nov 30 01:45:40 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Fri, 29 Nov 2002 17:45:40 -0800 Subject: [Idle-dev] [ idlefork-Patches-645797 ] subprocess code changes for Mac OS X Message-ID: Patches item #645797, was opened at 2002-11-29 13:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=645797&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Tony Lownds (tonylownds) Assigned to: Tony Lownds (tonylownds) Summary: subprocess code changes for Mac OS X Initial Comment: Another applet mechanism has been developed for Python on Mac OS X and trying to use the -c "__import__('run').main()" trick is just not working. This patch adds a new file which should be used as the startup file for Mac OS X. That startup file understands a -p option, which when seen will start run.main() When running as an applet, this seems like the best approach. I want to try a few more cases before commiting this code, and also give any objections a chance to surface. ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2002-11-29 20:45 Message: Logged In: YES user_id=149084 Since the processing of the Mac subprocess arg list is getting lengthy, it makes sense to factor it. I'd suggest a verb, for example, build_subprocess_arglist(). The patch contains two ideas and the font filter should be a separate check-in. It's a reasonable start but it would be nice if there was a button on the config dialog which would set this option. Default could be Enabled. That way in the 'rare' case the user might find his 'problem' faster. Even better, default it off except for Mac :) The Python project likes context diffs! I'm making changes to PyShell.py but they shouldn't interfere with yours. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=645797&group_id=9579 From kbk@shore.net Sat Nov 30 02:36:50 2002 From: kbk@shore.net (Kurt B. Kaiser) Date: 29 Nov 2002 21:36:50 -0500 Subject: [Idle-dev] Anticipated changes for Mac OS X References: <200211300139.gAU1ddn10012@pcp02138704pcs.reston01.va.comcast.net> Message-ID: Guido van Rossum writes: > > p.s. when is the big merge-with-python happening? > > I'm ready once IDLEFORK has done an alpha release. I think I need to work through the bugs that you have submitted and then I will do the Alpha release. I'm making good progress on the SyntaxError issues. The throughput issue may have to wait until after Alpha, it's more important to get more eyes. Other critical/major issues may turn up in Alpha requiring a second Alpha round before Beta. I've stopped introducing new features. Chui Tey's breakpoint persistence check-in has brought the debugger to a reasonable state of usefulness. I believe we can wait for Tony's check-in before releasing the Alpha. If there are no critical feature requests in first Alpha I'd suggest freezing and going to bug fix, second Alpha, then Beta. Guido, do you still want to do the Beta? Regards, KBK From kbk@users.sourceforge.net Sat Nov 30 06:18:02 2002 From: kbk@users.sourceforge.net (Kurt B. Kaiser) Date: Fri, 29 Nov 2002 22:18:02 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.33,1.34 rpc.py,1.8,1.9 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv24525 Modified Files: PyShell.py rpc.py Log Message: M PyShell.py M rpc.py SF Bug 629987: Idle not printing prompts following SyntaxError Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** PyShell.py 29 Nov 2002 22:10:53 -0000 1.33 --- PyShell.py 30 Nov 2002 06:17:59 -0000 1.34 *************** *** 2,5 **** --- 2,6 ---- import os + import os.path import sys import string *************** *** 25,29 **** from configHandler import idleConf import idlever - import os.path import rpc --- 26,29 ---- *************** *** 418,421 **** --- 418,422 ---- self.tkconsole.resetoutput() InteractiveInterpreter.showsyntaxerror(self, filename) + self.tkconsole.showprompt() else: self.runcode(code) *************** *** 459,479 **** text = self.tkconsole.text stuff = self.unpackerror() ! if not stuff: self.tkconsole.resetoutput() ! InteractiveInterpreter.showsyntaxerror(self, filename) ! return ! msg, lineno, offset, line = stuff ! if lineno == 1: ! pos = "iomark + %d chars" % (offset-1) else: ! pos = "iomark linestart + %d lines + %d chars" % (lineno-1, ! offset-1) ! text.tag_add("ERROR", pos) ! text.see(pos) ! char = text.get(pos) ! if char and char in IDENTCHARS: ! text.tag_add("ERROR", pos + " wordstart", pos) ! self.tkconsole.resetoutput() ! self.write("SyntaxError: %s\n" % str(msg)) def unpackerror(self): --- 460,481 ---- text = self.tkconsole.text stuff = self.unpackerror() ! if stuff: ! msg, lineno, offset, line = stuff ! if lineno == 1: ! pos = "iomark + %d chars" % (offset-1) ! else: ! pos = "iomark linestart + %d lines + %d chars" % \ ! (lineno-1, offset-1) ! text.tag_add("ERROR", pos) ! text.see(pos) ! char = text.get(pos) ! if char and char in IDENTCHARS: ! text.tag_add("ERROR", pos + " wordstart", pos) self.tkconsole.resetoutput() ! self.write("SyntaxError: %s\n" % str(msg)) else: ! self.tkconsole.resetoutput() ! InteractiveInterpreter.showsyntaxerror(self, filename) ! self.tkconsole.showprompt() def unpackerror(self): Index: rpc.py =================================================================== RCS file: /cvsroot/idlefork/idle/rpc.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** rpc.py 10 Oct 2002 08:25:24 -0000 1.8 --- rpc.py 30 Nov 2002 06:18:00 -0000 1.9 *************** *** 91,95 **** class SocketIO: ! debugging = 0 def __init__(self, sock, objtable=None, debugging=None): --- 91,95 ---- class SocketIO: ! debugging = False def __init__(self, sock, objtable=None, debugging=None): *************** *** 190,193 **** --- 190,194 ---- def asyncreturn(self, seq): response = self.getresponse(seq) + self.debug("asyncreturn:", response) return self.decoderesponse(response) From noreply@sourceforge.net Sat Nov 30 06:20:49 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Fri, 29 Nov 2002 22:20:49 -0800 Subject: [Idle-dev] [ idlefork-Bugs-629978 ] No >>> prompt after syntax error Message-ID: Bugs item #629978, was opened at 2002-10-28 12:20 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629978&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: No >>> prompt after syntax error Initial Comment: After a syntax error in an immediate command is reported by the Python Shell window, it forgets to print the >>> prompt. Example: >>> 1/ SyntaxError: invalid syntax (no >>> prompt follows). ---------------------------------------------------------------------- >Comment By: Kurt B. Kaiser (kbk) Date: 2002-11-30 01:20 Message: Logged In: YES user_id=149084 Pyshell.py Rev 1.34 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109579&aid=629978&group_id=9579 From basherwo@unity.ncsu.edu Sat Nov 30 14:17:43 2002 From: basherwo@unity.ncsu.edu (Bruce Sherwood) Date: Sat, 30 Nov 2002 09:17:43 -0500 Subject: [Idle-dev] Anticipated changes for Mac OS X References: <200211300139.gAU1ddn10012@pcp02138704pcs.reston01.va.comcast.net> Message-ID: <000c01c2987b$3f7d70a0$6801a8c0@hyperon> Kurt, now that you're getting close to a release, I should raise a question about a key binding on Windows that I've recently noticed. The standard binding for "select all text" in most Windows applications is ctrl-A, but it is alt-A at least in the old original idlefork. Seems like it ought to be changed to ctrl-A. Bruce Sherwood From guido@python.org Sat Nov 30 15:22:37 2002 From: guido@python.org (Guido van Rossum) Date: Sat, 30 Nov 2002 10:22:37 -0500 Subject: [Idle-dev] Anticipated changes for Mac OS X In-Reply-To: Your message of "29 Nov 2002 21:36:50 EST." References: <200211300139.gAU1ddn10012@pcp02138704pcs.reston01.va.comcast.net> Message-ID: <200211301522.gAUFMbs12279@pcp02138704pcs.reston01.va.comcast.net> > > > p.s. when is the big merge-with-python happening? > > > > I'm ready once IDLEFORK has done an alpha release. > > I think I need to work through the bugs that you have submitted and > then I will do the Alpha release. I'm making good progress on the > SyntaxError issues. The throughput issue may have to wait until after > Alpha, it's more important to get more eyes. Other critical/major > issues may turn up in Alpha requiring a second Alpha round before > Beta. > > I've stopped introducing new features. Chui Tey's breakpoint persistence > check-in has brought the debugger to a reasonable state of usefulness. Great! > I believe we can wait for Tony's check-in before releasing the Alpha. > > If there are no critical feature requests in first Alpha I'd suggest > freezing and going to bug fix, second Alpha, then Beta. > > Guido, do you still want to do the Beta? Actually, yes, I want you to do the beta. I was hoping that IDLEFORK alpha could be merged into Python 2.3a1, but that would mean you'd have to be ready for your alpha about three weeks from now. It's okay to wait until Python 2.3a2 too. Or do you think otherwise? (My own main constraint is that I have no time to do any significant Python work in the near future, and even significant thinking takes away from other deadlines. :-( ) --Guido van Rossum (home page: http://www.python.org/~guido/) From neal@metaslash.com Sat Nov 30 16:18:41 2002 From: neal@metaslash.com (Neal Norwitz) Date: Sat, 30 Nov 2002 11:18:41 -0500 Subject: [Idle-dev] Anticipated changes for Mac OS X In-Reply-To: <200211301522.gAUFMbs12279@pcp02138704pcs.reston01.va.comcast.net> References: <200211300139.gAU1ddn10012@pcp02138704pcs.reston01.va.comcast.net> <200211301522.gAUFMbs12279@pcp02138704pcs.reston01.va.comcast.net> Message-ID: <20021130161840.GC28552@epoch.metaslash.com> On Sat, Nov 30, 2002 at 10:22:37AM -0500, Guido van Rossum wrote: > > (My own main constraint is that I have no time to do any significant > Python work in the near future, and even significant thinking takes > away from other deadlines. :-( ) Guido, if you want I can merge from idlefork back into python. If you want me to do this, what would you like me to do? Here's my likely approach: * test idlefork * review diffs between idlefork and python (just to make sure nothing gets clobbered) * merge into python * test merge * commit to python I've never really used idle, so don't expect great testing from me. Neal From guido@python.org Sat Nov 30 16:44:05 2002 From: guido@python.org (Guido van Rossum) Date: Sat, 30 Nov 2002 11:44:05 -0500 Subject: [Idle-dev] Anticipated changes for Mac OS X In-Reply-To: Your message of "Sat, 30 Nov 2002 11:18:41 EST." <20021130161840.GC28552@epoch.metaslash.com> References: <200211300139.gAU1ddn10012@pcp02138704pcs.reston01.va.comcast.net> <200211301522.gAUFMbs12279@pcp02138704pcs.reston01.va.comcast.net> <20021130161840.GC28552@epoch.metaslash.com> Message-ID: <200211301644.gAUGi5d13178@pcp02138704pcs.reston01.va.comcast.net> > Guido, if you want I can merge from idlefork back into python. > If you want me to do this, what would you like me to do? > Here's my likely approach: > > * test idlefork > * review diffs between idlefork and python > (just to make sure nothing gets clobbered) > * merge into python > * test merge > * commit to python I think that it's simpler than that. We've tried to hold off on changes to Python's IDLE and AFAIK all the recent changes there have been applied to IDLEFORK already. You might want to review the recent Python IDLE CVS logs (last half year or so) to make sure that they've been applied to IDLEFORK. Comparing diffs is probably not worth it, since so much has changed in IDLEFORK. I think we should wait until Kurt is ready for his beta release before we do this, though. > I've never really used idle, so don't expect great testing from me. Maybe you can give it a try. It would be cool if it could optionally apply PyChecker to a module. There's a "Check" menu entry already; currently it just does a syntax check and a tabnanny check. --Guido van Rossum (home page: http://www.python.org/~guido/) From nnorwitz@users.sourceforge.net Sat Nov 30 17:51:43 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 09:51:43 -0800 Subject: [Idle-dev] CVS: idle MANIFEST.in,NONE,1.1 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv20462 Added Files: MANIFEST.in Log Message: Port Martin von Loewis checkin from python: Support sdist. --- NEW FILE: MANIFEST.in --- include *.txt include idle include MANIFEST.in include MANIFEST From nnorwitz@users.sourceforge.net Sat Nov 30 17:54:19 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 09:54:19 -0800 Subject: [Idle-dev] CVS: idle setup.py,1.5,1.6 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv21886 Modified Files: setup.py Log Message: Port Martin von Loewis checkin from Python: Add --check-tkinter to setup.py. Install IDLE. Fixes #634078. Index: setup.py =================================================================== RCS file: /cvsroot/idlefork/idle/setup.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** setup.py 17 Jul 2001 05:12:42 -0000 1.5 --- setup.py 30 Nov 2002 17:54:17 -0000 1.6 *************** *** 1,3 **** ! import os,glob from distutils.core import setup from distutils.command.build_py import build_py --- 1,3 ---- ! import os, glob, sys from distutils.core import setup from distutils.command.build_py import build_py *************** *** 5,8 **** --- 5,25 ---- import idlever + try: + pos = sys.argv.index("--check-tkinter") + except ValueError: + pass + else: + del sys.argv[pos] + try: + import _tkinter + except ImportError: + print >>sys.stderr, "Cannot install IDLE without _tkinter" + raise SystemExit + + try: + package_dir = os.path.join(os.environ["SRCDIR"], "Tools", "idle") + except KeyError: + package_dir = "." + # name of idle package idlelib = "idlelib" *************** *** 25,29 **** dir = os.path.dirname(outfile) self.mkpath(dir) ! self.copy_file(name, outfile, preserve_mode = 0) for name in Icons: outfile = self.get_plain_outfile(self.build_lib, --- 42,47 ---- dir = os.path.dirname(outfile) self.mkpath(dir) ! self.copy_file(os.path.join(package_dir, name), outfile, ! preserve_mode = 0) for name in Icons: outfile = self.get_plain_outfile(self.build_lib, *************** *** 36,40 **** def get_source_files(self): # returns the .py files, the .txt files, and the icons ! icons = [os.path.join("Icons",name) for name in Icons] return build_py.get_source_files(self)+txt_files+icons --- 54,59 ---- def get_source_files(self): # returns the .py files, the .txt files, and the icons ! icons = [os.path.join(package_dir, "Icons",name) for name in Icons] ! txts = [os.path.join(package_dir, name) for name in txt_files] return build_py.get_source_files(self)+txt_files+icons *************** *** 81,86 **** cmdclass = {'build_py':idle_build_py, 'install_lib':idle_install_lib}, ! package_dir = {idlelib:'.'}, packages = [idlelib], ! scripts = ['idle'] ) --- 100,105 ---- cmdclass = {'build_py':idle_build_py, 'install_lib':idle_install_lib}, ! package_dir = {idlelib: package_dir}, packages = [idlelib], ! scripts = [os.path.join(package_dir, 'idle')] ) From noreply@sourceforge.net Sat Nov 30 18:30:09 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sat, 30 Nov 2002 10:30:09 -0800 Subject: [Idle-dev] [ idlefork-Patches-645797 ] subprocess code changes for Mac OS X Message-ID: Patches item #645797, was opened at 2002-11-29 18:47 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=645797&group_id=9579 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Tony Lownds (tonylownds) Assigned to: Tony Lownds (tonylownds) Summary: subprocess code changes for Mac OS X Initial Comment: Another applet mechanism has been developed for Python on Mac OS X and trying to use the -c "__import__('run').main()" trick is just not working. This patch adds a new file which should be used as the startup file for Mac OS X. That startup file understands a -p option, which when seen will start run.main() When running as an applet, this seems like the best approach. I want to try a few more cases before commiting this code, and also give any objections a chance to surface. ---------------------------------------------------------------------- >Comment By: Tony Lownds (tonylownds) Date: 2002-11-30 18:30 Message: Logged In: YES user_id=24100 Font filtering code removed from the patch, you are right, it should be considered seperately. ---------------------------------------------------------------------- Comment By: Kurt B. Kaiser (kbk) Date: 2002-11-30 01:45 Message: Logged In: YES user_id=149084 Since the processing of the Mac subprocess arg list is getting lengthy, it makes sense to factor it. I'd suggest a verb, for example, build_subprocess_arglist(). The patch contains two ideas and the font filter should be a separate check-in. It's a reasonable start but it would be nice if there was a button on the config dialog which would set this option. Default could be Enabled. That way in the 'rare' case the user might find his 'problem' faster. Even better, default it off except for Mac :) The Python project likes context diffs! I'm making changes to PyShell.py but they shouldn't interfere with yours. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=309579&aid=645797&group_id=9579 From nnorwitz@users.sourceforge.net Sat Nov 30 18:49:12 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 10:49:12 -0800 Subject: [Idle-dev] CVS: idle PyShell.py,1.34,1.35 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv23545 Modified Files: PyShell.py Log Message: Add missing self for method call Index: PyShell.py =================================================================== RCS file: /cvsroot/idlefork/idle/PyShell.py,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -r1.34 -r1.35 *** PyShell.py 30 Nov 2002 06:17:59 -0000 1.34 --- PyShell.py 30 Nov 2002 18:49:10 -0000 1.35 *************** *** 517,521 **** # The code better not raise an exception! if self.tkconsole.executing: ! display_executing_dialog() return 0 if self.rpcclt: --- 517,521 ---- # The code better not raise an exception! if self.tkconsole.executing: ! self.display_executing_dialog() return 0 if self.rpcclt: *************** *** 528,532 **** "Override base class method" if self.tkconsole.executing: ! display_executing_dialog() return self.checklinecache() --- 528,532 ---- "Override base class method" if self.tkconsole.executing: ! self.display_executing_dialog() return self.checklinecache() From nnorwitz@users.sourceforge.net Sat Nov 30 19:04:09 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 11:04:09 -0800 Subject: [Idle-dev] CVS: idle TreeWidget.py,1.4,1.5 UndoDelegator.py,1.3,1.4 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv31047 Modified Files: TreeWidget.py UndoDelegator.py Log Message: Convert some more 1/0 to True/False Index: TreeWidget.py =================================================================== RCS file: /cvsroot/idlefork/idle/TreeWidget.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** TreeWidget.py 18 Sep 2002 03:26:47 -0000 1.4 --- TreeWidget.py 30 Nov 2002 19:04:06 -0000 1.5 *************** *** 64,68 **** self.item = item self.state = 'collapsed' ! self.selected = 0 self.children = [] self.x = self.y = None --- 64,68 ---- self.item = item self.state = 'collapsed' ! self.selected = False self.children = [] self.x = self.y = None *************** *** 91,95 **** return self.deselectall() ! self.selected = 1 self.canvas.delete(self.image_id) self.drawicon() --- 91,95 ---- return self.deselectall() ! self.selected = True self.canvas.delete(self.image_id) self.drawicon() *************** *** 99,103 **** if not self.selected: return ! self.selected = 0 self.canvas.delete(self.image_id) self.drawicon() --- 99,103 ---- if not self.selected: return ! self.selected = False self.canvas.delete(self.image_id) self.drawicon() Index: UndoDelegator.py =================================================================== RCS file: /cvsroot/idlefork/idle/UndoDelegator.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** UndoDelegator.py 18 Sep 2002 03:30:12 -0000 1.3 --- UndoDelegator.py 30 Nov 2002 19:04:07 -0000 1.4 *************** *** 58,62 **** else: self.saved = -1 ! self.can_merge = 0 self.check_saved() --- 58,62 ---- else: self.saved = -1 ! self.can_merge = False self.check_saved() *************** *** 112,116 **** self.addcmd(cmd, 0) ! def addcmd(self, cmd, execute=1): if execute: cmd.do(self.delegate) --- 112,116 ---- self.addcmd(cmd, 0) ! def addcmd(self, cmd, execute=True): if execute: cmd.do(self.delegate) *************** *** 132,136 **** if self.saved >= 0: self.saved = self.saved - 1 ! self.can_merge = 1 self.check_saved() --- 132,136 ---- if self.saved >= 0: self.saved = self.saved - 1 ! self.can_merge = True self.check_saved() *************** *** 142,146 **** cmd.undo(self.delegate) self.pointer = self.pointer - 1 ! self.can_merge = 0 self.check_saved() return "break" --- 142,146 ---- cmd.undo(self.delegate) self.pointer = self.pointer - 1 ! self.can_merge = False self.check_saved() return "break" *************** *** 153,157 **** cmd.redo(self.delegate) self.pointer = self.pointer + 1 ! self.can_merge = 0 self.check_saved() return "break" --- 153,157 ---- cmd.redo(self.delegate) self.pointer = self.pointer + 1 ! self.can_merge = False self.check_saved() return "break" *************** *** 238,254 **** def merge(self, cmd): if self.__class__ is not cmd.__class__: ! return 0 if self.index2 != cmd.index1: ! return 0 if self.tags != cmd.tags: ! return 0 if len(cmd.chars) != 1: ! return 0 if self.chars and \ self.classify(self.chars[-1]) != self.classify(cmd.chars): ! return 0 self.index2 = cmd.index2 self.chars = self.chars + cmd.chars ! return 1 alphanumeric = string.ascii_letters + string.digits + "_" --- 238,254 ---- def merge(self, cmd): if self.__class__ is not cmd.__class__: ! return False if self.index2 != cmd.index1: ! return False if self.tags != cmd.tags: ! return False if len(cmd.chars) != 1: ! return False if self.chars and \ self.classify(self.chars[-1]) != self.classify(cmd.chars): ! return False self.index2 = cmd.index2 self.chars = self.chars + cmd.chars ! return True alphanumeric = string.ascii_letters + string.digits + "_" From nnorwitz@users.sourceforge.net Sat Nov 30 19:10:21 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 11:10:21 -0800 Subject: [Idle-dev] CVS: idle tabpage.py,1.3,1.4 configHandler.py,1.25,1.26 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv2518 Modified Files: tabpage.py configHandler.py Log Message: Convert string exceptions to classes, string exceptions are deprecated Index: tabpage.py =================================================================== RCS file: /cvsroot/idlefork/idle/tabpage.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** tabpage.py 3 Jan 2002 12:02:37 -0000 1.3 --- tabpage.py 30 Nov 2002 19:10:19 -0000 1.4 *************** *** 5,8 **** --- 5,11 ---- from Tkinter import * + class InvalidTabPage(Exception): pass + class AlreadyExists(Exception): pass + class PageTab(Frame): """ *************** *** 44,48 **** self.activePage.set(pageName) else: ! raise 'Invalid TabPage Name' ## pop up the active 'tab' only for page in self.pages.keys(): --- 47,51 ---- self.activePage.set(pageName) else: ! raise InvalidTabPage, 'Invalid TabPage Name' ## pop up the active 'tab' only for page in self.pages.keys(): *************** *** 57,61 **** def AddPage(self,pageName): if pageName in self.pages.keys(): ! raise 'TabPage Name Already Exists' self.pages[pageName]={'tab':PageTab(self.tabBar), 'page':Frame(self,borderwidth=2,relief=RAISED)} --- 60,64 ---- def AddPage(self,pageName): if pageName in self.pages.keys(): ! raise AlreadyExists, 'TabPage Name Already Exists' self.pages[pageName]={'tab':PageTab(self.tabBar), 'page':Frame(self,borderwidth=2,relief=RAISED)} *************** *** 72,76 **** def RemovePage(self,pageName): if not pageName in self.pages.keys(): ! raise 'Invalid TabPage Name' self.pages[pageName]['tab'].pack_forget() self.pages[pageName]['page'].grid_forget() --- 75,79 ---- def RemovePage(self,pageName): if not pageName in self.pages.keys(): ! raise InvalidTabPage, 'Invalid TabPage Name' self.pages[pageName]['tab'].pack_forget() self.pages[pageName]['page'].grid_forget() Index: configHandler.py =================================================================== RCS file: /cvsroot/idlefork/idle/configHandler.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** configHandler.py 26 Sep 2002 22:13:22 -0000 1.25 --- configHandler.py 30 Nov 2002 19:10:19 -0000 1.26 *************** *** 12,15 **** --- 12,20 ---- from ConfigParser import ConfigParser, NoOptionError, NoSectionError + class InvalidConfigType(Exception): pass + class InvalidConfigSet(Exception): pass + class InvalidFgBg(Exception): pass + class InvalidTheme(Exception): pass + class IdleConfParser(ConfigParser): """ *************** *** 229,233 **** """ if not (configType in ('main','extensions','highlight','keys')): ! raise 'Invalid configType specified' if configSet == 'user': cfgParser=self.userCfg[configType] --- 234,238 ---- """ if not (configType in ('main','extensions','highlight','keys')): ! raise InvalidConfigType, 'Invalid configType specified' if configSet == 'user': cfgParser=self.userCfg[configType] *************** *** 235,239 **** cfgParser=self.defaultCfg[configType] else: ! raise 'Invalid configSet specified' return cfgParser.sections() --- 240,244 ---- cfgParser=self.defaultCfg[configType] else: ! raise InvalidConfigSet, 'Invalid configSet specified' return cfgParser.sections() *************** *** 263,267 **** return highlight["background"] else: ! raise 'Invalid fgBg specified' def GetThemeDict(self,type,themeName): --- 268,272 ---- return highlight["background"] else: ! raise InvalidFgBg, 'Invalid fgBg specified' def GetThemeDict(self,type,themeName): *************** *** 279,283 **** cfgParser=self.defaultCfg['highlight'] else: ! raise 'Invalid theme type specified' #foreground and background values are provded for each theme element #(apart from cursor) even though all these values are not yet used --- 284,288 ---- cfgParser=self.defaultCfg['highlight'] else: ! raise InvalidTheme, 'Invalid theme type specified' #foreground and background values are provded for each theme element #(apart from cursor) even though all these values are not yet used *************** *** 562,566 **** cfgParser=self.defaultCfg['main'] else: ! raise 'Invalid configSet specified' options=cfgParser.GetOptionList('HelpFiles') for option in options: --- 567,571 ---- cfgParser=self.defaultCfg['main'] else: ! raise InvalidConfigSet, 'Invalid configSet specified' options=cfgParser.GetOptionList('HelpFiles') for option in options: From nnorwitz@users.sourceforge.net Sat Nov 30 19:12:43 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 11:12:43 -0800 Subject: [Idle-dev] CVS: idle aboutDialog.py,1.7,1.8 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv3426 Modified Files: aboutDialog.py Log Message: Remove unused import Remove unused variables since they were the return value from grid(), which is always None Index: aboutDialog.py =================================================================== RCS file: /cvsroot/idlefork/idle/aboutDialog.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** aboutDialog.py 3 Jan 2002 12:04:01 -0000 1.7 --- aboutDialog.py 30 Nov 2002 19:12:41 -0000 1.8 *************** *** 2,10 **** about box for idle """ from Tkinter import * - import tkFont import string, os import textView import idlever class AboutDialog(Toplevel): """ --- 2,11 ---- about box for idle """ + from Tkinter import * import string, os import textView import idlever + class AboutDialog(Toplevel): """ *************** *** 67,71 **** justify=LEFT,fg=self.fg,bg=self.bg) labelLicense.grid(row=4,column=0,sticky=W,columnspan=3,padx=10,pady=5) ! framePad = Frame(frameBg,height=5,bg=self.bg).grid(row=5,column=0) labelEmail = Label(frameBg,text='email: idle-dev@python.org', justify=LEFT,fg=self.fg,bg=self.bg) --- 68,72 ---- justify=LEFT,fg=self.fg,bg=self.bg) labelLicense.grid(row=4,column=0,sticky=W,columnspan=3,padx=10,pady=5) ! Frame(frameBg,height=5,bg=self.bg).grid(row=5,column=0) labelEmail = Label(frameBg,text='email: idle-dev@python.org', justify=LEFT,fg=self.fg,bg=self.bg) *************** *** 74,80 **** justify=LEFT,fg=self.fg,bg=self.bg) labelWWW.grid(row=7,column=0,columnspan=2,sticky=W,padx=10,pady=0) ! frameDivider = Frame(frameBg,borderwidth=1,relief=SUNKEN, ! height=2,bg=self.bg).grid(row=8,column=0,sticky=(E,W),columnspan=3, ! padx=5,pady=5) labelPythonVer = Label(frameBg,text='Python version: '+ sys.version.split()[0],fg=self.fg,bg=self.bg) --- 75,81 ---- justify=LEFT,fg=self.fg,bg=self.bg) labelWWW.grid(row=7,column=0,columnspan=2,sticky=W,padx=10,pady=0) ! Frame(frameBg,borderwidth=1,relief=SUNKEN, ! height=2,bg=self.bg).grid(row=8,column=0,sticky=EW, ! columnspan=3, padx=5, pady=5) labelPythonVer = Label(frameBg,text='Python version: '+ sys.version.split()[0],fg=self.fg,bg=self.bg) From nnorwitz@users.sourceforge.net Sat Nov 30 19:18:48 2002 From: nnorwitz@users.sourceforge.net (Neal Norwitz) Date: Sat, 30 Nov 2002 11:18:48 -0800 Subject: [Idle-dev] CVS: idle ScriptBinding.py,1.10,1.11 Message-ID: Update of /cvsroot/idlefork/idle In directory sc8-pr-cvs1:/tmp/cvs-serv6871 Modified Files: ScriptBinding.py Log Message: Cleanup: * Remove unused imports * Convert some more 1/0 to True/False * Shorten up a long line Index: ScriptBinding.py =================================================================== RCS file: /cvsroot/idlefork/idle/ScriptBinding.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** ScriptBinding.py 18 Sep 2002 03:05:19 -0000 1.10 --- ScriptBinding.py 30 Nov 2002 19:18:46 -0000 1.11 *************** *** 18,24 **** """ - import sys - import os - import imp import tkMessageBox --- 18,21 ---- *************** *** 70,82 **** tabnanny.process_tokens(tokenize.generate_tokens(f.readline)) except tokenize.TokenError, msg: ! self.errorbox("Token error", ! "Token error:\n%s" % str(msg)) ! return 0 except tabnanny.NannyNag, nag: # The error messages from tabnanny are too confusing... self.editwin.gotoline(nag.get_lineno()) self.errorbox("Tab/space error", indent_message) ! return 0 ! return 1 def checksyntax(self, filename): --- 67,78 ---- tabnanny.process_tokens(tokenize.generate_tokens(f.readline)) except tokenize.TokenError, msg: ! self.errorbox("Token error", "Token error:\n%s" % msg) ! return False except tabnanny.NannyNag, nag: # The error messages from tabnanny are too confusing... self.editwin.gotoline(nag.get_lineno()) self.errorbox("Tab/space error", indent_message) ! return False ! return True def checksyntax(self, filename): *************** *** 104,108 **** self.errorbox("Syntax error", "There's an error in your program:\n" + msg) ! return 1 def run_script_event(self, event): --- 100,104 ---- self.errorbox("Syntax error", "There's an error in your program:\n" + msg) ! return True def run_script_event(self, event): From neal@metaslash.com Sat Nov 30 19:32:55 2002 From: neal@metaslash.com (Neal Norwitz) Date: Sat, 30 Nov 2002 14:32:55 -0500 Subject: [Idle-dev] cleanups Message-ID: <20021130193255.GE28552@epoch.metaslash.com> I've tried to make sure everything checked into python was also in idlefork. I've also run pychecker which resulted in some additional checkins. There are still problems, though. The most serious ones are listed below. There's lots of style issues that should be cleaned up. Is there a preference who is to do this and when? I've noticed comments and commented out code which should probably be removed. Generally, what is the status of idlefork? Is it fairly stable? Are there known major problems in particular areas? Here are some problems: * ClassBrowser.py, PathBrowser.py, StackViewer.py cannot work - ClassBrowser.main() & PathBrowser.main() both reference PyShell.flist which does not exist - StackViewer.get_stack(), self does not exist, see bug 610756 * Debugger.py, the local variable text does not exist in several places. I believe the patch below fixes this, but I'm not sure. Neal -- +++ Debugger.py 30 Nov 2002 19:18:55 -0000 @@ -309,19 +309,19 @@ def set_breakpoint_here(self, filename, lineno): msg = self.idb.set_break(filename, lineno) if msg: - text.bell() + self.pyshell.bell() return def clear_breakpoint_here(self, filename, lineno): msg = self.idb.clear_break(filename, lineno) if msg: - text.bell() + self.pyshell.bell() return def clear_file_breaks(self, filename): msg = self.idb.clear_all_file_breaks(filename) if msg: - text.bell() + self.pyshell.bell()