Here is a little test : (def *indent* 0)
(defmacro with-indent [& body] `(binding [*indent* (+ *indent* 1)] [EMAIL PROTECTED])) => (with-indent (print *indent*) (lazy-cons *indent* (cons *indent* nil))) 1(0 0) I somehow expected to have the special variable value lexically bound at evaluation time. So I guess this makes perfect sense from the implementor point of view. But do we not loose much of the added value of special variables this way ? If this is intended, what's the rationale ? Thanks, Sacha --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---