I sent a test case to Matthew, since I wasn't sure how best to include it: it is a syntax error in the old version of the code. Here it is:

  (define (in-X #:x seq) seq)
  (for/list ([x (in-X #:x '(1 2 3))]) x)
  ;; => '(1 2 3)
  (define-sequence-syntax in-X* (lambda () #'in-X) (lambda (stx) #f))
  (for/list ([x (in-X* #:x '(1 2 3))]) x)
  ;; => '(1 2 3), previously syntax error

Ryan


On 02/06/2013 08:08 PM, Robby Findler wrote:
Test case?

Robby


On Wed, Feb 6, 2013 at 5:08 PM, <ry...@racket-lang.org
<mailto:ry...@racket-lang.org>> wrote:

    ryanc has updated `master' from 117c81e2a6 to a85a71984d.
    http://git.racket-lang.org/plt/117c81e2a6..a85a71984d

    =====[ One Commit ]=====================================================
    Directory summary:
      100.0% collects/racket/private/

    ~~~~~~~~~~

    a85a719 Ryan Culpepper <ry...@racket-lang.org
    <mailto:ry...@racket-lang.org>> 2013-02-06 17:55
    :
    | preserve lexical context, src, etc for sequence syntax expansion
    |
    | The previous version of the code replaced the implicit #%app with
    | the kernel #%app (ie, #%plain-app), causing sequence functions
    | that take keyword arguments to fail.
    :
       M collects/racket/private/for.rkt | 3 ++-

    =====[ Overall Diff ]===================================================

    collects/racket/private/for.rkt
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    --- OLD/collects/racket/private/for.rkt
    +++ NEW/collects/racket/private/for.rkt
    @@ -118,7 +118,8 @@
                   (if (identifier? stx)
                       (proc1)
                       (datum->syntax stx
    -                                #`(#,(proc1) . #,(cdr (syntax-e stx)))
    +                                ;; Use cons, not #`(#,op #,@args),
    to avoid replacing implicit #%app binding
    +                                (cons (proc1) (cdr (syntax-e stx)))
                                      stx
                                      stx)))
                 proc1)




_________________________
   Racket Developers list:
   http://lists.racket-lang.org/dev


_________________________
 Racket Developers list:
 http://lists.racket-lang.org/dev

Reply via email to