Although let me say that I agree with false being the default.  I'm
not saying that is a bad idea, only that we need to be careful if
evaling what comes over... but I guess that is obvious and if not then
we get what we deserve.  ;-)


On Wed, Jan 30, 2013 at 12:23 PM, Michael Fogus <mefo...@gmail.com> wrote:
>> RuntimeException EvalReader not allowed when *read-eval* is false.
>
> The problem is that the second eval gets (<the actual + function> 1 2
> 3) which invokes the right pathway triggering the exception.  You can
> trigger the same exception by:
>
> (binding [*read-eval* false] (eval (list + 1 2 3)))
>
> People are not sending actual functions across the wire, so the only
> way to trigger this is to do some kind of pre-processing of symbols to
> functions or perhaps:
>
> (binding [*read-eval* false] (eval '(eval (quote (+ 1 2 3)))))
> ;;=> 6
>
> Whoops!
>
> Maybe setting *read-eval* to false is not enough.



-- 
-- http://blog.fogus.me
-- http://github.com/fogus
--

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to