]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
If an attribute is deleted, __setattr__ is called with 2 instead of 3
authorGuido van Rossum <guido@python.org>
Tue, 16 Aug 1994 22:13:47 +0000 (22:13 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 16 Aug 1994 22:13:47 +0000 (22:13 +0000)
arguments (adding __delattr__ was deemed too much overhead)

Objects/classobject.c

index b8b72e9fd94ecdda15a9341e4c2ba6729b15e45a..a05c0bf368d7cf4340577c41178950f53af237dd 100644 (file)
@@ -459,7 +459,11 @@ instance_setattr(inst, name, v)
 {
        object *ac;
        if (inst->in_setattr != NULL) {
-               object *args = mkvalue("(sO)", name, v);
+               object *args;
+               if (v == NULL)
+                       args = mkvalue("(s)", name);
+               else
+                       args = mkvalue("(sO)", name, v);
                if (args != NULL) {
                        object *res = call_object(inst->in_setattr, args);
                        DECREF(args);