diff options
-rw-r--r-- | Python/compile.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Python/compile.c b/Python/compile.c index 0ecf69c..ad58606 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1779,6 +1779,13 @@ com_global_stmt(c, n) /* 'global' NAME (',' NAME)* */ for (i = 1; i < NCH(n); i += 2) { char *s = STR(CHILD(n, i)); +#ifdef PRIVATE_NAME_MANGLING + char buffer[256]; + if (s != NULL && s[0] == '_' && s[1] == '_' && + c->c_private != NULL && + com_mangle(c, s, buffer, (int)sizeof(buffer))) + s = buffer; +#endif if (dictlookup(c->c_locals, s) != NULL) { err_setstr(SyntaxError, "name is local and global"); c->c_errors++; |