From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 27 Dec 2023 14:43:59 +0000 (+0100) Subject: [3.11] gh-57795: IDLE: Enter the selected text when opening the "Replace" dialog... X-Git-Tag: v3.11.8~213 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a1f0118a26aece915b213cd2e3cbecee71943b8e;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-57795: IDLE: Enter the selected text when opening the "Replace" dialog (GH-17593) (GH-113515) (cherry picked from commit 712afab5acbe27ceb1eddde5aa559078ae7eaa3b) Co-authored-by: Zackery Spytz Co-authored-by: Roger Serwy Co-authored-by: Serhiy Storchaka --- diff --git a/Lib/idlelib/replace.py b/Lib/idlelib/replace.py index 71e187f92792..1cddb638b217 100644 --- a/Lib/idlelib/replace.py +++ b/Lib/idlelib/replace.py @@ -26,7 +26,8 @@ def replace(text, insert_tags=None): if not hasattr(engine, "_replacedialog"): engine._replacedialog = ReplaceDialog(root, engine) dialog = engine._replacedialog - dialog.open(text, insert_tags=insert_tags) + searchphrase = text.get("sel.first", "sel.last") + dialog.open(text, searchphrase, insert_tags=insert_tags) class ReplaceDialog(SearchDialogBase): @@ -52,27 +53,17 @@ class ReplaceDialog(SearchDialogBase): self.replvar = StringVar(root) self.insert_tags = None - def open(self, text, insert_tags=None): + def open(self, text, searchphrase=None, *, insert_tags=None): """Make dialog visible on top of others and ready to use. - Also, highlight the currently selected text and set the - search to include the current selection (self.ok). + Also, set the search to include the current selection + (self.ok). Args: text: Text widget being searched. + searchphrase: String phrase to search. """ - SearchDialogBase.open(self, text) - try: - first = text.index("sel.first") - except TclError: - first = None - try: - last = text.index("sel.last") - except TclError: - last = None - first = first or text.index("insert") - last = last or first - self.show_hit(first, last) + SearchDialogBase.open(self, text, searchphrase) self.ok = True self.insert_tags = insert_tags diff --git a/Misc/NEWS.d/next/IDLE/2019-12-13-12-26-56.bpo-13586.1grqsR.rst b/Misc/NEWS.d/next/IDLE/2019-12-13-12-26-56.bpo-13586.1grqsR.rst new file mode 100644 index 000000000000..1a73cad175c8 --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2019-12-13-12-26-56.bpo-13586.1grqsR.rst @@ -0,0 +1 @@ +Enter the selected text when opening the "Replace" dialog.