1
0
mirror of https://github.com/golang/go synced 2024-11-24 10:10:07 -07:00

go/build: fix import check

When we find a package in DIR/src/foo, we only let it
be known as foo if there is no other foo in an earlier
GOPATH directory or the GOROOT directory.
The GOROOT check was looking in GOROOT/src/foo
instead of GOROOT/src/pkg/foo, which meant that
the import paths "lib9", "libbio", "libmach", and so
on were unavailable, and the import paths "math",
"errors", and so on were available.  Correct this.

Fixes #3390.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/5927050
This commit is contained in:
Russ Cox 2012-03-27 11:16:10 -04:00
parent 6b0929505b
commit 671862747e

View File

@ -387,7 +387,7 @@ func (ctxt *Context) Import(path string, srcDir string, mode ImportMode) (*Packa
// but check that using it wouldn't find something
// else first.
if ctxt.GOROOT != "" {
if dir := ctxt.joinPath(ctxt.GOROOT, "src", sub); ctxt.isDir(dir) {
if dir := ctxt.joinPath(ctxt.GOROOT, "src", "pkg", sub); ctxt.isDir(dir) {
goto Found
}
}