XEmacs (X enhanced Emacs)

[ 戻る | トップページに戻る ]

概要

XEmacs とは、Emacs の派生バージョンのひとつ。画面回りの機能拡張、および Mule 機能の取り込みなどが特徴。

URL

http://www.xemacs.org/ (Official Site)
ftp://his.luky.org/pub/mirrors/xemacs/ (ミラー)

インストール環境

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)

必要なもの

xpm, libjpeg, Xaw3d, libpng, compface

バージョン

21.1.9

インストール手順

$ tar xvfz xemacs-21.1.9.tar.gz
$ tar xvfz xemacs-21.1.9-elc.tar.gz
$ tar xvfz xemacs-21.1.9-info.tar.gz

うーん、20.x とかのインストール記事を見ると、ここで xemacs-20.x-mule.tar.gz というアーカイブを展開しているのだが、21.1.x にはそれに相当するようなものが 見当たらない。ChangeLog とかを見ても、ソースが統合されたという記述も見当たら ないようなのだが...。ええい、とりあえずこのままコンパイルだぁ〜。
$ cd xemacs-21.1.9
$ ./configure --with-mule --with-xim=xlib --with-xfs
$ make
$ su
# make install
# exit

とりあえずコンパイル & インストールはできた。が、xemacs を起動すると メニューバーや初期メッセージが英語のまま。LANG を ja にしても一緒。 そもそも /usr/local/lib/xemacs-21.1.9/etc/app-defaults/ja に何もない。 また、Ctrl + o で Canna は動くけど xemacs -nw した場合には、文字が出ない。

FTP サイトを探すと、 packages/mule-base-1.34-pkg.tar.gz, packages/dired-1.07-pkg.tar.gz, packages/xemacs-sumo-2000-01-24.tar.gz, packages/xemacs-mule-sumo-2000-01-24.tar.gz というアーカイブが見つかった。が、これってどこに展開すればいいのだ? また sumo って何? 試しに /usr/local/lib/xemacs-21.1.9/ で展開したが、ダメ。 M-x dired で実行できない。INSTALL を読むと...
By default, packages will be searched for in the path

~/.xemacs::$prefix/lib/xemacs-${version}/mule-packages:$prefix/lib/xemacs/mule-p
ackages:$prefix/lib/xemacs-${version}/xemacs-packages:$prefix/lib/xemacs/xemacs-packages

わかった。README.packages (How to install the packages) に書いてあった。 sumo tar ball は /usr/local/lib/xemacs で展開すればいいし、 ふつーの pkg はその種類に応じて /usr/local/lib/xemacs/xemacs-packages か /usr/local/lib/xemacs/mule-packages に展開すればいいらしい。 相変わらず sumo の意味はよく分からないのだが。 ま、内容をみる限り、必要なものを全部ひっくるめたパッケージという事のようだ。

設定方法

xemacs を起動すると、起動メッセージは日本語になっているのだが、メニューバーは 英語のまま。 調べてみると、/usr/local/lib/xemacs/mule-packages/etc/app-defaults/ja/Emacs が存在するが、現在使用しているロケールは ja_JP.ujis なので、以下のように リンクを張ることで対応する。
$ su
# cd /usr/local/lib/xemacs/mule-packages/etc/app-defaults/ja
# ln -s ja ja_JP.ujis
# exit

これで、とりあえずメニューバーが日本語になる。が、起動時に以下の Warning が 出るようになってしまった。
Warning: Missing charsets in String to FontSet conversion
Warning: Cannot convert string "-*-gothic-medium-r-normal--14-120-75-75-c-*-*-*" to type FontSet
/usr/local/lib/xemacs/mule-packages/etc/app-defaults/ja/Emacs に ! CDE doesn't require this but OpenWindows does. ! Note that this `gothic' font family is effective just for Japanese. ! And fontList is just used under Motif menubar. *fontList: -*-gothic-medium-r-normal--14-120-75-75-c-*-*-*: というエントリがあるのが原因。

***********


Canna を使用するために以下の設定を .emacs に追加する。
(set-language-environment "Japanese")
(select-input-method "japanese-canna")

が、何故か 1 回目の Ctrl + \ では反応しない。 そこで、以下のように無理矢理 (?) 一度 IM を切替えてやると、xemacs 起動後の 最初の Ctrl + \ で日本語入力モードに切り替わる。
(set-language-environment "Japanese")
(select-input-method "japanese-canna")
(toggle-input-method)                   <--- 追加

X 上の xemacs では Ctrl + \ 以外に Ctrl + o や Shift + Space でも Canna が 起動し (右下に [ あ ] 表示) 、ちゃんと変換/確定できる。 Eterm で xemacs -nw した場合も Ctrl + \ 以外に Ctrl + o や Shift + Space で [ あ ] の表示がでるのだが、漢字変換すると、以下のように表示され、 以後、表示すべてが文字化けしてしまう。なお、Kterm では Ctrl + \ 以外効かない。
Searching for program: そのようなファイルやディレクトリはありません, ispell

~/.emacs に以下の設定を追加してもダメ。 Ctrl + i などに割り当てるとちゃんと効くことからすると、どうやら Ctrl + o が XEmacs に渡っていないようだ。
(global-set-key "\C-o" 'toggle-input-method)

kinput2 を殺してから xemacs を起動すると...
(1) (xim-xlib/info) X Input Method open failed. Waiting for an XIM to be enabled.

と表示される。 だがこれで Ctrl + o が効くようになった。うーむ、XIM が横取りしていたのかぁ。 では --with-xim=xlib を外して ./configure --with-mule --with-xfs でコンパイルし直し。...ぎゃ、ダメ。 ./configure --with-mule --with-xim=no --with-xfs にするべし。 これでコンパイルし直すと、無事 kinput2 が起動していても Ctrl + o が効くように なった。

***********


Kterm では xemacs -nw で Ctrl + o に問題なし (ちゃんとモードライン上で動作) 。 Shift + space で [ あ ] になるが 変換すると ...ispell と同じ現象。ただ、その後、文字化けはしない。 Eterm では xemacs -nw で Ctrl + o ではやり kinput2 が起動してしまう。 で、変換すると ...ispell で文字化け。 Shift + Space も同じ現象。 XMODIFIERS= Eterm & として起動した Eterm 上で xemacs -nw した場合は Ctrl + o でモードライン上で起動、Shift + space は効かない ふむ。あとはなんで、Kterm はそのままで XMODIFIERS が無効になっているか、だな。 環境変数 XMODIFIERS="@im=kinput2" になっているんだが...。 初期メッセージが出た後に、enter (何でもよい) を押すと、 Fundamental バッファが表示され、 (1) (warning/warning) Autoload error in: /usr/local/lib/xemacs/xemacs-packages/l isp/apel/auto-autoloads: Already loaded

[ 戻る | トップページに戻る ]