Commits around degrade in rails/rails#14188 https://bugs.ruby-lang.org/issues/9223
- r44137: Change to use
rb_hash_new
. Extra states won't be copied after this change. - r44247: Add constant to switch behavior. Prepare to show warnings. (
HASH_REJECT_COPY_MISC_ATTRIBUTES
) - r44250: Fix constant name differs in
ifdef
, which introduced at previous commit (r44247) (HASH_REJECT_COPY_MISC_ATTRIBUTES
) - r44262: Show warnings when
--verbose
is enabled. (HASH_REJECT_COPY_MISC_ATTRIBUTES
) - r44263: Revert to 2.0.0 behavior (copy misc attributes) by set
HASH_REJECT_COPY_MISC_ATTRIBUTES
to1
. - (Ruby 2.1.0 release branch has born)
- r44358: Changing constant name (MISC_ATTRIBUTES to EXTRA_STATES;
HASH_REJECT_COPY_EXTRA_STATES
). Old constant name inifdef
condition was not fixed in this commit; Always userb_hash_new
, so extra states won't be copied. - r44360: Removing excess parenthesis. (
HASH_REJECT_COPY_EXTRA_STATES
) - r44370: Fixing old constant name in
ifdef
condition, which introduced at r44358. (HASH_REJECT_COPY_EXTRA_STATES
) This hasn't been backported to 2.1.1 - r44438: Switch to new behavior (don't copy extra states) by setting
HASH_REJECT_COPY_EXTRA_STATES
to 1. This is not backported to 2.1 and shouldn't be backported. (This commit is for 2.2.0dev) - r44439: Removing dead codes made by r44438.
- r44137: rb_hash_new を利用するように変更
- r44247: 警告を出力するための準備と、属性コピーをしないようにした (HASH_REJECT_COPY_MISC_ATTRIBUTES)
- r44250: r44247 で ifdef と define の定数名違いを修正 (HASH_REJECT_COPY_MISC_ATTRIBUTES)
- r44262: 警告を表示するように、どの属性がコピーされなかったか、というのも表示するように。また、警告は ruby --verbose 時のみ表示するように (HASH_REJECT_COPY_MISC_ATTRIBUTES)
- r44263: HASH_REJECT_COPY_MISC_ATTRIBUTES を 1 にして警告付きで従来通りの挙動に。
- (Ruby 2.1.0 ブランチが切られる)
- r44358: MISC_ATTRIBUTES から追加の状態という言葉へ定数名を変更。 (HASH_REJECT_COPY_EXTRA_STATES) ここで一箇所、警告とは別で rb_hash_new を呼ぶか従来通りの挙動にするかという ifdef で定数名の変更漏れが発生。 (0=rb_hash_new, 1=従来通り)
- r44360: 無駄な()を消しています。 (HASH_REJECT_COPY_EXTRA_STATES)
- r44370: r44358 で発生した定数名の変更漏れを修正しています。 (HASH_REJECT_COPY_EXTRA_STATESA) おそらくこれがバックポート漏れ
- r44438: 属性コピーを再びやめています。これはおそらく 2.2.0dev なので 2.1 バックポートされません。
- r44439: 定数と ifdef、警告を消しています。