Cyclic records cannot be printed

Bug #174594 reported by Joe Near
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Fix Released
Low
Abdulaziz Ghuloum

Bug Description

> (define-record-type t (fields (mutable x)))
> (define x (make-t 1))
> (t-x-set! x x)
> (printf "~s\n" x)

Causes an infinite loop, while the following works just fine:

> (define x (cons 'a 'b))
> (set-car! x x)
> (printf "~s\n" x)
#0=(#0# . b)

Do you plan to support something like this with records?

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

Weird. This works here:

Ikarus Scheme version 0.0.2patched+ (revision 1193, build 2007-12-07)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

> (define-record-type t (fields (mutable x)))
> (define x (make-t 1))
> (t-x-set! x x)
> (printf "~s\n" x)
#0=#[t #0#]
> x
#0=#[t #0#]
> (display x)
#0=#[t #0#]

Changed in ikarus:
assignee: nobody → aghuloum
importance: Undecided → Low
status: New → Fix Committed
Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

This bug report is about to be closed as the fix comitted
previously will be incorporated in the next 0.0.3 release of
Ikarus Scheme, scheduled for January 31, 2008. A release
candidate tarball is available for download from:
http://www.cs.indiana.edu/~aghuloum/ikarus/ikarus-0.0.3-rc1.tar.gz
Please do test it if you have the time and report any issues
you might encounter. Thank you very much for your support.
(Sorry for the duplicates; I'm updating every open bug.)

Changed in ikarus:
milestone: none → 0.0.3
Changed in ikarus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.