comparison hgext/pager.py @ 26453:1a2578418689

pager: rename variables of backup fds The next patch will add backup file objects, so the original variable names would be confusing.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 03 Oct 2015 18:48:21 +0900
parents 499d5c98e98b
children 62c5e937f477
comparison
equal deleted inserted replaced
26452:499d5c98e98b 26453:1a2578418689
68 def _runpager(ui, p): 68 def _runpager(ui, p):
69 pager = subprocess.Popen(p, shell=True, bufsize=-1, 69 pager = subprocess.Popen(p, shell=True, bufsize=-1,
70 close_fds=util.closefds, stdin=subprocess.PIPE, 70 close_fds=util.closefds, stdin=subprocess.PIPE,
71 stdout=sys.stdout, stderr=sys.stderr) 71 stdout=sys.stdout, stderr=sys.stderr)
72 72
73 stdout = os.dup(sys.stdout.fileno()) 73 stdoutfd = os.dup(sys.stdout.fileno())
74 stderr = os.dup(sys.stderr.fileno()) 74 stderrfd = os.dup(sys.stderr.fileno())
75 os.dup2(pager.stdin.fileno(), sys.stdout.fileno()) 75 os.dup2(pager.stdin.fileno(), sys.stdout.fileno())
76 if ui._isatty(sys.stderr): 76 if ui._isatty(sys.stderr):
77 os.dup2(pager.stdin.fileno(), sys.stderr.fileno()) 77 os.dup2(pager.stdin.fileno(), sys.stderr.fileno())
78 78
79 @atexit.register 79 @atexit.register
80 def killpager(): 80 def killpager():
81 if util.safehasattr(signal, "SIGINT"): 81 if util.safehasattr(signal, "SIGINT"):
82 signal.signal(signal.SIGINT, signal.SIG_IGN) 82 signal.signal(signal.SIGINT, signal.SIG_IGN)
83 pager.stdin.close() 83 pager.stdin.close()
84 os.dup2(stdout, sys.stdout.fileno()) 84 os.dup2(stdoutfd, sys.stdout.fileno())
85 os.dup2(stderr, sys.stderr.fileno()) 85 os.dup2(stderrfd, sys.stderr.fileno())
86 pager.wait() 86 pager.wait()
87 87
88 def uisetup(ui): 88 def uisetup(ui):
89 if '--debugger' in sys.argv or not ui.formatted(): 89 if '--debugger' in sys.argv or not ui.formatted():
90 return 90 return