[Armedbear-devel] symbol-macrolet + nth-value

James M. Lawrence llmjjmll at gmail.com
Tue May 6 23:12:04 UTC 2014


Hello,

(defun foo ()
  (symbol-macrolet ((x 3))
    (symbol-macrolet ((y (nth-value 0 x)))
      y)))

Compiling this with COMPILE (C-c-c in slime) warns about X being
undefined, and an unbound X error occurs when FOO is run.

(macroexpand-1
 '(defun foo ()
   (symbol-macrolet ((x 3))
     (symbol-macrolet ((y (nth-value 0 x)))
       y))))

;;=>
(PROG1 (SYSTEM:%DEFUN
        'FOO
        (SYSTEM:NAMED-LAMBDA FOO NIL
          (BLOCK FOO
            (LOCALLY (LOCALLY (NTH-VALUE 0 X)))))))

X didn't get expanded.

There is no problem when compiling the DEFUN form with COMPILE-FILE (C-c-k).

_______________________________________________
Armedbear-devel mailing list
Armedbear-devel at common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel



More information about the armedbear-devel mailing list