mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merge revision(s) 18485:
* class.c (clone_method): should copy cbase in cref as well. [ruby-dev:35116] * node.h (NEW_CREF): new NEW_ macro. * eval.c (PUSH_CREF): use NEW_CREF(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@21583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
db39c1bdda
commit
bc413e84df
5 changed files with 19 additions and 7 deletions
|
|
@ -1,3 +1,12 @@
|
||||||
|
Fri Jan 16 10:55:51 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* class.c (clone_method): should copy cbase in cref as well.
|
||||||
|
[ruby-dev:35116]
|
||||||
|
|
||||||
|
* node.h (NEW_CREF): new NEW_ macro.
|
||||||
|
|
||||||
|
* eval.c (PUSH_CREF): use NEW_CREF().
|
||||||
|
|
||||||
Thu Jan 15 14:34:32 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Thu Jan 15 14:34:32 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.
|
* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.
|
||||||
|
|
|
||||||
5
class.c
5
class.c
|
|
@ -62,7 +62,10 @@ clone_method(mid, body, data)
|
||||||
NODE *fbody = body->nd_body;
|
NODE *fbody = body->nd_body;
|
||||||
|
|
||||||
if (fbody && nd_type(fbody) == NODE_SCOPE) {
|
if (fbody && nd_type(fbody) == NODE_SCOPE) {
|
||||||
fbody = rb_copy_node_scope(fbody, ruby_cref);
|
NODE *cref = (NODE*)fbody->nd_rval;
|
||||||
|
|
||||||
|
if (cref) cref = cref->nd_next;
|
||||||
|
fbody = rb_copy_node_scope(fbody, NEW_CREF(data->klass, cref));
|
||||||
}
|
}
|
||||||
st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex));
|
st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex));
|
||||||
return ST_CONTINUE;
|
return ST_CONTINUE;
|
||||||
|
|
|
||||||
2
eval.c
2
eval.c
|
|
@ -1068,7 +1068,7 @@ static VALUE ruby_wrapper; /* security wrapper */
|
||||||
|
|
||||||
NODE *ruby_cref = 0;
|
NODE *ruby_cref = 0;
|
||||||
NODE *ruby_top_cref;
|
NODE *ruby_top_cref;
|
||||||
#define PUSH_CREF(c) ruby_cref = NEW_NODE(NODE_CREF,(c),0,ruby_cref)
|
#define PUSH_CREF(c) ruby_cref = NEW_CREF(c,ruby_cref)
|
||||||
#define POP_CREF() ruby_cref = ruby_cref->nd_next
|
#define POP_CREF() ruby_cref = ruby_cref->nd_next
|
||||||
|
|
||||||
#define PUSH_SCOPE() do { \
|
#define PUSH_SCOPE() do { \
|
||||||
|
|
|
||||||
2
node.h
2
node.h
|
|
@ -319,7 +319,7 @@ extern NODE *ruby_top_cref;
|
||||||
#define NEW_MODULE(n,b) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(b),0)
|
#define NEW_MODULE(n,b) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(b),0)
|
||||||
#define NEW_COLON2(c,i) NEW_NODE(NODE_COLON2,c,i,0)
|
#define NEW_COLON2(c,i) NEW_NODE(NODE_COLON2,c,i,0)
|
||||||
#define NEW_COLON3(i) NEW_NODE(NODE_COLON3,0,i,0)
|
#define NEW_COLON3(i) NEW_NODE(NODE_COLON3,0,i,0)
|
||||||
#define NEW_CREF(c) (NEW_NODE(NODE_CREF,0,0,c))
|
#define NEW_CREF(c,n) NEW_NODE(NODE_CREF,c,0,n)
|
||||||
#define NEW_DOT2(b,e) NEW_NODE(NODE_DOT2,b,e,0)
|
#define NEW_DOT2(b,e) NEW_NODE(NODE_DOT2,b,e,0)
|
||||||
#define NEW_DOT3(b,e) NEW_NODE(NODE_DOT3,b,e,0)
|
#define NEW_DOT3(b,e) NEW_NODE(NODE_DOT3,b,e,0)
|
||||||
#define NEW_ATTRSET(a) NEW_NODE(NODE_ATTRSET,a,0,0)
|
#define NEW_ATTRSET(a) NEW_NODE(NODE_ATTRSET,a,0,0)
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
#define RUBY_VERSION "1.8.6"
|
#define RUBY_VERSION "1.8.6"
|
||||||
#define RUBY_RELEASE_DATE "2009-01-15"
|
#define RUBY_RELEASE_DATE "2009-01-16"
|
||||||
#define RUBY_VERSION_CODE 186
|
#define RUBY_VERSION_CODE 186
|
||||||
#define RUBY_RELEASE_CODE 20090115
|
#define RUBY_RELEASE_CODE 20090116
|
||||||
#define RUBY_PATCHLEVEL 299
|
#define RUBY_PATCHLEVEL 300
|
||||||
|
|
||||||
#define RUBY_VERSION_MAJOR 1
|
#define RUBY_VERSION_MAJOR 1
|
||||||
#define RUBY_VERSION_MINOR 8
|
#define RUBY_VERSION_MINOR 8
|
||||||
#define RUBY_VERSION_TEENY 6
|
#define RUBY_VERSION_TEENY 6
|
||||||
#define RUBY_RELEASE_YEAR 2009
|
#define RUBY_RELEASE_YEAR 2009
|
||||||
#define RUBY_RELEASE_MONTH 1
|
#define RUBY_RELEASE_MONTH 1
|
||||||
#define RUBY_RELEASE_DAY 15
|
#define RUBY_RELEASE_DAY 16
|
||||||
|
|
||||||
#ifdef RUBY_EXTERN
|
#ifdef RUBY_EXTERN
|
||||||
RUBY_EXTERN const char ruby_version[];
|
RUBY_EXTERN const char ruby_version[];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue