内藤です。 > 2018/11/07 17:42、Kouichi Hirabayashi <k...@mogami.com>のメール: > > 例えば、/usr/src/lib/libedit を下記のように書き換えて、EUC-JP > の 2 バイト文字を連続して読み、文字幅の計算を正しい値にすれば、 > /lib/libedit.so.7 を置き換えるだけで回避できるようです。
なるほど、 ct_enc_width() を直してあげれば良かったんですね。 それならば、添付の libedit.patch で eucJP はいけるようになるはずです。 マルチバイトの処理は wctomb(3) と mbrtowc(3) が locale を見て処理してくれますから、 そちらに任せる方が簡単です。 CHARSET_IS_UTF8 フラグの影響範囲をもう少し良く見る必要がありますので、 UTF-8 の場合は /bin/sh 起動時に locale が設定されている必要がありますけれども、 とりあえず eucJP の場合を試してもらえますでしょうか? -- 内藤 祐一郎 naito.yuich...@gmail.com
libedit.patch
Description: Binary data
_______________________________________________ freebsd-users-jp@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"