diff options
| author | Guido van Rossum <guido@python.org> | 2002-08-16 02:48:11 +0000 |
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 2002-08-16 02:48:11 +0000 |
| commit | 9d1264d510fcc0540dff9e17c359daf01a63f3a1 (patch) | |
| tree | 4b1ed1aa06a4d4538eccfa971dee8a38178a8f1c /Python/compile.c | |
| parent | 1bad57b0435f3f5786a3ec2de06ae6a530ace10e (diff) | |
| download | cpython-9d1264d510fcc0540dff9e17c359daf01a63f3a1.tar.gz | |
Add warnings for arguments named None. All set. (I could add a
warning for 'global None', but that's either accompanied by an
assignment to None, which will trigger a warning, or not, in which
case it's harmless. :-)
Diffstat (limited to 'Python/compile.c')
| -rw-r--r-- | Python/compile.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Python/compile.c b/Python/compile.c index 0edbc528d3..0109fe539c 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -5025,6 +5025,14 @@ symtable_add_def(struct symtable *st, char *name, int flag) char buffer[MANGLE_LEN]; int ret; + /* Warn about None, except inside a tuple (where the assignment + code already issues a warning). */ + if ((flag & DEF_PARAM) && !(flag & DEF_INTUPLE) && + *name == 'N' && strcmp(name, "None") == 0) + { + if (symtable_warn(st, "argument named None")) + return -1; + } if (_Py_Mangle(st->st_private, name, buffer, sizeof(buffer))) name = buffer; if ((s = PyString_InternFromString(name)) == NULL) @@ -5310,7 +5318,7 @@ symtable_funcdef(struct symtable *st, node *n) } /* The next two functions parse the argument tuple. - symtable_default_arg() checks for names in the default arguments, + symtable_default_args() checks for names in the default arguments, which are references in the defining scope. symtable_params() parses the parameter names, which are defined in the function's body. |
