1 |
graaff 08/11/26 22:12:13 |
2 |
|
3 |
Added: ruby-1.8.6-shortname_constants.patch |
4 |
Log: |
5 |
Fix bug 247790 with upstream patch |
6 |
(Portage version: 2.1.4.5) |
7 |
|
8 |
Revision Changes Path |
9 |
1.1 dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch |
10 |
|
11 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch?rev=1.1&view=markup |
12 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch?rev=1.1&content-type=text/plain |
13 |
|
14 |
Index: ruby-1.8.6-shortname_constants.patch |
15 |
=================================================================== |
16 |
Changeset 18485 from Ruby SVN to fix bug #247790 |
17 |
|
18 |
--- node.h 2008/08/11 02:52:57 18484 |
19 |
+++ node.h 2008/08/11 05:42:31 18485 |
20 |
@@ -319,7 +319,7 @@ |
21 |
#define NEW_MODULE(n,b) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(b),0) |
22 |
#define NEW_COLON2(c,i) NEW_NODE(NODE_COLON2,c,i,0) |
23 |
#define NEW_COLON3(i) NEW_NODE(NODE_COLON3,0,i,0) |
24 |
-#define NEW_CREF(c) (NEW_NODE(NODE_CREF,0,0,c)) |
25 |
+#define NEW_CREF(c,n) NEW_NODE(NODE_CREF,c,0,n) |
26 |
#define NEW_DOT2(b,e) NEW_NODE(NODE_DOT2,b,e,0) |
27 |
#define NEW_DOT3(b,e) NEW_NODE(NODE_DOT3,b,e,0) |
28 |
#define NEW_ATTRSET(a) NEW_NODE(NODE_ATTRSET,a,0,0) |
29 |
--- eval.c 2008/08/11 02:52:57 18484 |
30 |
+++ eval.c 2008/08/11 05:42:31 18485 |
31 |
@@ -1065,7 +1065,7 @@ |
32 |
|
33 |
NODE *ruby_cref = 0; |
34 |
NODE *ruby_top_cref; |
35 |
-#define PUSH_CREF(c) ruby_cref = NEW_NODE(NODE_CREF,(c),0,ruby_cref) |
36 |
+#define PUSH_CREF(c) ruby_cref = NEW_CREF(c,ruby_cref) |
37 |
#define POP_CREF() ruby_cref = ruby_cref->nd_next |
38 |
|
39 |
#define PUSH_SCOPE() do { \ |
40 |
--- class.c 2008/08/11 02:52:57 18484 |
41 |
+++ class.c 2008/08/11 05:42:31 18485 |
42 |
@@ -62,7 +62,10 @@ |
43 |
NODE *fbody = body->nd_body; |
44 |
|
45 |
if (fbody && nd_type(fbody) == NODE_SCOPE) { |
46 |
- fbody = rb_copy_node_scope(fbody, ruby_cref); |
47 |
+ NODE *cref = (NODE*)fbody->nd_rval; |
48 |
+ |
49 |
+ if (cref) cref = cref->nd_next; |
50 |
+ fbody = rb_copy_node_scope(fbody, NEW_CREF(data->klass, cref)); |
51 |
} |
52 |
st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex)); |
53 |
return ST_CONTINUE; |