Commit b0729cdf authored by Russ Cox's avatar Russ Cox

go/doc: use correct escaper for URL

Despite the name, URL escaping is for a small subpiece of the URL only.
This particular URL is being emitted in an <a href=""> tag and in that
context it should be HTML escaped, not URL escaped.

In addition to fixing a bug, this change cuts a dependency chain
from go/doc to net, clearing the way for use of cgo
(which imports go/doc) during the compilation of package net.

R=gri
CC=golang-dev
https://golang.org/cl/1960050
parent 218afb8f
...@@ -8,7 +8,6 @@ package doc ...@@ -8,7 +8,6 @@ package doc
import ( import (
"go/ast" "go/ast"
"http" // for URLEscape
"io" "io"
"regexp" "regexp"
"strings" "strings"
...@@ -227,7 +226,7 @@ func emphasize(w io.Writer, line []byte, words map[string]string, nice bool) { ...@@ -227,7 +226,7 @@ func emphasize(w io.Writer, line []byte, words map[string]string, nice bool) {
// write match // write match
if len(url) > 0 { if len(url) > 0 {
w.Write(html_a) w.Write(html_a)
w.Write([]byte(http.URLEscape(url))) template.HTMLEscape(w, []byte(url))
w.Write(html_aq) w.Write(html_aq)
} }
if italics { if italics {
......
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