make reporting unbalanced tags an overridable method
diff --git a/Lib/sgmllib.py b/Lib/sgmllib.py
index 17e5745..2c92c31 100644
--- a/Lib/sgmllib.py
+++ b/Lib/sgmllib.py
@@ -226,8 +226,8 @@
 		if self.stack and self.stack[-1] == tag:
 			del self.stack[-1]
 		else:
-			print '*** Unbalanced </' + tag + '>'
-			print '*** Stack:', self.stack
+			self.report_unbalanced(tag)
+			# Now repair it
 			found = None
 			for i in range(len(self.stack)):
 				if self.stack[i] == tag: found = i
@@ -235,6 +235,11 @@
 				del self.stack[found:]
 		method()
 
+	# Example -- report an unbalanced </...> tag.
+	def report_unbalanced(self, tag):
+		print '*** Unbalanced </' + tag + '>'
+		print '*** Stack:', self.stack
+
 	# Example -- handle character reference, no need to override
 	def handle_charref(self, name):
 		try: