最新更新日 2001.07.25.

*emacs と、mew-2.0。
 やはり書かねばならぬのだろうなぁ・・。自分のまとめとしても書いておきます。と、言う事で、emacs ネタと、mew ネタです。XEmacs は 21.1 から 21.4.3、21.5.1 になりました。Emacs は emacs-19.34/mule-2.3 から emacs-20.7、emacs-21.0 になりました。そして mew はいよいよ、MEW2 になります(2001/07/25 時点では、2.0pre4 です)。さぁ、メール環境の充実を図りましょう。

 と、言う事でまずは、XEmacs ですが、sumo も新しい版が出ています。以下の URL を参考にして持ってきてください。

ftp://sunsite.sut.ac.jp/pub/archives/packages/xemacs/xemacs-21.4/

 一つにまとまった xemacs-21.4.3.tar.gz と、ばらけているxemacs-21.4.3-elc.tar.gz、xemacs-21.4.3-info.tar.gz、xemacs-21.4.3-src.tar.gz のどちらを拾って来ても良いです。ま、実質的サイズは対して変わらないことでしょう。

ftp://sunsite.sut.ac.jp/pub/archives/packages/xemacs/packages/

 sumo の最新は xemacs-mule-sumo-2001-07-09.tar.gz、xemacs-sumo-2001-07-09.tar.gz になります。これらも用意しましょう。用意が出来た所で、

----------------
# mkdir /usr/local/lib/xemacs
# cd /usr/local/lib/xemacs
# mv ~/xemacs-mule-sumo.tar.gz ./
# mv ~/xemacs-sumo.tar.gz ./
# tar xvzfp xemacs-mule-sumo-2001-07-09.tar.gz
# tar xvzfp xemacs-sumo-2001-07-09.tar.gz
----------------
 こんな感じで準備を整えます。そんでもって XEmacs の make ですね。configure のオプションは以下の通りに・・。
----------------
./configure --with-gtk --with-gnome --with-site-lisp=yes --with-mule \
--with-xfs --site-libraries=/usr/local/lib --site-includes=/usr/local/include \
--debug=no --error-checking=none --memory-usage-stats=no --with-xface \
--with-sound=esd --with-xim=xlib --with-i18n3 --with-canna \
--without-wnn --without-wnn6
----------------
 私は canna 派です。Wnn な人は適意変更してください;-)。上記は XEmacs-21.4.3 の configure です。ついでに XEmacs-21.5.1 の configure を書くと以下になります。
----------------
./configure --with-gtk --with-gnome --with-x11 --with-sound=esd \
--with-site-lisp=yes --with-canna --with-mule --with-i18n3 \
--debug=no --error-checking=none --memory-usage-stats=no --with-xface
----------------
 x-face を使うのであれば、packages から faces-1.6.1_1.tgz を pkg_add しておきましょう。また、compface と言うのもインストールしておきましょう。compface に付いては 2.2.8 の頃に書いているのでそっちを参考にしてください。

 これで、make して make install すればおしまいです。後はいろいろ使い込んでみましょう。あ、~/.emacs の変更もあるか・・。XEmacs-21.4.3 をインストールすると、~/.xemacs と言うディレクトリが掘られます。でもって custom.el、init.el と言う二つのファイルが作成されます。ま、頑張って設定しましょう;-)。

 さささ、XEmacs のインストールが終わりました。emacs に付いて少しだけ書きますと、4.3-RELEASE の packages に含まれている ja-emacs20-dl-canna-1.4.tgz をインストールするとデコデコデコっと一連の関連するファイルをインストールしてくれて、canna による日本語入力が Ready となるのでお気楽です。ただし・・。こいつはリモートから login して emacs -nw などと起動すると core dump します。どこがいけないのでしょうね・・。しくしく。

 と、言う事で次に emacs-21 を make してみましょう。私が挑戦したのはemacs-21.0.98 と言うちょっと古るめのバージョンです。現在は 21.0.104 くらいになっているかと思います。私が使っていたバージョンでは、canna-20010107.diff、emacs-21.0.9x-lisp.h.diff などのパッチが必要でした。でもって egg-canna.el なんてのも必要だったりしました。これがあると、canna で日本語入力が可能です。今の 21.0.104 はどうなんだろうなぁ?マージされたのかな? configure は以下にしました。

