Antoine Pitrou <[EMAIL PROTECTED]> added the comment:

Here is a small script that shows various possibilities depending on how
object creation is done, and here is the output with the trunk:

rec1 stopped at 1000
rec2 stopped at 1000
rec3 stopped at 500
rec4 stopped at 334
rec5 stopped at 334
rec6 stopped at 250

With 2.5, the output is:

rec1 stopped at 1000
rec2 stopped at 1000
rec3 stopped at 500
rec4 stopped at 1000
rec5 stopped at 1000
rec6 stopped at 1000

I think we should just acknowledge that recursion count has gotten
stricter (PyObject_Call() increases it, and then PyEval_EvalFrameEx()
will increase it a second time if Python code is entered), and bump the
default recursion limit.

(the reason calling Python functions directly doesn't increase the
recursion count twice is that there are optimization shortcuts in
ceval.c to avoid calling PyObject_Call() - not the case though when
calling a type object)

Added file: http://bugs.python.org/file10930/rec.py

_______________________________________
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3373>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to