-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
gh-127555: Document that sys.tracebacklimit can be set to None #127556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add `versionchanged` marker Closes: python#127555
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is the intended behavior. The source is here:
Line 723 in 979bf24
if (limitv && PyLong_Check(limitv)) { |
Setting to any type that isn't an integer will result in this happening. To me, seeing sys.tracebacklimit = None
looks like "no limit," not "default limit." I'm not sure we should document that.
Considering that this behavior is explicitly called out in the NEWS entries for 3.6.4 and 3.7.0a3, it sounds deliberate to me. |
If we really do want |
Please remember the issue wnd the changelog corresponding to that NEWS entry. I do no remember such issue. I most likely did not invent that behavior, but simply fixed crashes or error handling in corner cases, or/and synchronized the C and the Python implementations. L9k also at the Python code. |
Thanks, @srittau. What does the corresponding Python code do? There should be a code using |
The only instance is this: Line 458 in 8ba9f5b
So, |
Can support
(It's fix appears in another PR of mine.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I manually checked locally, and setting tracebacklimit
to None
does the same for the Python implementation (it still might be incidental, but it doesn't matter anyway). Anyways, intentional or not, this seems to be the proper behavior for both implementations of traceback, so this LGTM.
@serhiy-storchaka we no longer have C and Python implementations of the traceback formatting logic. It's all in Python now. |
Are there tests for setting it to |
There is still C code in There are tests for setting And it seems to me that setting |
I think it's vice-versa: we're testing the Python implementation, not the C-level |
Add
versionchanged
marker📚 Documentation preview 📚: https://cpython-previews--127556.org.readthedocs.build/