[Mew-Win32 00364] Re: New mew-caesar.el beta
Shun-ichi GOTO
gotoh at example.com
1998年 3月 4日 (水) 14:38:51 JST
後藤@太陽計測です
>>>>> From: "YAMAGUCHI, Shuhei" <yamagus at example.com>
> 小関> そうだそうだ、semi or tm を使っている(インストールされている)
> 小関> とか、mime-setup しているというのはどうやって判断するのだろ
> 小関> う? と思った事がある。
> Shirai>
> Shirai> 私も思ったことがあるのですが、結局あきらめちゃった。;_;
>
> tmやSEMIに関しては、locate-libraryが使えるんじゃないでしょうか?
> (cond ((locate-library "SEMIだけが持つ関数")
> (require 'mule-caesar)
> nil)
> ((locate-library "tmだけが持つ関数")
> (require 'tm-def)
> t)
> (t
> "ext"))
> のような感じでいかがでしょう?
上記は、ライブラリファイルがload-pathにインストールされているのを
検出するわけですが、せっかく自動検出するならば、これに加え、
featurep を使用して既に読み込まれている(loadされている)ライブラリが
あれば、それを使うようにするのがよいかなぁと思います。
# ちなみに mime-setup されているかどうかは (featurep 'mime-setup)で
# わかります。
(defvar mew-caesar-function 'auto
"*caeser function.
If nil, do not caesar.
If 'auto, detect 'tm or 'semi automaticaly.
If 'tm, use tm:caesar-region
If 'semi, use mule-caesar
If string, execute command with shell-command
ex.) \"nkf -rj\"
")
使用するcaesar関数が明示されていなければ('auto の場合は)、読み込まれ
ている関数を調べ(featurep とか fboundp)、それでもなければlocate-library
で調べ、それでもなければギブアップ。とか。
--- Regards,
Shun-ichi Goto <gotoh at example.com>
R&D Group, TAIYO Corp., Tokyo, JAPAN
Mew-win32 メーリングリストの案内