2005-11-16(Wed) [長年日記]

_1 [FreeBSD] /bin/tcsh

なんか不調。

  • やりたいこと
    • 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なんて止めるという議論もある。

本日のツッコミ(全4件) [ツッコミを入れる]
_ 通りすがり (2005-11-17(Thu) 17:19)

kinput2て事なら、TerminalとXIMだけ"LANG=ja_JP.eucJP"するのは?

_ nabeken (2005-11-17(Thu) 23:49)

terminal(kterm)の環境変数ではなく、tcshの問題のようです。LC_CTYPE="ja_JP.eucJP"でいいみたいですが、LC_CTYPEでもLANGでも、編集は変なままですね。http://www.imasy.or.jp/~mistral/diary/2005-09.html#20050918_1 と同じ状況です。

_ (2005-11-28(Mon) 22:17)

ああ、やっぱりみんな気がついてはいるんですね。<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入れてもらうのも大変そうで躊躇している。

_ nabeken (2005-11-29(Tue) 00:51)

期待しています。個人的には、行編集だけでも直って欲しいです。

[]

トップ «前の日記(2005-10-31(Mon)) 最新 次の日記(2005-12-01(Thu))»