Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 645058d

Browse files
Issue #23880: Tkinter's getint() and getdouble() now support Tcl_Obj.
Tkinter's getdouble() now supports any numbers (in particular int).
1 parent 008d88b commit 645058d

9 files changed

Lines changed: 115 additions & 84 deletions

File tree

Lib/idlelib/CodeContext.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,18 @@ def toggle_code_context_event(self, event=None):
5757
# Calculate the border width and horizontal padding required to
5858
# align the context with the text in the main Text widget.
5959
#
60-
# All values are passed through int(str(<value>)), since some
60+
# All values are passed through getint(), since some
6161
# values may be pixel objects, which can't simply be added to ints.
6262
widgets = self.editwin.text, self.editwin.text_frame
6363
# Calculate the required vertical padding
6464
padx = 0
6565
for widget in widgets:
66-
padx += int(str( widget.pack_info()['padx'] ))
67-
padx += int(str( widget.cget('padx') ))
66+
padx += widget.tk.getint(widget.pack_info()['padx'])
67+
padx += widget.tk.getint(widget.cget('padx'))
6868
# Calculate the required border width
6969
border = 0
7070
for widget in widgets:
71-
border += int(str( widget.cget('border') ))
71+
border += widget.tk.getint(widget.cget('border'))
7272
self.label = tkinter.Label(self.editwin.top,
7373
text="\n" * (self.context_depth - 1),
7474
anchor=W, justify=LEFT,

Lib/test/test_tcl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ def test_getdouble(self):
163163
self.assertEqual(tcl.getdouble(' 42 '), 42.0)
164164
self.assertEqual(tcl.getdouble(' 42.5 '), 42.5)
165165
self.assertEqual(tcl.getdouble(42.5), 42.5)
166+
self.assertEqual(tcl.getdouble(42), 42.0)
166167
self.assertRaises(TypeError, tcl.getdouble)
167168
self.assertRaises(TypeError, tcl.getdouble, '42.5', '10')
168169
self.assertRaises(TypeError, tcl.getdouble, b'42.5')
169-
self.assertRaises(TypeError, tcl.getdouble, 42)
170170
self.assertRaises(TclError, tcl.getdouble, 'a')
171171
self.assertRaises((TypeError, ValueError, TclError),
172172
tcl.getdouble, '42.5\0')

0 commit comments

Comments
 (0)