From 8751e5b75fb216e7a4be2a2866dce50652f1b801 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 22 Nov 2020 15:21:44 -0700 Subject: [PATCH] Chez Scheme: fix `$describe-fasl-from-port` with cycles --- racket/src/ChezScheme/s/strip.ss | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/racket/src/ChezScheme/s/strip.ss b/racket/src/ChezScheme/s/strip.ss index d03a5f234b..2d5c392601 100644 --- a/racket/src/ChezScheme/s/strip.ss +++ b/racket/src/ChezScheme/s/strip.ss @@ -730,9 +730,12 @@ [else (let ([p (eq-hashtable-cell ht x #f)]) (or (cdr p) - (let ([v (describe-next x)]) - (set-cdr! p v) - v)))])) + (let ([self (vector 'CYCLE #f)]) + (set-cdr! p self) + (let ([v (describe-next x)]) + (vector-set! self 1 v) + (set-cdr! p v) + v))))])) (define (describe-next x) (fasl-case x [entry (situation fasl)