Wo-hoo! I found a fix.

I think it is only a JVM issue to the extent that the 1.6 JVM might be
able to mask the bug by doing escape analysis or some such other
magic, but that dosn't mean that the bug isn't there.

It's a super-simple little thing, and I can't imagine a CA is needed
to apply it. Patch:

Index: src/jvm/clojure/lang/RT.java
===================================================================
--- src/jvm/clojure/lang/RT.java        (revision 1151)
+++ src/jvm/clojure/lang/RT.java        (working copy)
@@ -697,6 +697,7 @@
        else if(coll instanceof Sequential)
                {
                ISeq seq = ((IPersistentCollection) coll).seq();
+               coll = null;
                for(int i = 0; i <= n && seq != null; ++i, seq = seq.rest())
                        {
                        if(i == n)
@@ -759,6 +760,7 @@
        else if(coll instanceof Sequential)
                {
                ISeq seq = ((IPersistentCollection) coll).seq();
+               coll = null;
                for(int i = 0; i <= n && seq != null; ++i, seq = seq.rest())
                        {
                        if(i == n)



On Thu, Dec 11, 2008 at 7:00 PM, Paul Mooser <taron...@gmail.com> wrote:
>
> I think this might just be a JVM version issue. I can reproduce this
> issue with a 1.5 JVM, but I can't reproduce it with 1.6.
> >
>



-- 
Venlig hilsen / Kind regards,
Christian Vest Hansen.

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to