The attached patch to clojure.core fixes the printing problem for types that have no implementation of print-method. When such objects are printed or converted to strings, an infinite loop leads to a stack overflow. The reason is that the :default implementation for print-method calls str on the object, which in turn calls print- method again.
The path makes two changes: 1) The current :default implementation becomes the implementation for Object, thus remaining the default for everything that does not have a type field in the metadata. 2) A new :default implementation calls print-method recursively after having removed the :type field from the object's metadata. Konrad. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
print-method.patch
Description: Binary data