diff src/oct-parse.yy @ 10130:0c3609dd34cf

oct-parse.yy (eval_string): save and set reading_{script,fcn,classdef}_file vars
author John W. Eaton <jwe@octave.org>
date Mon, 18 Jan 2010 16:04:09 -0500
parents 6f79338c269b
children cd96d29c5efa
line wrap: on
line diff
--- a/src/oct-parse.yy	Mon Jan 18 14:14:08 2010 +0100
+++ b/src/oct-parse.yy	Mon Jan 18 16:04:09 2010 -0500
@@ -1399,7 +1399,8 @@
 			YYABORT;
 		      }
 
-		    if (! reading_fcn_file && ! reading_script_file)
+		    if (! (reading_fcn_file || reading_script_file
+                           || get_input_from_eval_string))
 		      {
 			yyerror ("function body open at end of input");
 			YYABORT;
@@ -4167,6 +4168,9 @@
   frame.protect_var (max_function_depth);
   frame.protect_var (parsing_subfunctions);
   frame.protect_var (endfunction_found);
+  frame.protect_var (reading_fcn_file);
+  frame.protect_var (reading_script_file);
+  frame.protect_var (reading_classdef_file);
 
   input_line_number = 1;
   current_input_column = 1;
@@ -4178,6 +4182,9 @@
   max_function_depth = 0;
   parsing_subfunctions = false;
   endfunction_found = false;
+  reading_fcn_file = false;
+  reading_script_file = false;
+  reading_classdef_file = false;
 
   current_eval_string = s;