diff --git a/racket/collects/pkg/private/install.rkt b/racket/collects/pkg/private/install.rkt index 46cc17e411..15d39fb3cf 100644 --- a/racket/collects/pkg/private/install.rkt +++ b/racket/collects/pkg/private/install.rkt @@ -931,7 +931,7 @@ (pkg-desc-type pkg-name) #:link-dirs? link-dirs? #:must-infer-name? (not (pkg-desc-name pkg-name)) - #:complain complain-about-source)) + #:complain (complain-about-source (pkg-desc-name pkg-name)))) (define name (or (pkg-desc-name pkg-name) inferred-name)) ;; Check that the package is installed, and get current checksum: diff --git a/racket/collects/pkg/private/print.rkt b/racket/collects/pkg/private/print.rkt index 121b214a92..abb19dc94d 100644 --- a/racket/collects/pkg/private/print.rkt +++ b/racket/collects/pkg/private/print.rkt @@ -31,12 +31,15 @@ (apply printf fmt args) (flush-output)) -(define (complain-about-source s reason) +(define ((complain-about-source given-name) s reason) (pkg-error (~a "invalid package source;\n" " ~a\n" - " given: ~a") + " given: ~a~a") reason - s)) + s + (if given-name + (~a "\n for package name: " given-name) + ""))) (define (ask question #:default-yes? [default-yes? #t]) diff --git a/racket/collects/pkg/private/stage.rkt b/racket/collects/pkg/private/stage.rkt index 855e866564..94e0fd0a26 100644 --- a/racket/collects/pkg/private/stage.rkt +++ b/racket/collects/pkg/private/stage.rkt @@ -87,11 +87,11 @@ 'dir) 'file)) #:must-infer-name? (not given-pkg-name) - #:complain complain-about-source) + #:complain (complain-about-source given-pkg-name)) (package-source->name+type pkg given-type #:link-dirs? link-dirs? #:must-infer-name? (not given-pkg-name) - #:complain complain-about-source))) + #:complain (complain-about-source given-pkg-name)))) (define pkg-name (or given-pkg-name inferred-pkg-name)) (when (and type (not pkg-name)) (pkg-error (~a "could not infer package name from source\n"