diff --git a/pkgs/racket-test/tests/racket/stx.rktl b/pkgs/racket-test/tests/racket/stx.rktl index 926b20d098..3e21b2c140 100644 --- a/pkgs/racket-test/tests/racket/stx.rktl +++ b/pkgs/racket-test/tests/racket/stx.rktl @@ -848,25 +848,29 @@ [(_ x) #'x])) exn:fail:syntax?)) -(let ([expr (expand-syntax #'++v)] - [disarm (lambda (stx) - (syntax-disarm stx (current-code-inspector)))]) - (test expr syntax-protect expr) - (let ([new (syntax-protect #'no-marks)]) - (test #t syntax? new) - (test 'no-marks syntax-e new)) - (test #t (lambda (v) (and (syntax? v) (syntax-tainted? v))) - (syntax-case expr () - [(beg id) #'beg])) - (test #t (lambda (v) (and (syntax? v) (not (syntax-tainted? v)))) - (syntax-case (disarm expr) () - [(beg id) #'beg])) - (test #t (lambda (v) (and (syntax? v) (syntax-tainted? v))) - (syntax-case (disarm (datum->syntax expr (syntax-e expr))) () - [(beg id) #'beg])) - (test #t (lambda (v) (and (syntax? v) (not (syntax-tainted? v)))) - (syntax-case (let ([expr (disarm expr)]) (datum->syntax expr (syntax-e expr))) () - [(beg id) #'beg]))) +(let () + (define (test-disarm disarm) + (let ([expr (expand-syntax #'++v)]) + (test expr syntax-protect expr) + (let ([new (syntax-protect #'no-marks)]) + (test #t syntax? new) + (test 'no-marks syntax-e new)) + (test #t (lambda (v) (and (syntax? v) (syntax-tainted? v))) + (syntax-case expr () + [(beg id) #'beg])) + (test #t (lambda (v) (and (syntax? v) (not (syntax-tainted? v)))) + (syntax-case (disarm expr) () + [(beg id) #'beg])) + (test #t (lambda (v) (and (syntax? v) (syntax-tainted? v))) + (syntax-case (disarm (datum->syntax expr (syntax-e expr))) () + [(beg id) #'beg])) + (test #t (lambda (v) (and (syntax? v) (not (syntax-tainted? v)))) + (syntax-case (let ([expr (disarm expr)]) (datum->syntax expr (syntax-e expr))) () + [(beg id) #'beg])))) + (test-disarm (lambda (stx) + (syntax-disarm stx (current-code-inspector)))) + (test-disarm (lambda (stx) + (syntax-disarm stx #f)))) #; (let ([expr (expand-syntax #'(++apply-to-d ack))]) diff --git a/racket/src/racket/src/syntax.c b/racket/src/racket/src/syntax.c index 128f97dbe5..2bc60acf12 100644 --- a/racket/src/racket/src/syntax.c +++ b/racket/src/racket/src/syntax.c @@ -8793,8 +8793,8 @@ static Scheme_Object *syntax_disarm(int argc, Scheme_Object **argv) insp = argv[1]; } else insp = scheme_false; - - return scheme_stx_taint_disarm(argv[0], insp); + + return scheme_syntax_taint_disarm(argv[0], insp); } static Scheme_Object *syntax_rearm(int argc, Scheme_Object **argv)