[#9854] BUG: ruby-yarv 1.9 undefined method `close' for nil:NilClass in ensure — ville.mattila@...
Hello,
[#9864] String#upto edge case - empty string causes infinite loop — Daniel Berger <Daniel.Berger@...>
Hi,
Hi,
On 1/8/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
> -----Original Message-----
On 1/8/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
> -----Original Message-----
On 1/9/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
[#9869] a block argument within a block which argument has the same name leaks — <noreply@...>
Bugs item #7680, was opened at 2007-01-08 22:53
Hi,
On Jan 8, 2007, at 2:30 PM, Yukihiro Matsumoto wrote:
Hi,
Hi --
Hi,
Hi --
Hi,
Hi,
Evan Phoenix wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
On Jan 10, 2007, at 8:43 AM, Yukihiro Matsumoto wrote:
Hi,
Hi,
Hi,
[#9897] Time Zone printing differently for 1.8.4 and 1.8.5. — "Jim Freeze" <jim@...>
> ruby -rparsedate -ve 'puts Time.mktime(* ParseDate.parsedate("Thu Nov 02
[#9908] rdoc for 1.8.5 not creating Module docs? — James Britt <james.britt@...>
When running rdoc over the current 1.8.5 source, the resulting HTML file
[#9926] Fix for File and File::Stat to deal with bogus stat.st_size member — <noreply@...>
Patches item #7760, was opened at 2007-01-11 14:26
On Fri, 12 Jan 2007, noreply@rubyforge.org wrote:
> -----Original Message-----
On Sat, 13 Jan 2007, Berger, Daniel wrote:
[#9949] sandbox 0.4 (r115) with a new patch — _why <why@...>
Okay, here's the latest release of the freaky freaky sandbox.
[#9959] anonymous classes share single alloc function — <noreply@...>
Bugs item #7974, was opened at 2007-01-18 13:28
[#9960] Scoping and locating definitions — Jos Backus <jos@...>
Consider the following:
Jos Backus schrieb:
On Fri, Jan 19, 2007 at 06:40:03PM +0900, Pit Capitain wrote:
On Sat, Jan 20, 2007 at 02:18:19AM +0900, Jos Backus wrote:
On 1/20/07, Jos Backus <jos@catnook.com> wrote:
Jos Backus schrieb:
On Sun, Jan 21, 2007 at 04:39:52AM +0900, Pit Capitain wrote:
Jos Backus schrieb:
[#9969] Allowing Unicode in the grammar? — "Berger, Daniel" <Daniel.Berger@...>
Hi Matz,
[#9996] new method dispatch rule (matz' proposal) — SASADA Koichi <ko1@...>
Hi,
Hi,
It's late for me here, so I have just brief comments below...
Hi,
SASADA Koichi wrote:
Hi,
On Jan 23, 2007, at 7:41 AM, Yukihiro Matsumoto wrote:
On Tue, 23 Jan 2007, James Edward Gray II wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
The more this discussion goes on, the more I worry that Joe Q Public
Hi,
[#10019] stable branch policy & schedule for 1.8.6 — "Akinori MUSHA" <knu@...>
Core developers,
Akinori MUSHA wrote:
Charles Oliver Nutter wrote:
On Jan 23, 2007, at 22:13, Joel VanderWerf wrote:
At Wed, 24 Jan 2007 15:13:52 +0900,
Hello,
Hi,
[#10066] class variables and inheritance — <noreply@...>
Bugs item #8156, was opened at 2007-01-25 15:05
[#10068] Re: Method Dispatch (was Adding methods to String, but only in my own Module?) — gwtmp01@...
[#10085] Collaborative Ruby Language Specification — "John Lam (CLR)" <jflam@...>
Hi Everyone,
On 1/28/07, John Lam (CLR) <jflam@microsoft.com> wrote:
Hi --
>> I'm not sure what there is to be non-neutral about :-)
Hi --
On Mon, 29 Jan 2007, dblack@wobblini.net wrote:
John Lam (CLR) wrote:
> I hope such a spec would be developed "in the open" from the beginning,
M. Edward (Ed) Borasky wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 1/30/07, Eustaquio Rangel de Oliveira Jr. <eustaquiorangel@yahoo.com> wrote:
On 1/30/07, Nikolai Weibull <now@bitwi.se> wrote:
> > I was checking some CLR opinions and - correct me please if I'm wrong - seems
[#10114] add usage of uri.userinfo to open-uri.rb — <noreply@...>
Patches item #8309, was opened at 2007-01-30 15:25
On 2007/01/31, at 06:07, Yukihiro Matsumoto wrote:
Hi,
On Thu, Feb 01, 2007 at 01:19:34AM +0900, Yukihiro Matsumoto wrote:
Hi,
Hi matz,
Hi,
On Feb 2, 2007, at 7:40 PM, Yukihiro Matsumoto wrote:
[#10135] Another .document patch. — Hugh Sasse <hgs@...>
I have been looking at the tips for irb at:
[ ruby-Patches-8317 ] [PATCH] block_given? and yield incorrect within rb_iterate()
Patches item #8317, was opened at 2007-01-30 18:21
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=1700&aid=8317&group_id=426
Category: Ruby1.8
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: John Shanly (jwms)
Assigned to: Nobody (None)
Summary: [PATCH] block_given? and yield incorrect within rb_iterate()
Initial Comment:
Hello,
A call to block_given? from within an rb_funcall() in a C-block that is passed using rb_iterate() will incorrectly report that there is a block present and a yield to that block will incorrectly be allowed.
This error is due to a bug in rb_iterate() where the iter state and block state are not pushed/popped in the same order as in the corresponding case (NODE_ITER) in rb_eval(). Consequently the iter state ends up in state ITER_CUR rather than ITER_NOT by the time block_given? is called. block_given? then erroneously reports that a block has been passed due to rb_block_given_p() being dependent on the iter state:
int
rb_block_given_p()
{
if (ruby_frame->iter == ITER_CUR && ruby_block)
return Qtrue;
return Qfalse;
}
There may be other side-effects of the incorrect iter state but only the effect on block_given? and yield has been noticed.
This error originally showed up in Ruby code translated into C with Ruby2CExtension (rb2cx) but Dominik Bathon (author of rb2cx) found the following repro using pure Ruby:
$ cat bgBug.rb
class Fixnum
def ===(other)
puts "BUG" if block_given?
self == other
end
end
(1..3).grep(2) {|o| p o}
which gives:
$ ruby bgBug.rb
BUG
BUG
2
BUG
instead of just "2".
Dominik also found and suggested the fix for the bug in rb_iterate(). The patch for that fix is attached. The patch is for 1.8.4 but the same bug is in 1.8.5.
I have also added a test case to ruby/test_iterator.rb - patch also attached. This new test case passes on an unmodified YARV-enabled 1.9.0 (although there are 7 existing failures in test_iterator.rb for YARV)
I have run make test-all against 1.8.4 and there were no new test failures after applying this patch.
[While rb2cx directly provides a speed-up for Ruby code by compiling into Rubyish C, it is also very informative to look at the generated code for ideas about how to recode the original Ruby. The generated code can also provide a basis for hand-writing a C extension which applies any problem-specific optimisations.]
Regards,
John Shanly
----------------------------------------------------------------------
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=1700&aid=8317&group_id=426