@@ -126,11 +126,11 @@ def dispatch_line(self, frame):
126
126
return self .trace_dispatch
127
127
128
128
def is_coroutine (self , frame ):
129
- ## MPY: co_flags attrib not available, compatible method of detecting coroutine TBD
129
+ ## MPY: co_flags attrib not available, compatible method of detecting coroutine TBD
130
130
# return frame.f_code.co_flags & GENERATOR_AND_COROUTINE_FLAGS
131
131
return False
132
132
133
-
133
+
134
134
def dispatch_call (self , frame , arg ):
135
135
"""Invoke user function and return trace function for call event.
136
136
@@ -321,9 +321,8 @@ def set_step(self):
321
321
# for performance reasons) when returning from the current frame.
322
322
if self .frame_returning :
323
323
caller_frame = self .frame_returning .f_back
324
- ## MPY: f_trace attrib not yet available
325
- # if caller_frame and not caller_frame.f_trace:
326
- # caller_frame.f_trace = self.trace_dispatch
324
+ if caller_frame and not caller_frame .f_trace :
325
+ caller_frame .f_trace = self .trace_dispatch
327
326
self ._set_stopinfo (None , None )
328
327
329
328
def set_next (self , frame ):
@@ -345,11 +344,10 @@ def set_trace(self, frame=None):
345
344
if frame is None :
346
345
frame = sys ._getframe (1 )
347
346
self .reset ()
348
- ## MPY: f_trace attrib not yet available
349
- # while frame:
350
- # frame.f_trace = self.trace_dispatch
351
- # self.botframe = frame
352
- # frame = frame.f_back
347
+ while frame :
348
+ frame .f_trace = self .trace_dispatch
349
+ self .botframe = frame
350
+ frame = frame .f_back
353
351
self .set_step ()
354
352
sys .settrace (self .trace_dispatch )
355
353
@@ -365,10 +363,9 @@ def set_continue(self):
365
363
sys .settrace (None )
366
364
## MPY: was sys._getframe().f_back but f_back missing when inside trace dispatch functions
367
365
frame = sys ._getframe (1 )
368
- ## MPY: f_trace attrib not yet available
369
- # while frame and frame is not self.botframe:
370
- # del frame.f_trace
371
- # frame = frame.f_back
366
+ while frame and frame is not self .botframe :
367
+ del frame .f_trace
368
+ frame = frame .f_back
372
369
373
370
def set_quit (self ):
374
371
"""Set quitting attribute to True.
0 commit comments