[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:53832] readline(3)のプロンプト表示の挙動



emasaka と申します。

readline(3) で、バグじゃないかと思う挙動に出会いました。
が、ちょっと自信がないので、Debian 固有の問題ではありませんが相談させて
ください。


■現象

readline() の引数(プロンプト文字列)に UTF-8 の長い日本語を指定すると、
文字化けやおかしな改行が起こる。


■詳細

UTF-8 日本語環境で、80 カラム端末です。

$ echo $LANG
ja_JP.UTF-8
$ echo $COLUMNS                                         ~
80

最小限の検証コードを用意します。

$ cat hoge.c
#include <readline/readline.h>

int main()
{
    readline("にほんごにほんごにほんごにほんごにほんごにほんごにほんごにほんご"
             "にほんごにほんごにほんごにほんごにほんごにほんごにほんごにほんご" );
}

これをコンパイルして実行します。

$ cc hoge.c -o hoge -lreadline
$ ./hoge
にほんごにほんごにほんごにほんごにほんごにほんごにほ
�ごにほんごにほんごにほんごにほんごにほんごにほんごに
��んごにほんごにほんご

52カラムぐらいの位置(80*2/3?)で改行され、改行された行頭で文字化けが
発生しました。
(文字化け部分がメールで再現できているでしょうか?)


■相談したい点

バグであれば upstream または Debian BTS にレポートしようと思っています。
バグかどうかについて、以下のパターンが考えられますが、いかがでしょうか。

a. その現象は再現しない
b. その検証コードが間違っている
c. それは仕様
d. それは既知の問題
e. その問題は前に追いかけたのでパッチあるよ
f. それはバグだけど、文字コード沼にハマるよ
g. それは新規のバグなのでバグレポートするべし

-- 
Masakazu Takahashi (emasaka)