diff --git a/doc/progs/defer.go b/doc/progs/defer.go
new file mode 100644
index 0000000..f52278a
--- /dev/null
+++ b/doc/progs/defer.go
@@ -0,0 +1,53 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file contains the code snippets included in "Defer, Panic, an Recover."
+
+package main
+
+import (
+	"fmt"
+	"io"
+	"os"
+)
+
+func a() {
+	i := 0
+	defer fmt.Println(i)
+	i++
+	return
+}
+// STOP OMIT
+
+func b() {
+	for i := 0; i < 4; i++ {
+		defer fmt.Print(i)
+	}
+}
+// STOP OMIT
+
+func c() (i int) {
+	defer func() { i++ }()
+	return 1
+}
+// STOP OMIT
+
+// Intial version.
+func CopyFile(dstName, srcName string) (written int64, err error) {
+	src, err := os.Open(srcName)
+	if err != nil {
+		return
+	}
+
+	dst, err := os.Create(dstName)
+	if err != nil {
+		return
+	}
+
+	written, err = io.Copy(dst, src)
+	dst.Close()
+	src.Close()
+	return
+}
+// STOP OMIT
