@@ -109,6 +109,8 @@ def stop_here(self, frame):
109109 self .is_skipped_module (frame .f_globals .get ('__name__' )):
110110 return False
111111 if frame is self .stopframe :
112+ if self .stoplineno == - 1 :
113+ return False
112114 return frame .f_lineno >= self .stoplineno
113115 while frame is not None and frame is not self .stopframe :
114116 if frame is self .botframe :
@@ -165,10 +167,12 @@ def user_exception(self, frame, exc_info):
165167 but only if we are to stop at or just below this level."""
166168 pass
167169
168- def _set_stopinfo (self , stopframe , returnframe , stoplineno = - 1 ):
170+ def _set_stopinfo (self , stopframe , returnframe , stoplineno = 0 ):
169171 self .stopframe = stopframe
170172 self .returnframe = returnframe
171173 self .quitting = 0
174+ # stoplineno >= 0 means: stop at line >= the stoplineno
175+ # stoplineno -1 means: don't stop at all
172176 self .stoplineno = stoplineno
173177
174178 # Derived classes and clients can call the following methods
@@ -184,7 +188,7 @@ def set_until(self, frame, lineno=None):
184188
185189 def set_step (self ):
186190 """Stop after one line of code."""
187- self ._set_stopinfo (None ,None )
191+ self ._set_stopinfo (None , None )
188192
189193 def set_next (self , frame ):
190194 """Stop on the next line in or below the given frame."""
@@ -211,7 +215,7 @@ def set_trace(self, frame=None):
211215
212216 def set_continue (self ):
213217 # Don't stop except at breakpoints or when finished
214- self ._set_stopinfo (self .botframe , None )
218+ self ._set_stopinfo (self .botframe , None , - 1 )
215219 if not self .breaks :
216220 # no breakpoints; run without debugger overhead
217221 sys .settrace (None )
0 commit comments