From 29c3fc5d8f9e14e10783ab0ecc1bd15e1144cd07 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Thu, 15 Aug 2013 16:19:13 -0400 Subject: [PATCH] Issue #18732: Remove unused* parameter output_sep from IdleHistory.History and paired splits and joins that do nothing when output_sep is its default \n. *It in unused in that the class in only instantiated once, with the default. Make a few other changes in .fetch and its test. --- Lib/idlelib/IdleHistory.py | 30 ++++++----------------- Lib/idlelib/idle_test/test_idlehistory.py | 2 ++ 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/Lib/idlelib/IdleHistory.py b/Lib/idlelib/IdleHistory.py index dc1ac8b5d2e..d6cb16272bc 100644 --- a/Lib/idlelib/IdleHistory.py +++ b/Lib/idlelib/IdleHistory.py @@ -10,7 +10,7 @@ class History: history_next - Bound to <> event (default Alt-N). history_prev - Bound to <> event (default Alt-P). ''' - def __init__(self, text, output_sep = "\n"): + def __init__(self, text): '''Initialize data attributes and bind event methods. .text - Idle wrapper of tk Text widget, with .bell(). @@ -23,7 +23,6 @@ def __init__(self, text, output_sep = "\n"): self.history = [] self.prefix = None self.pointer = None - self.output_sep = output_sep self.cyclic = idleConf.GetOption("main", "History", "cyclic", 1, "bool") text.bind("<>", self.history_prev) text.bind("<>", self.history_next) @@ -38,16 +37,6 @@ def history_prev(self, event): self.fetch(reverse=True) return "break" - def _get_source(self, start, end): - # Get source code from start index to end index. Lines in the - # text control may be separated by sys.ps2 . - lines = self.text.get(start, end).split(self.output_sep) - return "\n".join(lines) - - def _put_source(self, where, source): - output = self.output_sep.join(source.split("\n")) - self.text.insert(where, output) - def fetch(self, reverse): '''Fetch statememt and replace current line in text widget. @@ -61,10 +50,11 @@ def fetch(self, reverse): prefix = self.prefix if pointer is not None and prefix is not None: if self.text.compare("insert", "!=", "end-1c") or \ - self._get_source("iomark", "end-1c") != self.history[pointer]: + self.text.get("iomark", "end-1c") != self.history[pointer]: pointer = prefix = None + self.text.mark_set("insert", "end-1c") # != after cursor move if pointer is None or prefix is None: - prefix = self._get_source("iomark", "end-1c") + prefix = self.text.get("iomark", "end-1c") if reverse: pointer = nhist # will be decremented else: @@ -75,26 +65,22 @@ def fetch(self, reverse): return nprefix = len(prefix) while 1: - if reverse: - pointer = pointer - 1 - else: - pointer = pointer + 1 + pointer += -1 if reverse else 1 if pointer < 0 or pointer >= nhist: self.text.bell() if not self.cyclic and pointer < 0: # abort history_prev return else: - if self._get_source("iomark", "end-1c") != prefix: + if self.text.get("iomark", "end-1c") != prefix: self.text.delete("iomark", "end-1c") - self._put_source("iomark", prefix) + self.text.insert("iomark", prefix) pointer = prefix = None break item = self.history[pointer] if item[:nprefix] == prefix and len(item) > nprefix: self.text.delete("iomark", "end-1c") - self._put_source("iomark", item) + self.text.insert("iomark", item) break - self.text.mark_set("insert", "end-1c") self.text.see("insert") self.text.tag_remove("sel", "1.0", "end") self.pointer = pointer diff --git a/Lib/idlelib/idle_test/test_idlehistory.py b/Lib/idlelib/idle_test/test_idlehistory.py index c48529d0933..b27db9191d0 100644 --- a/Lib/idlelib/idle_test/test_idlehistory.py +++ b/Lib/idlelib/idle_test/test_idlehistory.py @@ -87,6 +87,7 @@ def fetch_test(self, reverse, line, prefix, index, *, bell=False): # The last two are diagnostic of fetch internals. History = self.history History.fetch(reverse) + Equal = self.assertEqual Equal(self.text.get('iomark', 'end-1c'), line) Equal(self.text._bell, bell) @@ -94,6 +95,7 @@ def fetch_test(self, reverse, line, prefix, index, *, bell=False): self.text._bell = False Equal(History.prefix, prefix) Equal(History.pointer, index) + Equal(self.text.compare("insert", '==', "end-1c"), 1) def test_fetch_prev_cyclic(self): prefix = ''