]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-97928: Fix handling options starting with "-" in tkinter.Text.count() (GH-98436)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 19 Oct 2022 09:57:18 +0000 (02:57 -0700)
committerGitHub <noreply@github.com>
Wed, 19 Oct 2022 09:57:18 +0000 (02:57 -0700)
Previously they were silently ignored. Now they are errors.
(cherry picked from commit e4ec8de6fa6f0a07e64f6a3e3f894926b4b0652d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Lib/tkinter/__init__.py
Lib/tkinter/test/test_tkinter/test_text.py
Misc/NEWS.d/next/Library/2022-10-19-09-29-12.gh-issue-97928.xj3im7.rst [new file with mode: 0644]

index c7176e69e529d8b909789fea7d358edef62a53eb..d42d9a013dd6f511b42877fc3386cff8ac825f51 100644 (file)
@@ -3621,7 +3621,7 @@ class Text(Widget, XView, YView):
         "lines", "xpixels" and "ypixels". There is an additional possible
         option "update", which if given then all subsequent options ensure
         that any possible out of date information is recalculated."""
-        args = ['-%s' % arg for arg in args if not arg.startswith('-')]
+        args = ['-%s' % arg for arg in args]
         args += [index1, index2]
         res = self.tk.call(self._w, 'count', *args) or None
         if res is not None and len(args) <= 3:
index f0b101b5803b59eb58631b63c9dd1fdf667145fc..ea557586c7708bf5c98fdbc5487c825e255062f9 100644 (file)
@@ -76,9 +76,7 @@ class TextTest(AbstractTkTest, unittest.TestCase):
         self.assertEqual(text.count('1.0', 'end'), (124,)  # 'indices' by default
                          if self.wantobjects else ('124',))
         self.assertRaises(tkinter.TclError, text.count, '1.0', 'end', 'spam')
-        # '-lines' is ignored, 'indices' is used by default
-        self.assertEqual(text.count('1.0', 'end', '-lines'), (124,)
-                         if self.wantobjects else ('124',))
+        self.assertRaises(tkinter.TclError, text.count, '1.0', 'end', '-lines')
 
         self.assertIsInstance(text.count('1.3', '1.5', 'ypixels'), tuple)
         self.assertIsInstance(text.count('1.3', '1.5', 'update', 'ypixels'), int
diff --git a/Misc/NEWS.d/next/Library/2022-10-19-09-29-12.gh-issue-97928.xj3im7.rst b/Misc/NEWS.d/next/Library/2022-10-19-09-29-12.gh-issue-97928.xj3im7.rst
new file mode 100644 (file)
index 0000000..cf33db7
--- /dev/null
@@ -0,0 +1,2 @@
+:meth:`tkinter.Text.count` raises now an exception for options starting with
+"-" instead of silently ignoring them.