Atualmente, o rastreamento do identificador é muito bruto e se baseia apenas em variáveis de prefixação. A ideia seria manter algumas variáveis únicas reescritas em identificadores exclusivos que também podem ser revertidos.
Isso deve tornar desnecessário o uso de locals () em todo o código e corrigir alguns problemas com identificadores sobre os limites da função.
Como você sabe que é afetado por esse problema? Você obtém algo semelhante a "Variável não consolidada l_SOMETHING" encontrado.
De #pocoo agora mesmo:
magicbronson: hey mitsuhiko et al., trying to render a Jinja template in a Flask app and getting a very mysterious message: "global name 'l_config' is not defined"
magicbronson: l_config appears nowhere in my code or libraries'
mitsuhiko: magicbronson: that's the scoping bug that i will fix over this summer
mitsuhiko: {% macro foo() %}{{ config }}{% for config in something_else %}{{config}}{% endfor %}{% endmacro %}
mitsuhiko: something like this triggers the bug currently
mitsuhiko: magicbronson: rename the variable inside of the macro to something else
mitsuhiko: {% set cfg = config %}
mitsuhiko: outside the macro
mitsuhiko: or something
A sugestão de Armin contornou o problema.
Isso finalmente está feito.
Comentários muito úteis
Isso finalmente está feito.