diff --git a/ChangeLog b/ChangeLog index 303900fbad..d6113d2864 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,10 @@ Wed Sep 25 17:46:46 2002 NAKAMURA Usaku * lib/mkmf.rb (libpathflag): restore ENV['LIB'] when some error occured. +Wed Sep 25 16:14:51 2002 Yukihiro Matsumoto + + * regex.c (re_match): p1 may exceed pend limit. + Mon Sep 23 23:22:43 2002 Nobuyoshi Nakada * eval.c (rb_call0): must not clear ruby_current_node, or diff --git a/eval.c b/eval.c index 958346deed..1bfdee87fb 100644 --- a/eval.c +++ b/eval.c @@ -3161,11 +3161,6 @@ rb_eval(self, n) if (RTEST(ruby_verbose) && ruby_class == origin && body->nd_cnt == 0) { rb_warning("method redefined; discarding old %s", rb_id2name(node->nd_mid)); } - if (node->nd_noex) { /* toplevel */ - /* should upgrade to rb_warn() if no super was called inside? */ - rb_warning("overriding global function `%s'", - rb_id2name(node->nd_mid)); - } } if (node->nd_noex == NOEX_PUBLIC) { diff --git a/regex.c b/regex.c index e9617a628f..8c795051a7 100644 --- a/regex.c +++ b/regex.c @@ -4017,7 +4017,7 @@ re_match(bufp, string_arg, size, pos, regs) else break; } - if ((enum regexpcode)*p1 == jump) + if (p1 < pend && (enum regexpcode)*p1 == jump) p[-1] = unused; else PUSH_FAILURE_POINT(0, 0); diff --git a/variable.c b/variable.c index 255854d8f0..4d3944d60b 100644 --- a/variable.c +++ b/variable.c @@ -143,9 +143,6 @@ classname(klass) VALUE path = Qnil; ID classpath = rb_intern("__classpath__"); - if (TYPE(klass) == T_ICLASS) { - klass = RBASIC(klass)->klass; - } klass = rb_class_real(klass); if (!klass) klass = rb_cObject; if (ROBJECT(klass)->iv_tbl &&