diff src/load-path.cc @ 10066:2cd940306a06

make unwind_protect frames local
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 06 Jan 2010 13:18:41 +0100
parents 645c478aa89d
children cd96d29c5efa
line wrap: on
line diff
--- a/src/load-path.cc	Tue Jan 05 13:16:16 2010 +0100
+++ b/src/load-path.cc	Wed Jan 06 13:18:41 2010 +0100
@@ -562,7 +562,8 @@
 
   // Temporarily disable add hook.
 
-  unwind_protect::protect_var (add_hook);
+  unwind_protect frame;
+  frame.protect_var (add_hook);
 
   add_hook = 0;
 
@@ -574,8 +575,7 @@
     do_append (*i, warn);
 
   // Restore add hook and execute for all newly added directories.
-
-  unwind_protect::run ();
+  frame.run_top ();
 
   for (dir_info_list_iterator i = dir_info_list.begin ();
        i != dir_info_list.end ();
@@ -1820,9 +1820,9 @@
   if (! octave_interpreter_ready)
     return;
 
-  unwind_protect::frame_id_t uwp_frame = unwind_protect::begin_frame ();
-
-  unwind_protect::protect_var (input_from_startup_file);
+  unwind_protect frame;
+
+  frame.protect_var (input_from_startup_file);
 
   input_from_startup_file = true;
 
@@ -1832,8 +1832,6 @@
 
   if (fs.exists ())
     source_file (file, "base");
-
-  unwind_protect::run_frame (uwp_frame);
 }
 
 void