Closed
Description
Steps to reproduce
Run the following test case:
import click
def output_generator():
counter = 0
while True:
yield "this is a line of output\n"
if counter == 1024:
click.echo("kaboom", err=True)
click.get_current_context().exit(0)
counter += 1
@click.command
def kaboom():
click.echo_via_pager(output_generator)
if __name__ == "__main__":
kaboom()
Attempt to use the terminal afterwards
Expected result
A working terminal.
Actual behavior
Newlines and output are obscured. Commands may be entered, but they are not displayed.
Workaround
Run the reset
command after the command terminates.
Environment:
Reproducible on OS X and Ubuntu (x86_64):
$ sw_vers
ProductName: macOS
ProductVersion: 14.3.1
BuildVersion: 23D60
- Python version: 3.11.2
- Click version: 8.1.7
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
- Python version: 3.10.12
- Click version: 8.1.7
Metadata
Metadata
Assignees
Labels
No labels