Issue #10417 has been updated by Usaku NAKAMURA.

Related to Bug #10418: REXML's encoding is broken if reading UTF-16 XML and Encondig.default_internal is set added

----------------------------------------
Bug #10417: IO#set_encoding without int_enc doesn't keep current internal encoding
https://bugs.ruby-lang.org/issues/10417#change-49584

* Author: Usaku NAKAMURA
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* ruby -v: -
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
bugかfeatureか迷ったんですが、とりあえずbugで。

`IO#set_encoding`を1引数で呼び出したとき、つまりexternal encodingのみを指定した場合、internal encodingは`nil`が指定されたとみなされ、`Encoding.default_inernal`が設定されます。
従って、もともとこのIOにinternal encodingが設定されていた場合、それが上書きされてしまいます。
internal encodingを指定せずに呼び出した場合は、現在の値を保持すべきではないでしょうか?



-- 
https://bugs.ruby-lang.org/