From 2fc7cad44645cdaed6593fd2b996ed3adf5be0ce Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 10 Feb 2013 05:51:57 -0700 Subject: [PATCH] racket/enter: fix for `enter!' related to submodules The load handler didn't obey the protocol with respect to a second argument that is a list starting with #f. Closes PR 13096 --- collects/racket/enter.rkt | 6 ++++-- collects/tests/racket/enter.rkt | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 collects/tests/racket/enter.rkt diff --git a/collects/racket/enter.rkt b/collects/racket/enter.rkt index d9c719fa6e..6a8ea94f05 100644 --- a/collects/racket/enter.rkt +++ b/collects/racket/enter.rkt @@ -64,7 +64,9 @@ (eprintf " [~aloading ~a]\n" (if re? "re-" "") path)) void)) (lambda (path name) - (if name + (if (and name + (not (and (pair? name) + (not (car name))))) ;; Module load: (let* ([code (get-module-code path "compiled" @@ -87,7 +89,7 @@ ;; Evaluate the module: (parameterize ([current-module-declare-source actual-path]) (eval code))) - ;; Not a module: + ;; Not a module, or a submodule that we shouldn't load from source: (begin (notify path) (orig path name))))) (define (get-timestamp path) diff --git a/collects/tests/racket/enter.rkt b/collects/tests/racket/enter.rkt new file mode 100644 index 0000000000..eff20c87f2 --- /dev/null +++ b/collects/tests/racket/enter.rkt @@ -0,0 +1,4 @@ +#lang racket +(require racket/enter) + +(enter! slideshow/pict)