New submission from STINNER Victor <vstin...@python.org>:
The PEP 657 introduced ^^^ in tracebacks. It is useful when the error happens on an sub-expression in a long line. Example: File "/home/vstinner/python/main/Lib/ftplib.py", line 462, in retrlines with self.transfercmd(cmd) as conn, \ ^^^^^^^^^^^^^^^^^^^^^ But ^^^ makes the output more verbose and doesn't bring much value when the error concerns the whole line: File "/home/vstinner/python/main/Lib/socket.py", line 845, in create_connection raise err ^^^^^^^^^ Would it be possible to omit ^^^ when it concerns the whole line? Full example (currently): ERROR: test_retrlines (test.test_ftplib.TestFTPClass) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/vstinner/python/main/Lib/test/test_ftplib.py", line 603, in test_retrlines self.client.retrlines('retr', received.append) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/ftplib.py", line 462, in retrlines with self.transfercmd(cmd) as conn, \ ^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/ftplib.py", line 393, in transfercmd return self.ntransfercmd(cmd, rest)[0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/ftplib.py", line 354, in ntransfercmd conn = socket.create_connection((host, port), self.timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/socket.py", line 845, in create_connection raise err ^^^^^^^^^ File "/home/vstinner/python/main/Lib/socket.py", line 833, in create_connection sock.connect(sa) ^^^^^^^^^^^^^^^^ ConnectionRefusedError: [Errno 111] Connection refused I would prefer: ERROR: test_retrlines (test.test_ftplib.TestFTPClass) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/vstinner/python/main/Lib/test/test_ftplib.py", line 603, in test_retrlines self.client.retrlines('retr', received.append) File "/home/vstinner/python/main/Lib/ftplib.py", line 462, in retrlines with self.transfercmd(cmd) as conn, \ ^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/ftplib.py", line 393, in transfercmd return self.ntransfercmd(cmd, rest)[0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/ftplib.py", line 354, in ntransfercmd conn = socket.create_connection((host, port), self.timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/vstinner/python/main/Lib/socket.py", line 845, in create_connection raise err File "/home/vstinner/python/main/Lib/socket.py", line 833, in create_connection sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused In term of release process, can we change the traceback after Python 3.10.0 final? Or can we only change it in Python 3.11? I mark the issue as a release blocker, but I let Pablo (author of the PEP and Python 3.10 release manager) decide. ---------- components: Interpreter Core messages: 400736 nosy: BTaskaya, lukasz.langa, pablogsal, vstinner priority: release blocker severity: normal status: open title: PEP 657 Fine Grained Error Locations: make the traceback less verbose when possible versions: Python 3.11 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue45063> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com