diff libinterp/corefcn/octave-link.cc @ 26117:a6df420457ac

use symbol_info_list instead of symbol_scope to pass workspace info to gui * syminfo.h (symbol_info_list::varval): New function. * octave-link.h, octave-link.cc (octave_link::set_workspace, octave_link::do_set_workspace): Pass symbol_info object instead of symbol_scope. * octave-qt-link.h, octave-qt-link.cc (octave_link::do_set_workspace): Likewise. Change all uses. Register symbol_info_list instead of symbol_scope as a Qt meta type. * workspace-model.h, workspace-model.cc: Store symbol_info_list object instead of symbol_scope.
author John W. Eaton <jwe@octave.org>
date Fri, 16 Nov 2018 19:35:39 -0500
parents 700b3f415ebe
children a6694db4bd41
line wrap: on
line diff
--- a/libinterp/corefcn/octave-link.cc	Fri Nov 16 18:40:13 2018 -0500
+++ b/libinterp/corefcn/octave-link.cc	Fri Nov 16 19:35:39 2018 -0500
@@ -36,7 +36,8 @@
 #include "oct-mutex.h"
 #include "ovl.h"
 #include "pager.h"
-#include "symscope.h"
+#include "syminfo.h"
+#include "symtab.h"
 
 static int
 octave_readline_hook (void)
@@ -69,12 +70,14 @@
   if (enabled ())
     {
       octave::symbol_table& symtab
-        = octave::__get_symbol_table__ ("octave_link::set_workspace");
+         = octave::__get_symbol_table__ ("octave_link::set_workspace");
 
-      octave::symbol_scope scope = symtab.current_scope ();
+      octave::call_stack& cs
+        = octave::__get_call_stack__ ("octave_link::set_workspace");
 
       instance->do_set_workspace (symtab.at_top_level (),
-                                  instance->debugging, scope, true);
+                                  instance->debugging,
+                                  cs.get_symbol_info (), true);
     }
 }