# \[Bug:1.8\] Tempfile and extended Enumerable

**URL:** <https://www.ruby-forum.com/t/bug-1-8-tempfile-and-extended-enumerable/167510>\
**Category:** Development\
**Created:** [May 8, 2009, 7:11pm UTC](https://www.ruby-forum.com/t/bug-1-8-tempfile-and-extended-enumerable/167510 "2009-05-08T19:11:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [May 8, 2009, 7:11pm UTC](https://www.ruby-forum.com/t/bug-1-8-tempfile-and-extended-enumerable/167510/1 "2009-05-08T19:11:11Z")

</div>

1.8.8dev e$B$G!"0J2\<$N$h$&$K!"e(BEnumerable e$B$Ke(B each2  
e$B$rDj5A$7!“e(B  
Tempfile e$B$re(B each2 e$B$G7+$jJV$=$&$H$9$k$H!”%V%m%C%/$,8F$P$l$^$;e(B  
e$B$s!#e(B

% cat tst.rb  
require ‘tempfile’  
module Enumerable  
def each2(&block)  
each(&block)  
end  
end  
t = Tempfile.new(“foo”)  
t.puts “a”, “b”, “c”  
t.rewind  
t.each2 {|x| p x }  
% ./ruby -v tst.rb  
ruby 1.8.8dev (2009-05-08 revision 23366) [i686-linux]  
(e$B$J$K$b=P$F$3$J$$e(B)

each2 e$B$G$J$/!"e(Beach e$B$r;H$($P8F$P$l$^$9!#e(B

% ./ruby -rtempfile -ve ’  
t = Tempfile.new(“foo”)  
t.puts “a”, “b”, “c”  
t.rewind  
t.each {|x| p x }  
’  
ruby 1.8.8dev (2009-05-08 revision 23366) [i686-linux]  
“a\n”  
“b\n”  
“c\n”

e$B$^$?!"e(B1.9 e$B$G$Oe(B each2 e$B$G$b8F$P$l$^$9!#e(B

% ruby -v tst.rb  
ruby 1.9.2dev (2009-05-08 trunk 23370) [i686-linux]  
“a\n”  
“b\n”  
“c\n”

e$B$=$7$F!"e(B1.8.1 e$B$G$b8F$P$l$^$9!#e(B

% ruby-1.8.1 -v tst.rb  
ruby 1.8.1 (2003-12-25) [i686-linux]  
“a\n”  
“b\n”  
“c\n”

e$B$J$\*!"e(B1.8.6p368 e$B$G$Oe(B LocalJumpError e$B$K$J$j$^$9!#e(B

% ruby-1.8.6p368 -v tst.rb  
ruby 1.8.6 (2009-03-31 patchlevel 368) [i686-linux]  
tst.rb:4:in `each': no block given (LocalJumpError) from tst.rb:4:in`each2’  
from /home/ruby/186p368/lib/ruby/1.8/delegate.rb:272:in  
` __send__' from /home/ruby/186p368/lib/ruby/1.8/delegate.rb:272:in`method\_missing’  
from tst.rb:10

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [May 8, 2009, 9:07pm UTC](https://www.ruby-forum.com/t/bug-1-8-tempfile-and-extended-enumerable/167510/2 "2009-05-08T21:07:50Z")

</div>

At Sat, 9 May 2009 02:10:21 +0900,  
Tanaka A. wrote:

> 1.8.8dev ã§ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã€Enumerable ã« each2 ã‚’å®šç¾©ã—ã€  
> Tempfile ã‚’ each2 ã§ç¹°ã‚Šè¿”ãã†ã¨ã™ã‚‹ã¨ã€ãƒ–ãƒ­ãƒƒã‚¯ãŒå‘¼ã°ã‚Œã¾ã›  
> ã‚“ã€‚

ã€€ãƒ–ãƒ­ãƒƒã‚¯ãŒæ¸¡ã•ã‚Œã¦ã„ãªã„ã®ãŒåŽŸå› ãªã®ã§ã€ã“ã†ã™ã‚Œã°ç›´ã‚Šã¾ã™ã€‚

# Index: lib/delegate.rb

— lib/delegate.rb (revision 23370)  
+++ lib/delegate.rb (working copy)  
@@ -151,12 +151,12 @@ class Delegator  
alias initialize\_methods initialize

# Handles the magic of delegation through \_\_getobj\_\_.

- def method\_missing(m, \*args)

- def method\_missing(m, \*args, &block)  
target = self. **getobj**  
unless target.respond\_to?(m)

- 

```
 super(m, *args)

```

- 

```
 super(m, *args, &block)

```

end

- target. **send** (m, \*args)

- target. **send** (m, \*args, &block)  
end

# 

@@ -264,11 +264,11 @@ def DelegateClass(superclass)  
def initialize(obj) # :nodoc:  
@\_dc\_obj = obj  
end

- def method\_missing(m, \*args) # :nodoc:

- def method\_missing(m, \*args, &block) # :nodoc:  
unless @\_dc\_obj.respond\_to?(m)

- 

```
   super(m, *args)

```

- 

```
   super(m, *args, &block)
 end

```

- 

```
 @_dc_obj. __send__ (m, *args)

```

- 

```
 @_dc_obj. __send__ (m, *args, &block)

```

end  
def respond\_to?(m, include\_private = false) # :nodoc:  
return true if super

ã€€ã—ã‹ã—ã€ trunk ã ã‘æ‰‹å½“ã¦ã•ã‚ŒãŸã®ã¯ã©ã†ã„ã†ã‚ã‘ã§ã—ã‚‡ã†ã­ï¼Ÿ

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [May 9, 2009, 2:06pm UTC](https://www.ruby-forum.com/t/bug-1-8-tempfile-and-extended-enumerable/167510/3 "2009-05-09T14:06:05Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m!we(BEuruko09e$B$G$9e(B

In message “Re: [ruby-dev:38391] Re: [Bug:1.8] Tempfile and extended  
Enumerable”  
on Sat, 9 May 2009 04:06:30 +0900, “Akinori MUSHA”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|Tanaka A. wrote:  
|\> 1.8.8dev e$B$G!"0J2\<$N$h$&$K!“e(BEnumerable e$B$Ke(B each2 e$B$rDj5A$7!“e(B  
|\> Tempfile e$B$re(B each2 e$B$G7+$jJV$=$&$H$9$k$H!”%V%m%C%/$,8F$P$l$^$;e(B  
|\> e$B$s!#e(B  
|  
|e$B!!%V%m%C%/$,EO$5$l$F$$$J$$$N$,860x$J$N$G!”$3$&$9$l$PD\>$j$^$9!#e(B

e$B%3%\_%C%H$7$F$$$?$@$1$^$;$s$+!)e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [May 9, 2009, 4:30pm UTC](https://www.ruby-forum.com/t/bug-1-8-tempfile-and-extended-enumerable/167510/4 "2009-05-09T16:30:04Z")

</div>

At Sat, 9 May 2009 21:05:00 +0900,  
matz wrote:

> ã‚³ãƒŸãƒƒãƒˆã—ã¦ã„ãŸã ã‘ã¾ã›ã‚“ã‹ï¼Ÿ  
> ã€€ruby\_1\_8 ã«ã‚³ãƒŸãƒƒãƒˆã—ã¾ã—ãŸã€‚ruby\_1\_8\_7 ãŠã‚ˆã³ ruby\_1\_8\_6 ã«ã‚‚  
> é©ç”¨ã§ãã¾ã™ã€‚
