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);
}
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);
}
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);
}