diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-02-03 02:28:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-03 02:28:52 (GMT) |
commit | 2ddc278875f789de622262ee8ff5a1c3788f031c (patch) | |
tree | a980bdaaddc7caa6d6006f0590ab7b67ad65decd /Lib/idlelib | |
parent | 5765eaa13654e5f812a286700da7d6b8e144da0e (diff) | |
download | cpython-2ddc278875f789de622262ee8ff5a1c3788f031c.zip cpython-2ddc278875f789de622262ee8ff5a1c3788f031c.tar.gz cpython-2ddc278875f789de622262ee8ff5a1c3788f031c.tar.bz2 |
bpo-45975: Use walrus operator for some idlelib while loops (GH-31083)
(cherry picked from commit 51a95be1d035a717ab29e98056b8831a98e61125)
Co-authored-by: Nick Drozd <nicholasdrozd@gmail.com>
Diffstat (limited to 'Lib/idlelib')
-rw-r--r-- | Lib/idlelib/idle_test/test_sidebar.py | 5 | ||||
-rw-r--r-- | Lib/idlelib/pyparse.py | 12 | ||||
-rw-r--r-- | Lib/idlelib/replace.py | 7 | ||||
-rw-r--r-- | Lib/idlelib/run.py | 4 | ||||
-rw-r--r-- | Lib/idlelib/sidebar.py | 5 |
5 files changed, 9 insertions, 24 deletions
diff --git a/Lib/idlelib/idle_test/test_sidebar.py b/Lib/idlelib/idle_test/test_sidebar.py index 53ac3eb..01fd6a0 100644 --- a/Lib/idlelib/idle_test/test_sidebar.py +++ b/Lib/idlelib/idle_test/test_sidebar.py @@ -474,10 +474,7 @@ class ShellSidebarTest(unittest.TestCase): index = text.index("@0,0") if index.split('.', 1)[1] != '0': index = text.index(f"{index} +1line linestart") - while True: - lineinfo = text.dlineinfo(index) - if lineinfo is None: - break + while (lineinfo := text.dlineinfo(index)) is not None: y_coords.append(lineinfo[1]) index = text.index(f"{index} +1line") return y_coords diff --git a/Lib/idlelib/pyparse.py b/Lib/idlelib/pyparse.py index d34872b..a943275 100644 --- a/Lib/idlelib/pyparse.py +++ b/Lib/idlelib/pyparse.py @@ -179,14 +179,10 @@ class Parser: # Peeking back worked; look forward until _synchre no longer # matches. i = pos + 1 - while 1: - m = _synchre(code, i) - if m: - s, i = m.span() - if not is_char_in_string(s): - pos = s - else: - break + while (m := _synchre(code, i)): + s, i = m.span() + if not is_char_in_string(s): + pos = s return pos def set_lo(self, lo): diff --git a/Lib/idlelib/replace.py b/Lib/idlelib/replace.py index 2f9ca23..ac04ed9 100644 --- a/Lib/idlelib/replace.py +++ b/Lib/idlelib/replace.py @@ -158,11 +158,8 @@ class ReplaceDialog(SearchDialogBase): first = last = None # XXX ought to replace circular instead of top-to-bottom when wrapping text.undo_block_start() - while True: - res = self.engine.search_forward(text, prog, line, col, - wrap=False, ok=ok) - if not res: - break + while (res := self.engine.search_forward( + text, prog, line, col, wrap=False, ok=ok)): line, m = res chars = text.get("%d.0" % line, "%d.0" % (line+1)) orig = m.group() diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py index 47c4cbd..01f8d65 100644 --- a/Lib/idlelib/run.py +++ b/Lib/idlelib/run.py @@ -482,9 +482,7 @@ class StdInputFile(StdioFile): result = self._line_buffer self._line_buffer = '' if size < 0: - while True: - line = self.shell.readline() - if not line: break + while (line := self.shell.readline()): result += line else: while len(result) < size: diff --git a/Lib/idlelib/sidebar.py b/Lib/idlelib/sidebar.py index 018c368..fb1084d 100644 --- a/Lib/idlelib/sidebar.py +++ b/Lib/idlelib/sidebar.py @@ -471,10 +471,7 @@ class ShellSidebar(BaseSideBar): index = text.index("@0,0") if index.split('.', 1)[1] != '0': index = text.index(f'{index}+1line linestart') - while True: - lineinfo = text.dlineinfo(index) - if lineinfo is None: - break + while (lineinfo := text.dlineinfo(index)) is not None: y = lineinfo[1] prev_newline_tagnames = text_tagnames(f"{index} linestart -1c") prompt = ( |