mirror of
https://github.com/python/cpython.git
synced 2025-07-13 14:25:18 +00:00
Fix SF Bug 564931: compile() traceback must include filename.
This commit is contained in:
parent
4254cbd29c
commit
6b17abf6c0
5 changed files with 55 additions and 4 deletions
|
@ -1134,7 +1134,9 @@ Py_CompileStringFlags(char *str, char *filename, int start,
|
|||
{
|
||||
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 @@ Py_SymtableString(char *str, char *filename, int start)
|
|||
{
|
||||
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 @@ PyParser_SimpleParseString(char *str, int start)
|
|||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue