From: Robert Griesemer Date: Tue, 16 Aug 2011 02:05:52 +0000 (-0700) Subject: godoc: show all top-level decls for (fake) package builtin X-Git-Tag: weekly.2011-08-17~41 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0310935058e7edceb1ec42ed8518fcf0b8340bed;p=gostls13.git godoc: show all top-level decls for (fake) package builtin R=r, adg CC=golang-dev https://golang.org/cl/4904045 --- diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go index e3f8ad8d36..7d4bcdc0c9 100644 --- a/src/cmd/godoc/godoc.go +++ b/src/cmd/godoc/godoc.go @@ -767,6 +767,10 @@ func serveFile(w http.ResponseWriter, r *http.Request) { const fakePkgFile = "doc.go" const fakePkgName = "documentation" +// Fake relative package path for built-ins. Documentation for all globals +// (not just exported ones) will be shown for packages in this directory. +const builtinPkgPath = "builtin/" + type PageInfoMode uint const ( @@ -941,7 +945,10 @@ func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { relpath := r.URL.Path[len(h.pattern):] abspath := absolutePath(relpath, h.fsRoot) - mode := exportsOnly + var mode PageInfoMode + if relpath != builtinPkgPath { + mode = exportsOnly + } if r.FormValue("m") != "src" { mode |= genDoc } @@ -964,7 +971,7 @@ func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { title = "Package " + info.PAst.Name.Name case info.PDoc != nil: switch { - case h.isPkg: + case info.IsPkg: title = "Package " + info.PDoc.PackageName case info.PDoc.PackageName == fakePkgName: // assume that the directory name is the command name