# HG changeset patch # User Idan Kamara # Date 1314299163 -10800 # Node ID 17ffb30d917475050c3d27c9e058d76629903647 # Parent 06c3667c259c7e8af5244a28df0f06b572c7764f ui: pass ' ' to raw_input when prompting This is a workaround for calling ui.prompt(...), typing some character then hitting backspace which causes the entire line to delete rather than just the one character. This was seen on Debian using gnome-terminal. (credits to Mads for the idea) Python bug can be found here: http://bugs.python.org/issue12833 diff -r 06c3667c259c -r 17ffb30d9174 mercurial/ui.py --- a/mercurial/ui.py Thu Aug 25 17:20:00 2011 +0200 +++ b/mercurial/ui.py Thu Aug 25 22:06:03 2011 +0300 @@ -544,7 +544,7 @@ # instead of trying to emulate raw_input, swap self.fin with sys.stdin old = sys.stdin sys.stdin = self.fin - line = raw_input() + line = raw_input(' ') sys.stdin = old # When stdin is in binary mode on Windows, it can cause @@ -561,7 +561,7 @@ self.write(msg, ' ', default, "\n") return default try: - r = self._readline(self.label(msg, 'ui.prompt') + ' ') + r = self._readline(self.label(msg, 'ui.prompt')) if not r: return default return r