Commit da71751
authored
* gh-93883: elide traceback indicators when possible
Elide traceback column indicators when the entire line of the
frame is implicated. This reduces traceback length and draws
even more attention to the remaining (very relevant) indicators.
Example:
```
Traceback (most recent call last):
File "query.py", line 99, in <module>
bar()
File "query.py", line 66, in bar
foo()
File "query.py", line 37, in foo
magic_arithmetic('foo')
File "query.py", line 18, in magic_arithmetic
return add_counts(x) / 25
^^^^^^^^^^^^^
File "query.py", line 24, in add_counts
return 25 + query_user(user1) + query_user(user2)
^^^^^^^^^^^^^^^^^
File "query.py", line 32, in query_user
return 1 + query_count(db, response['a']['b']['c']['user'], retry=True)
~~~~~~~~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable
```
Rather than going out of our way to provide indicator coverage
in every traceback test suite, the indicator test suite should
be responible for sufficient coverage (e.g. by adding a basic
exception group test to ensure that margin strings are covered).
1 parent c9118af commit da71751
File tree
9 files changed
+113
-137
lines changed- Doc
- library
- whatsnew
- Lib
- idlelib/idle_test
- test
- Misc/NEWS.d/next/Core and Builtins
- Python
9 files changed
+113
-137
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
464 | 464 | | |
465 | 465 | | |
466 | 466 | | |
467 | | - | |
468 | 467 | | |
469 | 468 | | |
470 | 469 | | |
471 | 470 | | |
472 | | - | |
473 | 471 | | |
474 | 472 | | |
475 | | - | |
476 | 473 | | |
477 | 474 | | |
478 | 475 | | |
479 | 476 | | |
480 | 477 | | |
481 | | - | |
482 | 478 | | |
483 | 479 | | |
484 | | - | |
485 | 480 | | |
486 | 481 | | |
487 | 482 | | |
488 | 483 | | |
489 | 484 | | |
490 | 485 | | |
491 | | - | |
492 | | - | |
| 486 | + | |
| 487 | + | |
493 | 488 | | |
494 | 489 | | |
495 | 490 | | |
496 | 491 | | |
497 | 492 | | |
498 | 493 | | |
499 | 494 | | |
500 | | - | |
501 | | - | |
| 495 | + | |
| 496 | + | |
502 | 497 | | |
503 | 498 | | |
504 | 499 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
121 | 120 | | |
122 | 121 | | |
123 | 122 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
44 | 39 | | |
45 | 40 | | |
46 | 41 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
549 | 549 | | |
550 | 550 | | |
551 | 551 | | |
552 | | - | |
| 552 | + | |
553 | 553 | | |
554 | 554 | | |
555 | | - | |
| 555 | + | |
556 | 556 | | |
557 | 557 | | |
558 | 558 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2854 | 2854 | | |
2855 | 2855 | | |
2856 | 2856 | | |
2857 | | - | |
| 2857 | + | |
2858 | 2858 | | |
2859 | 2859 | | |
2860 | 2860 | | |
| |||
2876 | 2876 | | |
2877 | 2877 | | |
2878 | 2878 | | |
2879 | | - | |
2880 | 2879 | | |
2881 | 2880 | | |
2882 | | - | |
2883 | 2881 | | |
2884 | 2882 | | |
2885 | 2883 | | |
| |||
0 commit comments