summaryrefslogtreecommitdiff
path: root/compar.c
diff options
context:
space:
mode:
Diffstat (limited to 'compar.c')
-rw-r--r--compar.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/compar.c b/compar.c
index 697106177a..b21a83c530 100644
--- a/compar.c
+++ b/compar.c
@@ -34,6 +34,13 @@ cmp_failed()
}
static VALUE
+cmp_eq2(a)
+ VALUE *a;
+{
+ return rb_rescue(cmp_eq, (VALUE)a, cmp_failed, 0);
+}
+
+static VALUE
cmp_equal(x, y)
VALUE x, y;
{
@@ -42,7 +49,7 @@ cmp_equal(x, y)
if (x == y) return Qtrue;
a[0] = x; a[1] = y;
- return rb_rescue(cmp_eq, (VALUE)a, cmp_failed, 0);
+ return rb_rescue2(cmp_eq2, (VALUE)a, rb_eScriptError, cmp_failed, 0);
}
static VALUE