Issue #20190 has been reported by tompng (tomoya ishida).
----------------------------------------
Bug #20190: `invalid_encoding_string << number` should be valid encoding in some
case, but does not
https://bugs.ruby-lang.org/issues/20190
* Author: tompng (tomoya ishida)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.4.0dev (2024-01-09T07:07:19Z master db476cc71c) [x86_64-linux]
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
In some encoding, appending ascii char might change invalid encoding string to valid. But
it does not.
~~~ruby
# encoding: utf-8
valid = '่กจ'.encode('sjis')
valid.bytes
# => [0x95, 0x5c]
s = valid.byteslice(0, 1)
p s.valid_encoding? #=> false
s << 0x5c
p s == valid #=> true
p s.valid_encoding? #=> should be true, but false
~~~
pull request:
https://github.com/ruby/ruby/pull/9553
--
https://bugs.ruby-lang.org/