# \[feature:trunk\] warning when Kernel#p is used

**URL:** <https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567>\
**Category:** Development\
**Created:** [March 11, 2009, 1:31pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567 "2009-03-11T13:31:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 11, 2009, 1:31pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/1 "2009-03-11T13:31:51Z")

</div>

e$B1sF#$G$9!#e(B

Kernel#p e$B$OHs\>o$KJXMx$G$9$,!"%G%P%C%08e$Ke(B p  
e$B$N8F$S=P$7$r$9$Y$F\>C$;$?$+e(B  
e$BIT0B$K$J$k$3$H$,$"$j$^$9!#e(B  
p  
e$B$H$$$&L\>A0$O;H$&$H$-$OHs\>o$KJXMx$G$9$,!";DG0$J$,$i8!:w$9$k$K$OHs\>o$Ke(B  
e$BITJX$G$9!#C18l6h@Z$j$G8!:w$G$-$J$$%(%G%#%?$@$H8!:w$O8B$j$J$/:$Fq$G$9$7!“e(B  
e$BC18l6h@Z$j$G8!:w$G$-$k%(%G%#%?$G$”$C$F$b!"e(B

- p e$B$H$$$&JQ?t$de(B attr e$B$r;H$C$F$$$k\>l9ge(B
- rdoc e$BCf$N%5%s%W%k%3!\<%I$H$7$Fe(B p e$B$r;H$C$F$$$k\>l9ge(B
- e$B$de(B sprint e$B$Ne(B %p  
e$B$J$I$,J8;zNs%j%F%i%kCf$K$"$k\>l9ge(B

e$B$J$I!"e(Bfalse positive e$B$,$H$F$bB?$$$G$9!#e(B  
p e$B$r:FDj5A$7$F=PNO$r;\_$a$l$Pe(B p  
e$B$N8F$S=P$7$,;D$C$F$b\<B32$O$J$/$;$^$9$,!"e(B  
e$BM\>7W$J%3!\<%I$,;D$k$N$O5$;}$A0-$$$G$9$7!“8e$G$[$+$N%G%P%C%0$r$9$k$H$-$Ke(B  
e$B\<YKb$K$J$k62$l$b$”$j$^$9!#e(B

e$B$=$3$G!“e(B$DEBUG = true e$B$N\>l9g$Ke(B p  
e$B$r4X?t8F$S=P$7$7$F$$$k2U=j$,$”$C$?$ie(B  
e$B7Y9p$9$k$3$H$rDs0F$7$^$9!#e(B

# e$BDL\>o;~$O2?$b8@$o$J$$e(B

$ ruby19 -e ‘p :debug’  
:debug

# -d e$B$r$D$1$k$H7Y9p$9$ke(B

$ ruby19 -d -e ‘p :debug’  
-e:1: warning: Kernel#p is used  
:debug

# e$B%Q!\<%5$G%A%’%C%/$9$k$N$G\<B9T$5$l$J$$\>l9g$G$b8!=P$G$-$ke(B

$ ruby19 -d -e ‘p :debug if rand \> 0.999’  
-e:1: warning: Kernel#p is used

# e$B4X?t8F$S=P$7$G$J$1$l$P7Y9p$7$J$$e(B

$ ruby19 -d -e ‘s = Struct.new(:p); p = s.new; p.p = “

”; puts p.p’

e$B$b$A$m$s!“e(Beval e$B$5$l$kJ8;zNsCf$Ne(B p  
e$B$N8F$S=P$7$O\<B9T$7$J$$$H8!=P$G$-$J$$e(B  
e$B$N$G40`z$G$O$J$$$G$9$,!”$=$l$G$bB?$/$N\>l9g$O%+%P!\<$G$-$k$H;W$$$^$9!#e(B

e$BLdBjE@$Oe(B

- p e$B$H$$$&L\>A0$N%a%=%C%I$@$1FCJL07$$$G7Y9p$5$l$k$N$,5$;}$A0-$$e(B
- e$B8\_49@-e(B

e$B$/$i$$$+$H;W$$$^$9$,!"e(B$DEBUG = true  
e$B$J$iK\HV4D6-$G$J$$$N$G!"8D?ME\*$K$Oe(B  
e$B5vMFHO0O$+$J$H;W$$$^$7$?!#$I$&$G$7$g$&$+!#e(B

# Index: id.c

— id.c (revision 22892)  
+++ id.c (working copy)  
@@ -47,4 +47,5 @@  
REGISTER\_SYMID(idSend, “send”);  
REGISTER\_SYMID(id\_\_send\_\_, “ **send** ”);  
REGISTER\_SYMID(idInitialize, “initialize”);

- REGISTER\_SYMID(idP, “p”);  
}  
Index: parse.y  
===================================================================  
— parse.y (revision 22892)  
+++ parse.y (working copy)  
@@ -1257,6 +1257,9 @@  
command : operation command\_args %prec tLOWEST  
{  
/_%%%_/
- 

```
 if ($1 == idP && RTEST(ruby_debug)) {

```

- 

```
     rb_warning0("Kernel#p is used");

```

- 

```
 }
 $$ = NEW_FCALL($1, $2);
 fixpos($$, $2);
   /*%

```

@@ -3525,6 +3528,9 @@  
method\_call : operation paren\_args  
{  
/_%%%_/

- 

```
 if ($1 == idP && RTEST(ruby_debug)) {

```

- 

```
     rb_warning0("Kernel#p is used");

```

- 

```
 }
 $$ = NEW_FCALL($1, $2);
 fixpos($$, $2);
   /*%

```

# Index: id.h

— id.h (revision 22892)  
+++ id.h (working copy)  
@@ -99,6 +99,7 @@  
tSend,  
t\_\_send\_\_,  
tInitialize,

- tP,  
#if SUPPORT\_JOKE  
tBitblt,  
tAnswer,  
@@ -118,7 +119,8 @@  
TOKEN2ID(Lambda),  
TOKEN2ID(Send),  
TOKEN2ID( **send** ),

- TOKEN2ID(Initialize)

- TOKEN2ID(Initialize),
- TOKEN2ID§  
};

# #ifdef tLAST\_TOKEN Index: template/id.h.tmpl

— template/id.h.tmpl (revision 22892)  
+++ template/id.h.tmpl (working copy)  
@@ -92,6 +92,7 @@  
tSend,  
t\_\_send\_\_,  
tInitialize,

- tP,  
#if SUPPORT\_JOKE  
tBitblt,  
tAnswer,  
@@ -111,7 +112,8 @@  
TOKEN2ID(Lambda),  
TOKEN2ID(Send),  
TOKEN2ID( **send** ),

- TOKEN2ID(Initialize)

- TOKEN2ID(Initialize),
- TOKEN2ID§  
};

#ifdef tLAST\_TOKEN

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 11, 2009, 1:53pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/2 "2009-03-11T13:53:32Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:38153] [feature:trunk] warning when Kernel#p is  
used”  
on Mar.11,2009 21:29:22, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> e$BLdBjE@$Oe(B
> 
> - p e$B$H$$$&L\>A0$N%a%=%C%I$@$1FCJL07$$$G7Y9p$5$l$k$N$,5$;}$A0-$$e(B
> - e$B8\_49@-e(B
> 
> e$B$/$i$$$+$H;W$$$^$9$,!"e(B$DEBUG = true e$B$J$iK\HV4D6-$G$J$$$N$G!"8D?ME\*$K$Oe(B  
> e$B5vMFHO0O$+$J$H;W$$$^$7$?!#$I$&$G$7$g$&$+!#e(B

e$B;d$Oe(B

p foo if $DEBUG

e$B$H$$$&%3!\<%I$rIQHK$K=q$/$s$G$9$,!"%@%a$J$s$G$7$g$&$+!#e(B  
pe$B$r;H$&$N$O%G%P%C%0;~$J$o$1$G$9$+$i!"EvA3e(B$DEBUGe$B$,e(Btruee$B$N;~$K$3e(B  
e$B$=e(Bpe$B$KK\Mh$N;E;v$rM\>7W$JK832$J$7$G$3$J$7$F$b$i$&$Y$-$@$H;W$$$^e(B  
e$B$9!#e(B

e$B%“%$%G%”\<+BN$O0-$/$J$$$H;W$$$^$9$,!“%Q!\<%5%l%Y%k$G%A%'%C%/$9e(B  
e$B$k$N$G$”$l$P!"e(Bsyntax check  
(-c)e$B$J$I$G$R$C$+$1$k$N$,$h$$$N$G$Oe(B  
e$B$J$$$+$H;W$$$^$9!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 11, 2009, 3:51pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/3 "2009-03-11T15:51:20Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yusuke ENDOH wrote::

> - e$B?7$7$$%\*%W%7%g%s$rDI2C$9$ke(B
> - e$B4D6-JQ?t$G;XDj$9$ke(B
> - RubyVM.warn\_p = true e$B$H$$$&e(B warn-p.rb e$B$re(B require e$B$9$ke(B
> 
> e$B$J$I!"FC$K$3$@$o$j$O$J$$$G$9!#e(B(e$B:G8e$N$OL\>A00J30$o$j$H$$$$$+$b!)e(B)

e$B!!e(Bwarn-p.rb e$B$r;H$$$?$$?M$,e(B require  
e$B$9$k!$$@$HB-$j$J$$$G$9$+$M!%$G!$e(Bp e$B$re(B  
e$B:FDj5A$7$F$7$^$($P!%e(B

> > e$B%"%$%G%"\<+BN$O0-$/$J$$$H;W$$$^$9$,!"%Q!\<%5%l%Y%k$G%A%’%C%/$9e(B  
> > e$B$k$N$G$"$l$P!"e(Bsyntax check (-c)e$B$J$I$G$R$C$+$1$k$N$,$h$$$N$G$Oe(B  
> > e$B$J$$$+$H;W$$$^$9!#e(B
> 
> e$B$=$l$G$b$$$$$H;W$$$^$9!#e(B

e$B!!%Q!\<%5%l%Y%k$G$OFq$7$$$s$8$c$J$$$G$9$+$M!%e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 11, 2009, 4:30pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/4 "2009-03-11T16:30:04Z")

</div>

e$B1sF#$G$9!#e(B

2009/03/11 23:48 SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B!!e(Bwarn-p.rb e$B$r;H$$$?$$?M$,e(B require e$B$9$k!$$@$HB-$j$J$$$G$9$+$M!%$G!$e(Bp e$B$re(B  
> e$B:FDj5A$7$F$7$^$($P!%e(B

e$B$($($H!"Ds0F$N%]%$%s%H$O!Ve(Bp  
e$B$H$$$&L\>A0$N%a%=%C%I$r4X?t8F$S=P$7$9$ke(B  
e$B2U=j$re(B (e$B@EE\*$Ke(B) e$B8!=P$7$F7Y9p$9$k5!G=$rF~$l$h$&!W$G$9!#e(B

alias my\_p p e$B$H$7$Fe(B my\_p  
e$B$r;H$&$J$I$9$k$H8!=P$G$-$J$/$J$j$^$9$7!"e(B  
e$B\<+J,$Ge(B p  
e$B$H$$$&%a%=%C%I$rDj5A$7$F4X?t8F$S=P$7$9$l$P8m8!=P$7$^$9!#e(B  
e$B$,!"e(B(e$B8!=P2sHr$J$I0J30$NL\E\*$Ge(B)  
e$B$=$s$J$3$H$9$k$3$H$O$J$5$=$&$G$9$7!"e(B  
e$B$3$N5!G=$r;H$o$J$1$l$P8=\>u$H2?$bJQ$o$j$^$;$s!#e(B

e$B$G!“$3$N5!G=$rM-8z$K$9$k%H%j%,$N0F$H$7$F!”:G=i$O!Ve(B$DEBUG =  
truee$B!W$re(B  
e$B5s$2$F$$$^$7$?$,!"$3$l$@$H!“8!=P$OMW$i$J$$$1$l$Ie(B $DEBUG  
e$B$O;H$$$?$$e(B  
e$B?M$,:$$k$N$G$$$^$$$A$G$7$?!#e(B  
e$B$=$3$G2~NI0F$H$7$F!”\>e$G$O!Ve(Bwarn-p e$B$re(B require  
e$B$9$k!W$r%H%j%,$H$7$Fe(B  
e$B5s$2$F$$$^$9!#e(B

> > > e$B%“%$%G%”\<+BN$O0-$/$J$$$H;W$$$^$9$,!“%Q!\<%5%l%Y%k$G%A%'%C%/$9e(B  
> > > e$B$k$N$G$”$l$P!"e(Bsyntax check (-c)e$B$J$I$G$R$C$+$1$k$N$,$h$$$N$G$Oe(B  
> > > e$B$J$$$+$H;W$$$^$9!#e(B
> > 
> > e$B$=$l$G$b$$$$$H;W$$$^$9!#e(B
> 
> e$B!!%Q!\<%5%l%Y%k$G$OFq$7$$$s$8$c$J$$$G$9$+$M!%e(B

e$B!Ve(Bp  
e$B$H$$$&L\>A0$N%a%=%C%I$r4X?t8F$S=P$7$9$k$+$I$&$+!W$r8!::$9$k$@$1e(B  
e$B$J$N$G$G$-$^$9!#:G=i$N%a!\<%k$K%Q%C%A$,$"$j$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 11, 2009, 2:28pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/5 "2009-03-11T14:28:12Z")

</div>

e$B1sF#$G$9!#e(B

2009/03/11 21:50 U.Nakamura [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B;d$Oe(B
> 
> p foo if $DEBUG
> 
> e$B$H$$$&%3!\<%I$rIQHK$K=q$/$s$G$9$,!"%@%a$J$s$G$7$g$&$+!#e(B

p e$B$H$$$&$9$P$i$7$$L\>A0$NMxE@$,A\_$-\>C$($k$N$G%@%a$G$9!#e(B

e$B$5$i$K!“$”$k2U=j$N%G%P%C%0Cf$Ke(B p foo if $DEBUG  
e$B$H=q$$$F;D$7$Fe(B  
e$B$7$^$&$H!"JL$N2U=j$r%G%P%C%0$9$k$?$a$Ke(B p bar if $DEBUG  
e$B$H$7$?$ie(B  
e$B=PNO$,:.$6$C$F$o$1$o$+$i$J$/$J$j$^$9!#e(B

> pe$B$r;H$&$N$O%G%P%C%0;~$J$o$1$G$9$+$i!"EvA3e(B$DEBUGe$B$,e(Btruee$B$N;~$K$3e(B  
> e$B$=e(Bpe$B$KK\Mh$N;E;v$rM\>7W$JK832$J$7$G$3$J$7$F$b$i$&$Y$-$@$H;W$$$^e(B  
> e$B$9!#e(B

e$B3N$+$Ke(B $DEBUG e$B$r;H$&$N$O$$$^$$$A$G$9$M!#e(B  
p e$B$N8!=P5!G=$NM-8z!&L58z$r@Z$jBX$($i$l$l$P$J$s$G$b$$$$$N$G!"e(B

- e$B?7$7$$%\*%W%7%g%s$rDI2C$9$ke(B
- e$B4D6-JQ?t$G;XDj$9$ke(B
- RubyVM.warn\_p = true e$B$H$$$&e(B warn-p.rb e$B$re(B require  
e$B$9$ke(B

e$B$J$I!"FC$K$3$@$o$j$O$J$$$G$9!#e(B(e$B:G8e$N$OL\>A00J30$o$j$H$$$$$+$b!)e(B)

> e$B%“%$%G%”\<+BN$O0-$/$J$$$H;W$$$^$9$,!“%Q!\<%5%l%Y%k$G%A%'%C%/$9e(B  
> e$B$k$N$G$”$l$P!"e(Bsyntax check (-c)e$B$J$I$G$R$C$+$1$k$N$,$h$$$N$G$Oe(B  
> e$B$J$$$+$H;W$$$^$9!#e(B

e$B$=$l$G$b$$$$$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 26, 2010, 2:10pm UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/6 "2010-03-26T14:10:57Z")

</div>

2010/3/26 Yusuke E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B\<XB-$G$9$,!“B\>$K$b4JC1$Je(B lint e$B$r\<BAu$9$k$J$ILLGr$=$&!#e(B  
> e$B%m!\<%+%kJQ?t$OA4It\>.J8;z$Ge(B \_ e$B6h@Z$j$H$+!”%/%i%9L\>$Oe(B Camel Case  
> e$B$H$+!#0l9Te(B 80 e$B7e$H$+!“e(B1 e$B%a%=%C%I$N9T?t$Oe(B 24 e$B9T$^$G$H$+!#0[O@$Oe(B  
> e$B$”$j$=$&!#e(B

rippere$B$r;H$C$?e(Blinte$B\<BAu$NNc$r8x3+$9$k$[$&$,!“HFMQ@-$,$”$C$FJ@32$,\>/$J$/!"$=$N8e$KB3$/e(Bcheckere$B$d$ie(Bindente$B$d$i$NAC$K$J$j$=$&$G$9$M!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 26, 2010, 11:38am UTC](https://www.ruby-forum.com/t/feature-trunk-warning-when-kernel-p-is-used/162567/7 "2010-03-26T11:38:13Z")

</div>

e$B%A%1%C%He(B #1269 e$B$,99?7$5$l$^$7$?!#e(B (by Yusuke E.)

Target version 1.9.xe$B$K%;%C%He(B

e$B1sF#$G$9!#e(B

2009e$BG/e(B3e$B7ne(B11e$BF|e(B21:31 Yusuke ENDOH [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B$J$I!"e(Bfalse positive e$B$,$H$F$bB?$$$G$9!#e(B  
> p e$B$r:FDj5A$7$F=PNO$r;\_$a$l$Pe(B p e$B$N8F$S=P$7$,;D$C$F$b\<B32$O$J$/$;$^$9$,!"e(B  
> e$BM\>7W$J%3!\<%I$,;D$k$N$O5$;}$A0-$$$G$9$7!“8e$G$[$+$N%G%P%C%0$r$9$k$H$-$Ke(B  
> e$B\<YKb$K$J$k62$l$b$”$j$^$9!#e(B
> 
> e$B$=$3$G!“e(B$DEBUG = true e$B$N\>l9g$Ke(B p e$B$r4X?t8F$S=P$7$7$F$$$k2U=j$,$”$C$?$ie(B  
> e$B7Y9p$9$k$3$H$rDs0F$7$^$9!#e(B

e$B$H$$$&Ds0F$re(B 1 e$BG/A0$K$7$^$7$?$,!"e(B$DEBUG  
e$B$H$$$&%$%s%?!\<%U%'%$%9e(B  
e$B$K%1%A$,$D$$$F$$$^$7$?!#e(B

2009e$BG/e(B3e$B7ne(B11e$BF|e(B21:50 U.Nakamura [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B%“%$%G%”\<+BN$O0-$/$J$$$H;W$$$^$9$,!“%Q!\<%5%l%Y%k$G%A%'%C%/$9e(B  
> e$B$k$N$G$”$l$P!"e(Bsyntax check (-c)e$B$J$I$G$R$C$+$1$k$N$,$h$$$N$G$Oe(B  
> e$B$J$$$+$H;W$$$^$9!#e(B

[ruby-dev:40768] e$B$r8+$F;W$$$D$$$?$N$G$9$,!"e(Bruby -c -v  
e$B$N;~$@$1e(B  
e$B7Y9p$7$F$/$l$k$H$$$$$s$8$c$J$$$+$H;W$$$^$7$?!#e(B

e$B\<XB-$G$9$,!“B\>$K$b4JC1$Je(B lint e$B$r\<BAu$9$k$J$ILLGr$=$&!#e(B  
e$B%m!\<%+%kJQ?t$OA4It\>.J8;z$Ge(B \_ e$B6h@Z$j$H$+!”%/%i%9L\>$Oe(B Camel  
Case  
e$B$H$+!#0l9Te(B 80 e$B7e$H$+!“e(B1 e$B%a%=%C%I$N9T?t$Oe(B 24  
e$B9T$^$G$H$+!#0[O@$Oe(B  
e$B$”$j$=$&!#e(B

## – Yusuke ENDOH [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

[http://redmine.ruby-lang.org/issues/show/1269](http://redmine.ruby-lang.org/issues/show/1269)
