diff src/dassl.cc @ 256:e592734b002b

[project @ 1993-12-08 23:36:33 by jwe]
author jwe
date Wed, 08 Dec 1993 23:36:43 +0000
parents a99f28f5e351
children 7ec58832918f
line wrap: on
line diff
--- a/src/dassl.cc
+++ b/src/dassl.cc
@@ -86,17 +86,28 @@
   if (dassl_fcn != NULL_TREE)
     {
       tree_constant *tmp = dassl_fcn->eval (args, 4, 1, 0);
+
       delete [] args;
+
+      if (error_state)
+	{
+	  gripe_user_supplied_eval ("dassl");
+	  return retval;
+	}
+
       if (tmp != NULL_TREE_CONST && tmp[0].is_defined ())
 	{
 	  retval = tmp[0].to_vector ();
+
 	  delete [] tmp;
+
+	  if (retval.length () == 0)
+	    gripe_user_supplied_eval ("dassl");
 	}
       else
 	{
 	  delete [] tmp;
 	  gripe_user_supplied_eval ("dassl");
-	  jump_to_top_level ();
 	}
     }