Chun-Yu Tseng added the comment:

The last patch in #21161 fixes some problems but also brings up critical issues:

(Pdb) list .
  1      y = 2
  2
  3      def f():
  4          y = 9
  5          z = 10
  6  ->     import pdb; pdb.set_trace();
  7      f()
[EOF]
(Pdb) globals()['y']
9
(Pdb) global y; print(y)
9
(Pdb) globals()['z']
10

I think that we should not copy local variables to globals()  while doing 
execution. It will always bring out the wrong result of `globals()`.

So, the patch I proposed here is focused on "Showing Friendly Error Message" to 
let the users be less confused. 


# The patch works when a user tries to bound a free variable to a list 
comprehension. It will show the proper error message, too.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26072>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to