<p dir="auto">by <strong>hongruiqi</strong>:</p>
<pre class="notranslate">What steps will reproduce the problem?
http.Handle("/test///a", Handler)
And visit <a href="http://localhost/test/%2f/a" rel="nofollow">http://localhost/test/%2f/a</a>

What is the expected output?
Handler should be called.

What do you see instead?
The browser is redirected to /test/a, and a 404 error

Which compiler are you using (5g, 6g, 8g, gccgo)?
6g

Which operating system are you using?
linux

Which version are you using?  (run 'go version')
go version devel +0d9fd828f099 Wed Jan 30 17:26:22 2013 +1100 linux/amd64.

Please provide any additional information below.

if p := cleanPath(path); p != path {
    _, pattern = mux.handler(r.Host, p)
    return RedirectHandler(p, StatusMovedPermanently), pattern
}

If path is a raw path before unescape，/test/%2f/a can be handled correctly without
redirect. mux.match can use r.URL.Path as before.</pre>
<pre class="notranslate">Here is a test program

<a href="http://play.golang.org/p/lROOy0Hekp" rel="nofollow">http://play.golang.org/p/lROOy0Hekp</a>

The value 2^120 is exactly represented as a float64.  A different, incorrect answer is
returned by 8g (0.4779...).  The right answer is returned by gccgo on an 64-bit x86
(-0.9258...).  The wrong answer is returned by gccgo on 32-bit x86 where the cos
function doesn't seem to compute anything and behaves like the identity function.</pre>