From: "mame (Yusuke Endoh)" Date: 2012-04-10T14:41:09+09:00 Subject: [ruby-dev:45500] [ruby-trunk - Bug #6262][Assigned] [readline] reverse-i-search with multibyte chars Issue #6262 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to kouji (Kouji Takao) ---------------------------------------- Bug #6262: [readline] reverse-i-search with multibyte chars https://bugs.ruby-lang.org/issues/6262#change-25781 Author: no6v (Nobuhiro IMAI) Status: Assigned Priority: Normal Assignee: kouji (Kouji Takao) Category: ext Target version: ruby -v: ruby 2.0.0dev (2012-04-05 trunk 35241) [x86_64-linux] =begin 以下のように、C-r にマルチバイト文字を渡すとバイトの切れ端が返ってきます。 IM を介すので、うまく動いてもインクリメンタルサーチにはならないのですが、 履歴が検索できるようになるとありがたいです。 # encoding: UTF-8 require "readline" RUBY_DESCRIPTION # => "ruby 2.0.0dev (2012-04-05 trunk 35241) [x86_64-linux]" Readline::VERSION # => "6.2" IO.pipe do |r, w| Readline.input = r (w << "\crあ").reopen(IO::NULL) Readline.readline # => "\x81\x82" end ちなみに、Emacs のバッファ上で xmpfilter を実行すると、 # >> (reverse-i-search)`': \201^H\201\202 という raw-text になって、\343 はどっかに行ってしまって、 よく分からないことになっています。参考まで。 =end -- http://bugs.ruby-lang.org/