Bug #1506
closedirbで日本語を入力できない
Description
=begin
[ruby-dev:36198]と同じかもしれないのですが、GNU readlineでも入力出来ないので報告します。
$ uname -a
Linux ribot 2.6.29-1-686 #1 SMP Fri Apr 17 14:35:16 UTC 2009 i686 GNU/Linux
$ ruby1.9 -v
ruby 1.9.2dev (2009-05-23 trunk 23548) [i686-linux]
$ echo $LANG
ja_JP.UTF-8
$ irb1.9 -f
irb(main):001:0> ENCODING
=> #Encoding:UTF-8
irb(main):002:0> :あああ
/home/nov/ruby/lib/ruby/1.9.1/irb/ruby-lex.rb:539:in `block in lex_int2': invalid byte sequence in UTF-8 (ArgumentError)
irb(main):002:0> の行は「:あああ」と入力してるつもりなのですが、
\x3a\xe3\xe3 みたいなのが出力されてるようです。
readline を使わなかったり、
$ irb1.9 -f --noreadline
irb(main):001:0> :あああ
=> :あああ
r23298 に戻すとうまく動くので、
r23299 が原因ではないかと思うのですが……
$ irb1.9 -f --readline
irb(main):001:0> RUBY_DESCRIPTION
=> "ruby 1.9.2dev (2009-04-27 trunk 23298) [i686-linux]"
irb(main):002:0> :あああ
=> :あああ
=end
Updated by no6v (Nobuhiro IMAI) over 15 years ago
=begin
いまいです。
From: Nobuhiro IMAI <redmine_at_ruby-lang.org>
Date: Sat, 23 May 2009 19:27:16 +0900
irb(main):002:0> の行は「:あああ」と入力してるつもりなのですが、
\x3a\xe3\xe3 みたいなのが出力されてるようです。
Readline.input= に IO を渡すとおかしくなるようです。文字単位で取れてる
けど、バイト単位でしか出力されてない?
$ cat rl.rb
-- coding: utf-8 --¶
p DATA.external_encoding
p DATA.getc
require "readline"
Readline.input = DATA
p Readline.readline(">> ", false)
END
ああああ
$ ruby1.9 -v rl.rb
ruby 1.9.2dev (2009-05-26 trunk 23576) [i686-linux]
#Encoding:UTF-8
"あ"
??
"\xE3\xE3"
?? は \xE3\xE3 です。\xE3 は「あ」の先頭のバイトですよね。¶
--
Nobuhiro IMAI nov@yo.rim.or.jp
Key fingerprint = F39E D552 545D 7C64 D690 F644 5A15 746C BD8E 7106
=end
Updated by naruse (Yui NARUSE) over 15 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r23591.
=end