From 70d34c623a4a35f15936b7b7fecd618aeb0521d3 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 31 May 2014 21:55:53 +0000 Subject: [PATCH] parse.y: no duplicate attrset ID * parse.y (intern_str): dynamic attrset ID is registered by `rb_id_attrset()` already, so no further registration is needed. [ruby-core:62861] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ parse.y | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a3b2dea461..0f28e21be2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jun 1 06:55:26 2014 Nobuyoshi Nakada + + * parse.y (intern_str): dynamic attrset ID is registered by + `rb_id_attrset()` already, so no further registration is needed. + [ruby-core:62861] + Sun Jun 1 04:52:47 2014 Zachary Scott * lib/English.rb: [DOC] $LOADED_FEATURES moved to load.c [Fixes GH-620] diff --git a/parse.y b/parse.y index a4480b15c7..4ee2b49392 100644 --- a/parse.y +++ b/parse.y @@ -10657,7 +10657,9 @@ next_id(VALUE str) static ID intern_str(VALUE str) { - return register_static_symid_str(next_id(str), str); + ID id = next_id(str); + if (ID_DYNAMIC_SYM_P(id) && is_attrset_id(id)) return id; + return register_static_symid_str(id, str); } ID