Skip to content

Commit 1ecb29f

Browse files
committed
merge revision(s) 13586:
* eval.c (remove_method): should not remove undef place holder. [ruby-dev:31817] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@16816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent 18bdc02 commit 1ecb29f

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ Tue Jun 3 15:45:00 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
1414
* gc.c (os_obj_of, os_each_obj): hide objects to be finalized.
1515
[ruby-dev:31810]
1616

17+
Wed Jun 4 19:16:40 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
18+
19+
* eval.c (remove_method): should not remove undef place holder.
20+
[ruby-dev:31817]
21+
1722
Tue Jun 3 15:22:47 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
1823

1924
* process.c (struct rb_exec_arg): proc should be a VALUE.

eval.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -569,8 +569,13 @@ remove_method(klass, mid)
569569
if (mid == __id__ || mid == __send__ || mid == init) {
570570
rb_warn("removing `%s' may cause serious problem", rb_id2name(mid));
571571
}
572-
if (!st_delete(RCLASS(klass)->m_tbl, &mid, (st_data_t *)&body) ||
573-
!body->nd_body) {
572+
if (st_lookup(RCLASS(klass)->m_tbl, mid, (st_data_t *)&body)) {
573+
if (!body || !body->nd_body) body = 0;
574+
else {
575+
st_delete(RCLASS(klass)->m_tbl, &mid, (st_data_t *)&body);
576+
}
577+
}
578+
if (!body) {
574579
rb_name_error(mid, "method `%s' not defined in %s",
575580
rb_id2name(mid), rb_class2name(klass));
576581
}

version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define RUBY_RELEASE_DATE "2008-06-04"
33
#define RUBY_VERSION_CODE 186
44
#define RUBY_RELEASE_CODE 20080604
5-
#define RUBY_PATCHLEVEL 124
5+
#define RUBY_PATCHLEVEL 125
66

77
#define RUBY_VERSION_MAJOR 1
88
#define RUBY_VERSION_MINOR 8

0 commit comments

Comments
 (0)