
Issue #20992 has been reported by tompng (tomoya ishida). ---------------------------------------- Bug #20992: `eval(ascii_encoded_code)` raises EncodingError when multibyte local variable exists https://bugs.ruby-lang.org/issues/20992 * Author: tompng (tomoya ishida) * Status: Open * ruby -v: ruby 3.5.0dev (2024-12-28T09:40:37Z master e4ec2128ae) +YJIT +MN +PRISM [arm64-darwin22] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- ~~~ruby #coding: utf-8 α=1 eval '1+2'.encode('ascii') ~~~ ~~~ $ ruby file.rb file.rb:3:in 'Kernel#eval': invalid symbol in encoding US-ASCII :"\xCE\xB1" (EncodingError) from file.rb:3:in '<main>' ~~~ Running the file below with `LANG=C ruby file.rb` will make IRB unresponsive ~~~ruby #coding: utf-8 α=1 binding.irb ~~~ ~~~ $ LANG=C ruby file.rb From: file.rb @ line 3 : 1: #coding: utf-8 2: α=1 => 3: binding.irb irb(main):001> 1 <internal:kernel>:168:in 'Kernel#loop': invalid symbol in encoding US-ASCII :"\xCE\xB1" (EncodingError) from <internal:prelude>:5:in 'Binding#irb' from file.rb:3:in '<main>' irb(main):002> ~~~ -- https://bugs.ruby-lang.org/