Hi ironpython,
Here's your Daily Digest of new issues for project "IronPython".
In today's digest:ISSUES
1. [New comment] Make PythonHiddenAttribute public
2. [New comment] Sockets are not properly closed
3. [New comment] Discrepancy in dict __delitem__ vs CPython
4. [New comment] StackOverflow with continue from try..except
----------------------------------------------
ISSUES
1. [New comment] Make PythonHiddenAttribute public
http://ironpython.codeplex.com/workitem/33073
User jdhardy has commented on the issue:
"<p>Fixed in 5583901.</p"-----------------
2. [New comment] Sockets are not properly closed
http://ironpython.codeplex.com/workitem/33312
User jdhardy has commented on the issue:
"<p>Fixed in 6a5c1f0.</p"-----------------
3. [New comment] Discrepancy in dict __delitem__ vs CPython
http://ironpython.codeplex.com/workitem/33362
User jdhardy has commented on the issue:
"<p>Fixed in b19f90f.</p"-----------------
4. [New comment] StackOverflow with continue from try..except
http://ironpython.codeplex.com/workitem/34186
User shacktoms has commented on the issue:
"<p>I did some poking around and found that the problem seems to be this. The
generated code for an except clause includes a
"LeaveExceptionHandler" instruction. The code for the
"continue" appears to create a branch that skips this instruction.
The result is that Interpreter.HandleException never returns to
Interpreter.Run, but instead continues to execute the frame within its loop.
Then, on the next iteration, the raised Python exception causes
Interpreter.HandleException to call itself recursively. The stack thus fills
with recursive calls to Interpreter.HandleException.</p><p>I also found that
this problem also exists in ipy.exe, perhaps I didn't see it earlier because
its stack is effectively deeper (maybe this is because the stack frames are
smaller).</p><p>Because I thought the problem might arise from the "goto
nature" of "continue", and exception handling might be
different, I tried a workaround using an exception handling equivalent to the
"continue" statement. That is in excon3.py. However, this didn't
work, so it appears the problem is more pervasive than just
"continue". A workaround using a flag, placing the continue outside
the except, did work.</p><p>===excon3.py===<br>```<br>class
Continue(Exception):<br> pass</p><p>def f(j):<br> raise
Exception("test")</p><p>for j in range(1000):<br> try:<br>
try:<br> f(j)<br> except:<br> raise Continue()<br>
except Continue:<br> pass</p><p>print
"finished"<br>```<br></p"
----------------------------------------------
----------------------------------------------
You are receiving this email because you subscribed to notifications on
CodePlex.
To report a bug, request a feature, or add a comment, visit IronPython Issue
Tracker. You can unsubscribe or change your issue notification settings on
CodePlex.com.
_______________________________________________
Ironpython-users mailing list
Ironpython-users@python.org
http://mail.python.org/mailman/listinfo/ironpython-users