nemacs + clime-1.14 + wanderlust 2.5.4

Katsumi Yamaoka yamaoka @ ga.sony.co.jp
2001年 1月 9日 (火) 16:54:28 JST


>>>>> In [Wanderlust : No.06555] 
>>>>>	Taiji.Can @ atesoft.advantest.co.jp wrote:

管さん> そこで、
管さん>       * poe-18.el (numberp, mod): Removed.  
管さん> の、辺りを見直して頂けるか、wl 側で何か対処して頂けるかすると、
管さん> Nemacs での wl がまだいける(と、思っている)のですが、如何でしょ
管さん> うか?

`mod' という関数には、例えば

10÷3=3 あまり 1

のような算数で、「あまり 1」を返すことが期待されています。すなわち

(mod 10 3)
 => 1

`mod' と同様の関数に `%' というものもあって、最近の Emacsen ではどちら
も同じような動作をするように見えます。

cl を load していない Nemacs では `mod' は `%' に対する alias で、この
場合は問題無いのですが、cl を load すると cl が独自に定義している
`mod' が使われ、どうもこれがおかしな動作をするようなのです。Wanderlust
では `mod' が少なからず使われているので、おそらくその辺りで問題が起き
ているのではないかと想像します。

当初 poe-18.el から `mod' の定義を削除したのは、内容はどうあれ Nemacs
などでは既存の関数だから、という理由だったのですが、その後少し考えが変
わりました。poe-18.el で `mod' を `%' への alias として定義していた以
前の状態に戻すことに対して、ぼくは消極的です。なぜかと言うと poe-18.el
でそれを行なっても、その後で cl が load されてしまえば元の黙阿弥だから
です。

というわけで、Nemacs で cl の `mod' に悩ませられる問題に対しては、
.emacs に

(if (boundp 'NEMACS)
    (progn
      (require 'cl)
      (fset 'mod '%)))

と書いて対処することを提案したいのですが、いかがでしょうか?
Wanderlust が使っている `mod' 全部を `%' に変えれば、それでも良いので
しょうけれど、これは Wanderlust 以外でも起こる問題だと思います。

なお、Nemacs の cl の `mod' がなぜおかしいのか、肝心なところがよくわかっ
ていません。(^^;;)
-- 
Katsumi Yamaoka <yamaoka @ ga.sony.co.jp>




More information about the APEL-ja mailing list