Step 1 of the Big Error Shift: make os.Error an interface and replace *os.Errors with os.Errors.
lib/template updated to use new setup; its clients also updated.

Step 2 will make os's error support internally much cleaner.

R=rsc
OCL=27586
CL=27586
diff --git a/src/lib/regexp/all_test.go b/src/lib/regexp/all_test.go
index 1a5285e..a9f2758 100644
--- a/src/lib/regexp/all_test.go
+++ b/src/lib/regexp/all_test.go
@@ -32,7 +32,7 @@
 // TODO: nice to do this with a map
 type stringError struct {
 	re	string;
-	err	*os.Error;
+	err	os.Error;
 }
 var bad_re = []stringError{
 	stringError{ `*`,	 	regexp.ErrBareClosure },
@@ -85,7 +85,7 @@
 	tester{ `a*(|(b))c*`,	"aacc",	vec{0,4, 2,2, -1,-1} },
 }
 
-func compileTest(t *testing.T, expr string, error *os.Error) *regexp.Regexp {
+func compileTest(t *testing.T, expr string, error os.Error) *regexp.Regexp {
 	re, err := regexp.Compile(expr);
 	if err != error {
 		t.Error("compiling `", expr, "`; unexpected error: ", err.String());