Mercurial > octave
changeset 28538:c09bc9e108b5 stable
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.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 07 Jul 2020 13:12:48 -0400 |
parents | 5c7572b2e045 |
children | 3e60f505f038 ea5a632b2553 |
files | libinterp/corefcn/stack-frame.cc |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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 ();