[ https://issues.apache.org/jira/browse/JEXL-439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Henri Biestro resolved JEXL-439. -------------------------------- Resolution: Fixed This issue is only meant for tracking; the initial report and solution are in JEXL-426. > When using reference capture, incorrect scoping when local variable shades a > captured one in stack frame. > --------------------------------------------------------------------------------------------------------- > > Key: JEXL-439 > URL: https://issues.apache.org/jira/browse/JEXL-439 > Project: Commons JEXL > Issue Type: Bug > Affects Versions: 3.5.0 > Reporter: Xu Pengcheng > Assignee: Henri Biestro > Priority: Major > Fix For: 3.5.1 > > > In relation to JEXL-426, the dynamic scope is wrongly managed when a captured > variable (ie a lexical variable defined at top-level) is overridden in a > function (same symbol is used to name local lexical variable) and this > function calls another that captures the top-level variable. > With reference capture, when a symbol is captured, the call frame ensures > captured variables are wrapped into a reference ensuring the 'pass by > reference' behavior. The culprit here is that when redefining the variable, > that new variable must be wrapped, not pass the previous one. -- This message was sent by Atlassian Jira (v8.20.10#820010)