diff libinterp/corefcn/stack-frame.cc @ 30200:3e419a830e90

maint: merge stable to default.
author John W. Eaton <jwe@octave.org>
date Tue, 21 Sep 2021 13:32:41 -0400
parents 2bb72743d3eb 37ddca7ad9cb
children 91c6288781ba 796f54d4ddbf
line wrap: on
line diff
--- a/libinterp/corefcn/stack-frame.cc	Tue Sep 21 12:30:32 2021 -0400
+++ b/libinterp/corefcn/stack-frame.cc	Tue Sep 21 13:32:41 2021 -0400
@@ -200,7 +200,7 @@
     void set_script_offsets (void);
 
     void set_script_offsets_internal (const std::map<std::string,
-                                                     symbol_record>& symbols);
+                                      symbol_record>& symbols);
 
     void resize_and_update_script_offsets (const symbol_record& sym);
 
@@ -1866,6 +1866,11 @@
             std::map<std::string, symbol_record> tmp_symbols;
             tmp_symbols[sym.name ()] = sym;
             set_script_offsets_internal (tmp_symbols);
+
+            // set_script_offsets_internal may have modified
+            // m_lexical_frame_offsets and m_value_offsets.
+
+            frame_offset = m_lexical_frame_offsets.at (data_offset);
           }
 
         data_offset = m_value_offsets.at (data_offset);