どんなことでも

この人 blog を書くのだろうか?

tcsh Part3

2005-03-20 13:10:21 | コンピュータ
ついでなので tcsh-6.13.09 を $HOME 以下にインストールしてみる。
日本語カタログの set4 が Shift_JIS なので、EUC-JP へ変換。
% nkf -e --overwrite nls/ja/set4
% ./configure --prefix=$HOME/opt/tcsh
malloc は OS のものを使う
% echo "#define SYSMALLOC 1" >> config.h
% make -j4 ; make install install.man
カタログの作成、インストール
% make catalogs
% mkdir -p $HOME/opt/tcsh/share/nls/ja_JP.eucJP/
% install -m 444 tcsh.ja.cat $HOME/opt/tcsh/share/nls/ja_JP.eucJP
新しい tcsh を起動
% $HOME/opt/tcsh/bin/tcsh
この場所はデフォルトから外れており自動検索されないのでファイル名を直接指定する。
% setenv NLSPATH $HOME/opt/tcsh/share/nls/ja_JP.eucJP/tcsh.cat
離珠カタログを使うなら、
% setenv NLSPATH /usr/local/share/nls/ja_JP.eucJP/tcsh.rishu.cat
又は
% set catalog = rishu
で、めでたく
% set $oo
oo: 変数を定義してないでしよー.
% ll
ll: コマンドが見つからないでし.
と、離珠メッセージが読めると。


Message-ID: <20050321221200.GL6776@kimmo.suominen.com>
Date: Mon, 21 Mar 2005 17:12:00 -0500 (2005/03/22 07:12:00 JST)
Subject: 6.13.10 available
だそうで


nls/ja/set4 は Shift_JIS のままリリースされたようです。

の Shift_JIS -> EUC-JP パッチを当てて使いましょう


tcsh Part2

2005-03-20 13:05:24 | コンピュータ
離珠化カタログの作成後、有効にする方法。

一つのファイルにまとめる
% cat set? set?? > ja_JP.eucJP.rishu.msg
カタログを作る
% gencat -new ja_JP.eucJP.rishu.cat ja_JP.eucJP.rishu.msg
インストールする
% sudo /usr/bin/install -c -o root -g wheel -m 444 ja_JP.eucJP.rishu.cat /usr/local/share/nls/ja_JP.eucJP/tcsh.rishu.cat
LANG に日本語を設定する
% setenv LANG ja_JP.eucJP
離珠カタログを選択する(/usr{,/local}/share/nls/$LANG/tcsh.${catalog}.cat を探します)
% set catalog = rishu
カタログ選択は、直接ファイルを指定することも可能。
% setenv NLSPATH /usr/local/share/nls/ja_JP.eucJP/tcsh.rishu.cat
試してみる
% telltc
% bindkey -u
% ll
など

そして、せっかく頑張って書き換えたのに間違えて書き換える前のソースをまた展開してしまいました(;_;) ja_JP.eucJP.rishu.msg があったので perl で頑張って復旧。
#!/usr/bin/perl -T
while(<>){
  if(m/Id: (set[0-9][0-9]?),v/){
    close OUT;
    open(OUT, ">", $1);
  }
  print OUT;
}
close OUT;
多分 perl な ML に流れていたのはこんなスクリプトで良いと思うんですけどねぇ。
そして、既に日本語化された set4 パッチがあることに気付く...翻訳した私の苦労が(;_;)

kludge

2005-03-20 06:49:18 | コンピュータ
tcsh の エラーメッセージを rishu(守って守護月天の離珠)化の増補をしていて kludge というのを発見。辞書を引いてみると「クラッジ」。まんまやんけって事で検索してみるが、適当な日本語がないのねぇ。
jargon(hacker用語辞書とでもいうもの?) には「とりあえず動く、間に合わせでその場しのぎのプログラミング。(拙劣な設計を示す軽蔑的な言葉)」と載っているそうですが、辞書には「不調和な組み合わせのハード/ソフトウエア」とあり、どちらの意味で訳すべきか...
jargon の方が合っていると思うのですが、「クラッジ」としておきましょう。