diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-26 01:17:17 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-26 01:17:17 +0000 |
commit | d6ea332c05cfb935b7b5cefc39ca7b0ddd7c289b (patch) | |
tree | 7a959fce789e3af3933301856d107f3f74acc81c /variable.c | |
parent | 55a70c6f92a6e23ffa77a2ecce9648370a13cc22 (diff) | |
download | ruby-d6ea332c05cfb935b7b5cefc39ca7b0ddd7c289b.tar.gz ruby-d6ea332c05cfb935b7b5cefc39ca7b0ddd7c289b.tar.xz ruby-d6ea332c05cfb935b7b5cefc39ca7b0ddd7c289b.zip |
* variable.c (rb_f_global_variables): variable names should not
duplicate. [ruby-dev:32344]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r-- | variable.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/variable.c b/variable.c index 6700ead28..a38bd8ea3 100644 --- a/variable.c +++ b/variable.c @@ -716,14 +716,12 @@ rb_f_global_variables(void) { VALUE ary = rb_ary_new(); char buf[4]; - const char *s = "&`'+123456789"; + const char *s = "123456789"; st_foreach_safe(rb_global_tbl, gvar_i, ary); - if (!NIL_P(rb_backref_get())) { - while (*s) { - sprintf(buf, "$%c", *s++); - rb_ary_push(ary, rb_str_new2(buf)); - } + while (*s) { + sprintf(buf, "$%c", *s++); + rb_ary_push(ary, ID2SYM(rb_intern(buf))); } return ary; } |