summaryrefslogtreecommitdiffstats
path: root/pager.py
diff options
context:
space:
mode:
Diffstat (limited to 'pager.py')
-rw-r--r--pager.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/pager.py b/pager.py
index 64090488..7ad25770 100644
--- a/pager.py
+++ b/pager.py
@@ -27,6 +27,7 @@ pager_process = None
27old_stdout = None 27old_stdout = None
28old_stderr = None 28old_stderr = None
29 29
30
30def RunPager(globalConfig): 31def RunPager(globalConfig):
31 if not os.isatty(0) or not os.isatty(1): 32 if not os.isatty(0) or not os.isatty(1):
32 return 33 return
@@ -39,6 +40,7 @@ def RunPager(globalConfig):
39 else: 40 else:
40 _ForkPager(pager) 41 _ForkPager(pager)
41 42
43
42def TerminatePager(): 44def TerminatePager():
43 global pager_process, old_stdout, old_stderr 45 global pager_process, old_stdout, old_stderr
44 if pager_process: 46 if pager_process:
@@ -52,6 +54,7 @@ def TerminatePager():
52 sys.stdout = old_stdout 54 sys.stdout = old_stdout
53 sys.stderr = old_stderr 55 sys.stderr = old_stderr
54 56
57
55def _PipePager(pager): 58def _PipePager(pager):
56 global pager_process, old_stdout, old_stderr 59 global pager_process, old_stdout, old_stderr
57 assert pager_process is None, "Only one active pager process at a time" 60 assert pager_process is None, "Only one active pager process at a time"
@@ -62,6 +65,7 @@ def _PipePager(pager):
62 sys.stdout = pager_process.stdin 65 sys.stdout = pager_process.stdin
63 sys.stderr = pager_process.stdin 66 sys.stderr = pager_process.stdin
64 67
68
65def _ForkPager(pager): 69def _ForkPager(pager):
66 global active 70 global active
67 # This process turns into the pager; a child it forks will 71 # This process turns into the pager; a child it forks will
@@ -88,6 +92,7 @@ def _ForkPager(pager):
88 print("fatal: cannot start pager '%s'" % pager, file=sys.stderr) 92 print("fatal: cannot start pager '%s'" % pager, file=sys.stderr)
89 sys.exit(255) 93 sys.exit(255)
90 94
95
91def _SelectPager(globalConfig): 96def _SelectPager(globalConfig):
92 try: 97 try:
93 return os.environ['GIT_PAGER'] 98 return os.environ['GIT_PAGER']
@@ -105,6 +110,7 @@ def _SelectPager(globalConfig):
105 110
106 return 'less' 111 return 'less'
107 112
113
108def _BecomePager(pager): 114def _BecomePager(pager):
109 # Delaying execution of the pager until we have output 115 # Delaying execution of the pager until we have output
110 # ready works around a long-standing bug in popularly 116 # ready works around a long-standing bug in popularly