Last modified: Sat Oct 2 00:21:23 JST 2003
APEL, FLIM, SEMI, WEMI, EMH, RMAIL-MIME 私家版インストールマニュアル

  *かな漢字と ASCII 文字の表示幅の比が 2:1 のフォントでご覧下さい*

  * 電総研の正規版である Mule 2.3 based on Emacs 19.28 以前の *
  * Emacsen での動作は、少なくとも筆者は確認できていません。  *

                                          山岡克美 <yamaoka @ jpl org>

目次:
        1. 対象パッケージ
        2. tm との決別
        3. CUSTOM の upgrade (Mule 2.3 based on Emacs 19.34 のみ)
        4. 標準インストール
        5. 標準ではないディレクトリへのインストール
        6. load-path の設定
        7. gnus について
        8. loaddefs.el 対策 (Mule 2.3 based on Emacs 19.34 のみ)
        9. 付録


1. 対象パッケージ (2004.10.01)

APEL
 apel-10.6.tar.gz


SLIM (flim)
 slim-1.14.9.tar.gz

CLIME (flim)
 clime-1_14-************.tar.gz

FLIM
 flim-1.14.7.tar.gz

EMIKO (semi)
 emiko-1_14-************.tar.gz

EMY (semi)
 emy-1.13.9.tar.gz

SEMI
 semi-1.14.5.tar.gz

WEMI (semi)
 wemi-************.tar.gz

EMH
 emh-1.14.1.tar.gz

RMAIL-MIME
 rmail-mime-1.13.0.tar.gz

  *ご注意*
  FLIM 1.13 や 1.14 (または SLIM 1.13 や 1.14 など) は対応している MUA
  でないと使えません。

  *ご注意*
  これらを使う Mailer や Newsreader が古い場合、最新のパッケージに対応
  していないことがあります。

  *ご注意*
  すでに SEMI, EMH, RMAIL-MIME などがインストールされている環境で FLIM
  (または SLIM など) だけを新しいものに変えた場合は、SEMI, EMH, RMAIL-
  MIME などを make し直す必要がある場合が多いようです。

APEL, FLIM (または SLIM など) および SEMI の各パッケージは必ず入手して
下さい。他に mh-e を使う人は EMH を、RMAIL を使う人は RMAIL-MIME をそ
れぞれ用意する必要があります。WEMI は SEMI の代わりに使えるもので、特
に XEmacs で使う場合にボタンが立体的な表示になるなどの特長があります。
(XEmacs 以外でも使えます)

最新の各パッケージはここで紹介したものより version が進んでいるかもし
れません。その場合でもこのマニュアルは役立つ可能性が高いですが、逆に古
いものを使う場合の有効性は保証できません。
これらの新版情報を得るには apel および emacs-mime メーリングリストに加
入するのが最も確実です。入会方法は 9. 付録 の項をご覧下さい。


2. tm との決別

もしあなたが今まで tm を使っていたならば、あらかじめ関連するファイルを
すべて消してしまった方が良いでしょう。tm を普通にインストールしたとき
にできるファイルの例の一覧を 9. 付録 の項に添付しましたので、参考にし
て下さい。あるいはもう一度 tm をインストールしてファイルの日付を新しく
してから ls -t や find で探すのも有効かもしれません。


3. CUSTOM の upgrade (Mule 2.3 based on Emacs 19.34 のみ)

  (小林修平さんが 1999年11月12日に APEL 用に書かれた英文の説明書より)

Emacs 19.34 と XEmacs 19.14 のユーザのみなさんへ:

  「古い custom」対「新しい custom」
  ==================================

Emacs 19.32〜19.34、XEmacs 19.14 および Gnus 5.2/5.3 に含まれている
custom ライブラリは「古い」もので、これの API(*) は Emacs 20.1 または
XEmacs 19.15 より新しい Emacsen と Gnus 5.4/5.5 に含まれている「新しい
custom」とは違っています。

  (*) API: Applications Programming Iinterface

Emacs 19.34 と XEmacs 19.15〜20.2 用の「新しい custom」は、以下の URL
から手に入れることができます。

  ftp://ftp.dina.kvl.dk/pub/Staff/Per.Abrahamsen/custom/custom-1.9962.tar.gz

(注: XEmacs 19.15〜20.2 と Gnus 5.4/5.5 に含まれている「新しい custom」
 はこの版より古いものです。)

