Mercurial > cpython-lru_cache-weakref
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 24157:9dded6f18819 | 24159:cb728141ae12 |
|---|---|
| 1132 Py_CompileStringFlags(char *str, char *filename, int start, | 1132 Py_CompileStringFlags(char *str, char *filename, int start, |
| 1133 PyCompilerFlags *flags) | 1133 PyCompilerFlags *flags) |
| 1134 { | 1134 { |
| 1135 node *n; | 1135 node *n; |
| 1136 PyCodeObject *co; | 1136 PyCodeObject *co; |
| 1137 n = PyParser_SimpleParseStringFlags(str, start, PARSER_FLAGS(flags)); | 1137 |
| 1138 n = PyParser_SimpleParseStringFlagsFilename(str, filename, start, | |
| 1139 PARSER_FLAGS(flags)); | |
| 1138 if (n == NULL) | 1140 if (n == NULL) |
| 1139 return NULL; | 1141 return NULL; |
| 1140 co = PyNode_CompileFlags(n, filename, flags); | 1142 co = PyNode_CompileFlags(n, filename, flags); |
| 1141 PyNode_Free(n); | 1143 PyNode_Free(n); |
| 1142 return (PyObject *)co; | 1144 return (PyObject *)co; |
| 1145 struct symtable * | 1147 struct symtable * |
| 1146 Py_SymtableString(char *str, char *filename, int start) | 1148 Py_SymtableString(char *str, char *filename, int start) |
| 1147 { | 1149 { |
| 1148 node *n; | 1150 node *n; |
| 1149 struct symtable *st; | 1151 struct symtable *st; |
| 1150 n = PyParser_SimpleParseString(str, start); | 1152 n = PyParser_SimpleParseStringFlagsFilename(str, filename, |
| 1153 start, 0); | |
| 1151 if (n == NULL) | 1154 if (n == NULL) |
| 1152 return NULL; | 1155 return NULL; |
| 1153 st = PyNode_CompileSymtable(n, filename); | 1156 st = PyNode_CompileSymtable(n, filename); |
| 1154 PyNode_Free(n); | 1157 PyNode_Free(n); |
| 1155 return st; | 1158 return st; |
| 1191 | 1194 |
| 1192 node * | 1195 node * |
| 1193 PyParser_SimpleParseString(char *str, int start) | 1196 PyParser_SimpleParseString(char *str, int start) |
| 1194 { | 1197 { |
| 1195 return PyParser_SimpleParseStringFlags(str, start, 0); | 1198 return PyParser_SimpleParseStringFlags(str, start, 0); |
| 1199 } | |
| 1200 | |
| 1201 node * | |
| 1202 PyParser_SimpleParseStringFlagsFilename(char *str, char *filename, | |
| 1203 int start, int flags) | |
| 1204 { | |
| 1205 node *n; | |
| 1206 perrdetail err; | |
| 1207 | |
| 1208 n = PyParser_ParseStringFlagsFilename(str, filename, | |
| 1209 &_PyParser_Grammar, | |
| 1210 start, &err, flags); | |
| 1211 if (n == NULL) | |
| 1212 err_input(&err); | |
| 1213 return n; | |
| 1214 } | |
| 1215 | |
| 1216 node * | |
| 1217 PyParser_SimpleParseStringFilename(char *str, char *filename, int start) | |
| 1218 { | |
| 1219 return PyParser_SimpleParseStringFlagsFilename(str, filename, | |
| 1220 start, 0); | |
| 1196 } | 1221 } |
| 1197 | 1222 |
| 1198 /* Set the error appropriate to the given input error code (see errcode.h) */ | 1223 /* Set the error appropriate to the given input error code (see errcode.h) */ |
| 1199 | 1224 |
| 1200 static void | 1225 static void |
