diff Python/pythonrun.c @ 24159:cb728141ae12 legacy-trunk

Fix SF Bug 564931: compile() traceback must include filename.
author Thomas Heller <theller@ctypes.org>
date Tue, 09 Jul 2002 09:23:27 +0000
parents 9456a2ccda61
children 8ee2ab4f2a2d
line wrap: on
line diff
--- a/Python/pythonrun.c	Tue Jul 09 05:25:46 2002 +0000
+++ b/Python/pythonrun.c	Tue Jul 09 09:23:27 2002 +0000
@@ -1134,7 +1134,9 @@
 {
 	node *n;
 	PyCodeObject *co;
-	n = PyParser_SimpleParseStringFlags(str, start, PARSER_FLAGS(flags));
+
+	n = PyParser_SimpleParseStringFlagsFilename(str, filename, start,
+						    PARSER_FLAGS(flags));
 	if (n == NULL)
 		return NULL;
 	co = PyNode_CompileFlags(n, filename, flags);
@@ -1147,7 +1149,8 @@
 {
 	node *n;
 	struct symtable *st;
-	n = PyParser_SimpleParseString(str, start);
+	n = PyParser_SimpleParseStringFlagsFilename(str, filename,
+						    start, 0);
 	if (n == NULL)
 		return NULL;
 	st = PyNode_CompileSymtable(n, filename);
@@ -1195,6 +1198,28 @@
 	return PyParser_SimpleParseStringFlags(str, start, 0);
 }
 
+node *
+PyParser_SimpleParseStringFlagsFilename(char *str, char *filename,
+					int start, int flags)
+{
+	node *n;
+	perrdetail err;
+
+	n = PyParser_ParseStringFlagsFilename(str, filename, 
+					      &_PyParser_Grammar,
+					      start, &err, flags);
+	if (n == NULL)
+		err_input(&err);
+	return n;
+}
+
+node *
+PyParser_SimpleParseStringFilename(char *str, char *filename, int start)
+{
+	return PyParser_SimpleParseStringFlagsFilename(str, filename,
+						       start, 0);
+}
+
 /* Set the error appropriate to the given input error code (see errcode.h) */
 
 static void