Ascii_only? bug

Vincent ISAMBARTです。
[ruby-core:14566], Sam Rubyがこのおかしいな行動を見つけま
した:

input = ‘:frowning:
puts input.ascii_only?
input.gsub!(/&#x(.*);/) {[$1.to_i(16)].pack(‘U’)}
puts input.dump
puts input.ascii_only? # => true

最初の「puts」を除いたら、最後のputsが「false」を表
示します。
理由は最初の「puts」がascii_only?のチェックして、この
チェックの結果が保存されてるのでしょう。でも
「gsub!」がこの結果を無効にするべきなんじゃないの
でしょうか。