Fix segfault discovered by Ron Adam.  Not checking for terminating right bracket in "'{0[}'.format(())".  Fixed, and tests added.
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 6773f2a..52b7b4f 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -458,6 +458,7 @@
         # weird field names
         self.assertEqual("{0[foo-bar]}".format({'foo-bar':'baz'}), 'baz')
         self.assertEqual("{0[foo bar]}".format({'foo bar':'baz'}), 'baz')
+        self.assertEqual("{0[ ]}".format({' ':3}), '3')
 
         self.assertEqual('{foo._x}'.format(foo=C(20)), '20')
         self.assertEqual('{1}{0}'.format(D(10), D(20)), '2010')
@@ -551,6 +552,7 @@
         self.assertRaises(ValueError, "{0".format)
         self.assertRaises(ValueError, "{0.}".format)
         self.assertRaises(ValueError, "{0[}".format)
+        self.assertRaises(ValueError, "{0[}".format, [])
         self.assertRaises(ValueError, "{0]}".format)
         self.assertRaises(ValueError, "{0.[]}".format)
         self.assertRaises(ValueError, "{0..foo}".format, 0)