◐ Shell
clean mode source ↗

gh-138577: Mention limitations of `getpass.getpass(echo_char=...)` by yagggi · Pull Request #138677 · python/cpython

@yagggi

@yagggi

@picnixz picnixz changed the title gh-138577: Mention unexpected behavior of getpass.getpass() in document gh-138577: Mention limitations of getpass.getpass(echo_char=...)

Sep 8, 2025

StanFromIreland

brianschubert

Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>

picnixz

@yagggi

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Sep 9, 2025
…s(echo_char=...)` (pythonGH-138677)

In bf8bbe9, `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.
(cherry picked from commit 074f3b2)

Co-authored-by: yagggi <fakepoet0101@gmail.com>

hugovk pushed a commit that referenced this pull request

Sep 9, 2025
…ss(echo_char=...)` (GH-138677) (#138696)

Co-authored-by: yagggi <fakepoet0101@gmail.com>

lkollar pushed a commit to lkollar/cpython that referenced this pull request

Sep 9, 2025
…s(echo_char=...)` (python#138677)

In bf8bbe9, `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.