spec: clarify panic behavior when deferring nil functions
Fixes #8107.
LGTM=iant, rsc, r
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/145960043
diff --git a/doc/go_spec.html b/doc/go_spec.html
index e8bb35f..da1e2a5 100644
--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -1,6 +1,6 @@
<!--{
"Title": "The Go Programming Language Specification",
- "Subtitle": "Version of August 28, 2014",
+ "Subtitle": "Version of September 19, 2014",
"Path": "/ref/spec"
}-->
@@ -5243,13 +5243,16 @@
</p>
<p>
-Each time the "defer" statement
+Each time a "defer" statement
executes, the function value and parameters to the call are
<a href="#Calls">evaluated as usual</a>
-and saved anew but the actual function body is not executed.
-Instead, deferred functions are executed immediately before
+and saved anew but the actual function is not invoked.
+Instead, deferred functions are invoked immediately before
the surrounding function returns, in the reverse order
they were deferred.
+If a deferred function value evaluates
+to <code>nil</code>, execution <a href="#Handling_panics">panics</a>
+when the function is invoked not when the "defer" statement is executed.
</p>
<p>