Commit e6ee0d24 authored by Robert Griesemer's avatar Robert Griesemer

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
parent 34dd450f
...@@ -896,6 +896,11 @@ type PageInfo struct { ...@@ -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) { ...@@ -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() { ...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment