diff --git a/compatibility-lib/mzscheme/main.rkt b/compatibility-lib/mzscheme/main.rkt index 868c5d2..e700060 100644 --- a/compatibility-lib/mzscheme/main.rkt +++ b/compatibility-lib/mzscheme/main.rkt @@ -223,18 +223,16 @@ promise?) (only racket/private/for-compatibility-lib - define - define-for-syntax - define-syntax fluid-let old-case old-cond) - mzscheme/private/stxmz-body - mzscheme/private/old-ds - mzscheme/private/old-rp - mzscheme/private/old-if - mzscheme/private/old-procs + "private/stxmz-body.rkt" + "private/old-def.rkt" + "private/old-ds.rkt" + "private/old-rp.rkt" + "private/old-if.rkt" + "private/old-procs.rkt" (only '#%builtin)) ; so it's attached diff --git a/compatibility-lib/mzscheme/private/old-def.rkt b/compatibility-lib/mzscheme/private/old-def.rkt new file mode 100644 index 0000000..bb79865 --- /dev/null +++ b/compatibility-lib/mzscheme/private/old-def.rkt @@ -0,0 +1,16 @@ +#lang racket/base + +(require (for-syntax racket/base syntax/define)) + +(provide define define-syntax define-for-syntax) + +(define-syntaxes (define define-syntax define-for-syntax) + (let ([go + (lambda (define-values-stx stx) + (let-values ([(id rhs) + (normalize-definition stx #'lambda #t #f)]) + (quasisyntax/loc stx + (#,define-values-stx (#,id) #,rhs))))]) + (values (lambda (stx) (go #'define-values stx)) + (lambda (stx) (go #'define-syntaxes stx)) + (lambda (stx) (go #'define-values-for-syntax stx)))))