[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 メーリングリストの案内