Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e7665c4

Browse files
committed
Merge from 3.1
2 parents 1103d05 + 946f172 commit e7665c4

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

Lib/idlelib/EditorWindow.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -306,10 +306,10 @@ def home_callback(self, event):
306306
if (event.state & 4) != 0 and event.keysym == "Home":
307307
# state&4==Control. If <Control-Home>, use the Tk binding.
308308
return
309-
310309
if self.text.index("iomark") and \
311310
self.text.compare("iomark", "<=", "insert lineend") and \
312311
self.text.compare("insert linestart", "<=", "iomark"):
312+
# In Shell on input line, go to just after prompt
313313
insertpt = int(self.text.index("iomark").split(".")[1])
314314
else:
315315
line = self.text.get("insert linestart", "insert lineend")
@@ -318,30 +318,27 @@ def home_callback(self, event):
318318
break
319319
else:
320320
insertpt=len(line)
321-
322321
lineat = int(self.text.index("insert").split('.')[1])
323-
324322
if insertpt == lineat:
325323
insertpt = 0
326-
327324
dest = "insert linestart+"+str(insertpt)+"c"
328-
329325
if (event.state&1) == 0:
330-
# shift not pressed
326+
# shift was not pressed
331327
self.text.tag_remove("sel", "1.0", "end")
332328
else:
333329
if not self.text.index("sel.first"):
334-
self.text.mark_set("anchor","insert")
335-
330+
self.text.mark_set("my_anchor", "insert") # there was no previous selection
331+
else:
332+
if self.text.compare(self.text.index("sel.first"), "<", self.text.index("insert")):
333+
self.text.mark_set("my_anchor", "sel.first") # extend back
334+
else:
335+
self.text.mark_set("my_anchor", "sel.last") # extend forward
336336
first = self.text.index(dest)
337-
last = self.text.index("anchor")
338-
337+
last = self.text.index("my_anchor")
339338
if self.text.compare(first,">",last):
340339
first,last = last,first
341-
342340
self.text.tag_remove("sel", "1.0", "end")
343341
self.text.tag_add("sel", first, last)
344-
345342
self.text.mark_set("insert", dest)
346343
self.text.see("insert")
347344
return "break"

Lib/idlelib/NEWS.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ What's New in IDLE 3.1.4?
33

44
*Release date: XX-XXX-XX*
55

6-
- <Home> toggle non-functional when NumLock set on Windows. Issue3851.
6+
- <Home> toggle failing on Tk 8.5, causing IDLE exits and strange selection
7+
behavior. Issue 4676. Improve selection extension behaviour.
8+
- <Home> toggle non-functional when NumLock set on Windows. Issue 3851.
9+
710

811

912
What's New in IDLE 3.1b1?

0 commit comments

Comments
 (0)