mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
gh-138577: Mention Unix-specific limitations of getpass.getpass(echo_char=...) (#138677)
In bf8bbe9a81, `getpass.getpass` gained
the ability to provide keyboard feedback through `echo_char`.
On Unix, line editing shortcuts such as Ctrl+U were previously handled
as the terminal operates in canonical mode (see termios(3)). However,
since keyboard feedback requires to switch to noncanonical mode, this
now results in an inconsistency when `getpass.getpass` uses `echo_char`
as those shortcuts are no more supported. This limitation is specific
to Unix and does not affect Windows users where line editing shortcuts
were never supported.
This commit is contained in:
parent
fd2e3d1633
commit
074f3b20b3
1 changed files with 8 additions and 0 deletions
|
|
@ -39,6 +39,14 @@ The :mod:`getpass` module provides two functions:
|
|||
If you call getpass from within IDLE, the input may be done in the
|
||||
terminal you launched IDLE from rather than the idle window itself.
|
||||
|
||||
.. note::
|
||||
On Unix systems, when *echo_char* is set, the terminal will be
|
||||
configured to operate in
|
||||
:manpage:`noncanonical mode <termios(3)#Canonical_and_noncanonical_mode>`.
|
||||
In particular, this means that line editing shortcuts such as
|
||||
:kbd:`Ctrl+U` will not work and may insert unexpected characters into
|
||||
the input.
|
||||
|
||||
.. versionchanged:: 3.14
|
||||
Added the *echo_char* parameter for keyboard feedback.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue