diff options
Diffstat (limited to 'Lib/pydoc.py')
| -rwxr-xr-x | Lib/pydoc.py | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/Lib/pydoc.py b/Lib/pydoc.py index cf9e0f021c..faaa859535 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1453,7 +1453,12 @@ def pipepager(text, cmd):      proc = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE)      try:          with io.TextIOWrapper(proc.stdin, errors='backslashreplace') as pipe: -            pipe.write(text) +            try: +                pipe.write(text) +            except KeyboardInterrupt: +                # We've hereby abandoned whatever text hasn't been written, +                # but the pager is still in control of the terminal. +                pass      except OSError:          pass # Ignore broken pipes caused by quitting the pager program.      while True: | 
