# Patch for defined?(C && 0) / defined?(super())

**URL:** <https://www.ruby-forum.com/t/patch-for-defined-c-0-defined-super/136659>\
**Category:** Development\
**Created:** [May 5, 2008, 9:43am UTC](https://www.ruby-forum.com/t/patch-for-defined-c-0-defined-super/136659 "2008-05-05T09:43:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![wanabe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/51bf81/32.png) [@wanabe](https://www.ruby-forum.com/u/wanabe)\
**Post date:** [May 5, 2008, 9:43am UTC](https://www.ruby-forum.com/t/patch-for-defined-c-0-defined-super/136659/1 "2008-05-05T09:43:27Z")

</div>

e$B%o%J%Y$H?=$7$^$9!#e(B

defined? C && 0 e$B$de(B defined?(super()) e$B$,e(B  
BUG e$B$GMn$A$J$$$h$&$K$9$k%Q%C%A$r=q$-$^$7$?!#e(B

e$B$^$?!“e(Bdefined?(super()) e$B$N%3%s%Q%$%k7k2L$r8+$F$\_$k$He(B  
NODE\_SUPER e$B$,e(B “expression” e$B$rJV$7$F$$$k$h$&$@$C$?$N$Ge(B  
“super” e$B$rJV$9$h$&$K$7$^$7$?!#;EMM$G$7$?$i?=$7Lu$”$j$^$;$s!#e(B

# Index: compile.c

— compile.c (revision 16278)  
+++ compile.c (working copy)  
@@ -2461,6 +2461,7 @@  
needstr);  
return 1;

- 

```
 case NODE_SUPER:
 case NODE_ZSUPER:

```

ADD\_INSN(ret, nd\_line(node), putnil);  
ADD\_INSN3(ret, nd\_line(node), defined, INT2FIX(DEFINED\_ZSUPER), 0,  
@@ -2504,7 +2505,7 @@  
}  
ADD\_LABEL(ret, lend);

- ADD\_CATCH\_ENTRY(CATCH\_TYPE\_ENSURE, lstart, lend, ensure, lfinish[1]);

- ADD\_CATCH\_ENTRY(CATCH\_TYPE\_RESCUE, lstart, lend, ensure, lfinish[1]);  
return 1;  
} /\* end of default \*/  
}