----------------
./configure --with-x --with-png --with-gif --with-tiff --with-jpeg --with-xpm --with-canna
----------------
 比較的簡単ですね。これでダメな場合はカスタマイズしてください;-)。もしかすると、flim やら、apel やら、semi などが必要になるかも知れません・・。私は、packages で emacs-20.7 をインストールしているので既に入ってしまっています;-)。しかし、多分、leim.xtar.gz と言うのは必要になると思います。

 さてと・・。FreeBSD 上で make した emacs-21 は XEmacs よりバイナリがでかくなっています。グラヒカルに綺麗になったのに重さから言うと、emacs-20.7 よりも随分と重くなっています。XEmacs を使い続けるか、emacs-21 を使うか?と言われれば、多分私は XEmacs を使い続けることでしょう。

 さ、駆け足であっと言う間に書いてしまった emacs、XEmacs ネタはこれにておしまい。configure オプションなどは皆さん頑張って色々試してみてください。あ、最後に沢山の emacs 系エディタをインストールした時の .emacsの振り分けについて触れておきます。上にも書いた通り XEmacs-21.4.3 をインストールすると、.xemacs と言うディレクトリが出来ます。でもって一番最初に参照されるのは、~/.xemacs/init.el ですが、ここに振り分けする様に書きます。

----------------
;
; mule-19.34 と xemacs-21.1/emacs-20.7 を起動するための設定
;
;;;;;;;;;;;;;;;;;;;;;;;;;
(cond ((featurep 'xemacs) 
        (load "~/.xemacs/.emacs.xemacs")) ; XEmacs 用初期化ファイル
      ((string-match "20" emacs-version)
        (load "~/.xemacs/.emacs.20.7"))   ; Emacs-20.7 用初期化ファイル
      ((string-match "21" emacs-version)
        (load "~/.xemacs/.emacs.21.1"))   ; Emacs-21 用初期化ファイル
      (t 
        (load "~/.xemacs/.emacs.19.34")   ; Emacs-19.34 用初期化ファイル
))
;;;;;;;;;;;;;;;;;;;;;;;;;
----------------
 これで後は個別の設定をすれば OK でしょう。ではでは。
mew-2.0 に付いて
 さぁてと・・。これもやっぱり書かねばなるまい。と、言う感じですね。 大きな変更点を書いてみましょう。

・IM を捨てました。全て mew で動きます。
・mew 専用の設定ファイルとして、~/.mew をデェフォルトで見るようになりました。
・サマリモードがスレッドに対応しました。
・emacs-19.34、mule-2.3 では mew が動かなくなりました。
・沢山の機能追加と高速化とバグフィックス。

 こんな感じでしょうか。大きい変更が沢山有りますね。さすがは mew2 と言う所でしょうか;-)。順番に見て行くと、

 IM を捨てたので、今まで ~/.im/Config で設定していたモノは全て .emacs に書くことになりました。これにより、.emacs の記述としての mew の部分が大きくなるために、~/.mew と言うファイルに個別に記述出来る様になりました。

 サマリモードでスレッドに対応しました。この機能は非常に嬉しいですね。
