Mercurial > hg
comparison mercurial/ui.py @ 22589:9ab18a912c44
ui: show prompt choice if input is not a tty but is forced to be interactive
The tests often set ui.interactive to control normally interactive prompts from
stdin. That gave an output where it was non-obvious what prompts got which
which response, and the output lacked the newline users would see after input.
Instead, if the input not is a tty, write the selection and a newline.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 01 Oct 2014 01:04:18 +0200 |
parents | fdfc9faca273 |
children | 4e64d255f1a8 |
comparison
equal
deleted
inserted
replaced
22588:cd1b43226b34 | 22589:9ab18a912c44 |
---|---|
679 self.write(msg, ' ', default, "\n") | 679 self.write(msg, ' ', default, "\n") |
680 return default | 680 return default |
681 try: | 681 try: |
682 r = self._readline(self.label(msg, 'ui.prompt')) | 682 r = self._readline(self.label(msg, 'ui.prompt')) |
683 if not r: | 683 if not r: |
684 return default | 684 r = default |
685 # sometimes self.interactive disagrees with isatty, | |
686 # show default response | |
687 if not util.isatty(self.fin): | |
688 self.write(r, "\n") | |
685 return r | 689 return r |
686 except EOFError: | 690 except EOFError: |
687 raise util.Abort(_('response expected')) | 691 raise util.Abort(_('response expected')) |
688 | 692 |
689 @staticmethod | 693 @staticmethod |