[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28552] [Bug #2945] Regexp#=== is failed by an exception when the exception is occurred in method_missing

From: Kenta Murata <redmine@...>
Date: 2010-03-08 06:32:24 UTC
List: ruby-core #28552
Bug #2945: Regexp#=== is failed by an exception when the exception is occurred in method_missing
http://redmine.ruby-lang.org/issues/show/2945

Author: Kenta Murata
Status: Open, Priority: Normal
Category: core, Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2010-03-08 trunk 26849) [x86_64-darwin10.2.0]

When an exception is occurred in method_missing,
Regexp#=== is failed by the exception.
Is this valid behavior?

  o = Object.new
  class <<
    def method_missing(m, *args)
      raise "XXX" if m == :to_str
    end
  end
  /aaa/ === o # =:> `method_missing': XXX (RuntimeError)


If correct this, apply the following patch.

diff --git a/re.c b/re.c
index 6ec3646..8a38155 100644
--- a/re.c
+++ b/re.c
@@ -2685,6 +2685,12 @@ rb_reg_match(VALUE re, VALUE str)
     return LONG2FIX(pos);
 }
 
+static VALUE
+reg_check_operand(VALUE str)
+{
+    return reg_operand(str, FALSE);
+}
+
 /*
  *  call-seq:
  *     rxp === str   => true or false
@@ -2708,7 +2714,7 @@ rb_reg_eqq(VALUE re, VALUE str)
 {
     long start;
 
-    str = reg_operand(str, FALSE);
+    str = rb_protect(reg_check_operand, str, 0);
     if (NIL_P(str)) {
 	rb_backref_set(Qnil);
 	return Qfalse;


----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next