From 33acb10b316b824864a0911af47aa42d82b829cf Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Sat, 13 Jan 2018 22:15:36 -0800 Subject: [PATCH] omit bound id from generated literals (fixes #14) --- beautiful-racket-lib/br/private/generate-literals.rkt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/beautiful-racket-lib/br/private/generate-literals.rkt b/beautiful-racket-lib/br/private/generate-literals.rkt index edd3ff1..00e953a 100644 --- a/beautiful-racket-lib/br/private/generate-literals.rkt +++ b/beautiful-racket-lib/br/private/generate-literals.rkt @@ -19,11 +19,14 @@ (for*/list ([pat-arg (in-list (syntax-flatten pats))] [pat-datum (in-value (syntax->datum pat-arg))] #:when (literal-identifier? pat-datum)) - pat-arg)) + pat-arg)) (define (generate-bound-and-unbound-literals pats #:treat-as-bound [bound-id #f]) - (define literals (generate-literals pats)) + (define literals (for/list ([literal (in-list (generate-literals pats))] + ; the bound-id should not appear in any literal list + #:unless (bound-identifier=? literal bound-id)) + literal)) (define-values (bound-literals unbound-literals) (partition (λ (i) (or (identifier-binding i) (and bound-id (bound-identifier=? i bound-id)))) literals))