Fix an index, add more tests, avoid raising errors for unknown declarations, and clean up comments.
diff --git a/Lib/HTMLParser.py b/Lib/HTMLParser.py
index 6cc9ff1..f230c5f 100644
--- a/Lib/HTMLParser.py
+++ b/Lib/HTMLParser.py
@@ -229,12 +229,13 @@
         if rawdata[i:i+2] != '<!':
             self.error('unexpected call to parse_html_declaration()')
         if rawdata[i:i+4] == '<!--':
+            # this case is actually already handled in goahead()
             return self.parse_comment(i)
         elif rawdata[i:i+3] == '<![':
             return self.parse_marked_section(i)
         elif rawdata[i:i+9].lower() == '<!doctype':
             # find the closing >
-            gtpos = rawdata.find('>', 9)
+            gtpos = rawdata.find('>', i+9)
             if gtpos == -1:
                 return -1
             self.handle_decl(rawdata[i+2:gtpos])
@@ -427,7 +428,7 @@
         pass
 
     def unknown_decl(self, data):
-        self.error("unknown declaration: %r" % (data,))
+        pass
 
     # Internal -- helper to remove special character quoting
     entitydefs = None