[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01870] Re: 関数名の修飾について質問



大橋さん、こんにちは。

    Wed, 10 Feb 1999 10:23:13 +0900 の
   “[xyzzy:01864] Re: 関数名の修飾について質問”
    への返事です.

| >(eval-when (:compile-toplevel :load-toplevel :execute)
| >  (require "foreign"))
| のeval-whenというのはどういう意味でしょうか。F1でもF4でも説明が出てこないの

ひとことで言うと、フォームをいつ評価するかってことです。

今回の例だと、define-dll-entry などのマクロはコンパイル時に展開
されなければならないのですが、define-dll-entry は foreign で定
義されているので、foreign がロードされていないとマクロであるこ
とが認識できません。(eval-when ...) がなく、単に (require 
"foreign") だけだと、コンパイル時には単なる関数コールだとみなさ
れてしまうため、マクロが展開されなくなってしまいます。そのため
に、eval-when でコンパイルするときも foreign をロードしろと指定
しているわけです。

# 書いた本人が読んで分かんないんだから、分からんだろうなぁ(^^;

--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx/JCA00343@xxxxxxxxxxx

Index Home