bpo-34936: Fix TclError in tkinter.Spinbox.selection_element() by j4321 · Pull Request #9760 · python/cpython (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation16 Commits7 Checks0 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
Spinbox.selection_element()
raises TclError: expected integer but got "none"
while it should return the currently selected element according to the docstring.
- I removed the call to
self._getints
inSpinbox.selection
since the result is never a string of integers. For consistency with the previous behavior,Spinbox.selection
still returns()
when the result ofself.tk.call((self._w, 'selection') + args)
is an empty string. - I added tests for the
Spinbox.selection_element
method.
https://bugs.python.org/issue34936
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest to inline this method. It doesn't do something that deserves moving to a special method.
@serhiy-storchaka I am not sure I understand what you mean. Should I just not use selection()
in selection_element()
and undo my changes of selection()
?
I suggest to use self.tk.call()
in selection_element()
. And maybe in other methods.
By the way, docstrings of some selection_*
methods (containing "Returns an empty string.") are not correct.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just added few nitpicks.
@@ -3750,25 +3750,25 @@ def selection_adjust(self, index): |
---|
select to commands. If the selection isn't currently in |
the spinbox, then a new selection is created to include |
the characters between index and the most recent selection |
anchor point, inclusive. Returns an empty string. |
anchor point, inclusive. Returns an empty tuple. |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest just deleting the last sentence. It is not particularly useful.
@@ -522,6 +522,9 @@ def test_selection_methods(self): |
---|
self.assertEqual(widget.selection_get(), '2345') |
widget.selection_adjust(0) |
self.assertEqual(widget.selection_get(), '12345') |
def test_selection_element_methods(self): |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just test_selection_element
.
Thanks @j4321 for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.6.
🐍🍒⛏🤖
Thanks @j4321 for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 2.7.
🐍🍒⛏🤖
Thanks @j4321 for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.7.
🐍🍒⛏🤖
Sorry, @j4321 and @serhiy-storchaka, I could not cleanly backport this to 3.6
due to a conflict.
Please backport using cherry_picker on command line.cherry_picker 1deea5e53991b46351f6bb395b22365c9455ed88 3.6
Sorry, @j4321 and @serhiy-storchaka, I could not cleanly backport this to 3.7
due to a conflict.
Please backport using cherry_picker on command line.cherry_picker 1deea5e53991b46351f6bb395b22365c9455ed88 3.7
Sorry, @j4321 and @serhiy-storchaka, I could not cleanly backport this to 2.7
due to a conflict.
Please backport using cherry_picker on command line.cherry_picker 1deea5e53991b46351f6bb395b22365c9455ed88 2.7
Oh, conflicts. I suppose this is because of new methods and tests added in master only. Do you mind to backport this PR to the 3.7 branch @j4321? Then I think it will be possible to backport it from 3.7 to 3.6 automatically.
@serhiy-storchaka I am not sure about what I am supposed to do. I just know that the backport pull request should be named "[3.7] bpo-34936: Fix TclError in tkinter.Spinbox.selection_element()(GH-9760)"
CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request
- master: (621 commits)
Update opcode.h header comment to mention the source data file (pythonGH-9935)
bpo-34936: Fix TclError in tkinter.Spinbox.selection_element(). (pythonGH-9760)
Updated documentation on logging.debug(). (pythonGH-9946)
bpo-34765: Update the install-sh file (pythonGH-9592)
bpo-35008: Fix possible leaks in Element.setstate(). (pythonGH-9924)
bpo-35011: Restore use of pyexpatns.h in libexpat (pythonGH-9939)
bpo-24658: Fix read/write greater than 2 GiB on macOS (pythonGH-1705)
Add missing comma to wsgiref doc (pythonGH-9932)
bpo-23420: Verify the value of '-s' when execute the CLI of cProfile (pythonGH-9925)
Doc: Fix is_prime (pythonGH-9909)
In email docs, correct spelling of foregoing (python#9856)
In email.parser in message_from_bytes, update
strict
topolicy
(python#9854) bpo-34997: Fix test_logging.ConfigDictTest.test_out_of_order (pythonGH-9913) Added CLI starter example to logging cookbook. (pythonGH-9910) bpo-34783: Fix test_nonexisting_script() (pythonGH-9896) bpo-23554: Change echo server example class name from EchoServerClientProtocol to EchoServerProtocol (pythonGH-9859) bpo-34989: python-gdb.py: fix current_line_num() (pythonGH-9889) Stop using deprecated logging API in Sphinx suspicious checker (pythonGH-9875) fix dangling keyfunc examples in documentation of heapq and sorted (python#1432) bpo-34844: logging.Formatter enhancement - Ensure style and format string matches in logging.Formatter (pythonGH-9703) ...
CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request
- master: (1787 commits)
Update opcode.h header comment to mention the source data file (pythonGH-9935)
bpo-34936: Fix TclError in tkinter.Spinbox.selection_element(). (pythonGH-9760)
Updated documentation on logging.debug(). (pythonGH-9946)
bpo-34765: Update the install-sh file (pythonGH-9592)
bpo-35008: Fix possible leaks in Element.setstate(). (pythonGH-9924)
bpo-35011: Restore use of pyexpatns.h in libexpat (pythonGH-9939)
bpo-24658: Fix read/write greater than 2 GiB on macOS (pythonGH-1705)
Add missing comma to wsgiref doc (pythonGH-9932)
bpo-23420: Verify the value of '-s' when execute the CLI of cProfile (pythonGH-9925)
Doc: Fix is_prime (pythonGH-9909)
In email docs, correct spelling of foregoing (python#9856)
In email.parser in message_from_bytes, update
strict
topolicy
(python#9854) bpo-34997: Fix test_logging.ConfigDictTest.test_out_of_order (pythonGH-9913) Added CLI starter example to logging cookbook. (pythonGH-9910) bpo-34783: Fix test_nonexisting_script() (pythonGH-9896) bpo-23554: Change echo server example class name from EchoServerClientProtocol to EchoServerProtocol (pythonGH-9859) bpo-34989: python-gdb.py: fix current_line_num() (pythonGH-9889) Stop using deprecated logging API in Sphinx suspicious checker (pythonGH-9875) fix dangling keyfunc examples in documentation of heapq and sorted (python#1432) bpo-34844: logging.Formatter enhancement - Ensure style and format string matches in logging.Formatter (pythonGH-9703) ...
serhiy-storchaka pushed a commit to serhiy-storchaka/cpython that referenced this pull request
(cherry picked from commit 1deea5e)
Co-authored-by: Juliette Monsel j4321@users.noreply.github.com
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request
miss-islington added a commit that referenced this pull request
) (GH-9957)
(cherry picked from commit 1deea5e) (cherry picked from commit bd9c2ce)
Co-authored-by: Juliette Monsel j4321@users.noreply.github.com
serhiy-storchaka pushed a commit to serhiy-storchaka/cpython that referenced this pull request
Labels
An unexpected behavior, bug, or error