Mercurial > public > mercurial-scm > hg
comparison mercurial/ui.py @ 15000:68b5d7005cca stable
ui: call write() so the prompt string goes through subclassed implementation
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Mon, 01 Aug 2011 19:53:00 +0300 |
parents | bcc1a9fd0b8c |
children | b55c1c6a793e 17ffb30d9174 |
comparison
equal
deleted
inserted
replaced
14998:a5d449fc5e07 | 15000:68b5d7005cca |
---|---|
535 readline.read_history_file | 535 readline.read_history_file |
536 # windows sometimes raises something other than ImportError | 536 # windows sometimes raises something other than ImportError |
537 except Exception: | 537 except Exception: |
538 pass | 538 pass |
539 | 539 |
540 # instead of trying to emulate raw_input, swap our in/out | 540 # call write() so output goes through subclassed implementation |
541 # with sys.stdin/out | 541 # e.g. color extension on Windows |
542 old = sys.stdout, sys.stdin | 542 self.write(prompt) |
543 sys.stdout, sys.stdin = self.fout, self.fin | 543 |
544 line = raw_input(prompt) | 544 # instead of trying to emulate raw_input, swap self.fin with sys.stdin |
545 sys.stdout, sys.stdin = old | 545 old = sys.stdin |
546 sys.stdin = self.fin | |
547 line = raw_input() | |
548 sys.stdin = old | |
546 | 549 |
547 # When stdin is in binary mode on Windows, it can cause | 550 # When stdin is in binary mode on Windows, it can cause |
548 # raw_input() to emit an extra trailing carriage return | 551 # raw_input() to emit an extra trailing carriage return |
549 if os.linesep == '\r\n' and line and line[-1] == '\r': | 552 if os.linesep == '\r\n' and line and line[-1] == '\r': |
550 line = line[:-1] | 553 line = line[:-1] |