summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/idlelib')
-rw-r--r--Lib/idlelib/Debugger.py6
-rw-r--r--Lib/idlelib/EditorWindow.py8
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/idlelib/Debugger.py b/Lib/idlelib/Debugger.py
index c030588..201715d 100644
--- a/Lib/idlelib/Debugger.py
+++ b/Lib/idlelib/Debugger.py
@@ -82,6 +82,7 @@ class Debugger:
edit_windows = self.pyshell.flist.inversedict.keys()
for window in edit_windows:
window.text.tag_remove("BREAK", 1.0, END)
+ window.break_set = False
# Clean up pyshell if user clicked debugger control close widget.
# (Causes a harmless extra cycle through close_debugger() if user
# toggled debugger from pyshell Debug menu)
@@ -323,6 +324,7 @@ class Debugger:
text.bell()
return
text.tag_add("BREAK", "insert linestart", "insert lineend +1char")
+ edit.break_set = True
def clear_breakpoint_here(self, edit):
text = edit.text
@@ -337,6 +339,7 @@ class Debugger:
return
text.tag_remove("BREAK", "insert linestart",\
"insert lineend +1char")
+ # Don't bother to track break_set status
def clear_file_breaks(self, edit):
text = edit.text
@@ -348,7 +351,8 @@ class Debugger:
if msg:
text.bell()
return
- text.tag_delete("BREAK")
+ text.tag_remove("BREAK", "1.0", END)
+ edit.break_set = False
class StackViewer(ScrolledList):
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 453e6ca..a7aa185 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -101,6 +101,7 @@ class EditorWindow:
self.top.instanceDict=flist.inversedict
self.recentFilesPath=os.path.join(idleConf.GetUserCfgDir(),
'recent-files.lst')
+ self.break_set = False
self.vbar = vbar = Scrollbar(top, name='vbar')
self.text_frame = text_frame = Frame(top)
self.text = text = Text(text_frame, name='text', padx=5, wrap=None,
@@ -631,6 +632,9 @@ class EditorWindow:
if not self.get_saved():
title = "*%s*" % title
icon = "*%s" % icon
+ if self.break_set:
+ shell = self.flist.pyshell
+ shell.interp.debugger.clear_file_breaks(self)
self.top.wm_title(title)
self.top.wm_iconname(icon)
@@ -699,8 +703,8 @@ class EditorWindow:
#print self.io.filename
if self.io.filename:
self.UpdateRecentFilesList(newFile=self.io.filename)
- shell = self.flist.pyshell
- if shell and shell.interp.debugger:
+ if self.break_set:
+ shell = self.flist.pyshell
shell.interp.debugger.clear_file_breaks(self)
WindowList.unregister_callback(self.postwindowsmenu)
if self.close_hook: