From 7d2b5382934d93b63ecfbad687eeacaba0208ccb Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 19 Dec 2015 09:37:00 -0700 Subject: [PATCH] fix marshaling of a compiled top-level `begin-for-syntax` Closes #1174 --- pkgs/racket-test-core/tests/racket/syntax.rktl | 9 +++++++++ racket/src/racket/src/marshal.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-test-core/tests/racket/syntax.rktl b/pkgs/racket-test-core/tests/racket/syntax.rktl index bb2dc38bae..2e1d4a920e 100644 --- a/pkgs/racket-test-core/tests/racket/syntax.rktl +++ b/pkgs/racket-test-core/tests/racket/syntax.rktl @@ -1952,6 +1952,15 @@ procedure? (eval (datum->syntax #'here '(lambda () (sort '(1))) (list 'a #f #f #f #f))))) +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Check marshaling of a top-level `begin-for-syntax`: + +(parameterize ([current-namespace (make-base-namespace)]) + (eval '(require (for-syntax racket/base))) + (write (compile '(begin-for-syntax + (require racket/match))) + (open-output-bytes))) + ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (report-errs) diff --git a/racket/src/racket/src/marshal.c b/racket/src/racket/src/marshal.c index 8ccc4e553a..7efa4de367 100644 --- a/racket/src/racket/src/marshal.c +++ b/racket/src/racket/src/marshal.c @@ -463,7 +463,7 @@ static Scheme_Object *read_begin_for_syntax(Scheme_Object *obj) static Scheme_Object *write_begin_for_syntax(Scheme_Object *obj) { - return write_define_values(obj); + return scheme_clone_vector(obj, 0, 0); } static Scheme_Object *read_set_bang(Scheme_Object *obj)