changeset 10628:d406d91aa9c3

correctly load global variables
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 13 May 2010 11:46:47 +0200
parents 8dce19c3ecf7
children b7c4954e1c00
files src/ChangeLog src/load-save.cc
diffstat 2 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue May 11 10:28:16 2010 +0200
+++ b/src/ChangeLog	Thu May 13 11:46:47 2010 +0200
@@ -1,3 +1,8 @@
+2010-05-13  Jaroslav Hajek  <highegg@gmail.com>
+
+	* load-save.cc (install_loaded_variable): Pre-extract symbol record
+	reference to do all operations. 
+
 2010-05-11  David Bateman  <dbateman@free.fr>
 
 	* ls-mat5.cc (save_mat5_element_length): Correct element length for
--- a/src/load-save.cc	Tue May 11 10:28:16 2010 +0200
+++ b/src/load-save.cc	Thu May 13 11:46:47 2010 +0200
@@ -147,9 +147,10 @@
 {
   if (global)
     {
-      symbol_table::clear (name);
-      symbol_table::mark_global (name);
-      symbol_table::global_varref (name) = val;
+      symbol_table::symbol_record& sr = symbol_table::insert (name);
+      sr.clear ();
+      sr.mark_global ();
+      sr.varref () = val;
     }
   else
     symbol_table::varref (name) = val;