#実はこの機能の実装には裏があり、mew を使っているある人が かずさん にうまいワインをたんまりとご馳走したした為に追加された。と、言うお話がまことしあかに流れています。mew はもはやフリーウェアでは無く、ワインウェアだと言っても良い。と、言う感じでしょうか;-P(ウソウソ冗談です。お願いですからまともに取らないで;-)。

 沢山の機能追加をしていく上で過去のしがらみを引きずった mule 系の emacs の対応を捨てざるを得なくなってきました。なので、mule-2.3 上で mew2 は動かなくなりました。ま、考えてみると、ほとんどの PC-UNIX のパッケージで mule-2.3 があるのは FreeBSD くらいな物でして・・。「みんな、emacs に移行しようよ。」と言う願いも込められているみたいです;-P。

 なんか・・。ここまでで、好きな事書いている様だなぁ・・(^^;;。これじゃ芸風やら作風が Kondara の FAQ と体して変わらないや・・(^^;;サクサクっと聞き流してください。

 さてと・・。設定篇です;-)。ま、今まで ~/.im/Config で設定していたモノをいきなり、lisp 風に書き換えるには随分と大変です。ふぅぅ。私の設定を例にして見ていきましょう。

----------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; あると便利な設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; エラーを調査する時の設定でなんか動作しない時には中々有効な手段です。
;(setq debug-on-error t)

; 速い CPU を持つマシンでは kiki と jiji があっといまに消えてしまいま
; すが任意の秒数表示しておくことが可能となる設定です。
(setq mew-demo-sit-for 2)

; 一番最後に [End of message] を付けない設定です。
(setq mew-end-of-message-string nil)
(setq mew-end-of-part-string nil)

; 要らないヘッダを表示しない設定です。
(setq mew-field-other-visible nil)

; URL を「Shift+右ボタン」でクリックするとブラウザ起動する設定です。
(setq browse-url-browser-function 'browse-url-netscape)
(autoload 'browse-url-at-mouse "browse-url"
   "Ask a WWW browser to load a URL clicked with the mouse." t)
(add-hook 'mew-message-mode-hook
   (function
      (lambda()
         (local-set-key [(shift button3)] 'browse-url-at-mouse)
)))

; サマリバッファをカレントディレクトリにする設定です。C-xC-f した時、
; ~/Mail/inbox/ とならないで ~/ とする様にします。
(setq mew-summary-trace-directory nil)

; メールの前の内容を BS で見る事が出来る様にする設定です。
(cond ((featurep 'xemacs)
  (define-key mew-summary-mode-map [backspace] 'mew-summary-prev-page)
))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; サマリモードの設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; サマリモードの表示の設定です。今までは、~/.im/Config で設定していま
; した。
(setq mew-scan-form-list
      '((("+inbox")
	 (type (5 date) (20 from) (0 subj)))
	(t
	 (type (5 date) (20 from) (0 subj)))
	))

; thread モードにした時にかっこよくずらす場所のカラムを指定する設定。
(setq mew-thread-column 38)

; スレッド表示した時に綺麗になる設定です。
(setq mew-use-fancy-thread t)
(setq mew-fancy-thread-indent-strings ["┣" "┗" "┃" " "])

; "*"reviewマークが付かない様にする設定です。僕には使い方がよーわーら
; んです(^^;;。
(setq mew-scan-form-mark-review nil)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 送信/受信の設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; SMTP Server の指定ですが、私は明示的に設定しています。
(setq mew-smtp-server "localhost")

; POP する時に大きいメールも POP してしまう設定。デェフォルトでは POP
; しないでスキップします。
(setq mew-pop-size 0) 

; ~/.im/Config の case の設定です。凄く複雑ですよ;-)。後で詳しく説明し
; ます;-)
(setq mew-config-alist
      '(
	("v6"
	 ("user"           . "takachan")
	 ("name"           . "TAKANO Yuji (たかのゆ〜じ)")
         ("mail-domain"    . "v6.running-dog.net")
	 ("mailbox-type"   . mbox)
	 ("mbox-command"   . "mewinc")
	)
	("run-dog"
	 ("user"           . "takachan")
	 ("name"           . "TAKANO Yuji (たかのゆ〜じ)")
	 ("mail-domain"    . "running-dog.net")
         ("pop-auth"       . pass)
         ("pop-user"       . "takachan")
	 ("pop-server"     . "home.running-dog.net")
	 ("pop-ssh-server" . "home.running-dog.net")
	 ("pop-delete"     . nil)
 	 ("header-alist"         . (
	   ("X-FingerPrint" . "F739 1D11 792E AF3C 501E  8A70 F7AA 605B B07C 45A5")
 	   ("X-PGP-Key"     . "http://www.running-dog.net/takachan.pubkey")
	 ))
	)
	("default"
	 ("user"           . "takano")
	 ("name"           . "TAKANO Yuji (高野 有司)")
	 ("mail-domain"    . "running-dog.jp")
	 ("pop-auth"       . pass)
	 ("pop-user"       . "takano")
	 ("pop-server"     . "mail.running-dog.jp")
	)
       ))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 色を付ける設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(setq mew-theme-file "~/.mewrc-theme.el")

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; フォルダの振り分け    M-x mew-summary-auto-refile
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(setq mew-refile-guess-alist
   '(("From:"
;        ("MAILER-DAEMON" . "+trash")
;        ("POSTMASTER"	  . "+trash")
        ("spam@aol.com"   . "+trash")
     )
     ("To:"
     )
     ("Cc:"
     )
     ("Reply-To:"
     )
     ("Subject:"
	("[mew-dist"	. "mew-dist")
     )
))
----------------
 ま、大体こんな感じでしょうか。途中に説明があるので大体はそれを読んで頂ければお解りかと思います。簡単な所からの説明を・・。

