diff Modules/stdwinmodule.c @ 397:4cdcc16bd080 legacy-trunk

Added __dict__ attributes all over the place.
author Guido van Rossum <guido@python.org>
date Sun, 20 Oct 1991 20:22:50 +0000
parents baada20762b0
children 34abca182f18
line wrap: on
line diff
--- a/Modules/stdwinmodule.c	Sun Oct 20 20:22:28 1991 +0000
+++ b/Modules/stdwinmodule.c	Sun Oct 20 20:22:50 1991 +0000
@@ -1039,12 +1039,18 @@
 	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 @@
 	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 @@
 	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);
 }