[Python-checkins] cpython (merge 3.2 -> default): Merge from 3.2

kurt.kaiser python-checkins at python.org
Sat Mar 26 01:35:24 CET 2011


http://hg.python.org/cpython/rev/9ea72ff3527a
changeset: 68944:9ea72ff3527a
parent: 68936:374982e17f36
parent: 68943:bf4f806920af
user: Kurt B. Kaiser <kbk at shore.net>
date: Fri Mar 25 20:34:11 2011 -0400
summary:
 Merge from 3.2
files:
 Lib/idlelib/EditorWindow.py | 21 +++++++++------------
 Lib/idlelib/NEWS.txt | 5 ++++-
 2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -306,10 +306,10 @@
 if (event.state & 4) != 0 and event.keysym == "Home":
 # state&4==Control. If <Control-Home>, use the Tk binding.
 return
-
 if self.text.index("iomark") and \
 self.text.compare("iomark", "<=", "insert lineend") and \
 self.text.compare("insert linestart", "<=", "iomark"):
+ # In Shell on input line, go to just after prompt
 insertpt = int(self.text.index("iomark").split(".")[1])
 else:
 line = self.text.get("insert linestart", "insert lineend")
@@ -318,30 +318,27 @@
 break
 else:
 insertpt=len(line)
-
 lineat = int(self.text.index("insert").split('.')[1])
-
 if insertpt == lineat:
 insertpt = 0
-
 dest = "insert linestart+"+str(insertpt)+"c"
-
 if (event.state&1) == 0:
- # shift not pressed
+ # shift was not pressed
 self.text.tag_remove("sel", "1.0", "end")
 else:
 if not self.text.index("sel.first"):
- self.text.mark_set("anchor","insert")
-
+ self.text.mark_set("my_anchor", "insert") # there was no previous selection
+ else:
+ if self.text.compare(self.text.index("sel.first"), "<", self.text.index("insert")):
+ self.text.mark_set("my_anchor", "sel.first") # extend back
+ else:
+ self.text.mark_set("my_anchor", "sel.last") # extend forward
 first = self.text.index(dest)
- last = self.text.index("anchor")
-
+ last = self.text.index("my_anchor")
 if self.text.compare(first,">",last):
 first,last = last,first
-
 self.text.tag_remove("sel", "1.0", "end")
 self.text.tag_add("sel", first, last)
-
 self.text.mark_set("insert", dest)
 self.text.see("insert")
 return "break"
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,7 +3,10 @@
 
 *Release date: XX-XXX-XX*
 
-- <Home> toggle non-functional when NumLock set on Windows. Issue3851.
+- <Home> toggle failing on Tk 8.5, causing IDLE exits and strange selection
+ behavior. Issue 4676. Improve selection extension behaviour.
+- <Home> toggle non-functional when NumLock set on Windows. Issue 3851.
+
 
 
 What's New in IDLE 3.1b1?
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /