[Python-checkins] CVS: python/dist/src/Python pythonrun.c,2.155,2.156

Neil Schemenauer nascheme@users.sourceforge.net
Fri, 22 Mar 2002 15:53:38 -0800


Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv25797/Python

Modified Files:
	pythonrun.c 
Log Message:
Disable the parser hacks that enabled the "yield" keyword using a future
statement.


Index: pythonrun.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/pythonrun.c,v
retrieving revision 2.155
retrieving revision 2.156
diff -C2 -d -r2.155 -r2.156
*** pythonrun.c	3 Mar 2002 21:30:27 -0000	2.155
--- pythonrun.c	22 Mar 2002 23:53:36 -0000	2.156
***************
*** 543,546 ****
--- 543,555 ----
  }
  
+ /* compute parser flags based on compiler flags */
+ #if 0 /* future keyword */
+ #define PARSER_FLAGS(flags) \
+ 	(((flags) && (flags)->cf_flags & CO_GENERATOR_ALLOWED) ? \
+ 		PyPARSE_YIELD_IS_KEYWORD : 0)
+ #else
+ #define PARSER_FLAGS(flags) 0
+ #endif
+ 
  int
  PyRun_InteractiveOneFlags(FILE *fp, char *filename, PyCompilerFlags *flags)
***************
*** 569,575 ****
  	n = PyParser_ParseFileFlags(fp, filename, &_PyParser_Grammar,
  			    	    Py_single_input, ps1, ps2, &err,
! 			    	    (flags &&
! 			    	     flags->cf_flags & CO_GENERATOR_ALLOWED) ?
! 			    	    	PyPARSE_YIELD_IS_KEYWORD : 0);
  	Py_XDECREF(v);
  	Py_XDECREF(w);
--- 578,582 ----
  	n = PyParser_ParseFileFlags(fp, filename, &_PyParser_Grammar,
  			    	    Py_single_input, ps1, ps2, &err,
! 			    	    PARSER_FLAGS(flags));
  	Py_XDECREF(v);
  	Py_XDECREF(w);
***************
*** 1032,1038 ****
  {
  	return run_err_node(PyParser_SimpleParseStringFlags(
! 			str, start,
! 			(flags && flags->cf_flags & CO_GENERATOR_ALLOWED) ?
! 				PyPARSE_YIELD_IS_KEYWORD : 0),
  			    "<string>", globals, locals, flags);
  }
--- 1039,1043 ----
  {
  	return run_err_node(PyParser_SimpleParseStringFlags(
! 				    str, start, PARSER_FLAGS(flags)),
  			    "<string>", globals, locals, flags);
  }
***************
*** 1051,1056 ****
  {
  	node *n = PyParser_SimpleParseFileFlags(fp, filename, start,
! 			(flags && flags->cf_flags & CO_GENERATOR_ALLOWED) ?
! 				PyPARSE_YIELD_IS_KEYWORD : 0);
  	if (closeit)
  		fclose(fp);
--- 1056,1060 ----
  {
  	node *n = PyParser_SimpleParseFileFlags(fp, filename, start,
! 						PARSER_FLAGS(flags));
  	if (closeit)
  		fclose(fp);
***************
*** 1126,1132 ****
  	node *n;
  	PyCodeObject *co;
! 	n = PyParser_SimpleParseStringFlags(str, start,
! 		(flags && flags->cf_flags & CO_GENERATOR_ALLOWED) ?
! 			PyPARSE_YIELD_IS_KEYWORD : 0);
  	if (n == NULL)
  		return NULL;
--- 1130,1134 ----
  	node *n;
  	PyCodeObject *co;
! 	n = PyParser_SimpleParseStringFlags(str, start, PARSER_FLAGS(flags));
  	if (n == NULL)
  		return NULL;