[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:38238] Re: locale 絡み? 2 題
末廣と申します。
On Sat, Sep 13, 2003 at 01:40:45AM +0900,
NAKANO Takeo wrote:
> ・tcsh-kanji のメッセージが krxvt などで化ける
安直には次の二通りの方法で解決できると思います。
・ set dspmbyte = euc
・ 一旦 setenv LANG ja_JP.ujis (して元に戻す)
tcsh-kanji 6.12.00-6 のソースを読んでみたところ、
実質的にサポートしている日本語ロケールは ja_JP.ujis だけ
のようです。
添付したパッチで、とりあえず ja_JP.eucJP, ja_JP.ujis,
ja_JP.EUC-JP で正常に動作するようになると思います。
> tcsh-kanji + krxvt は、たとえば
>
> % fuga
> fuga: \245\263\245\336\245\363\245\311\244\254\270\253\244\304\244\253\244\352\244\336\244\273\244\363.
>
> のような表示になります。 kterm, gnome-terminal でも
> 同様に化けます。 なお MS-Windows から PuTTY で slogin
> して、シェルに tcsh-kanji を使っている場合は、ちゃんと
>
> % fuga
> fuga: コマンドが見つかりません.
>
> のように出ます。
krxvt などの場合、コマンドラインオプション -ls の あり/なし
で表示は変わりますでしょうか? もしもそうなら .login の中で
一旦 setenv LANG ja_JP.ujis されているのではないでしょうか。
--
末廣雅利 E-mail: gully@xxxxxxxxxxxxx
--- tcsh-6.12.00.orig/sh.set.c
+++ tcsh-6.12.00/sh.set.c
@@ -1230,6 +1230,9 @@
{ STRLANGEUCJPB, STRKEUC },
{ STRLANGEUCKRB, STRKEUC },
{ STRLANGEUCZHB, STRKEUC },
+#ifdef linux
+ { STRLANGEUCJPC, STRKEUC },
+#endif
{ STRLANGSJIS, STRKSJIS },
{ STRLANGSJISB, STRKSJIS },
{ STRLANGBIG5, STRKBIG5 },
--- tcsh-6.12.00.orig/tc.const.c
+++ tcsh-6.12.00/tc.const.c
@@ -129,20 +129,16 @@
# endif /* MBYTEMAP */
/* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
/* dspmbyte autoset trap */
-/* STRLANGEUCJP,STRLANGEUCJPB = EUCJP Trap */
+/* STRLANGEUCJP,STRLANGEUCJPB(,STRLANGEUCJPC) = EUCJP Trap */
/* STRLANGEUCKR,STRLANGEUCKRB = EUCKR Trap */
/* STRLANGEUCZH,STRLANGEUCZHB = EUCZH Trap */
/* STRLANGSJIS,STRLANGSJISB = SJIS Trap */
-# if defined(__uxps__) || defined(sgi) || defined(aix) || defined(__CYGWIN__) || defined(linux)
+# if defined(__uxps__) || defined(sgi) || defined(aix) || defined(__CYGWIN__)
Char STRLANGEUCJP[] = { 'j', 'a', '_', 'J', 'P', '.', 'E', 'U', 'C', '\0' };
Char STRLANGEUCKR[] = { 'k', 'o', '_', 'K', 'R', '.', 'E', 'U', 'C', '\0' };
# if defined(__uxps__)
Char STRLANGEUCJPB[] = { 'j', 'a', 'p', 'a', 'n', '\0' };
Char STRLANGEUCKRB[] = { 'k', 'o', 'r', 'e', 'a', '\0' };
-# elif defined(linux)
-Char STRLANGEUCJPB[] = { 'j', 'a', '_', 'J', 'P', '.', 'u', 'j', 'i', 's',
- '\0' };
-Char STRLANGEUCKRB[] = { 'k', 'o', '_', 'K', 'R', '.', 'e', 'u', 'c', '\0' };
# elif defined(aix)
Char STRLANGEUCJPB[] = { 'j', 'a', '_', 'J', 'P', '\0' };
Char STRLANGEUCKRB[] = { 'k', 'o', '_', 'K', 'R', '\0' };
@@ -157,6 +153,22 @@
'\0' };
Char STRLANGEUCZH[] = { '\0' };
Char STRLANGEUCZHB[] = { '\0' };
+# elif defined(linux)
+Char STRLANGEUCJP[] = { 'j', 'a', '_', 'J', 'P', '.', 'E', 'U', 'C', '-',
+ 'J', 'P', '\0' };
+Char STRLANGEUCKR[] = { 'k', 'o', '_', 'K', 'R', '.', 'E', 'U', 'C', '\0' };
+Char STRLANGEUCJPB[] = { 'j', 'a', '_', 'J', 'P', '.', 'e', 'u', 'c', 'J',
+ 'P', '\0' };
+Char STRLANGEUCKRB[] = { 'k', 'o', '_', 'K', 'R', '.', 'e', 'u', 'c', '\0' };
+Char STRLANGEUCJPC[] = { 'j', 'a', '_', 'J', 'P', '.', 'u', 'j', 'i', 's',
+ '\0' };
+Char STRLANGSJIS[] = { 'j', 'a', '_', 'J', 'P', '.', 'S', 'J', 'I', 'S',
+ '\0' };
+Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { 'z', 'h', '_', 'T', 'W', '.', 'B', 'i', 'g', '5',
+ '\0' };
+Char STRLANGEUCZH[] = { '\0' };
+Char STRLANGEUCZHB[] = { '\0' };
# elif defined(__FreeBSD__)
Char STRLANGEUCJP[] = { 'j', 'a', '_', 'J', 'P', '.', 'e', 'u', 'c', 'J',
'P', '\0' };