I may be missing something fundamental about "binding", because I can't understand how the imports fail inside the binding block:
This works: user=> (import '(java.io StringWriter)) nil user=> (def bout (StringWriter.)) #'user/bout user=> (binding [*out* bout] (import '(java.io File))) nil user=> (binding [*out* bout] (println (File. "/home/albert"))) nil user=> bout /home/albert But this doesn't (restarted the Repl to remove imports): user=> (import '(java.io StringWriter)) nil user=> (def bout (StringWriter.)) #'user/bout user=> (binding [*out* bout] (import '(java.io File)) (println (File. "/home/albert"))) java.lang.IllegalArgumentException: Unable to resolve classname: File (NO_SOURCE_FILE:3) user=> But this works (via load-file; also restarted the Repl to remove imports): file /home/albert/test.clj contains: /-----8<----/ (import '(java.io File)) (println (File. "/home/albert")) /----->8----/ user=> (import '(java.io StringWriter)) nil user=> (def bout (StringWriter.)) #'user/bout user=> (binding [*out* bout] (load-file "/home/albert/test.clj")) java.lang.Exception: Unmatched delimiter: ) (test.clj:1) user=> (binding [*out* bout] (load-file "/home/albert/test.clj")) nil user=> bout /home/albert Any explanations very appreciated. Albert -- Albert Cardona http://albert.rierol.net --~--~---------~--~----~------------~-------~--~----~ 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 clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---