Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/wapython
Path: blob/main/python/cpython/src/patches/02-pydoc.patch
1067 views
1
--- native/Lib/pydoc.py 2022-10-24 10:35:39.000000000 -0700
2
+++ wasm/Lib/pydoc.py 2022-11-07 07:18:02.261615004 -0800
3
@@ -1565,6 +1565,8 @@
4
return plainpager
5
if sys.platform == "emscripten":
6
return plainpager
7
+ if sys.platform == "wasi":
8
+ return ttypager
9
use_pager = os.environ.get('MANPAGER') or os.environ.get('PAGER')
10
if use_pager:
11
if sys.platform == 'win32': # pipes completely broken in Windows
12
@@ -1639,13 +1641,15 @@
13
def ttypager(text):
14
"""Page through text on a text terminal."""
15
lines = plain(_escape_stdout(text)).split('\n')
16
+ import termios
17
try:
18
import tty
19
fd = sys.stdin.fileno()
20
old = tty.tcgetattr(fd)
21
tty.setcbreak(fd)
22
getchar = lambda: sys.stdin.read(1)
23
- except (ImportError, AttributeError, io.UnsupportedOperation):
24
+ # In some cases we get a "termios.error: not a tty" error in CoWasm, e.g,. when running pydoc test suite.
25
+ except (termios.error, ImportError, AttributeError, io.UnsupportedOperation):
26
tty = None
27
getchar = lambda: sys.stdin.readline()[:-1][:1]
28
29
30