*** idlefork-09b1-onlysyntax/IdleHistory.py 2003-08-26 02:13:36.000000000 +0200 --- idlefork/lib/python/idleforklib/IdleHistory.py 2003-10-14 14:42:50.000000000 +0200 *************** *** 1,3 **** --- 1,5 ---- + from configHandler import idleConf + class History: def __init__(self, text, output_sep = "\n"): *************** *** 6,11 **** --- 8,14 ---- self.history_prefix = None self.history_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) *************** *** 40,46 **** if reverse: pointer = nhist else: ! pointer = -1 nprefix = len(prefix) while 1: if reverse: --- 43,53 ---- if reverse: pointer = nhist else: ! if self.cyclic: ! pointer = -1 ! else: ! self.text.bell() ! return nprefix = len(prefix) while 1: if reverse: *************** *** 49,58 **** pointer = pointer + 1 if pointer < 0 or pointer >= nhist: self.text.bell() ! if self._get_source("iomark", "end-1c") != prefix: ! self.text.delete("iomark", "end-1c") ! self._put_source("iomark", prefix) ! pointer = prefix = None break item = self.history[pointer] if item[:nprefix] == prefix and len(item) > nprefix: --- 56,68 ---- pointer = pointer + 1 if pointer < 0 or pointer >= nhist: self.text.bell() ! if not self.cyclic and pointer < 0: ! return ! else: ! if self._get_source("iomark", "end-1c") != prefix: ! self.text.delete("iomark", "end-1c") ! self._put_source("iomark", prefix) ! pointer = prefix = None break item = self.history[pointer] if item[:nprefix] == prefix and len(item) > nprefix: