nightly-b4f0dbf5-ls202
Pre-releaseCI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-b4f0dbf5-ls202/index.html
LinuxServer Changes:
No changes
Remote Changes:
Fix recursion in inline plugin when item_fields shadow DB fields (#6115) (#6174)
Description
Fixes #6115.
When an inline field definition shadows a built-in database field (e.g.,
redefining track_no in item_fields), the inline plugin evaluates the
field template by constructing a dictionary of all item values.
Previously, this triggered unbounded recursion because _dict_for(obj)
re-entered __getitem__ for the same key while evaluating the computed
field.
This PR adds a per-object, per-key evaluation guard to prevent re-entry
when the same inline field is accessed during expression evaluation.
This resolves the recursion error while preserving normal computed-field
behavior.
A regression test
(TestInlineRecursion.test_no_recursion_when_inline_shadows_fixed_field)
verifies that $track_no evaluates correctly ('01') when shadowed.
To Do
-
Documentation. -
Changelog. - Tests.