なんか不調。
- やりたいこと
- LANG=Cでも、日本語がkinput2から入力出来る。マウスの中クリックでpaste出来る
- ctrl-Bを一回叩くと、いわゆる全角文字一文字分もどる
- 入っているバージョン
- 4.11Rは、tcsh 6.12.00 (Astron) 2002-07-23 (i386-intel-FreeBSD) options 8b,nls,dl,al,kan,sm,rh,color,dspm,filec
- 6.0Rは、tcsh 6.14.00 (Astron) 2005-03-25 (i386-intel-FreeBSD) options wide,nls,dl,al,kan,rh,color,filec
- 症状
- 6.0Rだと、"やりたいこと"がどっちも出来ない。
- LANG=ja_JP.eucJPにすると、入力、pasteは出来る。
tcshなんて止めるという議論もある。
kinput2て事なら、TerminalとXIMだけ"LANG=ja_JP.eucJP"するのは?
terminal(kterm)の環境変数ではなく、tcshの問題のようです。LC_CTYPE="ja_JP.eucJP"でいいみたいですが、LC_CTYPEでもLANGでも、編集は変なままですね。http://www.imasy.or.jp/~mistral/diary/2005-09.html#20050918_1 と同じ状況です。
ああ、やっぱりみんな気がついてはいるんですね。<br>tcshは6.14から、multibyte文字やnlsメッセージの扱いが大幅に変わっています。(独自実装から、OSの標準機能を使うようになった)<br>ところが、FreeBSDの実装が中途半端なため、おかしな動きをします。<br>(1) nls(メッセージの日本語化など)は、文字コード変換にiconvを使うようになってるのですが、*BSDではOSにiconv機能が無いので日本語化されません。<br>(2) 2バイト文字のカーソルの動きがおかしいのは、mb*関数がshift_jisやeucロケールではおかしな値を返します。(localeの設定ファイルがおかしいため)<br>手元にはこれを解決するパッチがありますが、ちょっと問題があるのでsend-prできてません。<br><br>問題とは<br><br>nlsのためにはiconvをリンクするしかないのだが、base-systemにはiconvがない。portsのlibiconvを使えば解決するが、base-systemがportsに依存してしまうのがいまいち。かといってbase-systemにiconv入れてもらうのも大変そうで躊躇している。
期待しています。個人的には、行編集だけでも直って欲しいです。