random-state.net

Nikodemus Siivola

<< next | top | previous >>

May 15th 2004 #
random, May 15th 2004

Eugh. Eugh. SBCL deals with symbol-macrolet by having a lexical binding for the variable with value of form (sb-kernel:macro . expansion) and special casing that in MACROEXPAND-1:

(and (consp local-def)
     (eq (car local-def) 'macro)

Eugh. And I need to deal with this since package locks have to handle cases like the following:

(locked:with-foo ; binds locked:foo via symbol-macrolet
  (let ((locked:foo nil)) ...))

Eugh.