this makes it a little more obvious maybe? => (pr-str (seq (println 1))) 1 "nil" => (= "nil" (pr-str (seq (println 1)))) 1 true
=> (pr-str (lazy-seq (println 1))) "(1\r\n)" => (= "(1\r\n)" (pr-str (lazy-seq (println 1)))) true On Sun, Feb 10, 2013 at 1:55 AM, Armando Blancas <abm221...@gmail.com>wrote: > There's nothing wrong with pr-str. Debug output should go to stderr. > > user=> (def k (pr-str (for [x (range 5)] > (do (.println *err* x) > (.println *err* "nothing") > x)))) > 0 > nothing > 1 > nothing > 2 > nothing > 3 > nothing > 4 > nothing > #'user/k > user=> k > "(0 1 2 3 4)" > > On Saturday, February 9, 2013 2:41:23 PM UTC-8, AtKaaZ wrote: > >> these examples to illustrate what you are saying: >> >> => (= "(debug 1\r\n2 nil 3)" (pr-str (lazy-seq (list 2 (println "debug" >> 1) 3)))) >> true >> >> >> => (= "(1\r\n)" (pr-str (lazy-seq (println 1)))) >> true >> >> >> >> >> On Sat, Feb 9, 2013 at 10:57 PM, Conrad <drc...@gmail.com> wrote: >> >>> For those reading this, the issue is NOT that output in the REPL looks >>> funny. The problem is that if, for instance, you put debug code into a >>> chunk of code that makes use of "pr-str" your debug code is actually >>> WRITTEN TO THE STRING. This is because "pr-str" works by using >>> "with-out-str". This seems clumsy and is undocumented IMHO and I am >>> wondering if other people feel the same. >>> >>> >>> On Saturday, February 9, 2013 12:30:20 PM UTC-6, Conrad wrote: >>>> >>>> I tested this in the latest 1.5.0-RC6: >>>> >>>> => (def k (pr-str (for [x (range 5)] >>>> (do (pr x) >>>> x)))) >>>> #'user/k >>>> => k >>>> "(012340 1 2 3 4)" >>>> >>>> This seems wrong to me... I can see what would be needed to fix it in >>>> clojure/core.clj, but it would require creating several additional private >>>> functions. Does anyone know if this behavior is intentional? >>>> >>> -- >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@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+u...@**googlegroups.com >>> >>> For more options, visit this group at >>> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com. >>> >>> For more options, visit >>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>> . >>> >>> >>> >> >> >> >> -- >> Please correct me if I'm wrong or incomplete, >> even if you think I'll subconsciously hate it. >> >> -- > -- > 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. > > > -- Please correct me if I'm wrong or incomplete, even if you think I'll subconsciously hate it. -- -- 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.