「新しい custom」をインストールする前に、次の各項目をチェックして下さ
い。

  1) もしあなたが Gnus 5.2/5.3 (または他の「古い custom」を使うアプリ
     ケーション) を使うことに固執しているのならば、「新しい custom」
     をインストールしてはいけません。

  2) Emacs 19 を元にした Mule を使うのならば、このパッチを「新しい
     custom」に当てる必要があります。

----8<------8<------8<------8<------8<------8<------8<------8<----
--- custom-1.9962/cus-face.el~	Wed Mar  4 19:52:39 1998
+++ custom-1.9962/cus-face.el	Mon Mar  9 08:05:33 1998
@@ -96,7 +96,7 @@
       "Define a new FACE on all frames, ignoring X resources."
       (interactive "SMake face: ")
       (or (internal-find-face name)
-	  (let ((face (make-vector 8 nil)))
+	  (let ((face (make-vector face-vector-length nil)))
 	    (aset face 0 'face)
 	    (aset face 1 name)
 	    (let* ((frames (frame-list))
----8<------8<------8<------8<------8<------8<------8<------8<----

  3) custom を使うコンパイルされたアプリケーションは、それを load する
     ときや実行するときに同じバージョンの custom を必要とします。した
     がって、いつも load-path に「新しい custom」を含めておかなければ
     なりません。
     これを行なうためのもっとも簡単な方法は subdirs.el を使うことです。
     「新しい custom」が /usr/local/share/emacs/19.34/site-lisp/custom/
     にインストールされているのならば、
     /usr/local/share/emacs/19.34/site-lisp/subdirs.el というファイル
     に以下の行を書き込んで下さい。

       (normal-top-level-add-to-load-path '("custom"))


4. 標準インストール

必ず APEL, FLIM (または SLIM など) および SEMI の順序でインストールし
て下さい。すでにインストールされている環境で FLIM (または SLIM など)
や SEMI の新版をインストールする場合に、それらが新しい APEL を必要とし
ているならば、新しい APEL を最初にインストールしなければなりません。
SEMI の新版だけをインストールする場合でも、必要ならば新しい APEL や
FLIM (または SLIM など) をインストールしてから行なって下さい。
まれに新版の FLIM が旧版の SEMI や EMH, RMAIL-MIME などにも対応してい
る場合がありますが、そのような組合せで使う場合は SEMI, EMH, RMAIL-MIME
などを make install し直す必要がある場合が多いでしょう。
EMH や RMAIL-MIME も使う場合は APEL, FLIM (または SLIM など) および
SEMI に続いてインストールしましょう。

あなたが super user か、または /usr/local などに書き込む権限を持ってい
る人ならば、APEL, FLIM (または SLIM など) および SEMI などの最新パッケー
ジを展開したディクトリの下で

% make install EMACS=mule

とタイプして下さい。`mule' の部分はあなたが使う Emacsen の実行ファイル
の名前で置き換えましょう。例えば emacs-20.2, mule-19.34,...などなど。
単に

% make install

とタイプした場合は `emacs' が使われます。それから、log を残すために

% make install EMACS=mule |& tee LOG.make_install

とタイプするのは普通に行なわれることですね(?)。

もしあなたが version 21.0 以上の XEmacs を使っているならば、これらとは
別に

% make install-package

を使うと、他の binary package と並んでインストールすることができます。
この場合はデフォルトで `xemacs' という名前の XEmacs が使われますが、別
の名前を使いたい場合は

% make install-package XEMACS=xemacs-21.2

などとタイプして下さい。

以上が標準的なインストールの方法です。
このように作業は簡単で、わざわざ説明を書くまでもない内容なのですが、今
後もずっと APEL, FLIM (または SLIM など) および SEMI などを使い続けて、
ときには新版で置き換えていこうと思われるならば、ここで述べた方法が最良
のやり方なのです。

しかし不幸にしてあなたが super user になれなかったり、あるいはあなたが
機会があればプログラムを改善して多くのユーザに貢献しようと思っている前
向きなハッカーで、安定に動作するものをインストールした標準のディレクト
リ以外の場所で実験してみたいならば、後に述べる方法でそれはできます。


5. 標準ではないディレクトリへのインストール

ありそうもないことですが、もしあなたが super user の権限を行使できない
などの理由によって、ホームディレクトリや他の書き込み可能なディレクトリ
に Emacsen をインストールしているならば、前の項で説明した標準インストー
ルの方法を使うことをお勧めします。:-)

まず最初に一つの例を示します。この例では ~/elisp というディレクトリの
下に emu, apel, flim, semi というサブディレクトリができて、それぞれの
モジュールがインストールされます。emu は APEL に含まれているモジュール
です。
まず APEL, FLIM (または SLIM など) および SEMI (または WEMI) の各パッ
ケージを、適当な作業ディレクトリで展開して下さい。必要なら EMH と
RMAIL-MIME のパッケージも展開しておいて下さい。

  各パッケージが /tmp の下に展開されているとします。

  まずは APEL から。

% cd /tmp/$APEL
% make install EMACS=mule LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp/emu

  XEmacs か version 20.3 以上 の Emacs を使うのでしたら、最後の "emu"
  は指定せずに

% make install EMACS=xemacs LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp

  などとして下さい。それでも emu モジュールに属する各ファイルは
  ~/elisp/emu の下にインストールされます。
  どこにインストールされるかわからなくて不安を感じるならば、

% make what-where EMACS=mule LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp

  などとタイプすることによって、何のファイルがどのディレクトリにインス
  トールされるかを、あらかじめ確認することができます。この `what-where'
  という target は現在は APEL パッケージだけに存在します。標準インストー
  ルを行なう場合でも使えますので活用して下さい。

  次は FLIM (または SLIM など) です。

% cd /tmp/$FLIM
% make install EMACS=mule LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp/emu

  emu モジュールが ~/elisp/emu というディレクトリにインストールされて
  いるならば、ここでは XEmacs か version 20.3 以上の Emacs を使う場合
  でも、最後の "emu" は省略しないで下さい。

  次は SEMI (または WEMI) をインストールしましょう。

% cd /tmp/$SEMI
% make install EMACS=mule LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp/emu

  この場合も emu モジュールが ~/elisp/emu というディレクトリにインストー
  ルされているならば、ここでは XEmacs か version 20.3 以上の Emacs を
  使う場合でも、最後の "emu" を省略してはいけません。

  最後に EMH と RMAIL-MIME です。どちらもインストール先は ~/elisp/semi
  になります。

% cd /tmp/$EMH
% make install EMACS=mule LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp/emu
% cd /tmp/$RMAIL-MIME
% make install EMACS=mule LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp/emu

  この場合も emu モジュールが ~/elisp/emu というディレクトリにインストー
  ルされているならば、ここでは XEmacs か version 20.3 以上の Emacs を
  使う場合でも、最後の "emu" を省略してはいけません。

以上の説明の中に頻繁に登場する VERSION_SPECIFIC_LISPDIR という変数は、
APEL の場合には emu モジュールをインストールするディレクトリを指定する
ために使っていますが、他のパッケージでは make するときに必要な emu モ
ジュールがどこにあるかを知らせるために使っています。

それから、非標準のディレクトリにインストールする場合に注意しなければな
らないことがあります。
APEL 以外のパッケージを make するときに必要なのは emu モジュールだけで
はなく、APEL モジュール (APEL パッケージに含まれている emu モジュール
以外のプログラム) や FLIM (または SLIM など) のパッケージも make する
ときに使われます。
上記の例では LISPDIR という変数で emu モジュール以外のインストール先を
指定していますが、実はこれで APEL モジュールの所在をも知らせているので
す。すなわち APEL 以外のパッケージを make するときに LISPDIR でインス
トール先の親ディレクトリを指定した場合、その下の apel というサブディレ
クトリに APEL モジュールがインストールされていることが暗黙の了解事項な
のです。ということは、FLIM (または SLIM など) や SEMI (または WEMI) な
どをインストールするサブディレクトリは、APEL モジュールがインストール
されている apel と共通の親ディレクトリの下になければならないことを意味
しています。

以上 LISPDIR と VERSION_SPECIFIC_LISPDIR を使ってインストール先のディ
レクトリを指定する方法を説明しましたが、他に PREFIX という変数も使うこ
とができます。この変数を使った場合に実際のインストール先がどこになるか
は、APEL パッケージを展開したディレクトリで `make what-where' を実行し
たときに現れる APEL モジュールの行き先で判断して下さい。下に例を示しま
す。

% cd /tmp/$APEL
% make what-where EMACS=mule PREFIX=~/

さらに version 21.0 以上の XEmacs で `make install-package' を行なうと
きは PACKAGEDIR という変数でインストール先を指定することができますが、
現在 `what-where' では対応していません。説明は各パッケージに含まれてい
る README.en に譲ります。

最後に冗談みたいな本当の話を一つ。:-)
LISPDIR や VERSION_SPECIFIC_LISPDIR などで NONE という名前のディレクト
リを指定することはできません。


6. load-path の設定

XEmacs や version 20.2 以上の Emacs では、標準インストールの方法を使え
ば自動的に load-path が設定されるので何もする必要はありません。しかし
非標準のディレクトリにインストールする場合などは .emacs などで明示的に
設定する必要があります。以下に例を示します。

(add-to-list 'load-path "~/elisp/semi")
(add-to-list 'load-path "~/elisp/flim")
(add-to-list 'load-path "~/elisp/apel")
(add-to-list 'load-path "~/elisp/emu")

この場合は最後に設定した "~/elisp/emu" が最も優先度が高くなります
(load-path の他のディレクトリに同名のファイルがあっても無視される) が、
これらの順序はさほど気にする必要はありません。


7. gnus について

  *ご注意*
  現在、文字通り "Semi-gnus" という名前の "gnus" は、実質的にメインテ
  ナンスが行なわれていません。

APEL, FLIM (または SLIM など) および SEMI などを標準インストールの方法
で構築した環境では特別なことをしなくても `configure ; make' で gnus の
make に成功するでしょう。しかし標準ではないディレクトリに emu や APEL
モジュールなどと CUSTOM パッケージがインストールされた環境で、

% $EMACS -q -no-site-file

で起動した Emacsen の load-path にそれらがインストールされているディレ
クトリが含まれていない場合には、make するときに Emacsen に教えてあげな
ければなりません。

T-gnus 6.14 〜 6.16 では Mule 2.3 based on Emacs 19.34 以上の Emacsen
で make できる仕組みを用意しています。これを使う方はこの項の以下の説明
は飛ばして、パッケージに含まれている Mule23@1934 というファイルの内容
を参照して下さい。
それから、特に Mule 2.3 based on Emacs 19.34 を使う場合は、対策しなけ
ればならないことがありますので、8. loaddefs.el 対策 の項を必ず参照して
下さい。

load-path を明示的に指定するには dgnushack.el というファイルを少し改造
します。このファイルの 240 行目付近に

(push srcdir load-path)

という記述があると思いますが、この一行上に emu モジュールが置かれてい
るディレクトリと apel や flim などのサブディレクトリが置かれている場所
とその親ディレクトリ、そして必要なら CUSTOM パッケージがインストールさ
れているディレクトリを load-path に追加する設定を書き込んで下さい。ま
た Mule 2.3 based on Emacs 19.34 のように CUSTOM を load しなければ使
えない場合には、そのための記述も必要です。

(add-to-list 'load-path "~/elisp")
(add-to-list 'load-path "~/elisp/semi")
(add-to-list 'load-path "~/elisp/flim")
(add-to-list 'load-path "~/elisp/apel")
(add-to-list 'load-path "~/elisp/emu")
(add-to-list 'load-path "~/elisp/custom")
(require 'custom)

(push "." load-path)

この例には冗長なものも含まれていますが、ここまでやっておけば make に失
敗することはまず無いと思います。
本来こういうことは configure が行なうべきものですので、これに大鉈を振
るって下さる方が現れることを期待しています。

なお、Semi-gnus を version 19 以下の Emacsen で使うことはできません。
しかし、現在 T-gnus 6.14 〜 6.16 だけは Mule 2.3 based on Emacs 19.34
で使うことが可能です。

gnus に関する情報交換は、主に Semi-gnus メーリングリストで行なわれてい
ます。gnus を使おうと考えている方やすでに使っている方には、参加される
ことをお勧めします。加入方法は 9. 付録 の項をご覧下さい。

以上の説明は T-gnus, Nana-gnus, Chaos の各分派に当てはまるものです。


8. loaddefs.el 対策

Mule 2.3@19.34 の lisp/loaddefs.el には古い message.el のための変数定
義が存在しており、Mule の実行ファイルに組み込まれてしまっています。
そのせいで新しい message.el のデフォルト定義が有効にならないので、
loaddefs.el に存在するすべての "(defvar message-..." を無効にしてコン
パイルし直すか、または以下のプログラムを .emacs などのなるべく初めの方
に書き込んで下さい。

(let ((symbols '(citation-line-function
		 cite-function courtesy-message default-headers
		 default-mail-headers default-news-headers
		 deletable-headers fcc-handler-function
		 followup-to-function from-style
		 generate-headers-first generate-new-buffers
		 ignored-bounced-headers ignored-cited-headers
		 ignored-mail-headers ignored-news-headers
		 ignored-resent-headers ignored-supersedes-headers
		 included-forward-headers indent-citation-function
		 interactive kill-buffer-on-exit post-method
		 reply-to-function required-mail-headers
		 required-news-headers send-mail-function
		 send-news-function signature
		 signature-before-forwarded-message signature-file
		 signature-separator syntax-checks use-followup-to
		 user-organization-file wide-reply-to-function
		 yank-prefix))
      symbol)
  (while symbols
    (setq symbol (car symbols)
	  symbols (cdr symbol))
    (makunbound (intern (format "message-%s" symbol)))))


9. 付録

apel および emacs-mime メーリングリストに参加したい人は以下のアドレス
にボディに help と書いたメールを送って、返送されてくる案内をご覧下さい。

 apel-ja-ctl @ m17n org (日本語版)
 apel-en-ctl @ m17n org (英語版)
 emacs-mime-ja-ctl @ m17n org (日本語版)
 emacs-mime-en-ctl @ m17n org (英語版)

Semi-gnus メーリングリスト参加したい人は以下のアドレスに空のメールを送っ
て下さい。

 semi-gnus-ja-subscribe @ meadowy org (日本語版)
 semi-gnus-en-subscribe @ meadowy org (英語版)

以下は tm を普通にインストールしたときにできるファイルの例の一覧です。
あなたの環境から tm を一掃するときの参考になるかもしれません。

/usr/local/share/mule/19.34/site-lisp:
emu-19.el       emu-19.elc
emu-mule.el     emu-mule.elc
emu.el          emu.elc
richtext.el     richtext.elc

/usr/local/share/mule/site-lisp:
cless.el        cless.elc
file-detect.el  file-detect.elc
filename.el     filename.elc
genjis.el       genjis.elc
mime-setup.el   mime-setup.elc
range.el        range.elc
texi-util.el    texi-util.elc
tl-atype.el     tl-atype.elc
tl-list.el      tl-list.elc
tl-misc.el      tl-misc.elc
tl-num.el       tl-num.elc
tl-seq.el       tl-seq.elc
tl-str.el       tl-str.elc
tu-comment.el   tu-comment.elc
tu-replace.el   tu-replace.elc

/usr/local/share/mule/site-lisp/bitmap:
bitmap.el       bitmap.elc
po.el           po.elc
smiley-mule.el  smiley-mule.elc
x-face-mule.el  x-face-mule.elc

/usr/local/share/mule/site-lisp/mu:
latex-math-symbol.el    latex-math-symbol.elc
mu-bbdb.el      mu-bbdb.elc
mu-cite.el      mu-cite.elc
std11-parse.el  std11-parse.elc
std11.el        std11.elc

/usr/local/share/mule/site-lisp/mel:
mel-b.el        mel-b.elc
mel-g.el        mel-g.elc
mel-q.el        mel-q.elc
mel-u.el        mel-u.elc
mel.el          mel.elc

/usr/local/share/mule/site-lisp/tm:
gnus-art-mime.el        gnus-art-mime.elc
gnus-charset.el         gnus-charset.elc
gnus-mime-old.el        gnus-mime-old.elc
gnus-mime.el            gnus-mime.elc
gnus-sum-mime.el        gnus-sum-mime.elc
message-mime.el         message-mime.elc
sc-setup.el
signature.el    signature.elc
tm-bbdb.el      tm-bbdb.elc
tm-def.el       tm-def.elc
tm-edit-mc.el   tm-edit-mc.elc
tm-edit.el      tm-edit.elc
tm-ew-d.el      tm-ew-d.elc
tm-ew-e.el      tm-ew-e.elc
tm-file.el      tm-file.elc
tm-ftp.el       tm-ftp.elc
tm-html.el      tm-html.elc
tm-image.el     tm-image.elc
tm-latex.el     tm-latex.elc
tm-mail.el      tm-mail.elc
tm-mh-e.el      tm-mh-e.elc
tm-parse.el     tm-parse.elc
tm-partial.el   tm-partial.elc
tm-pgp.el       tm-pgp.elc
tm-play.el      tm-play.elc
tm-rmail.el     tm-rmail.elc
tm-setup.el     tm-setup.elc
tm-tar.el       tm-tar.elc
tm-text.el      tm-text.elc
tm-view.el      tm-view.elc
tm-vm.el        tm-vm.elc
tmh-comp.el     tmh-comp.elc

/usr/local/bin:
decode-b        ol2

/usr/local/share/tm:
tm-au  tm-file  tm-html  tm-image  tm-mpeg  tm-plain  tm-ps  tmdecode