Commit 3607ea3
gh-154470: Fix spurious ^J in pdb's colorized list command
pdb's `list` colorizes each source line with `_colorize_code`, which feeds it
to `_pyrepl.utils.disp_str`. `disp_str` renders control characters in caret
notation, so the trailing newline of each source line became a literal "^J".
`_print_lines` only stripped the line *after* colorizing, and rstrip() cannot
remove the embedded caret sequence.
Strip the line before colorizing, matching what `where` already does via
`format_stack_entry`. Add a test that attaches with colorize enabled, runs
`list`, and asserts no "^J" leaks into the source lines.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent d1174a4 commit 3607ea3
3 files changed
Lines changed: 59 additions & 1 deletion
File tree
- Lib
- test
- Misc/NEWS.d/next/Library
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2435 | 2435 | | |
2436 | 2436 | | |
2437 | 2437 | | |
| 2438 | + | |
| 2439 | + | |
| 2440 | + | |
| 2441 | + | |
2438 | 2442 | | |
2439 | 2443 | | |
2440 | | - | |
| 2444 | + | |
2441 | 2445 | | |
2442 | 2446 | | |
2443 | 2447 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1292 | 1292 | | |
1293 | 1293 | | |
1294 | 1294 | | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
1295 | 1345 | | |
1296 | 1346 | | |
1297 | 1347 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments