* eval.c (cvar_cbase): class variables cause SEGV in

instance_eval() for fixnums and symbols. [ruby-dev:24213]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2004-09-03 17:41:27 +00:00
Родитель 880d7af47a
Коммит bf22dff8ea
3 изменённых файлов: 8 добавлений и 23 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Sat Sep 4 01:14:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (cvar_cbase): class variables cause SEGV in
instance_eval() for fixnums and symbols. [ruby-dev:24213]
Fri Sep 3 17:47:58 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* struct.c (make_struct): remove redefining constant when

3
eval.c
Просмотреть файл

@ -1779,6 +1779,9 @@ cvar_cbase()
rb_warn("class variable access from toplevel singleton method");
}
}
if (NIL_P(cref->nd_clss)) {
rb_raise(rb_eTypeError, "no class variables available");
}
return cref->nd_clss;
}

23
math.c
Просмотреть файл

@ -331,28 +331,6 @@ math_log(obj, x)
return rb_float_new(d);
}
/*
* call-seq:
* Math.log2(numeric) => float
*
* Returns the base 2 logarithm of <i>numeric</i>.
*/
static VALUE
math_log2(obj, x)
VALUE obj, x;
{
double d;
Need_Float(x);
errno = 0;
d = log2(RFLOAT(x)->value);
if (errno) {
rb_sys_fail("log2");
}
return rb_float_new(d);
}
/*
* call-seq:
* Math.log10(numeric) => float
@ -533,7 +511,6 @@ Init_Math()
rb_define_module_function(rb_mMath, "exp", math_exp, 1);
rb_define_module_function(rb_mMath, "log", math_log, 1);
rb_define_module_function(rb_mMath, "log2", math_log, 1);
rb_define_module_function(rb_mMath, "log10", math_log10, 1);
rb_define_module_function(rb_mMath, "sqrt", math_sqrt, 1);