mirror of
https://github.com/golang/go
synced 2024-11-25 08:07:57 -07:00
don't report a couple of meaningless errors in command-line mode
R=rsc CC=golang-dev https://golang.org/cl/199045
This commit is contained in:
parent
d2fc5d68da
commit
e37495368c
@ -1036,12 +1036,13 @@ type httpHandler struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// getPageInfo returns the PageInfo for a given package directory.
|
// getPageInfo returns the PageInfo for a package directory path. If the
|
||||||
|
// parameter try is true, no errors are logged if getPageInfo fails.
|
||||||
// If there is no corresponding package in the directory,
|
// If there is no corresponding package in the directory,
|
||||||
// PageInfo.PDoc is nil. If there are no subdirectories,
|
// PageInfo.PDoc is nil. If there are no subdirectories,
|
||||||
// PageInfo.Dirs is nil.
|
// PageInfo.Dirs is nil.
|
||||||
//
|
//
|
||||||
func (h *httpHandler) getPageInfo(path string) PageInfo {
|
func (h *httpHandler) getPageInfo(path string, try bool) PageInfo {
|
||||||
// the path is relative to h.fsroot
|
// the path is relative to h.fsroot
|
||||||
dirname := pathutil.Join(h.fsRoot, path)
|
dirname := pathutil.Join(h.fsRoot, path)
|
||||||
|
|
||||||
@ -1066,11 +1067,11 @@ func (h *httpHandler) getPageInfo(path string) PageInfo {
|
|||||||
|
|
||||||
// get package AST
|
// get package AST
|
||||||
pkgs, err := parser.ParseDir(dirname, filter, parser.ParseComments)
|
pkgs, err := parser.ParseDir(dirname, filter, parser.ParseComments)
|
||||||
if err != nil {
|
if err != nil && !try {
|
||||||
// TODO: errors should be shown instead of an empty directory
|
// TODO: errors should be shown instead of an empty directory
|
||||||
log.Stderrf("parser.parseDir: %s", err)
|
log.Stderrf("parser.parseDir: %s", err)
|
||||||
}
|
}
|
||||||
if len(pkgs) != 1 {
|
if len(pkgs) != 1 && !try {
|
||||||
// TODO: should handle multiple packages
|
// TODO: should handle multiple packages
|
||||||
log.Stderrf("parser.parseDir: found %d packages", len(pkgs))
|
log.Stderrf("parser.parseDir: found %d packages", len(pkgs))
|
||||||
}
|
}
|
||||||
@ -1110,7 +1111,7 @@ func (h *httpHandler) ServeHTTP(c *http.Conn, r *http.Request) {
|
|||||||
|
|
||||||
path := r.URL.Path
|
path := r.URL.Path
|
||||||
path = path[len(h.pattern):]
|
path = path[len(h.pattern):]
|
||||||
info := h.getPageInfo(path)
|
info := h.getPageInfo(path, false)
|
||||||
|
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
if r.FormValue("f") == "text" {
|
if r.FormValue("f") == "text" {
|
||||||
|
@ -220,11 +220,11 @@ func main() {
|
|||||||
packageText = packageHTML
|
packageText = packageHTML
|
||||||
}
|
}
|
||||||
|
|
||||||
info := pkgHandler.getPageInfo(flag.Arg(0))
|
info := pkgHandler.getPageInfo(flag.Arg(0), true)
|
||||||
|
|
||||||
if info.PDoc == nil && info.Dirs == nil {
|
if info.PDoc == nil && info.Dirs == nil {
|
||||||
// try again, this time assume it's a command
|
// try again, this time assume it's a command
|
||||||
info = cmdHandler.getPageInfo(flag.Arg(0))
|
info = cmdHandler.getPageInfo(flag.Arg(0), false)
|
||||||
}
|
}
|
||||||
|
|
||||||
if info.PDoc != nil && flag.NArg() > 1 {
|
if info.PDoc != nil && flag.NArg() > 1 {
|
||||||
|
Loading…
Reference in New Issue
Block a user