doc: update links to spec and memory model
Fixes #6488.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14004043
diff --git a/doc/articles/wiki/index.html b/doc/articles/wiki/index.html
index 5d290a2..ed42e39 100644
--- a/doc/articles/wiki/index.html
+++ b/doc/articles/wiki/index.html
@@ -154,7 +154,7 @@
Callers of this function can now check the second parameter; if it is
<code>nil</code> then it has successfully loaded a Page. If not, it will be an
<code>error</code> that can be handled by the caller (see the
-<a href="/ref/spec#Errors">language specification</a> for details).
+<a href="/doc/spec#Errors">language specification</a> for details).
</p>
<p>
@@ -616,7 +616,7 @@
Catching the error condition in each handler introduces a lot of repeated code.
What if we could wrap each of the handlers in a function that does this
validation and error checking? Go's
-<a href="/ref/spec#Function_declarations">function
+<a href="/doc/spec#Function_literals">function
literals</a> provide a powerful means of abstracting functionality
that can help us here.
</p>
diff --git a/doc/docs.html b/doc/docs.html
index 7aad8da..8c5d17a 100644
--- a/doc/docs.html
+++ b/doc/docs.html
@@ -85,12 +85,12 @@
The documentation for the Go tools.
</p>
-<h3 id="spec"><a href="/ref/spec">Language Specification</a></h3>
+<h3 id="spec"><a href="/doc/spec">Language Specification</a></h3>
<p>
The official Go Language specification.
</p>
-<h3 id="go_mem"><a href="/ref/mem">The Go Memory Model</a></h3>
+<h3 id="go_mem"><a href="/doc/mem">The Go Memory Model</a></h3>
<p>
A document that specifies the conditions under which reads of a variable in
one goroutine can be guaranteed to observe values produced by writes to the
diff --git a/doc/effective_go.html b/doc/effective_go.html
index 7d2a904..35b15e8 100644
--- a/doc/effective_go.html
+++ b/doc/effective_go.html
@@ -27,7 +27,7 @@
<p>
This document gives tips for writing clear, idiomatic Go code.
-It augments the <a href="/ref/spec">language specification</a>,
+It augments the <a href="/doc/spec">language specification</a>,
the <a href="http://tour.golang.org/">Tour of Go</a>,
and <a href="/doc/code.html">How to Write Go Code</a>,
all of which you
@@ -709,7 +709,7 @@
replacement rune U+FFFD.
(The name (with associated builtin type) <code>rune</code> is Go terminology for a
single Unicode code point.
-See <a href="http://golang.org/ref/spec#Rune_literals">the language specification</a>
+See <a href="http://golang.org/doc/spec#Rune_literals">the language specification</a>
for details.)
The loop
</p>
@@ -2969,7 +2969,7 @@
<p>
Because data synchronization occurs on a receive from a channel
(that is, the send "happens before" the receive; see
-<a href="/ref/mem">The Go Memory Model</a>),
+<a href="/doc/mem">The Go Memory Model</a>),
acquisition of the semaphore must be on a channel receive, not a send.
</p>
diff --git a/doc/go1.1.html b/doc/go1.1.html
index a686649..84fb372 100644
--- a/doc/go1.1.html
+++ b/doc/go1.1.html
@@ -81,7 +81,7 @@
<p>
Go 1.1 now implements
-<a href="/ref/spec#Method_values">method values</a>,
+<a href="/doc/spec#Method_values">method values</a>,
which are functions that have been bound to a specific receiver value.
For instance, given a
<a href="/pkg/bufio/#Writer"><code>Writer</code></a>
@@ -129,7 +129,7 @@
<p>
In Go 1.1, the rule about final "return" statements is more permissive.
It introduces the concept of a
-<a href="/ref/spec/#Terminating_statements"><em>terminating statement</em></a>,
+<a href="/doc/spec/#Terminating_statements"><em>terminating statement</em></a>,
a statement that is guaranteed to be the last one a function executes.
Examples include
"for" loops with no condition and "if-else"
@@ -191,7 +191,7 @@
<em>Updating</em>:
Most programs will be unaffected by this change.
Because Go does not allow implicit conversions between distinct
-<a href="/ref/spec/#Numeric_types">numeric types</a>,
+<a href="/doc/spec/#Numeric_types">numeric types</a>,
no programs will stop compiling due to this change.
However, programs that contain implicit assumptions
that <code>int</code> is only 32 bits may change behavior.
diff --git a/doc/go_faq.html b/doc/go_faq.html
index 4f0832a..fbce94a 100644
--- a/doc/go_faq.html
+++ b/doc/go_faq.html
@@ -68,7 +68,7 @@
After a couple of years of very active design and development, stability was called for and
Go 1 was <a href="http://blog.golang.org/2012/03/go-version-1-is-released.html">released</a>
on March 28, 2012.
-Go 1, which includes a <a href="/ref/spec">language specification</a>,
+Go 1, which includes a <a href="/doc/spec">language specification</a>,
<a href="/pkg/">standard libraries</a>,
and <a href="/cmd/go/">custom tools</a>,
provides a stable foundation for creating reliable products, projects, and publications.
@@ -1247,7 +1247,7 @@
<p>
We haven't fully defined it all yet, but some details about atomicity are
-available in the <a href="/ref/mem">Go Memory Model specification</a>.
+available in the <a href="/doc/mem">Go Memory Model specification</a>.
</p>
<p>
@@ -1303,7 +1303,7 @@
multiple OS threads.
This is because sending data between threads involves switching
contexts, which has significant cost.
-For instance, the <a href="/ref/spec#An_example_package">prime sieve example</a>
+For instance, the <a href="/doc/spec#An_example_package">prime sieve example</a>
from the Go specification has no significant parallelism although it launches many
goroutines; increasing <code>GOMAXPROCS</code> is more likely to slow it down than
to speed it up.
@@ -1326,7 +1326,7 @@
Why do T and *T have different method sets?</h3>
<p>
-From the <a href="/ref/spec#Types">Go Spec</a>:
+From the <a href="/doc/spec#Types">Go Spec</a>:
</p>
<blockquote>