・サマリモードのスレッドに付いて。
S して all した後で tt とたたけばサマリモードでスレッドが有効になります。是非お試し下さい。mew-scan-form-list は ~/.im/Config で言う所の From= の部分になります。自分で色々試して好みの物にしてください。

・mew で読むメールの色の表示が変わりました。
mew のソースに mew-theme.el と言うのがるかと思いますが、これを自分のディレクトリにコピーしてバババと変更して、ロードしてあげると好みの色になります。ま、ヘッダの Bold が嫌いなんでその部分を変更した程度ですが・・。

・~/.im/Config で言う所の case です。mew-config-alist は。
今回は三つの設定を用意しました。 "v6"、"run-dof"、"default" です。ま、大体眺めてみると解るとお解りかと思いますが、

"v6" の設定は、/var/mil/takachan と言うローカルなメールスプールからメールを inbox に落とす設定です。その時に mewinc と言うコマンドを利用します。mewinc は mew のソースの中の contrib と言うディレクトリの中にあるので /usr/local/bin に cp して上げましょう。qmail の場合には incdir を利用します。

続いて "run-dog" と言う設定ですが、ssh を利用してメールを POP して来ま す。home.running-dog.net と言う、POP サーバであり、sshd が動いているサーバに対し、mew がネイテブに ssh のポートフォワードコネクションを確立してメールを持ってきます。POP サーバは APOP に対応していないので pop-auth は 平文テキストである pass を指定します。認証は SSH の認証と、POP の認証の二回通過する必要があります。SSH の ID と POP の ID が違う場合は、SSH の設定で "ssh -l UserID" 部分を設定して上げましょう。man ssh で確認してください。

最後の "default" の設定ですが、mail.running-dog.jp と言う POP サーバに対して平文テキストバスワードで POP して来ます。ごく普通のパターンですね;-)。

 とまぁ、こんな感じでしょうか・・。mew-config-alist 内で指定するキーは、全て

(setq mew-??? "hoge")

として、 mew-config-alist 外で指定できます。共通の項目などは mew-config-alist の外に一個だけ設定した方が綺麗かもしれないですね。

 他の設定としては mew-summary-auto-refile なんかは多分昔から有った機能だと思いますが一応書いておきました;-)。

 さてと、mew-2.0 はもうすぐリリースです。待ち遠しいですね。私の場合は、β版から使っているのであんまり気にはならないのですけどね・・(^^;;。では、皆さんも頑張って UNIX 上のメーラを使い込んでみましょう;-)。



Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.