diff --git a/racket/collects/racket/private/define-et-al.rkt b/racket/collects/racket/private/define-et-al.rkt index fea6207fc0..4f617c9d79 100644 --- a/racket/collects/racket/private/define-et-al.rkt +++ b/racket/collects/racket/private/define-et-al.rkt @@ -71,6 +71,8 @@ "bad syntax" x))))) + (define-values (call/ec) call-with-escape-continuation) + (-define-syntax let/ec (lambda (code) (let ([l (syntax->list code)]) @@ -81,7 +83,7 @@ [exprs (stx-cdr (stx-cdr code))]) (datum->syntax (quote-syntax here) - `(call-with-escape-continuation (lambda (,var) ,@(stx->list exprs))) + `(call/ec (lambda (,var) ,@(stx->list exprs))) code)) (raise-syntax-error #f @@ -198,4 +200,4 @@ (syntax-local-introduce super-id)) result)))))))))) - (#%provide -define -define-syntax when unless let/ec -define-struct)) + (#%provide -define -define-syntax when unless call/ec let/ec -define-struct)) diff --git a/racket/collects/racket/private/more-scheme.rkt b/racket/collects/racket/private/more-scheme.rkt index b1511ce779..8284abdd7e 100644 --- a/racket/collects/racket/private/more-scheme.rkt +++ b/racket/collects/racket/private/more-scheme.rkt @@ -300,13 +300,12 @@ (set! id temp) ...)))]))) (define-values (call/cc) call-with-current-continuation) - (define-values (call/ec) call-with-escape-continuation) (define-syntax let/cc (lambda (stx) (syntax-case stx () [(_ var body1 body ...) - (syntax/loc stx (call-with-current-continuation (lambda (var) body1 body ...)))]))) + (syntax/loc stx (call/cc (lambda (var) body1 body ...)))]))) (define-syntax fluid-let (lambda (stx) @@ -389,6 +388,6 @@ (rename break-paramz? break-parameterization?) with-handlers with-handlers* call-with-exception-handler set!-values - let/cc call/cc call/ec fluid-let time + let/cc call/cc fluid-let time log-fatal log-error log-warning log-info log-debug define-logger hash-ref! hash-has-key? hash-update hash-update!))