[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 メーリングリストの案内