[Python-checkins] python/dist/src/Python ast.c, 1.1.2.44, 1.1.2.45 pythonrun.c, 2.161.2.9, 2.161.2.10

nascheme at users.sourceforge.net nascheme at users.sourceforge.net
Sat Mar 20 16:28:25 EST 2004


Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv989/Python

Modified Files:
      Tag: ast-branch
	ast.c pythonrun.c 
Log Message:
Handle encoding_decl nodes.  The source encoding is still
not used when parsing strings.


Index: ast.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/Attic/ast.c,v
retrieving revision 1.1.2.44
retrieving revision 1.1.2.45
diff -C2 -d -r1.1.2.44 -r1.1.2.45
*** ast.c	24 Jan 2004 19:44:12 -0000	1.1.2.44
--- ast.c	20 Mar 2004 21:28:22 -0000	1.1.2.45
***************
*** 10,14 ****
  #include <assert.h>
  
! #if 1
  #define fprintf if (0) fprintf
  #endif
--- 10,14 ----
  #include <assert.h>
  
! #if 0
  #define fprintf if (0) fprintf
[...2131 lines suppressed...]
  		for (i = 1; i < NCH(n); i++) {
  			PyObject *s;
! 			s = parsestr(STR(CHILD(n, i)));
  			if (s == NULL)
  				goto onError;
--- 2444,2457 ----
   */
  static PyObject *
! parsestrplus(struct compiling *c, const node *n)
  {
  	PyObject *v;
  	int i;
  	REQ(CHILD(n, 0), STRING);
! 	if ((v = parsestr(STR(CHILD(n, 0)), c->c_encoding)) != NULL) {
  		/* String literal concatenation */
  		for (i = 1; i < NCH(n); i++) {
  			PyObject *s;
! 			s = parsestr(STR(CHILD(n, i)), c->c_encoding);
  			if (s == NULL)
  				goto onError;

Index: pythonrun.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/pythonrun.c,v
retrieving revision 2.161.2.9
retrieving revision 2.161.2.10
diff -C2 -d -r2.161.2.9 -r2.161.2.10
*** pythonrun.c	31 Dec 2003 15:00:06 -0000	2.161.2.9
--- pythonrun.c	20 Mar 2004 21:28:22 -0000	2.161.2.10
***************
*** 620,624 ****
  	mod = PyParser_ASTFromFile(fp, filename, 
  				   Py_single_input, ps1, ps2,
! 				   PARSER_FLAGS(flags), &errcode);
  	Py_XDECREF(v);
  	Py_XDECREF(w);
--- 620,624 ----
  	mod = PyParser_ASTFromFile(fp, filename, 
  				   Py_single_input, ps1, ps2,
! 				   flags, &errcode);
  	Py_XDECREF(v);
  	Py_XDECREF(w);
***************
*** 1060,1065 ****
  		  PyObject *locals, PyCompilerFlags *flags)
  {
! 	mod_ty mod = PyParser_ASTFromString(str, "<string>", start, 
! 					    PARSER_FLAGS(flags));
  	return run_err_mod(mod, "<string>", globals, locals, flags);
  }
--- 1060,1064 ----
  		  PyObject *locals, PyCompilerFlags *flags)
  {
! 	mod_ty mod = PyParser_ASTFromString(str, "<string>", start, flags);
  	return run_err_mod(mod, "<string>", globals, locals, flags);
  }
***************
*** 1070,1074 ****
  {
  	mod_ty mod = PyParser_ASTFromFile(fp, filename, start, 0, 0,
! 					  PARSER_FLAGS(flags), NULL);
  	if (closeit)
  		fclose(fp);
--- 1069,1073 ----
  {
  	mod_ty mod = PyParser_ASTFromFile(fp, filename, start, 0, 0,
! 					  flags, NULL);
  	if (closeit)
  		fclose(fp);
***************
*** 1137,1142 ****
  	mod_ty mod;
  	PyCodeObject *co;
! 	mod = PyParser_ASTFromString(str, filename, start, 
! 				     PARSER_FLAGS(flags));
  	if (mod == NULL)
  		return NULL;
--- 1136,1140 ----
  	mod_ty mod;
  	PyCodeObject *co;
! 	mod = PyParser_ASTFromString(str, filename, start, flags);
  	if (mod == NULL)
  		return NULL;
***************
*** 1148,1156 ****
  Py_SymtableString(const char *str, const char *filename, int start)
  {
! 	/* XXX flags? */
! 
  	mod_ty mod;
  	struct symtable *st;
! 	mod = PyParser_ASTFromString(str, filename, start, 0);
  	if (mod == NULL)
  		return NULL;
--- 1146,1156 ----
  Py_SymtableString(const char *str, const char *filename, int start)
  {
! 	PyCompilerFlags local_flags;
  	mod_ty mod;
  	struct symtable *st;
! 
! 	local_flags.cf_flags = 0; /* XXX flags? */
! 
! 	mod = PyParser_ASTFromString(str, filename, start, &local_flags);
  	if (mod == NULL)
  		return NULL;
***************
*** 1162,1173 ****
  mod_ty
  PyParser_ASTFromString(const char *s, const char *filename, int start, 
! 		       int flags)
  {
  	node *n;
  	perrdetail err;
  	n = PyParser_ParseStringFlags(s, &_PyParser_Grammar, start, &err, 
! 				      flags);
  	if (n)
! 		return PyAST_FromNode(n);
  	else {
  		err_input(&err);
--- 1162,1173 ----
  mod_ty
  PyParser_ASTFromString(const char *s, const char *filename, int start, 
! 		       PyCompilerFlags *flags)
  {
  	node *n;
  	perrdetail err;
  	n = PyParser_ParseStringFlags(s, &_PyParser_Grammar, start, &err, 
! 				      PARSER_FLAGS(flags));
  	if (n)
! 		return PyAST_FromNode(n, flags);
  	else {
  		err_input(&err);
***************
*** 1178,1182 ****
  mod_ty
  PyParser_ASTFromFile(FILE *fp, const char *filename, int start, char *ps1, 
! 		     char *ps2, int flags, int *errcode)
  {
  	node *n;
--- 1178,1182 ----
  mod_ty
  PyParser_ASTFromFile(FILE *fp, const char *filename, int start, char *ps1, 
! 		     char *ps2, PyCompilerFlags *flags, int *errcode)
  {
  	node *n;
***************
*** 1184,1190 ****
  	fprintf(stderr, "filename=%s\n", filename);
  	n = PyParser_ParseFileFlags(fp, filename, &_PyParser_Grammar, start, 
! 				    ps1, ps2, &err, flags);
  	if (n)
! 		return PyAST_FromNode(n);
  	else {
  		err_input(&err);
--- 1184,1190 ----
  	fprintf(stderr, "filename=%s\n", filename);
  	n = PyParser_ParseFileFlags(fp, filename, &_PyParser_Grammar, start, 
! 				    ps1, ps2, &err, PARSER_FLAGS(flags));
  	if (n)
! 		return PyAST_FromNode(n, flags);
  	else {
  		err_input(&err);




More information about the Python-checkins mailing list