[ruby-list:49247] Ruby 1.9系 on Windows8 にて Kernel#gets でマルチバイト文字入力の不具合

From: Takeshi Iogawa <alpha@246.ne.jp>
Date: 2013-03-02 17:36:37 UTC
List: ruby-list #49247
いおがわです。こんにちは。


Ruby 2.0.0 にてチケットが切られている、Bug #7379

http://bugs.ruby-lang.org/issues/7379

について、Ruby1.9.3 p392 でも同様と思われる現象が確認されました
のでご報告します。


-- Ruby 1.9.3 p392 オリジナルソース (VC++2010にてビルド)
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

D:\home\alpha>ruby --version
ruby 1.9.3p392 (2013-02-22 revision 39386) [x64-mswin64_100]

D:\home\alpha>ruby -e "p gets"
テスト
"\x83\x01\x83\x02\x83\x00\n"

D:\home\alpha>
-- ここまで



また、1.9.3 p392 の ./win32/win32.c に Bug #7379 のパッチと同様の
修正をして再ビルドし、症状が出なくなることを合わせて確認いたしました。


--- Ruby 1.9.3 p392 win32.c にBug #7379 のパッチ適用してビルド
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

D:\home\alpha>ruby --version
ruby 1.9.3p392 (2013-02-22 revision 39386) [x64-mswin64_100]

D:\home\alpha>ruby -e "p gets"
テスト
"テスト\n"

D:\home\alpha>
-- ここまで

なお、修正版で、Win7での Kernel#gets のマルチバイト文字入力に
影響はありませんでした。

以上、簡単ですがご報告いたします。

ps
# 一応、http://bugs.ruby-lang.org/issues/ を「gets windows」を
# キーワードに検索してみましたが、見落としで既知のものでしたらすみません


-- 
--
 Takeshi Iogawa

In This Thread

Prev Next