diff src/ov-builtin.cc @ 4748:7b145222fea3

[project @ 2004-02-07 06:27:27 by jwe]
author jwe
date Sat, 07 Feb 2004 06:27:28 +0000
parents d44675070f1a
children 80842ad3f85c
line wrap: on
line diff
--- a/src/ov-builtin.cc	Fri Feb 06 23:56:46 2004 +0000
+++ b/src/ov-builtin.cc	Sat Feb 07 06:27:28 2004 +0000
@@ -32,6 +32,8 @@
 #include "oct-obj.h"
 #include "ov-builtin.h"
 #include "ov.h"
+#include "toplev.h"
+#include "unwind-prot.h"
 
 DEFINE_OCTAVE_ALLOCATOR (octave_builtin);
 
@@ -105,7 +107,14 @@
   if (any_arg_is_magic_colon (args))
     ::error ("invalid use of colon in function argument list");
   else
-    retval = (*f) (args, nargout);
+    {
+      unwind_protect_ptr (curr_function);
+      curr_function = this;
+
+      retval = (*f) (args, nargout);
+
+      unwind_protect::run ();
+    }
 
   return retval;
 }