From d92c4e44e2d181900be5f53e4ad2dfa7609e6f9d Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 17 Sep 2010 18:41:43 -0600 Subject: [PATCH] fix make-reader-graph on proxied vectors --- collects/tests/racket/chaperone.rktl | 2 ++ src/racket/src/vector.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/collects/tests/racket/chaperone.rktl b/collects/tests/racket/chaperone.rktl index f2c1f33079..083df985b9 100644 --- a/collects/tests/racket/chaperone.rktl +++ b/collects/tests/racket/chaperone.rktl @@ -134,6 +134,8 @@ (test #t chaperone?/proxy (chaperone-vector (vector-immutable 1 2 3) (lambda (b i v) v) (lambda (b i v) v))) (err/rt-test (proxy-vector (vector-immutable 1 2 3) (lambda (b i v) v) (lambda (b i v) v))) +(test #(1 2 3) make-reader-graph (chaperone-vector (vector 1 2 3) (lambda (b i v) v) (lambda (b i v) v))) + (as-chaperone-or-proxy ([chaperone-vector proxy-vector] [chaperone-of? proxy-of?]) diff --git a/src/racket/src/vector.c b/src/racket/src/vector.c index 1b6028746b..2bc5bf63cc 100644 --- a/src/racket/src/vector.c +++ b/src/racket/src/vector.c @@ -698,7 +698,9 @@ Scheme_Object *scheme_chaperone_vector_copy(Scheme_Object *vec) a[1] = scheme_make_integer(0); a[2] = vec; - return vector_copy_bang(3, a); + (void)vector_copy_bang(3, a); + + return vec2; } static Scheme_Object *vector_to_immutable (int argc, Scheme_Object *argv[])