* parse.y (rb_id2sym): intern if id is attrset_id.
[ruby-dev:29420] [ruby-dev:29447] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
65e965a12f
commit
9e0a2170fd
@ -1,3 +1,8 @@
|
||||
Mon Sep 4 06:46:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* parse.y (rb_id2sym): intern if id is attrset_id.
|
||||
[ruby-dev:29420] [ruby-dev:29447]
|
||||
|
||||
Mon Sep 4 01:25:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* eval.c (rb_f_local_variables): list symbols.
|
||||
|
16
parse.y
16
parse.y
@ -7884,7 +7884,10 @@ arg_blk_pass(NODE *node1, NODE *node2)
|
||||
static int
|
||||
arg_dup_check(ID vid, VALUE m, VALUE list, NODE *node)
|
||||
{
|
||||
VALUE sym = ID2SYM(vid);
|
||||
VALUE sym;
|
||||
|
||||
if (!vid) return 0;
|
||||
sym = ID2SYM(vid);
|
||||
if ((m && rb_ary_includes(m, sym)) || rb_ary_includes(list, sym)) {
|
||||
ruby_sourceline = nd_line(node);
|
||||
return 1;
|
||||
@ -8468,12 +8471,13 @@ rb_id2sym(ID id)
|
||||
{
|
||||
VALUE data;
|
||||
|
||||
if (st_lookup(global_symbols.id_sym, id, &data)) {
|
||||
if (!RBASIC(data)->klass) {
|
||||
RBASIC(data)->klass = rb_cSymbol;
|
||||
}
|
||||
return data;
|
||||
while (!st_lookup(global_symbols.id_sym, id, &data)) {
|
||||
rb_id2name(id);
|
||||
}
|
||||
if (!RBASIC(data)->klass) {
|
||||
RBASIC(data)->klass = rb_cSymbol;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
ID
|
||||
|
Loading…
x
Reference in New Issue
Block a user