Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
gh-121804: always show error location for SyntaxError's in basic repl#123202
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
gh-121804: always show error location for SyntaxError's in basic repl #123202
Uh oh!
There was an error while loading. Please reload this page.
Conversation
skirpichev commented Aug 21, 2024 • edited by bedevere-app bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-app bot
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as resolved.
This comment was marked as resolved.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
pablogsal commented Aug 22, 2024
Sorry @skirpichev but I think this is probably too much complexity (even if the code it's not too difficult to follow) for the fallback that it's not going to be triggered most of the time. Let me check with more core devs to get their input first @ambv@lysnikolaou what do toy think? |
* use _PyErr_GetRaisedException * and PyType_IsSubtype
Uh oh!
There was an error while loading. Please reload this page.
pablogsal commented Aug 24, 2024
If nobody answers by Wednesday next week, ping me and we can merge it. After looking at it I think it may be fine 👍 Ensure to run a bunch of ref leaks manual checks by hand, please. Unfortunately running them in the REPL it's not trivial, but yo can manually compare the output of |
skirpichev commented Aug 28, 2024
@pablogsal, I think that there is no reference leaks, but I can't justify this by sys.gettotalrefcount() output: $ PYTHON_BASIC_REPL=1 ./python -q >>> import gc, sys >>> sys.gettotalrefcount() 61809 >>> gc.collect() 106 >>> sys.gettotalrefcount() 60837 >>> deff(x, x): ... ... File "<stdin>-4", line 1 def f(x, x): ... ^ SyntaxError: duplicate argument 'x' in function definition >>> gc.collect() 0 >>> sys.gettotalrefcount() 60871 >>> gc.collect() 0 >>> sys.gettotalrefcount() 60883 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Bénédikt Tran <[email protected]>
…pichev/cpython into syntaxerr-location-basicrepl-121804
Uh oh!
There was an error while loading. Please reload this page.
Misc/NEWS.d/next/Core and Builtins/2024-08-21-15-22-53.gh-issue-121804.r5K3PS.rst Outdated Show resolvedHide resolved
Uh oh!
There was an error while loading. Please reload this page.
…e-121804.r5K3PS.rst Co-authored-by: Bénédikt Tran <[email protected]>
Uh oh!
There was an error while loading. Please reload this page.
lysnikolaou commented Aug 29, 2024
Sorry for not replying earlier. I was out on vacation. I don't have a strong opinion either way, but I agree with the sentiment that might be a bit too complex. It improves a subset of |
picnixz left a comment
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.
Personally, I think it's better for the user's experience to show syntax errors correctly, but I don't know whether the basic REPL will be used a lot or not and whether those kind of errors are shown a lot or not. So I'm +0.5.
Uh oh!
There was an error while loading. Please reload this page.
Thanks @skirpichev for the PR, and @pablogsal for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13. |
…c repl (pythonGH-123202) (cherry picked from commit 6822cb2) Co-authored-by: Sergey B Kirpichev <[email protected]>
GH-123631 is a backport of this pull request to the 3.13 branch. |
pablogsal commented Sep 3, 2024
Thanks for the pr @skirpichev and thanks @picnixz for your comments 🚀 |
hugovk commented Sep 4, 2024 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@skirpichev For next time, please could you upgrade to blurb 1.2+ so we don't get spaces in the news file path? https://discuss.python.org/t/new-blurb-1-2-please-upgrade/59159 No need to change this news file. Thanks! |
skirpichev commented Sep 4, 2024 via email
On Wed, Sep 04, 2024 at 04:15:07AM -0700, Hugo van Kemenade wrote: ***@***.*** For next time, please could you upgrade to blurb 1.2+ so we don't get spaces in the news file path? Thanks for remind this. I did upgrade of my toolchain. But, perhaps, we should update devguide to specify minimal version of blurb or enforce upgrade to latest stable version? |
hugovk commented Sep 4, 2024 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
I plan on enforcing it via CI at some point, maybe after 3.13.0 or 3.14.0a1? Something like hugovk@e4cc2f7 -> https://github.com/hugovk/cpython/actions/runs/10576194271/job/29301498185 We can't enforce a minimal blurb version as such, people can also use Blurb It (already updated to use underscores) or write them by hand. |
SyntaxErroris raised #121804