diff --git a/racket/src/cs/rumble/procedure.ss b/racket/src/cs/rumble/procedure.ss index c5b9c44915..49a8f92ac8 100644 --- a/racket/src/cs/rumble/procedure.ss +++ b/racket/src/cs/rumble/procedure.ss @@ -57,13 +57,16 @@ (with-syntax ([n-args (length #'(rand ...))]) #'((extract-procedure rator n-args) rand ...))])) -(define (|#%call-with-values| generator receiver) - (call-with-values (if (#%procedure? generator) - generator - (lambda () (|#%app| generator))) - (if (#%procedure? receiver) - receiver - (lambda args (apply receiver args))))) +(define |#%call-with-values| + (|#%name| + call-with-values + (lambda (generator receiver) + (call-with-values (if (#%procedure? generator) + generator + (lambda () (|#%app| generator))) + (if (#%procedure? receiver) + receiver + (lambda args (apply receiver args))))))) (define (extract-procedure f n-args) (cond diff --git a/racket/src/schemify/schemify.rkt b/racket/src/schemify/schemify.rkt index 93aa4236a7..38d9c5dbfe 100644 --- a/racket/src/schemify/schemify.rkt +++ b/racket/src/schemify/schemify.rkt @@ -650,6 +650,8 @@ (cond [(not (symbol? u-v)) v] + [(eq? u-v 'call-with-values) + '#%call-with-values] [(and (via-variable-mutated-state? (hash-ref mutated u-v #f)) (hash-ref exports u-v #f)) => (lambda (ex) `(variable-ref ,(export-id ex)))]