1

S 式を取り、それらをフィクスチャの字句コンテキスト内で評価する関数を作成するマクロを作成しようとしています。これが私が書いたマクロです:

(defmacro def-fixture (name bindings)
  "Return a function that takes the form to execute but is wrapped between a let of the bindings"
  `(defun ,(intern (symbol-name name)) (body)
     (let (,bindings)
       (unwind-protect
           (progn
             body)))))

しかし、私がそれを実行すると、私が提供した字句コンテキストの外で実行されているようです

(def-fixture test-fixture '(zxvf 1))

(test-fixture '(= zxvf 1))
let: Symbol's value as variable is void: zxvf

ところで、変数の字句バインディングを有効にしました。私の間違いは何ですか?

4

2 に答える 2