From f6e863a4dd03d24409854ee72310bc9e8e66a574 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 4 Aug 2017 09:18:15 -0600 Subject: [PATCH] fix GC handling of unquoted-printing strings Adds missing change to cbfcc904ab. --- pkgs/racket-test-core/tests/racket/print.rktl | 7 +++++++ racket/src/racket/src/type.c | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/pkgs/racket-test-core/tests/racket/print.rktl b/pkgs/racket-test-core/tests/racket/print.rktl index 2e566406cf..fe88273b93 100644 --- a/pkgs/racket-test-core/tests/racket/print.rktl +++ b/pkgs/racket-test-core/tests/racket/print.rktl @@ -248,6 +248,13 @@ void) (get-output-string (current-error-port))))) +;; Check GC interaction: +(let ([l (for/list ([i 100]) + (unquoted-printing-string "1 2 3"))]) + (collect-garbage) + (for ([ups (in-list l)]) + (test "1 2 3" format "~s" ups))) + ;; ---------------------------------------- (let ([p (build-path (current-directory) "something")]) diff --git a/racket/src/racket/src/type.c b/racket/src/racket/src/type.c index 0a9a4e4c66..4edcfc94c5 100644 --- a/racket/src/racket/src/type.c +++ b/racket/src/racket/src/type.c @@ -327,6 +327,8 @@ scheme_init_type () set_name(scheme_environment_variables_type, ""); + set_name(scheme_unquoted_printing_string_type, ""); + #ifdef MZ_GC_BACKTRACE set_name(scheme_rt_runstack, ""); set_name(scheme_rt_meta_cont, ""); @@ -764,6 +766,8 @@ void scheme_register_traversers(void) GC_REG_TRAV(scheme_syntax_property_preserve_type, small_object); GC_REG_TRAV(scheme_plumber_handle_type, twoptr_obj); + + GC_REG_TRAV(scheme_unquoted_printing_string_type, small_object); } END_XFORM_SKIP;