Commit f4fc7b9
committed
gh-70999: Preserve caller vars in ExtendedInterpolation nested interpolation
ExtendedInterpolation honoured caller-supplied ``vars`` only at the first
level of interpolation. When a value referenced another option in the same
section, the recursive call rebuilt the lookup map from
``parser.items(section, raw=True)``, discarding the map that carried ``vars``.
Mirror BasicInterpolation, which threads the same ``(section, map)`` through
recursion, by reusing ``map`` when the reference stays in the current section
and only rebuilding it when crossing into another section (so ``vars`` do not
leak across sections).1 parent 1f9d20b commit f4fc7b9
3 files changed
Lines changed: 32 additions & 2 deletions
File tree
- Lib
- test
- Misc/NEWS.d/next/Library
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
550 | 554 | | |
551 | | - | |
552 | | - | |
| 555 | + | |
553 | 556 | | |
554 | 557 | | |
555 | 558 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1334 | 1334 | | |
1335 | 1335 | | |
1336 | 1336 | | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
1337 | 1361 | | |
1338 | 1362 | | |
1339 | 1363 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
0 commit comments