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 ();