]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Added __dict__ attributes all over the place.
authorGuido van Rossum <guido@python.org>
Sun, 20 Oct 1991 20:22:50 +0000 (20:22 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 20 Oct 1991 20:22:50 +0000 (20:22 +0000)
Modules/stdwinmodule.c

index 8a652e30290ec826818d79697ed38b0e2e1fa656..f8c312e7fa5b420a9c9bf74fda9887e7282a22a1 100644 (file)
@@ -1039,12 +1039,18 @@ text_getattr(tp, name)
        textobject *tp;
        char *name;
 {
-       if (tp->t_attr != NULL) {
-               object *v = dictlookup(tp->t_attr, name);
-               if (v != NULL) {
-                       INCREF(v);
-                       return v;
-               }
+       object *v = NULL;
+       if (strcmp(name, "__dict__") == 0) {
+               v = tp->t_attr;
+               if (v == NULL)
+                       v = None;
+       }
+       else if (tp->t_attr != NULL) {
+               v = dictlookup(tp->t_attr, name);
+       }
+       if (v != NULL) {
+               INCREF(v);
+               return v;
        }
        return findmethod(text_methods, (object *)tp, name);
 }
@@ -1217,12 +1223,18 @@ menu_getattr(mp, name)
        menuobject *mp;
        char *name;
 {
-       if (mp->m_attr != NULL) {
-               object *v = dictlookup(mp->m_attr, name);
-               if (v != NULL) {
-                       INCREF(v);
-                       return v;
-               }
+       object *v = NULL;
+       if (strcmp(name, "__dict__") == 0) {
+               v = mp->m_attr;
+               if (v == NULL)
+                       v = None;
+       }
+       else if (mp->m_attr != NULL) {
+               v = dictlookup(mp->m_attr, name);
+       }
+       if (v != NULL) {
+               INCREF(v);
+               return v;
        }
        return findmethod(menu_methods, (object *)mp, name);
 }
@@ -1575,12 +1587,18 @@ window_getattr(wp, name)
        windowobject *wp;
        char *name;
 {
-       if (wp->w_attr != NULL) {
-               object *v = dictlookup(wp->w_attr, name);
-               if (v != NULL) {
-                       INCREF(v);
-                       return v;
-               }
+       object *v = NULL;
+       if (strcmp(name, "__dict__") == 0) {
+               v = wp->w_attr;
+               if (v == NULL)
+                       v = None;
+       }
+       else if (wp->w_attr != NULL) {
+               v = dictlookup(wp->w_attr, name);
+       }
+       if (v != NULL) {
+               INCREF(v);
+               return v;
        }
        return findmethod(window_methods, (object *)wp, name);
 }