[ruby-core:116230] [Ruby master Bug#20190] `invalid_encoding_string << number` should be valid encoding in some case, but does not

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/

Issue #20190 has been updated by naruse (Yui NARUSE). Backport changed from 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE ruby_3_3 ce372be903e5f3597f1dc83cb558f165850b3bee merged revision(s) ade56737e2273847426214035c0ff2340b43799a. ---------------------------------------- Bug #20190: `invalid_encoding_string << number` should be valid encoding in some case, but does not https://bugs.ruby-lang.org/issues/20190#change-107358 * Author: tompng (tomoya ishida) * Status: Closed * ruby -v: ruby 3.4.0dev (2024-01-09T07:07:19Z master db476cc71c) [x86_64-linux] * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE ---------------------------------------- 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/

Issue #20190 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: DONE, 3.3: DONE ruby_3_2 4f3ed07d5bfd581b630e4afc8b9bb170ce781e7f merged revision(s) ade56737e2273847426214035c0ff2340b43799a. ---------------------------------------- Bug #20190: `invalid_encoding_string << number` should be valid encoding in some case, but does not https://bugs.ruby-lang.org/issues/20190#change-107548 * Author: tompng (tomoya ishida) * Status: Closed * ruby -v: ruby 3.4.0dev (2024-01-09T07:07:19Z master db476cc71c) [x86_64-linux] * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: DONE, 3.3: DONE ---------------------------------------- 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/
participants (3)
-
nagachika (Tomoyuki Chikanaga)
-
naruse (Yui NARUSE)
-
tompng (tomoya ishida)