mirror of
https://github.com/golang/go
synced 2024-11-21 19:14:44 -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 {
|
type httpHandler struct {
|
||||||
pattern string // url pattern; e.g. "/pkg/"
|
pattern string // url pattern; e.g. "/pkg/"
|
||||||
fsRoot string // file system root to which the pattern is mapped
|
fsRoot string // file system root to which the pattern is mapped
|
||||||
|
@ -217,6 +217,7 @@ func makeRx(names []string) (rx *regexp.Regexp) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Usage = usage
|
flag.Usage = usage
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
@ -336,12 +337,17 @@ func main() {
|
|||||||
// if there are multiple packages in a directory.
|
// if there are multiple packages in a directory.
|
||||||
info := pkgHandler.getPageInfo(abspath, relpath, "", mode)
|
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
|
// try again, this time assume it's a command
|
||||||
if !pathutil.IsAbs(path) {
|
if !pathutil.IsAbs(path) {
|
||||||
abspath = absolutePath(path, cmdHandler.fsRoot)
|
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 {
|
if info.Err != nil {
|
||||||
log.Fatalf("%v", info.Err)
|
log.Fatalf("%v", info.Err)
|
||||||
|
Loading…
Reference in New Issue
Block a user