# HG changeset patch # User John W. Eaton # Date 1594141968 14400 # Node ID c09bc9e108b54ef144a7aa9511338c72fd563058 # Parent 5c7572b2e04544cfdcd193d81be41bafd6e192a9 fix lookup of variables in scripts called inside nested functions (bug #58691) * stack-frame.cc (script_stack_frame::set_script_offsets_internal): Use correct frame offset for variable references when evaluation scope is nested. (script_stack_frame::get_val_offsets_internal): Likewise. diff -r 5c7572b2e045 -r c09bc9e108b5 libinterp/corefcn/stack-frame.cc --- a/libinterp/corefcn/stack-frame.cc Sat Jul 04 23:20:24 2020 +0200 +++ b/libinterp/corefcn/stack-frame.cc Tue Jul 07 13:12:48 2020 -0400 @@ -1510,7 +1510,7 @@ size_t script_sr_data_offset = script_sr.data_offset (); m_lexical_frame_offsets.at (script_sr_data_offset) - = parent_scope_sr.frame_offset () + 1; + = parent_scope_sr.frame_offset () + count; m_value_offsets.at (script_sr_data_offset) = parent_scope_sr.data_offset (); @@ -1703,7 +1703,7 @@ found = true; symbol_record parent_scope_sr = p->second; - frame_offset = parent_scope_sr.frame_offset () + 1; + frame_offset = parent_scope_sr.frame_offset () + count; data_offset = parent_scope_sr.data_offset ();