There it is :
http://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L5984

The magic only happen for dos which are top level forms

2010/9/30 Phil Hagelberg <p...@hagelb.org>

> On Wed, Sep 29, 2010 at 11:02 PM, Laurent PETIT <laurent.pe...@gmail.com>
> wrote:
> >> The following form fails in Clojure 1.0, but was fixed in 1.1:
> >>
> >>    (eval '(do (require 'clojure.inspector) clojure.inspector/inspect))
> >
> > Yes, "do" is given special treatment, I've meet this part of code a while
> > back. It basically just is converted into as many eval() as there are
> exprs
> > in the do.
>
> Fascinating; thanks.
>
> It's a shame that forms with implicit "do" don't get treated
> similarly, but I suppose that's a sidetrack for which it would be very
> difficult to get all the edge cases for very little gain.
>
>    (eval '(when true (require 'clojure.inspector)
> clojure.inspector/inspect))
>
>    Exception in thread "main" java.lang.ClassNotFoundException:
> clojure.inspector (core.clj:6)
>
> -Phil
>
> --
> 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
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

-- 
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
Note that posts from new members are moderated - please be patient with your 
first post.
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

Reply via email to