Set the name statically re: Robby

This commit is contained in:
Jay McCarthy 2012-03-29 18:50:51 -06:00
parent 86572cc8c3
commit 1ce1277d1e

View File

@ -1,5 +1,6 @@
#lang racket #lang racket
(require syntax/free-vars (require syntax/free-vars
racket/syntax
(for-template (for-template
racket/base racket/base
racket/serialize) racket/serialize)
@ -61,6 +62,8 @@
;; Directory for last-ditch resolution -------------------- ;; Directory for last-ditch resolution --------------------
(or (current-load-relative-directory) (current-directory)))))) (or (current-load-relative-directory) (current-directory))))))
; Define the closure struct (req serialize info value) ; Define the closure struct (req serialize info value)
(define fun-name
(or (syntax-local-name) (generate-temporary)))
(define-values (define-values
(make-CLOSURE-id CLOSURE?-id CLOSURE-env-id CLOSURE-set-env!-id) (make-CLOSURE-id CLOSURE?-id CLOSURE-env-id CLOSURE-set-env!-id)
(apply (apply
@ -77,14 +80,16 @@
#f ; auto-v #f ; auto-v
; prop-vals: ; prop-vals:
(list (cons prop:serializable #,CLOSURE:serialize-info-id) (list
(cons prop:serializable #,CLOSURE:serialize-info-id)
(cons prop:procedure (cons prop:procedure
(make-keyword-procedure (make-keyword-procedure
(lambda (kws kw-vals clsr . rst) (lambda (kws kw-vals clsr . rst)
(let-values ([#,fvars ((CLOSURE-ref clsr 0))]) (let-values ([#,fvars ((CLOSURE-ref clsr 0))])
(keyword-apply (procedure-rename #,stx '#,(syntax-local-name)) (let ([#,fun-name #,stx])
(keyword-apply #,fun-name
kws kw-vals kws kw-vals
rst)))))) rst)))))))
#f ; inspector #f ; inspector