From 8539dd3915663e0ada87fd2e622f3c64e0241904 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 22 May 2019 13:23:45 -0400 Subject: [PATCH] Bug fix --- scheme/cyclone/util.sld | 4 +++- test-immut.scm | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scheme/cyclone/util.sld b/scheme/cyclone/util.sld index 0adced0b..c909fe87 100644 --- a/scheme/cyclone/util.sld +++ b/scheme/cyclone/util.sld @@ -784,7 +784,9 @@ (define (Cyc-set-immutable! obj val) (_Cyc-set-immutable! obj val) (cond - ((pair? obj) (for-each (lambda (o) (_Cyc-set-immutable! o val)) obj)) + ((pair? obj) + (_Cyc-set-immutable! (car obj) val) + (_Cyc-set-immutable! (cdr obj) val)) ((vector? obj) (vector-for-each (lambda (o) (_Cyc-set-immutable! o val)) obj)))) ;; END immutables diff --git a/test-immut.scm b/test-immut.scm index f5e0b722..2fdf68c8 100644 --- a/test-immut.scm +++ b/test-immut.scm @@ -29,7 +29,9 @@ (define (Cyc-set-immutable! obj val) (_Cyc-set-immutable! obj val) (cond - ((pair? obj) (for-each (lambda (o) (_Cyc-set-immutable! o val)) obj)) + ((pair? obj) + (_Cyc-set-immutable! (car obj) val) + (_Cyc-set-immutable! (cdr obj) val)) ((vector? obj) (vector-for-each (lambda (o) (_Cyc-set-immutable! o val)) obj)))) (define lis '(1 2 3)) @@ -50,7 +52,7 @@ (list (immutable? vec) (immutable? (vector-ref vec 0)) - ;(Cyc-set-immutable! vec #f) + (Cyc-set-immutable! vec #f) (immutable? vec) (immutable? (vector-ref vec 0)) (vector-set! vec 0 'x)