From 889f1591037d26fa6557bb637b8590ba2dad0d49 Mon Sep 17 00:00:00 2001 From: "J. Ian Johnson" Date: Wed, 28 Nov 2012 13:05:17 -0500 Subject: [PATCH] Singleton optimization for sequences that would allocate. --- collects/racket/private/for.rkt | 6 ++++-- collects/racket/set.rkt | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/collects/racket/private/for.rkt b/collects/racket/private/for.rkt index c5578ce67f..fc61570f90 100644 --- a/collects/racket/private/for.rkt +++ b/collects/racket/private/for.rkt @@ -1725,7 +1725,8 @@ (define-sequence-syntax *in-list (lambda () #'in-list) (lambda (stx) - (syntax-case stx () + (syntax-case stx (list) + [[(id) (_ (list expr))] #'[(id) (:do-in ([(id) expr]) #t () #t () #t #f ())]] [[(id) (_ lst-expr)] (for-clause-syntax-protect #'[(id) @@ -1751,7 +1752,8 @@ (define-sequence-syntax *in-mlist (lambda () #'in-mlist) (lambda (stx) - (syntax-case stx () + (syntax-case stx (mlist) + [[(id) (_ (mlist expr))] #'[(id) (:do-in ([(id) expr]) #t () #t () #t #f ())]] [[(id) (_ lst-expr)] (for-clause-syntax-protect #'[(id) diff --git a/collects/racket/set.rkt b/collects/racket/set.rkt index 68c6845ad7..f79c39c8fe 100644 --- a/collects/racket/set.rkt +++ b/collects/racket/set.rkt @@ -308,7 +308,8 @@ (define-sequence-syntax *in-set (lambda () #'in-set) (lambda (stx) - (syntax-case stx () + (syntax-case stx (set) + [[(id) (_ (set expr))] #'[(id) (:do-in ([(id) expr]) #t () #t () #t #f ())]] [[(id) (_ st)] #`[(id) (:do-in