src/pkg/html/parse.go | 7 ++++---
src/pkg/html/parse_test.go | 2 +-
diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go
index 6618600a15385a72a8a3f66342a4011503505663..4cb246969e54ca1c3b860b167d718bfd0376c4be 100644
--- a/src/pkg/html/parse.go
+++ b/src/pkg/html/parse.go
@@ -1166,8 +1166,8 @@ switch p.tok.Data {
case "colgroup":
if p.oe.top().Data != "html" {
p.oe.pop()
+ p.im = inTableIM
}
- p.im = inTableIM
return true
case "col":
// Ignore the token.
@@ -1176,9 +1176,10 @@ }
}
if p.oe.top().Data != "html" {
p.oe.pop()
+ p.im = inTableIM
+ return false
}
- p.im = inTableIM
- return false
+ return true
}
// Section 12.2.5.4.13.
diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go
index f44bf6304bada7e67b64b3f3d592cad02353eb55..e887631c63d70d5ff00749f8b8cb82d3f21c7a4e 100644
--- a/src/pkg/html/parse_test.go
+++ b/src/pkg/html/parse_test.go
@@ -172,7 +172,7 @@ {"tests2.dat", -1},
{"tests3.dat", -1},
{"tests4.dat", -1},
{"tests5.dat", -1},
- {"tests6.dat", 26},
+ {"tests6.dat", 36},
}
for _, tf := range testFiles {
f, err := os.Open("testdata/webkit/" + tf.filename)