@@ -203,8 +203,14 @@ def mouse_input_wrapper(prompt=''):
203203def get_user_stdout (frame ):
204204 return frame .f_globals ['__user_stdout__' ].getvalue ()
205205
206- def get_user_globals (frame ):
206+ # at_global_scope should be true only if 'frame' represents the global scope
207+ def get_user_globals (frame , at_global_scope = False ):
207208 d = filter_var_dict (frame .f_globals )
209+ # only present in crazy_mode ...
210+ if at_global_scope and hasattr (frame , 'f_valuestack' ):
211+ for (i , e ) in enumerate (frame .f_valuestack ):
212+ d ['_tmp' + str (i + 1 )] = e
213+
208214 # also filter out __return__ for globals only, but NOT for locals
209215 if '__return__' in d :
210216 del d ['__return__' ]
@@ -215,7 +221,7 @@ def get_user_locals(frame):
215221 # only present in crazy_mode ...
216222 if hasattr (frame , 'f_valuestack' ):
217223 for (i , e ) in enumerate (frame .f_valuestack ):
218- ret ['expr_stack_ ' + str (i + 1 )] = e
224+ ret ['_tmp ' + str (i + 1 )] = e
219225
220226 return ret
221227
@@ -785,7 +791,7 @@ def create_encoded_stack_entry(cur_frame):
785791 # encode in a JSON-friendly format now, in order to prevent ill
786792 # effects of aliasing later down the line ...
787793 encoded_globals = {}
788- for (k , v ) in get_user_globals (tos [0 ]).items ():
794+ for (k , v ) in get_user_globals (tos [0 ], at_global_scope = ( self . curindex <= 1 ) ).items ():
789795 encoded_val = self .encoder .encode (v , self .get_parent_of_function )
790796 encoded_globals [k ] = encoded_val
791797
0 commit comments