changeset: 106236:c144bf6c0ff7 user: Serhiy Storchaka date: Thu Jan 19 19:38:13 2017 +0200 files: Objects/clinic/odictobject.c.h Objects/odictobject.c description: Issue #29289: Argument Clinic generates reasonable name for the parameter "default". diff -r fe1d83fe29d6 -r c144bf6c0ff7 Objects/clinic/odictobject.c.h --- a/Objects/clinic/odictobject.c.h Thu Jan 19 19:00:30 2017 +0200 +++ b/Objects/clinic/odictobject.c.h Thu Jan 19 19:38:13 2017 +0200 @@ -46,7 +46,7 @@ static PyObject * OrderedDict_setdefault_impl(PyODictObject *self, PyObject *key, - PyObject *failobj); + PyObject *default_value); static PyObject * OrderedDict_setdefault(PyODictObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) @@ -55,13 +55,13 @@ static const char * const _keywords[] = {"key", "default", NULL}; static _PyArg_Parser _parser = {"O|O:setdefault", _keywords, 0}; PyObject *key; - PyObject *failobj = Py_None; + PyObject *default_value = Py_None; if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser, - &key, &failobj)) { + &key, &default_value)) { goto exit; } - return_value = OrderedDict_setdefault_impl(self, key, failobj); + return_value = OrderedDict_setdefault_impl(self, key, default_value); exit: return return_value; @@ -132,4 +132,4 @@ exit: return return_value; } -/*[clinic end generated code: output=f2641e1277045b59 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=84ef19e7b5db0086 input=a9049054013a1b77]*/ diff -r fe1d83fe29d6 -r c144bf6c0ff7 Objects/odictobject.c --- a/Objects/odictobject.c Thu Jan 19 19:00:30 2017 +0200 +++ b/Objects/odictobject.c Thu Jan 19 19:38:13 2017 +0200 @@ -1012,15 +1012,15 @@ OrderedDict.setdefault key: object - default as failobj: object = None + default: object = None od.get(k,d), also set od[k]=d if k not in od. [clinic start generated code]*/ static PyObject * OrderedDict_setdefault_impl(PyODictObject *self, PyObject *key, - PyObject *failobj) -/*[clinic end generated code: output=605d0f6f61ccb0a6 input=4ee5006f32f5691b]*/ + PyObject *default_value) +/*[clinic end generated code: output=97537cb7c28464b6 input=d5e940fcea7a5a67]*/ { PyObject *result = NULL; @@ -1030,9 +1030,9 @@ if (PyErr_Occurred()) return NULL; assert(_odict_find_node(self, key) == NULL); - if (PyODict_SetItem((PyObject *)self, key, failobj) >= 0) { - result = failobj; - Py_INCREF(failobj); + if (PyODict_SetItem((PyObject *)self, key, default_value) >= 0) { + result = default_value; + Py_INCREF(result); } } else { @@ -1047,9 +1047,9 @@ else if (exists) { result = PyObject_GetItem((PyObject *)self, key); } - else if (PyObject_SetItem((PyObject *)self, key, failobj) >= 0) { - result = failobj; - Py_INCREF(failobj); + else if (PyObject_SetItem((PyObject *)self, key, default_value) >= 0) { + result = default_value; + Py_INCREF(result); } }