[New-bugs-announce] [issue31930] IDLE: Pressing "Home" on Windows places cursor before ">>>"

Terry J. Reedy report at bugs.python.org
Thu Nov 2 18:09:41 EDT 2017


New submission from Terry J. Reedy <tjreedy at udel.edu>:

If one enters text in Shell after a '>>> ' prompt, Home should initially send the cursor between the prompt and entered text and then to the beginning of the line, and so on as a toggle.  On all current releases (and the final 3.5.4), on my Win10 machine, the cursor goes to the beginning of the line and stays there.

This is nearly the same as #3851, which patched EditorWindow.home_callback on 2011-3-21 and -25.  The problem then only affected Windows, because it involved event.state for keypresses, which is set differently on Windows and *nix.

This issue is slightly different in that the Numlock key no longer matters. (See KBK's  2009-04-04 02:51 message.)  Cherl or Louie, is this one also Windows-only or does it occur on Linux?
  
According to hg annotate, the only subsequent patch to .home_callback before the git switch was 2012-12-24 for #16511.  It changed the part of the function that adjusted selection, after moving the cursor, if Shift-Home was pressed.  When the cursor moves to the beginning of the line, the selection includes the prompt.  3.5 has not been patched since the switch to git, so the problem must predate the switch.

2.7 on Windows runs with tk 8.5.15, so a later tk change cannot be the problem.  So I suspect that the 'culprit' is either an earlier 'fix' to tk or a patch to tkinter since 2011, combined with the absence of a test in IDLE for correct behavior.  Serhiy, do you have any ideas?

----------
assignee: terry.reedy
components: IDLE
messages: 305452
nosy: csabella, louielu, serhiy.storchaka, terry.reedy
priority: normal
severity: normal
stage: test needed
status: open
title: IDLE: Pressing "Home" on Windows places cursor before ">>>"
type: behavior
versions: Python 2.7, Python 3.6, Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue31930>
_______________________________________


More information about the New-bugs-announce mailing list