diff --git a/pkgs/racket-test-core/tests/racket/module.rktl b/pkgs/racket-test-core/tests/racket/module.rktl index 9509917dd1..5e234b7a5f 100644 --- a/pkgs/racket-test-core/tests/racket/module.rktl +++ b/pkgs/racket-test-core/tests/racket/module.rktl @@ -2415,4 +2415,25 @@ case of module-leve bindings; it doesn't cover local bindings. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(module export-of-force-has-three-different-nominals racket/base + (require racket + racket/promise + racket/private/promise) + (provide force result) + + (define-values (result other) + (module->exports (variable-reference->resolved-module-path + (#%variable-reference))))) + +(let ([l (dynamic-require ''export-of-force-has-three-different-nominals 'result)]) + (define (same-mod? a b) (equal? (module-path-index-resolve a) + (module-path-index-resolve b))) + (define b (cadr (assoc 'force (cdr (assoc 0 l))))) + (test 3 length b) + (test #f same-mod? (car b) (cadr b)) + (test #f same-mod? (cadr b) (caddr b)) + (test #f same-mod? (car b) (caddr b))) + +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (report-errs) diff --git a/racket/src/expander/expand/require+provide.rkt b/racket/src/expander/expand/require+provide.rkt index 79ec8ccd57..e4c12c1190 100644 --- a/racket/src/expander/expand/require+provide.rkt +++ b/racket/src/expander/expand/require+provide.rkt @@ -345,7 +345,7 @@ id (module-binding-update ok-binding #:extra-nominal-bindings - (cons ok-binding + (cons b (module-binding-extra-nominal-bindings b))) phase)) (cond diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index 7888e69f30..c41be4de59 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -22269,7 +22269,7 @@ static const char *startup_source = " ok-binding_0)" "((temp160_0)" "(cons" -" ok-binding_0" +" b_64" "(module-binding-extra-nominal-bindings" " b_64))))" "(module-binding-update48.1"