ターミナル(tcsh)で日本語

for Panther

Back

 純正そのままでも日本語表示はできるが、書き込みはできない。のでtcshに日本語使用可能パッチを当てて新たにコンパイルする。6.12用パッチをこちらからいただき。tcshはこちらから。

 展開してtcshソースフォルダにパッチファイルをいれてパッチ当て。

% patch -fp1 < tcsh-6.12-utf8.patch
% make
# make install


 で、ターミナルの設定でインストールした/usr/local/bin/tcshを読み込むように変える。
 でもって、シェル情報を/etc/shellsに追加。

# echo /usr/local/bin/tcsh >> /etc/shells


 Pantherのtcshは始めからマルチバイトが通るようで。ただし環境変数の設定はしておくべし。(2003 11/12)

% echo unset nokanji >> ~/.tcshrc
% echo set dspmbyte=utf8 >> ~/.tcshrc
% echo alias ls "ls -v" >> ~/.tcshrc



 ついでにPicoでも日本語編集したいなぁ、ということでこちらも日本語パッチをあててコンパイルしなおし。パッチとpine本体双方こちらからいただき。ちなみに純正版(Panther)がver.2.5、今回入れるのがver.2.9のもよう。

 ソースを展開、パッチを当てる。picoフォルダに移ってmakefile.bsdをmakefileとして複製、 中身を少々いじる。

% patch -fp1 < pine3.96lj1.1b7.diff
% cd pico
% cp makefile.bsd makefile
% pico makefile


- #includes symbol for debugging
- DASHO= -g
- #for normal build
- #DASHO= -O

+ #includes symbol for debugging
+ #DASHO= -g
+ #for normal build
+ DASHO= -O3

- STDCFLAGS= -Dbsd -DJOB_CONTROL
+ STDCFLAGS= -DDARWIN -DJOB_CONTROL


 このままだとエラーで止まるのでosdep.cをいじる(1550行目付近)。
% pico osdep.c

- #if !defined(neb) && !defined(BSDI2)
- extern char *sys_errlist[];
- #endif
- extern int sys_nerr;

+ /* #if !defined(neb) && !defined(BSDI2)
+ extern char *sys_errlist[];
+ #endif
+ extern int sys_nerr; */

% make
# mv /usr/bin/pico /usr/bin/pico.old
# cp pico /usr/local/bin



 以上でUTF-8に限っては問題なくターミナルで日本語が使えるように。

 ちなみにJaguarでは「ASCII文字をエスケープする」の設定をいれておかないと、ほぼ100%書き込み終了と同時にターミナルが落ちると思われる。



2003 7/31 updated / C's gallery OS X Tips