summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-07 03:42:42 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-07 03:42:42 +0000
commit2c551e4715bfb9d2dc213805dc551e62af73a861 (patch)
tree0215b204df0c3742855721f39a8919028087b6bf /parse.y
parent011b74b748c0230dc5c013e3a38a9f0d58c5893f (diff)
* parse.y: need to use updated (re-created) symbols.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y8
1 files changed, 4 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index 35e38bbd30..9af1982216 100644
--- a/parse.y
+++ b/parse.y
@@ -10503,7 +10503,7 @@ lookup_str_id(st_data_t str, st_data_t *data)
}
id = (ID)*data;
if (ID_DYNAMIC_SYM_P(id)) {
- rb_pin_dynamic_symbol((VALUE)id);
+ *data = (st_data_t)rb_pin_dynamic_symbol((VALUE)id);
}
return TRUE;
}
@@ -10532,7 +10532,7 @@ rb_intern3(const char *name, long len, rb_encoding *enc)
id = intern_cstr_without_pindown(name, len, enc);
if (ID_DYNAMIC_SYM_P(id)) {
- rb_pin_dynamic_symbol((VALUE)id);
+ id = rb_pin_dynamic_symbol((VALUE)id);
}
return id;
@@ -10974,7 +10974,7 @@ rb_check_id(volatile VALUE *namep)
id = rb_check_id_without_pindown((VALUE *)namep);
if (ID_DYNAMIC_SYM_P(id)) {
- rb_pin_dynamic_symbol((VALUE)id);
+ id = rb_pin_dynamic_symbol((VALUE)id);
}
return id;
@@ -10987,7 +10987,7 @@ rb_check_id_cstr(const char *ptr, long len, rb_encoding *enc)
id = rb_check_id_cstr_without_pindown(ptr, len, enc);
if (ID_DYNAMIC_SYM_P(id)) {
- rb_pin_dynamic_symbol((VALUE)id);
+ id = rb_pin_dynamic_symbol((VALUE)id);
}
return id;