mirror of
https://github.com/golang/go
synced 2024-11-21 13:44:45 -07:00
godoc: don't hide package lookup error if there's no command with the same name
Fixes #1514. R=r, r2 CC=golang-dev https://golang.org/cl/4173050
This commit is contained in:
parent
34dd450fb8
commit
e6ee0d2492
@ -896,6 +896,11 @@ type PageInfo struct {
|
||||
}
|
||||
|
||||
|
||||
func (info *PageInfo) IsEmpty() bool {
|
||||
return info.Err != nil || info.PAst == nil && info.PDoc == nil && info.Dirs == nil
|
||||
}
|
||||
|
||||
|
||||
type httpHandler struct {
|
||||
pattern string // url pattern; e.g. "/pkg/"
|
||||
fsRoot string // file system root to which the pattern is mapped
|
||||
|
@ -217,6 +217,7 @@ func makeRx(names []string) (rx *regexp.Regexp) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
func main() {
|
||||
flag.Usage = usage
|
||||
flag.Parse()
|
||||
@ -336,12 +337,17 @@ func main() {
|
||||
// if there are multiple packages in a directory.
|
||||
info := pkgHandler.getPageInfo(abspath, relpath, "", mode)
|
||||
|
||||
if info.Err != nil || info.PAst == nil && info.PDoc == nil && info.Dirs == nil {
|
||||
if info.IsEmpty() {
|
||||
// try again, this time assume it's a command
|
||||
if !pathutil.IsAbs(path) {
|
||||
abspath = absolutePath(path, cmdHandler.fsRoot)
|
||||
}
|
||||
info = cmdHandler.getPageInfo(abspath, relpath, "", mode)
|
||||
cmdInfo := cmdHandler.getPageInfo(abspath, relpath, "", mode)
|
||||
// only use the cmdInfo if it actually contains a result
|
||||
// (don't hide errors reported from looking up a package)
|
||||
if !cmdInfo.IsEmpty() {
|
||||
info = cmdInfo
|
||||
}
|
||||
}
|
||||
if info.Err != nil {
|
||||
log.Fatalf("%v", info.Err)
|
||||
|
Loading…
Reference in New Issue
Block a user