[FreeBSD-users-jp 96347] Re: FreeBSD-11.2 の ja_JP.eucJP 環境
内藤 祐一郎
naito.yuichiro @ gmail.com
2018年 11月 7日 (水) 14:17:54 UTC
内藤です。
> 2018/11/07 17:42、Kouichi Hirabayashi <kh @ 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.yuichiro @ gmail.com
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: libedit.patch
$B7?(B: application/octet-stream
$B%5%$%:(B: 1213 $B%P%$%H(B
$B @ bL@(B: $BL5$7(B
URL: <http://lists.freebsd.org/pipermail/freebsd-users-jp/attachments/20181107/054ba3e0/attachment.obj>
freebsd-users-jp メーリングリストの案内